diff --git a/web/src/app/workplace/components/task-attribute-value/task-attribute-value.component.html b/web/src/app/workplace/components/task-attribute-value/task-attribute-value.component.html new file mode 100644 index 000000000..813e7cd21 --- /dev/null +++ b/web/src/app/workplace/components/task-attribute-value/task-attribute-value.component.html @@ -0,0 +1,69 @@ +
+ + +
+ + +
+
+
+
Attribute
+
+
Value
+
+ + + + +
+ +
+ + +
+ +
+ +
+
+ + +
+ + + +
+ +
+ + +
+ + + +
+ +
+
+ + +
+ + + + +
There is currently no {{ callbackInfo ? 'callback information' : 'custom attribute'}}.
+
+ + + + + +
diff --git a/web/src/app/workplace/components/task-attribute-value/task-attribute-value.component.scss b/web/src/app/workplace/components/task-attribute-value/task-attribute-value.component.scss new file mode 100644 index 000000000..7b886de1d --- /dev/null +++ b/web/src/app/workplace/components/task-attribute-value/task-attribute-value.component.scss @@ -0,0 +1,66 @@ +@import 'src/theme/_colors.scss'; + +.task-attribute-value { + + &__button--primary { + background-color: $aquamarine; + color: white; + margin-top: 16px; + } + + &__button--secondary { + min-width: 16px; + left: 8px; + } + + &__table { + display: flex; + flex-direction: column; + } + + &__header { + flex-grow: 1; + text-align: center; + font-weight: bold; + } + + &__row { + display: flex; + flex-direction: row; + flex-wrap: nowrap; + padding: 8px 0; + } + + &__column--button { + width: 60px; + display: flex; + align-items: center; + } + + &__column--inputs { + flex-grow: 1; + } + + &__spacer { + width: 8px; + } + + &__background-grey { + background-color: $light-grey; + } + + &__background-white { + background-color: white; + } +} + +::ng-deep .mat-form-field-wrapper { + padding: 0; +} + +::ng-deep .task-attribute-value__column--inputs > .mat-form-field-appearance-outline > div.mat-form-field-wrapper > div.mat-form-field-flex > div.mat-form-field-infix { + border-top-width: 0; + height: 40px; +} + + diff --git a/web/src/app/workplace/components/taskdetails-attribute/attribute.component.spec.ts b/web/src/app/workplace/components/task-attribute-value/task-attribute-value.component.spec.ts similarity index 57% rename from web/src/app/workplace/components/taskdetails-attribute/attribute.component.spec.ts rename to web/src/app/workplace/components/task-attribute-value/task-attribute-value.component.spec.ts index 106aeccd8..20ef6392e 100644 --- a/web/src/app/workplace/components/taskdetails-attribute/attribute.component.spec.ts +++ b/web/src/app/workplace/components/task-attribute-value/task-attribute-value.component.spec.ts @@ -1,22 +1,22 @@ import { async, ComponentFixture, TestBed } from '@angular/core/testing'; import { FormsModule } from '@angular/forms'; -import { TaskdetailsAttributeComponent } from './attribute.component'; +import { TaskAttributeValueComponent } from './task-attribute-value.component'; // TODO: test pending to test. Failing random -xdescribe('AttributeComponent', () => { - let component: TaskdetailsAttributeComponent; - let fixture: ComponentFixture; +xdescribe('TaskAttributeValueComponent', () => { + let component: TaskAttributeValueComponent; + let fixture: ComponentFixture; beforeEach(async(() => { TestBed.configureTestingModule({ imports: [FormsModule], - declarations: [TaskdetailsAttributeComponent] + declarations: [TaskAttributeValueComponent] }).compileComponents(); })); beforeEach(() => { - fixture = TestBed.createComponent(TaskdetailsAttributeComponent); + fixture = TestBed.createComponent(TaskAttributeValueComponent); component = fixture.componentInstance; fixture.detectChanges(); }); diff --git a/web/src/app/workplace/components/task-attribute-value/task-attribute-value.component.ts b/web/src/app/workplace/components/task-attribute-value/task-attribute-value.component.ts new file mode 100644 index 000000000..ba9abb1d3 --- /dev/null +++ b/web/src/app/workplace/components/task-attribute-value/task-attribute-value.component.ts @@ -0,0 +1,22 @@ +import { Component, Input, OnInit } from '@angular/core'; +import { CustomAttribute } from 'app/workplace/models/task'; + +@Component({ + selector: 'taskana-task-attribute-value', + templateUrl: './task-attribute-value.component.html', + styleUrls: ['./task-attribute-value.component.scss'] +}) +export class TaskAttributeValueComponent implements OnInit { + @Input() callbackInfo = false; + @Input() attributes: CustomAttribute[] = []; + + ngOnInit() {} + + addAttribute(): void { + this.attributes.push({ key: '', value: '' }); + } + + removeAttribute(idx: number): void { + this.attributes.splice(idx, 1); + } +} diff --git a/web/src/app/workplace/components/taskdetails-attribute/attribute.component.html b/web/src/app/workplace/components/taskdetails-attribute/attribute.component.html deleted file mode 100644 index 79c42d195..000000000 --- a/web/src/app/workplace/components/taskdetails-attribute/attribute.component.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - - - - - - -
AttributeProperty
- - - - - -
- -
diff --git a/web/src/app/workplace/components/taskdetails-attribute/attribute.component.scss b/web/src/app/workplace/components/taskdetails-attribute/attribute.component.scss deleted file mode 100644 index 5a5e6c4cd..000000000 --- a/web/src/app/workplace/components/taskdetails-attribute/attribute.component.scss +++ /dev/null @@ -1,3 +0,0 @@ -.table__remove-col { - width: 57px; -} diff --git a/web/src/app/workplace/components/taskdetails-attribute/attribute.component.ts b/web/src/app/workplace/components/taskdetails-attribute/attribute.component.ts deleted file mode 100644 index 82f6d0964..000000000 --- a/web/src/app/workplace/components/taskdetails-attribute/attribute.component.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core'; -import { CustomAttribute } from 'app/workplace/models/task'; - -@Component({ - selector: 'taskana-task-details-attributes', - templateUrl: './attribute.component.html', - styleUrls: ['./attribute.component.scss'] -}) -export class TaskdetailsAttributeComponent implements OnInit { - @Input() callbackInfo = false; - @Input() attributes: CustomAttribute[] = []; - @Output() attributesChange: EventEmitter = new EventEmitter(); - - ngOnInit() {} - - addAttribute(): void { - this.attributes.push({ key: '', value: '' }); - } - - removeAttribute(idx: number): void { - this.attributes.splice(idx, 1); - } -} diff --git a/web/src/app/workplace/components/taskdetails/taskdetails.component.html b/web/src/app/workplace/components/taskdetails/taskdetails.component.html index e0e88c110..68a9e0d3b 100644 --- a/web/src/app/workplace/components/taskdetails/taskdetails.component.html +++ b/web/src/app/workplace/components/taskdetails/taskdetails.component.html @@ -66,7 +66,7 @@ {{accordion4State ? 'expand_more' : 'expand_less'}} - + @@ -75,8 +75,8 @@ {{accordion5State ? 'expand_more' : 'expand_less'}} - + diff --git a/web/src/app/workplace/components/taskdetails/taskdetails.component.spec.ts b/web/src/app/workplace/components/taskdetails/taskdetails.component.spec.ts index 60b905824..2a4407b92 100644 --- a/web/src/app/workplace/components/taskdetails/taskdetails.component.spec.ts +++ b/web/src/app/workplace/components/taskdetails/taskdetails.component.spec.ts @@ -9,7 +9,7 @@ import { HttpClient, HttpClientModule } from '@angular/common/http'; import { RequestInProgressService } from 'app/shared/services/request-in-progress/request-in-progress.service'; import { WorkplaceService } from '../../services/workplace.service'; import { TaskService } from '../../services/task.service'; -import { TaskdetailsAttributeComponent } from '../taskdetails-attribute/attribute.component'; +import { TaskAttributeValueComponent } from '../task-attribute-value/task-attribute-value.component'; import { TaskdetailsCustomFieldsComponent } from '../taskdetails-custom-fields/custom-fields.component'; import { TaskdetailsGeneralFieldsComponent } from '../taskdetails-general/general-fields.component'; import { TaskdetailsComponent } from './taskdetails.component'; @@ -35,7 +35,7 @@ xdescribe('TaskdetailsComponent', () => { SpinnerComponent, TaskdetailsGeneralFieldsComponent, TaskdetailsCustomFieldsComponent, - TaskdetailsAttributeComponent, + TaskAttributeValueComponent, DummyDetailComponent ], imports: [FormsModule, RouterTestingModule.withRoutes(routes), HttpClientModule], diff --git a/web/src/app/workplace/workplace.module.ts b/web/src/app/workplace/workplace.module.ts index a0ff59e2a..6f7ae9834 100644 --- a/web/src/app/workplace/workplace.module.ts +++ b/web/src/app/workplace/workplace.module.ts @@ -15,7 +15,7 @@ import { TaskMasterComponent } from './components/task-master/task-master.compon import { TaskdetailsComponent } from './components/taskdetails/taskdetails.component'; import { TaskdetailsGeneralFieldsComponent } from './components/taskdetails-general/general-fields.component'; import { TaskdetailsCustomFieldsComponent } from './components/taskdetails-custom-fields/custom-fields.component'; -import { TaskdetailsAttributeComponent } from './components/taskdetails-attribute/attribute.component'; +import { TaskAttributeValueComponent } from './components/task-attribute-value/task-attribute-value.component'; import { TaskComponent } from './components/task/task.component'; import { TaskStatusDetailsComponent } from './components/task-status-details/task-status-details.component'; import { TaskListComponent } from './components/task-list/task-list.component'; @@ -56,7 +56,7 @@ const DECLARATIONS = [ TaskdetailsComponent, TaskdetailsGeneralFieldsComponent, TaskdetailsCustomFieldsComponent, - TaskdetailsAttributeComponent, + TaskAttributeValueComponent, TaskComponent, TaskStatusDetailsComponent, TaskListComponent