| @@ -34,6 +34,5 @@ export class SearchInputComponent { | |||||
| protected onItemSelect(selectedItem: any): void { | protected onItemSelect(selectedItem: any): void { | ||||
| this.documentForm.get(this.formId)?.setValue(selectedItem.item.id); | this.documentForm.get(this.formId)?.setValue(selectedItem.item.id); | ||||
| console.log(this.documentForm); | |||||
| } | } | ||||
| } | } | ||||
| @@ -19,6 +19,7 @@ export class SearchSelectComponent implements OnInit, AfterViewInit { | |||||
| @Input() public getDataFunction!: Function; | @Input() public getDataFunction!: Function; | ||||
| @Input() public dataSource: any; | @Input() public dataSource: any; | ||||
| @Input() public searchSelectColDefs!: SearchInputColDef[]; | @Input() public searchSelectColDefs!: SearchInputColDef[]; | ||||
| @Input() public dataSet!: any; | |||||
| @Input() public displayedDataField!: string; | @Input() public displayedDataField!: string; | ||||
| @Input() public displayedDataSubResource!: string; | @Input() public displayedDataSubResource!: string; | ||||
| @@ -51,6 +52,9 @@ export class SearchSelectComponent implements OnInit, AfterViewInit { | |||||
| } | } | ||||
| ngOnInit(): void { | ngOnInit(): void { | ||||
| if (this.dataSet !== undefined) { | |||||
| this.searchBoxFilled = true; | |||||
| } | |||||
| this.displayedColumns = []; | this.displayedColumns = []; | ||||
| this.searchSelectColDefs.forEach((value, index) => { | this.searchSelectColDefs.forEach((value, index) => { | ||||
| this.displayedColumns.push(value.column); | this.displayedColumns.push(value.column); | ||||
| @@ -58,7 +62,9 @@ export class SearchSelectComponent implements OnInit, AfterViewInit { | |||||
| } | } | ||||
| ngAfterViewInit(): void { | ngAfterViewInit(): void { | ||||
| // this.searchBoxOpen = false; | |||||
| if (this.dataSet !== undefined) { | |||||
| this.paragraphRef.nativeElement.textContent = this.dataSet[this.displayedDataField]; | |||||
| } | |||||
| } | } | ||||
| getData(): void { | getData(): void { | ||||
| @@ -74,7 +74,6 @@ export class ContactsDetailComponent implements OnInit, AfterViewInit { | |||||
| this.contact = data; | this.contact = data; | ||||
| this.getPartnerData(); | this.getPartnerData(); | ||||
| this.getContactProducts(); | this.getContactProducts(); | ||||
| } | } | ||||
| ); | ); | ||||
| } | } | ||||
| @@ -42,7 +42,6 @@ export class NewContactComponent implements OnInit, AfterViewInit { | |||||
| } | } | ||||
| ngOnInit(): void { | ngOnInit(): void { | ||||
| console.log(this.contact); | |||||
| this.contactForm = FormGroupInitializer.initFormGroup(this.contactForm, this.contact); | this.contactForm = FormGroupInitializer.initFormGroup(this.contactForm, this.contact); | ||||
| } | } | ||||
| @@ -14,13 +14,14 @@ | |||||
| <div class="mb-3"> | <div class="mb-3"> | ||||
| <app-search-select #partnerSearchSelect | <app-search-select #partnerSearchSelect | ||||
| [formId]="'partnerIri'" | |||||
| [formLabelLangKey]="'form.partner'" | |||||
| [documentForm]="documentForm" | |||||
| [getDataFunction]="getPartners" | |||||
| [dataSource]="dataSourcePartners" | |||||
| [searchSelectColDefs]="colDefPartners" | |||||
| [displayedDataField]="'name'" | |||||
| [formId]="'partnerIri'" | |||||
| [formLabelLangKey]="'form.partner'" | |||||
| [documentForm]="documentForm" | |||||
| [getDataFunction]="getPartners" | |||||
| [dataSource]="dataSourcePartners" | |||||
| [searchSelectColDefs]="colDefPartners" | |||||
| [displayedDataField]="'name'" | |||||
| [dataSet]="document.partner" | |||||
| > | > | ||||
| </app-search-select> | </app-search-select> | ||||
| <input type="hidden" formControlName="partner"/> | <input type="hidden" formControlName="partner"/> | ||||
| @@ -28,13 +29,14 @@ | |||||
| <div class="mb-3"> | <div class="mb-3"> | ||||
| <app-search-select #productSearchSelect | <app-search-select #productSearchSelect | ||||
| [formId]="'productIri'" | |||||
| [formLabelLangKey]="'form.product'" | |||||
| [documentForm]="documentForm" | |||||
| [getDataFunction]="getProducts" | |||||
| [dataSource]="dataSourceProducts" | |||||
| [searchSelectColDefs]="colDefProducts" | |||||
| [displayedDataField]="'name'" | |||||
| [formId]="'productIri'" | |||||
| [formLabelLangKey]="'form.product'" | |||||
| [documentForm]="documentForm" | |||||
| [getDataFunction]="getProducts" | |||||
| [dataSource]="dataSourceProducts" | |||||
| [searchSelectColDefs]="colDefProducts" | |||||
| [displayedDataField]="'name'" | |||||
| [dataSet]="document.product" | |||||
| > | > | ||||
| </app-search-select> | </app-search-select> | ||||
| <input type="hidden" formControlName="product"/> | <input type="hidden" formControlName="product"/> | ||||
| @@ -107,7 +107,6 @@ export class NewDocumentComponent implements OnInit, AfterViewInit { | |||||
| } | } | ||||
| onSubmit() { | onSubmit() { | ||||
| console.log(this.documentForm); | |||||
| if (this.selectedFile !== null) { | if (this.selectedFile !== null) { | ||||
| this.documentObjectSub = this.documentObjectService.documentObjectsPost( | this.documentObjectSub = this.documentObjectService.documentObjectsPost( | ||||
| this.selectedFile | this.selectedFile | ||||
| @@ -235,7 +235,6 @@ export class PartnerListComponent implements OnInit, AfterViewInit { | |||||
| } | } | ||||
| unassignPartner = (element: any)=> { | unassignPartner = (element: any)=> { | ||||
| console.log(element); | |||||
| let confirmMessage = ""; | let confirmMessage = ""; | ||||
| this.translateService.get('system.confirm-unassign').subscribe((translation: string) => { | this.translateService.get('system.confirm-unassign').subscribe((translation: string) => { | ||||
| confirmMessage = translation; | confirmMessage = translation; | ||||
| @@ -20,6 +20,7 @@ | |||||
| [dataSource]="dataSourceContacts" | [dataSource]="dataSourceContacts" | ||||
| [searchSelectColDefs]="colDefContacts" | [searchSelectColDefs]="colDefContacts" | ||||
| [displayedDataField]="'fullName'" | [displayedDataField]="'fullName'" | ||||
| [dataSet]="taskNote.contact" | |||||
| > | > | ||||
| </app-search-select> | </app-search-select> | ||||
| <input type="hidden" formControlName="contactIri" value="{{taskNote.contactIri}}"/> | <input type="hidden" formControlName="contactIri" value="{{taskNote.contactIri}}"/> | ||||
| @@ -20,30 +20,32 @@ | |||||
| <div class="mb-3"> | <div class="mb-3"> | ||||
| <label for="productIri" class="form-label">{{ 'form.product' | translate }}:</label> | <label for="productIri" class="form-label">{{ 'form.product' | translate }}:</label> | ||||
| <app-search-select #productSearchSelect id="productIri" | |||||
| [formId]="'productIri'" | |||||
| [formLabelLangKey]="'form.product'" | |||||
| [documentForm]="taskForm" | |||||
| [getDataFunction]="getProducts" | |||||
| [dataSource]="dataSourceProducts" | |||||
| [searchSelectColDefs]="colDefProducts" | |||||
| [displayedDataField]="'name'" | |||||
| > | |||||
| <input type="hidden" formControlName="productIri" value="{{task.productIri}}"/> | |||||
| </app-search-select> | |||||
| <app-search-select #productSearchSelect id="productIri" | |||||
| [formId]="'productIri'" | |||||
| [formLabelLangKey]="'form.product'" | |||||
| [documentForm]="taskForm" | |||||
| [getDataFunction]="getProducts" | |||||
| [dataSource]="dataSourceProducts" | |||||
| [searchSelectColDefs]="colDefProducts" | |||||
| [displayedDataField]="'name'" | |||||
| [dataSet]="task.product" | |||||
| > | |||||
| <input type="hidden" formControlName="productIri" value="{{task.productIri}}"/> | |||||
| </app-search-select> | |||||
| </div> | </div> | ||||
| <div class="mb-3"> | <div class="mb-3"> | ||||
| <label for="assignedToIri" class="form-label">{{ 'form.assign-to' | translate }}:</label> | <label for="assignedToIri" class="form-label">{{ 'form.assign-to' | translate }}:</label> | ||||
| <app-search-select #userSearchSelect id="assignedToIri" | <app-search-select #userSearchSelect id="assignedToIri" | ||||
| [formId]="'assignedToIri'" | |||||
| [formLabelLangKey]="'form.user'" | |||||
| [documentForm]="taskForm" | |||||
| [getDataFunction]="getUsers" | |||||
| [dataSource]="dataSourceUsers" | |||||
| [searchSelectColDefs]="colDefUsers" | |||||
| [displayedDataField]="'fullName'" | |||||
| [formId]="'assignedToIri'" | |||||
| [formLabelLangKey]="'form.user'" | |||||
| [documentForm]="taskForm" | |||||
| [getDataFunction]="getUsers" | |||||
| [dataSource]="dataSourceUsers" | |||||
| [searchSelectColDefs]="colDefUsers" | |||||
| [displayedDataField]="'fullName'" | |||||
| [dataSet]="task.assignedTo" | |||||
| > | > | ||||
| <input type="hidden" formControlName="assignedToIri" value="{{task.productIri}}"/> | <input type="hidden" formControlName="assignedToIri" value="{{task.productIri}}"/> | ||||
| </app-search-select> | </app-search-select> | ||||
| @@ -63,15 +65,16 @@ | |||||
| <div class="d-flex mb-3"> | <div class="d-flex mb-3"> | ||||
| <div class="form-check me-3"> | <div class="form-check me-3"> | ||||
| <input type="radio" class="form-check-input" id="radio-prio-low" formControlName="prio" value="low" /> | |||||
| <input type="radio" class="form-check-input" id="radio-prio-low" formControlName="prio" value="low"/> | |||||
| <label for="radio-prio-low" class="form-check-label">{{ 'form.prio-low' | translate }}</label> | <label for="radio-prio-low" class="form-check-label">{{ 'form.prio-low' | translate }}</label> | ||||
| </div> | </div> | ||||
| <div class="form-check me-3"> | <div class="form-check me-3"> | ||||
| <input type="radio" class="form-check-input" id="radio-prio-medium" formControlName="prio" value="medium" /> | |||||
| <input type="radio" class="form-check-input" id="radio-prio-medium" formControlName="prio" | |||||
| value="medium"/> | |||||
| <label for="radio-prio-medium" class="form-check-label">{{ 'form.prio-medium' | translate }}</label> | <label for="radio-prio-medium" class="form-check-label">{{ 'form.prio-medium' | translate }}</label> | ||||
| </div> | </div> | ||||
| <div class="form-check me-3"> | <div class="form-check me-3"> | ||||
| <input type="radio" class="form-check-input" id="radio-prio-high" formControlName="prio" value="high" /> | |||||
| <input type="radio" class="form-check-input" id="radio-prio-high" formControlName="prio" value="high"/> | |||||
| <label for="radio-prio-high" class="form-check-label">{{ 'form.prio-high' | translate }}</label> | <label for="radio-prio-high" class="form-check-label">{{ 'form.prio-high' | translate }}</label> | ||||
| </div> | </div> | ||||
| </div> | </div> | ||||
| @@ -161,8 +161,6 @@ export class NewTaskComponent implements OnInit, AfterViewInit { | |||||
| // Set T12:00 for correct string | // Set T12:00 for correct string | ||||
| let selectedItemValue = selectedItem.target.value + "T12:00"; | let selectedItemValue = selectedItem.target.value + "T12:00"; | ||||
| this.taskForm.get('dueAt')?.setValue(selectedItemValue); | this.taskForm.get('dueAt')?.setValue(selectedItemValue); | ||||
| console.log(this.taskForm); | |||||
| console.log(this.taskForm.value); | |||||
| } | } | ||||
| protected onSubmit() { | protected onSubmit() { | ||||
| @@ -52,7 +52,7 @@ | |||||
| <div class="col-12 col-md-8"> | <div class="col-12 col-md-8"> | ||||
| <p class="m-0 mb-3 mt-2" | <p class="m-0 mb-3 mt-2" | ||||
| [innerHTML]="appHelperService.getSafeLongtext(task.description)"></p> | [innerHTML]="appHelperService.getSafeLongtext(task.description)"></p> | ||||
| <span *ngIf="task.createdBy === currentUser?.id" class="position-absolute bi bi-pencil p-2" | |||||
| <span *ngIf="task.createdBy?.id === currentUser?.id" class="position-absolute bi bi-pencil p-2" | |||||
| data-type="user-tool" data-action="edit" (click)="openModalEditTask(task)"></span> | data-type="user-tool" data-action="edit" (click)="openModalEditTask(task)"></span> | ||||
| <div class="spt-comments-box d-flex justify-content-end mt-1 position-absolute"> | <div class="spt-comments-box d-flex justify-content-end mt-1 position-absolute"> | ||||
| <span *ngIf="task.numTaskNotes !== undefined && task.numTaskNotes !== null && task.numTaskNotes > 0" | <span *ngIf="task.numTaskNotes !== undefined && task.numTaskNotes !== null && task.numTaskNotes > 0" | ||||
| @@ -88,7 +88,7 @@ | |||||
| <span class="importance" [attr.data-importance]="task.prio"></span> | <span class="importance" [attr.data-importance]="task.prio"></span> | ||||
| <h2 class="m-0">{{ task.headline }}</h2> | <h2 class="m-0">{{ task.headline }}</h2> | ||||
| <p class="m-0" [innerHTML]="appHelperService.getSafeLongtext(task.description)"></p> | <p class="m-0" [innerHTML]="appHelperService.getSafeLongtext(task.description)"></p> | ||||
| <span *ngIf="task.createdBy === currentUser?.id" class="position-absolute bi bi-pencil p-2" | |||||
| <span *ngIf="task.createdBy?.id === currentUser?.id" class="position-absolute bi bi-pencil p-2" | |||||
| data-type="user-tool" data-action="edit" (click)="openModalEditTask(task)"></span> | data-type="user-tool" data-action="edit" (click)="openModalEditTask(task)"></span> | ||||
| <div class="spt-comments-box d-flex justify-content-end mt-1 position-absolute"> | <div class="spt-comments-box d-flex justify-content-end mt-1 position-absolute"> | ||||
| <span *ngIf="task.numTaskNotes !== undefined && task.numTaskNotes !== null && task.numTaskNotes > 0" | <span *ngIf="task.numTaskNotes !== undefined && task.numTaskNotes !== null && task.numTaskNotes > 0" | ||||
| @@ -123,7 +123,7 @@ | |||||
| <div> | <div> | ||||
| <p [innerHTML]="appHelperService.getSafeLongtext(taskNote.message)"></p> | <p [innerHTML]="appHelperService.getSafeLongtext(taskNote.message)"></p> | ||||
| </div> | </div> | ||||
| <span *ngIf="taskNote.owner === currentUser?.id" class="position-absolute bi bi-pencil p-2" | |||||
| <span *ngIf="taskNote.owner?.id === currentUser?.id" class="position-absolute bi bi-pencil p-2" | |||||
| data-type="user-tool" data-action="edit" | data-type="user-tool" data-action="edit" | ||||
| (click)="openModalEditTaskNote(taskNote, task)"></span> | (click)="openModalEditTaskNote(taskNote, task)"></span> | ||||
| </div> | </div> | ||||
| @@ -160,7 +160,7 @@ export class TaskListComponent implements OnInit, AfterViewInit { | |||||
| openModalEditTaskNote(taskNote: TaskNoteJsonld, task: TaskJsonld) { | openModalEditTaskNote(taskNote: TaskNoteJsonld, task: TaskJsonld) { | ||||
| this.appHelperService.openModal( | this.appHelperService.openModal( | ||||
| NewTaskNoteComponent, { 'taskNote': taskNote, 'task': task }, this.afterCommentCreation, taskNote.id | |||||
| NewTaskNoteComponent, { 'taskNote': taskNote, 'task': task }, this.afterCommentCreation, task.id | |||||
| ); | ); | ||||
| } | } | ||||
| @@ -394,6 +394,9 @@ img { | |||||
| } | } | ||||
| .search-toggle { | .search-toggle { | ||||
| display: none; | display: none; | ||||
| td { | |||||
| cursor: pointer; | |||||
| } | |||||
| } | } | ||||
| .search-box-open { | .search-box-open { | ||||
| display: block; | display: block; | ||||