@valtimo/dossier-management 4.17.0 → 4.20.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.
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/common'), require('@angular/core'), require('@angular/forms'), require('@ngx-translate/core'), require('@valtimo/components'), require('@valtimo/config'), require('@valtimo/document'), require('@valtimo/process'), require('ngx-toastr'), require('@angular/router'), require('moment'), require('rxjs'), require('@valtimo/security'), require('rxjs/operators'), require('@ng-bootstrap/ng-bootstrap')) :
3
- typeof define === 'function' && define.amd ? define('@valtimo/dossier-management', ['exports', '@angular/common', '@angular/core', '@angular/forms', '@ngx-translate/core', '@valtimo/components', '@valtimo/config', '@valtimo/document', '@valtimo/process', 'ngx-toastr', '@angular/router', 'moment', 'rxjs', '@valtimo/security', 'rxjs/operators', '@ng-bootstrap/ng-bootstrap'], factory) :
4
- (global = global || self, factory((global.valtimo = global.valtimo || {}, global.valtimo['dossier-management'] = {}), global.ng.common, global.ng.core, global.ng.forms, global.core$1, global.components, global.config, global.document, global.process, global.ngxToastr, global.ng.router, global.moment, global.rxjs, global.security, global.rxjs.operators, global.ngBootstrap));
5
- }(this, (function (exports, common, core, forms, core$1, components, config, document$1, process, ngxToastr, router, moment_, rxjs, security, operators, ngBootstrap) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/common'), require('@angular/core'), require('@angular/forms'), require('@ngx-translate/core'), require('@valtimo/components'), require('@valtimo/config'), require('@valtimo/document'), require('@valtimo/process'), require('ngx-toastr'), require('@angular/router'), require('moment'), require('rxjs'), require('@valtimo/security'), require('rxjs/operators'), require('@ng-bootstrap/ng-bootstrap'), require('@valtimo/authority'), require('lodash')) :
3
+ typeof define === 'function' && define.amd ? define('@valtimo/dossier-management', ['exports', '@angular/common', '@angular/core', '@angular/forms', '@ngx-translate/core', '@valtimo/components', '@valtimo/config', '@valtimo/document', '@valtimo/process', 'ngx-toastr', '@angular/router', 'moment', 'rxjs', '@valtimo/security', 'rxjs/operators', '@ng-bootstrap/ng-bootstrap', '@valtimo/authority', 'lodash'], factory) :
4
+ (global = global || self, factory((global.valtimo = global.valtimo || {}, global.valtimo['dossier-management'] = {}), global.ng.common, global.ng.core, global.ng.forms, global.core$1, global.components, global.config, global.document, global.process, global.ngxToastr, global.ng.router, global.moment, global.rxjs, global.security, global.rxjs.operators, global.ngBootstrap, global.authority, global.lodash));
5
+ }(this, (function (exports, common, core, forms, core$1, components, config, document$1, process, ngxToastr, router, moment_, rxjs, security, operators, ngBootstrap, authority, lodash) { 'use strict';
6
6
 
7
7
  /*
8
8
  * Copyright 2015-2020 Ritense BV, the Netherlands.
@@ -81,7 +81,7 @@
81
81
  DossierManagementConnectModalComponent.decorators = [
82
82
  { type: core.Component, args: [{
83
83
  selector: 'valtimo-dossier-management-connect-modal',
84
- 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<valtimo-modal\n #dossierConnectModal\n elementId=\"dossierConnectModal\"\n [title]=\"documentDefinition ? documentDefinition.schema.title : 'Document definition'\"\n subtitle=\"Connect document definition to process definition\"\n showFooter=\"true\"\n>\n <div body *ngIf=\"documentDefinition\">\n <p>\n {{ 'Select process definition for document definition' | translate }}\n <strong>{{ documentDefinition.id.name }} *</strong>\n </p>\n <div class=\"input-group mb-3 align-items-center\">\n <select class=\"form-control\" [(ngModel)]=\"newDocumentProcessDefinition\">\n <option [ngValue]=\"null\">Select process definition</option>\n <option\n *ngFor=\"let processDefinition of processDefinitions\"\n [disabled]=\"processDocumentDefinitionExists[processDefinition.key]\"\n [ngValue]=\"processDefinition\"\n >\n {{ processDefinition.name }} ({{ processDefinition.key }})\n </option>\n </select>\n </div>\n <p>\n {{ 'Select options for the selected process' | translate }}\n </p>\n <div class=\"input-group mb-3 align-items-center\">\n <label\n class=\"custom-control custom-checkbox custom-control-inline pl-6 mb-0\"\n placement=\"bottom\"\n ngbTooltip=\"{{ 'processCaseConnection.processCreatesCaseTooltip' | translate }}\"\n >\n <input\n class=\"custom-control-input\"\n type=\"checkbox\"\n [(ngModel)]=\"newDocumentProcessDefinitionInit\"\n /><span class=\"custom-control-label custom-control-color\">{{\n 'processCaseConnection.processCreatesCase' | translate\n }}</span>\n </label>\n <label\n class=\"custom-control custom-checkbox custom-control-inline ml-2 pl-6 mb-0\"\n placement=\"bottom\"\n ngbTooltip=\"{{ 'processCaseConnection.startableWithinCaseTooltip' | translate }}\"\n >\n <input\n class=\"custom-control-input\"\n type=\"checkbox\"\n [(ngModel)]=\"newDocumentProcessDefinitionStartableByUser\"\n /><span class=\"custom-control-label custom-control-color\">{{\n 'processCaseConnection.startableWithinCase' | translate\n }}</span>\n </label>\n </div>\n </div>\n <div footer>\n <button\n (click)=\"submit()\"\n class=\"btn btn-primary\"\n data-dismiss=\"modal\"\n [disabled]=\"!newDocumentProcessDefinition\"\n >\n {{ 'Save' | translate }}\n </button>\n </div>\n</valtimo-modal>\n",
84
+ 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<valtimo-modal\n #dossierConnectModal\n elementId=\"dossierConnectModal\"\n [title]=\"documentDefinition ? documentDefinition.schema.title : 'Document definition'\"\n subtitle=\"Connect document definition to process definition\"\n showFooter=\"true\"\n>\n <div body *ngIf=\"documentDefinition\">\n <p>\n {{ 'Select process definition for document definition' | translate }}\n <strong>{{ documentDefinition.id.name }} *</strong>\n </p>\n <div class=\"input-group mb-3 align-items-center\">\n <select class=\"form-control\" [(ngModel)]=\"newDocumentProcessDefinition\">\n <option [ngValue]=\"null\">{{ 'dossierManagement.selectProcessDef' | translate }}</option>\n <option\n *ngFor=\"let processDefinition of processDefinitions\"\n [disabled]=\"processDocumentDefinitionExists[processDefinition.key]\"\n [ngValue]=\"processDefinition\"\n >\n {{ processDefinition.name }} ({{ processDefinition.key }})\n </option>\n </select>\n </div>\n <p>\n {{ 'Select options for the selected process' | translate }}\n </p>\n <div class=\"input-group mb-3 align-items-center\">\n <label\n class=\"custom-control custom-checkbox custom-control-inline pl-6 mb-0\"\n placement=\"bottom\"\n ngbTooltip=\"{{ 'processCaseConnection.processCreatesCaseTooltip' | translate }}\"\n >\n <input\n class=\"custom-control-input\"\n type=\"checkbox\"\n [(ngModel)]=\"newDocumentProcessDefinitionInit\"\n /><span class=\"custom-control-label custom-control-color\">{{\n 'processCaseConnection.processCreatesCase' | translate\n }}</span>\n </label>\n <label\n class=\"custom-control custom-checkbox custom-control-inline ml-2 pl-6 mb-0\"\n placement=\"bottom\"\n ngbTooltip=\"{{ 'processCaseConnection.startableWithinCaseTooltip' | translate }}\"\n >\n <input\n class=\"custom-control-input\"\n type=\"checkbox\"\n [(ngModel)]=\"newDocumentProcessDefinitionStartableByUser\"\n /><span class=\"custom-control-label custom-control-color\">{{\n 'processCaseConnection.startableWithinCase' | translate\n }}</span>\n </label>\n </div>\n </div>\n <div footer>\n <button\n (click)=\"submit()\"\n class=\"btn btn-primary\"\n data-dismiss=\"modal\"\n [disabled]=\"!newDocumentProcessDefinition\"\n >\n {{ 'Save' | translate }}\n </button>\n </div>\n</valtimo-modal>\n",
85
85
  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 */"]
86
86
  },] }
87
87
  ];
@@ -176,7 +176,7 @@
176
176
  DossierManagementDetailComponent.decorators = [
177
177
  { type: core.Component, args: [{
178
178
  selector: 'valtimo-dossier-management-detail',
179
- 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<div class=\"main-content pt-0\">\n <div class=\"container-fluid\">\n <div *ngIf=\"documentDefinition\" class=\"btn-group mt-m3px mb-3 float-right\">\n <button class=\"btn btn-primary btn-space\" (click)=\"downloadDefinition()\">\n <i class=\"icon mdi mdi-download\"></i>&nbsp;\n {{ 'Download document definition' | translate }}\n </button>\n <a id=\"downloadAnchorElement\" style=\"display: none\"></a>\n <button\n *ngIf=\"!this.documentDefinition.readOnly\"\n class=\"btn btn-secondary btn-space mr-0\"\n (click)=\"openDossierRemoveModal()\"\n >\n <i class=\"icon mdi mdi-delete\"></i>&nbsp;\n {{ 'Remove document definition' | translate }}\n </button>\n </div>\n <div class=\"clearfix\"></div>\n <valtimo-widget *ngIf=\"documentDefinition\">\n <div class=\"bg-light dossier-header\">\n <h3 class=\"dossier-title\">\n {{ documentDefinition.schema.title }}\n <div *ngIf=\"documentDefinition.readOnly\" class=\"pull-right\">\n <span class=\"badge badge-pill badge-info increase-size\">Read-only</span>\n </div>\n </h3>\n </div>\n <div class=\"row bg-white mt-5 mb-2 pl-2 pr-2\">\n <div class=\"col-5\">\n <h2>{{ 'document definition' | translate }}</h2>\n </div>\n <div class=\"col-5 offset-2\">\n <h2>Connected processes</h2>\n </div>\n </div>\n <div class=\"row bg-white mb-5 pb-4 pl-2 pr-2\">\n <div class=\"col-5 bg-red\">\n <textarea class=\"w-100 dossier-schema\" rows=\"25\" disabled\n >{{ documentDefinition | json }}\n </textarea>\n </div>\n <div class=\"col-5 offset-2 bg-blue\">\n <div\n class=\"input-group mb-5\"\n *ngFor=\"let processDocumentDefinition of processDocumentDefinitions\"\n >\n <div class=\"input-group-prepend w-75\">\n <button\n class=\"btn btn-danger\"\n (click)=\"deleteProcessDocumentDefinition(processDocumentDefinition)\"\n data-toggle=\"tooltip\"\n data-placement=\"left\"\n title=\"Delete this connected process\"\n >\n <i class=\"fa fa-trash\"></i>\n </button>\n <input\n class=\"form-control\"\n [value]=\"\n processDocumentDefinition.processName\n ? processDocumentDefinition.processName\n : '' + ' (' + processDocumentDefinition.id.processDefinitionKey + ')'\n \"\n type=\"text\"\n disabled\n />\n </div>\n <div class=\"row mb-2 mt-2\">\n <label\n class=\"custom-control custom-checkbox custom-control-inline pl-6 mr-5\"\n placement=\"bottom\"\n ngbTooltip=\"{{ 'processCaseConnection.processCreatesCaseTooltip' | translate }}\"\n >\n <input\n class=\"custom-control-input\"\n type=\"checkbox\"\n [checked]=\"processDocumentDefinition.canInitializeDocument\"\n disabled\n /><span class=\"custom-control-label custom-control-color\">{{\n 'processCaseConnection.processCreatesCase' | translate\n }}</span>\n </label>\n <label\n class=\"custom-control custom-checkbox custom-control-inline pl-6\"\n placement=\"bottom\"\n ngbTooltip=\"{{ 'processCaseConnection.startableWithinCaseTooltip' | translate }}\"\n >\n <input\n class=\"custom-control-input\"\n type=\"checkbox\"\n [checked]=\"processDocumentDefinition.startableByUser\"\n disabled\n /><span class=\"custom-control-label custom-control-color\">{{\n 'processCaseConnection.startableWithinCase' | translate\n }}</span>\n </label>\n </div>\n </div>\n <div class=\"text-right mt-5 mb-5\">\n <button class=\"btn btn-primary\" (click)=\"openDossierConnectModal()\">\n <i class=\"icon mdi mdi-plus\"></i> &nbsp; Connect process\n </button>\n </div>\n <valtimo-extension\n module=\"dossier-management\"\n page=\"dossier\"\n section=\"right-panel\"\n ></valtimo-extension>\n </div>\n </div>\n </valtimo-widget>\n\n <valtimo-dossier-management-connect-modal\n #dossierConnectModal\n (reloadProcessDocumentDefinitions)=\"loadProcessDocumentDefinitions()\"\n ></valtimo-dossier-management-connect-modal>\n <valtimo-dossier-management-remove-modal\n #dossierRemoveModal\n ></valtimo-dossier-management-remove-modal>\n </div>\n</div>\n",
179
+ 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<div class=\"main-content pt-0\">\n <div class=\"container-fluid\">\n <div *ngIf=\"documentDefinition\" class=\"btn-group mt-m3px mb-3 float-right\">\n <button class=\"btn btn-primary btn-space\" (click)=\"downloadDefinition()\">\n <i class=\"icon mdi mdi-download mr-1\"></i>\n {{ 'Download document definition' | translate }}\n </button>\n <a id=\"downloadAnchorElement\" style=\"display: none\"></a>\n <button\n *ngIf=\"!this.documentDefinition.readOnly\"\n class=\"btn btn-secondary btn-space mr-0\"\n (click)=\"openDossierRemoveModal()\"\n >\n <i class=\"icon mdi mdi-delete mr-1\"></i>\n {{ 'Remove document definition' | translate }}\n </button>\n </div>\n <div class=\"clearfix\"></div>\n <valtimo-widget *ngIf=\"documentDefinition\">\n <div class=\"bg-light dossier-header\">\n <h3 class=\"dossier-title\">\n {{ documentDefinition.schema.title }}\n <div *ngIf=\"documentDefinition.readOnly\" class=\"pull-right\">\n <span class=\"badge badge-pill badge-info increase-size\">{{\n 'dossierManagement.readonly' | translate\n }}</span>\n </div>\n </h3>\n </div>\n <div class=\"row bg-white mt-5 mb-2 pl-2 pr-2\">\n <div class=\"col-5\">\n <h2>{{ 'document definition' | translate }}</h2>\n </div>\n <div class=\"col-5 offset-2\">\n <h2>{{ 'dossierManagement.connectedProcesses' | translate }}</h2>\n </div>\n </div>\n <div class=\"row bg-white mb-5 pb-4 pl-2 pr-2\">\n <div class=\"col-5 bg-red\">\n <textarea class=\"w-100 dossier-schema\" rows=\"25\" disabled\n >{{ documentDefinition | json }}\n </textarea>\n </div>\n <div class=\"col-5 offset-2 bg-blue\">\n <div\n class=\"input-group mb-5\"\n *ngFor=\"let processDocumentDefinition of processDocumentDefinitions\"\n >\n <div class=\"input-group-prepend w-75\">\n <button\n class=\"btn btn-danger\"\n (click)=\"deleteProcessDocumentDefinition(processDocumentDefinition)\"\n data-toggle=\"tooltip\"\n data-placement=\"left\"\n title=\"Delete this connected process\"\n >\n <i class=\"icon mdi mdi-delete mr-1\"></i>\n </button>\n <input\n class=\"form-control\"\n [value]=\"\n processDocumentDefinition.processName\n ? processDocumentDefinition.processName\n : '' + ' (' + processDocumentDefinition.id.processDefinitionKey + ')'\n \"\n type=\"text\"\n disabled\n />\n </div>\n <div class=\"row mb-2 mt-2\">\n <label\n class=\"custom-control custom-checkbox custom-control-inline pl-6 mr-5\"\n placement=\"bottom\"\n ngbTooltip=\"{{ 'processCaseConnection.processCreatesCaseTooltip' | translate }}\"\n >\n <input\n class=\"custom-control-input\"\n type=\"checkbox\"\n [checked]=\"processDocumentDefinition.canInitializeDocument\"\n disabled\n /><span class=\"custom-control-label custom-control-color\">{{\n 'processCaseConnection.processCreatesCase' | translate\n }}</span>\n </label>\n <label\n class=\"custom-control custom-checkbox custom-control-inline pl-6\"\n placement=\"bottom\"\n ngbTooltip=\"{{ 'processCaseConnection.startableWithinCaseTooltip' | translate }}\"\n >\n <input\n class=\"custom-control-input\"\n type=\"checkbox\"\n [checked]=\"processDocumentDefinition.startableByUser\"\n disabled\n /><span class=\"custom-control-label custom-control-color\">{{\n 'processCaseConnection.startableWithinCase' | translate\n }}</span>\n </label>\n </div>\n </div>\n <div class=\"text-right mt-5 mb-5\">\n <button class=\"btn btn-primary\" (click)=\"openDossierConnectModal()\">\n <i class=\"icon mdi mdi-plus mr-1\"></i\n >{{ 'dossierManagement.connectProcess' | translate }}\n </button>\n </div>\n <valtimo-dossier-management-roles [documentDefinitionName]=\"documentDefinitionName\">\n </valtimo-dossier-management-roles>\n <valtimo-extension\n module=\"dossier-management\"\n page=\"dossier\"\n section=\"right-panel\"\n ></valtimo-extension>\n </div>\n </div>\n </valtimo-widget>\n\n <valtimo-dossier-management-connect-modal\n #dossierConnectModal\n (reloadProcessDocumentDefinitions)=\"loadProcessDocumentDefinitions()\"\n ></valtimo-dossier-management-connect-modal>\n <valtimo-dossier-management-remove-modal\n #dossierRemoveModal\n ></valtimo-dossier-management-remove-modal>\n </div>\n</div>\n",
180
180
  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 */.dossier-header{border-bottom:1px solid #dee2e6;height:80px;padding-left:18px;padding-right:18px;padding-top:21px}.dossier-title{margin-bottom:7px;margin-top:0}.row{margin:0}.dossier-schema{resize:none}"]
181
181
  },] }
182
182
  ];
@@ -187,7 +187,8 @@
187
187
  ]; };
188
188
  DossierManagementDetailComponent.propDecorators = {
189
189
  dossierConnectModal: [{ type: core.ViewChild, args: ['dossierConnectModal',] }],
190
- dossierRemoveModal: [{ type: core.ViewChild, args: ['dossierRemoveModal',] }]
190
+ dossierRemoveModal: [{ type: core.ViewChild, args: ['dossierRemoveModal',] }],
191
+ documentRoles: [{ type: core.ViewChild, args: ['documentRoles',] }]
191
192
  };
192
193
 
193
194
  /*
@@ -239,7 +240,7 @@
239
240
  DossierManagementListComponent.prototype.getDocumentDefinitions = function () {
240
241
  var _this = this;
241
242
  this.documentService
242
- .queryDefinitions({ page: this.pageParam, size: this.pagination.size })
243
+ .queryDefinitions({ filteredOnRole: false, page: this.pageParam, size: this.pagination.size })
243
244
  .subscribe(function (documentDefinitionPage) {
244
245
  _this.pagination.collectionSize = documentDefinitionPage.totalElements;
245
246
  _this.dossiers = documentDefinitionPage.content;
@@ -256,7 +257,7 @@
256
257
  DossierManagementListComponent.decorators = [
257
258
  { type: core.Component, args: [{
258
259
  selector: 'valtimo-dossier-management-list',
259
- 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<div class=\"main-content pt-0\">\n <div class=\"container-fluid\">\n <div class=\"btn-group mt-m3px mb-3 float-right\">\n <button class=\"btn btn-secondary btn-space mr-0\" (click)=\"showModal()\">\n <i class=\"icon mdi mdi-upload\"></i>&nbsp;\n {{ 'Upload document definition' | translate }}\n </button>\n </div>\n <div class=\"clearfix\"></div>\n <valtimo-widget>\n <valtimo-list\n [items]=\"dossiers\"\n [fields]=\"dossierFields\"\n [header]=\"true\"\n [viewMode]=\"true\"\n [isSearchable]=\"true\"\n [pagination]=\"pagination\"\n paginationIdentifier=\"dossierManagementList\"\n (paginationClicked)=\"paginationClicked($event)\"\n (paginationSet)=\"paginationSet()\"\n (rowClicked)=\"redirectToDetails($event)\"\n >\n <div header>\n <h3 class=\"list-header-title\">{{ 'Dossiers' | translate }}</h3>\n <h5 class=\"list-header-description\">{{ 'Overview of all Dossiers' | translate }}</h5>\n </div>\n </valtimo-list>\n </valtimo-widget>\n </div>\n</div>\n\n<valtimo-dossier-management-upload\n [show$]=\"showModal$\"\n (definitionUploaded)=\"paginationSet()\"\n></valtimo-dossier-management-upload>\n",
260
+ 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<div class=\"main-content pt-0\">\n <div class=\"container-fluid\">\n <div class=\"btn-group mt-m3px mb-3 float-right\">\n <button class=\"btn btn-secondary btn-space mr-0\" (click)=\"showModal()\">\n <i class=\"icon mdi mdi-upload mr-1\"></i>\n {{ 'Upload document definition' | translate }}\n </button>\n </div>\n <div class=\"clearfix\"></div>\n <valtimo-widget>\n <valtimo-list\n [items]=\"dossiers\"\n [fields]=\"dossierFields\"\n [header]=\"true\"\n [viewMode]=\"true\"\n [isSearchable]=\"true\"\n [pagination]=\"pagination\"\n paginationIdentifier=\"dossierManagementList\"\n (paginationClicked)=\"paginationClicked($event)\"\n (paginationSet)=\"paginationSet()\"\n (rowClicked)=\"redirectToDetails($event)\"\n >\n <div header>\n <h3 class=\"list-header-title\">{{ 'Dossiers' | translate }}</h3>\n <h5 class=\"list-header-description\">{{ 'Overview of all Dossiers' | translate }}</h5>\n </div>\n </valtimo-list>\n </valtimo-widget>\n </div>\n</div>\n\n<valtimo-dossier-management-upload\n [show$]=\"showModal$\"\n (definitionUploaded)=\"paginationSet()\"\n></valtimo-dossier-management-upload>\n",
260
261
  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 */"]
261
262
  },] }
262
263
  ];
@@ -450,7 +451,7 @@
450
451
  DossierManagementUploadComponent.decorators = [
451
452
  { type: core.Component, args: [{
452
453
  selector: 'valtimo-dossier-management-upload',
453
- template: "<valtimo-modal\n #uploadDefinitionModal\n [title]=\"'Upload document definition' | translate\"\n showFooter=\"true\"\n>\n <div class=\"mt-2\" body>\n <valtimo-dropzone\n [clear$]=\"clear$\"\n (fileSelected)=\"setFile($event)\"\n [disabled]=\"disabled$ | async\"\n [subtitle]=\"'dropzone.jsonDocDef' | translate\"\n [externalError$]=\"error$\"\n ></valtimo-dropzone>\n </div>\n <div footer>\n <ng-container *ngIf=\"(jsonString$ | async) && !(error$ | async); else pleaseSelect\">\n <button [disabled]=\"disabled$ | async\" class=\"btn btn-primary\" (click)=\"uploadDefinition()\">\n {{ 'Upload' | translate }}\n </button>\n </ng-container>\n </div>\n</valtimo-modal>\n\n<ng-template #pleaseSelect>\n <button class=\"btn btn-primary\" [disabled]=\"true\">\n {{ 'Select a document definition' | translate }}\n </button>\n</ng-template>\n",
454
+ template: "<valtimo-modal\n #uploadDefinitionModal\n [title]=\"'Upload document definition' | translate\"\n showFooter=\"true\"\n>\n <div class=\"mt-2\" body>\n <valtimo-dropzone\n [clear$]=\"clear$\"\n (fileSelected)=\"setFile($event)\"\n [disabled]=\"disabled$ | async\"\n [subtitle]=\"'dropzone.jsonDocDef' | translate\"\n [externalError$]=\"error$\"\n ></valtimo-dropzone>\n </div>\n <div footer>\n <ng-container *ngIf=\"(jsonString$ | async) && !(error$ | async); else pleaseSelect\">\n <button [disabled]=\"disabled$ | async\" class=\"btn btn-primary\" (click)=\"uploadDefinition()\">\n <i class=\"icon mdi mdi-upload mr-1\"></i>\n {{ 'Upload' | translate }}\n </button>\n </ng-container>\n </div>\n</valtimo-modal>\n\n<ng-template #pleaseSelect>\n <button class=\"btn btn-primary\" [disabled]=\"true\">\n {{ 'Select a document definition' | translate }}\n </button>\n</ng-template>\n",
454
455
  styles: [""]
455
456
  },] }
456
457
  ];
@@ -524,6 +525,106 @@
524
525
  modal: [{ type: core.ViewChild, args: ['documentDefinitionRemoveModal',] }]
525
526
  };
526
527
 
528
+ /*
529
+ * Copyright 2015-2022 Ritense BV, the Netherlands.
530
+ *
531
+ * Licensed under EUPL, Version 1.2 (the "License");
532
+ * you may not use this file except in compliance with the License.
533
+ * You may obtain a copy of the License at
534
+ *
535
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
536
+ *
537
+ * Unless required by applicable law or agreed to in writing, software
538
+ * distributed under the License is distributed on an "AS IS" basis,
539
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
540
+ * See the License for the specific language governing permissions and
541
+ * limitations under the License.
542
+ */
543
+ var DossierManagementRolesComponent = /** @class */ (function () {
544
+ function DossierManagementRolesComponent(authorityService, documentService, alertService, translateService) {
545
+ this.authorityService = authorityService;
546
+ this.documentService = documentService;
547
+ this.alertService = alertService;
548
+ this.translateService = translateService;
549
+ this.dropdownSettings = {
550
+ singleSelection: false,
551
+ idField: 'name',
552
+ textField: 'name',
553
+ selectAllText: 'Select All',
554
+ unSelectAllText: 'UnSelect All',
555
+ itemsShowLimit: 3,
556
+ enableCheckAll: true,
557
+ allowSearchFilter: true,
558
+ };
559
+ this.roles = new rxjs.BehaviorSubject(undefined);
560
+ this.preSelectedItems = new rxjs.BehaviorSubject(undefined);
561
+ }
562
+ DossierManagementRolesComponent.prototype.ngOnInit = function () {
563
+ this.loadAllRoles();
564
+ };
565
+ DossierManagementRolesComponent.prototype.loadAllRoles = function () {
566
+ var _this = this;
567
+ this.authorityService.query().subscribe(function (result) {
568
+ _this.roles.next(result.body);
569
+ _this.loadDocumentRoles();
570
+ });
571
+ };
572
+ DossierManagementRolesComponent.prototype.loadDocumentRoles = function () {
573
+ var _this = this;
574
+ if (this.documentDefinitionName) {
575
+ this.documentService.getDocumentRoles(this.documentDefinitionName).subscribe(function (result) {
576
+ _this.preSelectedItems.next(result);
577
+ }, function (err) {
578
+ _this.alertService.warning(_this.translateService.instant('dossierManagement.roles.messages.unsuccessfullyRetrievedRoles'));
579
+ });
580
+ }
581
+ };
582
+ DossierManagementRolesComponent.prototype.onSelectedItems = function (data) {
583
+ var _this = this;
584
+ var roles = this.returnArrayOfString(data);
585
+ if (lodash.isEqual(roles, this.preSelectedItems.value)) {
586
+ return;
587
+ }
588
+ this.documentService.modifyDocumentRoles(this.documentDefinitionName, roles).subscribe(function () {
589
+ _this.alertService.success(_this.translateService.instant('dossierManagement.roles.messages.successfullyStored'));
590
+ _this.preSelectedItems.next(roles);
591
+ }, function (err) {
592
+ _this.alertService.error(_this.translateService.instant('dossierManagement.roles.messages.unsuccessfullyStored'));
593
+ });
594
+ };
595
+ /**
596
+ * The data could be either an array of string (i.e. ["ROLE_ADMIN", "ROLE_DEVELOPER"]
597
+ * or an array of object with name parameters (i.e. [{"name": "ROLE_ADMIN"},{"name":"ROLE_DEVELOPER}]
598
+ *
599
+ * This method will always make sure an array of strings is returned
600
+ */
601
+ DossierManagementRolesComponent.prototype.returnArrayOfString = function (data) {
602
+ return data.map(function (el) {
603
+ if (typeof el === 'string') {
604
+ return el;
605
+ }
606
+ return el.name;
607
+ });
608
+ };
609
+ return DossierManagementRolesComponent;
610
+ }());
611
+ DossierManagementRolesComponent.decorators = [
612
+ { type: core.Component, args: [{
613
+ selector: 'valtimo-dossier-management-roles',
614
+ template: "<!--\n ~ Copyright 2015-2022 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<!--<h2 class=\"mb-4 mt-6\">{{ 'connectorManagement.extension.title' | translate }}</h2>-->\n<h2 class=\"mb-4 mt-6\">{{ 'dossierManagement.roles.rolesTitle' | translate }}</h2>\n<p class=\"card-text\">{{ 'dossierManagement.roles.rolesDescription' | translate }}</p>\n\n<valtimo-multiselect-dropdown\n [items]=\"roles | async\"\n [selectedItems]=\"preSelectedItems | async\"\n [dropdownSettings]=\"dropdownSettings\"\n [placeHolder]=\"'dossierManagement.roles.rolesPlaceHolder' | translate\"\n (itemsSelected)=\"onSelectedItems($event)\"\n></valtimo-multiselect-dropdown>\n",
615
+ styles: [""]
616
+ },] }
617
+ ];
618
+ DossierManagementRolesComponent.ctorParameters = function () { return [
619
+ { type: authority.AuthorityService },
620
+ { type: document$1.DocumentService },
621
+ { type: components.AlertService },
622
+ { type: core$1.TranslateService }
623
+ ]; };
624
+ DossierManagementRolesComponent.propDecorators = {
625
+ documentDefinitionName: [{ type: core.Input }]
626
+ };
627
+
527
628
  /*
528
629
  * Copyright 2015-2020 Ritense BV, the Netherlands.
529
630
  *
@@ -552,6 +653,7 @@
552
653
  DossierManagementConnectModalComponent,
553
654
  DossierManagementRemoveModalComponent,
554
655
  DossierManagementUploadComponent,
656
+ DossierManagementRolesComponent,
555
657
  ],
556
658
  imports: [
557
659
  common.CommonModule,
@@ -564,6 +666,7 @@
564
666
  components.ModalModule,
565
667
  config.ConfigModule,
566
668
  ngBootstrap.NgbTooltipModule,
669
+ components.MultiselectDropdownModule,
567
670
  ],
568
671
  exports: [],
569
672
  entryComponents: [config.ExtensionComponent],
@@ -596,7 +699,8 @@
596
699
  exports.ɵb = DossierManagementConnectModalComponent;
597
700
  exports.ɵc = DossierManagementRemoveModalComponent;
598
701
  exports.ɵd = DossierManagementUploadComponent;
599
- exports.ɵe = DossierManagementRoutingModule;
702
+ exports.ɵe = DossierManagementRolesComponent;
703
+ exports.ɵf = DossierManagementRoutingModule;
600
704
 
601
705
  Object.defineProperty(exports, '__esModule', { value: true });
602
706
 
@@ -1 +1 @@
1
- {"version":3,"file":"valtimo-dossier-management.umd.js","sources":["../../../../projects/valtimo/dossier-management/src/lib/dossier-management-connect-modal/dossier-management-connect-modal.component.ts","../../../../projects/valtimo/dossier-management/src/lib/dossier-management-detail/dossier-management-detail.component.ts","../../../../projects/valtimo/dossier-management/src/lib/dossier-management-list/dossier-management-list.component.ts","../../../../projects/valtimo/dossier-management/src/lib/dossier-management-routing.module.ts","../../../../projects/valtimo/dossier-management/src/lib/dossier-management-upload/dossier-management-upload.component.ts","../../../../projects/valtimo/dossier-management/src/lib/dossier-management-remove-modal/dossier-management-remove-modal.component.ts","../../../../projects/valtimo/dossier-management/src/lib/dossier-management.module.ts","../../../../projects/valtimo/dossier-management/src/public-api.ts","../../../../projects/valtimo/dossier-management/src/valtimo-dossier-management.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 {Component, EventEmitter, OnInit, Output, ViewChild} from '@angular/core';\nimport {\n DocumentService,\n ProcessDocumentDefinitionRequest,\n ProcessDocumentDefinition,\n DocumentDefinition,\n} from '@valtimo/document';\nimport {ProcessService, ProcessDefinition} from '@valtimo/process';\nimport {ToastrService} from 'ngx-toastr';\nimport {ModalComponent} from '@valtimo/components';\n\n@Component({\n selector: 'valtimo-dossier-management-connect-modal',\n templateUrl: './dossier-management-connect-modal.component.html',\n styleUrls: ['./dossier-management-connect-modal.component.scss'],\n})\nexport class DossierManagementConnectModalComponent implements OnInit {\n public documentDefinition: DocumentDefinition | null = null;\n public processDefinitions: ProcessDefinition[];\n public newDocumentProcessDefinition: ProcessDefinition | null = null;\n public newDocumentProcessDefinitionInit = true;\n public newDocumentProcessDefinitionStartableByUser = false;\n public processDocumentDefinitionExists: any = {};\n @Output() public reloadProcessDocumentDefinitions = new EventEmitter<any>();\n @ViewChild('dossierConnectModal') modal: ModalComponent;\n\n constructor(\n private processService: ProcessService,\n private documentService: DocumentService,\n private toasterService: ToastrService\n ) {}\n\n loadProcessDocumentDefinitions() {\n this.processDocumentDefinitionExists = {};\n this.documentService\n .findProcessDocumentDefinitions(this.documentDefinition.id.name)\n .subscribe((processDocumentDefinitions: ProcessDocumentDefinition[]) => {\n processDocumentDefinitions.forEach(\n (processDocumentDefinition: ProcessDocumentDefinition) => {\n this.processDocumentDefinitionExists[\n processDocumentDefinition.id.processDefinitionKey\n ] = true;\n }\n );\n });\n }\n\n loadProcessDefinitions() {\n this.processService\n .getProcessDefinitions()\n .subscribe((processDefinitions: ProcessDefinition[]) => {\n this.processDefinitions = processDefinitions;\n });\n }\n\n ngOnInit() {\n this.loadProcessDefinitions();\n }\n\n openModal(dossier: DocumentDefinition) {\n this.documentDefinition = dossier;\n this.newDocumentProcessDefinition = null;\n this.newDocumentProcessDefinitionInit = true;\n this.newDocumentProcessDefinitionStartableByUser = false;\n this.loadProcessDocumentDefinitions();\n this.modal.show();\n }\n\n submit() {\n const request: ProcessDocumentDefinitionRequest = {\n canInitializeDocument: this.newDocumentProcessDefinitionInit,\n startableByUser: this.newDocumentProcessDefinitionStartableByUser,\n documentDefinitionName: this.documentDefinition.id.name,\n processDefinitionKey: this.newDocumentProcessDefinition.key,\n };\n this.documentService.createProcessDocumentDefinition(request).subscribe(\n () => {\n this.toasterService.success('Successfully added new process document definition');\n this.reloadProcessDocumentDefinitions.emit();\n },\n err => {\n this.toasterService.error('Failed to add new process document definition');\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\nimport {Component, OnInit, ViewChild} from '@angular/core';\nimport {DocumentService, DocumentDefinition, ProcessDocumentDefinition} from '@valtimo/document';\nimport {ActivatedRoute} from '@angular/router';\nimport {DossierManagementConnectModalComponent} from '../dossier-management-connect-modal/dossier-management-connect-modal.component';\nimport {AlertService} from '@valtimo/components';\nimport {DossierManagementRemoveModalComponent} from '../dossier-management-remove-modal/dossier-management-remove-modal.component';\n\n@Component({\n selector: 'valtimo-dossier-management-detail',\n templateUrl: './dossier-management-detail.component.html',\n styleUrls: ['./dossier-management-detail.component.scss'],\n})\nexport class DossierManagementDetailComponent implements OnInit {\n private documentDefinitionName: string | null = null;\n public documentDefinition: DocumentDefinition | null = null;\n public processDocumentDefinitions: ProcessDocumentDefinition[] = [];\n\n @ViewChild('dossierConnectModal') dossierConnectModal: DossierManagementConnectModalComponent;\n @ViewChild('dossierRemoveModal') dossierRemoveModal: DossierManagementRemoveModalComponent;\n\n constructor(\n private documentService: DocumentService,\n private route: ActivatedRoute,\n private alertService: AlertService\n ) {\n this.documentDefinitionName = this.route.snapshot.paramMap.get('name');\n }\n\n ngOnInit() {\n this.loadDocumentDefinition();\n this.loadProcessDocumentDefinitions();\n }\n\n loadProcessDocumentDefinitions() {\n this.documentService\n .findProcessDocumentDefinitions(this.documentDefinitionName)\n .subscribe((processDocumentDefinitions: ProcessDocumentDefinition[]) => {\n this.processDocumentDefinitions = processDocumentDefinitions;\n });\n }\n\n loadDocumentDefinition() {\n this.documentService\n .getDocumentDefinition(this.documentDefinitionName)\n .subscribe((documentDefinition: DocumentDefinition) => {\n this.documentDefinition = documentDefinition;\n });\n }\n\n openDossierConnectModal() {\n this.dossierConnectModal.openModal(this.documentDefinition);\n }\n\n openDossierRemoveModal() {\n this.dossierRemoveModal.openModal(this.documentDefinition);\n }\n\n deleteProcessDocumentDefinition(processDocumentDefinition: ProcessDocumentDefinition) {\n this.documentService\n .deleteProcessDocumentDefinition({\n documentDefinitionName: processDocumentDefinition.id.documentDefinitionId.name,\n processDefinitionKey: processDocumentDefinition.id.processDefinitionKey,\n canInitializeDocument: processDocumentDefinition.canInitializeDocument,\n startableByUser: processDocumentDefinition.startableByUser,\n })\n .subscribe(\n () => {\n this.alertService.success('Successfully deleted process document definition');\n this.loadProcessDocumentDefinitions();\n },\n () => {\n this.alertService.error('Failed to delete process document definition');\n }\n );\n }\n\n downloadDefinition(): void {\n const definition = this.documentDefinition;\n const dataString =\n 'data:text/json;charset=utf-8,' +\n encodeURIComponent(JSON.stringify(definition.schema, null, 2));\n const downloadAnchorElement = document.getElementById('downloadAnchorElement');\n downloadAnchorElement.setAttribute('href', dataString);\n downloadAnchorElement.setAttribute(\n 'download',\n `${definition.id.name}-v${definition.id.version}.json`\n );\n downloadAnchorElement.click();\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 {Component} from '@angular/core';\nimport {DocumentService, DocumentDefinition, Page} from '@valtimo/document';\nimport {Router} from '@angular/router';\nimport * as moment_ from 'moment';\nimport {BehaviorSubject} from 'rxjs';\n\nconst moment = moment_;\nmoment.locale(localStorage.getItem('langKey') || '');\n\n@Component({\n selector: 'valtimo-dossier-management-list',\n templateUrl: './dossier-management-list.component.html',\n styleUrls: ['./dossier-management-list.component.scss'],\n})\nexport class DossierManagementListComponent {\n public dossiers: DocumentDefinition[] = [];\n public pagination = {\n collectionSize: 0,\n page: 1,\n size: 10,\n maxPaginationItemSize: 5,\n };\n public pageParam = 0;\n public dossierFields = [\n {key: 'schema.title', label: 'Title'},\n {key: 'createdOn', label: 'Created On'},\n {key: 'readOnly', label: 'Read-only'},\n ];\n\n readonly showModal$ = new BehaviorSubject<boolean>(false);\n\n constructor(private documentService: DocumentService, private router: Router) {}\n\n public paginationClicked(page) {\n this.pageParam = page - 1;\n this.getDocumentDefinitions();\n }\n\n paginationSet() {\n this.getDocumentDefinitions();\n }\n\n redirectToDetails(documentDefinition: DocumentDefinition) {\n this.router.navigate(['/dossier-management/dossier', documentDefinition.id.name]);\n }\n\n private getDocumentDefinitions() {\n this.documentService\n .queryDefinitions({page: this.pageParam, size: this.pagination.size})\n .subscribe((documentDefinitionPage: Page<DocumentDefinition>) => {\n this.pagination.collectionSize = documentDefinitionPage.totalElements;\n this.dossiers = documentDefinitionPage.content;\n this.dossiers.map((dossier: DocumentDefinition) => {\n dossier.createdOn = moment(dossier.createdOn).format('DD MMM YYYY HH:mm');\n });\n });\n }\n\n showModal() {\n this.showModal$.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\nimport {NgModule} from '@angular/core';\nimport {RouterModule, Routes} from '@angular/router';\nimport {AuthGuardService} from '@valtimo/security';\nimport {DossierManagementDetailComponent} from './dossier-management-detail/dossier-management-detail.component';\nimport {DossierManagementListComponent} from './dossier-management-list/dossier-management-list.component';\nimport {ROLE_ADMIN} from '@valtimo/config';\n\nconst routes: Routes = [\n {\n path: 'dossier-management',\n component: DossierManagementListComponent,\n canActivate: [AuthGuardService],\n data: {title: 'Dossiers', roles: [ROLE_ADMIN]},\n },\n {\n path: 'dossier-management/dossier/:name',\n component: DossierManagementDetailComponent,\n canActivate: [AuthGuardService],\n data: {title: 'Dossier details', roles: [ROLE_ADMIN]},\n },\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes)],\n exports: [RouterModule],\n declarations: [],\n})\nexport class DossierManagementRoutingModule {}\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 AfterViewInit,\n Component,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n ViewChild,\n} from '@angular/core';\nimport {TranslateService} from '@ngx-translate/core';\nimport {MenuService, ModalComponent} from '@valtimo/components';\nimport {DocumentService, DocumentDefinitionCreateRequest} from '@valtimo/document';\nimport {BehaviorSubject, Observable, Subject, Subscription} from 'rxjs';\nimport {switchMap, take, tap} from 'rxjs/operators';\n\n@Component({\n selector: 'valtimo-dossier-management-upload',\n templateUrl: './dossier-management-upload.component.html',\n styleUrls: ['./dossier-management-upload.component.scss'],\n})\nexport class DossierManagementUploadComponent implements AfterViewInit, OnDestroy {\n @Input() show$: Observable<boolean>;\n @Output() definitionUploaded: EventEmitter<any> = new EventEmitter();\n\n @ViewChild('uploadDefinitionModal') modal: ModalComponent;\n\n readonly clear$ = new Subject();\n\n readonly jsonString$ = new BehaviorSubject<string>('');\n\n readonly error$ = new BehaviorSubject<string>('');\n\n readonly disabled$ = new BehaviorSubject<boolean>(false);\n\n private showSubscription: Subscription;\n\n private fileSubscription: Subscription;\n\n private errorSubscription: Subscription;\n\n private readonly file$ = new BehaviorSubject<File>(undefined);\n\n constructor(\n private readonly documentService: DocumentService,\n private readonly translateService: TranslateService,\n private readonly menuService: MenuService\n ) {}\n\n ngAfterViewInit(): void {\n this.openShowSubscription();\n this.openFileSubscription();\n }\n\n ngOnDestroy(): void {\n this.showSubscription.unsubscribe();\n this.fileSubscription.unsubscribe();\n this.closeErrorSubscription();\n }\n\n setFile(file: File): void {\n this.clearError();\n this.file$.next(file);\n }\n\n uploadDefinition(): void {\n this.disable();\n\n this.jsonString$\n .pipe(\n switchMap(jsonString =>\n this.documentService\n .createDocumentDefinition(new DocumentDefinitionCreateRequest(jsonString))\n .pipe(\n tap(\n // success\n () => {\n this.closeErrorSubscription();\n this.clearError();\n this.enable();\n this.hideModal();\n this.menuService.reload();\n this.definitionUploaded.emit();\n },\n // error\n () => {\n this.openErrorSubscription('dropzone.error.invalidDocDef');\n this.enable();\n }\n )\n )\n ),\n take(1)\n )\n .subscribe();\n }\n\n private openErrorSubscription(errorCode: string): void {\n this.closeErrorSubscription();\n this.errorSubscription = this.translateService.stream(errorCode).subscribe(error => {\n this.error$.next(error);\n });\n }\n\n private closeErrorSubscription(): void {\n if (this.errorSubscription) {\n this.errorSubscription.unsubscribe();\n }\n }\n\n private clearError(): void {\n this.error$.next('');\n }\n\n private openFileSubscription(): void {\n this.fileSubscription = this.file$.subscribe(file => {\n if (file) {\n const reader = new FileReader();\n\n reader.onloadend = () => {\n const result = reader.result.toString();\n if (this.stringIsValidJson(result)) {\n this.jsonString$.next(result);\n }\n };\n\n reader.readAsText(file);\n } else {\n this.clearJsonString();\n }\n });\n }\n\n private openShowSubscription(): void {\n this.showSubscription = this.show$.subscribe(show => {\n if (show) {\n this.showModal();\n } else {\n this.hideModal();\n }\n\n this.clearJsonString();\n this.clearError();\n this.clearDropzone();\n });\n }\n\n private clearJsonString(): void {\n this.jsonString$.next('');\n }\n\n private clearDropzone(): void {\n this.clear$.next();\n }\n\n private showModal(): void {\n this.modal.show();\n }\n\n private hideModal(): void {\n this.modal.hide();\n }\n\n private stringIsValidJson(string: string) {\n try {\n JSON.parse(string);\n } catch (e) {\n return false;\n }\n return true;\n }\n\n private disable(): void {\n this.disabled$.next(true);\n }\n\n private enable(): void {\n this.disabled$.next(false);\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 {Component, ViewChild} from '@angular/core';\nimport {\n DocumentService,\n DocumentDefinition,\n UndeployDocumentDefinitionResult,\n} from '@valtimo/document';\nimport {MenuService, ModalComponent} from '@valtimo/components';\nimport {ToastrService} from 'ngx-toastr';\nimport {Router} from '@angular/router';\nimport {TranslateService} from '@ngx-translate/core';\n\n@Component({\n selector: 'valtimo-dossier-management-remove-modal',\n templateUrl: './dossier-management-remove-modal.component.html',\n styleUrls: ['./dossier-management-remove-modal.component.scss'],\n})\nexport class DossierManagementRemoveModalComponent {\n public documentDefinition: DocumentDefinition | null = null;\n public errors: string[] = [];\n @ViewChild('documentDefinitionRemoveModal') modal: ModalComponent;\n\n constructor(\n private documentService: DocumentService,\n private toasterService: ToastrService,\n private router: Router,\n private translateService: TranslateService,\n private menuService: MenuService\n ) {}\n\n openModal(documentDefinition: DocumentDefinition) {\n this.documentDefinition = documentDefinition;\n this.modal.show();\n }\n\n removeDocumentDefinition() {\n this.documentService.removeDocumentDefinition(this.documentDefinition.id.name).subscribe(\n () => {\n this.menuService.reload();\n this.router.navigate(['/dossier-management']);\n this.toasterService.success(\n this.translateService.instant('remove-document-definition-success')\n );\n },\n (result: UndeployDocumentDefinitionResult) => {\n this.errors = result.errors;\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\nimport {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {TranslateModule} from '@ngx-translate/core';\nimport {DropzoneModule, ListModule, ModalModule, WidgetModule} from '@valtimo/components';\nimport {ConfigModule, ExtensionComponent} from '@valtimo/config';\nimport {DossierManagementConnectModalComponent} from './dossier-management-connect-modal/dossier-management-connect-modal.component';\nimport {DossierManagementDetailComponent} from './dossier-management-detail/dossier-management-detail.component';\nimport {DossierManagementListComponent} from './dossier-management-list/dossier-management-list.component';\nimport {DossierManagementRoutingModule} from './dossier-management-routing.module';\nimport {DossierManagementUploadComponent} from './dossier-management-upload/dossier-management-upload.component';\nimport {DossierManagementRemoveModalComponent} from './dossier-management-remove-modal/dossier-management-remove-modal.component';\nimport {NgbTooltipModule} from '@ng-bootstrap/ng-bootstrap';\n\n@NgModule({\n declarations: [\n DossierManagementListComponent,\n DossierManagementDetailComponent,\n DossierManagementConnectModalComponent,\n DossierManagementRemoveModalComponent,\n DossierManagementUploadComponent,\n ],\n imports: [\n CommonModule,\n WidgetModule,\n DropzoneModule,\n ListModule,\n DossierManagementRoutingModule,\n FormsModule,\n TranslateModule,\n ModalModule,\n ConfigModule,\n NgbTooltipModule,\n ],\n exports: [],\n entryComponents: [ExtensionComponent],\n})\nexport class DossierManagementModule {}\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 dossier-management\n */\n\nexport * from './lib/dossier-management.module';\nexport * from './lib/dossier-management-list/dossier-management-list.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {DossierManagementConnectModalComponent as ɵb} from './lib/dossier-management-connect-modal/dossier-management-connect-modal.component';\nexport {DossierManagementDetailComponent as ɵa} from './lib/dossier-management-detail/dossier-management-detail.component';\nexport {DossierManagementRemoveModalComponent as ɵc} from './lib/dossier-management-remove-modal/dossier-management-remove-modal.component';\nexport {DossierManagementRoutingModule as ɵe} from './lib/dossier-management-routing.module';\nexport {DossierManagementUploadComponent as ɵd} from './lib/dossier-management-upload/dossier-management-upload.component';"],"names":["EventEmitter","Component","ProcessService","DocumentService","ToastrService","Output","ViewChild","ActivatedRoute","AlertService","BehaviorSubject","Router","ROLE_ADMIN","AuthGuardService","NgModule","RouterModule","Subject","switchMap","DocumentDefinitionCreateRequest","tap","take","TranslateService","MenuService","Input","CommonModule","WidgetModule","DropzoneModule","ListModule","FormsModule","TranslateModule","ModalModule","ConfigModule","NgbTooltipModule","ExtensionComponent"],"mappings":";;;;;;IAAA;;;;;;;;;;;;;;;;QA0CE,gDACU,cAA8B,EAC9B,eAAgC,EAChC,cAA6B;YAF7B,mBAAc,GAAd,cAAc,CAAgB;YAC9B,oBAAe,GAAf,eAAe,CAAiB;YAChC,mBAAc,GAAd,cAAc,CAAe;YAZhC,uBAAkB,GAA8B,IAAI,CAAC;YAErD,iCAA4B,GAA6B,IAAI,CAAC;YAC9D,qCAAgC,GAAG,IAAI,CAAC;YACxC,gDAA2C,GAAG,KAAK,CAAC;YACpD,oCAA+B,GAAQ,EAAE,CAAC;YAChC,qCAAgC,GAAG,IAAIA,iBAAY,EAAO,CAAC;SAOxE;QAEJ,+EAA8B,GAA9B;YAAA,iBAaC;YAZC,IAAI,CAAC,+BAA+B,GAAG,EAAE,CAAC;YAC1C,IAAI,CAAC,eAAe;iBACjB,8BAA8B,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,IAAI,CAAC;iBAC/D,SAAS,CAAC,UAAC,0BAAuD;gBACjE,0BAA0B,CAAC,OAAO,CAChC,UAAC,yBAAoD;oBACnD,KAAI,CAAC,+BAA+B,CAClC,yBAAyB,CAAC,EAAE,CAAC,oBAAoB,CAClD,GAAG,IAAI,CAAC;iBACV,CACF,CAAC;aACH,CAAC,CAAC;SACN;QAED,uEAAsB,GAAtB;YAAA,iBAMC;YALC,IAAI,CAAC,cAAc;iBAChB,qBAAqB,EAAE;iBACvB,SAAS,CAAC,UAAC,kBAAuC;gBACjD,KAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;aAC9C,CAAC,CAAC;SACN;QAED,yDAAQ,GAAR;YACE,IAAI,CAAC,sBAAsB,EAAE,CAAC;SAC/B;QAED,0DAAS,GAAT,UAAU,OAA2B;YACnC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC;YAClC,IAAI,CAAC,4BAA4B,GAAG,IAAI,CAAC;YACzC,IAAI,CAAC,gCAAgC,GAAG,IAAI,CAAC;YAC7C,IAAI,CAAC,2CAA2C,GAAG,KAAK,CAAC;YACzD,IAAI,CAAC,8BAA8B,EAAE,CAAC;YACtC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;SACnB;QAED,uDAAM,GAAN;YAAA,iBAgBC;YAfC,IAAM,OAAO,GAAqC;gBAChD,qBAAqB,EAAE,IAAI,CAAC,gCAAgC;gBAC5D,eAAe,EAAE,IAAI,CAAC,2CAA2C;gBACjE,sBAAsB,EAAE,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,IAAI;gBACvD,oBAAoB,EAAE,IAAI,CAAC,4BAA4B,CAAC,GAAG;aAC5D,CAAC;YACF,IAAI,CAAC,eAAe,CAAC,+BAA+B,CAAC,OAAO,CAAC,CAAC,SAAS,CACrE;gBACE,KAAI,CAAC,cAAc,CAAC,OAAO,CAAC,oDAAoD,CAAC,CAAC;gBAClF,KAAI,CAAC,gCAAgC,CAAC,IAAI,EAAE,CAAC;aAC9C,EACD,UAAA,GAAG;gBACD,KAAI,CAAC,cAAc,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;aAC5E,CACF,CAAC;SACH;;;;gBAzEFC,cAAS,SAAC;oBACT,QAAQ,EAAE,0CAA0C;oBACpD,soGAAgE;;iBAEjE;;;gBAROC,sBAAc;gBALpBC,0BAAe;gBAMTC,uBAAa;;;mDAelBC,WAAM;wBACNC,cAAS,SAAC,qBAAqB;;;ICxClC;;;;;;;;;;;;;;;;QAoCE,0CACU,eAAgC,EAChC,KAAqB,EACrB,YAA0B;YAF1B,oBAAe,GAAf,eAAe,CAAiB;YAChC,UAAK,GAAL,KAAK,CAAgB;YACrB,iBAAY,GAAZ,YAAY,CAAc;YAV5B,2BAAsB,GAAkB,IAAI,CAAC;YAC9C,uBAAkB,GAA8B,IAAI,CAAC;YACrD,+BAA0B,GAAgC,EAAE,CAAC;YAUlE,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;SACxE;QAED,mDAAQ,GAAR;YACE,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC9B,IAAI,CAAC,8BAA8B,EAAE,CAAC;SACvC;QAED,yEAA8B,GAA9B;YAAA,iBAMC;YALC,IAAI,CAAC,eAAe;iBACjB,8BAA8B,CAAC,IAAI,CAAC,sBAAsB,CAAC;iBAC3D,SAAS,CAAC,UAAC,0BAAuD;gBACjE,KAAI,CAAC,0BAA0B,GAAG,0BAA0B,CAAC;aAC9D,CAAC,CAAC;SACN;QAED,iEAAsB,GAAtB;YAAA,iBAMC;YALC,IAAI,CAAC,eAAe;iBACjB,qBAAqB,CAAC,IAAI,CAAC,sBAAsB,CAAC;iBAClD,SAAS,CAAC,UAAC,kBAAsC;gBAChD,KAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;aAC9C,CAAC,CAAC;SACN;QAED,kEAAuB,GAAvB;YACE,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;SAC7D;QAED,iEAAsB,GAAtB;YACE,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;SAC5D;QAED,0EAA+B,GAA/B,UAAgC,yBAAoD;YAApF,iBAiBC;YAhBC,IAAI,CAAC,eAAe;iBACjB,+BAA+B,CAAC;gBAC/B,sBAAsB,EAAE,yBAAyB,CAAC,EAAE,CAAC,oBAAoB,CAAC,IAAI;gBAC9E,oBAAoB,EAAE,yBAAyB,CAAC,EAAE,CAAC,oBAAoB;gBACvE,qBAAqB,EAAE,yBAAyB,CAAC,qBAAqB;gBACtE,eAAe,EAAE,yBAAyB,CAAC,eAAe;aAC3D,CAAC;iBACD,SAAS,CACR;gBACE,KAAI,CAAC,YAAY,CAAC,OAAO,CAAC,kDAAkD,CAAC,CAAC;gBAC9E,KAAI,CAAC,8BAA8B,EAAE,CAAC;aACvC,EACD;gBACE,KAAI,CAAC,YAAY,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;aACzE,CACF,CAAC;SACL;QAED,6DAAkB,GAAlB;YACE,IAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC;YAC3C,IAAM,UAAU,GACd,+BAA+B;gBAC/B,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACjE,IAAM,qBAAqB,GAAG,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC,CAAC;YAC/E,qBAAqB,CAAC,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YACvD,qBAAqB,CAAC,YAAY,CAChC,UAAU,EACP,UAAU,CAAC,EAAE,CAAC,IAAI,UAAK,UAAU,CAAC,EAAE,CAAC,OAAO,UAAO,CACvD,CAAC;YACF,qBAAqB,CAAC,KAAK,EAAE,CAAC;SAC/B;;;;gBAjFFL,cAAS,SAAC;oBACT,QAAQ,EAAE,mCAAmC;oBAC7C,ukLAAyD;;iBAE1D;;;gBAVOE,0BAAe;gBACfI,qBAAc;gBAEdC,uBAAY;;;sCAajBF,cAAS,SAAC,qBAAqB;qCAC/BA,cAAS,SAAC,oBAAoB;;;IClCjC;;;;;;;;;;;;;;;IAsBA,IAAM,MAAM,GAAG,OAAO,CAAC;IACvB,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;;QAwBnD,wCAAoB,eAAgC,EAAU,MAAc;YAAxD,oBAAe,GAAf,eAAe,CAAiB;YAAU,WAAM,GAAN,MAAM,CAAQ;YAhBrE,aAAQ,GAAyB,EAAE,CAAC;YACpC,eAAU,GAAG;gBAClB,cAAc,EAAE,CAAC;gBACjB,IAAI,EAAE,CAAC;gBACP,IAAI,EAAE,EAAE;gBACR,qBAAqB,EAAE,CAAC;aACzB,CAAC;YACK,cAAS,GAAG,CAAC,CAAC;YACd,kBAAa,GAAG;gBACrB,EAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO,EAAC;gBACrC,EAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,EAAC;gBACvC,EAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAC;aACtC,CAAC;YAEO,eAAU,GAAG,IAAIG,oBAAe,CAAU,KAAK,CAAC,CAAC;SAEsB;QAEzE,0DAAiB,GAAjB,UAAkB,IAAI;YAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC;YAC1B,IAAI,CAAC,sBAAsB,EAAE,CAAC;SAC/B;QAED,sDAAa,GAAb;YACE,IAAI,CAAC,sBAAsB,EAAE,CAAC;SAC/B;QAED,0DAAiB,GAAjB,UAAkB,kBAAsC;YACtD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,6BAA6B,EAAE,kBAAkB,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;SACnF;QAEO,+DAAsB,GAAtB;YAAA,iBAUP;YATC,IAAI,CAAC,eAAe;iBACjB,gBAAgB,CAAC,EAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,EAAC,CAAC;iBACpE,SAAS,CAAC,UAAC,sBAAgD;gBAC1D,KAAI,CAAC,UAAU,CAAC,cAAc,GAAG,sBAAsB,CAAC,aAAa,CAAC;gBACtE,KAAI,CAAC,QAAQ,GAAG,sBAAsB,CAAC,OAAO,CAAC;gBAC/C,KAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAC,OAA2B;oBAC5C,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;iBAC3E,CAAC,CAAC;aACJ,CAAC,CAAC;SACN;QAED,kDAAS,GAAT;YACE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC5B;;;;gBAnDFR,cAAS,SAAC;oBACT,QAAQ,EAAE,iCAAiC;oBAC3C,44DAAuD;;iBAExD;;;gBAZOE,0BAAe;gBACfO,aAAM;;;IClBd;;;;;;;;;;;;;;;aA4BU,EAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAACC,iBAAU,CAAC,EAAC,OAMxC,EAAC,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,CAACA,iBAAU,CAAC,EAAC;IAXzD,IAAM,MAAM,GAAW;QACrB;YACE,IAAI,EAAE,oBAAoB;YAC1B,SAAS,EAAE,8BAA8B;YACzC,WAAW,EAAE,CAACC,yBAAgB,CAAC;YAC/B,IAAI,IAA0C;SAC/C;QACD;YACE,IAAI,EAAE,kCAAkC;YACxC,SAAS,EAAE,gCAAgC;YAC3C,WAAW,EAAE,CAACA,yBAAgB,CAAC;YAC/B,IAAI,IAAiD;SACtD;KACF,CAAC;;QAOF;;;;;gBALCC,aAAQ,SAAC;oBACR,OAAO,EAAE,CAACC,mBAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;oBACvC,OAAO,EAAE,CAACA,mBAAY,CAAC;oBACvB,YAAY,EAAE,EAAE;iBACjB;;;IC1CD;;;;;;;;;;;;;;;;QA0DE,0CACmB,eAAgC,EAChC,gBAAkC,EAClC,WAAwB;YAFxB,oBAAe,GAAf,eAAe,CAAiB;YAChC,qBAAgB,GAAhB,gBAAgB,CAAkB;YAClC,gBAAW,GAAX,WAAW,CAAa;YAvBjC,uBAAkB,GAAsB,IAAId,iBAAY,EAAE,CAAC;YAI5D,WAAM,GAAG,IAAIe,YAAO,EAAE,CAAC;YAEvB,gBAAW,GAAG,IAAIN,oBAAe,CAAS,EAAE,CAAC,CAAC;YAE9C,WAAM,GAAG,IAAIA,oBAAe,CAAS,EAAE,CAAC,CAAC;YAEzC,cAAS,GAAG,IAAIA,oBAAe,CAAU,KAAK,CAAC,CAAC;YAQxC,UAAK,GAAG,IAAIA,oBAAe,CAAO,SAAS,CAAC,CAAC;SAM1D;QAEJ,0DAAe,GAAf;YACE,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC5B,IAAI,CAAC,oBAAoB,EAAE,CAAC;SAC7B;QAED,sDAAW,GAAX;YACE,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC;YACpC,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC;YACpC,IAAI,CAAC,sBAAsB,EAAE,CAAC;SAC/B;QAED,kDAAO,GAAP,UAAQ,IAAU;YAChB,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACvB;QAED,2DAAgB,GAAhB;YAAA,iBA8BC;YA7BC,IAAI,CAAC,OAAO,EAAE,CAAC;YAEf,IAAI,CAAC,WAAW;iBACb,IAAI,CACHO,mBAAS,CAAC,UAAA,UAAU,IAClB,OAAA,KAAI,CAAC,eAAe;iBACjB,wBAAwB,CAAC,IAAIC,0CAA+B,CAAC,UAAU,CAAC,CAAC;iBACzE,IAAI,CACHC,aAAG;;YAED;gBACE,KAAI,CAAC,sBAAsB,EAAE,CAAC;gBAC9B,KAAI,CAAC,UAAU,EAAE,CAAC;gBAClB,KAAI,CAAC,MAAM,EAAE,CAAC;gBACd,KAAI,CAAC,SAAS,EAAE,CAAC;gBACjB,KAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;gBAC1B,KAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC;aAChC;;YAED;gBACE,KAAI,CAAC,qBAAqB,CAAC,8BAA8B,CAAC,CAAC;gBAC3D,KAAI,CAAC,MAAM,EAAE,CAAC;aACf,CACF,CACF,GAAA,CACJ,EACDC,cAAI,CAAC,CAAC,CAAC,CACR;iBACA,SAAS,EAAE,CAAC;SAChB;QAEO,gEAAqB,GAArB,UAAsB,SAAiB;YAAvC,iBAKP;YAJC,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC9B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,UAAA,KAAK;gBAC9E,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACzB,CAAC,CAAC;SACJ;QAEO,iEAAsB,GAAtB;YACN,IAAI,IAAI,CAAC,iBAAiB,EAAE;gBAC1B,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC;aACtC;SACF;QAEO,qDAAU,GAAV;YACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SACtB;QAEO,+DAAoB,GAApB;YAAA,iBAiBP;YAhBC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,UAAA,IAAI;gBAC/C,IAAI,IAAI,EAAE;oBACR,IAAM,QAAM,GAAG,IAAI,UAAU,EAAE,CAAC;oBAEhC,QAAM,CAAC,SAAS,GAAG;wBACjB,IAAM,MAAM,GAAG,QAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;wBACxC,IAAI,KAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE;4BAClC,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;yBAC/B;qBACF,CAAC;oBAEF,QAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;iBACzB;qBAAM;oBACL,KAAI,CAAC,eAAe,EAAE,CAAC;iBACxB;aACF,CAAC,CAAC;SACJ;QAEO,+DAAoB,GAApB;YAAA,iBAYP;YAXC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,UAAA,IAAI;gBAC/C,IAAI,IAAI,EAAE;oBACR,KAAI,CAAC,SAAS,EAAE,CAAC;iBAClB;qBAAM;oBACL,KAAI,CAAC,SAAS,EAAE,CAAC;iBAClB;gBAED,KAAI,CAAC,eAAe,EAAE,CAAC;gBACvB,KAAI,CAAC,UAAU,EAAE,CAAC;gBAClB,KAAI,CAAC,aAAa,EAAE,CAAC;aACtB,CAAC,CAAC;SACJ;QAEO,0DAAe,GAAf;YACN,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SAC3B;QAEO,wDAAa,GAAb;YACN,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;SACpB;QAEO,oDAAS,GAAT;YACN,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;SACnB;QAEO,oDAAS,GAAT;YACN,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;SACnB;QAEO,4DAAiB,GAAjB,UAAkB,MAAc;YACtC,IAAI;gBACF,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;aACpB;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,KAAK,CAAC;aACd;YACD,OAAO,IAAI,CAAC;SACb;QAEO,kDAAO,GAAP;YACN,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC3B;QAEO,iDAAM,GAAN;YACN,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC5B;;;;gBAlKFlB,cAAS,SAAC;oBACT,QAAQ,EAAE,mCAAmC;oBAC7C,g5BAAyD;;iBAE1D;;;gBAROE,0BAAe;gBAFfiB,uBAAgB;gBAChBC,sBAAW;;;wBAWhBC,UAAK;qCACLjB,WAAM;wBAENC,cAAS,SAAC,uBAAuB;;;ICxCpC;;;;;;;;;;;;;;;;QAqCE,+CACU,eAAgC,EAChC,cAA6B,EAC7B,MAAc,EACd,gBAAkC,EAClC,WAAwB;YAJxB,oBAAe,GAAf,eAAe,CAAiB;YAChC,mBAAc,GAAd,cAAc,CAAe;YAC7B,WAAM,GAAN,MAAM,CAAQ;YACd,qBAAgB,GAAhB,gBAAgB,CAAkB;YAClC,gBAAW,GAAX,WAAW,CAAa;YAT3B,uBAAkB,GAA8B,IAAI,CAAC;YACrD,WAAM,GAAa,EAAE,CAAC;SASzB;QAEJ,yDAAS,GAAT,UAAU,kBAAsC;YAC9C,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;YAC7C,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;SACnB;QAED,wEAAwB,GAAxB;YAAA,iBAaC;YAZC,IAAI,CAAC,eAAe,CAAC,wBAAwB,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,CACtF;gBACE,KAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;gBAC1B,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC;gBAC9C,KAAI,CAAC,cAAc,CAAC,OAAO,CACzB,KAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,oCAAoC,CAAC,CACpE,CAAC;aACH,EACD,UAAC,MAAwC;gBACvC,KAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;aAC7B,CACF,CAAC;SACH;;;;gBApCFL,cAAS,SAAC;oBACT,QAAQ,EAAE,yCAAyC;oBACnD,ysDAA+D;;iBAEhE;;;gBAbCE,0BAAe;gBAKTC,uBAAa;gBACbM,aAAM;gBACNU,uBAAgB;gBAHhBC,sBAAW;;;wBAahBf,cAAS,SAAC,+BAA+B;;;ICnC5C;;;;;;;;;;;;;;;;QAqDA;;;;;gBAvBCO,aAAQ,SAAC;oBACR,YAAY,EAAE;wBACZ,8BAA8B;wBAC9B,gCAAgC;wBAChC,sCAAsC;wBACtC,qCAAqC;wBACrC,gCAAgC;qBACjC;oBACD,OAAO,EAAE;wBACPU,mBAAY;wBACZC,uBAAY;wBACZC,yBAAc;wBACdC,qBAAU;wBACV,8BAA8B;wBAC9BC,iBAAW;wBACXC,sBAAe;wBACfC,sBAAW;wBACXC,mBAAY;wBACZC,4BAAgB;qBACjB;oBACD,OAAO,EAAE,EAAE;oBACX,eAAe,EAAE,CAACC,yBAAkB,CAAC;iBACtC;;;ICpDD;;;;;;;;;;;;;;;;ICAA;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"valtimo-dossier-management.umd.js","sources":["../../../../projects/valtimo/dossier-management/src/lib/dossier-management-connect-modal/dossier-management-connect-modal.component.ts","../../../../projects/valtimo/dossier-management/src/lib/dossier-management-detail/dossier-management-detail.component.ts","../../../../projects/valtimo/dossier-management/src/lib/dossier-management-list/dossier-management-list.component.ts","../../../../projects/valtimo/dossier-management/src/lib/dossier-management-routing.module.ts","../../../../projects/valtimo/dossier-management/src/lib/dossier-management-upload/dossier-management-upload.component.ts","../../../../projects/valtimo/dossier-management/src/lib/dossier-management-remove-modal/dossier-management-remove-modal.component.ts","../../../../projects/valtimo/dossier-management/src/lib/dossier-management-roles/dossier-management-roles.component.ts","../../../../projects/valtimo/dossier-management/src/lib/dossier-management.module.ts","../../../../projects/valtimo/dossier-management/src/public-api.ts","../../../../projects/valtimo/dossier-management/src/valtimo-dossier-management.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 {Component, EventEmitter, OnInit, Output, ViewChild} from '@angular/core';\nimport {\n DocumentService,\n ProcessDocumentDefinitionRequest,\n ProcessDocumentDefinition,\n DocumentDefinition,\n} from '@valtimo/document';\nimport {ProcessService, ProcessDefinition} from '@valtimo/process';\nimport {ToastrService} from 'ngx-toastr';\nimport {ModalComponent} from '@valtimo/components';\n\n@Component({\n selector: 'valtimo-dossier-management-connect-modal',\n templateUrl: './dossier-management-connect-modal.component.html',\n styleUrls: ['./dossier-management-connect-modal.component.scss'],\n})\nexport class DossierManagementConnectModalComponent implements OnInit {\n public documentDefinition: DocumentDefinition | null = null;\n public processDefinitions: ProcessDefinition[];\n public newDocumentProcessDefinition: ProcessDefinition | null = null;\n public newDocumentProcessDefinitionInit = true;\n public newDocumentProcessDefinitionStartableByUser = false;\n public processDocumentDefinitionExists: any = {};\n @Output() public reloadProcessDocumentDefinitions = new EventEmitter<any>();\n @ViewChild('dossierConnectModal') modal: ModalComponent;\n\n constructor(\n private processService: ProcessService,\n private documentService: DocumentService,\n private toasterService: ToastrService\n ) {}\n\n loadProcessDocumentDefinitions() {\n this.processDocumentDefinitionExists = {};\n this.documentService\n .findProcessDocumentDefinitions(this.documentDefinition.id.name)\n .subscribe((processDocumentDefinitions: ProcessDocumentDefinition[]) => {\n processDocumentDefinitions.forEach(\n (processDocumentDefinition: ProcessDocumentDefinition) => {\n this.processDocumentDefinitionExists[\n processDocumentDefinition.id.processDefinitionKey\n ] = true;\n }\n );\n });\n }\n\n loadProcessDefinitions() {\n this.processService\n .getProcessDefinitions()\n .subscribe((processDefinitions: ProcessDefinition[]) => {\n this.processDefinitions = processDefinitions;\n });\n }\n\n ngOnInit() {\n this.loadProcessDefinitions();\n }\n\n openModal(dossier: DocumentDefinition) {\n this.documentDefinition = dossier;\n this.newDocumentProcessDefinition = null;\n this.newDocumentProcessDefinitionInit = true;\n this.newDocumentProcessDefinitionStartableByUser = false;\n this.loadProcessDocumentDefinitions();\n this.modal.show();\n }\n\n submit() {\n const request: ProcessDocumentDefinitionRequest = {\n canInitializeDocument: this.newDocumentProcessDefinitionInit,\n startableByUser: this.newDocumentProcessDefinitionStartableByUser,\n documentDefinitionName: this.documentDefinition.id.name,\n processDefinitionKey: this.newDocumentProcessDefinition.key,\n };\n this.documentService.createProcessDocumentDefinition(request).subscribe(\n () => {\n this.toasterService.success('Successfully added new process document definition');\n this.reloadProcessDocumentDefinitions.emit();\n },\n err => {\n this.toasterService.error('Failed to add new process document definition');\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\nimport {Component, OnInit, ViewChild} from '@angular/core';\nimport {DocumentDefinition, DocumentService, ProcessDocumentDefinition} from '@valtimo/document';\nimport {ActivatedRoute} from '@angular/router';\nimport {DossierManagementConnectModalComponent} from '../dossier-management-connect-modal/dossier-management-connect-modal.component';\nimport {AlertService} from '@valtimo/components';\nimport {DossierManagementRemoveModalComponent} from '../dossier-management-remove-modal/dossier-management-remove-modal.component';\nimport {DossierManagementRolesComponent} from '../dossier-management-roles/dossier-management-roles.component';\n\n@Component({\n selector: 'valtimo-dossier-management-detail',\n templateUrl: './dossier-management-detail.component.html',\n styleUrls: ['./dossier-management-detail.component.scss'],\n})\nexport class DossierManagementDetailComponent implements OnInit {\n public documentDefinitionName: string | null = null;\n public documentDefinition: DocumentDefinition | null = null;\n public processDocumentDefinitions: ProcessDocumentDefinition[] = [];\n\n @ViewChild('dossierConnectModal') dossierConnectModal: DossierManagementConnectModalComponent;\n @ViewChild('dossierRemoveModal') dossierRemoveModal: DossierManagementRemoveModalComponent;\n @ViewChild('documentRoles') documentRoles: DossierManagementRolesComponent;\n\n constructor(\n private documentService: DocumentService,\n private route: ActivatedRoute,\n private alertService: AlertService\n ) {\n this.documentDefinitionName = this.route.snapshot.paramMap.get('name');\n }\n\n ngOnInit() {\n this.loadDocumentDefinition();\n this.loadProcessDocumentDefinitions();\n }\n\n loadProcessDocumentDefinitions() {\n this.documentService\n .findProcessDocumentDefinitions(this.documentDefinitionName)\n .subscribe((processDocumentDefinitions: ProcessDocumentDefinition[]) => {\n this.processDocumentDefinitions = processDocumentDefinitions;\n });\n }\n\n loadDocumentDefinition() {\n this.documentService\n .getDocumentDefinition(this.documentDefinitionName)\n .subscribe((documentDefinition: DocumentDefinition) => {\n this.documentDefinition = documentDefinition;\n });\n }\n\n openDossierConnectModal() {\n this.dossierConnectModal.openModal(this.documentDefinition);\n }\n\n openDossierRemoveModal() {\n this.dossierRemoveModal.openModal(this.documentDefinition);\n }\n\n deleteProcessDocumentDefinition(processDocumentDefinition: ProcessDocumentDefinition) {\n this.documentService\n .deleteProcessDocumentDefinition({\n documentDefinitionName: processDocumentDefinition.id.documentDefinitionId.name,\n processDefinitionKey: processDocumentDefinition.id.processDefinitionKey,\n canInitializeDocument: processDocumentDefinition.canInitializeDocument,\n startableByUser: processDocumentDefinition.startableByUser,\n })\n .subscribe(\n () => {\n this.alertService.success('Successfully deleted process document definition');\n this.loadProcessDocumentDefinitions();\n },\n () => {\n this.alertService.error('Failed to delete process document definition');\n }\n );\n }\n\n downloadDefinition(): void {\n const definition = this.documentDefinition;\n const dataString =\n 'data:text/json;charset=utf-8,' +\n encodeURIComponent(JSON.stringify(definition.schema, null, 2));\n const downloadAnchorElement = document.getElementById('downloadAnchorElement');\n downloadAnchorElement.setAttribute('href', dataString);\n downloadAnchorElement.setAttribute(\n 'download',\n `${definition.id.name}-v${definition.id.version}.json`\n );\n downloadAnchorElement.click();\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 {Component} from '@angular/core';\nimport {DocumentService, DocumentDefinition, Page} from '@valtimo/document';\nimport {Router} from '@angular/router';\nimport * as moment_ from 'moment';\nimport {BehaviorSubject} from 'rxjs';\n\nconst moment = moment_;\nmoment.locale(localStorage.getItem('langKey') || '');\n\n@Component({\n selector: 'valtimo-dossier-management-list',\n templateUrl: './dossier-management-list.component.html',\n styleUrls: ['./dossier-management-list.component.scss'],\n})\nexport class DossierManagementListComponent {\n public dossiers: DocumentDefinition[] = [];\n public pagination = {\n collectionSize: 0,\n page: 1,\n size: 10,\n maxPaginationItemSize: 5,\n };\n public pageParam = 0;\n public dossierFields = [\n {key: 'schema.title', label: 'Title'},\n {key: 'createdOn', label: 'Created On'},\n {key: 'readOnly', label: 'Read-only'},\n ];\n\n readonly showModal$ = new BehaviorSubject<boolean>(false);\n\n constructor(private documentService: DocumentService, private router: Router) {}\n\n public paginationClicked(page) {\n this.pageParam = page - 1;\n this.getDocumentDefinitions();\n }\n\n paginationSet() {\n this.getDocumentDefinitions();\n }\n\n redirectToDetails(documentDefinition: DocumentDefinition) {\n this.router.navigate(['/dossier-management/dossier', documentDefinition.id.name]);\n }\n\n private getDocumentDefinitions() {\n this.documentService\n .queryDefinitions({filteredOnRole: false, page: this.pageParam, size: this.pagination.size})\n .subscribe((documentDefinitionPage: Page<DocumentDefinition>) => {\n this.pagination.collectionSize = documentDefinitionPage.totalElements;\n this.dossiers = documentDefinitionPage.content;\n this.dossiers.map((dossier: DocumentDefinition) => {\n dossier.createdOn = moment(dossier.createdOn).format('DD MMM YYYY HH:mm');\n });\n });\n }\n\n showModal() {\n this.showModal$.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\nimport {NgModule} from '@angular/core';\nimport {RouterModule, Routes} from '@angular/router';\nimport {AuthGuardService} from '@valtimo/security';\nimport {DossierManagementDetailComponent} from './dossier-management-detail/dossier-management-detail.component';\nimport {DossierManagementListComponent} from './dossier-management-list/dossier-management-list.component';\nimport {ROLE_ADMIN} from '@valtimo/config';\n\nconst routes: Routes = [\n {\n path: 'dossier-management',\n component: DossierManagementListComponent,\n canActivate: [AuthGuardService],\n data: {title: 'Dossiers', roles: [ROLE_ADMIN]},\n },\n {\n path: 'dossier-management/dossier/:name',\n component: DossierManagementDetailComponent,\n canActivate: [AuthGuardService],\n data: {title: 'Dossier details', roles: [ROLE_ADMIN]},\n },\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes)],\n exports: [RouterModule],\n declarations: [],\n})\nexport class DossierManagementRoutingModule {}\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 AfterViewInit,\n Component,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n ViewChild,\n} from '@angular/core';\nimport {TranslateService} from '@ngx-translate/core';\nimport {MenuService, ModalComponent} from '@valtimo/components';\nimport {DocumentService, DocumentDefinitionCreateRequest} from '@valtimo/document';\nimport {BehaviorSubject, Observable, Subject, Subscription} from 'rxjs';\nimport {switchMap, take, tap} from 'rxjs/operators';\n\n@Component({\n selector: 'valtimo-dossier-management-upload',\n templateUrl: './dossier-management-upload.component.html',\n styleUrls: ['./dossier-management-upload.component.scss'],\n})\nexport class DossierManagementUploadComponent implements AfterViewInit, OnDestroy {\n @Input() show$: Observable<boolean>;\n @Output() definitionUploaded: EventEmitter<any> = new EventEmitter();\n\n @ViewChild('uploadDefinitionModal') modal: ModalComponent;\n\n readonly clear$ = new Subject();\n\n readonly jsonString$ = new BehaviorSubject<string>('');\n\n readonly error$ = new BehaviorSubject<string>('');\n\n readonly disabled$ = new BehaviorSubject<boolean>(false);\n\n private showSubscription: Subscription;\n\n private fileSubscription: Subscription;\n\n private errorSubscription: Subscription;\n\n private readonly file$ = new BehaviorSubject<File>(undefined);\n\n constructor(\n private readonly documentService: DocumentService,\n private readonly translateService: TranslateService,\n private readonly menuService: MenuService\n ) {}\n\n ngAfterViewInit(): void {\n this.openShowSubscription();\n this.openFileSubscription();\n }\n\n ngOnDestroy(): void {\n this.showSubscription.unsubscribe();\n this.fileSubscription.unsubscribe();\n this.closeErrorSubscription();\n }\n\n setFile(file: File): void {\n this.clearError();\n this.file$.next(file);\n }\n\n uploadDefinition(): void {\n this.disable();\n\n this.jsonString$\n .pipe(\n switchMap(jsonString =>\n this.documentService\n .createDocumentDefinition(new DocumentDefinitionCreateRequest(jsonString))\n .pipe(\n tap(\n // success\n () => {\n this.closeErrorSubscription();\n this.clearError();\n this.enable();\n this.hideModal();\n this.menuService.reload();\n this.definitionUploaded.emit();\n },\n // error\n () => {\n this.openErrorSubscription('dropzone.error.invalidDocDef');\n this.enable();\n }\n )\n )\n ),\n take(1)\n )\n .subscribe();\n }\n\n private openErrorSubscription(errorCode: string): void {\n this.closeErrorSubscription();\n this.errorSubscription = this.translateService.stream(errorCode).subscribe(error => {\n this.error$.next(error);\n });\n }\n\n private closeErrorSubscription(): void {\n if (this.errorSubscription) {\n this.errorSubscription.unsubscribe();\n }\n }\n\n private clearError(): void {\n this.error$.next('');\n }\n\n private openFileSubscription(): void {\n this.fileSubscription = this.file$.subscribe(file => {\n if (file) {\n const reader = new FileReader();\n\n reader.onloadend = () => {\n const result = reader.result.toString();\n if (this.stringIsValidJson(result)) {\n this.jsonString$.next(result);\n }\n };\n\n reader.readAsText(file);\n } else {\n this.clearJsonString();\n }\n });\n }\n\n private openShowSubscription(): void {\n this.showSubscription = this.show$.subscribe(show => {\n if (show) {\n this.showModal();\n } else {\n this.hideModal();\n }\n\n this.clearJsonString();\n this.clearError();\n this.clearDropzone();\n });\n }\n\n private clearJsonString(): void {\n this.jsonString$.next('');\n }\n\n private clearDropzone(): void {\n this.clear$.next();\n }\n\n private showModal(): void {\n this.modal.show();\n }\n\n private hideModal(): void {\n this.modal.hide();\n }\n\n private stringIsValidJson(string: string) {\n try {\n JSON.parse(string);\n } catch (e) {\n return false;\n }\n return true;\n }\n\n private disable(): void {\n this.disabled$.next(true);\n }\n\n private enable(): void {\n this.disabled$.next(false);\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 {Component, ViewChild} from '@angular/core';\nimport {\n DocumentService,\n DocumentDefinition,\n UndeployDocumentDefinitionResult,\n} from '@valtimo/document';\nimport {MenuService, ModalComponent} from '@valtimo/components';\nimport {ToastrService} from 'ngx-toastr';\nimport {Router} from '@angular/router';\nimport {TranslateService} from '@ngx-translate/core';\n\n@Component({\n selector: 'valtimo-dossier-management-remove-modal',\n templateUrl: './dossier-management-remove-modal.component.html',\n styleUrls: ['./dossier-management-remove-modal.component.scss'],\n})\nexport class DossierManagementRemoveModalComponent {\n public documentDefinition: DocumentDefinition | null = null;\n public errors: string[] = [];\n @ViewChild('documentDefinitionRemoveModal') modal: ModalComponent;\n\n constructor(\n private documentService: DocumentService,\n private toasterService: ToastrService,\n private router: Router,\n private translateService: TranslateService,\n private menuService: MenuService\n ) {}\n\n openModal(documentDefinition: DocumentDefinition) {\n this.documentDefinition = documentDefinition;\n this.modal.show();\n }\n\n removeDocumentDefinition() {\n this.documentService.removeDocumentDefinition(this.documentDefinition.id.name).subscribe(\n () => {\n this.menuService.reload();\n this.router.navigate(['/dossier-management']);\n this.toasterService.success(\n this.translateService.instant('remove-document-definition-success')\n );\n },\n (result: UndeployDocumentDefinitionResult) => {\n this.errors = result.errors;\n }\n );\n }\n}\n","/*\n * Copyright 2015-2022 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 */\nimport {Component, Input, OnInit} from '@angular/core';\nimport {IDropdownSettings} from 'ng-multiselect-dropdown';\nimport {BehaviorSubject} from 'rxjs';\nimport {Authority, AuthorityService} from '@valtimo/authority';\nimport {DocumentService} from '@valtimo/document';\nimport {AlertService} from '@valtimo/components';\nimport {TranslateService} from '@ngx-translate/core';\nimport {isEqual} from 'lodash';\n\n@Component({\n selector: 'valtimo-dossier-management-roles',\n templateUrl: './dossier-management-roles.component.html',\n styleUrls: ['./dossier-management-roles.component.scss'],\n})\nexport class DossierManagementRolesComponent implements OnInit {\n @Input() public documentDefinitionName: string;\n public dropdownSettings: IDropdownSettings = {\n singleSelection: false,\n idField: 'name',\n textField: 'name',\n selectAllText: 'Select All',\n unSelectAllText: 'UnSelect All',\n itemsShowLimit: 3,\n enableCheckAll: true,\n allowSearchFilter: true,\n };\n public roles = new BehaviorSubject<Array<Authority>>(undefined);\n public preSelectedItems = new BehaviorSubject<Array<String>>(undefined);\n\n constructor(\n private readonly authorityService: AuthorityService,\n private readonly documentService: DocumentService,\n private readonly alertService: AlertService,\n private readonly translateService: TranslateService\n ) {}\n\n ngOnInit(): void {\n this.loadAllRoles();\n }\n\n loadAllRoles(): void {\n this.authorityService.query().subscribe(result => {\n this.roles.next(result.body);\n this.loadDocumentRoles();\n });\n }\n\n loadDocumentRoles(): void {\n if (this.documentDefinitionName) {\n this.documentService.getDocumentRoles(this.documentDefinitionName).subscribe(\n result => {\n this.preSelectedItems.next(result);\n },\n err => {\n this.alertService.warning(\n this.translateService.instant(\n 'dossierManagement.roles.messages.unsuccessfullyRetrievedRoles'\n )\n );\n }\n );\n }\n }\n\n onSelectedItems(data: any): void {\n const roles = this.returnArrayOfString(data);\n\n if (isEqual(roles, this.preSelectedItems.value)) {\n return;\n }\n this.documentService.modifyDocumentRoles(this.documentDefinitionName, roles).subscribe(\n () => {\n this.alertService.success(\n this.translateService.instant('dossierManagement.roles.messages.successfullyStored')\n );\n this.preSelectedItems.next(roles);\n },\n err => {\n this.alertService.error(\n this.translateService.instant('dossierManagement.roles.messages.unsuccessfullyStored')\n );\n }\n );\n }\n\n /**\n * The data could be either an array of string (i.e. [\"ROLE_ADMIN\", \"ROLE_DEVELOPER\"]\n * or an array of object with name parameters (i.e. [{\"name\": \"ROLE_ADMIN\"},{\"name\":\"ROLE_DEVELOPER}]\n *\n * This method will always make sure an array of strings is returned\n */\n private returnArrayOfString(data): Array<String> {\n return data.map(el => {\n if (typeof el === 'string') {\n return el;\n }\n\n return el.name;\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\nimport {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {TranslateModule} from '@ngx-translate/core';\nimport {\n DropzoneModule,\n ListModule,\n ModalModule,\n MultiselectDropdownModule,\n WidgetModule,\n} from '@valtimo/components';\nimport {ConfigModule, ExtensionComponent} from '@valtimo/config';\nimport {DossierManagementConnectModalComponent} from './dossier-management-connect-modal/dossier-management-connect-modal.component';\nimport {DossierManagementDetailComponent} from './dossier-management-detail/dossier-management-detail.component';\nimport {DossierManagementListComponent} from './dossier-management-list/dossier-management-list.component';\nimport {DossierManagementRoutingModule} from './dossier-management-routing.module';\nimport {DossierManagementUploadComponent} from './dossier-management-upload/dossier-management-upload.component';\nimport {DossierManagementRemoveModalComponent} from './dossier-management-remove-modal/dossier-management-remove-modal.component';\nimport {NgbTooltipModule} from '@ng-bootstrap/ng-bootstrap';\nimport {DossierManagementRolesComponent} from './dossier-management-roles/dossier-management-roles.component';\n\n@NgModule({\n declarations: [\n DossierManagementListComponent,\n DossierManagementDetailComponent,\n DossierManagementConnectModalComponent,\n DossierManagementRemoveModalComponent,\n DossierManagementUploadComponent,\n DossierManagementRolesComponent,\n ],\n imports: [\n CommonModule,\n WidgetModule,\n DropzoneModule,\n ListModule,\n DossierManagementRoutingModule,\n FormsModule,\n TranslateModule,\n ModalModule,\n ConfigModule,\n NgbTooltipModule,\n MultiselectDropdownModule,\n ],\n exports: [],\n entryComponents: [ExtensionComponent],\n})\nexport class DossierManagementModule {}\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 dossier-management\n */\n\nexport * from './lib/dossier-management.module';\nexport * from './lib/dossier-management-list/dossier-management-list.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {DossierManagementConnectModalComponent as ɵb} from './lib/dossier-management-connect-modal/dossier-management-connect-modal.component';\nexport {DossierManagementDetailComponent as ɵa} from './lib/dossier-management-detail/dossier-management-detail.component';\nexport {DossierManagementRemoveModalComponent as ɵc} from './lib/dossier-management-remove-modal/dossier-management-remove-modal.component';\nexport {DossierManagementRolesComponent as ɵe} from './lib/dossier-management-roles/dossier-management-roles.component';\nexport {DossierManagementRoutingModule as ɵf} from './lib/dossier-management-routing.module';\nexport {DossierManagementUploadComponent as ɵd} from './lib/dossier-management-upload/dossier-management-upload.component';"],"names":["EventEmitter","Component","ProcessService","DocumentService","ToastrService","Output","ViewChild","ActivatedRoute","AlertService","BehaviorSubject","Router","ROLE_ADMIN","AuthGuardService","NgModule","RouterModule","Subject","switchMap","DocumentDefinitionCreateRequest","tap","take","TranslateService","MenuService","Input","isEqual","AuthorityService","CommonModule","WidgetModule","DropzoneModule","ListModule","FormsModule","TranslateModule","ModalModule","ConfigModule","NgbTooltipModule","MultiselectDropdownModule","ExtensionComponent"],"mappings":";;;;;;IAAA;;;;;;;;;;;;;;;;QA0CE,gDACU,cAA8B,EAC9B,eAAgC,EAChC,cAA6B;YAF7B,mBAAc,GAAd,cAAc,CAAgB;YAC9B,oBAAe,GAAf,eAAe,CAAiB;YAChC,mBAAc,GAAd,cAAc,CAAe;YAZhC,uBAAkB,GAA8B,IAAI,CAAC;YAErD,iCAA4B,GAA6B,IAAI,CAAC;YAC9D,qCAAgC,GAAG,IAAI,CAAC;YACxC,gDAA2C,GAAG,KAAK,CAAC;YACpD,oCAA+B,GAAQ,EAAE,CAAC;YAChC,qCAAgC,GAAG,IAAIA,iBAAY,EAAO,CAAC;SAOxE;QAEJ,+EAA8B,GAA9B;YAAA,iBAaC;YAZC,IAAI,CAAC,+BAA+B,GAAG,EAAE,CAAC;YAC1C,IAAI,CAAC,eAAe;iBACjB,8BAA8B,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,IAAI,CAAC;iBAC/D,SAAS,CAAC,UAAC,0BAAuD;gBACjE,0BAA0B,CAAC,OAAO,CAChC,UAAC,yBAAoD;oBACnD,KAAI,CAAC,+BAA+B,CAClC,yBAAyB,CAAC,EAAE,CAAC,oBAAoB,CAClD,GAAG,IAAI,CAAC;iBACV,CACF,CAAC;aACH,CAAC,CAAC;SACN;QAED,uEAAsB,GAAtB;YAAA,iBAMC;YALC,IAAI,CAAC,cAAc;iBAChB,qBAAqB,EAAE;iBACvB,SAAS,CAAC,UAAC,kBAAuC;gBACjD,KAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;aAC9C,CAAC,CAAC;SACN;QAED,yDAAQ,GAAR;YACE,IAAI,CAAC,sBAAsB,EAAE,CAAC;SAC/B;QAED,0DAAS,GAAT,UAAU,OAA2B;YACnC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC;YAClC,IAAI,CAAC,4BAA4B,GAAG,IAAI,CAAC;YACzC,IAAI,CAAC,gCAAgC,GAAG,IAAI,CAAC;YAC7C,IAAI,CAAC,2CAA2C,GAAG,KAAK,CAAC;YACzD,IAAI,CAAC,8BAA8B,EAAE,CAAC;YACtC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;SACnB;QAED,uDAAM,GAAN;YAAA,iBAgBC;YAfC,IAAM,OAAO,GAAqC;gBAChD,qBAAqB,EAAE,IAAI,CAAC,gCAAgC;gBAC5D,eAAe,EAAE,IAAI,CAAC,2CAA2C;gBACjE,sBAAsB,EAAE,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,IAAI;gBACvD,oBAAoB,EAAE,IAAI,CAAC,4BAA4B,CAAC,GAAG;aAC5D,CAAC;YACF,IAAI,CAAC,eAAe,CAAC,+BAA+B,CAAC,OAAO,CAAC,CAAC,SAAS,CACrE;gBACE,KAAI,CAAC,cAAc,CAAC,OAAO,CAAC,oDAAoD,CAAC,CAAC;gBAClF,KAAI,CAAC,gCAAgC,CAAC,IAAI,EAAE,CAAC;aAC9C,EACD,UAAA,GAAG;gBACD,KAAI,CAAC,cAAc,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;aAC5E,CACF,CAAC;SACH;;;;gBAzEFC,cAAS,SAAC;oBACT,QAAQ,EAAE,0CAA0C;oBACpD,mqGAAgE;;iBAEjE;;;gBAROC,sBAAc;gBALpBC,0BAAe;gBAMTC,uBAAa;;;mDAelBC,WAAM;wBACNC,cAAS,SAAC,qBAAqB;;;ICxClC;;;;;;;;;;;;;;;;QAsCE,0CACU,eAAgC,EAChC,KAAqB,EACrB,YAA0B;YAF1B,oBAAe,GAAf,eAAe,CAAiB;YAChC,UAAK,GAAL,KAAK,CAAgB;YACrB,iBAAY,GAAZ,YAAY,CAAc;YAX7B,2BAAsB,GAAkB,IAAI,CAAC;YAC7C,uBAAkB,GAA8B,IAAI,CAAC;YACrD,+BAA0B,GAAgC,EAAE,CAAC;YAWlE,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;SACxE;QAED,mDAAQ,GAAR;YACE,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC9B,IAAI,CAAC,8BAA8B,EAAE,CAAC;SACvC;QAED,yEAA8B,GAA9B;YAAA,iBAMC;YALC,IAAI,CAAC,eAAe;iBACjB,8BAA8B,CAAC,IAAI,CAAC,sBAAsB,CAAC;iBAC3D,SAAS,CAAC,UAAC,0BAAuD;gBACjE,KAAI,CAAC,0BAA0B,GAAG,0BAA0B,CAAC;aAC9D,CAAC,CAAC;SACN;QAED,iEAAsB,GAAtB;YAAA,iBAMC;YALC,IAAI,CAAC,eAAe;iBACjB,qBAAqB,CAAC,IAAI,CAAC,sBAAsB,CAAC;iBAClD,SAAS,CAAC,UAAC,kBAAsC;gBAChD,KAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;aAC9C,CAAC,CAAC;SACN;QAED,kEAAuB,GAAvB;YACE,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;SAC7D;QAED,iEAAsB,GAAtB;YACE,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;SAC5D;QAED,0EAA+B,GAA/B,UAAgC,yBAAoD;YAApF,iBAiBC;YAhBC,IAAI,CAAC,eAAe;iBACjB,+BAA+B,CAAC;gBAC/B,sBAAsB,EAAE,yBAAyB,CAAC,EAAE,CAAC,oBAAoB,CAAC,IAAI;gBAC9E,oBAAoB,EAAE,yBAAyB,CAAC,EAAE,CAAC,oBAAoB;gBACvE,qBAAqB,EAAE,yBAAyB,CAAC,qBAAqB;gBACtE,eAAe,EAAE,yBAAyB,CAAC,eAAe;aAC3D,CAAC;iBACD,SAAS,CACR;gBACE,KAAI,CAAC,YAAY,CAAC,OAAO,CAAC,kDAAkD,CAAC,CAAC;gBAC9E,KAAI,CAAC,8BAA8B,EAAE,CAAC;aACvC,EACD;gBACE,KAAI,CAAC,YAAY,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;aACzE,CACF,CAAC;SACL;QAED,6DAAkB,GAAlB;YACE,IAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC;YAC3C,IAAM,UAAU,GACd,+BAA+B;gBAC/B,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACjE,IAAM,qBAAqB,GAAG,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC,CAAC;YAC/E,qBAAqB,CAAC,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YACvD,qBAAqB,CAAC,YAAY,CAChC,UAAU,EACP,UAAU,CAAC,EAAE,CAAC,IAAI,UAAK,UAAU,CAAC,EAAE,CAAC,OAAO,UAAO,CACvD,CAAC;YACF,qBAAqB,CAAC,KAAK,EAAE,CAAC;SAC/B;;;;gBAlFFL,cAAS,SAAC;oBACT,QAAQ,EAAE,mCAAmC;oBAC7C,23LAAyD;;iBAE1D;;;gBAX2BE,0BAAe;gBACnCI,qBAAc;gBAEdC,uBAAY;;;sCAcjBF,cAAS,SAAC,qBAAqB;qCAC/BA,cAAS,SAAC,oBAAoB;gCAC9BA,cAAS,SAAC,eAAe;;;ICpC5B;;;;;;;;;;;;;;;IAsBA,IAAM,MAAM,GAAG,OAAO,CAAC;IACvB,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;;QAwBnD,wCAAoB,eAAgC,EAAU,MAAc;YAAxD,oBAAe,GAAf,eAAe,CAAiB;YAAU,WAAM,GAAN,MAAM,CAAQ;YAhBrE,aAAQ,GAAyB,EAAE,CAAC;YACpC,eAAU,GAAG;gBAClB,cAAc,EAAE,CAAC;gBACjB,IAAI,EAAE,CAAC;gBACP,IAAI,EAAE,EAAE;gBACR,qBAAqB,EAAE,CAAC;aACzB,CAAC;YACK,cAAS,GAAG,CAAC,CAAC;YACd,kBAAa,GAAG;gBACrB,EAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO,EAAC;gBACrC,EAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,EAAC;gBACvC,EAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAC;aACtC,CAAC;YAEO,eAAU,GAAG,IAAIG,oBAAe,CAAU,KAAK,CAAC,CAAC;SAEsB;QAEzE,0DAAiB,GAAjB,UAAkB,IAAI;YAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC;YAC1B,IAAI,CAAC,sBAAsB,EAAE,CAAC;SAC/B;QAED,sDAAa,GAAb;YACE,IAAI,CAAC,sBAAsB,EAAE,CAAC;SAC/B;QAED,0DAAiB,GAAjB,UAAkB,kBAAsC;YACtD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,6BAA6B,EAAE,kBAAkB,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;SACnF;QAEO,+DAAsB,GAAtB;YAAA,iBAUP;YATC,IAAI,CAAC,eAAe;iBACjB,gBAAgB,CAAC,EAAC,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,EAAC,CAAC;iBAC3F,SAAS,CAAC,UAAC,sBAAgD;gBAC1D,KAAI,CAAC,UAAU,CAAC,cAAc,GAAG,sBAAsB,CAAC,aAAa,CAAC;gBACtE,KAAI,CAAC,QAAQ,GAAG,sBAAsB,CAAC,OAAO,CAAC;gBAC/C,KAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAC,OAA2B;oBAC5C,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;iBAC3E,CAAC,CAAC;aACJ,CAAC,CAAC;SACN;QAED,kDAAS,GAAT;YACE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC5B;;;;gBAnDFR,cAAS,SAAC;oBACT,QAAQ,EAAE,iCAAiC;oBAC3C,24DAAuD;;iBAExD;;;gBAZOE,0BAAe;gBACfO,aAAM;;;IClBd;;;;;;;;;;;;;;;aA4BU,EAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAACC,iBAAU,CAAC,EAAC,OAMxC,EAAC,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,CAACA,iBAAU,CAAC,EAAC;IAXzD,IAAM,MAAM,GAAW;QACrB;YACE,IAAI,EAAE,oBAAoB;YAC1B,SAAS,EAAE,8BAA8B;YACzC,WAAW,EAAE,CAACC,yBAAgB,CAAC;YAC/B,IAAI,IAA0C;SAC/C;QACD;YACE,IAAI,EAAE,kCAAkC;YACxC,SAAS,EAAE,gCAAgC;YAC3C,WAAW,EAAE,CAACA,yBAAgB,CAAC;YAC/B,IAAI,IAAiD;SACtD;KACF,CAAC;;QAOF;;;;;gBALCC,aAAQ,SAAC;oBACR,OAAO,EAAE,CAACC,mBAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;oBACvC,OAAO,EAAE,CAACA,mBAAY,CAAC;oBACvB,YAAY,EAAE,EAAE;iBACjB;;;IC1CD;;;;;;;;;;;;;;;;QA0DE,0CACmB,eAAgC,EAChC,gBAAkC,EAClC,WAAwB;YAFxB,oBAAe,GAAf,eAAe,CAAiB;YAChC,qBAAgB,GAAhB,gBAAgB,CAAkB;YAClC,gBAAW,GAAX,WAAW,CAAa;YAvBjC,uBAAkB,GAAsB,IAAId,iBAAY,EAAE,CAAC;YAI5D,WAAM,GAAG,IAAIe,YAAO,EAAE,CAAC;YAEvB,gBAAW,GAAG,IAAIN,oBAAe,CAAS,EAAE,CAAC,CAAC;YAE9C,WAAM,GAAG,IAAIA,oBAAe,CAAS,EAAE,CAAC,CAAC;YAEzC,cAAS,GAAG,IAAIA,oBAAe,CAAU,KAAK,CAAC,CAAC;YAQxC,UAAK,GAAG,IAAIA,oBAAe,CAAO,SAAS,CAAC,CAAC;SAM1D;QAEJ,0DAAe,GAAf;YACE,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC5B,IAAI,CAAC,oBAAoB,EAAE,CAAC;SAC7B;QAED,sDAAW,GAAX;YACE,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC;YACpC,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC;YACpC,IAAI,CAAC,sBAAsB,EAAE,CAAC;SAC/B;QAED,kDAAO,GAAP,UAAQ,IAAU;YAChB,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACvB;QAED,2DAAgB,GAAhB;YAAA,iBA8BC;YA7BC,IAAI,CAAC,OAAO,EAAE,CAAC;YAEf,IAAI,CAAC,WAAW;iBACb,IAAI,CACHO,mBAAS,CAAC,UAAA,UAAU,IAClB,OAAA,KAAI,CAAC,eAAe;iBACjB,wBAAwB,CAAC,IAAIC,0CAA+B,CAAC,UAAU,CAAC,CAAC;iBACzE,IAAI,CACHC,aAAG;;YAED;gBACE,KAAI,CAAC,sBAAsB,EAAE,CAAC;gBAC9B,KAAI,CAAC,UAAU,EAAE,CAAC;gBAClB,KAAI,CAAC,MAAM,EAAE,CAAC;gBACd,KAAI,CAAC,SAAS,EAAE,CAAC;gBACjB,KAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;gBAC1B,KAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC;aAChC;;YAED;gBACE,KAAI,CAAC,qBAAqB,CAAC,8BAA8B,CAAC,CAAC;gBAC3D,KAAI,CAAC,MAAM,EAAE,CAAC;aACf,CACF,CACF,GAAA,CACJ,EACDC,cAAI,CAAC,CAAC,CAAC,CACR;iBACA,SAAS,EAAE,CAAC;SAChB;QAEO,gEAAqB,GAArB,UAAsB,SAAiB;YAAvC,iBAKP;YAJC,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC9B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,UAAA,KAAK;gBAC9E,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACzB,CAAC,CAAC;SACJ;QAEO,iEAAsB,GAAtB;YACN,IAAI,IAAI,CAAC,iBAAiB,EAAE;gBAC1B,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC;aACtC;SACF;QAEO,qDAAU,GAAV;YACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SACtB;QAEO,+DAAoB,GAApB;YAAA,iBAiBP;YAhBC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,UAAA,IAAI;gBAC/C,IAAI,IAAI,EAAE;oBACR,IAAM,QAAM,GAAG,IAAI,UAAU,EAAE,CAAC;oBAEhC,QAAM,CAAC,SAAS,GAAG;wBACjB,IAAM,MAAM,GAAG,QAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;wBACxC,IAAI,KAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE;4BAClC,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;yBAC/B;qBACF,CAAC;oBAEF,QAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;iBACzB;qBAAM;oBACL,KAAI,CAAC,eAAe,EAAE,CAAC;iBACxB;aACF,CAAC,CAAC;SACJ;QAEO,+DAAoB,GAApB;YAAA,iBAYP;YAXC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,UAAA,IAAI;gBAC/C,IAAI,IAAI,EAAE;oBACR,KAAI,CAAC,SAAS,EAAE,CAAC;iBAClB;qBAAM;oBACL,KAAI,CAAC,SAAS,EAAE,CAAC;iBAClB;gBAED,KAAI,CAAC,eAAe,EAAE,CAAC;gBACvB,KAAI,CAAC,UAAU,EAAE,CAAC;gBAClB,KAAI,CAAC,aAAa,EAAE,CAAC;aACtB,CAAC,CAAC;SACJ;QAEO,0DAAe,GAAf;YACN,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SAC3B;QAEO,wDAAa,GAAb;YACN,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;SACpB;QAEO,oDAAS,GAAT;YACN,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;SACnB;QAEO,oDAAS,GAAT;YACN,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;SACnB;QAEO,4DAAiB,GAAjB,UAAkB,MAAc;YACtC,IAAI;gBACF,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;aACpB;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,KAAK,CAAC;aACd;YACD,OAAO,IAAI,CAAC;SACb;QAEO,kDAAO,GAAP;YACN,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC3B;QAEO,iDAAM,GAAN;YACN,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC5B;;;;gBAlKFlB,cAAS,SAAC;oBACT,QAAQ,EAAE,mCAAmC;oBAC7C,o8BAAyD;;iBAE1D;;;gBAROE,0BAAe;gBAFfiB,uBAAgB;gBAChBC,sBAAW;;;wBAWhBC,UAAK;qCACLjB,WAAM;wBAENC,cAAS,SAAC,uBAAuB;;;ICxCpC;;;;;;;;;;;;;;;;QAqCE,+CACU,eAAgC,EAChC,cAA6B,EAC7B,MAAc,EACd,gBAAkC,EAClC,WAAwB;YAJxB,oBAAe,GAAf,eAAe,CAAiB;YAChC,mBAAc,GAAd,cAAc,CAAe;YAC7B,WAAM,GAAN,MAAM,CAAQ;YACd,qBAAgB,GAAhB,gBAAgB,CAAkB;YAClC,gBAAW,GAAX,WAAW,CAAa;YAT3B,uBAAkB,GAA8B,IAAI,CAAC;YACrD,WAAM,GAAa,EAAE,CAAC;SASzB;QAEJ,yDAAS,GAAT,UAAU,kBAAsC;YAC9C,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;YAC7C,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;SACnB;QAED,wEAAwB,GAAxB;YAAA,iBAaC;YAZC,IAAI,CAAC,eAAe,CAAC,wBAAwB,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,CACtF;gBACE,KAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;gBAC1B,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC;gBAC9C,KAAI,CAAC,cAAc,CAAC,OAAO,CACzB,KAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,oCAAoC,CAAC,CACpE,CAAC;aACH,EACD,UAAC,MAAwC;gBACvC,KAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;aAC7B,CACF,CAAC;SACH;;;;gBApCFL,cAAS,SAAC;oBACT,QAAQ,EAAE,yCAAyC;oBACnD,ysDAA+D;;iBAEhE;;;gBAbCE,0BAAe;gBAKTC,uBAAa;gBACbM,aAAM;gBACNU,uBAAgB;gBAHhBC,sBAAW;;;wBAahBf,cAAS,SAAC,+BAA+B;;;ICnC5C;;;;;;;;;;;;;;;;QA4CE,yCACmB,gBAAkC,EAClC,eAAgC,EAChC,YAA0B,EAC1B,gBAAkC;YAHlC,qBAAgB,GAAhB,gBAAgB,CAAkB;YAClC,oBAAe,GAAf,eAAe,CAAiB;YAChC,iBAAY,GAAZ,YAAY,CAAc;YAC1B,qBAAgB,GAAhB,gBAAgB,CAAkB;YAjB9C,qBAAgB,GAAsB;gBAC3C,eAAe,EAAE,KAAK;gBACtB,OAAO,EAAE,MAAM;gBACf,SAAS,EAAE,MAAM;gBACjB,aAAa,EAAE,YAAY;gBAC3B,eAAe,EAAE,cAAc;gBAC/B,cAAc,EAAE,CAAC;gBACjB,cAAc,EAAE,IAAI;gBACpB,iBAAiB,EAAE,IAAI;aACxB,CAAC;YACK,UAAK,GAAG,IAAIG,oBAAe,CAAmB,SAAS,CAAC,CAAC;YACzD,qBAAgB,GAAG,IAAIA,oBAAe,CAAgB,SAAS,CAAC,CAAC;SAOpE;QAEJ,kDAAQ,GAAR;YACE,IAAI,CAAC,YAAY,EAAE,CAAC;SACrB;QAED,sDAAY,GAAZ;YAAA,iBAKC;YAJC,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC,SAAS,CAAC,UAAA,MAAM;gBAC5C,KAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC7B,KAAI,CAAC,iBAAiB,EAAE,CAAC;aAC1B,CAAC,CAAC;SACJ;QAED,2DAAiB,GAAjB;YAAA,iBAeC;YAdC,IAAI,IAAI,CAAC,sBAAsB,EAAE;gBAC/B,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,SAAS,CAC1E,UAAA,MAAM;oBACJ,KAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;iBACpC,EACD,UAAA,GAAG;oBACD,KAAI,CAAC,YAAY,CAAC,OAAO,CACvB,KAAI,CAAC,gBAAgB,CAAC,OAAO,CAC3B,+DAA+D,CAChE,CACF,CAAC;iBACH,CACF,CAAC;aACH;SACF;QAED,yDAAe,GAAf,UAAgB,IAAS;YAAzB,iBAmBC;YAlBC,IAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAE7C,IAAIc,cAAO,CAAC,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE;gBAC/C,OAAO;aACR;YACD,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,IAAI,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC,SAAS,CACpF;gBACE,KAAI,CAAC,YAAY,CAAC,OAAO,CACvB,KAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,qDAAqD,CAAC,CACrF,CAAC;gBACF,KAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACnC,EACD,UAAA,GAAG;gBACD,KAAI,CAAC,YAAY,CAAC,KAAK,CACrB,KAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,uDAAuD,CAAC,CACvF,CAAC;aACH,CACF,CAAC;SACH;;;;;;;QAQO,6DAAmB,GAAnB,UAAoB,IAAI;YAC9B,OAAO,IAAI,CAAC,GAAG,CAAC,UAAA,EAAE;gBAChB,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;oBAC1B,OAAO,EAAE,CAAC;iBACX;gBAED,OAAO,EAAE,CAAC,IAAI,CAAC;aAChB,CAAC,CAAC;SACJ;;;;gBA1FFtB,cAAS,SAAC;oBACT,QAAQ,EAAE,kCAAkC;oBAC5C,6tCAAwD;;iBAEzD;;;gBAVkBuB,0BAAgB;gBAC3BrB,0BAAe;gBACfK,uBAAY;gBACZY,uBAAgB;;;yCASrBE,UAAK;;;IC9BR;;;;;;;;;;;;;;;;QA8DA;;;;;gBAzBCT,aAAQ,SAAC;oBACR,YAAY,EAAE;wBACZ,8BAA8B;wBAC9B,gCAAgC;wBAChC,sCAAsC;wBACtC,qCAAqC;wBACrC,gCAAgC;wBAChC,+BAA+B;qBAChC;oBACD,OAAO,EAAE;wBACPY,mBAAY;wBACZC,uBAAY;wBACZC,yBAAc;wBACdC,qBAAU;wBACV,8BAA8B;wBAC9BC,iBAAW;wBACXC,sBAAe;wBACfC,sBAAW;wBACXC,mBAAY;wBACZC,4BAAgB;wBAChBC,oCAAyB;qBAC1B;oBACD,OAAO,EAAE,EAAE;oBACX,eAAe,EAAE,CAACC,yBAAkB,CAAC;iBACtC;;;IC7DD;;;;;;;;;;;;;;;;ICAA;;;;;;;;;;;;;;;;;;;;;"}