@valtimo/task 5.4.0 → 5.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -111,10 +111,10 @@ export class AssignUserToTaskComponent {
111
111
  }
112
112
  }
113
113
  AssignUserToTaskComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AssignUserToTaskComponent, deps: [{ token: i1.TaskService }], target: i0.ɵɵFactoryTarget.Component });
114
- AssignUserToTaskComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: AssignUserToTaskComponent, selector: "valtimo-assign-user-to-task", inputs: { taskId: "taskId", assigneeEmail: "assigneeEmail" }, outputs: { assignmentOfTaskChanged: "assignmentOfTaskChanged" }, usesOnChanges: true, ngImport: i0, template: "<ng-container\n *ngIf=\"{\n candidateUsers: candidateUsersForTask$ | async,\n disabled: disabled$ | async,\n emailOnServer: assignedEmailOnServer$ | async\n } as obs\"\n>\n <div class=\"container-fluid\">\n <div class=\"row mt-2 mb-2\">\n <div class=\"col-12 pl-0 d-flex flex-row align-items-center\">\n <ng-container *ngIf=\"obs.candidateUsers; else loading\">\n <valtimo-searchable-dropdown-select\n [style]=\"'underlinedText'\"\n [items]=\"mapUsersForDropdown(obs.candidateUsers)\"\n [buttonText]=\"'assignTask.header' | translate\"\n [searchText]=\"'interface.typeToSearch' | translate\"\n [noResultsText]=\"'interface.noSearchResults' | translate\"\n [disabled]=\"obs.disabled\"\n [selectedText]=\"'assignTask.assignedTo' | translate\"\n [selectedTextValue]=\"assignedUserFullName$ | async\"\n [clearSelectionButtonTitle]=\"'assignTask.remove' | translate\"\n [hasSelection]=\"userEmailToAssign === obs.emailOnServer && obs.emailOnServer !== null\"\n [width]=\"250\"\n (itemSelected)=\"assignTask($event)\"\n (clearSelection)=\"unassignTask()\"\n >\n </valtimo-searchable-dropdown-select>\n </ng-container>\n </div>\n </div>\n </div>\n</ng-container>\n\n<ng-template #loading>\n <h5>\n <b>{{ 'assignTask.fetchingUsers' | translate }}</b>\n </h5>\n</ng-template>\n", styles: [".container-fluid{color:#959595}i{font-size:13px}\n"], components: [{ type: i2.SearchableDropdownSelectComponent, selector: "valtimo-searchable-dropdown-select", inputs: ["style", "items", "buttonText", "searchText", "noResultsText", "disabled", "selectedText", "selectedTextValue", "clearSelectionButtonTitle", "hasSelection", "width"], outputs: ["itemSelected", "clearSelection"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i3.AsyncPipe, "translate": i4.TranslatePipe } });
114
+ AssignUserToTaskComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: AssignUserToTaskComponent, selector: "valtimo-assign-user-to-task", inputs: { taskId: "taskId", assigneeEmail: "assigneeEmail" }, outputs: { assignmentOfTaskChanged: "assignmentOfTaskChanged" }, usesOnChanges: true, ngImport: i0, template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n candidateUsers: candidateUsersForTask$ | async,\n disabled: disabled$ | async,\n emailOnServer: assignedEmailOnServer$ | async\n } as obs\"\n>\n <div class=\"container-fluid\">\n <div class=\"row mt-2 mb-2\">\n <div class=\"col-12 pl-0 d-flex flex-row align-items-center\">\n <ng-container *ngIf=\"obs.candidateUsers; else loading\">\n <valtimo-searchable-dropdown-select\n [style]=\"'underlinedText'\"\n [items]=\"mapUsersForDropdown(obs.candidateUsers)\"\n [buttonText]=\"'assignTask.header' | translate\"\n [searchText]=\"'interface.typeToSearch' | translate\"\n [noResultsText]=\"'interface.noSearchResults' | translate\"\n [disabled]=\"obs.disabled\"\n [selectedText]=\"'assignTask.assignedTo' | translate\"\n [selectedTextValue]=\"assignedUserFullName$ | async\"\n [clearSelectionButtonTitle]=\"'assignTask.remove' | translate\"\n [hasSelection]=\"userEmailToAssign === obs.emailOnServer && obs.emailOnServer !== null\"\n [width]=\"250\"\n (itemSelected)=\"assignTask($event)\"\n (clearSelection)=\"unassignTask()\"\n >\n </valtimo-searchable-dropdown-select>\n </ng-container>\n </div>\n </div>\n </div>\n</ng-container>\n\n<ng-template #loading>\n <h5>\n <b>{{ 'assignTask.fetchingUsers' | translate }}</b>\n </h5>\n</ng-template>\n", styles: ["/*!\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.container-fluid{color:#959595}i{font-size:13px}\n"], components: [{ type: i2.SearchableDropdownSelectComponent, selector: "valtimo-searchable-dropdown-select", inputs: ["style", "items", "buttonText", "searchText", "noResultsText", "disabled", "selectedText", "selectedTextValue", "clearSelectionButtonTitle", "hasSelection", "width"], outputs: ["itemSelected", "clearSelection"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i3.AsyncPipe, "translate": i4.TranslatePipe } });
115
115
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AssignUserToTaskComponent, decorators: [{
116
116
  type: Component,
117
- args: [{ selector: 'valtimo-assign-user-to-task', template: "<ng-container\n *ngIf=\"{\n candidateUsers: candidateUsersForTask$ | async,\n disabled: disabled$ | async,\n emailOnServer: assignedEmailOnServer$ | async\n } as obs\"\n>\n <div class=\"container-fluid\">\n <div class=\"row mt-2 mb-2\">\n <div class=\"col-12 pl-0 d-flex flex-row align-items-center\">\n <ng-container *ngIf=\"obs.candidateUsers; else loading\">\n <valtimo-searchable-dropdown-select\n [style]=\"'underlinedText'\"\n [items]=\"mapUsersForDropdown(obs.candidateUsers)\"\n [buttonText]=\"'assignTask.header' | translate\"\n [searchText]=\"'interface.typeToSearch' | translate\"\n [noResultsText]=\"'interface.noSearchResults' | translate\"\n [disabled]=\"obs.disabled\"\n [selectedText]=\"'assignTask.assignedTo' | translate\"\n [selectedTextValue]=\"assignedUserFullName$ | async\"\n [clearSelectionButtonTitle]=\"'assignTask.remove' | translate\"\n [hasSelection]=\"userEmailToAssign === obs.emailOnServer && obs.emailOnServer !== null\"\n [width]=\"250\"\n (itemSelected)=\"assignTask($event)\"\n (clearSelection)=\"unassignTask()\"\n >\n </valtimo-searchable-dropdown-select>\n </ng-container>\n </div>\n </div>\n </div>\n</ng-container>\n\n<ng-template #loading>\n <h5>\n <b>{{ 'assignTask.fetchingUsers' | translate }}</b>\n </h5>\n</ng-template>\n", styles: [".container-fluid{color:#959595}i{font-size:13px}\n"] }]
117
+ args: [{ selector: 'valtimo-assign-user-to-task', template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n candidateUsers: candidateUsersForTask$ | async,\n disabled: disabled$ | async,\n emailOnServer: assignedEmailOnServer$ | async\n } as obs\"\n>\n <div class=\"container-fluid\">\n <div class=\"row mt-2 mb-2\">\n <div class=\"col-12 pl-0 d-flex flex-row align-items-center\">\n <ng-container *ngIf=\"obs.candidateUsers; else loading\">\n <valtimo-searchable-dropdown-select\n [style]=\"'underlinedText'\"\n [items]=\"mapUsersForDropdown(obs.candidateUsers)\"\n [buttonText]=\"'assignTask.header' | translate\"\n [searchText]=\"'interface.typeToSearch' | translate\"\n [noResultsText]=\"'interface.noSearchResults' | translate\"\n [disabled]=\"obs.disabled\"\n [selectedText]=\"'assignTask.assignedTo' | translate\"\n [selectedTextValue]=\"assignedUserFullName$ | async\"\n [clearSelectionButtonTitle]=\"'assignTask.remove' | translate\"\n [hasSelection]=\"userEmailToAssign === obs.emailOnServer && obs.emailOnServer !== null\"\n [width]=\"250\"\n (itemSelected)=\"assignTask($event)\"\n (clearSelection)=\"unassignTask()\"\n >\n </valtimo-searchable-dropdown-select>\n </ng-container>\n </div>\n </div>\n </div>\n</ng-container>\n\n<ng-template #loading>\n <h5>\n <b>{{ 'assignTask.fetchingUsers' | translate }}</b>\n </h5>\n</ng-template>\n", styles: ["/*!\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.container-fluid{color:#959595}i{font-size:13px}\n"] }]
118
118
  }], ctorParameters: function () { return [{ type: i1.TaskService }]; }, propDecorators: { taskId: [{
119
119
  type: Input
120
120
  }], assigneeEmail: [{
@@ -122,4 +122,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
122
122
  }], assignmentOfTaskChanged: [{
123
123
  type: Output
124
124
  }] } });
125
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzaWduLXVzZXItdG8tdGFzay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL3Rhc2svc3JjL2xpYi9hc3NpZ24tdXNlci10by10YXNrL2Fzc2lnbi11c2VyLXRvLXRhc2suY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby90YXNrL3NyYy9saWIvYXNzaWduLXVzZXItdG8tdGFzay9hc3NpZ24tdXNlci10by10YXNrLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUMsZUFBZSxFQUFFLGFBQWEsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNwRCxPQUFPLEVBQUMsSUFBSSxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7QUFTekMsTUFBTSxPQUFPLHlCQUF5QjtJQVdwQyxZQUFvQixXQUF3QjtRQUF4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQVJsQyw0QkFBdUIsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRXZELDJCQUFzQixHQUFHLElBQUksZUFBZSxDQUFTLFNBQVMsQ0FBQyxDQUFDO1FBQ2hFLGNBQVMsR0FBRyxJQUFJLGVBQWUsQ0FBVSxJQUFJLENBQUMsQ0FBQztRQUMvQywyQkFBc0IsR0FBRyxJQUFJLGVBQWUsQ0FBUyxJQUFJLENBQUMsQ0FBQztRQUMzRCxzQkFBaUIsR0FBVyxJQUFJLENBQUM7UUFDakMsMEJBQXFCLEdBQUcsSUFBSSxlQUFlLENBQVMsSUFBSSxDQUFDLENBQUM7SUFFWCxDQUFDO0lBRWhELFFBQVE7UUFDTixJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUFDLElB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LFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVPLE9BQU87UUFDYixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1QixDQUFDOzt1SEEzR1UseUJBQXlCOzJHQUF6Qix5QkFBeUIsdU5DcEN0QyxnOUNBc0NBOzRGREZhLHlCQUF5QjtrQkFMckMsU0FBUzsrQkFDRSw2QkFBNkI7a0dBSzlCLE1BQU07c0JBQWQsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNJLHVCQUF1QjtzQkFBaEMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDIwIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Ryb3Bkb3duSXRlbX0gZnJvbSAnQHZhbHRpbW8vY29tcG9uZW50cyc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge3Rha2UsIHRhcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtUYXNrU2VydmljZX0gZnJvbSAnLi4vdGFzay5zZXJ2aWNlJztcbmltcG9ydCB7VXNlcn0gZnJvbSAnQHZhbHRpbW8vY29uZmlnJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsdGltby1hc3NpZ24tdXNlci10by10YXNrJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Fzc2lnbi11c2VyLXRvLXRhc2suY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hc3NpZ24tdXNlci10by10YXNrLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEFzc2lnblVzZXJUb1Rhc2tDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIHRhc2tJZDogc3RyaW5nO1xuICBASW5wdXQoKSBhc3NpZ25lZUVtYWlsOiBzdHJpbmc7XG4gIEBPdXRwdXQoKSBhc3NpZ25tZW50T2ZUYXNrQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBjYW5kaWRhdGVVc2Vyc0ZvclRhc2skID0gbmV3IEJlaGF2aW9yU3ViamVjdDxVc2VyW10+KHVuZGVmaW5lZCk7XG4gIGRpc2FibGVkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XG4gIGFzc2lnbmVkRW1haWxPblNlcnZlciQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4obnVsbCk7XG4gIHVzZXJFbWFpbFRvQXNzaWduOiBzdHJpbmcgPSBudWxsO1xuICBhc3NpZ25lZFVzZXJGdWxsTmFtZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4obnVsbCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0YXNrU2VydmljZTogVGFza1NlcnZpY2UpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy50YXNrU2VydmljZS5nZXRDYW5kaWRhdGVVc2Vycyh0aGlzLnRhc2tJZCkuc3Vic2NyaWJlKGNhbmRpZGF0ZVVzZXJzID0+IHtcbiAgICAgIHRoaXMuY2FuZGlkYXRlVXNlcnNGb3JUYXNrJC5uZXh0KGNhbmRpZGF0ZVVzZXJzKTtcbiAgICAgIGlmICh0aGlzLmFzc2lnbmVlRW1haWwpIHtcbiAgICAgICAgdGhpcy5hc3NpZ25lZEVtYWlsT25TZXJ2ZXIkLm5leHQodGhpcy5hc3NpZ25lZUVtYWlsKTtcbiAgICAgICAgdGhpcy51c2VyRW1haWxUb0Fzc2lnbiA9IHRoaXMuYXNzaWduZWVFbWFpbDtcbiAgICAgICAgdGhpcy5hc3NpZ25lZFVzZXJGdWxsTmFtZSQubmV4dChcbiAgICAgICAgICB0aGlzLmdldEFzc2lnbmVkVXNlck5hbWUoY2FuZGlkYXRlVXNlcnMsIHRoaXMuYXNzaWduZWVFbWFpbClcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuZW5hYmxlKCk7XG4gICAgfSk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgY29uc3QgYXNzaWduZWVFbWFpbCA9IGNoYW5nZXMuYXNzaWduZWVFbWFpbDtcbiAgICBpZiAoYXNzaWduZWVFbWFpbCkge1xuICAgICAgdGhpcy5jYW5kaWRhdGVVc2Vyc0ZvclRhc2skLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKGNhbmRpZGF0ZVVzZXJzID0+IHtcbiAgICAgICAgY29uc3QgY3VycmVudFVzZXJFbWFpbCA9IGFzc2lnbmVlRW1haWwuY3VycmVudFZhbHVlO1xuICAgICAgICB0aGlzLmFzc2lnbmVkRW1haWxPblNlcnZlciQubmV4dChjdXJyZW50VXNlckVtYWlsIHx8IG51bGwpO1xuICAgICAgICB0aGlzLnVzZXJFbWFpbFRvQXNzaWduID0gY3VycmVudFVzZXJFbWFpbCB8fCBudWxsO1xuICAgICAgICB0aGlzLmFzc2lnbmVkVXNlckZ1bGxOYW1lJC5uZXh0KHRoaXMuZ2V0QXNzaWduZWRVc2VyTmFtZShjYW5kaWRhdGVVc2VycywgY3VycmVudFVzZXJFbWFpbCkpO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY2xlYXIoKTtcbiAgICB9XG4gIH1cblxuICBhc3NpZ25UYXNrKHVzZXJFbWFpbDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlKCk7XG4gICAgY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLmNhbmRpZGF0ZVVzZXJzRm9yVGFzayQsXG4gICAgICB0aGlzLnRhc2tTZXJ2aWNlLmFzc2lnblRhc2sodGhpcy50YXNrSWQsIHthc3NpZ25lZTogdXNlckVtYWlsfSksXG4gICAgXSlcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlKDEpLFxuICAgICAgICB0YXAoKFtjYW5kaWRhdGVVc2Vyc10pID0+IHtcbiAgICAgICAgICB0aGlzLnVzZXJFbWFpbFRvQXNzaWduID0gdXNlckVtYWlsO1xuICAgICAgICAgIHRoaXMuYXNzaWduZWRFbWFpbE9uU2VydmVyJC5uZXh0KHVzZXJFbWFpbCk7XG4gICAgICAgICAgdGhpcy5hc3NpZ25lZFVzZXJGdWxsTmFtZSQubmV4dCh0aGlzLmdldEFzc2lnbmVkVXNlck5hbWUoY2FuZGlkYXRlVXNlcnMsIHVzZXJFbWFpbCkpO1xuICAgICAgICAgIHRoaXMuZW1pdENoYW5nZSgpO1xuICAgICAgICAgIHRoaXMuZW5hYmxlKCk7XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICB1bmFzc2lnblRhc2soKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlKCk7XG4gICAgdGhpcy50YXNrU2VydmljZVxuICAgICAgLnVuYXNzaWduVGFzayh0aGlzLnRhc2tJZClcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuY2xlYXIoKTtcbiAgICAgICAgICB0aGlzLmVtaXRDaGFuZ2UoKTtcbiAgICAgICAgICB0aGlzLmVuYWJsZSgpO1xuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgZ2V0QXNzaWduZWRVc2VyTmFtZSh1c2VyczogVXNlcltdLCB1c2VyRW1haWw6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgaWYgKHVzZXJzICYmIHVzZXJFbWFpbCkge1xuICAgICAgY29uc3QgZmluZFVzZXIgPSB1c2Vycy5maW5kKHVzZXIgPT4gdXNlci5lbWFpbCA9PT0gdXNlckVtYWlsKTtcbiAgICAgIHJldHVybiBmaW5kVXNlciA/IGZpbmRVc2VyLmZ1bGxOYW1lIDogJyc7XG4gICAgfVxuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIG1hcFVzZXJzRm9yRHJvcGRvd24odXNlcnM6IFVzZXJbXSk6IERyb3Bkb3duSXRlbVtdIHtcbiAgICByZXR1cm4gKFxuICAgICAgdXNlcnMgJiZcbiAgICAgIHVzZXJzXG4gICAgICAgIC5tYXAodXNlciA9PiAoey4uLnVzZXIsIGxhc3ROYW1lOiB1c2VyLmxhc3ROYW1lPy5zcGxpdCgnICcpLnNwbGljZSgtMSlbMF0gfHwgJyd9KSlcbiAgICAgICAgLnNvcnQoKGEsIGIpID0+IGEubGFzdE5hbWUubG9jYWxlQ29tcGFyZShiLmxhc3ROYW1lKSlcbiAgICAgICAgLm1hcCh1c2VyID0+ICh7dGV4dDogdXNlci5mdWxsTmFtZSwgaWQ6IHVzZXIuZW1haWx9KSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBjbGVhcigpOiB2b2lkIHtcbiAgICB0aGlzLmFzc2lnbmVkRW1haWxPblNlcnZlciQubmV4dChudWxsKTtcbiAgICB0aGlzLnVzZXJFbWFpbFRvQXNzaWduID0gbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgZW1pdENoYW5nZSgpOiB2b2lkIHtcbiAgICB0aGlzLmFzc2lnbm1lbnRPZlRhc2tDaGFuZ2VkLmVtaXQoKTtcbiAgfVxuXG4gIHByaXZhdGUgZW5hYmxlKCk6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQkLm5leHQoZmFsc2UpO1xuICB9XG5cbiAgcHJpdmF0ZSBkaXNhYmxlKCk6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQkLm5leHQodHJ1ZSk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXJcbiAgKm5nSWY9XCJ7XG4gICAgY2FuZGlkYXRlVXNlcnM6IGNhbmRpZGF0ZVVzZXJzRm9yVGFzayQgfCBhc3luYyxcbiAgICBkaXNhYmxlZDogZGlzYWJsZWQkIHwgYXN5bmMsXG4gICAgZW1haWxPblNlcnZlcjogYXNzaWduZWRFbWFpbE9uU2VydmVyJCB8IGFzeW5jXG4gIH0gYXMgb2JzXCJcbj5cbiAgPGRpdiBjbGFzcz1cImNvbnRhaW5lci1mbHVpZFwiPlxuICAgIDxkaXYgY2xhc3M9XCJyb3cgbXQtMiBtYi0yXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIHBsLTAgZC1mbGV4IGZsZXgtcm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwib2JzLmNhbmRpZGF0ZVVzZXJzOyBlbHNlIGxvYWRpbmdcIj5cbiAgICAgICAgICA8dmFsdGltby1zZWFyY2hhYmxlLWRyb3Bkb3duLXNlbGVjdFxuICAgICAgICAgICAgW3N0eWxlXT1cIid1bmRlcmxpbmVkVGV4dCdcIlxuICAgICAgICAgICAgW2l0ZW1zXT1cIm1hcFVzZXJzRm9yRHJvcGRvd24ob2JzLmNhbmRpZGF0ZVVzZXJzKVwiXG4gICAgICAgICAgICBbYnV0dG9uVGV4dF09XCInYXNzaWduVGFzay5oZWFkZXInIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgIFtzZWFyY2hUZXh0XT1cIidpbnRlcmZhY2UudHlwZVRvU2VhcmNoJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICBbbm9SZXN1bHRzVGV4dF09XCInaW50ZXJmYWNlLm5vU2VhcmNoUmVzdWx0cycgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIm9icy5kaXNhYmxlZFwiXG4gICAgICAgICAgICBbc2VsZWN0ZWRUZXh0XT1cIidhc3NpZ25UYXNrLmFzc2lnbmVkVG8nIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgIFtzZWxlY3RlZFRleHRWYWx1ZV09XCJhc3NpZ25lZFVzZXJGdWxsTmFtZSQgfCBhc3luY1wiXG4gICAgICAgICAgICBbY2xlYXJTZWxlY3Rpb25CdXR0b25UaXRsZV09XCInYXNzaWduVGFzay5yZW1vdmUnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgIFtoYXNTZWxlY3Rpb25dPVwidXNlckVtYWlsVG9Bc3NpZ24gPT09IG9icy5lbWFpbE9uU2VydmVyICYmIG9icy5lbWFpbE9uU2VydmVyICE9PSBudWxsXCJcbiAgICAgICAgICAgIFt3aWR0aF09XCIyNTBcIlxuICAgICAgICAgICAgKGl0ZW1TZWxlY3RlZCk9XCJhc3NpZ25UYXNrKCRldmVudClcIlxuICAgICAgICAgICAgKGNsZWFyU2VsZWN0aW9uKT1cInVuYXNzaWduVGFzaygpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgPC92YWx0aW1vLXNlYXJjaGFibGUtZHJvcGRvd24tc2VsZWN0PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI2xvYWRpbmc+XG4gIDxoNT5cbiAgICA8Yj57eyAnYXNzaWduVGFzay5mZXRjaGluZ1VzZXJzJyB8IHRyYW5zbGF0ZSB9fTwvYj5cbiAgPC9oNT5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzaWduLXVzZXItdG8tdGFzay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL3Rhc2svc3JjL2xpYi9hc3NpZ24tdXNlci10by10YXNrL2Fzc2lnbi11c2VyLXRvLXRhc2suY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby90YXNrL3NyYy9saWIvYXNzaWduLXVzZXItdG8tdGFzay9hc3NpZ24tdXNlci10by10YXNrLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUMsZUFBZSxFQUFFLGFBQWEsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNwRCxPQUFPLEVBQUMsSUFBSSxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7QUFTekMsTUFBTSxPQUFPLHlCQUF5QjtJQVdwQyxZQUFvQixXQUF3QjtRQUF4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQVJsQyw0QkFBdUIsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRXZELDJCQUFzQixHQUFHLElBQUksZUFBZSxDQUFTLFNBQVMsQ0FBQyxDQUFDO1FBQ2hFLGNBQVMsR0FBRyxJQUFJLGVBQWUsQ0FBVSxJQUFJLENBQUMsQ0FBQztRQUMvQywyQkFBc0IsR0FBRyxJQUFJLGVBQWUsQ0FBUyxJQUFJLENBQUMsQ0FBQztRQUMzRCxzQkFBaUIsR0FBVyxJQUFJLENBQUM7UUFDakMsMEJBQXFCLEdBQUcsSUFBSSxlQUFlLENBQVMsSUFBSSxDQUFDLENBQUM7SUFFWCxDQUFDO0lBRWhELFFBQVE7UUFDTixJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUFDLElB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LFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVPLE9BQU87UUFDYixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1QixDQUFDOzt1SEEzR1UseUJBQXlCOzJHQUF6Qix5QkFBeUIsdU5DcEN0QyxnbUVBc0RBOzRGRGxCYSx5QkFBeUI7a0JBTHJDLFNBQVM7K0JBQ0UsNkJBQTZCO2tHQUs5QixNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDSSx1QkFBdUI7c0JBQWhDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyMCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtEcm9wZG93bkl0ZW19IGZyb20gJ0B2YWx0aW1vL2NvbXBvbmVudHMnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHt0YWtlLCB0YXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7VGFza1NlcnZpY2V9IGZyb20gJy4uL3Rhc2suc2VydmljZSc7XG5pbXBvcnQge1VzZXJ9IGZyb20gJ0B2YWx0aW1vL2NvbmZpZyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbHRpbW8tYXNzaWduLXVzZXItdG8tdGFzaycsXG4gIHRlbXBsYXRlVXJsOiAnLi9hc3NpZ24tdXNlci10by10YXNrLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYXNzaWduLXVzZXItdG8tdGFzay5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBBc3NpZ25Vc2VyVG9UYXNrQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBASW5wdXQoKSB0YXNrSWQ6IHN0cmluZztcbiAgQElucHV0KCkgYXNzaWduZWVFbWFpbDogc3RyaW5nO1xuICBAT3V0cHV0KCkgYXNzaWdubWVudE9mVGFza0NoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgY2FuZGlkYXRlVXNlcnNGb3JUYXNrJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VXNlcltdPih1bmRlZmluZWQpO1xuICBkaXNhYmxlZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRydWUpO1xuICBhc3NpZ25lZEVtYWlsT25TZXJ2ZXIkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KG51bGwpO1xuICB1c2VyRW1haWxUb0Fzc2lnbjogc3RyaW5nID0gbnVsbDtcbiAgYXNzaWduZWRVc2VyRnVsbE5hbWUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KG51bGwpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdGFza1NlcnZpY2U6IFRhc2tTZXJ2aWNlKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMudGFza1NlcnZpY2UuZ2V0Q2FuZGlkYXRlVXNlcnModGhpcy50YXNrSWQpLnN1YnNjcmliZShjYW5kaWRhdGVVc2VycyA9PiB7XG4gICAgICB0aGlzLmNhbmRpZGF0ZVVzZXJzRm9yVGFzayQubmV4dChjYW5kaWRhdGVVc2Vycyk7XG4gICAgICBpZiAodGhpcy5hc3NpZ25lZUVtYWlsKSB7XG4gICAgICAgIHRoaXMuYXNzaWduZWRFbWFpbE9uU2VydmVyJC5uZXh0KHRoaXMuYXNzaWduZWVFbWFpbCk7XG4gICAgICAgIHRoaXMudXNlckVtYWlsVG9Bc3NpZ24gPSB0aGlzLmFzc2lnbmVlRW1haWw7XG4gICAgICAgIHRoaXMuYXNzaWduZWRVc2VyRnVsbE5hbWUkLm5leHQoXG4gICAgICAgICAgdGhpcy5nZXRBc3NpZ25lZFVzZXJOYW1lKGNhbmRpZGF0ZVVzZXJzLCB0aGlzLmFzc2lnbmVlRW1haWwpXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICB0aGlzLmVuYWJsZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGNvbnN0IGFzc2lnbmVlRW1haWwgPSBjaGFuZ2VzLmFzc2lnbmVlRW1haWw7XG4gICAgaWYgKGFzc2lnbmVlRW1haWwpIHtcbiAgICAgIHRoaXMuY2FuZGlkYXRlVXNlcnNGb3JUYXNrJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZShjYW5kaWRhdGVVc2VycyA9PiB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRVc2VyRW1haWwgPSBhc3NpZ25lZUVtYWlsLmN1cnJlbnRWYWx1ZTtcbiAgICAgICAgdGhpcy5hc3NpZ25lZEVtYWlsT25TZXJ2ZXIkLm5leHQoY3VycmVudFVzZXJFbWFpbCB8fCBudWxsKTtcbiAgICAgICAgdGhpcy51c2VyRW1haWxUb0Fzc2lnbiA9IGN1cnJlbnRVc2VyRW1haWwgfHwgbnVsbDtcbiAgICAgICAgdGhpcy5hc3NpZ25lZFVzZXJGdWxsTmFtZSQubmV4dCh0aGlzLmdldEFzc2lnbmVkVXNlck5hbWUoY2FuZGlkYXRlVXNlcnMsIGN1cnJlbnRVc2VyRW1haWwpKTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNsZWFyKCk7XG4gICAgfVxuICB9XG5cbiAgYXNzaWduVGFzayh1c2VyRW1haWw6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZSgpO1xuICAgIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5jYW5kaWRhdGVVc2Vyc0ZvclRhc2skLFxuICAgICAgdGhpcy50YXNrU2VydmljZS5hc3NpZ25UYXNrKHRoaXMudGFza0lkLCB7YXNzaWduZWU6IHVzZXJFbWFpbH0pLFxuICAgIF0pXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgdGFwKChbY2FuZGlkYXRlVXNlcnNdKSA9PiB7XG4gICAgICAgICAgdGhpcy51c2VyRW1haWxUb0Fzc2lnbiA9IHVzZXJFbWFpbDtcbiAgICAgICAgICB0aGlzLmFzc2lnbmVkRW1haWxPblNlcnZlciQubmV4dCh1c2VyRW1haWwpO1xuICAgICAgICAgIHRoaXMuYXNzaWduZWRVc2VyRnVsbE5hbWUkLm5leHQodGhpcy5nZXRBc3NpZ25lZFVzZXJOYW1lKGNhbmRpZGF0ZVVzZXJzLCB1c2VyRW1haWwpKTtcbiAgICAgICAgICB0aGlzLmVtaXRDaGFuZ2UoKTtcbiAgICAgICAgICB0aGlzLmVuYWJsZSgpO1xuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgdW5hc3NpZ25UYXNrKCk6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZSgpO1xuICAgIHRoaXMudGFza1NlcnZpY2VcbiAgICAgIC51bmFzc2lnblRhc2sodGhpcy50YXNrSWQpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmNsZWFyKCk7XG4gICAgICAgICAgdGhpcy5lbWl0Q2hhbmdlKCk7XG4gICAgICAgICAgdGhpcy5lbmFibGUoKTtcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIGdldEFzc2lnbmVkVXNlck5hbWUodXNlcnM6IFVzZXJbXSwgdXNlckVtYWlsOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmICh1c2VycyAmJiB1c2VyRW1haWwpIHtcbiAgICAgIGNvbnN0IGZpbmRVc2VyID0gdXNlcnMuZmluZCh1c2VyID0+IHVzZXIuZW1haWwgPT09IHVzZXJFbWFpbCk7XG4gICAgICByZXR1cm4gZmluZFVzZXIgPyBmaW5kVXNlci5mdWxsTmFtZSA6ICcnO1xuICAgIH1cbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBtYXBVc2Vyc0ZvckRyb3Bkb3duKHVzZXJzOiBVc2VyW10pOiBEcm9wZG93bkl0ZW1bXSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHVzZXJzICYmXG4gICAgICB1c2Vyc1xuICAgICAgICAubWFwKHVzZXIgPT4gKHsuLi51c2VyLCBsYXN0TmFtZTogdXNlci5sYXN0TmFtZT8uc3BsaXQoJyAnKS5zcGxpY2UoLTEpWzBdIHx8ICcnfSkpXG4gICAgICAgIC5zb3J0KChhLCBiKSA9PiBhLmxhc3ROYW1lLmxvY2FsZUNvbXBhcmUoYi5sYXN0TmFtZSkpXG4gICAgICAgIC5tYXAodXNlciA9PiAoe3RleHQ6IHVzZXIuZnVsbE5hbWUsIGlkOiB1c2VyLmVtYWlsfSkpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgY2xlYXIoKTogdm9pZCB7XG4gICAgdGhpcy5hc3NpZ25lZEVtYWlsT25TZXJ2ZXIkLm5leHQobnVsbCk7XG4gICAgdGhpcy51c2VyRW1haWxUb0Fzc2lnbiA9IG51bGw7XG4gIH1cblxuICBwcml2YXRlIGVtaXRDaGFuZ2UoKTogdm9pZCB7XG4gICAgdGhpcy5hc3NpZ25tZW50T2ZUYXNrQ2hhbmdlZC5lbWl0KCk7XG4gIH1cblxuICBwcml2YXRlIGVuYWJsZSgpOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkJC5uZXh0KGZhbHNlKTtcbiAgfVxuXG4gIHByaXZhdGUgZGlzYWJsZSgpOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkJC5uZXh0KHRydWUpO1xuICB9XG59XG4iLCI8IS0tXG4gIH4gQ29weXJpZ2h0IDIwMTUtMjAyMCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gIH5cbiAgfiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAgfiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIH4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gIH5cbiAgfiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gIH5cbiAgfiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIH4gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICB+IFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICB+IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgfiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAgLS0+XG5cbjxuZy1jb250YWluZXJcbiAgKm5nSWY9XCJ7XG4gICAgY2FuZGlkYXRlVXNlcnM6IGNhbmRpZGF0ZVVzZXJzRm9yVGFzayQgfCBhc3luYyxcbiAgICBkaXNhYmxlZDogZGlzYWJsZWQkIHwgYXN5bmMsXG4gICAgZW1haWxPblNlcnZlcjogYXNzaWduZWRFbWFpbE9uU2VydmVyJCB8IGFzeW5jXG4gIH0gYXMgb2JzXCJcbj5cbiAgPGRpdiBjbGFzcz1cImNvbnRhaW5lci1mbHVpZFwiPlxuICAgIDxkaXYgY2xhc3M9XCJyb3cgbXQtMiBtYi0yXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIHBsLTAgZC1mbGV4IGZsZXgtcm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwib2JzLmNhbmRpZGF0ZVVzZXJzOyBlbHNlIGxvYWRpbmdcIj5cbiAgICAgICAgICA8dmFsdGltby1zZWFyY2hhYmxlLWRyb3Bkb3duLXNlbGVjdFxuICAgICAgICAgICAgW3N0eWxlXT1cIid1bmRlcmxpbmVkVGV4dCdcIlxuICAgICAgICAgICAgW2l0ZW1zXT1cIm1hcFVzZXJzRm9yRHJvcGRvd24ob2JzLmNhbmRpZGF0ZVVzZXJzKVwiXG4gICAgICAgICAgICBbYnV0dG9uVGV4dF09XCInYXNzaWduVGFzay5oZWFkZXInIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgIFtzZWFyY2hUZXh0XT1cIidpbnRlcmZhY2UudHlwZVRvU2VhcmNoJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICBbbm9SZXN1bHRzVGV4dF09XCInaW50ZXJmYWNlLm5vU2VhcmNoUmVzdWx0cycgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIm9icy5kaXNhYmxlZFwiXG4gICAgICAgICAgICBbc2VsZWN0ZWRUZXh0XT1cIidhc3NpZ25UYXNrLmFzc2lnbmVkVG8nIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgIFtzZWxlY3RlZFRleHRWYWx1ZV09XCJhc3NpZ25lZFVzZXJGdWxsTmFtZSQgfCBhc3luY1wiXG4gICAgICAgICAgICBbY2xlYXJTZWxlY3Rpb25CdXR0b25UaXRsZV09XCInYXNzaWduVGFzay5yZW1vdmUnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgIFtoYXNTZWxlY3Rpb25dPVwidXNlckVtYWlsVG9Bc3NpZ24gPT09IG9icy5lbWFpbE9uU2VydmVyICYmIG9icy5lbWFpbE9uU2VydmVyICE9PSBudWxsXCJcbiAgICAgICAgICAgIFt3aWR0aF09XCIyNTBcIlxuICAgICAgICAgICAgKGl0ZW1TZWxlY3RlZCk9XCJhc3NpZ25UYXNrKCRldmVudClcIlxuICAgICAgICAgICAgKGNsZWFyU2VsZWN0aW9uKT1cInVuYXNzaWduVGFzaygpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgPC92YWx0aW1vLXNlYXJjaGFibGUtZHJvcGRvd24tc2VsZWN0PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI2xvYWRpbmc+XG4gIDxoNT5cbiAgICA8Yj57eyAnYXNzaWduVGFzay5mZXRjaGluZ1VzZXJzJyB8IHRyYW5zbGF0ZSB9fTwvYj5cbiAgPC9oNT5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -1,21 +1,19 @@
1
1
  /*
2
+ * Copyright 2015-2020 Ritense BV, the Netherlands.
2
3
  *
3
- * * Copyright 2015-2020 Ritense BV, the Netherlands.
4
- * *
5
- * * Licensed under EUPL, Version 1.2 (the "License");
6
- * * you may not use this file except in compliance with the License.
7
- * * You may obtain a copy of the License at
8
- * *
9
- * * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
10
- * *
11
- * * Unless required by applicable law or agreed to in writing, software
12
- * * distributed under the License is distributed on an "AS IS" basis,
13
- * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * * See the License for the specific language governing permissions and
15
- * * limitations under the License.
4
+ * Licensed under EUPL, Version 1.2 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
16
7
  *
8
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" basis,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
17
15
  */
18
16
  export * from './task.model';
19
17
  export * from './task-definition.model';
20
18
  export * from './task-list.model';
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL3Rhc2svc3JjL2xpYi9tb2RlbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQkc7QUFFSCxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICpcbiAqICAqIENvcHlyaWdodCAyMDE1LTIwMjAgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICogICpcbiAqICAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKiAgKlxuICogICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICogICpcbiAqICAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqICAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqICAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vdGFzay5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL3Rhc2stZGVmaW5pdGlvbi5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL3Rhc2stbGlzdC5tb2RlbCc7XG4iXX0=
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL3Rhc2svc3JjL2xpYi9tb2RlbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyMCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3Rhc2subW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi90YXNrLWRlZmluaXRpb24ubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi90YXNrLWxpc3QubW9kZWwnO1xuIl19
@@ -55,21 +55,19 @@ class TaskList {
55
55
  }
56
56
 
57
57
  /*
58
+ * Copyright 2015-2020 Ritense BV, the Netherlands.
59
+ *
60
+ * Licensed under EUPL, Version 1.2 (the "License");
61
+ * you may not use this file except in compliance with the License.
62
+ * You may obtain a copy of the License at
58
63
  *
59
- * * Copyright 2015-2020 Ritense BV, the Netherlands.
60
- * *
61
- * * Licensed under EUPL, Version 1.2 (the "License");
62
- * * you may not use this file except in compliance with the License.
63
- * * You may obtain a copy of the License at
64
- * *
65
- * * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
66
- * *
67
- * * Unless required by applicable law or agreed to in writing, software
68
- * * distributed under the License is distributed on an "AS IS" basis,
69
- * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
70
- * * See the License for the specific language governing permissions and
71
- * * limitations under the License.
64
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
72
65
  *
66
+ * Unless required by applicable law or agreed to in writing, software
67
+ * distributed under the License is distributed on an "AS IS" basis,
68
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
69
+ * See the License for the specific language governing permissions and
70
+ * limitations under the License.
73
71
  */
74
72
 
75
73
  /*
@@ -236,10 +234,10 @@ class AssignUserToTaskComponent {
236
234
  }
237
235
  }
238
236
  AssignUserToTaskComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AssignUserToTaskComponent, deps: [{ token: TaskService }], target: i0.ɵɵFactoryTarget.Component });
239
- AssignUserToTaskComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: AssignUserToTaskComponent, selector: "valtimo-assign-user-to-task", inputs: { taskId: "taskId", assigneeEmail: "assigneeEmail" }, outputs: { assignmentOfTaskChanged: "assignmentOfTaskChanged" }, usesOnChanges: true, ngImport: i0, template: "<ng-container\n *ngIf=\"{\n candidateUsers: candidateUsersForTask$ | async,\n disabled: disabled$ | async,\n emailOnServer: assignedEmailOnServer$ | async\n } as obs\"\n>\n <div class=\"container-fluid\">\n <div class=\"row mt-2 mb-2\">\n <div class=\"col-12 pl-0 d-flex flex-row align-items-center\">\n <ng-container *ngIf=\"obs.candidateUsers; else loading\">\n <valtimo-searchable-dropdown-select\n [style]=\"'underlinedText'\"\n [items]=\"mapUsersForDropdown(obs.candidateUsers)\"\n [buttonText]=\"'assignTask.header' | translate\"\n [searchText]=\"'interface.typeToSearch' | translate\"\n [noResultsText]=\"'interface.noSearchResults' | translate\"\n [disabled]=\"obs.disabled\"\n [selectedText]=\"'assignTask.assignedTo' | translate\"\n [selectedTextValue]=\"assignedUserFullName$ | async\"\n [clearSelectionButtonTitle]=\"'assignTask.remove' | translate\"\n [hasSelection]=\"userEmailToAssign === obs.emailOnServer && obs.emailOnServer !== null\"\n [width]=\"250\"\n (itemSelected)=\"assignTask($event)\"\n (clearSelection)=\"unassignTask()\"\n >\n </valtimo-searchable-dropdown-select>\n </ng-container>\n </div>\n </div>\n </div>\n</ng-container>\n\n<ng-template #loading>\n <h5>\n <b>{{ 'assignTask.fetchingUsers' | translate }}</b>\n </h5>\n</ng-template>\n", styles: [".container-fluid{color:#959595}i{font-size:13px}\n"], components: [{ type: i6.SearchableDropdownSelectComponent, selector: "valtimo-searchable-dropdown-select", inputs: ["style", "items", "buttonText", "searchText", "noResultsText", "disabled", "selectedText", "selectedTextValue", "clearSelectionButtonTitle", "hasSelection", "width"], outputs: ["itemSelected", "clearSelection"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i3.AsyncPipe, "translate": i4.TranslatePipe } });
237
+ AssignUserToTaskComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: AssignUserToTaskComponent, selector: "valtimo-assign-user-to-task", inputs: { taskId: "taskId", assigneeEmail: "assigneeEmail" }, outputs: { assignmentOfTaskChanged: "assignmentOfTaskChanged" }, usesOnChanges: true, ngImport: i0, template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n candidateUsers: candidateUsersForTask$ | async,\n disabled: disabled$ | async,\n emailOnServer: assignedEmailOnServer$ | async\n } as obs\"\n>\n <div class=\"container-fluid\">\n <div class=\"row mt-2 mb-2\">\n <div class=\"col-12 pl-0 d-flex flex-row align-items-center\">\n <ng-container *ngIf=\"obs.candidateUsers; else loading\">\n <valtimo-searchable-dropdown-select\n [style]=\"'underlinedText'\"\n [items]=\"mapUsersForDropdown(obs.candidateUsers)\"\n [buttonText]=\"'assignTask.header' | translate\"\n [searchText]=\"'interface.typeToSearch' | translate\"\n [noResultsText]=\"'interface.noSearchResults' | translate\"\n [disabled]=\"obs.disabled\"\n [selectedText]=\"'assignTask.assignedTo' | translate\"\n [selectedTextValue]=\"assignedUserFullName$ | async\"\n [clearSelectionButtonTitle]=\"'assignTask.remove' | translate\"\n [hasSelection]=\"userEmailToAssign === obs.emailOnServer && obs.emailOnServer !== null\"\n [width]=\"250\"\n (itemSelected)=\"assignTask($event)\"\n (clearSelection)=\"unassignTask()\"\n >\n </valtimo-searchable-dropdown-select>\n </ng-container>\n </div>\n </div>\n </div>\n</ng-container>\n\n<ng-template #loading>\n <h5>\n <b>{{ 'assignTask.fetchingUsers' | translate }}</b>\n </h5>\n</ng-template>\n", styles: ["/*!\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.container-fluid{color:#959595}i{font-size:13px}\n"], components: [{ type: i6.SearchableDropdownSelectComponent, selector: "valtimo-searchable-dropdown-select", inputs: ["style", "items", "buttonText", "searchText", "noResultsText", "disabled", "selectedText", "selectedTextValue", "clearSelectionButtonTitle", "hasSelection", "width"], outputs: ["itemSelected", "clearSelection"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i3.AsyncPipe, "translate": i4.TranslatePipe } });
240
238
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AssignUserToTaskComponent, decorators: [{
241
239
  type: Component,
242
- args: [{ selector: 'valtimo-assign-user-to-task', template: "<ng-container\n *ngIf=\"{\n candidateUsers: candidateUsersForTask$ | async,\n disabled: disabled$ | async,\n emailOnServer: assignedEmailOnServer$ | async\n } as obs\"\n>\n <div class=\"container-fluid\">\n <div class=\"row mt-2 mb-2\">\n <div class=\"col-12 pl-0 d-flex flex-row align-items-center\">\n <ng-container *ngIf=\"obs.candidateUsers; else loading\">\n <valtimo-searchable-dropdown-select\n [style]=\"'underlinedText'\"\n [items]=\"mapUsersForDropdown(obs.candidateUsers)\"\n [buttonText]=\"'assignTask.header' | translate\"\n [searchText]=\"'interface.typeToSearch' | translate\"\n [noResultsText]=\"'interface.noSearchResults' | translate\"\n [disabled]=\"obs.disabled\"\n [selectedText]=\"'assignTask.assignedTo' | translate\"\n [selectedTextValue]=\"assignedUserFullName$ | async\"\n [clearSelectionButtonTitle]=\"'assignTask.remove' | translate\"\n [hasSelection]=\"userEmailToAssign === obs.emailOnServer && obs.emailOnServer !== null\"\n [width]=\"250\"\n (itemSelected)=\"assignTask($event)\"\n (clearSelection)=\"unassignTask()\"\n >\n </valtimo-searchable-dropdown-select>\n </ng-container>\n </div>\n </div>\n </div>\n</ng-container>\n\n<ng-template #loading>\n <h5>\n <b>{{ 'assignTask.fetchingUsers' | translate }}</b>\n </h5>\n</ng-template>\n", styles: [".container-fluid{color:#959595}i{font-size:13px}\n"] }]
240
+ args: [{ selector: 'valtimo-assign-user-to-task', template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n candidateUsers: candidateUsersForTask$ | async,\n disabled: disabled$ | async,\n emailOnServer: assignedEmailOnServer$ | async\n } as obs\"\n>\n <div class=\"container-fluid\">\n <div class=\"row mt-2 mb-2\">\n <div class=\"col-12 pl-0 d-flex flex-row align-items-center\">\n <ng-container *ngIf=\"obs.candidateUsers; else loading\">\n <valtimo-searchable-dropdown-select\n [style]=\"'underlinedText'\"\n [items]=\"mapUsersForDropdown(obs.candidateUsers)\"\n [buttonText]=\"'assignTask.header' | translate\"\n [searchText]=\"'interface.typeToSearch' | translate\"\n [noResultsText]=\"'interface.noSearchResults' | translate\"\n [disabled]=\"obs.disabled\"\n [selectedText]=\"'assignTask.assignedTo' | translate\"\n [selectedTextValue]=\"assignedUserFullName$ | async\"\n [clearSelectionButtonTitle]=\"'assignTask.remove' | translate\"\n [hasSelection]=\"userEmailToAssign === obs.emailOnServer && obs.emailOnServer !== null\"\n [width]=\"250\"\n (itemSelected)=\"assignTask($event)\"\n (clearSelection)=\"unassignTask()\"\n >\n </valtimo-searchable-dropdown-select>\n </ng-container>\n </div>\n </div>\n </div>\n</ng-container>\n\n<ng-template #loading>\n <h5>\n <b>{{ 'assignTask.fetchingUsers' | translate }}</b>\n </h5>\n</ng-template>\n", styles: ["/*!\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.container-fluid{color:#959595}i{font-size:13px}\n"] }]
243
241
  }], ctorParameters: function () { return [{ type: TaskService }]; }, propDecorators: { taskId: [{
244
242
  type: Input
245
243
  }], assigneeEmail: [{
@@ -1 +1 @@
1
- {"version":3,"file":"valtimo-task.mjs","sources":["../../../../projects/valtimo/task/src/lib/models/task-list.model.ts","../../../../projects/valtimo/task/src/lib/models/index.ts","../../../../projects/valtimo/task/src/lib/task.service.ts","../../../../projects/valtimo/task/src/lib/assign-user-to-task/assign-user-to-task.component.ts","../../../../projects/valtimo/task/src/lib/assign-user-to-task/assign-user-to-task.component.html","../../../../projects/valtimo/task/src/lib/task-detail-modal/task-detail-modal.component.ts","../../../../projects/valtimo/task/src/lib/task-detail-modal/task-detail-modal.component.html","../../../../projects/valtimo/task/src/lib/task-list/task-list.component.ts","../../../../projects/valtimo/task/src/lib/task-list/task-list.component.html","../../../../projects/valtimo/task/src/lib/task-routing.module.ts","../../../../projects/valtimo/task/src/lib/task.module.ts","../../../../projects/valtimo/task/src/public_api.ts","../../../../projects/valtimo/task/src/valtimo-task.ts"],"sourcesContent":["/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport class TaskList {\n public tasks = [];\n fields = [];\n pagination = {\n collectionSize: 0,\n page: 1,\n size: 10,\n maxPaginationItemSize: 5,\n };\n page = 0;\n}\n","/*\n *\n * * Copyright 2015-2020 Ritense BV, the Netherlands.\n * *\n * * Licensed under EUPL, Version 1.2 (the \"License\");\n * * you may not use this file except in compliance with the License.\n * * You may obtain a copy of the License at\n * *\n * * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n * *\n * * Unless required by applicable law or agreed to in writing, software\n * * distributed under the License is distributed on an \"AS IS\" basis,\n * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * * See the License for the specific language governing permissions and\n * * limitations under the License.\n *\n */\n\nexport * from './task.model';\nexport * from './task-definition.model';\nexport * from './task-list.model';\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {HttpClient} from '@angular/common/http';\nimport {Observable} from 'rxjs';\nimport {AssigneeRequest, Task, TaskProcessLinkResult} from './models';\nimport {ConfigService, CustomTaskList, User} from '@valtimo/config';\n\n@Injectable({providedIn: 'root'})\nexport class TaskService {\n private valtimoEndpointUri: string;\n\n constructor(private http: HttpClient, private readonly configService: ConfigService) {\n this.valtimoEndpointUri = configService.config.valtimoApi.endpointUri;\n }\n\n queryTasks(params?: any): Observable<any> {\n return this.http.get(`${this.valtimoEndpointUri}task`, {observe: 'response', params});\n }\n\n getTasks(): Observable<Task[]> {\n return this.http.get<Task[]>(`${this.valtimoEndpointUri}task?filter=all`);\n }\n\n getTask(id: string): Observable<any> {\n return this.http.get(this.valtimoEndpointUri + 'task/' + id);\n }\n\n getCandidateUsers(id: string): Observable<User[]> {\n return this.http.get<User[]>(this.valtimoEndpointUri + 'task/' + id + '/candidate-user');\n }\n\n assignTask(id: string, assigneeRequest: AssigneeRequest): Observable<any> {\n return this.http.post(this.valtimoEndpointUri + 'task/' + id + '/assign', assigneeRequest);\n }\n\n unassignTask(id: string): Observable<any> {\n return this.http.post(this.valtimoEndpointUri + 'task/' + id + '/unassign', null);\n }\n\n completeTask(id: string, variables: Map<string, any>): Observable<any> {\n return this.http.post(this.valtimoEndpointUri + 'task/' + id + '/complete', {\n variables,\n filesToDelete: [],\n });\n }\n\n getTaskProcessLink(taskId: string): Observable<TaskProcessLinkResult> {\n return this.http.get<TaskProcessLinkResult>(\n `${this.valtimoEndpointUri}process-link/task/${taskId}`\n );\n }\n\n getConfigCustomTaskList(): CustomTaskList {\n return this.configService.config.customTaskList;\n }\n}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n} from '@angular/core';\nimport {DropdownItem} from '@valtimo/components';\nimport {BehaviorSubject, combineLatest} from 'rxjs';\nimport {take, tap} from 'rxjs/operators';\nimport {TaskService} from '../task.service';\nimport {User} from '@valtimo/config';\n\n@Component({\n selector: 'valtimo-assign-user-to-task',\n templateUrl: './assign-user-to-task.component.html',\n styleUrls: ['./assign-user-to-task.component.scss'],\n})\nexport class AssignUserToTaskComponent implements OnInit, OnChanges {\n @Input() taskId: string;\n @Input() assigneeEmail: string;\n @Output() assignmentOfTaskChanged = new EventEmitter();\n\n candidateUsersForTask$ = new BehaviorSubject<User[]>(undefined);\n disabled$ = new BehaviorSubject<boolean>(true);\n assignedEmailOnServer$ = new BehaviorSubject<string>(null);\n userEmailToAssign: string = null;\n assignedUserFullName$ = new BehaviorSubject<string>(null);\n\n constructor(private taskService: TaskService) {}\n\n ngOnInit(): void {\n this.taskService.getCandidateUsers(this.taskId).subscribe(candidateUsers => {\n this.candidateUsersForTask$.next(candidateUsers);\n if (this.assigneeEmail) {\n this.assignedEmailOnServer$.next(this.assigneeEmail);\n this.userEmailToAssign = this.assigneeEmail;\n this.assignedUserFullName$.next(\n this.getAssignedUserName(candidateUsers, this.assigneeEmail)\n );\n }\n this.enable();\n });\n }\n\n ngOnChanges(changes: SimpleChanges) {\n const assigneeEmail = changes.assigneeEmail;\n if (assigneeEmail) {\n this.candidateUsersForTask$.pipe(take(1)).subscribe(candidateUsers => {\n const currentUserEmail = assigneeEmail.currentValue;\n this.assignedEmailOnServer$.next(currentUserEmail || null);\n this.userEmailToAssign = currentUserEmail || null;\n this.assignedUserFullName$.next(this.getAssignedUserName(candidateUsers, currentUserEmail));\n });\n } else {\n this.clear();\n }\n }\n\n assignTask(userEmail: string): void {\n this.disable();\n combineLatest([\n this.candidateUsersForTask$,\n this.taskService.assignTask(this.taskId, {assignee: userEmail}),\n ])\n .pipe(\n take(1),\n tap(([candidateUsers]) => {\n this.userEmailToAssign = userEmail;\n this.assignedEmailOnServer$.next(userEmail);\n this.assignedUserFullName$.next(this.getAssignedUserName(candidateUsers, userEmail));\n this.emitChange();\n this.enable();\n })\n )\n .subscribe();\n }\n\n unassignTask(): void {\n this.disable();\n this.taskService\n .unassignTask(this.taskId)\n .pipe(\n tap(() => {\n this.clear();\n this.emitChange();\n this.enable();\n })\n )\n .subscribe();\n }\n\n getAssignedUserName(users: User[], userEmail: string): string {\n if (users && userEmail) {\n const findUser = users.find(user => user.email === userEmail);\n return findUser ? findUser.fullName : '';\n }\n return '';\n }\n\n mapUsersForDropdown(users: User[]): DropdownItem[] {\n return (\n users &&\n users\n .map(user => ({...user, lastName: user.lastName?.split(' ').splice(-1)[0] || ''}))\n .sort((a, b) => a.lastName.localeCompare(b.lastName))\n .map(user => ({text: user.fullName, id: user.email}))\n );\n }\n\n private clear(): void {\n this.assignedEmailOnServer$.next(null);\n this.userEmailToAssign = null;\n }\n\n private emitChange(): void {\n this.assignmentOfTaskChanged.emit();\n }\n\n private enable(): void {\n this.disabled$.next(false);\n }\n\n private disable(): void {\n this.disabled$.next(true);\n }\n}\n","<ng-container\n *ngIf=\"{\n candidateUsers: candidateUsersForTask$ | async,\n disabled: disabled$ | async,\n emailOnServer: assignedEmailOnServer$ | async\n } as obs\"\n>\n <div class=\"container-fluid\">\n <div class=\"row mt-2 mb-2\">\n <div class=\"col-12 pl-0 d-flex flex-row align-items-center\">\n <ng-container *ngIf=\"obs.candidateUsers; else loading\">\n <valtimo-searchable-dropdown-select\n [style]=\"'underlinedText'\"\n [items]=\"mapUsersForDropdown(obs.candidateUsers)\"\n [buttonText]=\"'assignTask.header' | translate\"\n [searchText]=\"'interface.typeToSearch' | translate\"\n [noResultsText]=\"'interface.noSearchResults' | translate\"\n [disabled]=\"obs.disabled\"\n [selectedText]=\"'assignTask.assignedTo' | translate\"\n [selectedTextValue]=\"assignedUserFullName$ | async\"\n [clearSelectionButtonTitle]=\"'assignTask.remove' | translate\"\n [hasSelection]=\"userEmailToAssign === obs.emailOnServer && obs.emailOnServer !== null\"\n [width]=\"250\"\n (itemSelected)=\"assignTask($event)\"\n (clearSelection)=\"unassignTask()\"\n >\n </valtimo-searchable-dropdown-select>\n </ng-container>\n </div>\n </div>\n </div>\n</ng-container>\n\n<ng-template #loading>\n <h5>\n <b>{{ 'assignTask.fetchingUsers' | translate }}</b>\n </h5>\n</ng-template>\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Output, ViewChild, ViewEncapsulation} from '@angular/core';\nimport {ActivatedRoute, Router} from '@angular/router';\nimport {FormioComponent, FormioOptionsImpl, FormioSubmission, ModalComponent, ValtimoFormioOptions} from '@valtimo/components';\nimport {Task, TaskProcessLinkType} from '../models';\nimport {\n FormAssociation,\n FormFlowInstance,\n FormFlowService,\n FormFlowStepType,\n FormLinkService,\n FormSubmissionResult\n} from '@valtimo/form-link';\nimport {FormioForm} from '@formio/angular';\nimport moment from 'moment';\nimport {NGXLogger} from 'ngx-logger';\nimport {ToastrService} from 'ngx-toastr';\nimport {map, take} from 'rxjs/operators';\nimport {TaskService} from '../task.service';\nimport {BehaviorSubject} from 'rxjs';\n\nmoment.locale(localStorage.getItem('langKey') || '');\n\n@Component({\n selector: 'valtimo-task-detail-modal',\n templateUrl: './task-detail-modal.component.html',\n styleUrls: ['./task-detail-modal.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class TaskDetailModalComponent {\n @ViewChild('form') form: FormioComponent;\n @ViewChild('taskDetailModal') modal: ModalComponent;\n @Output() formSubmit = new EventEmitter();\n @Output() assignmentOfTaskChanged = new EventEmitter();\n\n public task: Task | null = null;\n public formDefinition: FormioForm;\n public formFlowInstanceId: string;\n public formFlowStepInstanceId?: string;\n public page: any = null;\n public formioOptions: ValtimoFormioOptions;\n public errorMessage: string = null;\n\n private formAssociation: FormAssociation;\n private taskProcessLinkType$ = new BehaviorSubject<TaskProcessLinkType | null>(null);\n\n processLinkIsForm$ = this.taskProcessLinkType$.pipe(map(type => type === 'form'));\n processLinkIsFormFlow$ = this.taskProcessLinkType$.pipe(map(type => type === 'form-flow'));\n\n private formFlowStepType$ = new BehaviorSubject<FormFlowStepType | null>(null);\n formFlowStepTypeIsForm$ = this.formFlowStepType$.pipe(map( type => type === 'form'));\n\n constructor(\n private readonly toastr: ToastrService,\n private readonly formLinkService: FormLinkService,\n private readonly formFlowService: FormFlowService,\n private readonly router: Router,\n private readonly logger: NGXLogger,\n private readonly route: ActivatedRoute,\n private readonly taskService: TaskService\n ) {\n this.formioOptions = new FormioOptionsImpl();\n this.formioOptions.disableAlerts = true;\n }\n\n openTaskDetails(task: Task) {\n this.resetTaskProcessLinkType();\n this.resetFormDefinition();\n this.getTaskProcessLink(task.id);\n\n this.task = task;\n this.page = {\n title: task.name,\n subtitle: `Created ${task.created}`,\n };\n\n this.formLinkService\n .getPreFilledFormDefinitionByFormLinkId(\n task.processDefinitionKey,\n task.businessKey,\n task.taskDefinitionKey,\n task.id // taskInstanceId\n )\n .subscribe(\n formDefinition => {\n this.formAssociation = formDefinition.formAssociation;\n\n const className = this.formAssociation.formLink.className.split('.');\n const linkType = className[className.length - 1];\n\n switch (linkType) {\n case 'BpmnElementFormIdLink':\n this.setFormDefinitionAndOpenModal(formDefinition);\n break;\n case 'BpmnElementFormFlowIdLink':\n // We can't use the formDefinition here because the form definition is provided per form flow step\n // I'm still leaving this in here in case we want to add form flow specific code.\n break;\n case 'BpmnElementUrlLink':\n this.openUrlLink(formDefinition);\n break;\n case 'BpmnElementAngularStateUrlLink':\n this.openAngularStateUrlLink(task, formDefinition);\n break;\n default:\n this.logger.fatal('Unsupported class name');\n }\n },\n errors => {\n if (errors?.error?.detail) {\n this.errorMessage = errors.error.detail;\n }\n\n this.modal.show();\n }\n );\n }\n\n public gotoFormLinkScreen(): void {\n this.modal.hide();\n this.router.navigate(['form-links']);\n }\n\n public onSubmit(submission: FormioSubmission): void {\n if (this.taskProcessLinkType$.getValue() === 'form') {\n this.formLinkService\n .onSubmit(\n this.task.processDefinitionKey,\n this.formAssociation.formLink.id,\n submission.data,\n this.task.businessKey,\n this.task.id\n )\n .subscribe(\n (_: FormSubmissionResult) => {\n this.completeTask();\n },\n errors => {\n this.form.showErrors(errors);\n }\n );\n }\n\n if (this.taskProcessLinkType$.getValue() === 'form-flow') {\n if (submission.data.submit) {\n this.formFlowService.submitStep(this.formFlowInstanceId, this.formFlowStepInstanceId, submission.data).subscribe(\n (result: FormFlowInstance) => this.handleFormFlowStep(result),\n errors => this.form.showErrors(errors)\n );\n } else if (submission.data['back']) {\n this.formFlowService.back(this.formFlowInstanceId).subscribe(\n (result: FormFlowInstance) => this.handleFormFlowStep(result),\n errors => this.form.showErrors(errors)\n );\n }\n }\n }\n\n private resetFormDefinition(): void {\n this.formDefinition = null;\n }\n\n private getTaskProcessLink(taskId: string): void {\n this.taskService.getTaskProcessLink(taskId).subscribe(res => {\n switch (res?.type) {\n case 'form':\n this.taskProcessLinkType$.next('form');\n break;\n case 'form-flow':\n this.taskProcessLinkType$.next('form-flow');\n this.getFormFlowStep(res?.properties.formFlowInstanceId)\n break;\n }\n });\n }\n\n private getFormFlowStep(formFlowInstanceId: string): void {\n this.formFlowService.getFormFlowStep(formFlowInstanceId).subscribe(\n (result: FormFlowInstance) => {\n this.handleFormFlowStep(result)\n }\n );\n }\n\n private handleFormFlowStep(formFlowInstance: FormFlowInstance) {\n if (formFlowInstance.step === null) {\n this.formFlowStepType$.next(null);\n this.formFlowInstanceId = null;\n this.formFlowStepInstanceId = null;\n this.completeTask()\n } else {\n this.formFlowStepType$.next(formFlowInstance.step.type);\n this.formFlowInstanceId = formFlowInstance.id;\n this.formFlowStepInstanceId = formFlowInstance.step.id;\n this.setFormDefinitionAndOpenModal(formFlowInstance.step.typeProperties.definition);\n }\n }\n\n private completeTask() {\n this.toastr.success(this.task.name + ' has successfully been completed');\n this.modal.hide();\n this.task = null;\n this.formSubmit.emit();\n }\n\n private resetTaskProcessLinkType(): void {\n this.taskProcessLinkType$.next(null);\n }\n\n private setFormDefinitionAndOpenModal(formDefinition: any): void {\n this.formDefinition = formDefinition;\n this.modal.show();\n }\n\n private openUrlLink(formDefinition: any): void {\n const url = this.router.serializeUrl(\n this.router.createUrlTree([formDefinition.formAssociation.formLink.url])\n );\n\n window.open(url, '_blank');\n }\n\n private openAngularStateUrlLink(task: Task, formDefinition: any): void {\n this.route.params.pipe(take(1)).subscribe(params => {\n const taskId = task?.id;\n const documentId = params?.documentId;\n\n this.router.navigate([formDefinition.formAssociation.formLink.url], {\n state: {\n ...(taskId && {taskId}),\n ...(documentId && {documentId}),\n },\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-modal\n #taskDetailModal\n elementId=\"taskDetailModal\"\n [title]=\"page?.title\"\n [subtitle]=\"page?.subtitle\"\n [templateBelowSubtitle]=\"assignUserToTask\"\n>\n <div body *ngIf=\"formDefinition && ((processLinkIsForm$ | async) || (formFlowStepTypeIsForm$ | async))\">\n <valtimo-form-io\n #form\n [form]=\"formDefinition\"\n (submit)=\"onSubmit($event)\"\n [options]=\"formioOptions\"\n ></valtimo-form-io>\n </div>\n <div body *ngIf=\"!formDefinition && !errorMessage\">\n <div\n class=\"bg-warning text-black mb-0 p-3 text-center\"\n [translate]=\"'formManagement.noFormDefinitionFound'\"\n ></div>\n </div>\n <div body *ngIf=\"errorMessage\">\n <div class=\"bg-danger text-black mb-0 p-3 text-center\">\n {{ errorMessage }}\n </div>\n </div>\n <div footer>\n <div class=\"mb-0 p-3 text-center\" *ngIf=\"!formDefinition\">\n <button\n class=\"btn btn-secondary btn-space\"\n type=\"button\"\n (click)=\"gotoFormLinkScreen()\"\n id=\"form-link-button\"\n >\n {{ 'formManagement.gotoFormLinksButton' | translate }}\n </button>\n </div>\n </div>\n</valtimo-modal>\n\n<ng-template #assignUserToTask>\n <valtimo-assign-user-to-task\n *ngIf=\"task && assignmentOfTaskChanged\"\n [taskId]=\"task.id\"\n [assigneeEmail]=\"task.assignee\"\n (assignmentOfTaskChanged)=\"assignmentOfTaskChanged.emit()\"\n ></valtimo-assign-user-to-task>\n</ng-template>\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, OnDestroy, ViewChild, ViewEncapsulation} from '@angular/core';\nimport {Router} from '@angular/router';\nimport {TaskService} from '../task.service';\nimport moment from 'moment';\nimport {Task, TaskList} from '../models';\nimport {NGXLogger} from 'ngx-logger';\nimport {TaskDetailModalComponent} from '../task-detail-modal/task-detail-modal.component';\nimport {TranslateService} from '@ngx-translate/core';\nimport {combineLatest, Subscription} from 'rxjs';\nimport {SortState} from '@valtimo/config';\n\nmoment.locale(localStorage.getItem('langKey') || '');\n\n@Component({\n selector: 'valtimo-task-list',\n templateUrl: './task-list.component.html',\n styleUrls: ['./task-list.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class TaskListComponent implements OnDestroy {\n @ViewChild('taskDetail') taskDetail: TaskDetailModalComponent;\n public tasks = {\n mine: new TaskList(),\n open: new TaskList(),\n all: new TaskList(),\n };\n public currentTaskType = 'mine';\n public listTitle: string | null = null;\n public listDescription: string | null = null;\n public sortState: SortState | null = null;\n private translationSubscription: Subscription;\n\n public paginationClicked(page: number, type: string) {\n this.tasks[type].page = page - 1;\n this.getTasks(type);\n }\n\n constructor(\n private taskService: TaskService,\n private router: Router,\n private logger: NGXLogger,\n private translateService: TranslateService\n ) {\n this.setDefaultSorting();\n }\n\n paginationSet() {\n this.tasks.mine.pagination.size =\n this.tasks.all.pagination.size =\n this.tasks.open.pagination.size =\n this.tasks[this.currentTaskType].pagination.size;\n this.getTasks(this.currentTaskType);\n }\n\n private clearPagination(type: string) {\n this.tasks[type].page = 0;\n }\n\n tabChange(tab) {\n this.clearPagination(this.currentTaskType);\n\n switch (tab.nextId) {\n case 1:\n this.getTasks('mine');\n break;\n case 2:\n this.getTasks('open');\n break;\n case 3:\n this.getTasks('all');\n break;\n default:\n this.logger.fatal('Unreachable case');\n }\n }\n\n showTask(task) {\n this.router.navigate(['tasks', task.id]);\n }\n\n getTasks(type: string) {\n let params: any;\n\n this.translationSubscription = combineLatest([\n this.translateService.stream(`task-list.${type}.title`),\n this.translateService.stream(`task-list.${type}.description`),\n ]).subscribe(([title, description]) => {\n this.listTitle = title;\n this.listDescription = description;\n });\n\n switch (type) {\n case 'mine':\n params = {\n page: this.tasks.mine.page,\n size: this.tasks.mine.pagination.size,\n filter: 'mine',\n };\n this.currentTaskType = 'mine';\n break;\n case 'open':\n params = {\n page: this.tasks.open.page,\n size: this.tasks.open.pagination.size,\n filter: 'open',\n };\n this.currentTaskType = 'open';\n break;\n case 'all':\n params = {page: this.tasks.all.page, size: this.tasks.open.pagination.size, filter: 'all'};\n this.currentTaskType = 'all';\n break;\n default:\n this.logger.fatal('Unreachable case');\n }\n\n if (this.sortState) {\n params.sort = this.getSortString(this.sortState);\n }\n\n this.taskService.queryTasks(params).subscribe((results: any) => {\n this.tasks[type].pagination.collectionSize = results.headers.get('x-total-count');\n this.tasks[type].tasks = results.body as Array<Task>;\n this.tasks[type].tasks.map((task: Task) => {\n task.created = moment(task.created).format('DD MMM YYYY HH:mm');\n if (task.due) {\n task.due = moment(task.due).format('DD MMM YYYY HH:mm');\n }\n });\n if (this.taskService.getConfigCustomTaskList()) {\n this.customTaskListFields(type);\n } else {\n this.defaultTaskListFields(type);\n }\n });\n }\n\n public defaultTaskListFields(type) {\n this.translationSubscription = combineLatest([\n this.translateService.stream(`task-list.fieldLabels.created`),\n this.translateService.stream(`task-list.fieldLabels.name`),\n this.translateService.stream(`task-list.fieldLabels.valtimoAssignee.fullName`),\n this.translateService.stream(`task-list.fieldLabels.due`),\n ]).subscribe(([created, name, assignee, due]) => {\n this.tasks[type].fields = [\n {\n key: 'created',\n label: created,\n },\n {\n key: 'name',\n label: name,\n },\n {\n key: 'valtimoAssignee.fullName',\n label: assignee,\n },\n {\n key: 'due',\n label: due,\n },\n ];\n });\n }\n\n public customTaskListFields(type) {\n const customTaskListFields = this.taskService.getConfigCustomTaskList().fields;\n\n this.translationSubscription = combineLatest(\n customTaskListFields.map(column =>\n this.translateService.stream(`task-list.fieldLabels.${column.translationKey}`)\n )\n ).subscribe(labels => {\n this.tasks[type].fields = customTaskListFields.map((column, index) => ({\n key: column.propertyName,\n label: labels[index],\n sortable: column.sortable,\n ...(column.viewType && {viewType: column.viewType}),\n }));\n });\n }\n\n public rowOpenTaskClick(task) {\n if (!task.endTime) {\n this.taskDetail.openTaskDetails(task);\n } else {\n return false;\n }\n }\n\n setDefaultSorting() {\n this.sortState = this.taskService.getConfigCustomTaskList()?.defaultSortedColumn || null;\n }\n\n public sortChanged(sortState: SortState) {\n this.sortState = sortState;\n this.getTasks(this.currentTaskType);\n }\n\n getSortString(sort: SortState): string {\n return `${sort.state.name},${sort.state.direction}`;\n }\n\n ngOnDestroy(): void {\n this.translationSubscription.unsubscribe();\n }\n}\n","<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"main-content\">\n <div class=\"container-fluid\">\n <valtimo-widget>\n <valtimo-list\n [items]=\"tasks[currentTaskType].tasks\"\n [fields]=\"tasks[currentTaskType].fields\"\n [pagination]=\"tasks[currentTaskType].pagination\"\n [viewMode]=\"true\"\n (paginationClicked)=\"paginationClicked($event, currentTaskType)\"\n (paginationSet)=\"paginationSet()\"\n paginationIdentifier=\"taskList\"\n [isSearchable]=\"true\"\n [header]=\"true\"\n (rowClicked)=\"rowOpenTaskClick($event)\"\n (sortChanged)=\"sortChanged($event)\"\n >\n <div header>\n <h3 class=\"list-header-title\">{{ listTitle }}</h3>\n <h5 class=\"list-header-description\">{{ listDescription }}</h5>\n </div>\n <div tabs>\n <ul ngbNav [destroyOnHide]=\"false\" (navChange)=\"tabChange($event)\" class=\"nav-tabs\">\n <li [ngbNavItem]=\"1\" [title]=\"'task-list.mine.title' | translate\">\n <a ngbNavLink>{{ 'task-list.mine.title' | translate }}</a>\n </li>\n <li [ngbNavItem]=\"2\" [title]=\"'task-list.open.title' | translate\">\n <a ngbNavLink>{{ 'task-list.open.title' | translate }}</a>\n </li>\n <li [ngbNavItem]=\"3\" [title]=\"'task-list.all.title' | translate\">\n <a ngbNavLink>{{ 'task-list.all.title' | translate }}</a>\n </li>\n </ul>\n </div>\n </valtimo-list>\n </valtimo-widget>\n <valtimo-task-detail-modal\n #taskDetail\n (formSubmit)=\"getTasks(currentTaskType)\"\n (assignmentOfTaskChanged)=\"getTasks(currentTaskType)\"\n ></valtimo-task-detail-modal>\n </div>\n</div>\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {RouterModule, Routes} from '@angular/router';\nimport {CommonModule} from '@angular/common';\nimport {AuthGuardService} from '@valtimo/security';\nimport {TaskListComponent} from './task-list/task-list.component';\nimport {ROLE_USER} from '@valtimo/config';\n\nconst routes: Routes = [\n {\n path: 'tasks',\n component: TaskListComponent,\n canActivate: [AuthGuardService],\n data: {title: 'Tasks', roles: [ROLE_USER]},\n },\n];\n\n@NgModule({\n declarations: [],\n imports: [CommonModule, RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class TaskRoutingModule {}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {CommonModule} from '@angular/common';\nimport {HttpClient} from '@angular/common/http';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {BrowserAnimationsModule} from '@angular/platform-browser/animations';\nimport {NgbModule} from '@ng-bootstrap/ng-bootstrap';\nimport {TranslateLoader, TranslateModule} from '@ngx-translate/core';\nimport {\n CamundaFormModule,\n FormIoModule,\n ListModule,\n ModalModule,\n PageHeaderModule,\n SpinnerModule,\n WidgetModule,\n SearchableDropdownSelectModule,\n} from '@valtimo/components';\nimport {HttpLoaderFactory} from '@valtimo/config';\nimport {ToastrModule} from 'ngx-toastr';\nimport {TaskDetailModalComponent} from './task-detail-modal/task-detail-modal.component';\nimport {TaskListComponent} from './task-list/task-list.component';\nimport {TaskRoutingModule} from './task-routing.module';\nimport {AssignUserToTaskComponent} from './assign-user-to-task/assign-user-to-task.component';\n\n@NgModule({\n declarations: [TaskListComponent, TaskDetailModalComponent, AssignUserToTaskComponent],\n imports: [\n CommonModule,\n TaskRoutingModule,\n ListModule,\n PageHeaderModule,\n WidgetModule,\n SpinnerModule,\n SearchableDropdownSelectModule,\n CamundaFormModule,\n BrowserAnimationsModule,\n FormsModule,\n ToastrModule.forRoot({\n positionClass: 'toast-bottom-full-width',\n preventDuplicates: true,\n }),\n TranslateModule.forRoot({\n loader: {\n provide: TranslateLoader,\n useFactory: HttpLoaderFactory,\n deps: [HttpClient],\n },\n }),\n NgbModule,\n FormIoModule,\n ModalModule,\n ],\n exports: [TaskListComponent, TaskDetailModalComponent, AssignUserToTaskComponent],\n})\nexport class TaskModule {}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*\n * Public API Surface of task\n */\n\nexport * from './lib/models';\nexport * from './lib/task.service';\nexport * from './lib/task.module';\nexport * from './lib/task-detail-modal/task-detail-modal.component';\nexport * from './lib/task-list/task-list.component';\nexport * from './lib/assign-user-to-task/assign-user-to-task.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.TaskService","i2","i1","i3","i4","i5.TaskService","i7.AssignUserToTaskComponent","i8","i9","i5","i6.TaskDetailModalComponent"],"mappings":"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"}
1
+ {"version":3,"file":"valtimo-task.mjs","sources":["../../../../projects/valtimo/task/src/lib/models/task-list.model.ts","../../../../projects/valtimo/task/src/lib/models/index.ts","../../../../projects/valtimo/task/src/lib/task.service.ts","../../../../projects/valtimo/task/src/lib/assign-user-to-task/assign-user-to-task.component.ts","../../../../projects/valtimo/task/src/lib/assign-user-to-task/assign-user-to-task.component.html","../../../../projects/valtimo/task/src/lib/task-detail-modal/task-detail-modal.component.ts","../../../../projects/valtimo/task/src/lib/task-detail-modal/task-detail-modal.component.html","../../../../projects/valtimo/task/src/lib/task-list/task-list.component.ts","../../../../projects/valtimo/task/src/lib/task-list/task-list.component.html","../../../../projects/valtimo/task/src/lib/task-routing.module.ts","../../../../projects/valtimo/task/src/lib/task.module.ts","../../../../projects/valtimo/task/src/public_api.ts","../../../../projects/valtimo/task/src/valtimo-task.ts"],"sourcesContent":["/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport class TaskList {\n public tasks = [];\n fields = [];\n pagination = {\n collectionSize: 0,\n page: 1,\n size: 10,\n maxPaginationItemSize: 5,\n };\n page = 0;\n}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './task.model';\nexport * from './task-definition.model';\nexport * from './task-list.model';\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {HttpClient} from '@angular/common/http';\nimport {Observable} from 'rxjs';\nimport {AssigneeRequest, Task, TaskProcessLinkResult} from './models';\nimport {ConfigService, CustomTaskList, User} from '@valtimo/config';\n\n@Injectable({providedIn: 'root'})\nexport class TaskService {\n private valtimoEndpointUri: string;\n\n constructor(private http: HttpClient, private readonly configService: ConfigService) {\n this.valtimoEndpointUri = configService.config.valtimoApi.endpointUri;\n }\n\n queryTasks(params?: any): Observable<any> {\n return this.http.get(`${this.valtimoEndpointUri}task`, {observe: 'response', params});\n }\n\n getTasks(): Observable<Task[]> {\n return this.http.get<Task[]>(`${this.valtimoEndpointUri}task?filter=all`);\n }\n\n getTask(id: string): Observable<any> {\n return this.http.get(this.valtimoEndpointUri + 'task/' + id);\n }\n\n getCandidateUsers(id: string): Observable<User[]> {\n return this.http.get<User[]>(this.valtimoEndpointUri + 'task/' + id + '/candidate-user');\n }\n\n assignTask(id: string, assigneeRequest: AssigneeRequest): Observable<any> {\n return this.http.post(this.valtimoEndpointUri + 'task/' + id + '/assign', assigneeRequest);\n }\n\n unassignTask(id: string): Observable<any> {\n return this.http.post(this.valtimoEndpointUri + 'task/' + id + '/unassign', null);\n }\n\n completeTask(id: string, variables: Map<string, any>): Observable<any> {\n return this.http.post(this.valtimoEndpointUri + 'task/' + id + '/complete', {\n variables,\n filesToDelete: [],\n });\n }\n\n getTaskProcessLink(taskId: string): Observable<TaskProcessLinkResult> {\n return this.http.get<TaskProcessLinkResult>(\n `${this.valtimoEndpointUri}process-link/task/${taskId}`\n );\n }\n\n getConfigCustomTaskList(): CustomTaskList {\n return this.configService.config.customTaskList;\n }\n}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n} from '@angular/core';\nimport {DropdownItem} from '@valtimo/components';\nimport {BehaviorSubject, combineLatest} from 'rxjs';\nimport {take, tap} from 'rxjs/operators';\nimport {TaskService} from '../task.service';\nimport {User} from '@valtimo/config';\n\n@Component({\n selector: 'valtimo-assign-user-to-task',\n templateUrl: './assign-user-to-task.component.html',\n styleUrls: ['./assign-user-to-task.component.scss'],\n})\nexport class AssignUserToTaskComponent implements OnInit, OnChanges {\n @Input() taskId: string;\n @Input() assigneeEmail: string;\n @Output() assignmentOfTaskChanged = new EventEmitter();\n\n candidateUsersForTask$ = new BehaviorSubject<User[]>(undefined);\n disabled$ = new BehaviorSubject<boolean>(true);\n assignedEmailOnServer$ = new BehaviorSubject<string>(null);\n userEmailToAssign: string = null;\n assignedUserFullName$ = new BehaviorSubject<string>(null);\n\n constructor(private taskService: TaskService) {}\n\n ngOnInit(): void {\n this.taskService.getCandidateUsers(this.taskId).subscribe(candidateUsers => {\n this.candidateUsersForTask$.next(candidateUsers);\n if (this.assigneeEmail) {\n this.assignedEmailOnServer$.next(this.assigneeEmail);\n this.userEmailToAssign = this.assigneeEmail;\n this.assignedUserFullName$.next(\n this.getAssignedUserName(candidateUsers, this.assigneeEmail)\n );\n }\n this.enable();\n });\n }\n\n ngOnChanges(changes: SimpleChanges) {\n const assigneeEmail = changes.assigneeEmail;\n if (assigneeEmail) {\n this.candidateUsersForTask$.pipe(take(1)).subscribe(candidateUsers => {\n const currentUserEmail = assigneeEmail.currentValue;\n this.assignedEmailOnServer$.next(currentUserEmail || null);\n this.userEmailToAssign = currentUserEmail || null;\n this.assignedUserFullName$.next(this.getAssignedUserName(candidateUsers, currentUserEmail));\n });\n } else {\n this.clear();\n }\n }\n\n assignTask(userEmail: string): void {\n this.disable();\n combineLatest([\n this.candidateUsersForTask$,\n this.taskService.assignTask(this.taskId, {assignee: userEmail}),\n ])\n .pipe(\n take(1),\n tap(([candidateUsers]) => {\n this.userEmailToAssign = userEmail;\n this.assignedEmailOnServer$.next(userEmail);\n this.assignedUserFullName$.next(this.getAssignedUserName(candidateUsers, userEmail));\n this.emitChange();\n this.enable();\n })\n )\n .subscribe();\n }\n\n unassignTask(): void {\n this.disable();\n this.taskService\n .unassignTask(this.taskId)\n .pipe(\n tap(() => {\n this.clear();\n this.emitChange();\n this.enable();\n })\n )\n .subscribe();\n }\n\n getAssignedUserName(users: User[], userEmail: string): string {\n if (users && userEmail) {\n const findUser = users.find(user => user.email === userEmail);\n return findUser ? findUser.fullName : '';\n }\n return '';\n }\n\n mapUsersForDropdown(users: User[]): DropdownItem[] {\n return (\n users &&\n users\n .map(user => ({...user, lastName: user.lastName?.split(' ').splice(-1)[0] || ''}))\n .sort((a, b) => a.lastName.localeCompare(b.lastName))\n .map(user => ({text: user.fullName, id: user.email}))\n );\n }\n\n private clear(): void {\n this.assignedEmailOnServer$.next(null);\n this.userEmailToAssign = null;\n }\n\n private emitChange(): void {\n this.assignmentOfTaskChanged.emit();\n }\n\n private enable(): void {\n this.disabled$.next(false);\n }\n\n private disable(): void {\n this.disabled$.next(true);\n }\n}\n","<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n candidateUsers: candidateUsersForTask$ | async,\n disabled: disabled$ | async,\n emailOnServer: assignedEmailOnServer$ | async\n } as obs\"\n>\n <div class=\"container-fluid\">\n <div class=\"row mt-2 mb-2\">\n <div class=\"col-12 pl-0 d-flex flex-row align-items-center\">\n <ng-container *ngIf=\"obs.candidateUsers; else loading\">\n <valtimo-searchable-dropdown-select\n [style]=\"'underlinedText'\"\n [items]=\"mapUsersForDropdown(obs.candidateUsers)\"\n [buttonText]=\"'assignTask.header' | translate\"\n [searchText]=\"'interface.typeToSearch' | translate\"\n [noResultsText]=\"'interface.noSearchResults' | translate\"\n [disabled]=\"obs.disabled\"\n [selectedText]=\"'assignTask.assignedTo' | translate\"\n [selectedTextValue]=\"assignedUserFullName$ | async\"\n [clearSelectionButtonTitle]=\"'assignTask.remove' | translate\"\n [hasSelection]=\"userEmailToAssign === obs.emailOnServer && obs.emailOnServer !== null\"\n [width]=\"250\"\n (itemSelected)=\"assignTask($event)\"\n (clearSelection)=\"unassignTask()\"\n >\n </valtimo-searchable-dropdown-select>\n </ng-container>\n </div>\n </div>\n </div>\n</ng-container>\n\n<ng-template #loading>\n <h5>\n <b>{{ 'assignTask.fetchingUsers' | translate }}</b>\n </h5>\n</ng-template>\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Output, ViewChild, ViewEncapsulation} from '@angular/core';\nimport {ActivatedRoute, Router} from '@angular/router';\nimport {FormioComponent, FormioOptionsImpl, FormioSubmission, ModalComponent, ValtimoFormioOptions} from '@valtimo/components';\nimport {Task, TaskProcessLinkType} from '../models';\nimport {\n FormAssociation,\n FormFlowInstance,\n FormFlowService,\n FormFlowStepType,\n FormLinkService,\n FormSubmissionResult\n} from '@valtimo/form-link';\nimport {FormioForm} from '@formio/angular';\nimport moment from 'moment';\nimport {NGXLogger} from 'ngx-logger';\nimport {ToastrService} from 'ngx-toastr';\nimport {map, take} from 'rxjs/operators';\nimport {TaskService} from '../task.service';\nimport {BehaviorSubject} from 'rxjs';\n\nmoment.locale(localStorage.getItem('langKey') || '');\n\n@Component({\n selector: 'valtimo-task-detail-modal',\n templateUrl: './task-detail-modal.component.html',\n styleUrls: ['./task-detail-modal.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class TaskDetailModalComponent {\n @ViewChild('form') form: FormioComponent;\n @ViewChild('taskDetailModal') modal: ModalComponent;\n @Output() formSubmit = new EventEmitter();\n @Output() assignmentOfTaskChanged = new EventEmitter();\n\n public task: Task | null = null;\n public formDefinition: FormioForm;\n public formFlowInstanceId: string;\n public formFlowStepInstanceId?: string;\n public page: any = null;\n public formioOptions: ValtimoFormioOptions;\n public errorMessage: string = null;\n\n private formAssociation: FormAssociation;\n private taskProcessLinkType$ = new BehaviorSubject<TaskProcessLinkType | null>(null);\n\n processLinkIsForm$ = this.taskProcessLinkType$.pipe(map(type => type === 'form'));\n processLinkIsFormFlow$ = this.taskProcessLinkType$.pipe(map(type => type === 'form-flow'));\n\n private formFlowStepType$ = new BehaviorSubject<FormFlowStepType | null>(null);\n formFlowStepTypeIsForm$ = this.formFlowStepType$.pipe(map( type => type === 'form'));\n\n constructor(\n private readonly toastr: ToastrService,\n private readonly formLinkService: FormLinkService,\n private readonly formFlowService: FormFlowService,\n private readonly router: Router,\n private readonly logger: NGXLogger,\n private readonly route: ActivatedRoute,\n private readonly taskService: TaskService\n ) {\n this.formioOptions = new FormioOptionsImpl();\n this.formioOptions.disableAlerts = true;\n }\n\n openTaskDetails(task: Task) {\n this.resetTaskProcessLinkType();\n this.resetFormDefinition();\n this.getTaskProcessLink(task.id);\n\n this.task = task;\n this.page = {\n title: task.name,\n subtitle: `Created ${task.created}`,\n };\n\n this.formLinkService\n .getPreFilledFormDefinitionByFormLinkId(\n task.processDefinitionKey,\n task.businessKey,\n task.taskDefinitionKey,\n task.id // taskInstanceId\n )\n .subscribe(\n formDefinition => {\n this.formAssociation = formDefinition.formAssociation;\n\n const className = this.formAssociation.formLink.className.split('.');\n const linkType = className[className.length - 1];\n\n switch (linkType) {\n case 'BpmnElementFormIdLink':\n this.setFormDefinitionAndOpenModal(formDefinition);\n break;\n case 'BpmnElementFormFlowIdLink':\n // We can't use the formDefinition here because the form definition is provided per form flow step\n // I'm still leaving this in here in case we want to add form flow specific code.\n break;\n case 'BpmnElementUrlLink':\n this.openUrlLink(formDefinition);\n break;\n case 'BpmnElementAngularStateUrlLink':\n this.openAngularStateUrlLink(task, formDefinition);\n break;\n default:\n this.logger.fatal('Unsupported class name');\n }\n },\n errors => {\n if (errors?.error?.detail) {\n this.errorMessage = errors.error.detail;\n }\n\n this.modal.show();\n }\n );\n }\n\n public gotoFormLinkScreen(): void {\n this.modal.hide();\n this.router.navigate(['form-links']);\n }\n\n public onSubmit(submission: FormioSubmission): void {\n if (this.taskProcessLinkType$.getValue() === 'form') {\n this.formLinkService\n .onSubmit(\n this.task.processDefinitionKey,\n this.formAssociation.formLink.id,\n submission.data,\n this.task.businessKey,\n this.task.id\n )\n .subscribe(\n (_: FormSubmissionResult) => {\n this.completeTask();\n },\n errors => {\n this.form.showErrors(errors);\n }\n );\n }\n\n if (this.taskProcessLinkType$.getValue() === 'form-flow') {\n if (submission.data.submit) {\n this.formFlowService.submitStep(this.formFlowInstanceId, this.formFlowStepInstanceId, submission.data).subscribe(\n (result: FormFlowInstance) => this.handleFormFlowStep(result),\n errors => this.form.showErrors(errors)\n );\n } else if (submission.data['back']) {\n this.formFlowService.back(this.formFlowInstanceId).subscribe(\n (result: FormFlowInstance) => this.handleFormFlowStep(result),\n errors => this.form.showErrors(errors)\n );\n }\n }\n }\n\n private resetFormDefinition(): void {\n this.formDefinition = null;\n }\n\n private getTaskProcessLink(taskId: string): void {\n this.taskService.getTaskProcessLink(taskId).subscribe(res => {\n switch (res?.type) {\n case 'form':\n this.taskProcessLinkType$.next('form');\n break;\n case 'form-flow':\n this.taskProcessLinkType$.next('form-flow');\n this.getFormFlowStep(res?.properties.formFlowInstanceId)\n break;\n }\n });\n }\n\n private getFormFlowStep(formFlowInstanceId: string): void {\n this.formFlowService.getFormFlowStep(formFlowInstanceId).subscribe(\n (result: FormFlowInstance) => {\n this.handleFormFlowStep(result)\n }\n );\n }\n\n private handleFormFlowStep(formFlowInstance: FormFlowInstance) {\n if (formFlowInstance.step === null) {\n this.formFlowStepType$.next(null);\n this.formFlowInstanceId = null;\n this.formFlowStepInstanceId = null;\n this.completeTask()\n } else {\n this.formFlowStepType$.next(formFlowInstance.step.type);\n this.formFlowInstanceId = formFlowInstance.id;\n this.formFlowStepInstanceId = formFlowInstance.step.id;\n this.setFormDefinitionAndOpenModal(formFlowInstance.step.typeProperties.definition);\n }\n }\n\n private completeTask() {\n this.toastr.success(this.task.name + ' has successfully been completed');\n this.modal.hide();\n this.task = null;\n this.formSubmit.emit();\n }\n\n private resetTaskProcessLinkType(): void {\n this.taskProcessLinkType$.next(null);\n }\n\n private setFormDefinitionAndOpenModal(formDefinition: any): void {\n this.formDefinition = formDefinition;\n this.modal.show();\n }\n\n private openUrlLink(formDefinition: any): void {\n const url = this.router.serializeUrl(\n this.router.createUrlTree([formDefinition.formAssociation.formLink.url])\n );\n\n window.open(url, '_blank');\n }\n\n private openAngularStateUrlLink(task: Task, formDefinition: any): void {\n this.route.params.pipe(take(1)).subscribe(params => {\n const taskId = task?.id;\n const documentId = params?.documentId;\n\n this.router.navigate([formDefinition.formAssociation.formLink.url], {\n state: {\n ...(taskId && {taskId}),\n ...(documentId && {documentId}),\n },\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-modal\n #taskDetailModal\n elementId=\"taskDetailModal\"\n [title]=\"page?.title\"\n [subtitle]=\"page?.subtitle\"\n [templateBelowSubtitle]=\"assignUserToTask\"\n>\n <div body *ngIf=\"formDefinition && ((processLinkIsForm$ | async) || (formFlowStepTypeIsForm$ | async))\">\n <valtimo-form-io\n #form\n [form]=\"formDefinition\"\n (submit)=\"onSubmit($event)\"\n [options]=\"formioOptions\"\n ></valtimo-form-io>\n </div>\n <div body *ngIf=\"!formDefinition && !errorMessage\">\n <div\n class=\"bg-warning text-black mb-0 p-3 text-center\"\n [translate]=\"'formManagement.noFormDefinitionFound'\"\n ></div>\n </div>\n <div body *ngIf=\"errorMessage\">\n <div class=\"bg-danger text-black mb-0 p-3 text-center\">\n {{ errorMessage }}\n </div>\n </div>\n <div footer>\n <div class=\"mb-0 p-3 text-center\" *ngIf=\"!formDefinition\">\n <button\n class=\"btn btn-secondary btn-space\"\n type=\"button\"\n (click)=\"gotoFormLinkScreen()\"\n id=\"form-link-button\"\n >\n {{ 'formManagement.gotoFormLinksButton' | translate }}\n </button>\n </div>\n </div>\n</valtimo-modal>\n\n<ng-template #assignUserToTask>\n <valtimo-assign-user-to-task\n *ngIf=\"task && assignmentOfTaskChanged\"\n [taskId]=\"task.id\"\n [assigneeEmail]=\"task.assignee\"\n (assignmentOfTaskChanged)=\"assignmentOfTaskChanged.emit()\"\n ></valtimo-assign-user-to-task>\n</ng-template>\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, OnDestroy, ViewChild, ViewEncapsulation} from '@angular/core';\nimport {Router} from '@angular/router';\nimport {TaskService} from '../task.service';\nimport moment from 'moment';\nimport {Task, TaskList} from '../models';\nimport {NGXLogger} from 'ngx-logger';\nimport {TaskDetailModalComponent} from '../task-detail-modal/task-detail-modal.component';\nimport {TranslateService} from '@ngx-translate/core';\nimport {combineLatest, Subscription} from 'rxjs';\nimport {SortState} from '@valtimo/config';\n\nmoment.locale(localStorage.getItem('langKey') || '');\n\n@Component({\n selector: 'valtimo-task-list',\n templateUrl: './task-list.component.html',\n styleUrls: ['./task-list.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class TaskListComponent implements OnDestroy {\n @ViewChild('taskDetail') taskDetail: TaskDetailModalComponent;\n public tasks = {\n mine: new TaskList(),\n open: new TaskList(),\n all: new TaskList(),\n };\n public currentTaskType = 'mine';\n public listTitle: string | null = null;\n public listDescription: string | null = null;\n public sortState: SortState | null = null;\n private translationSubscription: Subscription;\n\n public paginationClicked(page: number, type: string) {\n this.tasks[type].page = page - 1;\n this.getTasks(type);\n }\n\n constructor(\n private taskService: TaskService,\n private router: Router,\n private logger: NGXLogger,\n private translateService: TranslateService\n ) {\n this.setDefaultSorting();\n }\n\n paginationSet() {\n this.tasks.mine.pagination.size =\n this.tasks.all.pagination.size =\n this.tasks.open.pagination.size =\n this.tasks[this.currentTaskType].pagination.size;\n this.getTasks(this.currentTaskType);\n }\n\n private clearPagination(type: string) {\n this.tasks[type].page = 0;\n }\n\n tabChange(tab) {\n this.clearPagination(this.currentTaskType);\n\n switch (tab.nextId) {\n case 1:\n this.getTasks('mine');\n break;\n case 2:\n this.getTasks('open');\n break;\n case 3:\n this.getTasks('all');\n break;\n default:\n this.logger.fatal('Unreachable case');\n }\n }\n\n showTask(task) {\n this.router.navigate(['tasks', task.id]);\n }\n\n getTasks(type: string) {\n let params: any;\n\n this.translationSubscription = combineLatest([\n this.translateService.stream(`task-list.${type}.title`),\n this.translateService.stream(`task-list.${type}.description`),\n ]).subscribe(([title, description]) => {\n this.listTitle = title;\n this.listDescription = description;\n });\n\n switch (type) {\n case 'mine':\n params = {\n page: this.tasks.mine.page,\n size: this.tasks.mine.pagination.size,\n filter: 'mine',\n };\n this.currentTaskType = 'mine';\n break;\n case 'open':\n params = {\n page: this.tasks.open.page,\n size: this.tasks.open.pagination.size,\n filter: 'open',\n };\n this.currentTaskType = 'open';\n break;\n case 'all':\n params = {page: this.tasks.all.page, size: this.tasks.open.pagination.size, filter: 'all'};\n this.currentTaskType = 'all';\n break;\n default:\n this.logger.fatal('Unreachable case');\n }\n\n if (this.sortState) {\n params.sort = this.getSortString(this.sortState);\n }\n\n this.taskService.queryTasks(params).subscribe((results: any) => {\n this.tasks[type].pagination.collectionSize = results.headers.get('x-total-count');\n this.tasks[type].tasks = results.body as Array<Task>;\n this.tasks[type].tasks.map((task: Task) => {\n task.created = moment(task.created).format('DD MMM YYYY HH:mm');\n if (task.due) {\n task.due = moment(task.due).format('DD MMM YYYY HH:mm');\n }\n });\n if (this.taskService.getConfigCustomTaskList()) {\n this.customTaskListFields(type);\n } else {\n this.defaultTaskListFields(type);\n }\n });\n }\n\n public defaultTaskListFields(type) {\n this.translationSubscription = combineLatest([\n this.translateService.stream(`task-list.fieldLabels.created`),\n this.translateService.stream(`task-list.fieldLabels.name`),\n this.translateService.stream(`task-list.fieldLabels.valtimoAssignee.fullName`),\n this.translateService.stream(`task-list.fieldLabels.due`),\n ]).subscribe(([created, name, assignee, due]) => {\n this.tasks[type].fields = [\n {\n key: 'created',\n label: created,\n },\n {\n key: 'name',\n label: name,\n },\n {\n key: 'valtimoAssignee.fullName',\n label: assignee,\n },\n {\n key: 'due',\n label: due,\n },\n ];\n });\n }\n\n public customTaskListFields(type) {\n const customTaskListFields = this.taskService.getConfigCustomTaskList().fields;\n\n this.translationSubscription = combineLatest(\n customTaskListFields.map(column =>\n this.translateService.stream(`task-list.fieldLabels.${column.translationKey}`)\n )\n ).subscribe(labels => {\n this.tasks[type].fields = customTaskListFields.map((column, index) => ({\n key: column.propertyName,\n label: labels[index],\n sortable: column.sortable,\n ...(column.viewType && {viewType: column.viewType}),\n }));\n });\n }\n\n public rowOpenTaskClick(task) {\n if (!task.endTime) {\n this.taskDetail.openTaskDetails(task);\n } else {\n return false;\n }\n }\n\n setDefaultSorting() {\n this.sortState = this.taskService.getConfigCustomTaskList()?.defaultSortedColumn || null;\n }\n\n public sortChanged(sortState: SortState) {\n this.sortState = sortState;\n this.getTasks(this.currentTaskType);\n }\n\n getSortString(sort: SortState): string {\n return `${sort.state.name},${sort.state.direction}`;\n }\n\n ngOnDestroy(): void {\n this.translationSubscription.unsubscribe();\n }\n}\n","<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"main-content\">\n <div class=\"container-fluid\">\n <valtimo-widget>\n <valtimo-list\n [items]=\"tasks[currentTaskType].tasks\"\n [fields]=\"tasks[currentTaskType].fields\"\n [pagination]=\"tasks[currentTaskType].pagination\"\n [viewMode]=\"true\"\n (paginationClicked)=\"paginationClicked($event, currentTaskType)\"\n (paginationSet)=\"paginationSet()\"\n paginationIdentifier=\"taskList\"\n [isSearchable]=\"true\"\n [header]=\"true\"\n (rowClicked)=\"rowOpenTaskClick($event)\"\n (sortChanged)=\"sortChanged($event)\"\n >\n <div header>\n <h3 class=\"list-header-title\">{{ listTitle }}</h3>\n <h5 class=\"list-header-description\">{{ listDescription }}</h5>\n </div>\n <div tabs>\n <ul ngbNav [destroyOnHide]=\"false\" (navChange)=\"tabChange($event)\" class=\"nav-tabs\">\n <li [ngbNavItem]=\"1\" [title]=\"'task-list.mine.title' | translate\">\n <a ngbNavLink>{{ 'task-list.mine.title' | translate }}</a>\n </li>\n <li [ngbNavItem]=\"2\" [title]=\"'task-list.open.title' | translate\">\n <a ngbNavLink>{{ 'task-list.open.title' | translate }}</a>\n </li>\n <li [ngbNavItem]=\"3\" [title]=\"'task-list.all.title' | translate\">\n <a ngbNavLink>{{ 'task-list.all.title' | translate }}</a>\n </li>\n </ul>\n </div>\n </valtimo-list>\n </valtimo-widget>\n <valtimo-task-detail-modal\n #taskDetail\n (formSubmit)=\"getTasks(currentTaskType)\"\n (assignmentOfTaskChanged)=\"getTasks(currentTaskType)\"\n ></valtimo-task-detail-modal>\n </div>\n</div>\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {RouterModule, Routes} from '@angular/router';\nimport {CommonModule} from '@angular/common';\nimport {AuthGuardService} from '@valtimo/security';\nimport {TaskListComponent} from './task-list/task-list.component';\nimport {ROLE_USER} from '@valtimo/config';\n\nconst routes: Routes = [\n {\n path: 'tasks',\n component: TaskListComponent,\n canActivate: [AuthGuardService],\n data: {title: 'Tasks', roles: [ROLE_USER]},\n },\n];\n\n@NgModule({\n declarations: [],\n imports: [CommonModule, RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class TaskRoutingModule {}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {CommonModule} from '@angular/common';\nimport {HttpClient} from '@angular/common/http';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {BrowserAnimationsModule} from '@angular/platform-browser/animations';\nimport {NgbModule} from '@ng-bootstrap/ng-bootstrap';\nimport {TranslateLoader, TranslateModule} from '@ngx-translate/core';\nimport {\n CamundaFormModule,\n FormIoModule,\n ListModule,\n ModalModule,\n PageHeaderModule,\n SpinnerModule,\n WidgetModule,\n SearchableDropdownSelectModule,\n} from '@valtimo/components';\nimport {HttpLoaderFactory} from '@valtimo/config';\nimport {ToastrModule} from 'ngx-toastr';\nimport {TaskDetailModalComponent} from './task-detail-modal/task-detail-modal.component';\nimport {TaskListComponent} from './task-list/task-list.component';\nimport {TaskRoutingModule} from './task-routing.module';\nimport {AssignUserToTaskComponent} from './assign-user-to-task/assign-user-to-task.component';\n\n@NgModule({\n declarations: [TaskListComponent, TaskDetailModalComponent, AssignUserToTaskComponent],\n imports: [\n CommonModule,\n TaskRoutingModule,\n ListModule,\n PageHeaderModule,\n WidgetModule,\n SpinnerModule,\n SearchableDropdownSelectModule,\n CamundaFormModule,\n BrowserAnimationsModule,\n FormsModule,\n ToastrModule.forRoot({\n positionClass: 'toast-bottom-full-width',\n preventDuplicates: true,\n }),\n TranslateModule.forRoot({\n loader: {\n provide: TranslateLoader,\n useFactory: HttpLoaderFactory,\n deps: [HttpClient],\n },\n }),\n NgbModule,\n FormIoModule,\n ModalModule,\n ],\n exports: [TaskListComponent, TaskDetailModalComponent, AssignUserToTaskComponent],\n})\nexport class TaskModule {}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*\n * Public API Surface of task\n */\n\nexport * from './lib/models';\nexport * from './lib/task.service';\nexport * from './lib/task.module';\nexport * from './lib/task-detail-modal/task-detail-modal.component';\nexport * from './lib/task-list/task-list.component';\nexport * from './lib/assign-user-to-task/assign-user-to-task.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.TaskService","i2","i1","i3","i4","i5.TaskService","i7.AssignUserToTaskComponent","i8","i9","i5","i6.TaskDetailModalComponent"],"mappings":"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"}
@@ -87,21 +87,19 @@ class TaskList {
87
87
  }
88
88
 
89
89
  /*
90
+ * Copyright 2015-2020 Ritense BV, the Netherlands.
91
+ *
92
+ * Licensed under EUPL, Version 1.2 (the "License");
93
+ * you may not use this file except in compliance with the License.
94
+ * You may obtain a copy of the License at
90
95
  *
91
- * * Copyright 2015-2020 Ritense BV, the Netherlands.
92
- * *
93
- * * Licensed under EUPL, Version 1.2 (the "License");
94
- * * you may not use this file except in compliance with the License.
95
- * * You may obtain a copy of the License at
96
- * *
97
- * * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
98
- * *
99
- * * Unless required by applicable law or agreed to in writing, software
100
- * * distributed under the License is distributed on an "AS IS" basis,
101
- * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
102
- * * See the License for the specific language governing permissions and
103
- * * limitations under the License.
96
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
104
97
  *
98
+ * Unless required by applicable law or agreed to in writing, software
99
+ * distributed under the License is distributed on an "AS IS" basis,
100
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
101
+ * See the License for the specific language governing permissions and
102
+ * limitations under the License.
105
103
  */
106
104
 
107
105
  /*
@@ -268,10 +266,10 @@ class AssignUserToTaskComponent {
268
266
  }
269
267
  }
270
268
  AssignUserToTaskComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AssignUserToTaskComponent, deps: [{ token: TaskService }], target: i0.ɵɵFactoryTarget.Component });
271
- AssignUserToTaskComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: AssignUserToTaskComponent, selector: "valtimo-assign-user-to-task", inputs: { taskId: "taskId", assigneeEmail: "assigneeEmail" }, outputs: { assignmentOfTaskChanged: "assignmentOfTaskChanged" }, usesOnChanges: true, ngImport: i0, template: "<ng-container\n *ngIf=\"{\n candidateUsers: candidateUsersForTask$ | async,\n disabled: disabled$ | async,\n emailOnServer: assignedEmailOnServer$ | async\n } as obs\"\n>\n <div class=\"container-fluid\">\n <div class=\"row mt-2 mb-2\">\n <div class=\"col-12 pl-0 d-flex flex-row align-items-center\">\n <ng-container *ngIf=\"obs.candidateUsers; else loading\">\n <valtimo-searchable-dropdown-select\n [style]=\"'underlinedText'\"\n [items]=\"mapUsersForDropdown(obs.candidateUsers)\"\n [buttonText]=\"'assignTask.header' | translate\"\n [searchText]=\"'interface.typeToSearch' | translate\"\n [noResultsText]=\"'interface.noSearchResults' | translate\"\n [disabled]=\"obs.disabled\"\n [selectedText]=\"'assignTask.assignedTo' | translate\"\n [selectedTextValue]=\"assignedUserFullName$ | async\"\n [clearSelectionButtonTitle]=\"'assignTask.remove' | translate\"\n [hasSelection]=\"userEmailToAssign === obs.emailOnServer && obs.emailOnServer !== null\"\n [width]=\"250\"\n (itemSelected)=\"assignTask($event)\"\n (clearSelection)=\"unassignTask()\"\n >\n </valtimo-searchable-dropdown-select>\n </ng-container>\n </div>\n </div>\n </div>\n</ng-container>\n\n<ng-template #loading>\n <h5>\n <b>{{ 'assignTask.fetchingUsers' | translate }}</b>\n </h5>\n</ng-template>\n", styles: [".container-fluid{color:#959595}i{font-size:13px}\n"], components: [{ type: i6.SearchableDropdownSelectComponent, selector: "valtimo-searchable-dropdown-select", inputs: ["style", "items", "buttonText", "searchText", "noResultsText", "disabled", "selectedText", "selectedTextValue", "clearSelectionButtonTitle", "hasSelection", "width"], outputs: ["itemSelected", "clearSelection"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i3.AsyncPipe, "translate": i4.TranslatePipe } });
269
+ AssignUserToTaskComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: AssignUserToTaskComponent, selector: "valtimo-assign-user-to-task", inputs: { taskId: "taskId", assigneeEmail: "assigneeEmail" }, outputs: { assignmentOfTaskChanged: "assignmentOfTaskChanged" }, usesOnChanges: true, ngImport: i0, template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n candidateUsers: candidateUsersForTask$ | async,\n disabled: disabled$ | async,\n emailOnServer: assignedEmailOnServer$ | async\n } as obs\"\n>\n <div class=\"container-fluid\">\n <div class=\"row mt-2 mb-2\">\n <div class=\"col-12 pl-0 d-flex flex-row align-items-center\">\n <ng-container *ngIf=\"obs.candidateUsers; else loading\">\n <valtimo-searchable-dropdown-select\n [style]=\"'underlinedText'\"\n [items]=\"mapUsersForDropdown(obs.candidateUsers)\"\n [buttonText]=\"'assignTask.header' | translate\"\n [searchText]=\"'interface.typeToSearch' | translate\"\n [noResultsText]=\"'interface.noSearchResults' | translate\"\n [disabled]=\"obs.disabled\"\n [selectedText]=\"'assignTask.assignedTo' | translate\"\n [selectedTextValue]=\"assignedUserFullName$ | async\"\n [clearSelectionButtonTitle]=\"'assignTask.remove' | translate\"\n [hasSelection]=\"userEmailToAssign === obs.emailOnServer && obs.emailOnServer !== null\"\n [width]=\"250\"\n (itemSelected)=\"assignTask($event)\"\n (clearSelection)=\"unassignTask()\"\n >\n </valtimo-searchable-dropdown-select>\n </ng-container>\n </div>\n </div>\n </div>\n</ng-container>\n\n<ng-template #loading>\n <h5>\n <b>{{ 'assignTask.fetchingUsers' | translate }}</b>\n </h5>\n</ng-template>\n", styles: ["/*!\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.container-fluid{color:#959595}i{font-size:13px}\n"], components: [{ type: i6.SearchableDropdownSelectComponent, selector: "valtimo-searchable-dropdown-select", inputs: ["style", "items", "buttonText", "searchText", "noResultsText", "disabled", "selectedText", "selectedTextValue", "clearSelectionButtonTitle", "hasSelection", "width"], outputs: ["itemSelected", "clearSelection"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i3.AsyncPipe, "translate": i4.TranslatePipe } });
272
270
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AssignUserToTaskComponent, decorators: [{
273
271
  type: Component,
274
- args: [{ selector: 'valtimo-assign-user-to-task', template: "<ng-container\n *ngIf=\"{\n candidateUsers: candidateUsersForTask$ | async,\n disabled: disabled$ | async,\n emailOnServer: assignedEmailOnServer$ | async\n } as obs\"\n>\n <div class=\"container-fluid\">\n <div class=\"row mt-2 mb-2\">\n <div class=\"col-12 pl-0 d-flex flex-row align-items-center\">\n <ng-container *ngIf=\"obs.candidateUsers; else loading\">\n <valtimo-searchable-dropdown-select\n [style]=\"'underlinedText'\"\n [items]=\"mapUsersForDropdown(obs.candidateUsers)\"\n [buttonText]=\"'assignTask.header' | translate\"\n [searchText]=\"'interface.typeToSearch' | translate\"\n [noResultsText]=\"'interface.noSearchResults' | translate\"\n [disabled]=\"obs.disabled\"\n [selectedText]=\"'assignTask.assignedTo' | translate\"\n [selectedTextValue]=\"assignedUserFullName$ | async\"\n [clearSelectionButtonTitle]=\"'assignTask.remove' | translate\"\n [hasSelection]=\"userEmailToAssign === obs.emailOnServer && obs.emailOnServer !== null\"\n [width]=\"250\"\n (itemSelected)=\"assignTask($event)\"\n (clearSelection)=\"unassignTask()\"\n >\n </valtimo-searchable-dropdown-select>\n </ng-container>\n </div>\n </div>\n </div>\n</ng-container>\n\n<ng-template #loading>\n <h5>\n <b>{{ 'assignTask.fetchingUsers' | translate }}</b>\n </h5>\n</ng-template>\n", styles: [".container-fluid{color:#959595}i{font-size:13px}\n"] }]
272
+ args: [{ selector: 'valtimo-assign-user-to-task', template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n candidateUsers: candidateUsersForTask$ | async,\n disabled: disabled$ | async,\n emailOnServer: assignedEmailOnServer$ | async\n } as obs\"\n>\n <div class=\"container-fluid\">\n <div class=\"row mt-2 mb-2\">\n <div class=\"col-12 pl-0 d-flex flex-row align-items-center\">\n <ng-container *ngIf=\"obs.candidateUsers; else loading\">\n <valtimo-searchable-dropdown-select\n [style]=\"'underlinedText'\"\n [items]=\"mapUsersForDropdown(obs.candidateUsers)\"\n [buttonText]=\"'assignTask.header' | translate\"\n [searchText]=\"'interface.typeToSearch' | translate\"\n [noResultsText]=\"'interface.noSearchResults' | translate\"\n [disabled]=\"obs.disabled\"\n [selectedText]=\"'assignTask.assignedTo' | translate\"\n [selectedTextValue]=\"assignedUserFullName$ | async\"\n [clearSelectionButtonTitle]=\"'assignTask.remove' | translate\"\n [hasSelection]=\"userEmailToAssign === obs.emailOnServer && obs.emailOnServer !== null\"\n [width]=\"250\"\n (itemSelected)=\"assignTask($event)\"\n (clearSelection)=\"unassignTask()\"\n >\n </valtimo-searchable-dropdown-select>\n </ng-container>\n </div>\n </div>\n </div>\n</ng-container>\n\n<ng-template #loading>\n <h5>\n <b>{{ 'assignTask.fetchingUsers' | translate }}</b>\n </h5>\n</ng-template>\n", styles: ["/*!\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.container-fluid{color:#959595}i{font-size:13px}\n"] }]
275
273
  }], ctorParameters: function () { return [{ type: TaskService }]; }, propDecorators: { taskId: [{
276
274
  type: Input
277
275
  }], assigneeEmail: [{
@@ -1 +1 @@
1
- {"version":3,"file":"valtimo-task.mjs","sources":["../../../../projects/valtimo/task/src/lib/models/task.model.ts","../../../../projects/valtimo/task/src/lib/models/task-definition.model.ts","../../../../projects/valtimo/task/src/lib/models/task-list.model.ts","../../../../projects/valtimo/task/src/lib/models/index.ts","../../../../projects/valtimo/task/src/lib/task.service.ts","../../../../projects/valtimo/task/src/lib/assign-user-to-task/assign-user-to-task.component.ts","../../../../projects/valtimo/task/src/lib/assign-user-to-task/assign-user-to-task.component.html","../../../../projects/valtimo/task/src/lib/task-detail-modal/task-detail-modal.component.ts","../../../../projects/valtimo/task/src/lib/task-detail-modal/task-detail-modal.component.html","../../../../projects/valtimo/task/src/lib/task-list/task-list.component.ts","../../../../projects/valtimo/task/src/lib/task-list/task-list.component.html","../../../../projects/valtimo/task/src/lib/task-routing.module.ts","../../../../projects/valtimo/task/src/lib/task.module.ts","../../../../projects/valtimo/task/src/public_api.ts","../../../../projects/valtimo/task/src/valtimo-task.ts"],"sourcesContent":["/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {User} from '@valtimo/config';\n\nexport interface Task {\n assignee: string;\n caseDefinitionId: string;\n caseExecutionId: string;\n caseInstanceId: string;\n created: string;\n delegationState: any;\n description: string;\n due: string;\n executionId: string;\n followUp: any;\n formKey: string;\n formless: boolean;\n id: string;\n listItemFields: ListItemField[];\n name: string;\n owner: string;\n parentTaskId: string;\n priority: number;\n processDefinitionId: string;\n processInstanceId: string;\n suspended: boolean;\n taskDefinitionKey: string;\n tenantId: string;\n formLocation: string;\n businessKey: string;\n processDefinitionKey: string;\n valtimoAssignee: User;\n}\n\nexport interface ListItemField {\n key: string;\n value: string;\n label: string;\n}\n\nexport interface AssigneeRequest {\n assignee: string;\n}\n\nexport type TaskProcessLinkType = 'form' | 'form-flow';\n\nexport interface TaskProcessLinkResult {\n type: TaskProcessLinkType;\n properties: {\n formLinkId?: string;\n formFlowId?: string;\n formFlowInstanceId?: string;\n };\n}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {FormDefinition} from '@valtimo/form-management';\n\nexport interface TaskDefinition {\n id: string;\n name: string;\n formDefinition: FormDefinition | null;\n}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport class TaskList {\n public tasks = [];\n fields = [];\n pagination = {\n collectionSize: 0,\n page: 1,\n size: 10,\n maxPaginationItemSize: 5,\n };\n page = 0;\n}\n","/*\n *\n * * Copyright 2015-2020 Ritense BV, the Netherlands.\n * *\n * * Licensed under EUPL, Version 1.2 (the \"License\");\n * * you may not use this file except in compliance with the License.\n * * You may obtain a copy of the License at\n * *\n * * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n * *\n * * Unless required by applicable law or agreed to in writing, software\n * * distributed under the License is distributed on an \"AS IS\" basis,\n * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * * See the License for the specific language governing permissions and\n * * limitations under the License.\n *\n */\n\nexport * from './task.model';\nexport * from './task-definition.model';\nexport * from './task-list.model';\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {HttpClient} from '@angular/common/http';\nimport {Observable} from 'rxjs';\nimport {AssigneeRequest, Task, TaskProcessLinkResult} from './models';\nimport {ConfigService, CustomTaskList, User} from '@valtimo/config';\n\n@Injectable({providedIn: 'root'})\nexport class TaskService {\n private valtimoEndpointUri: string;\n\n constructor(private http: HttpClient, private readonly configService: ConfigService) {\n this.valtimoEndpointUri = configService.config.valtimoApi.endpointUri;\n }\n\n queryTasks(params?: any): Observable<any> {\n return this.http.get(`${this.valtimoEndpointUri}task`, {observe: 'response', params});\n }\n\n getTasks(): Observable<Task[]> {\n return this.http.get<Task[]>(`${this.valtimoEndpointUri}task?filter=all`);\n }\n\n getTask(id: string): Observable<any> {\n return this.http.get(this.valtimoEndpointUri + 'task/' + id);\n }\n\n getCandidateUsers(id: string): Observable<User[]> {\n return this.http.get<User[]>(this.valtimoEndpointUri + 'task/' + id + '/candidate-user');\n }\n\n assignTask(id: string, assigneeRequest: AssigneeRequest): Observable<any> {\n return this.http.post(this.valtimoEndpointUri + 'task/' + id + '/assign', assigneeRequest);\n }\n\n unassignTask(id: string): Observable<any> {\n return this.http.post(this.valtimoEndpointUri + 'task/' + id + '/unassign', null);\n }\n\n completeTask(id: string, variables: Map<string, any>): Observable<any> {\n return this.http.post(this.valtimoEndpointUri + 'task/' + id + '/complete', {\n variables,\n filesToDelete: [],\n });\n }\n\n getTaskProcessLink(taskId: string): Observable<TaskProcessLinkResult> {\n return this.http.get<TaskProcessLinkResult>(\n `${this.valtimoEndpointUri}process-link/task/${taskId}`\n );\n }\n\n getConfigCustomTaskList(): CustomTaskList {\n return this.configService.config.customTaskList;\n }\n}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n} from '@angular/core';\nimport {DropdownItem} from '@valtimo/components';\nimport {BehaviorSubject, combineLatest} from 'rxjs';\nimport {take, tap} from 'rxjs/operators';\nimport {TaskService} from '../task.service';\nimport {User} from '@valtimo/config';\n\n@Component({\n selector: 'valtimo-assign-user-to-task',\n templateUrl: './assign-user-to-task.component.html',\n styleUrls: ['./assign-user-to-task.component.scss'],\n})\nexport class AssignUserToTaskComponent implements OnInit, OnChanges {\n @Input() taskId: string;\n @Input() assigneeEmail: string;\n @Output() assignmentOfTaskChanged = new EventEmitter();\n\n candidateUsersForTask$ = new BehaviorSubject<User[]>(undefined);\n disabled$ = new BehaviorSubject<boolean>(true);\n assignedEmailOnServer$ = new BehaviorSubject<string>(null);\n userEmailToAssign: string = null;\n assignedUserFullName$ = new BehaviorSubject<string>(null);\n\n constructor(private taskService: TaskService) {}\n\n ngOnInit(): void {\n this.taskService.getCandidateUsers(this.taskId).subscribe(candidateUsers => {\n this.candidateUsersForTask$.next(candidateUsers);\n if (this.assigneeEmail) {\n this.assignedEmailOnServer$.next(this.assigneeEmail);\n this.userEmailToAssign = this.assigneeEmail;\n this.assignedUserFullName$.next(\n this.getAssignedUserName(candidateUsers, this.assigneeEmail)\n );\n }\n this.enable();\n });\n }\n\n ngOnChanges(changes: SimpleChanges) {\n const assigneeEmail = changes.assigneeEmail;\n if (assigneeEmail) {\n this.candidateUsersForTask$.pipe(take(1)).subscribe(candidateUsers => {\n const currentUserEmail = assigneeEmail.currentValue;\n this.assignedEmailOnServer$.next(currentUserEmail || null);\n this.userEmailToAssign = currentUserEmail || null;\n this.assignedUserFullName$.next(this.getAssignedUserName(candidateUsers, currentUserEmail));\n });\n } else {\n this.clear();\n }\n }\n\n assignTask(userEmail: string): void {\n this.disable();\n combineLatest([\n this.candidateUsersForTask$,\n this.taskService.assignTask(this.taskId, {assignee: userEmail}),\n ])\n .pipe(\n take(1),\n tap(([candidateUsers]) => {\n this.userEmailToAssign = userEmail;\n this.assignedEmailOnServer$.next(userEmail);\n this.assignedUserFullName$.next(this.getAssignedUserName(candidateUsers, userEmail));\n this.emitChange();\n this.enable();\n })\n )\n .subscribe();\n }\n\n unassignTask(): void {\n this.disable();\n this.taskService\n .unassignTask(this.taskId)\n .pipe(\n tap(() => {\n this.clear();\n this.emitChange();\n this.enable();\n })\n )\n .subscribe();\n }\n\n getAssignedUserName(users: User[], userEmail: string): string {\n if (users && userEmail) {\n const findUser = users.find(user => user.email === userEmail);\n return findUser ? findUser.fullName : '';\n }\n return '';\n }\n\n mapUsersForDropdown(users: User[]): DropdownItem[] {\n return (\n users &&\n users\n .map(user => ({...user, lastName: user.lastName?.split(' ').splice(-1)[0] || ''}))\n .sort((a, b) => a.lastName.localeCompare(b.lastName))\n .map(user => ({text: user.fullName, id: user.email}))\n );\n }\n\n private clear(): void {\n this.assignedEmailOnServer$.next(null);\n this.userEmailToAssign = null;\n }\n\n private emitChange(): void {\n this.assignmentOfTaskChanged.emit();\n }\n\n private enable(): void {\n this.disabled$.next(false);\n }\n\n private disable(): void {\n this.disabled$.next(true);\n }\n}\n","<ng-container\n *ngIf=\"{\n candidateUsers: candidateUsersForTask$ | async,\n disabled: disabled$ | async,\n emailOnServer: assignedEmailOnServer$ | async\n } as obs\"\n>\n <div class=\"container-fluid\">\n <div class=\"row mt-2 mb-2\">\n <div class=\"col-12 pl-0 d-flex flex-row align-items-center\">\n <ng-container *ngIf=\"obs.candidateUsers; else loading\">\n <valtimo-searchable-dropdown-select\n [style]=\"'underlinedText'\"\n [items]=\"mapUsersForDropdown(obs.candidateUsers)\"\n [buttonText]=\"'assignTask.header' | translate\"\n [searchText]=\"'interface.typeToSearch' | translate\"\n [noResultsText]=\"'interface.noSearchResults' | translate\"\n [disabled]=\"obs.disabled\"\n [selectedText]=\"'assignTask.assignedTo' | translate\"\n [selectedTextValue]=\"assignedUserFullName$ | async\"\n [clearSelectionButtonTitle]=\"'assignTask.remove' | translate\"\n [hasSelection]=\"userEmailToAssign === obs.emailOnServer && obs.emailOnServer !== null\"\n [width]=\"250\"\n (itemSelected)=\"assignTask($event)\"\n (clearSelection)=\"unassignTask()\"\n >\n </valtimo-searchable-dropdown-select>\n </ng-container>\n </div>\n </div>\n </div>\n</ng-container>\n\n<ng-template #loading>\n <h5>\n <b>{{ 'assignTask.fetchingUsers' | translate }}</b>\n </h5>\n</ng-template>\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Output, ViewChild, ViewEncapsulation} from '@angular/core';\nimport {ActivatedRoute, Router} from '@angular/router';\nimport {FormioComponent, FormioOptionsImpl, FormioSubmission, ModalComponent, ValtimoFormioOptions} from '@valtimo/components';\nimport {Task, TaskProcessLinkType} from '../models';\nimport {\n FormAssociation,\n FormFlowInstance,\n FormFlowService,\n FormFlowStepType,\n FormLinkService,\n FormSubmissionResult\n} from '@valtimo/form-link';\nimport {FormioForm} from '@formio/angular';\nimport moment from 'moment';\nimport {NGXLogger} from 'ngx-logger';\nimport {ToastrService} from 'ngx-toastr';\nimport {map, take} from 'rxjs/operators';\nimport {TaskService} from '../task.service';\nimport {BehaviorSubject} from 'rxjs';\n\nmoment.locale(localStorage.getItem('langKey') || '');\n\n@Component({\n selector: 'valtimo-task-detail-modal',\n templateUrl: './task-detail-modal.component.html',\n styleUrls: ['./task-detail-modal.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class TaskDetailModalComponent {\n @ViewChild('form') form: FormioComponent;\n @ViewChild('taskDetailModal') modal: ModalComponent;\n @Output() formSubmit = new EventEmitter();\n @Output() assignmentOfTaskChanged = new EventEmitter();\n\n public task: Task | null = null;\n public formDefinition: FormioForm;\n public formFlowInstanceId: string;\n public formFlowStepInstanceId?: string;\n public page: any = null;\n public formioOptions: ValtimoFormioOptions;\n public errorMessage: string = null;\n\n private formAssociation: FormAssociation;\n private taskProcessLinkType$ = new BehaviorSubject<TaskProcessLinkType | null>(null);\n\n processLinkIsForm$ = this.taskProcessLinkType$.pipe(map(type => type === 'form'));\n processLinkIsFormFlow$ = this.taskProcessLinkType$.pipe(map(type => type === 'form-flow'));\n\n private formFlowStepType$ = new BehaviorSubject<FormFlowStepType | null>(null);\n formFlowStepTypeIsForm$ = this.formFlowStepType$.pipe(map( type => type === 'form'));\n\n constructor(\n private readonly toastr: ToastrService,\n private readonly formLinkService: FormLinkService,\n private readonly formFlowService: FormFlowService,\n private readonly router: Router,\n private readonly logger: NGXLogger,\n private readonly route: ActivatedRoute,\n private readonly taskService: TaskService\n ) {\n this.formioOptions = new FormioOptionsImpl();\n this.formioOptions.disableAlerts = true;\n }\n\n openTaskDetails(task: Task) {\n this.resetTaskProcessLinkType();\n this.resetFormDefinition();\n this.getTaskProcessLink(task.id);\n\n this.task = task;\n this.page = {\n title: task.name,\n subtitle: `Created ${task.created}`,\n };\n\n this.formLinkService\n .getPreFilledFormDefinitionByFormLinkId(\n task.processDefinitionKey,\n task.businessKey,\n task.taskDefinitionKey,\n task.id // taskInstanceId\n )\n .subscribe(\n formDefinition => {\n this.formAssociation = formDefinition.formAssociation;\n\n const className = this.formAssociation.formLink.className.split('.');\n const linkType = className[className.length - 1];\n\n switch (linkType) {\n case 'BpmnElementFormIdLink':\n this.setFormDefinitionAndOpenModal(formDefinition);\n break;\n case 'BpmnElementFormFlowIdLink':\n // We can't use the formDefinition here because the form definition is provided per form flow step\n // I'm still leaving this in here in case we want to add form flow specific code.\n break;\n case 'BpmnElementUrlLink':\n this.openUrlLink(formDefinition);\n break;\n case 'BpmnElementAngularStateUrlLink':\n this.openAngularStateUrlLink(task, formDefinition);\n break;\n default:\n this.logger.fatal('Unsupported class name');\n }\n },\n errors => {\n if (errors?.error?.detail) {\n this.errorMessage = errors.error.detail;\n }\n\n this.modal.show();\n }\n );\n }\n\n public gotoFormLinkScreen(): void {\n this.modal.hide();\n this.router.navigate(['form-links']);\n }\n\n public onSubmit(submission: FormioSubmission): void {\n if (this.taskProcessLinkType$.getValue() === 'form') {\n this.formLinkService\n .onSubmit(\n this.task.processDefinitionKey,\n this.formAssociation.formLink.id,\n submission.data,\n this.task.businessKey,\n this.task.id\n )\n .subscribe(\n (_: FormSubmissionResult) => {\n this.completeTask();\n },\n errors => {\n this.form.showErrors(errors);\n }\n );\n }\n\n if (this.taskProcessLinkType$.getValue() === 'form-flow') {\n if (submission.data.submit) {\n this.formFlowService.submitStep(this.formFlowInstanceId, this.formFlowStepInstanceId, submission.data).subscribe(\n (result: FormFlowInstance) => this.handleFormFlowStep(result),\n errors => this.form.showErrors(errors)\n );\n } else if (submission.data['back']) {\n this.formFlowService.back(this.formFlowInstanceId).subscribe(\n (result: FormFlowInstance) => this.handleFormFlowStep(result),\n errors => this.form.showErrors(errors)\n );\n }\n }\n }\n\n private resetFormDefinition(): void {\n this.formDefinition = null;\n }\n\n private getTaskProcessLink(taskId: string): void {\n this.taskService.getTaskProcessLink(taskId).subscribe(res => {\n switch (res?.type) {\n case 'form':\n this.taskProcessLinkType$.next('form');\n break;\n case 'form-flow':\n this.taskProcessLinkType$.next('form-flow');\n this.getFormFlowStep(res?.properties.formFlowInstanceId)\n break;\n }\n });\n }\n\n private getFormFlowStep(formFlowInstanceId: string): void {\n this.formFlowService.getFormFlowStep(formFlowInstanceId).subscribe(\n (result: FormFlowInstance) => {\n this.handleFormFlowStep(result)\n }\n );\n }\n\n private handleFormFlowStep(formFlowInstance: FormFlowInstance) {\n if (formFlowInstance.step === null) {\n this.formFlowStepType$.next(null);\n this.formFlowInstanceId = null;\n this.formFlowStepInstanceId = null;\n this.completeTask()\n } else {\n this.formFlowStepType$.next(formFlowInstance.step.type);\n this.formFlowInstanceId = formFlowInstance.id;\n this.formFlowStepInstanceId = formFlowInstance.step.id;\n this.setFormDefinitionAndOpenModal(formFlowInstance.step.typeProperties.definition);\n }\n }\n\n private completeTask() {\n this.toastr.success(this.task.name + ' has successfully been completed');\n this.modal.hide();\n this.task = null;\n this.formSubmit.emit();\n }\n\n private resetTaskProcessLinkType(): void {\n this.taskProcessLinkType$.next(null);\n }\n\n private setFormDefinitionAndOpenModal(formDefinition: any): void {\n this.formDefinition = formDefinition;\n this.modal.show();\n }\n\n private openUrlLink(formDefinition: any): void {\n const url = this.router.serializeUrl(\n this.router.createUrlTree([formDefinition.formAssociation.formLink.url])\n );\n\n window.open(url, '_blank');\n }\n\n private openAngularStateUrlLink(task: Task, formDefinition: any): void {\n this.route.params.pipe(take(1)).subscribe(params => {\n const taskId = task?.id;\n const documentId = params?.documentId;\n\n this.router.navigate([formDefinition.formAssociation.formLink.url], {\n state: {\n ...(taskId && {taskId}),\n ...(documentId && {documentId}),\n },\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-modal\n #taskDetailModal\n elementId=\"taskDetailModal\"\n [title]=\"page?.title\"\n [subtitle]=\"page?.subtitle\"\n [templateBelowSubtitle]=\"assignUserToTask\"\n>\n <div body *ngIf=\"formDefinition && ((processLinkIsForm$ | async) || (formFlowStepTypeIsForm$ | async))\">\n <valtimo-form-io\n #form\n [form]=\"formDefinition\"\n (submit)=\"onSubmit($event)\"\n [options]=\"formioOptions\"\n ></valtimo-form-io>\n </div>\n <div body *ngIf=\"!formDefinition && !errorMessage\">\n <div\n class=\"bg-warning text-black mb-0 p-3 text-center\"\n [translate]=\"'formManagement.noFormDefinitionFound'\"\n ></div>\n </div>\n <div body *ngIf=\"errorMessage\">\n <div class=\"bg-danger text-black mb-0 p-3 text-center\">\n {{ errorMessage }}\n </div>\n </div>\n <div footer>\n <div class=\"mb-0 p-3 text-center\" *ngIf=\"!formDefinition\">\n <button\n class=\"btn btn-secondary btn-space\"\n type=\"button\"\n (click)=\"gotoFormLinkScreen()\"\n id=\"form-link-button\"\n >\n {{ 'formManagement.gotoFormLinksButton' | translate }}\n </button>\n </div>\n </div>\n</valtimo-modal>\n\n<ng-template #assignUserToTask>\n <valtimo-assign-user-to-task\n *ngIf=\"task && assignmentOfTaskChanged\"\n [taskId]=\"task.id\"\n [assigneeEmail]=\"task.assignee\"\n (assignmentOfTaskChanged)=\"assignmentOfTaskChanged.emit()\"\n ></valtimo-assign-user-to-task>\n</ng-template>\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, OnDestroy, ViewChild, ViewEncapsulation} from '@angular/core';\nimport {Router} from '@angular/router';\nimport {TaskService} from '../task.service';\nimport moment from 'moment';\nimport {Task, TaskList} from '../models';\nimport {NGXLogger} from 'ngx-logger';\nimport {TaskDetailModalComponent} from '../task-detail-modal/task-detail-modal.component';\nimport {TranslateService} from '@ngx-translate/core';\nimport {combineLatest, Subscription} from 'rxjs';\nimport {SortState} from '@valtimo/config';\n\nmoment.locale(localStorage.getItem('langKey') || '');\n\n@Component({\n selector: 'valtimo-task-list',\n templateUrl: './task-list.component.html',\n styleUrls: ['./task-list.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class TaskListComponent implements OnDestroy {\n @ViewChild('taskDetail') taskDetail: TaskDetailModalComponent;\n public tasks = {\n mine: new TaskList(),\n open: new TaskList(),\n all: new TaskList(),\n };\n public currentTaskType = 'mine';\n public listTitle: string | null = null;\n public listDescription: string | null = null;\n public sortState: SortState | null = null;\n private translationSubscription: Subscription;\n\n public paginationClicked(page: number, type: string) {\n this.tasks[type].page = page - 1;\n this.getTasks(type);\n }\n\n constructor(\n private taskService: TaskService,\n private router: Router,\n private logger: NGXLogger,\n private translateService: TranslateService\n ) {\n this.setDefaultSorting();\n }\n\n paginationSet() {\n this.tasks.mine.pagination.size =\n this.tasks.all.pagination.size =\n this.tasks.open.pagination.size =\n this.tasks[this.currentTaskType].pagination.size;\n this.getTasks(this.currentTaskType);\n }\n\n private clearPagination(type: string) {\n this.tasks[type].page = 0;\n }\n\n tabChange(tab) {\n this.clearPagination(this.currentTaskType);\n\n switch (tab.nextId) {\n case 1:\n this.getTasks('mine');\n break;\n case 2:\n this.getTasks('open');\n break;\n case 3:\n this.getTasks('all');\n break;\n default:\n this.logger.fatal('Unreachable case');\n }\n }\n\n showTask(task) {\n this.router.navigate(['tasks', task.id]);\n }\n\n getTasks(type: string) {\n let params: any;\n\n this.translationSubscription = combineLatest([\n this.translateService.stream(`task-list.${type}.title`),\n this.translateService.stream(`task-list.${type}.description`),\n ]).subscribe(([title, description]) => {\n this.listTitle = title;\n this.listDescription = description;\n });\n\n switch (type) {\n case 'mine':\n params = {\n page: this.tasks.mine.page,\n size: this.tasks.mine.pagination.size,\n filter: 'mine',\n };\n this.currentTaskType = 'mine';\n break;\n case 'open':\n params = {\n page: this.tasks.open.page,\n size: this.tasks.open.pagination.size,\n filter: 'open',\n };\n this.currentTaskType = 'open';\n break;\n case 'all':\n params = {page: this.tasks.all.page, size: this.tasks.open.pagination.size, filter: 'all'};\n this.currentTaskType = 'all';\n break;\n default:\n this.logger.fatal('Unreachable case');\n }\n\n if (this.sortState) {\n params.sort = this.getSortString(this.sortState);\n }\n\n this.taskService.queryTasks(params).subscribe((results: any) => {\n this.tasks[type].pagination.collectionSize = results.headers.get('x-total-count');\n this.tasks[type].tasks = results.body as Array<Task>;\n this.tasks[type].tasks.map((task: Task) => {\n task.created = moment(task.created).format('DD MMM YYYY HH:mm');\n if (task.due) {\n task.due = moment(task.due).format('DD MMM YYYY HH:mm');\n }\n });\n if (this.taskService.getConfigCustomTaskList()) {\n this.customTaskListFields(type);\n } else {\n this.defaultTaskListFields(type);\n }\n });\n }\n\n public defaultTaskListFields(type) {\n this.translationSubscription = combineLatest([\n this.translateService.stream(`task-list.fieldLabels.created`),\n this.translateService.stream(`task-list.fieldLabels.name`),\n this.translateService.stream(`task-list.fieldLabels.valtimoAssignee.fullName`),\n this.translateService.stream(`task-list.fieldLabels.due`),\n ]).subscribe(([created, name, assignee, due]) => {\n this.tasks[type].fields = [\n {\n key: 'created',\n label: created,\n },\n {\n key: 'name',\n label: name,\n },\n {\n key: 'valtimoAssignee.fullName',\n label: assignee,\n },\n {\n key: 'due',\n label: due,\n },\n ];\n });\n }\n\n public customTaskListFields(type) {\n const customTaskListFields = this.taskService.getConfigCustomTaskList().fields;\n\n this.translationSubscription = combineLatest(\n customTaskListFields.map(column =>\n this.translateService.stream(`task-list.fieldLabels.${column.translationKey}`)\n )\n ).subscribe(labels => {\n this.tasks[type].fields = customTaskListFields.map((column, index) => ({\n key: column.propertyName,\n label: labels[index],\n sortable: column.sortable,\n ...(column.viewType && {viewType: column.viewType}),\n }));\n });\n }\n\n public rowOpenTaskClick(task) {\n if (!task.endTime) {\n this.taskDetail.openTaskDetails(task);\n } else {\n return false;\n }\n }\n\n setDefaultSorting() {\n this.sortState = this.taskService.getConfigCustomTaskList()?.defaultSortedColumn || null;\n }\n\n public sortChanged(sortState: SortState) {\n this.sortState = sortState;\n this.getTasks(this.currentTaskType);\n }\n\n getSortString(sort: SortState): string {\n return `${sort.state.name},${sort.state.direction}`;\n }\n\n ngOnDestroy(): void {\n this.translationSubscription.unsubscribe();\n }\n}\n","<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"main-content\">\n <div class=\"container-fluid\">\n <valtimo-widget>\n <valtimo-list\n [items]=\"tasks[currentTaskType].tasks\"\n [fields]=\"tasks[currentTaskType].fields\"\n [pagination]=\"tasks[currentTaskType].pagination\"\n [viewMode]=\"true\"\n (paginationClicked)=\"paginationClicked($event, currentTaskType)\"\n (paginationSet)=\"paginationSet()\"\n paginationIdentifier=\"taskList\"\n [isSearchable]=\"true\"\n [header]=\"true\"\n (rowClicked)=\"rowOpenTaskClick($event)\"\n (sortChanged)=\"sortChanged($event)\"\n >\n <div header>\n <h3 class=\"list-header-title\">{{ listTitle }}</h3>\n <h5 class=\"list-header-description\">{{ listDescription }}</h5>\n </div>\n <div tabs>\n <ul ngbNav [destroyOnHide]=\"false\" (navChange)=\"tabChange($event)\" class=\"nav-tabs\">\n <li [ngbNavItem]=\"1\" [title]=\"'task-list.mine.title' | translate\">\n <a ngbNavLink>{{ 'task-list.mine.title' | translate }}</a>\n </li>\n <li [ngbNavItem]=\"2\" [title]=\"'task-list.open.title' | translate\">\n <a ngbNavLink>{{ 'task-list.open.title' | translate }}</a>\n </li>\n <li [ngbNavItem]=\"3\" [title]=\"'task-list.all.title' | translate\">\n <a ngbNavLink>{{ 'task-list.all.title' | translate }}</a>\n </li>\n </ul>\n </div>\n </valtimo-list>\n </valtimo-widget>\n <valtimo-task-detail-modal\n #taskDetail\n (formSubmit)=\"getTasks(currentTaskType)\"\n (assignmentOfTaskChanged)=\"getTasks(currentTaskType)\"\n ></valtimo-task-detail-modal>\n </div>\n</div>\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {RouterModule, Routes} from '@angular/router';\nimport {CommonModule} from '@angular/common';\nimport {AuthGuardService} from '@valtimo/security';\nimport {TaskListComponent} from './task-list/task-list.component';\nimport {ROLE_USER} from '@valtimo/config';\n\nconst routes: Routes = [\n {\n path: 'tasks',\n component: TaskListComponent,\n canActivate: [AuthGuardService],\n data: {title: 'Tasks', roles: [ROLE_USER]},\n },\n];\n\n@NgModule({\n declarations: [],\n imports: [CommonModule, RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class TaskRoutingModule {}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {CommonModule} from '@angular/common';\nimport {HttpClient} from '@angular/common/http';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {BrowserAnimationsModule} from '@angular/platform-browser/animations';\nimport {NgbModule} from '@ng-bootstrap/ng-bootstrap';\nimport {TranslateLoader, TranslateModule} from '@ngx-translate/core';\nimport {\n CamundaFormModule,\n FormIoModule,\n ListModule,\n ModalModule,\n PageHeaderModule,\n SpinnerModule,\n WidgetModule,\n SearchableDropdownSelectModule,\n} from '@valtimo/components';\nimport {HttpLoaderFactory} from '@valtimo/config';\nimport {ToastrModule} from 'ngx-toastr';\nimport {TaskDetailModalComponent} from './task-detail-modal/task-detail-modal.component';\nimport {TaskListComponent} from './task-list/task-list.component';\nimport {TaskRoutingModule} from './task-routing.module';\nimport {AssignUserToTaskComponent} from './assign-user-to-task/assign-user-to-task.component';\n\n@NgModule({\n declarations: [TaskListComponent, TaskDetailModalComponent, AssignUserToTaskComponent],\n imports: [\n CommonModule,\n TaskRoutingModule,\n ListModule,\n PageHeaderModule,\n WidgetModule,\n SpinnerModule,\n SearchableDropdownSelectModule,\n CamundaFormModule,\n BrowserAnimationsModule,\n FormsModule,\n ToastrModule.forRoot({\n positionClass: 'toast-bottom-full-width',\n preventDuplicates: true,\n }),\n TranslateModule.forRoot({\n loader: {\n provide: TranslateLoader,\n useFactory: HttpLoaderFactory,\n deps: [HttpClient],\n },\n }),\n NgbModule,\n FormIoModule,\n ModalModule,\n ],\n exports: [TaskListComponent, TaskDetailModalComponent, AssignUserToTaskComponent],\n})\nexport class TaskModule {}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*\n * Public API Surface of task\n */\n\nexport * from './lib/models';\nexport * from './lib/task.service';\nexport * from './lib/task.module';\nexport * from './lib/task-detail-modal/task-detail-modal.component';\nexport * from './lib/task-list/task-list.component';\nexport * from './lib/assign-user-to-task/assign-user-to-task.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.TaskService","i2","i1","i3","i4","i5.TaskService","i7.AssignUserToTaskComponent","i8","i9","i5","i6.TaskDetailModalComponent"],"mappings":"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"}
1
+ {"version":3,"file":"valtimo-task.mjs","sources":["../../../../projects/valtimo/task/src/lib/models/task.model.ts","../../../../projects/valtimo/task/src/lib/models/task-definition.model.ts","../../../../projects/valtimo/task/src/lib/models/task-list.model.ts","../../../../projects/valtimo/task/src/lib/models/index.ts","../../../../projects/valtimo/task/src/lib/task.service.ts","../../../../projects/valtimo/task/src/lib/assign-user-to-task/assign-user-to-task.component.ts","../../../../projects/valtimo/task/src/lib/assign-user-to-task/assign-user-to-task.component.html","../../../../projects/valtimo/task/src/lib/task-detail-modal/task-detail-modal.component.ts","../../../../projects/valtimo/task/src/lib/task-detail-modal/task-detail-modal.component.html","../../../../projects/valtimo/task/src/lib/task-list/task-list.component.ts","../../../../projects/valtimo/task/src/lib/task-list/task-list.component.html","../../../../projects/valtimo/task/src/lib/task-routing.module.ts","../../../../projects/valtimo/task/src/lib/task.module.ts","../../../../projects/valtimo/task/src/public_api.ts","../../../../projects/valtimo/task/src/valtimo-task.ts"],"sourcesContent":["/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {User} from '@valtimo/config';\n\nexport interface Task {\n assignee: string;\n caseDefinitionId: string;\n caseExecutionId: string;\n caseInstanceId: string;\n created: string;\n delegationState: any;\n description: string;\n due: string;\n executionId: string;\n followUp: any;\n formKey: string;\n formless: boolean;\n id: string;\n listItemFields: ListItemField[];\n name: string;\n owner: string;\n parentTaskId: string;\n priority: number;\n processDefinitionId: string;\n processInstanceId: string;\n suspended: boolean;\n taskDefinitionKey: string;\n tenantId: string;\n formLocation: string;\n businessKey: string;\n processDefinitionKey: string;\n valtimoAssignee: User;\n}\n\nexport interface ListItemField {\n key: string;\n value: string;\n label: string;\n}\n\nexport interface AssigneeRequest {\n assignee: string;\n}\n\nexport type TaskProcessLinkType = 'form' | 'form-flow';\n\nexport interface TaskProcessLinkResult {\n type: TaskProcessLinkType;\n properties: {\n formLinkId?: string;\n formFlowId?: string;\n formFlowInstanceId?: string;\n };\n}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {FormDefinition} from '@valtimo/form-management';\n\nexport interface TaskDefinition {\n id: string;\n name: string;\n formDefinition: FormDefinition | null;\n}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport class TaskList {\n public tasks = [];\n fields = [];\n pagination = {\n collectionSize: 0,\n page: 1,\n size: 10,\n maxPaginationItemSize: 5,\n };\n page = 0;\n}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './task.model';\nexport * from './task-definition.model';\nexport * from './task-list.model';\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {HttpClient} from '@angular/common/http';\nimport {Observable} from 'rxjs';\nimport {AssigneeRequest, Task, TaskProcessLinkResult} from './models';\nimport {ConfigService, CustomTaskList, User} from '@valtimo/config';\n\n@Injectable({providedIn: 'root'})\nexport class TaskService {\n private valtimoEndpointUri: string;\n\n constructor(private http: HttpClient, private readonly configService: ConfigService) {\n this.valtimoEndpointUri = configService.config.valtimoApi.endpointUri;\n }\n\n queryTasks(params?: any): Observable<any> {\n return this.http.get(`${this.valtimoEndpointUri}task`, {observe: 'response', params});\n }\n\n getTasks(): Observable<Task[]> {\n return this.http.get<Task[]>(`${this.valtimoEndpointUri}task?filter=all`);\n }\n\n getTask(id: string): Observable<any> {\n return this.http.get(this.valtimoEndpointUri + 'task/' + id);\n }\n\n getCandidateUsers(id: string): Observable<User[]> {\n return this.http.get<User[]>(this.valtimoEndpointUri + 'task/' + id + '/candidate-user');\n }\n\n assignTask(id: string, assigneeRequest: AssigneeRequest): Observable<any> {\n return this.http.post(this.valtimoEndpointUri + 'task/' + id + '/assign', assigneeRequest);\n }\n\n unassignTask(id: string): Observable<any> {\n return this.http.post(this.valtimoEndpointUri + 'task/' + id + '/unassign', null);\n }\n\n completeTask(id: string, variables: Map<string, any>): Observable<any> {\n return this.http.post(this.valtimoEndpointUri + 'task/' + id + '/complete', {\n variables,\n filesToDelete: [],\n });\n }\n\n getTaskProcessLink(taskId: string): Observable<TaskProcessLinkResult> {\n return this.http.get<TaskProcessLinkResult>(\n `${this.valtimoEndpointUri}process-link/task/${taskId}`\n );\n }\n\n getConfigCustomTaskList(): CustomTaskList {\n return this.configService.config.customTaskList;\n }\n}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n} from '@angular/core';\nimport {DropdownItem} from '@valtimo/components';\nimport {BehaviorSubject, combineLatest} from 'rxjs';\nimport {take, tap} from 'rxjs/operators';\nimport {TaskService} from '../task.service';\nimport {User} from '@valtimo/config';\n\n@Component({\n selector: 'valtimo-assign-user-to-task',\n templateUrl: './assign-user-to-task.component.html',\n styleUrls: ['./assign-user-to-task.component.scss'],\n})\nexport class AssignUserToTaskComponent implements OnInit, OnChanges {\n @Input() taskId: string;\n @Input() assigneeEmail: string;\n @Output() assignmentOfTaskChanged = new EventEmitter();\n\n candidateUsersForTask$ = new BehaviorSubject<User[]>(undefined);\n disabled$ = new BehaviorSubject<boolean>(true);\n assignedEmailOnServer$ = new BehaviorSubject<string>(null);\n userEmailToAssign: string = null;\n assignedUserFullName$ = new BehaviorSubject<string>(null);\n\n constructor(private taskService: TaskService) {}\n\n ngOnInit(): void {\n this.taskService.getCandidateUsers(this.taskId).subscribe(candidateUsers => {\n this.candidateUsersForTask$.next(candidateUsers);\n if (this.assigneeEmail) {\n this.assignedEmailOnServer$.next(this.assigneeEmail);\n this.userEmailToAssign = this.assigneeEmail;\n this.assignedUserFullName$.next(\n this.getAssignedUserName(candidateUsers, this.assigneeEmail)\n );\n }\n this.enable();\n });\n }\n\n ngOnChanges(changes: SimpleChanges) {\n const assigneeEmail = changes.assigneeEmail;\n if (assigneeEmail) {\n this.candidateUsersForTask$.pipe(take(1)).subscribe(candidateUsers => {\n const currentUserEmail = assigneeEmail.currentValue;\n this.assignedEmailOnServer$.next(currentUserEmail || null);\n this.userEmailToAssign = currentUserEmail || null;\n this.assignedUserFullName$.next(this.getAssignedUserName(candidateUsers, currentUserEmail));\n });\n } else {\n this.clear();\n }\n }\n\n assignTask(userEmail: string): void {\n this.disable();\n combineLatest([\n this.candidateUsersForTask$,\n this.taskService.assignTask(this.taskId, {assignee: userEmail}),\n ])\n .pipe(\n take(1),\n tap(([candidateUsers]) => {\n this.userEmailToAssign = userEmail;\n this.assignedEmailOnServer$.next(userEmail);\n this.assignedUserFullName$.next(this.getAssignedUserName(candidateUsers, userEmail));\n this.emitChange();\n this.enable();\n })\n )\n .subscribe();\n }\n\n unassignTask(): void {\n this.disable();\n this.taskService\n .unassignTask(this.taskId)\n .pipe(\n tap(() => {\n this.clear();\n this.emitChange();\n this.enable();\n })\n )\n .subscribe();\n }\n\n getAssignedUserName(users: User[], userEmail: string): string {\n if (users && userEmail) {\n const findUser = users.find(user => user.email === userEmail);\n return findUser ? findUser.fullName : '';\n }\n return '';\n }\n\n mapUsersForDropdown(users: User[]): DropdownItem[] {\n return (\n users &&\n users\n .map(user => ({...user, lastName: user.lastName?.split(' ').splice(-1)[0] || ''}))\n .sort((a, b) => a.lastName.localeCompare(b.lastName))\n .map(user => ({text: user.fullName, id: user.email}))\n );\n }\n\n private clear(): void {\n this.assignedEmailOnServer$.next(null);\n this.userEmailToAssign = null;\n }\n\n private emitChange(): void {\n this.assignmentOfTaskChanged.emit();\n }\n\n private enable(): void {\n this.disabled$.next(false);\n }\n\n private disable(): void {\n this.disabled$.next(true);\n }\n}\n","<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n candidateUsers: candidateUsersForTask$ | async,\n disabled: disabled$ | async,\n emailOnServer: assignedEmailOnServer$ | async\n } as obs\"\n>\n <div class=\"container-fluid\">\n <div class=\"row mt-2 mb-2\">\n <div class=\"col-12 pl-0 d-flex flex-row align-items-center\">\n <ng-container *ngIf=\"obs.candidateUsers; else loading\">\n <valtimo-searchable-dropdown-select\n [style]=\"'underlinedText'\"\n [items]=\"mapUsersForDropdown(obs.candidateUsers)\"\n [buttonText]=\"'assignTask.header' | translate\"\n [searchText]=\"'interface.typeToSearch' | translate\"\n [noResultsText]=\"'interface.noSearchResults' | translate\"\n [disabled]=\"obs.disabled\"\n [selectedText]=\"'assignTask.assignedTo' | translate\"\n [selectedTextValue]=\"assignedUserFullName$ | async\"\n [clearSelectionButtonTitle]=\"'assignTask.remove' | translate\"\n [hasSelection]=\"userEmailToAssign === obs.emailOnServer && obs.emailOnServer !== null\"\n [width]=\"250\"\n (itemSelected)=\"assignTask($event)\"\n (clearSelection)=\"unassignTask()\"\n >\n </valtimo-searchable-dropdown-select>\n </ng-container>\n </div>\n </div>\n </div>\n</ng-container>\n\n<ng-template #loading>\n <h5>\n <b>{{ 'assignTask.fetchingUsers' | translate }}</b>\n </h5>\n</ng-template>\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Output, ViewChild, ViewEncapsulation} from '@angular/core';\nimport {ActivatedRoute, Router} from '@angular/router';\nimport {FormioComponent, FormioOptionsImpl, FormioSubmission, ModalComponent, ValtimoFormioOptions} from '@valtimo/components';\nimport {Task, TaskProcessLinkType} from '../models';\nimport {\n FormAssociation,\n FormFlowInstance,\n FormFlowService,\n FormFlowStepType,\n FormLinkService,\n FormSubmissionResult\n} from '@valtimo/form-link';\nimport {FormioForm} from '@formio/angular';\nimport moment from 'moment';\nimport {NGXLogger} from 'ngx-logger';\nimport {ToastrService} from 'ngx-toastr';\nimport {map, take} from 'rxjs/operators';\nimport {TaskService} from '../task.service';\nimport {BehaviorSubject} from 'rxjs';\n\nmoment.locale(localStorage.getItem('langKey') || '');\n\n@Component({\n selector: 'valtimo-task-detail-modal',\n templateUrl: './task-detail-modal.component.html',\n styleUrls: ['./task-detail-modal.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class TaskDetailModalComponent {\n @ViewChild('form') form: FormioComponent;\n @ViewChild('taskDetailModal') modal: ModalComponent;\n @Output() formSubmit = new EventEmitter();\n @Output() assignmentOfTaskChanged = new EventEmitter();\n\n public task: Task | null = null;\n public formDefinition: FormioForm;\n public formFlowInstanceId: string;\n public formFlowStepInstanceId?: string;\n public page: any = null;\n public formioOptions: ValtimoFormioOptions;\n public errorMessage: string = null;\n\n private formAssociation: FormAssociation;\n private taskProcessLinkType$ = new BehaviorSubject<TaskProcessLinkType | null>(null);\n\n processLinkIsForm$ = this.taskProcessLinkType$.pipe(map(type => type === 'form'));\n processLinkIsFormFlow$ = this.taskProcessLinkType$.pipe(map(type => type === 'form-flow'));\n\n private formFlowStepType$ = new BehaviorSubject<FormFlowStepType | null>(null);\n formFlowStepTypeIsForm$ = this.formFlowStepType$.pipe(map( type => type === 'form'));\n\n constructor(\n private readonly toastr: ToastrService,\n private readonly formLinkService: FormLinkService,\n private readonly formFlowService: FormFlowService,\n private readonly router: Router,\n private readonly logger: NGXLogger,\n private readonly route: ActivatedRoute,\n private readonly taskService: TaskService\n ) {\n this.formioOptions = new FormioOptionsImpl();\n this.formioOptions.disableAlerts = true;\n }\n\n openTaskDetails(task: Task) {\n this.resetTaskProcessLinkType();\n this.resetFormDefinition();\n this.getTaskProcessLink(task.id);\n\n this.task = task;\n this.page = {\n title: task.name,\n subtitle: `Created ${task.created}`,\n };\n\n this.formLinkService\n .getPreFilledFormDefinitionByFormLinkId(\n task.processDefinitionKey,\n task.businessKey,\n task.taskDefinitionKey,\n task.id // taskInstanceId\n )\n .subscribe(\n formDefinition => {\n this.formAssociation = formDefinition.formAssociation;\n\n const className = this.formAssociation.formLink.className.split('.');\n const linkType = className[className.length - 1];\n\n switch (linkType) {\n case 'BpmnElementFormIdLink':\n this.setFormDefinitionAndOpenModal(formDefinition);\n break;\n case 'BpmnElementFormFlowIdLink':\n // We can't use the formDefinition here because the form definition is provided per form flow step\n // I'm still leaving this in here in case we want to add form flow specific code.\n break;\n case 'BpmnElementUrlLink':\n this.openUrlLink(formDefinition);\n break;\n case 'BpmnElementAngularStateUrlLink':\n this.openAngularStateUrlLink(task, formDefinition);\n break;\n default:\n this.logger.fatal('Unsupported class name');\n }\n },\n errors => {\n if (errors?.error?.detail) {\n this.errorMessage = errors.error.detail;\n }\n\n this.modal.show();\n }\n );\n }\n\n public gotoFormLinkScreen(): void {\n this.modal.hide();\n this.router.navigate(['form-links']);\n }\n\n public onSubmit(submission: FormioSubmission): void {\n if (this.taskProcessLinkType$.getValue() === 'form') {\n this.formLinkService\n .onSubmit(\n this.task.processDefinitionKey,\n this.formAssociation.formLink.id,\n submission.data,\n this.task.businessKey,\n this.task.id\n )\n .subscribe(\n (_: FormSubmissionResult) => {\n this.completeTask();\n },\n errors => {\n this.form.showErrors(errors);\n }\n );\n }\n\n if (this.taskProcessLinkType$.getValue() === 'form-flow') {\n if (submission.data.submit) {\n this.formFlowService.submitStep(this.formFlowInstanceId, this.formFlowStepInstanceId, submission.data).subscribe(\n (result: FormFlowInstance) => this.handleFormFlowStep(result),\n errors => this.form.showErrors(errors)\n );\n } else if (submission.data['back']) {\n this.formFlowService.back(this.formFlowInstanceId).subscribe(\n (result: FormFlowInstance) => this.handleFormFlowStep(result),\n errors => this.form.showErrors(errors)\n );\n }\n }\n }\n\n private resetFormDefinition(): void {\n this.formDefinition = null;\n }\n\n private getTaskProcessLink(taskId: string): void {\n this.taskService.getTaskProcessLink(taskId).subscribe(res => {\n switch (res?.type) {\n case 'form':\n this.taskProcessLinkType$.next('form');\n break;\n case 'form-flow':\n this.taskProcessLinkType$.next('form-flow');\n this.getFormFlowStep(res?.properties.formFlowInstanceId)\n break;\n }\n });\n }\n\n private getFormFlowStep(formFlowInstanceId: string): void {\n this.formFlowService.getFormFlowStep(formFlowInstanceId).subscribe(\n (result: FormFlowInstance) => {\n this.handleFormFlowStep(result)\n }\n );\n }\n\n private handleFormFlowStep(formFlowInstance: FormFlowInstance) {\n if (formFlowInstance.step === null) {\n this.formFlowStepType$.next(null);\n this.formFlowInstanceId = null;\n this.formFlowStepInstanceId = null;\n this.completeTask()\n } else {\n this.formFlowStepType$.next(formFlowInstance.step.type);\n this.formFlowInstanceId = formFlowInstance.id;\n this.formFlowStepInstanceId = formFlowInstance.step.id;\n this.setFormDefinitionAndOpenModal(formFlowInstance.step.typeProperties.definition);\n }\n }\n\n private completeTask() {\n this.toastr.success(this.task.name + ' has successfully been completed');\n this.modal.hide();\n this.task = null;\n this.formSubmit.emit();\n }\n\n private resetTaskProcessLinkType(): void {\n this.taskProcessLinkType$.next(null);\n }\n\n private setFormDefinitionAndOpenModal(formDefinition: any): void {\n this.formDefinition = formDefinition;\n this.modal.show();\n }\n\n private openUrlLink(formDefinition: any): void {\n const url = this.router.serializeUrl(\n this.router.createUrlTree([formDefinition.formAssociation.formLink.url])\n );\n\n window.open(url, '_blank');\n }\n\n private openAngularStateUrlLink(task: Task, formDefinition: any): void {\n this.route.params.pipe(take(1)).subscribe(params => {\n const taskId = task?.id;\n const documentId = params?.documentId;\n\n this.router.navigate([formDefinition.formAssociation.formLink.url], {\n state: {\n ...(taskId && {taskId}),\n ...(documentId && {documentId}),\n },\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-modal\n #taskDetailModal\n elementId=\"taskDetailModal\"\n [title]=\"page?.title\"\n [subtitle]=\"page?.subtitle\"\n [templateBelowSubtitle]=\"assignUserToTask\"\n>\n <div body *ngIf=\"formDefinition && ((processLinkIsForm$ | async) || (formFlowStepTypeIsForm$ | async))\">\n <valtimo-form-io\n #form\n [form]=\"formDefinition\"\n (submit)=\"onSubmit($event)\"\n [options]=\"formioOptions\"\n ></valtimo-form-io>\n </div>\n <div body *ngIf=\"!formDefinition && !errorMessage\">\n <div\n class=\"bg-warning text-black mb-0 p-3 text-center\"\n [translate]=\"'formManagement.noFormDefinitionFound'\"\n ></div>\n </div>\n <div body *ngIf=\"errorMessage\">\n <div class=\"bg-danger text-black mb-0 p-3 text-center\">\n {{ errorMessage }}\n </div>\n </div>\n <div footer>\n <div class=\"mb-0 p-3 text-center\" *ngIf=\"!formDefinition\">\n <button\n class=\"btn btn-secondary btn-space\"\n type=\"button\"\n (click)=\"gotoFormLinkScreen()\"\n id=\"form-link-button\"\n >\n {{ 'formManagement.gotoFormLinksButton' | translate }}\n </button>\n </div>\n </div>\n</valtimo-modal>\n\n<ng-template #assignUserToTask>\n <valtimo-assign-user-to-task\n *ngIf=\"task && assignmentOfTaskChanged\"\n [taskId]=\"task.id\"\n [assigneeEmail]=\"task.assignee\"\n (assignmentOfTaskChanged)=\"assignmentOfTaskChanged.emit()\"\n ></valtimo-assign-user-to-task>\n</ng-template>\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, OnDestroy, ViewChild, ViewEncapsulation} from '@angular/core';\nimport {Router} from '@angular/router';\nimport {TaskService} from '../task.service';\nimport moment from 'moment';\nimport {Task, TaskList} from '../models';\nimport {NGXLogger} from 'ngx-logger';\nimport {TaskDetailModalComponent} from '../task-detail-modal/task-detail-modal.component';\nimport {TranslateService} from '@ngx-translate/core';\nimport {combineLatest, Subscription} from 'rxjs';\nimport {SortState} from '@valtimo/config';\n\nmoment.locale(localStorage.getItem('langKey') || '');\n\n@Component({\n selector: 'valtimo-task-list',\n templateUrl: './task-list.component.html',\n styleUrls: ['./task-list.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class TaskListComponent implements OnDestroy {\n @ViewChild('taskDetail') taskDetail: TaskDetailModalComponent;\n public tasks = {\n mine: new TaskList(),\n open: new TaskList(),\n all: new TaskList(),\n };\n public currentTaskType = 'mine';\n public listTitle: string | null = null;\n public listDescription: string | null = null;\n public sortState: SortState | null = null;\n private translationSubscription: Subscription;\n\n public paginationClicked(page: number, type: string) {\n this.tasks[type].page = page - 1;\n this.getTasks(type);\n }\n\n constructor(\n private taskService: TaskService,\n private router: Router,\n private logger: NGXLogger,\n private translateService: TranslateService\n ) {\n this.setDefaultSorting();\n }\n\n paginationSet() {\n this.tasks.mine.pagination.size =\n this.tasks.all.pagination.size =\n this.tasks.open.pagination.size =\n this.tasks[this.currentTaskType].pagination.size;\n this.getTasks(this.currentTaskType);\n }\n\n private clearPagination(type: string) {\n this.tasks[type].page = 0;\n }\n\n tabChange(tab) {\n this.clearPagination(this.currentTaskType);\n\n switch (tab.nextId) {\n case 1:\n this.getTasks('mine');\n break;\n case 2:\n this.getTasks('open');\n break;\n case 3:\n this.getTasks('all');\n break;\n default:\n this.logger.fatal('Unreachable case');\n }\n }\n\n showTask(task) {\n this.router.navigate(['tasks', task.id]);\n }\n\n getTasks(type: string) {\n let params: any;\n\n this.translationSubscription = combineLatest([\n this.translateService.stream(`task-list.${type}.title`),\n this.translateService.stream(`task-list.${type}.description`),\n ]).subscribe(([title, description]) => {\n this.listTitle = title;\n this.listDescription = description;\n });\n\n switch (type) {\n case 'mine':\n params = {\n page: this.tasks.mine.page,\n size: this.tasks.mine.pagination.size,\n filter: 'mine',\n };\n this.currentTaskType = 'mine';\n break;\n case 'open':\n params = {\n page: this.tasks.open.page,\n size: this.tasks.open.pagination.size,\n filter: 'open',\n };\n this.currentTaskType = 'open';\n break;\n case 'all':\n params = {page: this.tasks.all.page, size: this.tasks.open.pagination.size, filter: 'all'};\n this.currentTaskType = 'all';\n break;\n default:\n this.logger.fatal('Unreachable case');\n }\n\n if (this.sortState) {\n params.sort = this.getSortString(this.sortState);\n }\n\n this.taskService.queryTasks(params).subscribe((results: any) => {\n this.tasks[type].pagination.collectionSize = results.headers.get('x-total-count');\n this.tasks[type].tasks = results.body as Array<Task>;\n this.tasks[type].tasks.map((task: Task) => {\n task.created = moment(task.created).format('DD MMM YYYY HH:mm');\n if (task.due) {\n task.due = moment(task.due).format('DD MMM YYYY HH:mm');\n }\n });\n if (this.taskService.getConfigCustomTaskList()) {\n this.customTaskListFields(type);\n } else {\n this.defaultTaskListFields(type);\n }\n });\n }\n\n public defaultTaskListFields(type) {\n this.translationSubscription = combineLatest([\n this.translateService.stream(`task-list.fieldLabels.created`),\n this.translateService.stream(`task-list.fieldLabels.name`),\n this.translateService.stream(`task-list.fieldLabels.valtimoAssignee.fullName`),\n this.translateService.stream(`task-list.fieldLabels.due`),\n ]).subscribe(([created, name, assignee, due]) => {\n this.tasks[type].fields = [\n {\n key: 'created',\n label: created,\n },\n {\n key: 'name',\n label: name,\n },\n {\n key: 'valtimoAssignee.fullName',\n label: assignee,\n },\n {\n key: 'due',\n label: due,\n },\n ];\n });\n }\n\n public customTaskListFields(type) {\n const customTaskListFields = this.taskService.getConfigCustomTaskList().fields;\n\n this.translationSubscription = combineLatest(\n customTaskListFields.map(column =>\n this.translateService.stream(`task-list.fieldLabels.${column.translationKey}`)\n )\n ).subscribe(labels => {\n this.tasks[type].fields = customTaskListFields.map((column, index) => ({\n key: column.propertyName,\n label: labels[index],\n sortable: column.sortable,\n ...(column.viewType && {viewType: column.viewType}),\n }));\n });\n }\n\n public rowOpenTaskClick(task) {\n if (!task.endTime) {\n this.taskDetail.openTaskDetails(task);\n } else {\n return false;\n }\n }\n\n setDefaultSorting() {\n this.sortState = this.taskService.getConfigCustomTaskList()?.defaultSortedColumn || null;\n }\n\n public sortChanged(sortState: SortState) {\n this.sortState = sortState;\n this.getTasks(this.currentTaskType);\n }\n\n getSortString(sort: SortState): string {\n return `${sort.state.name},${sort.state.direction}`;\n }\n\n ngOnDestroy(): void {\n this.translationSubscription.unsubscribe();\n }\n}\n","<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"main-content\">\n <div class=\"container-fluid\">\n <valtimo-widget>\n <valtimo-list\n [items]=\"tasks[currentTaskType].tasks\"\n [fields]=\"tasks[currentTaskType].fields\"\n [pagination]=\"tasks[currentTaskType].pagination\"\n [viewMode]=\"true\"\n (paginationClicked)=\"paginationClicked($event, currentTaskType)\"\n (paginationSet)=\"paginationSet()\"\n paginationIdentifier=\"taskList\"\n [isSearchable]=\"true\"\n [header]=\"true\"\n (rowClicked)=\"rowOpenTaskClick($event)\"\n (sortChanged)=\"sortChanged($event)\"\n >\n <div header>\n <h3 class=\"list-header-title\">{{ listTitle }}</h3>\n <h5 class=\"list-header-description\">{{ listDescription }}</h5>\n </div>\n <div tabs>\n <ul ngbNav [destroyOnHide]=\"false\" (navChange)=\"tabChange($event)\" class=\"nav-tabs\">\n <li [ngbNavItem]=\"1\" [title]=\"'task-list.mine.title' | translate\">\n <a ngbNavLink>{{ 'task-list.mine.title' | translate }}</a>\n </li>\n <li [ngbNavItem]=\"2\" [title]=\"'task-list.open.title' | translate\">\n <a ngbNavLink>{{ 'task-list.open.title' | translate }}</a>\n </li>\n <li [ngbNavItem]=\"3\" [title]=\"'task-list.all.title' | translate\">\n <a ngbNavLink>{{ 'task-list.all.title' | translate }}</a>\n </li>\n </ul>\n </div>\n </valtimo-list>\n </valtimo-widget>\n <valtimo-task-detail-modal\n #taskDetail\n (formSubmit)=\"getTasks(currentTaskType)\"\n (assignmentOfTaskChanged)=\"getTasks(currentTaskType)\"\n ></valtimo-task-detail-modal>\n </div>\n</div>\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {RouterModule, Routes} from '@angular/router';\nimport {CommonModule} from '@angular/common';\nimport {AuthGuardService} from '@valtimo/security';\nimport {TaskListComponent} from './task-list/task-list.component';\nimport {ROLE_USER} from '@valtimo/config';\n\nconst routes: Routes = [\n {\n path: 'tasks',\n component: TaskListComponent,\n canActivate: [AuthGuardService],\n data: {title: 'Tasks', roles: [ROLE_USER]},\n },\n];\n\n@NgModule({\n declarations: [],\n imports: [CommonModule, RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class TaskRoutingModule {}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {CommonModule} from '@angular/common';\nimport {HttpClient} from '@angular/common/http';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {BrowserAnimationsModule} from '@angular/platform-browser/animations';\nimport {NgbModule} from '@ng-bootstrap/ng-bootstrap';\nimport {TranslateLoader, TranslateModule} from '@ngx-translate/core';\nimport {\n CamundaFormModule,\n FormIoModule,\n ListModule,\n ModalModule,\n PageHeaderModule,\n SpinnerModule,\n WidgetModule,\n SearchableDropdownSelectModule,\n} from '@valtimo/components';\nimport {HttpLoaderFactory} from '@valtimo/config';\nimport {ToastrModule} from 'ngx-toastr';\nimport {TaskDetailModalComponent} from './task-detail-modal/task-detail-modal.component';\nimport {TaskListComponent} from './task-list/task-list.component';\nimport {TaskRoutingModule} from './task-routing.module';\nimport {AssignUserToTaskComponent} from './assign-user-to-task/assign-user-to-task.component';\n\n@NgModule({\n declarations: [TaskListComponent, TaskDetailModalComponent, AssignUserToTaskComponent],\n imports: [\n CommonModule,\n TaskRoutingModule,\n ListModule,\n PageHeaderModule,\n WidgetModule,\n SpinnerModule,\n SearchableDropdownSelectModule,\n CamundaFormModule,\n BrowserAnimationsModule,\n FormsModule,\n ToastrModule.forRoot({\n positionClass: 'toast-bottom-full-width',\n preventDuplicates: true,\n }),\n TranslateModule.forRoot({\n loader: {\n provide: TranslateLoader,\n useFactory: HttpLoaderFactory,\n deps: [HttpClient],\n },\n }),\n NgbModule,\n FormIoModule,\n ModalModule,\n ],\n exports: [TaskListComponent, TaskDetailModalComponent, AssignUserToTaskComponent],\n})\nexport class TaskModule {}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*\n * Public API Surface of task\n */\n\nexport * from './lib/models';\nexport * from './lib/task.service';\nexport * from './lib/task.module';\nexport * from './lib/task-detail-modal/task-detail-modal.component';\nexport * from './lib/task-list/task-list.component';\nexport * from './lib/assign-user-to-task/assign-user-to-task.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.TaskService","i2","i1","i3","i4","i5.TaskService","i7.AssignUserToTaskComponent","i8","i9","i5","i6.TaskDetailModalComponent"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../projects/valtimo/task/src/lib/models/index.ts"],"names":[],"mappings":"AAkBA,cAAc,cAAc,CAAC;AAC7B,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../projects/valtimo/task/src/lib/models/index.ts"],"names":[],"mappings":"AAgBA,cAAc,cAAc,CAAC;AAC7B,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC"}
package/package.json CHANGED
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "@valtimo/task",
3
3
  "license": "EUPL-1.2",
4
- "version": "5.4.0",
4
+ "version": "5.5.0",
5
5
  "peerDependencies": {
6
6
  "@angular/common": "^13.2.3",
7
7
  "@angular/core": "^13.2.3"
8
8
  },
9
9
  "dependencies": {
10
10
  "ngx-toastr": "^14.3.0",
11
- "moment": "2.29.3",
11
+ "moment": "^2.29.4",
12
12
  "tslib": "^2.0.0"
13
13
  },
14
14
  "module": "fesm2015/valtimo-task.mjs",