@valtimo/process-management 5.9.1 → 5.11.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.
@@ -14,8 +14,9 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  import { Component, ViewEncapsulation } from '@angular/core';
17
- import { forkJoin } from 'rxjs';
17
+ import { BehaviorSubject, forkJoin } from 'rxjs';
18
18
  import Modeler from 'bpmn-js/lib/Modeler';
19
+ import BpmnJS from 'bpmn-js/dist/bpmn-navigated-viewer.production.min.js';
19
20
  import PropertiesPanelModule from 'bpmn-js-properties-panel';
20
21
  import PropertiesProviderModule from 'bpmn-js-properties-panel/lib/provider/camunda';
21
22
  import CamundaExtensionModule from 'camunda-bpmn-moddle/lib';
@@ -40,6 +41,8 @@ export class ProcessManagementBuilderComponent {
40
41
  this.processDefinitionVersions = null;
41
42
  this.selectedVersion = null;
42
43
  this.processKey = null;
44
+ this.isReadOnlyProcess$ = new BehaviorSubject(false);
45
+ this.isSystemProcess$ = new BehaviorSubject(false);
43
46
  this.elementTemplateFiles = ['mailSendTask'];
44
47
  }
45
48
  ngOnInit() {
@@ -64,6 +67,8 @@ export class ProcessManagementBuilderComponent {
64
67
  },
65
68
  elementTemplates,
66
69
  });
70
+ this.bpmnViewer = new BpmnJS();
71
+ this.bpmnViewer.attachTo('#readOnlyCanvas');
67
72
  if (this.processKey) {
68
73
  this.loadProcessVersions(this.processKey);
69
74
  this.selectedVersion = null;
@@ -89,6 +94,7 @@ export class ProcessManagementBuilderComponent {
89
94
  }
90
95
  reset() {
91
96
  this.bpmnModeler.destroy();
97
+ this.bpmnViewer.destroy();
92
98
  this.init();
93
99
  }
94
100
  download() {
@@ -111,6 +117,7 @@ export class ProcessManagementBuilderComponent {
111
117
  })
112
118
  .subscribe((xml) => {
113
119
  this.bpmnModeler.importXML(xml);
120
+ this.bpmnViewer.importXML(xml);
114
121
  });
115
122
  }
116
123
  getElementTemplates() {
@@ -145,18 +152,22 @@ export class ProcessManagementBuilderComponent {
145
152
  return pd1.id === pd2.id;
146
153
  }
147
154
  loadProcessBpmn() {
148
- this.processService.getProcessDefinitionXml(this.selectedVersion.id).subscribe(xml => {
149
- this.bpmnModeler.importXML(xml['bpmn20Xml']);
155
+ this.processService.getProcessDefinitionXml(this.selectedVersion.id).subscribe(result => {
156
+ this.bpmnModeler.importXML(result['bpmn20Xml']);
157
+ this.bpmnViewer.importXML(result['bpmn20Xml']);
158
+ this.isReadOnlyProcess$.next(result.readOnly);
159
+ this.isSystemProcess$.next(result.systemProcess);
150
160
  });
151
161
  }
152
162
  ngOnDestroy() {
153
163
  this.bpmnModeler.destroy();
164
+ this.bpmnViewer.destroy();
154
165
  }
155
166
  }
156
167
  ProcessManagementBuilderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ProcessManagementBuilderComponent, deps: [{ token: i1.HttpClient }, { token: i2.ProcessService }, { token: i3.LayoutService }, { token: i4.AlertService }, { token: i5.ActivatedRoute }, { token: i5.Router }], target: i0.ɵɵFactoryTarget.Component });
157
- ProcessManagementBuilderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ProcessManagementBuilderComponent, selector: "valtimo-process-management-builder", ngImport: i0, template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"mb-5\" [ngClass]=\"{'main-content pt-0': !layoutService.isFullscreen}\">\n <div [ngClass]=\"{'container-fluid': !layoutService.isFullscreen}\">\n <div class=\"text-right\">\n <div\n class=\"btn-group mt-m3px mb-3\"\n *ngIf=\"(selectedVersion !== null || processKey === null) && !layoutService.isFullscreen\"\n >\n <button class=\"btn btn-primary btn-space\" (click)=\"download()\">\n <i class=\"icon mdi mdi-download mr-1\"></i>{{ 'processManagement.download' | translate }}\n </button>\n <button\n class=\"btn btn-success btn-space\"\n (click)=\"deploy()\"\n [ngClass]=\"{'mr-0': selectedVersion !== null}\"\n >\n <i class=\"icon mdi mdi-upload mr-1\"></i>{{ 'processManagement.deploy' | translate }}\n </button>\n <button\n *ngIf=\"selectedVersion === null\"\n class=\"btn btn-danger btn-space mr-0\"\n (click)=\"reset()\"\n >\n <i class=\"icon mdi mdi-delete mr-1\"></i>{{ 'processManagement.clear' | translate }}\n </button>\n </div>\n </div>\n\n <div class=\"modeler pl-3 pr-3 mb-3\" [ngClass]=\"{'mt-4': !layoutService.isFullscreen}\">\n <div\n class=\"row pt-4 pb-3 bg-light versions\"\n *ngIf=\"processDefinitionVersions\"\n [ngClass]=\"{'border-bottom-0': selectedVersion !== null}\"\n >\n <div class=\"col-md-2\" *ngIf=\"processDefinitionVersions.length > 0\">\n <h2 class=\"process-title\">\n {{ processDefinitionVersions[0].name }}\n </h2>\n </div>\n <div class=\"col-md-1 offset-md-6\">\n <label for=\"processVersion\"><strong>Version</strong></label>\n <select\n id=\"processVersion\"\n class=\"form-control w-100\"\n [(ngModel)]=\"selectedVersion\"\n (change)=\"loadProcessBpmn()\"\n [compareWith]=\"compareProcessDefinitions\"\n >\n <option [ngValue]=\"null\" disabled selected>Version</option>\n <option\n *ngFor=\"let processDefinition of processDefinitionVersions\"\n [ngValue]=\"processDefinition\"\n >\n {{ processDefinition.version }}\n </option>\n </select>\n </div>\n <div\n class=\"col-md-2 d-flex align-items-end\"\n *ngIf=\"(selectedVersion !== null || processKey === null) && layoutService.isFullscreen\"\n >\n <div class=\"btn-group\">\n <button class=\"btn btn-primary btn-space\" (click)=\"deploy()\">\n <i class=\"icon mdi mdi-upload mr-1\"></i>{{ 'processManagement.deploy' | translate }}\n </button>\n <button class=\"btn btn-secondary btn-space\" (click)=\"download()\">\n <i class=\"icon mdi mdi-download mr-1\"></i\n >{{ 'processManagement.download' | translate }}\n </button>\n <button *ngIf=\"!selectedVersion\" class=\"btn btn-danger btn-space\" (click)=\"reset()\">\n <i class=\"icon mdi mdi-delete mr-1\"></i>{{ 'processManagement.clear' | translate }}\n </button>\n </div>\n </div>\n <div\n *ngIf=\"selectedVersion\"\n class=\"col-md-1 text-right fullscreen-toggle\"\n [ngClass]=\"{'offset-md-2': !layoutService.isFullscreen}\"\n >\n <i\n class=\"fas\"\n [ngClass]=\"{\n 'fa-expand-arrows-alt': !layoutService.isFullscreen,\n 'fa-compress-arrows-alt': layoutService.isFullscreen\n }\"\n (click)=\"layoutService.toggleFullscreen()\"\n ></i>\n </div>\n </div>\n <div [hidden]=\"!selectedVersion && processKey\" class=\"row bg-white diagram mb-3\">\n <div id=\"canvas\" class=\"col-9\"></div>\n <div id=\"properties\" class=\"col-3 pr-0\"></div>\n </div>\n </div>\n </div>\n</div>\n", styles: ["/*!\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.versions,.diagram{border:1px solid #dee2e6}.process-title{color:#6b6b6b;font-size:1.5rem}.fullscreen-toggle{font-size:2rem}.fullscreen-toggle>i{cursor:pointer}.modeler{height:90vh}#properties{border-left:1px solid #dee2e6;padding-left:0}\n"], directives: [{ type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i7.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i7.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i8.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
168
+ ProcessManagementBuilderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ProcessManagementBuilderComponent, selector: "valtimo-process-management-builder", ngImport: i0, template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"mb-5\" [ngClass]=\"{'main-content pt-0': !layoutService.isFullscreen}\">\n <div [ngClass]=\"{'container-fluid': !layoutService.isFullscreen}\">\n <div class=\"text-right\">\n <div\n class=\"btn-group mt-m3px mb-3\"\n *ngIf=\"(selectedVersion !== null || processKey === null) && !layoutService.isFullscreen\"\n >\n <button class=\"btn btn-primary btn-space\" (click)=\"download()\">\n <i class=\"icon mdi mdi-download mr-1\"></i>{{ 'processManagement.download' | translate }}\n </button>\n <button\n class=\"btn btn-success btn-space\"\n (click)=\"deploy()\"\n *ngIf=\"(isReadOnlyProcess$ | async) === false\"\n [ngClass]=\"{'mr-0': selectedVersion !== null}\"\n >\n <i class=\"icon mdi mdi-upload mr-1\"></i>{{ 'processManagement.deploy' | translate }}\n </button>\n <button\n *ngIf=\"selectedVersion === null\"\n class=\"btn btn-danger btn-space mr-0\"\n (click)=\"reset()\"\n >\n <i class=\"icon mdi mdi-delete mr-1\"></i>{{ 'processManagement.clear' | translate }}\n </button>\n </div>\n </div>\n\n <div class=\"modeler pl-3 pr-3 mb-3\" [ngClass]=\"{'mt-4': !layoutService.isFullscreen}\">\n <div\n class=\"row pt-4 pb-3 bg-light versions\"\n *ngIf=\"processDefinitionVersions\"\n [ngClass]=\"{'border-bottom-0': selectedVersion !== null}\"\n >\n <div class=\"col-md-4\" *ngIf=\"processDefinitionVersions.length > 0\">\n <h2 class=\"process-title\">\n {{ processDefinitionVersions[0].name }}\n </h2>\n <span class=\"badge badge-pill badge-info mr-1\" *ngIf=\"isReadOnlyProcess$ | async\">\n {{ 'processManagement.readOnly' | translate }}\n </span>\n <span class=\"badge badge-pill badge-warning mr-1\" *ngIf=\"isSystemProcess$ | async\">\n {{ 'processManagement.systemProcess' | translate }}\n </span>\n </div>\n <div class=\"col-md-2 offset-md-2\">\n <label for=\"processVersion\"><strong>Version</strong></label>\n <select\n id=\"processVersion\"\n class=\"form-control select-version-control\"\n [(ngModel)]=\"selectedVersion\"\n (change)=\"loadProcessBpmn()\"\n [compareWith]=\"compareProcessDefinitions\"\n >\n <option [ngValue]=\"null\" disabled selected>Version</option>\n <option\n *ngFor=\"let processDefinition of processDefinitionVersions\"\n [ngValue]=\"processDefinition\"\n >\n {{ processDefinition.version }}\n </option>\n </select>\n </div>\n <div\n class=\"col-md-auto d-flex align-items-end text-right\"\n *ngIf=\"(selectedVersion !== null || processKey === null) && layoutService.isFullscreen\"\n >\n <div class=\"btn-group\">\n <button class=\"btn btn-primary btn-space\" (click)=\"download()\">\n <i class=\"icon mdi mdi-download mr-1\"></i\n >{{ 'processManagement.download' | translate }}\n </button>\n <button\n class=\"btn btn-success btn-space\"\n (click)=\"deploy()\"\n *ngIf=\"(isReadOnlyProcess$ | async) === false\"\n >\n <i class=\"icon mdi mdi-upload mr-1\"></i>{{ 'processManagement.deploy' | translate }}\n </button>\n <button *ngIf=\"!selectedVersion\" class=\"btn btn-danger btn-space\" (click)=\"reset()\">\n <i class=\"icon mdi mdi-delete mr-1\"></i>{{ 'processManagement.clear' | translate }}\n </button>\n </div>\n </div>\n <div\n *ngIf=\"selectedVersion\"\n class=\"col-md-1 fullscreen-toggle text-right\"\n [ngClass]=\"{'offset-md-2': !layoutService.isFullscreen}\"\n >\n <i\n class=\"fas\"\n [ngClass]=\"{\n 'fa-expand-arrows-alt': !layoutService.isFullscreen,\n 'fa-compress-arrows-alt': layoutService.isFullscreen\n }\"\n (click)=\"layoutService.toggleFullscreen()\"\n ></i>\n </div>\n </div>\n <div\n *ngIf=\"(isSystemProcess$ | async) && (isReadOnlyProcess$ | async)\"\n class=\"row bg-warning text-black mb-0 p-3 text-center\"\n [translate]=\"'processManagement.readOnlySystemProcessWarningMessage'\"\n ></div>\n <div\n *ngIf=\"(isSystemProcess$ | async) && (isReadOnlyProcess$ | async) === false\"\n class=\"row bg-warning text-black mb-0 p-3 text-center\"\n [translate]=\"'processManagement.systemProcessWarningMessage'\"\n ></div>\n <div [hidden]=\"!selectedVersion && processKey\" class=\"row bg-white diagram mb-3\">\n <div id=\"canvas\" class=\"col-9\" [hidden]=\"isReadOnlyProcess$ | async\"></div>\n <div id=\"properties\" class=\"col-3 pr-0\" [hidden]=\"isReadOnlyProcess$ | async\"></div>\n <div\n id=\"readOnlyCanvas\"\n class=\"col-12\"\n [hidden]=\"(isReadOnlyProcess$ | async) === false\"\n ></div>\n </div>\n </div>\n </div>\n</div>\n", styles: ["/*!\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.versions,.diagram{border:1px solid #dee2e6}.process-title{color:#6b6b6b;font-size:1.5rem}.fullscreen-toggle{font-size:2rem}.fullscreen-toggle>i{cursor:pointer}.modeler{height:90vh}.select-version-control{width:90px}#properties{border-left:1px solid #dee2e6;padding-left:0}#readOnlyCanvas{height:90vh}\n"], directives: [{ type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i7.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i7.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i8.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }], pipes: { "translate": i8.TranslatePipe, "async": i6.AsyncPipe }, encapsulation: i0.ViewEncapsulation.None });
158
169
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ProcessManagementBuilderComponent, decorators: [{
159
170
  type: Component,
160
- args: [{ selector: 'valtimo-process-management-builder', encapsulation: ViewEncapsulation.None, 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=\"mb-5\" [ngClass]=\"{'main-content pt-0': !layoutService.isFullscreen}\">\n <div [ngClass]=\"{'container-fluid': !layoutService.isFullscreen}\">\n <div class=\"text-right\">\n <div\n class=\"btn-group mt-m3px mb-3\"\n *ngIf=\"(selectedVersion !== null || processKey === null) && !layoutService.isFullscreen\"\n >\n <button class=\"btn btn-primary btn-space\" (click)=\"download()\">\n <i class=\"icon mdi mdi-download mr-1\"></i>{{ 'processManagement.download' | translate }}\n </button>\n <button\n class=\"btn btn-success btn-space\"\n (click)=\"deploy()\"\n [ngClass]=\"{'mr-0': selectedVersion !== null}\"\n >\n <i class=\"icon mdi mdi-upload mr-1\"></i>{{ 'processManagement.deploy' | translate }}\n </button>\n <button\n *ngIf=\"selectedVersion === null\"\n class=\"btn btn-danger btn-space mr-0\"\n (click)=\"reset()\"\n >\n <i class=\"icon mdi mdi-delete mr-1\"></i>{{ 'processManagement.clear' | translate }}\n </button>\n </div>\n </div>\n\n <div class=\"modeler pl-3 pr-3 mb-3\" [ngClass]=\"{'mt-4': !layoutService.isFullscreen}\">\n <div\n class=\"row pt-4 pb-3 bg-light versions\"\n *ngIf=\"processDefinitionVersions\"\n [ngClass]=\"{'border-bottom-0': selectedVersion !== null}\"\n >\n <div class=\"col-md-2\" *ngIf=\"processDefinitionVersions.length > 0\">\n <h2 class=\"process-title\">\n {{ processDefinitionVersions[0].name }}\n </h2>\n </div>\n <div class=\"col-md-1 offset-md-6\">\n <label for=\"processVersion\"><strong>Version</strong></label>\n <select\n id=\"processVersion\"\n class=\"form-control w-100\"\n [(ngModel)]=\"selectedVersion\"\n (change)=\"loadProcessBpmn()\"\n [compareWith]=\"compareProcessDefinitions\"\n >\n <option [ngValue]=\"null\" disabled selected>Version</option>\n <option\n *ngFor=\"let processDefinition of processDefinitionVersions\"\n [ngValue]=\"processDefinition\"\n >\n {{ processDefinition.version }}\n </option>\n </select>\n </div>\n <div\n class=\"col-md-2 d-flex align-items-end\"\n *ngIf=\"(selectedVersion !== null || processKey === null) && layoutService.isFullscreen\"\n >\n <div class=\"btn-group\">\n <button class=\"btn btn-primary btn-space\" (click)=\"deploy()\">\n <i class=\"icon mdi mdi-upload mr-1\"></i>{{ 'processManagement.deploy' | translate }}\n </button>\n <button class=\"btn btn-secondary btn-space\" (click)=\"download()\">\n <i class=\"icon mdi mdi-download mr-1\"></i\n >{{ 'processManagement.download' | translate }}\n </button>\n <button *ngIf=\"!selectedVersion\" class=\"btn btn-danger btn-space\" (click)=\"reset()\">\n <i class=\"icon mdi mdi-delete mr-1\"></i>{{ 'processManagement.clear' | translate }}\n </button>\n </div>\n </div>\n <div\n *ngIf=\"selectedVersion\"\n class=\"col-md-1 text-right fullscreen-toggle\"\n [ngClass]=\"{'offset-md-2': !layoutService.isFullscreen}\"\n >\n <i\n class=\"fas\"\n [ngClass]=\"{\n 'fa-expand-arrows-alt': !layoutService.isFullscreen,\n 'fa-compress-arrows-alt': layoutService.isFullscreen\n }\"\n (click)=\"layoutService.toggleFullscreen()\"\n ></i>\n </div>\n </div>\n <div [hidden]=\"!selectedVersion && processKey\" class=\"row bg-white diagram mb-3\">\n <div id=\"canvas\" class=\"col-9\"></div>\n <div id=\"properties\" class=\"col-3 pr-0\"></div>\n </div>\n </div>\n </div>\n</div>\n", styles: ["/*!\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.versions,.diagram{border:1px solid #dee2e6}.process-title{color:#6b6b6b;font-size:1.5rem}.fullscreen-toggle{font-size:2rem}.fullscreen-toggle>i{cursor:pointer}.modeler{height:90vh}#properties{border-left:1px solid #dee2e6;padding-left:0}\n"] }]
171
+ args: [{ selector: 'valtimo-process-management-builder', encapsulation: ViewEncapsulation.None, 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=\"mb-5\" [ngClass]=\"{'main-content pt-0': !layoutService.isFullscreen}\">\n <div [ngClass]=\"{'container-fluid': !layoutService.isFullscreen}\">\n <div class=\"text-right\">\n <div\n class=\"btn-group mt-m3px mb-3\"\n *ngIf=\"(selectedVersion !== null || processKey === null) && !layoutService.isFullscreen\"\n >\n <button class=\"btn btn-primary btn-space\" (click)=\"download()\">\n <i class=\"icon mdi mdi-download mr-1\"></i>{{ 'processManagement.download' | translate }}\n </button>\n <button\n class=\"btn btn-success btn-space\"\n (click)=\"deploy()\"\n *ngIf=\"(isReadOnlyProcess$ | async) === false\"\n [ngClass]=\"{'mr-0': selectedVersion !== null}\"\n >\n <i class=\"icon mdi mdi-upload mr-1\"></i>{{ 'processManagement.deploy' | translate }}\n </button>\n <button\n *ngIf=\"selectedVersion === null\"\n class=\"btn btn-danger btn-space mr-0\"\n (click)=\"reset()\"\n >\n <i class=\"icon mdi mdi-delete mr-1\"></i>{{ 'processManagement.clear' | translate }}\n </button>\n </div>\n </div>\n\n <div class=\"modeler pl-3 pr-3 mb-3\" [ngClass]=\"{'mt-4': !layoutService.isFullscreen}\">\n <div\n class=\"row pt-4 pb-3 bg-light versions\"\n *ngIf=\"processDefinitionVersions\"\n [ngClass]=\"{'border-bottom-0': selectedVersion !== null}\"\n >\n <div class=\"col-md-4\" *ngIf=\"processDefinitionVersions.length > 0\">\n <h2 class=\"process-title\">\n {{ processDefinitionVersions[0].name }}\n </h2>\n <span class=\"badge badge-pill badge-info mr-1\" *ngIf=\"isReadOnlyProcess$ | async\">\n {{ 'processManagement.readOnly' | translate }}\n </span>\n <span class=\"badge badge-pill badge-warning mr-1\" *ngIf=\"isSystemProcess$ | async\">\n {{ 'processManagement.systemProcess' | translate }}\n </span>\n </div>\n <div class=\"col-md-2 offset-md-2\">\n <label for=\"processVersion\"><strong>Version</strong></label>\n <select\n id=\"processVersion\"\n class=\"form-control select-version-control\"\n [(ngModel)]=\"selectedVersion\"\n (change)=\"loadProcessBpmn()\"\n [compareWith]=\"compareProcessDefinitions\"\n >\n <option [ngValue]=\"null\" disabled selected>Version</option>\n <option\n *ngFor=\"let processDefinition of processDefinitionVersions\"\n [ngValue]=\"processDefinition\"\n >\n {{ processDefinition.version }}\n </option>\n </select>\n </div>\n <div\n class=\"col-md-auto d-flex align-items-end text-right\"\n *ngIf=\"(selectedVersion !== null || processKey === null) && layoutService.isFullscreen\"\n >\n <div class=\"btn-group\">\n <button class=\"btn btn-primary btn-space\" (click)=\"download()\">\n <i class=\"icon mdi mdi-download mr-1\"></i\n >{{ 'processManagement.download' | translate }}\n </button>\n <button\n class=\"btn btn-success btn-space\"\n (click)=\"deploy()\"\n *ngIf=\"(isReadOnlyProcess$ | async) === false\"\n >\n <i class=\"icon mdi mdi-upload mr-1\"></i>{{ 'processManagement.deploy' | translate }}\n </button>\n <button *ngIf=\"!selectedVersion\" class=\"btn btn-danger btn-space\" (click)=\"reset()\">\n <i class=\"icon mdi mdi-delete mr-1\"></i>{{ 'processManagement.clear' | translate }}\n </button>\n </div>\n </div>\n <div\n *ngIf=\"selectedVersion\"\n class=\"col-md-1 fullscreen-toggle text-right\"\n [ngClass]=\"{'offset-md-2': !layoutService.isFullscreen}\"\n >\n <i\n class=\"fas\"\n [ngClass]=\"{\n 'fa-expand-arrows-alt': !layoutService.isFullscreen,\n 'fa-compress-arrows-alt': layoutService.isFullscreen\n }\"\n (click)=\"layoutService.toggleFullscreen()\"\n ></i>\n </div>\n </div>\n <div\n *ngIf=\"(isSystemProcess$ | async) && (isReadOnlyProcess$ | async)\"\n class=\"row bg-warning text-black mb-0 p-3 text-center\"\n [translate]=\"'processManagement.readOnlySystemProcessWarningMessage'\"\n ></div>\n <div\n *ngIf=\"(isSystemProcess$ | async) && (isReadOnlyProcess$ | async) === false\"\n class=\"row bg-warning text-black mb-0 p-3 text-center\"\n [translate]=\"'processManagement.systemProcessWarningMessage'\"\n ></div>\n <div [hidden]=\"!selectedVersion && processKey\" class=\"row bg-white diagram mb-3\">\n <div id=\"canvas\" class=\"col-9\" [hidden]=\"isReadOnlyProcess$ | async\"></div>\n <div id=\"properties\" class=\"col-3 pr-0\" [hidden]=\"isReadOnlyProcess$ | async\"></div>\n <div\n id=\"readOnlyCanvas\"\n class=\"col-12\"\n [hidden]=\"(isReadOnlyProcess$ | async) === false\"\n ></div>\n </div>\n </div>\n </div>\n</div>\n", styles: ["/*!\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.versions,.diagram{border:1px solid #dee2e6}.process-title{color:#6b6b6b;font-size:1.5rem}.fullscreen-toggle{font-size:2rem}.fullscreen-toggle>i{cursor:pointer}.modeler{height:90vh}.select-version-control{width:90px}#properties{border-left:1px solid #dee2e6;padding-left:0}#readOnlyCanvas{height:90vh}\n"] }]
161
172
  }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.ProcessService }, { type: i3.LayoutService }, { type: i4.AlertService }, { type: i5.ActivatedRoute }, { type: i5.Router }]; } });
162
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1tYW5hZ2VtZW50LWJ1aWxkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9wcm9jZXNzLW1hbmFnZW1lbnQvc3JjL2xpYi9wcm9jZXNzLW1hbmFnZW1lbnQtYnVpbGRlci9wcm9jZXNzLW1hbmFnZW1lbnQtYnVpbGRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL3Byb2Nlc3MtbWFuYWdlbWVudC9zcmMvbGliL3Byb2Nlc3MtbWFuYWdlbWVudC1idWlsZGVyL3Byb2Nlc3MtbWFuYWdlbWVudC1idWlsZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFDLFNBQVMsRUFBcUIsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFLOUUsT0FBTyxFQUFDLFFBQVEsRUFBYSxNQUFNLE1BQU0sQ0FBQztBQUUxQyxPQUFPLE9BQU8sTUFBTSxxQkFBcUIsQ0FBQztBQUMxQyxPQUFPLHFCQUFxQixNQUFNLDBCQUEwQixDQUFDO0FBQzdELE9BQU8sd0JBQXdCLE1BQU0sK0NBQStDLENBQUM7QUFDckYsT0FBTyxzQkFBc0IsTUFBTSx5QkFBeUIsQ0FBQztBQUM3RCxPQUFPLHVCQUF1QixNQUFNLDRDQUE0QyxDQUFDOzs7Ozs7Ozs7O0FBUWpGLE1BQU0sT0FBTyxpQ0FBaUM7SUFPNUMsWUFDVSxJQUFnQixFQUNoQixjQUE4QixFQUMvQixhQUE0QixFQUMzQixZQUEwQixFQUMxQixLQUFxQixFQUNyQixNQUFjO1FBTGQsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDL0Isa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDM0IsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsVUFBSyxHQUFMLEtB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IHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7Q29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtIdHRwQ2xpZW50fSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQge1Byb2Nlc3NTZXJ2aWNlLCBQcm9jZXNzRGVmaW5pdGlvbn0gZnJvbSAnQHZhbHRpbW8vcHJvY2Vzcyc7XG5pbXBvcnQge0FsZXJ0U2VydmljZX0gZnJvbSAnQHZhbHRpbW8vY29tcG9uZW50cyc7XG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlLCBSb3V0ZXJ9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge2ZvcmtKb2luLCBPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7TGF5b3V0U2VydmljZX0gZnJvbSAnQHZhbHRpbW8vbGF5b3V0JztcbmltcG9ydCBNb2RlbGVyIGZyb20gJ2JwbW4tanMvbGliL01vZGVsZXInO1xuaW1wb3J0IFByb3BlcnRpZXNQYW5lbE1vZHVsZSBmcm9tICdicG1uLWpzLXByb3BlcnRpZXMtcGFuZWwnO1xuaW1wb3J0IFByb3BlcnRpZXNQcm92aWRlck1vZHVsZSBmcm9tICdicG1uLWpzLXByb3BlcnRpZXMtcGFuZWwvbGliL3Byb3ZpZGVyL2NhbXVuZGEnO1xuaW1wb3J0IENhbXVuZGFFeHRlbnNpb25Nb2R1bGUgZnJvbSAnY2FtdW5kYS1icG1uLW1vZGRsZS9saWInO1xuaW1wb3J0IENhbXVuZGFNb2RkbGVEZXNjcmlwdG9yIGZyb20gJ2NhbXVuZGEtYnBtbi1tb2RkbGUvcmVzb3VyY2VzL2NhbXVuZGEuanNvbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbHRpbW8tcHJvY2Vzcy1tYW5hZ2VtZW50LWJ1aWxkZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvY2Vzcy1tYW5hZ2VtZW50LWJ1aWxkZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wcm9jZXNzLW1hbmFnZW1lbnQtYnVpbGRlci5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBQcm9jZXNzTWFuYWdlbWVudEJ1aWxkZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHB1YmxpYyBicG1uTW9kZWxlcjtcbiAgcHVibGljIHByb2Nlc3NEZWZpbml0aW9uVmVyc2lvbnM6IFByb2Nlc3NEZWZpbml0aW9uW10gfCBudWxsID0gbnVsbDtcbiAgcHVibGljIHNlbGVjdGVkVmVyc2lvbjogUHJvY2Vzc0RlZmluaXRpb24gfCBudWxsID0gbnVsbDtcbiAgcHVibGljIHByb2Nlc3NLZXk6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIGVsZW1lbnRUZW1wbGF0ZUZpbGVzOiBzdHJpbmdbXSA9IFsnbWFpbFNlbmRUYXNrJ107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgcHJvY2Vzc1NlcnZpY2U6IFByb2Nlc3NTZXJ2aWNlLFxuICAgIHB1YmxpYyBsYXlvdXRTZXJ2aWNlOiBMYXlvdXRTZXJ2aWNlLFxuICAgIHByaXZhdGUgYWxlcnRTZXJ2aWNlOiBBbGVydFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlclxuICApIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5pbml0KCk7XG4gIH1cblxuICBpbml0KCkge1xuICAgIHRoaXMucHJvY2Vzc0tleSA9IHRoaXMucm91dGUuc25hcHNob3QucGFyYW1NYXAuZ2V0KCdrZXknKTtcbiAgICBmb3JrSm9pbih0aGlzLmdldEVsZW1lbnRUZW1wbGF0ZXMoKSkuc3Vic2NyaWJlKChlbGVtZW50VGVtcGxhdGVzOiBhbnlbXSkgPT4ge1xuICAgICAgdGhpcy5icG1uTW9kZWxlciA9IG5ldyBNb2RlbGVyKHtcbiAgICAgICAgY29udGFpbmVyOiAnI2NhbnZhcycsXG4gICAgICAgIGhlaWdodDogJzkwdmgnLFxuICAgICAgICBhZGRpdGlvbmFsTW9kdWxlczogW1xuICAgICAgICAgIFByb3BlcnRpZXNQYW5lbE1vZHVsZSxcbiAgICAgICAgICBQcm9wZXJ0aWVzUHJvdmlkZXJNb2R1bGUsXG4gICAgICAgICAgQ2FtdW5kYUV4dGVuc2lvbk1vZHVsZSxcbiAgICAgICAgXSxcbiAgICAgICAgcHJvcGVydGllc1BhbmVsOiB7XG4gICAgICAgICAgcGFyZW50OiAnI3Byb3BlcnRpZXMnLFxuICAgICAgICB9LFxuICAgICAgICBtb2RkbGVFeHRlbnNpb25zOiB7XG4gICAgICAgICAgY2FtdW5kYTogQ2FtdW5kYU1vZGRsZURlc2NyaXB0b3IsXG4gICAgICAgIH0sXG4gICAgICAgIGVsZW1lbnRUZW1wbGF0ZXMsXG4gICAgICB9KTtcbiAgICAgIGlmICh0aGlzLnByb2Nlc3NLZXkpIHtcbiAgICAgICAgdGhpcy5sb2FkUHJvY2Vzc1ZlcnNpb25zKHRoaXMucHJvY2Vzc0tleSk7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRWZXJzaW9uID0gbnVsbDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMubG9hZEVtcHR5QnBtbigpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgZGVwbG95KCk6IHZvaWQge1xuICAgIHRoaXMuYnBtbk1vZGVsZXIuc2F2ZVhNTCgoZXJyOiBhbnksIHhtbDogYW55KSA9PiB7XG4gICAgICB0aGlzLnByb2Nlc3NTZXJ2aWNlLmRlcGxveVByb2Nlc3MoeG1sKS5zdWJzY3JpYmUoYXNkID0+IHtcbiAgICAgICAgaWYgKHRoaXMucHJvY2Vzc0tleSkge1xuICAgICAgICAgIHRoaXMubG9hZFByb2Nlc3NWZXJzaW9ucyh0aGlzLnByb2Nlc3NLZXkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL3Byb2Nlc3NlcyddKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5zdWNjZXNzKCdEZXBsb3ltZW50IHN1Y2Nlc3NmdWwnKTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFZlcnNpb24gPSBudWxsO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICByZXNldCgpIHtcbiAgICB0aGlzLmJwbW5Nb2RlbGVyLmRlc3Ryb3koKTtcbiAgICB0aGlzLmluaXQoKTtcbiAgfVxuXG4gIGRvd25sb2FkKCkge1xuICAgIHRoaXMuYnBtbk1vZGVsZXIuc2F2ZVhNTCgoZXJyOiBhbnksIHhtbDogYW55KSA9PiB7XG4gICAgICBjb25zdCBmaWxlID0gbmV3IEJsb2IoW3htbF0sIHt0eXBlOiAndGV4dC94bWwnfSk7XG4gICAgICBjb25zdCBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xuICAgICAgbGluay5kb3dubG9hZCA9ICdkaWFncmFtLmJwbW4nO1xuICAgICAgbGluay5ocmVmID0gd2luZG93LlVSTC5jcmVhdGVPYmplY3RVUkwoZmlsZSk7XG4gICAgICBsaW5rLmNsaWNrKCk7XG4gICAgICB3aW5kb3cuVVJMLnJldm9rZU9iamVjdFVSTChsaW5rLmhyZWYpO1xuICAgICAgbGluay5yZW1vdmUoKTtcbiAgICB9KTtcbiAgfVxuXG4gIGxvYWRFbXB0eUJwbW4oKSB7XG4gICAgY29uc3QgdXJsID0gJy9hc3NldHMvYnBtbi9pbml0aWFsLmJwbW4nO1xuICAgIHRoaXMuaHR0cFxuICAgICAgLmdldCh1cmwsIHtcbiAgICAgICAgaGVhZGVyczoge29ic2VydmU6ICdyZXNwb25zZSd9LFxuICAgICAgICByZXNwb25zZVR5cGU6ICd0ZXh0JyxcbiAgICAgIH0pXG4gICAgICAuc3Vic2NyaWJlKCh4bWw6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLmJwbW5Nb2RlbGVyLmltcG9ydFhNTCh4bWwpO1xuICAgICAgfSk7XG4gIH1cblxuICBnZXRFbGVtZW50VGVtcGxhdGVzKCk6IE9ic2VydmFibGU8YW55PltdIHtcbiAgICBjb25zdCB0ZW1wbGF0ZU9icyA9IFtdO1xuICAgIGZvciAoY29uc3QgZmlsZSBvZiB0aGlzLmVsZW1lbnRUZW1wbGF0ZUZpbGVzKSB7XG4gICAgICB0ZW1wbGF0ZU9icy5wdXNoKFxuICAgICAgICB0aGlzLmh0dHAuZ2V0KGAvYXNzZXRzL2JwbW4vZWxlbWVudC10ZW1wbGF0ZXMvJHtmaWxlfS5qc29uYCwge1xuICAgICAgICAgIGhlYWRlcnM6IHtvYnNlcnZlOiAncmVzcG9uc2UnfSxcbiAgICAgICAgICByZXNwb25zZVR5cGU6ICdqc29uJyxcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiB0ZW1wbGF0ZU9icztcbiAgfVxuXG4gIHByaXZhdGUgc2V0TGF0ZXN0VmVyc2lvbigpIHtcbiAgICB0aGlzLnNlbGVjdGVkVmVyc2lvbiA9IHRoaXMucHJvY2Vzc0RlZmluaXRpb25WZXJzaW9ucy5yZWR1Y2UoKGFjYywgdmVyc2lvbikgPT5cbiAgICAgIHZlcnNpb24udmVyc2lvbiA+IGFjYy52ZXJzaW9uID8gdmVyc2lvbiA6IGFjY1xuICAgICk7XG4gICAgdGhpcy5sb2FkUHJvY2Vzc0JwbW4oKTtcbiAgfVxuXG4gIGxvYWRQcm9jZXNzVmVyc2lvbnMocHJvY2Vzc0RlZmluaXRpb25LZXk6IHN0cmluZykge1xuICAgIHRoaXMucHJvY2Vzc1NlcnZpY2VcbiAgICAgIC5nZXRQcm9jZXNzRGVmaW5pdGlvblZlcnNpb25zKHByb2Nlc3NEZWZpbml0aW9uS2V5KVxuICAgICAgLnN1YnNjcmliZSgocHJvY2Vzc0RlZmluaXRpb25WZXJzaW9uczogUHJvY2Vzc0RlZmluaXRpb25bXSkgPT4ge1xuICAgICAgICB0aGlzLnByb2Nlc3NEZWZpbml0aW9uVmVyc2lvbnMgPSBwcm9jZXNzRGVmaW5pdGlvblZlcnNpb25zO1xuICAgICAgICB0aGlzLnNldExhdGVzdFZlcnNpb24oKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgY29tcGFyZVByb2Nlc3NEZWZpbml0aW9ucyhwZDE6IFByb2Nlc3NEZWZpbml0aW9uLCBwZDI6IFByb2Nlc3NEZWZpbml0aW9uKSB7XG4gICAgaWYgKHBkMSA9PT0gbnVsbCAmJiBwZDIgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBpZiAocGQxID09PSBudWxsIHx8IHBkMiA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gcGQxLmlkID09PSBwZDIuaWQ7XG4gIH1cblxuICBsb2FkUHJvY2Vzc0JwbW4oKSB7XG4gICAgdGhpcy5wcm9jZXNzU2VydmljZS5nZXRQcm9jZXNzRGVmaW5pdGlvblhtbCh0aGlzLnNlbGVjdGVkVmVyc2lvbi5pZCkuc3Vic2NyaWJlKHhtbCA9PiB7XG4gICAgICB0aGlzLmJwbW5Nb2RlbGVyLmltcG9ydFhNTCh4bWxbJ2JwbW4yMFhtbCddKTtcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuYnBtbk1vZGVsZXIuZGVzdHJveSgpO1xuICB9XG59XG4iLCI8IS0tXG4gIH4gQ29weXJpZ2h0IDIwMTUtMjAyMCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gIH5cbiAgfiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAgfiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIH4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gIH5cbiAgfiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gIH5cbiAgfiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIH4gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICB+IFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICB+IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgfiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAgLS0+XG5cbjxkaXYgY2xhc3M9XCJtYi01XCIgW25nQ2xhc3NdPVwieydtYWluLWNvbnRlbnQgcHQtMCc6ICFsYXlvdXRTZXJ2aWNlLmlzRnVsbHNjcmVlbn1cIj5cbiAgPGRpdiBbbmdDbGFzc109XCJ7J2NvbnRhaW5lci1mbHVpZCc6ICFsYXlvdXRTZXJ2aWNlLmlzRnVsbHNjcmVlbn1cIj5cbiAgICA8ZGl2IGNsYXNzPVwidGV4dC1yaWdodFwiPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImJ0bi1ncm91cCBtdC1tM3B4IG1iLTNcIlxuICAgICAgICAqbmdJZj1cIihzZWxlY3RlZFZlcnNpb24gIT09IG51bGwgfHwgcHJvY2Vzc0tleSA9PT0gbnVsbCkgJiYgIWxheW91dFNlcnZpY2UuaXNGdWxsc2NyZWVuXCJcbiAgICAgID5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBidG4tc3BhY2VcIiAoY2xpY2spPVwiZG93bmxvYWQoKVwiPlxuICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbiBtZGkgbWRpLWRvd25sb2FkIG1yLTFcIj48L2k+e3sgJ3Byb2Nlc3NNYW5hZ2VtZW50LmRvd25sb2FkJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1zdWNjZXNzIGJ0bi1zcGFjZVwiXG4gICAgICAgICAgKGNsaWNrKT1cImRlcGxveSgpXCJcbiAgICAgICAgICBbbmdDbGFzc109XCJ7J21yLTAnOiBzZWxlY3RlZFZlcnNpb24gIT09IG51bGx9XCJcbiAgICAgICAgPlxuICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbiBtZGkgbWRpLXVwbG9hZCBtci0xXCI+PC9pPnt7ICdwcm9jZXNzTWFuYWdlbWVudC5kZXBsb3knIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgKm5nSWY9XCJzZWxlY3RlZFZlcnNpb24gPT09IG51bGxcIlxuICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1kYW5nZXIgYnRuLXNwYWNlIG1yLTBcIlxuICAgICAgICAgIChjbGljayk9XCJyZXNldCgpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbiBtZGkgbWRpLWRlbGV0ZSBtci0xXCI+PC9pPnt7ICdwcm9jZXNzTWFuYWdlbWVudC5jbGVhcicgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJtb2RlbGVyIHBsLTMgcHItMyBtYi0zXCIgW25nQ2xhc3NdPVwieydtdC00JzogIWxheW91dFNlcnZpY2UuaXNGdWxsc2NyZWVufVwiPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cInJvdyBwdC00IHBiLTMgYmctbGlnaHQgdmVyc2lvbnNcIlxuICAgICAgICAqbmdJZj1cInByb2Nlc3NEZWZpbml0aW9uVmVyc2lvbnNcIlxuICAgICAgICBbbmdDbGFzc109XCJ7J2JvcmRlci1ib3R0b20tMCc6IHNlbGVjdGVkVmVyc2lvbiAhPT0gbnVsbH1cIlxuICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTJcIiAqbmdJZj1cInByb2Nlc3NEZWZpbml0aW9uVmVyc2lvbnMubGVuZ3RoID4gMFwiPlxuICAgICAgICAgIDxoMiBjbGFzcz1cInByb2Nlc3MtdGl0bGVcIj5cbiAgICAgICAgICAgIHt7IHByb2Nlc3NEZWZpbml0aW9uVmVyc2lvbnNbMF0ubmFtZSB9fVxuICAgICAgICAgIDwvaDI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEgb2Zmc2V0LW1kLTZcIj5cbiAgICAgICAgICA8bGFiZWwgZm9yPVwicHJvY2Vzc1ZlcnNpb25cIj48c3Ryb25nPlZlcnNpb248L3N0cm9uZz48L2xhYmVsPlxuICAgICAgICAgIDxzZWxlY3RcbiAgICAgICAgICAgIGlkPVwicHJvY2Vzc1ZlcnNpb25cIlxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgdy0xMDBcIlxuICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJzZWxlY3RlZFZlcnNpb25cIlxuICAgICAgICAgICAgKGNoYW5nZSk9XCJsb2FkUHJvY2Vzc0JwbW4oKVwiXG4gICAgICAgICAgICBbY29tcGFyZVdpdGhdPVwiY29tcGFyZVByb2Nlc3NEZWZpbml0aW9uc1wiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPG9wdGlvbiBbbmdWYWx1ZV09XCJudWxsXCIgZGlzYWJsZWQgc2VsZWN0ZWQ+VmVyc2lvbjwvb3B0aW9uPlxuICAgICAgICAgICAgPG9wdGlvblxuICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgcHJvY2Vzc0RlZmluaXRpb24gb2YgcHJvY2Vzc0RlZmluaXRpb25WZXJzaW9uc1wiXG4gICAgICAgICAgICAgIFtuZ1ZhbHVlXT1cInByb2Nlc3NEZWZpbml0aW9uXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3sgcHJvY2Vzc0RlZmluaXRpb24udmVyc2lvbiB9fVxuICAgICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgICAgPC9zZWxlY3Q+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJjb2wtbWQtMiBkLWZsZXggYWxpZ24taXRlbXMtZW5kXCJcbiAgICAgICAgICAqbmdJZj1cIihzZWxlY3RlZFZlcnNpb24gIT09IG51bGwgfHwgcHJvY2Vzc0tleSA9PT0gbnVsbCkgJiYgbGF5b3V0U2VydmljZS5pc0Z1bGxzY3JlZW5cIlxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImJ0bi1ncm91cFwiPlxuICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBidG4tc3BhY2VcIiAoY2xpY2spPVwiZGVwbG95KClcIj5cbiAgICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29uIG1kaSBtZGktdXBsb2FkIG1yLTFcIj48L2k+e3sgJ3Byb2Nlc3NNYW5hZ2VtZW50LmRlcGxveScgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tc2Vjb25kYXJ5IGJ0bi1zcGFjZVwiIChjbGljayk9XCJkb3dubG9hZCgpXCI+XG4gICAgICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbiBtZGkgbWRpLWRvd25sb2FkIG1yLTFcIj48L2lcbiAgICAgICAgICAgICAgPnt7ICdwcm9jZXNzTWFuYWdlbWVudC5kb3dubG9hZCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cIiFzZWxlY3RlZFZlcnNpb25cIiBjbGFzcz1cImJ0biBidG4tZGFuZ2VyIGJ0bi1zcGFjZVwiIChjbGljayk9XCJyZXNldCgpXCI+XG4gICAgICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbiBtZGkgbWRpLWRlbGV0ZSBtci0xXCI+PC9pPnt7ICdwcm9jZXNzTWFuYWdlbWVudC5jbGVhcicgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICpuZ0lmPVwic2VsZWN0ZWRWZXJzaW9uXCJcbiAgICAgICAgICBjbGFzcz1cImNvbC1tZC0xIHRleHQtcmlnaHQgZnVsbHNjcmVlbi10b2dnbGVcIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cInsnb2Zmc2V0LW1kLTInOiAhbGF5b3V0U2VydmljZS5pc0Z1bGxzY3JlZW59XCJcbiAgICAgICAgPlxuICAgICAgICAgIDxpXG4gICAgICAgICAgICBjbGFzcz1cImZhc1wiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICdmYS1leHBhbmQtYXJyb3dzLWFsdCc6ICFsYXlvdXRTZXJ2aWNlLmlzRnVsbHNjcmVlbixcbiAgICAgICAgICAgICAgJ2ZhLWNvbXByZXNzLWFycm93cy1hbHQnOiBsYXlvdXRTZXJ2aWNlLmlzRnVsbHNjcmVlblxuICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAoY2xpY2spPVwibGF5b3V0U2VydmljZS50b2dnbGVGdWxsc2NyZWVuKClcIlxuICAgICAgICAgID48L2k+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IFtoaWRkZW5dPVwiIXNlbGVjdGVkVmVyc2lvbiAmJiBwcm9jZXNzS2V5XCIgY2xhc3M9XCJyb3cgYmctd2hpdGUgZGlhZ3JhbSBtYi0zXCI+XG4gICAgICAgIDxkaXYgaWQ9XCJjYW52YXNcIiBjbGFzcz1cImNvbC05XCI+PC9kaXY+XG4gICAgICAgIDxkaXYgaWQ9XCJwcm9wZXJ0aWVzXCIgY2xhc3M9XCJjb2wtMyBwci0wXCI+PC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
173
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1tYW5hZ2VtZW50LWJ1aWxkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9wcm9jZXNzLW1hbmFnZW1lbnQvc3JjL2xpYi9wcm9jZXNzLW1hbmFnZW1lbnQtYnVpbGRlci9wcm9jZXNzLW1hbmFnZW1lbnQtYnVpbGRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL3Byb2Nlc3MtbWFuYWdlbWVudC9zcmMvbGliL3Byb2Nlc3MtbWFuYWdlbWVudC1idWlsZGVyL3Byb2Nlc3MtbWFuYWdlbWVudC1idWlsZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFDLFNBQVMsRUFBcUIsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFLOUUsT0FBTyxFQUFDLGVBQWUsRUFBRSxRQUFRLEVBQWEsTUFBTSxNQUFNLENBQUM7QUFFM0QsT0FBTyxPQUFPLE1BQU0scUJBQXFCLENBQUM7QUFDMUMsT0FBTyxNQUFNLE1BQU0sc0RBQXNELENBQUM7QUFDMUUsT0FBTyxxQkFBcUIsTUFBTSwwQkFBMEIsQ0FBQztBQUM3RCxPQUFPLHdCQUF3QixNQUFNLCtDQUErQyxDQUFDO0FBQ3JGLE9BQU8sc0JBQXNCLE1BQU0seUJBQXlCLENBQUM7QUFDN0QsT0FBTyx1QkFBdUIsTUFBTSw0Q0FBNEMsQ0FBQzs7Ozs7Ozs7OztBQVFqRixNQUFNLE9BQU8saUNBQWlDO0lBVTVDLFlBQ1UsSUFBZ0IsRUFDaEIsY0FBOEIsRUFDL0IsYUFBNEIsRUFDM0IsWUFBMEIsRUFDMUIsS0FBcUIsRUFDckIsTUFBYztRQUxkLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQy9CLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FB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LEVBQUU7WUFDdEYsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDaEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDL0MsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDOUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDbkQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUM1QixDQUFDOzsrSEFySlUsaUNBQWlDO21IQUFqQyxpQ0FBaUMsMEVDcEM5QyxxMUxBeUlBOzRGRHJHYSxpQ0FBaUM7a0JBTjdDLFNBQVM7K0JBQ0Usb0NBQW9DLGlCQUcvQixpQkFBaUIsQ0FBQyxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjAgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0h0dHBDbGllbnR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7UHJvY2Vzc0RlZmluaXRpb24sIFByb2Nlc3NTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9wcm9jZXNzJztcbmltcG9ydCB7QWxlcnRTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9jb21wb25lbnRzJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGUsIFJvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBmb3JrSm9pbiwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0xheW91dFNlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL2xheW91dCc7XG5pbXBvcnQgTW9kZWxlciBmcm9tICdicG1uLWpzL2xpYi9Nb2RlbGVyJztcbmltcG9ydCBCcG1uSlMgZnJvbSAnYnBtbi1qcy9kaXN0L2JwbW4tbmF2aWdhdGVkLXZpZXdlci5wcm9kdWN0aW9uLm1pbi5qcyc7XG5pbXBvcnQgUHJvcGVydGllc1BhbmVsTW9kdWxlIGZyb20gJ2JwbW4tanMtcHJvcGVydGllcy1wYW5lbCc7XG5pbXBvcnQgUHJvcGVydGllc1Byb3ZpZGVyTW9kdWxlIGZyb20gJ2JwbW4tanMtcHJvcGVydGllcy1wYW5lbC9saWIvcHJvdmlkZXIvY2FtdW5kYSc7XG5pbXBvcnQgQ2FtdW5kYUV4dGVuc2lvbk1vZHVsZSBmcm9tICdjYW11bmRhLWJwbW4tbW9kZGxlL2xpYic7XG5pbXBvcnQgQ2FtdW5kYU1vZGRsZURlc2NyaXB0b3IgZnJvbSAnY2FtdW5kYS1icG1uLW1vZGRsZS9yZXNvdXJjZXMvY2FtdW5kYS5qc29uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsdGltby1wcm9jZXNzLW1hbmFnZW1lbnQtYnVpbGRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9jZXNzLW1hbmFnZW1lbnQtYnVpbGRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Byb2Nlc3MtbWFuYWdlbWVudC1idWlsZGVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIFByb2Nlc3NNYW5hZ2VtZW50QnVpbGRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHVibGljIGJwbW5Nb2RlbGVyO1xuICBwdWJsaWMgYnBtblZpZXdlcjtcbiAgcHVibGljIHByb2Nlc3NEZWZpbml0aW9uVmVyc2lvbnM6IFByb2Nlc3NEZWZpbml0aW9uW10gfCBudWxsID0gbnVsbDtcbiAgcHVibGljIHNlbGVjdGVkVmVyc2lvbjogUHJvY2Vzc0RlZmluaXRpb24gfCBudWxsID0gbnVsbDtcbiAgcHVibGljIHByb2Nlc3NLZXk6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBwdWJsaWMgaXNSZWFkT25seVByb2Nlc3MkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIHB1YmxpYyBpc1N5c3RlbVByb2Nlc3MkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIHByaXZhdGUgZWxlbWVudFRlbXBsYXRlRmlsZXM6IHN0cmluZ1tdID0gWydtYWlsU2VuZFRhc2snXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSBwcm9jZXNzU2VydmljZTogUHJvY2Vzc1NlcnZpY2UsXG4gICAgcHVibGljIGxheW91dFNlcnZpY2U6IExheW91dFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhbGVydFNlcnZpY2U6IEFsZXJ0U2VydmljZSxcbiAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyXG4gICkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmluaXQoKTtcbiAgfVxuXG4gIGluaXQoKSB7XG4gICAgdGhpcy5wcm9jZXNzS2V5ID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5wYXJhbU1hcC5nZXQoJ2tleScpO1xuICAgIGZvcmtKb2luKHRoaXMuZ2V0RWxlbWVudFRlbXBsYXRlcygpKS5zdWJzY3JpYmUoKGVsZW1lbnRUZW1wbGF0ZXM6IGFueVtdKSA9PiB7XG4gICAgICB0aGlzLmJwbW5Nb2RlbGVyID0gbmV3IE1vZGVsZXIoe1xuICAgICAgICBjb250YWluZXI6ICcjY2FudmFzJyxcbiAgICAgICAgaGVpZ2h0OiAnOTB2aCcsXG4gICAgICAgIGFkZGl0aW9uYWxNb2R1bGVzOiBbXG4gICAgICAgICAgUHJvcGVydGllc1BhbmVsTW9kdWxlLFxuICAgICAgICAgIFByb3BlcnRpZXNQcm92aWRlck1vZHVsZSxcbiAgICAgICAgICBDYW11bmRhRXh0ZW5zaW9uTW9kdWxlLFxuICAgICAgICBdLFxuICAgICAgICBwcm9wZXJ0aWVzUGFuZWw6IHtcbiAgICAgICAgICBwYXJlbnQ6ICcjcHJvcGVydGllcycsXG4gICAgICAgIH0sXG4gICAgICAgIG1vZGRsZUV4dGVuc2lvbnM6IHtcbiAgICAgICAgICBjYW11bmRhOiBDYW11bmRhTW9kZGxlRGVzY3JpcHRvcixcbiAgICAgICAgfSxcbiAgICAgICAgZWxlbWVudFRlbXBsYXRlcyxcbiAgICAgIH0pO1xuICAgICAgdGhpcy5icG1uVmlld2VyID0gbmV3IEJwbW5KUygpO1xuICAgICAgdGhpcy5icG1uVmlld2VyLmF0dGFjaFRvKCcjcmVhZE9ubHlDYW52YXMnKTtcbiAgICAgIGlmICh0aGlzLnByb2Nlc3NLZXkpIHtcbiAgICAgICAgdGhpcy5sb2FkUHJvY2Vzc1ZlcnNpb25zKHRoaXMucHJvY2Vzc0tleSk7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRWZXJzaW9uID0gbnVsbDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMubG9hZEVtcHR5QnBtbigpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgZGVwbG95KCk6IHZvaWQge1xuICAgIHRoaXMuYnBtbk1vZGVsZXIuc2F2ZVhNTCgoZXJyOiBhbnksIHhtbDogYW55KSA9PiB7XG4gICAgICB0aGlzLnByb2Nlc3NTZXJ2aWNlLmRlcGxveVByb2Nlc3MoeG1sKS5zdWJzY3JpYmUoYXNkID0+IHtcbiAgICAgICAgaWYgKHRoaXMucHJvY2Vzc0tleSkge1xuICAgICAgICAgIHRoaXMubG9hZFByb2Nlc3NWZXJzaW9ucyh0aGlzLnByb2Nlc3NLZXkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL3Byb2Nlc3NlcyddKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5zdWNjZXNzKCdEZXBsb3ltZW50IHN1Y2Nlc3NmdWwnKTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFZlcnNpb24gPSBudWxsO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICByZXNldCgpIHtcbiAgICB0aGlzLmJwbW5Nb2RlbGVyLmRlc3Ryb3koKTtcbiAgICB0aGlzLmJwbW5WaWV3ZXIuZGVzdHJveSgpO1xuICAgIHRoaXMuaW5pdCgpO1xuICB9XG5cbiAgZG93bmxvYWQoKSB7XG4gICAgdGhpcy5icG1uTW9kZWxlci5zYXZlWE1MKChlcnI6IGFueSwgeG1sOiBhbnkpID0+IHtcbiAgICAgIGNvbnN0IGZpbGUgPSBuZXcgQmxvYihbeG1sXSwge3R5cGU6ICd0ZXh0L3htbCd9KTtcbiAgICAgIGNvbnN0IGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XG4gICAgICBsaW5rLmRvd25sb2FkID0gJ2RpYWdyYW0uYnBtbic7XG4gICAgICBsaW5rLmhyZWYgPSB3aW5kb3cuVVJMLmNyZWF0ZU9iamVjdFVSTChmaWxlKTtcbiAgICAgIGxpbmsuY2xpY2soKTtcbiAgICAgIHdpbmRvdy5VUkwucmV2b2tlT2JqZWN0VVJMKGxpbmsuaHJlZik7XG4gICAgICBsaW5rLnJlbW92ZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgbG9hZEVtcHR5QnBtbigpIHtcbiAgICBjb25zdCB1cmwgPSAnL2Fzc2V0cy9icG1uL2luaXRpYWwuYnBtbic7XG4gICAgdGhpcy5odHRwXG4gICAgICAuZ2V0KHVybCwge1xuICAgICAgICBoZWFkZXJzOiB7b2JzZXJ2ZTogJ3Jlc3BvbnNlJ30sXG4gICAgICAgIHJlc3BvbnNlVHlwZTogJ3RleHQnLFxuICAgICAgfSlcbiAgICAgIC5zdWJzY3JpYmUoKHhtbDogYW55KSA9PiB7XG4gICAgICAgIHRoaXMuYnBtbk1vZGVsZXIuaW1wb3J0WE1MKHhtbCk7XG4gICAgICAgIHRoaXMuYnBtblZpZXdlci5pbXBvcnRYTUwoeG1sKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgZ2V0RWxlbWVudFRlbXBsYXRlcygpOiBPYnNlcnZhYmxlPGFueT5bXSB7XG4gICAgY29uc3QgdGVtcGxhdGVPYnMgPSBbXTtcbiAgICBmb3IgKGNvbnN0IGZpbGUgb2YgdGhpcy5lbGVtZW50VGVtcGxhdGVGaWxlcykge1xuICAgICAgdGVtcGxhdGVPYnMucHVzaChcbiAgICAgICAgdGhpcy5odHRwLmdldChgL2Fzc2V0cy9icG1uL2VsZW1lbnQtdGVtcGxhdGVzLyR7ZmlsZX0uanNvbmAsIHtcbiAgICAgICAgICBoZWFkZXJzOiB7b2JzZXJ2ZTogJ3Jlc3BvbnNlJ30sXG4gICAgICAgICAgcmVzcG9uc2VUeXBlOiAnanNvbicsXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gdGVtcGxhdGVPYnM7XG4gIH1cblxuICBwcml2YXRlIHNldExhdGVzdFZlcnNpb24oKSB7XG4gICAgdGhpcy5zZWxlY3RlZFZlcnNpb24gPSB0aGlzLnByb2Nlc3NEZWZpbml0aW9uVmVyc2lvbnMucmVkdWNlKChhY2MsIHZlcnNpb24pID0+XG4gICAgICB2ZXJzaW9uLnZlcnNpb24gPiBhY2MudmVyc2lvbiA/IHZlcnNpb24gOiBhY2NcbiAgICApO1xuICAgIHRoaXMubG9hZFByb2Nlc3NCcG1uKCk7XG4gIH1cblxuICBsb2FkUHJvY2Vzc1ZlcnNpb25zKHByb2Nlc3NEZWZpbml0aW9uS2V5OiBzdHJpbmcpIHtcbiAgICB0aGlzLnByb2Nlc3NTZXJ2aWNlXG4gICAgICAuZ2V0UHJvY2Vzc0RlZmluaXRpb25WZXJzaW9ucyhwcm9jZXNzRGVmaW5pdGlvbktleSlcbiAgICAgIC5zdWJzY3JpYmUoKHByb2Nlc3NEZWZpbml0aW9uVmVyc2lvbnM6IFByb2Nlc3NEZWZpbml0aW9uW10pID0+IHtcbiAgICAgICAgdGhpcy5wcm9jZXNzRGVmaW5pdGlvblZlcnNpb25zID0gcHJvY2Vzc0RlZmluaXRpb25WZXJzaW9ucztcbiAgICAgICAgdGhpcy5zZXRMYXRlc3RWZXJzaW9uKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIGNvbXBhcmVQcm9jZXNzRGVmaW5pdGlvbnMocGQxOiBQcm9jZXNzRGVmaW5pdGlvbiwgcGQyOiBQcm9jZXNzRGVmaW5pdGlvbikge1xuICAgIGlmIChwZDEgPT09IG51bGwgJiYgcGQyID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKHBkMSA9PT0gbnVsbCB8fCBwZDIgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHBkMS5pZCA9PT0gcGQyLmlkO1xuICB9XG5cbiAgbG9hZFByb2Nlc3NCcG1uKCkge1xuICAgIHRoaXMucHJvY2Vzc1NlcnZpY2UuZ2V0UHJvY2Vzc0RlZmluaXRpb25YbWwodGhpcy5zZWxlY3RlZFZlcnNpb24uaWQpLnN1YnNjcmliZShyZXN1bHQgPT4ge1xuICAgICAgdGhpcy5icG1uTW9kZWxlci5pbXBvcnRYTUwocmVzdWx0WydicG1uMjBYbWwnXSk7XG4gICAgICB0aGlzLmJwbW5WaWV3ZXIuaW1wb3J0WE1MKHJlc3VsdFsnYnBtbjIwWG1sJ10pO1xuICAgICAgdGhpcy5pc1JlYWRPbmx5UHJvY2VzcyQubmV4dChyZXN1bHQucmVhZE9ubHkpO1xuICAgICAgdGhpcy5pc1N5c3RlbVByb2Nlc3MkLm5leHQocmVzdWx0LnN5c3RlbVByb2Nlc3MpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5icG1uTW9kZWxlci5kZXN0cm95KCk7XG4gICAgdGhpcy5icG1uVmlld2VyLmRlc3Ryb3koKTtcbiAgfVxufVxuIiwiPCEtLVxuICB+IENvcHlyaWdodCAyMDE1LTIwMjAgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICB+XG4gIH4gTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gIH4geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICB+IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICB+XG4gIH4gaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICB+XG4gIH4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICB+IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAgfiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgfiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIH4gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gIC0tPlxuXG48ZGl2IGNsYXNzPVwibWItNVwiIFtuZ0NsYXNzXT1cInsnbWFpbi1jb250ZW50IHB0LTAnOiAhbGF5b3V0U2VydmljZS5pc0Z1bGxzY3JlZW59XCI+XG4gIDxkaXYgW25nQ2xhc3NdPVwieydjb250YWluZXItZmx1aWQnOiAhbGF5b3V0U2VydmljZS5pc0Z1bGxzY3JlZW59XCI+XG4gICAgPGRpdiBjbGFzcz1cInRleHQtcmlnaHRcIj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJidG4tZ3JvdXAgbXQtbTNweCBtYi0zXCJcbiAgICAgICAgKm5nSWY9XCIoc2VsZWN0ZWRWZXJzaW9uICE9PSBudWxsIHx8IHByb2Nlc3NLZXkgPT09IG51bGwpICYmICFsYXlvdXRTZXJ2aWNlLmlzRnVsbHNjcmVlblwiXG4gICAgICA+XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgYnRuLXNwYWNlXCIgKGNsaWNrKT1cImRvd25sb2FkKClcIj5cbiAgICAgICAgICA8aSBjbGFzcz1cImljb24gbWRpIG1kaS1kb3dubG9hZCBtci0xXCI+PC9pPnt7ICdwcm9jZXNzTWFuYWdlbWVudC5kb3dubG9hZCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBjbGFzcz1cImJ0biBidG4tc3VjY2VzcyBidG4tc3BhY2VcIlxuICAgICAgICAgIChjbGljayk9XCJkZXBsb3koKVwiXG4gICAgICAgICAgKm5nSWY9XCIoaXNSZWFkT25seVByb2Nlc3MkIHwgYXN5bmMpID09PSBmYWxzZVwiXG4gICAgICAgICAgW25nQ2xhc3NdPVwieydtci0wJzogc2VsZWN0ZWRWZXJzaW9uICE9PSBudWxsfVwiXG4gICAgICAgID5cbiAgICAgICAgICA8aSBjbGFzcz1cImljb24gbWRpIG1kaS11cGxvYWQgbXItMVwiPjwvaT57eyAncHJvY2Vzc01hbmFnZW1lbnQuZGVwbG95JyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICpuZ0lmPVwic2VsZWN0ZWRWZXJzaW9uID09PSBudWxsXCJcbiAgICAgICAgICBjbGFzcz1cImJ0biBidG4tZGFuZ2VyIGJ0bi1zcGFjZSBtci0wXCJcbiAgICAgICAgICAoY2xpY2spPVwicmVzZXQoKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8aSBjbGFzcz1cImljb24gbWRpIG1kaS1kZWxldGUgbXItMVwiPjwvaT57eyAncHJvY2Vzc01hbmFnZW1lbnQuY2xlYXInIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwibW9kZWxlciBwbC0zIHByLTMgbWItM1wiIFtuZ0NsYXNzXT1cInsnbXQtNCc6ICFsYXlvdXRTZXJ2aWNlLmlzRnVsbHNjcmVlbn1cIj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJyb3cgcHQtNCBwYi0zIGJnLWxpZ2h0IHZlcnNpb25zXCJcbiAgICAgICAgKm5nSWY9XCJwcm9jZXNzRGVmaW5pdGlvblZlcnNpb25zXCJcbiAgICAgICAgW25nQ2xhc3NdPVwieydib3JkZXItYm90dG9tLTAnOiBzZWxlY3RlZFZlcnNpb24gIT09IG51bGx9XCJcbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC00XCIgKm5nSWY9XCJwcm9jZXNzRGVmaW5pdGlvblZlcnNpb25zLmxlbmd0aCA+IDBcIj5cbiAgICAgICAgICA8aDIgY2xhc3M9XCJwcm9jZXNzLXRpdGxlXCI+XG4gICAgICAgICAgICB7eyBwcm9jZXNzRGVmaW5pdGlvblZlcnNpb25zWzBdLm5hbWUgfX1cbiAgICAgICAgICA8L2gyPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtcGlsbCBiYWRnZS1pbmZvIG1yLTFcIiAqbmdJZj1cImlzUmVhZE9ubHlQcm9jZXNzJCB8IGFzeW5jXCI+XG4gICAgICAgICAgICB7eyAncHJvY2Vzc01hbmFnZW1lbnQucmVhZE9ubHknIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtcGlsbCBiYWRnZS13YXJuaW5nIG1yLTFcIiAqbmdJZj1cImlzU3lzdGVtUHJvY2VzcyQgfCBhc3luY1wiPlxuICAgICAgICAgICAge3sgJ3Byb2Nlc3NNYW5hZ2VtZW50LnN5c3RlbVByb2Nlc3MnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0yIG9mZnNldC1tZC0yXCI+XG4gICAgICAgICAgPGxhYmVsIGZvcj1cInByb2Nlc3NWZXJzaW9uXCI+PHN0cm9uZz5WZXJzaW9uPC9zdHJvbmc+PC9sYWJlbD5cbiAgICAgICAgICA8c2VsZWN0XG4gICAgICAgICAgICBpZD1cInByb2Nlc3NWZXJzaW9uXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sIHNlbGVjdC12ZXJzaW9uLWNvbnRyb2xcIlxuICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJzZWxlY3RlZFZlcnNpb25cIlxuICAgICAgICAgICAgKGNoYW5nZSk9XCJsb2FkUHJvY2Vzc0JwbW4oKVwiXG4gICAgICAgICAgICBbY29tcGFyZVdpdGhdPVwiY29tcGFyZVByb2Nlc3NEZWZpbml0aW9uc1wiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPG9wdGlvbiBbbmdWYWx1ZV09XCJudWxsXCIgZGlzYWJsZWQgc2VsZWN0ZWQ+VmVyc2lvbjwvb3B0aW9uPlxuICAgICAgICAgICAgPG9wdGlvblxuICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgcHJvY2Vzc0RlZmluaXRpb24gb2YgcHJvY2Vzc0RlZmluaXRpb25WZXJzaW9uc1wiXG4gICAgICAgICAgICAgIFtuZ1ZhbHVlXT1cInByb2Nlc3NEZWZpbml0aW9uXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3sgcHJvY2Vzc0RlZmluaXRpb24udmVyc2lvbiB9fVxuICAgICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgICAgPC9zZWxlY3Q+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJjb2wtbWQtYXV0byBkLWZsZXggYWxpZ24taXRlbXMtZW5kIHRleHQtcmlnaHRcIlxuICAgICAgICAgICpuZ0lmPVwiKHNlbGVjdGVkVmVyc2lvbiAhPT0gbnVsbCB8fCBwcm9jZXNzS2V5ID09PSBudWxsKSAmJiBsYXlvdXRTZXJ2aWNlLmlzRnVsbHNjcmVlblwiXG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnRuLWdyb3VwXCI+XG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IGJ0bi1zcGFjZVwiIChjbGljayk9XCJkb3dubG9hZCgpXCI+XG4gICAgICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbiBtZGkgbWRpLWRvd25sb2FkIG1yLTFcIj48L2lcbiAgICAgICAgICAgICAgPnt7ICdwcm9jZXNzTWFuYWdlbWVudC5kb3dubG9hZCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tc3VjY2VzcyBidG4tc3BhY2VcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiZGVwbG95KClcIlxuICAgICAgICAgICAgICAqbmdJZj1cIihpc1JlYWRPbmx5UHJvY2VzcyQgfCBhc3luYykgPT09IGZhbHNlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29uIG1kaSBtZGktdXBsb2FkIG1yLTFcIj48L2k+e3sgJ3Byb2Nlc3NNYW5hZ2VtZW50LmRlcGxveScgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cIiFzZWxlY3RlZFZlcnNpb25cIiBjbGFzcz1cImJ0biBidG4tZGFuZ2VyIGJ0bi1zcGFjZVwiIChjbGljayk9XCJyZXNldCgpXCI+XG4gICAgICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbiBtZGkgbWRpLWRlbGV0ZSBtci0xXCI+PC9pPnt7ICdwcm9jZXNzTWFuYWdlbWVudC5jbGVhcicgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICpuZ0lmPVwic2VsZWN0ZWRWZXJzaW9uXCJcbiAgICAgICAgICBjbGFzcz1cImNvbC1tZC0xIGZ1bGxzY3JlZW4tdG9nZ2xlIHRleHQtcmlnaHRcIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cInsnb2Zmc2V0LW1kLTInOiAhbGF5b3V0U2VydmljZS5pc0Z1bGxzY3JlZW59XCJcbiAgICAgICAgPlxuICAgICAgICAgIDxpXG4gICAgICAgICAgICBjbGFzcz1cImZhc1wiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICdmYS1leHBhbmQtYXJyb3dzLWFsdCc6ICFsYXlvdXRTZXJ2aWNlLmlzRnVsbHNjcmVlbixcbiAgICAgICAgICAgICAgJ2ZhLWNvbXByZXNzLWFycm93cy1hbHQnOiBsYXlvdXRTZXJ2aWNlLmlzRnVsbHNjcmVlblxuICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAoY2xpY2spPVwibGF5b3V0U2VydmljZS50b2dnbGVGdWxsc2NyZWVuKClcIlxuICAgICAgICAgID48L2k+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwiKGlzU3lzdGVtUHJvY2VzcyQgfCBhc3luYykgJiYgKGlzUmVhZE9ubHlQcm9jZXNzJCB8IGFzeW5jKVwiXG4gICAgICAgIGNsYXNzPVwicm93IGJnLXdhcm5pbmcgdGV4dC1ibGFjayBtYi0wIHAtMyB0ZXh0LWNlbnRlclwiXG4gICAgICAgIFt0cmFuc2xhdGVdPVwiJ3Byb2Nlc3NNYW5hZ2VtZW50LnJlYWRPbmx5U3lzdGVtUHJvY2Vzc1dhcm5pbmdNZXNzYWdlJ1wiXG4gICAgICA+PC9kaXY+XG4gICAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwiKGlzU3lzdGVtUHJvY2VzcyQgfCBhc3luYykgJiYgKGlzUmVhZE9ubHlQcm9jZXNzJCB8IGFzeW5jKSA9PT0gZmFsc2VcIlxuICAgICAgICBjbGFzcz1cInJvdyBiZy13YXJuaW5nIHRleHQtYmxhY2sgbWItMCBwLTMgdGV4dC1jZW50ZXJcIlxuICAgICAgICBbdHJhbnNsYXRlXT1cIidwcm9jZXNzTWFuYWdlbWVudC5zeXN0ZW1Qcm9jZXNzV2FybmluZ01lc3NhZ2UnXCJcbiAgICAgID48L2Rpdj5cbiAgICAgIDxkaXYgW2hpZGRlbl09XCIhc2VsZWN0ZWRWZXJzaW9uICYmIHByb2Nlc3NLZXlcIiBjbGFzcz1cInJvdyBiZy13aGl0ZSBkaWFncmFtIG1iLTNcIj5cbiAgICAgICAgPGRpdiBpZD1cImNhbnZhc1wiIGNsYXNzPVwiY29sLTlcIiBbaGlkZGVuXT1cImlzUmVhZE9ubHlQcm9jZXNzJCB8IGFzeW5jXCI+PC9kaXY+XG4gICAgICAgIDxkaXYgaWQ9XCJwcm9wZXJ0aWVzXCIgY2xhc3M9XCJjb2wtMyBwci0wXCIgW2hpZGRlbl09XCJpc1JlYWRPbmx5UHJvY2VzcyQgfCBhc3luY1wiPjwvZGl2PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgaWQ9XCJyZWFkT25seUNhbnZhc1wiXG4gICAgICAgICAgY2xhc3M9XCJjb2wtMTJcIlxuICAgICAgICAgIFtoaWRkZW5dPVwiKGlzUmVhZE9ubHlQcm9jZXNzJCB8IGFzeW5jKSA9PT0gZmFsc2VcIlxuICAgICAgICA+PC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -27,6 +27,7 @@ export class ProcessManagementListComponent {
27
27
  this.fields = [
28
28
  { key: 'key', label: 'Key' },
29
29
  { key: 'name', label: 'Name' },
30
+ { key: 'readOnly', label: 'Read-only' },
30
31
  ];
31
32
  }
32
33
  ngOnInit() {
@@ -47,4 +48,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
47
48
  type: Component,
48
49
  args: [{ selector: 'valtimo-process-management-list', 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-widget>\n <valtimo-list\n [items]=\"processDefinitions\"\n [fields]=\"fields\"\n (rowClicked)=\"editProcessDefinition($event)\"\n [header]=\"true\"\n [viewMode]=\"true\"\n [isSearchable]=\"true\"\n >\n <div header>\n <h3 class=\"list-header-title\">{{ 'Processes' | translate }}</h3>\n <h5 class=\"list-header-description\">{{ 'Overview of all Processes' | translate }}</h5>\n </div>\n </valtimo-list>\n</valtimo-widget>\n", styles: ["/*!\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
49
50
  }], ctorParameters: function () { return [{ type: i1.ProcessService }, { type: i2.Router }]; } });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1tYW5hZ2VtZW50LWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9wcm9jZXNzLW1hbmFnZW1lbnQvc3JjL2xpYi9wcm9jZXNzLW1hbmFnZW1lbnQtbGlzdC9wcm9jZXNzLW1hbmFnZW1lbnQtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL3Byb2Nlc3MtbWFuYWdlbWVudC9zcmMvbGliL3Byb2Nlc3MtbWFuYWdlbWVudC1saXN0L3Byb2Nlc3MtbWFuYWdlbWVudC1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFDLFNBQVMsRUFBUyxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBU2hELE1BQU0sT0FBTyw4QkFBOEI7SUFPekMsWUFBb0IsY0FBOEIsRUFBVSxNQUFjO1FBQXRELG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVE7UUFObkUsdUJBQWtCLEdBQXdCLEVBQUUsQ0FBQztRQUM3QyxXQUFNLEdBQUc7WUFDZCxFQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBQztZQUMxQixFQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBQztTQUM3QixDQUFDO0lBRTJFLENBQUM7SUFFOUUsUUFBUTtRQUNOLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxzQkFBc0I7UUFDcEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFdBQWdDLEVBQUUsRUFBRTtZQUN6RixJQUFJLENBQUMsa0JBQWtCLEdBQUcsV0FBVyxDQUFDO1FBQ3hDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELHFCQUFxQixDQUFDLGlCQUFvQztRQUN4RCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLG9CQUFvQixFQUFFLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDdEUsQ0FBQzs7NEhBckJVLDhCQUE4QjtnSEFBOUIsOEJBQThCLHVFQ3pCM0Msc21DQStCQTs0RkROYSw4QkFBOEI7a0JBTDFDLFNBQVM7K0JBQ0UsaUNBQWlDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjAgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtDb21wb25lbnQsIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1Byb2Nlc3NTZXJ2aWNlLCBQcm9jZXNzRGVmaW5pdGlvbn0gZnJvbSAnQHZhbHRpbW8vcHJvY2Vzcyc7XG5pbXBvcnQge1JvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsdGltby1wcm9jZXNzLW1hbmFnZW1lbnQtbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9jZXNzLW1hbmFnZW1lbnQtbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Byb2Nlc3MtbWFuYWdlbWVudC1saXN0LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFByb2Nlc3NNYW5hZ2VtZW50TGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHB1YmxpYyBwcm9jZXNzRGVmaW5pdGlvbnM6IFByb2Nlc3NEZWZpbml0aW9uW10gPSBbXTtcbiAgcHVibGljIGZpZWxkcyA9IFtcbiAgICB7a2V5OiAna2V5JywgbGFiZWw6ICdLZXknfSxcbiAgICB7a2V5OiAnbmFtZScsIGxhYmVsOiAnTmFtZSd9LFxuICBdO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcHJvY2Vzc1NlcnZpY2U6IFByb2Nlc3NTZXJ2aWNlLCBwcml2YXRlIHJvdXRlcjogUm91dGVyKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMubG9hZFByb2Nlc3NEZWZpbml0aW9ucygpO1xuICB9XG5cbiAgbG9hZFByb2Nlc3NEZWZpbml0aW9ucygpIHtcbiAgICB0aGlzLnByb2Nlc3NTZXJ2aWNlLmdldFByb2Nlc3NEZWZpbml0aW9ucygpLnN1YnNjcmliZSgocHJvY2Vzc0RlZnM6IFByb2Nlc3NEZWZpbml0aW9uW10pID0+IHtcbiAgICAgIHRoaXMucHJvY2Vzc0RlZmluaXRpb25zID0gcHJvY2Vzc0RlZnM7XG4gICAgfSk7XG4gIH1cblxuICBlZGl0UHJvY2Vzc0RlZmluaXRpb24ocHJvY2Vzc0RlZmluaXRpb246IFByb2Nlc3NEZWZpbml0aW9uKSB7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvcHJvY2Vzc2VzL3Byb2Nlc3MnLCBwcm9jZXNzRGVmaW5pdGlvbi5rZXldKTtcbiAgfVxufVxuIiwiPCEtLVxuICB+IENvcHlyaWdodCAyMDE1LTIwMjAgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICB+XG4gIH4gTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gIH4geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICB+IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICB+XG4gIH4gaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICB+XG4gIH4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICB+IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAgfiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgfiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIH4gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gIC0tPlxuXG48dmFsdGltby13aWRnZXQ+XG4gIDx2YWx0aW1vLWxpc3RcbiAgICBbaXRlbXNdPVwicHJvY2Vzc0RlZmluaXRpb25zXCJcbiAgICBbZmllbGRzXT1cImZpZWxkc1wiXG4gICAgKHJvd0NsaWNrZWQpPVwiZWRpdFByb2Nlc3NEZWZpbml0aW9uKCRldmVudClcIlxuICAgIFtoZWFkZXJdPVwidHJ1ZVwiXG4gICAgW3ZpZXdNb2RlXT1cInRydWVcIlxuICAgIFtpc1NlYXJjaGFibGVdPVwidHJ1ZVwiXG4gID5cbiAgICA8ZGl2IGhlYWRlcj5cbiAgICAgIDxoMyBjbGFzcz1cImxpc3QtaGVhZGVyLXRpdGxlXCI+e3sgJ1Byb2Nlc3NlcycgfCB0cmFuc2xhdGUgfX08L2gzPlxuICAgICAgPGg1IGNsYXNzPVwibGlzdC1oZWFkZXItZGVzY3JpcHRpb25cIj57eyAnT3ZlcnZpZXcgb2YgYWxsIFByb2Nlc3NlcycgfCB0cmFuc2xhdGUgfX08L2g1PlxuICAgIDwvZGl2PlxuICA8L3ZhbHRpbW8tbGlzdD5cbjwvdmFsdGltby13aWRnZXQ+XG4iXX0=
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1tYW5hZ2VtZW50LWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9wcm9jZXNzLW1hbmFnZW1lbnQvc3JjL2xpYi9wcm9jZXNzLW1hbmFnZW1lbnQtbGlzdC9wcm9jZXNzLW1hbmFnZW1lbnQtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL3Byb2Nlc3MtbWFuYWdlbWVudC9zcmMvbGliL3Byb2Nlc3MtbWFuYWdlbWVudC1saXN0L3Byb2Nlc3MtbWFuYWdlbWVudC1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFDLFNBQVMsRUFBUyxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBU2hELE1BQU0sT0FBTyw4QkFBOEI7SUFRekMsWUFBb0IsY0FBOEIsRUFBVSxNQUFjO1FBQXRELG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVE7UUFQbkUsdUJBQWtCLEdBQXdCLEVBQUUsQ0FBQztRQUM3QyxXQUFNLEdBQUc7WUFDZCxFQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBQztZQUMxQixFQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBQztZQUM1QixFQUFDLEdBQUcsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBQztTQUN0QyxDQUFDO0lBRTJFLENBQUM7SUFFOUUsUUFBUTtRQUNOLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxzQkFBc0I7UUFDcEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFdBQWdDLEVBQUUsRUFBRTtZQUN6RixJQUFJLENBQUMsa0JBQWtCLEdBQUcsV0FBVyxDQUFDO1FBQ3hDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELHFCQUFxQixDQUFDLGlCQUFvQztRQUN4RCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLG9CQUFvQixFQUFFLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDdEUsQ0FBQzs7NEhBdEJVLDhCQUE4QjtnSEFBOUIsOEJBQThCLHVFQ3pCM0Msc21DQStCQTs0RkROYSw4QkFBOEI7a0JBTDFDLFNBQVM7K0JBQ0UsaUNBQWlDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjAgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtDb21wb25lbnQsIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1Byb2Nlc3NEZWZpbml0aW9uLCBQcm9jZXNzU2VydmljZX0gZnJvbSAnQHZhbHRpbW8vcHJvY2Vzcyc7XG5pbXBvcnQge1JvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsdGltby1wcm9jZXNzLW1hbmFnZW1lbnQtbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9jZXNzLW1hbmFnZW1lbnQtbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Byb2Nlc3MtbWFuYWdlbWVudC1saXN0LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFByb2Nlc3NNYW5hZ2VtZW50TGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHB1YmxpYyBwcm9jZXNzRGVmaW5pdGlvbnM6IFByb2Nlc3NEZWZpbml0aW9uW10gPSBbXTtcbiAgcHVibGljIGZpZWxkcyA9IFtcbiAgICB7a2V5OiAna2V5JywgbGFiZWw6ICdLZXknfSxcbiAgICB7a2V5OiAnbmFtZScsIGxhYmVsOiAnTmFtZSd9LFxuICAgIHtrZXk6ICdyZWFkT25seScsIGxhYmVsOiAnUmVhZC1vbmx5J30sXG4gIF07XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwcm9jZXNzU2VydmljZTogUHJvY2Vzc1NlcnZpY2UsIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIpIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5sb2FkUHJvY2Vzc0RlZmluaXRpb25zKCk7XG4gIH1cblxuICBsb2FkUHJvY2Vzc0RlZmluaXRpb25zKCkge1xuICAgIHRoaXMucHJvY2Vzc1NlcnZpY2UuZ2V0UHJvY2Vzc0RlZmluaXRpb25zKCkuc3Vic2NyaWJlKChwcm9jZXNzRGVmczogUHJvY2Vzc0RlZmluaXRpb25bXSkgPT4ge1xuICAgICAgdGhpcy5wcm9jZXNzRGVmaW5pdGlvbnMgPSBwcm9jZXNzRGVmcztcbiAgICB9KTtcbiAgfVxuXG4gIGVkaXRQcm9jZXNzRGVmaW5pdGlvbihwcm9jZXNzRGVmaW5pdGlvbjogUHJvY2Vzc0RlZmluaXRpb24pIHtcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9wcm9jZXNzZXMvcHJvY2VzcycsIHByb2Nlc3NEZWZpbml0aW9uLmtleV0pO1xuICB9XG59XG4iLCI8IS0tXG4gIH4gQ29weXJpZ2h0IDIwMTUtMjAyMCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gIH5cbiAgfiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAgfiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIH4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gIH5cbiAgfiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gIH5cbiAgfiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIH4gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICB+IFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICB+IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgfiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAgLS0+XG5cbjx2YWx0aW1vLXdpZGdldD5cbiAgPHZhbHRpbW8tbGlzdFxuICAgIFtpdGVtc109XCJwcm9jZXNzRGVmaW5pdGlvbnNcIlxuICAgIFtmaWVsZHNdPVwiZmllbGRzXCJcbiAgICAocm93Q2xpY2tlZCk9XCJlZGl0UHJvY2Vzc0RlZmluaXRpb24oJGV2ZW50KVwiXG4gICAgW2hlYWRlcl09XCJ0cnVlXCJcbiAgICBbdmlld01vZGVdPVwidHJ1ZVwiXG4gICAgW2lzU2VhcmNoYWJsZV09XCJ0cnVlXCJcbiAgPlxuICAgIDxkaXYgaGVhZGVyPlxuICAgICAgPGgzIGNsYXNzPVwibGlzdC1oZWFkZXItdGl0bGVcIj57eyAnUHJvY2Vzc2VzJyB8IHRyYW5zbGF0ZSB9fTwvaDM+XG4gICAgICA8aDUgY2xhc3M9XCJsaXN0LWhlYWRlci1kZXNjcmlwdGlvblwiPnt7ICdPdmVydmlldyBvZiBhbGwgUHJvY2Vzc2VzJyB8IHRyYW5zbGF0ZSB9fTwvaDU+XG4gICAgPC9kaXY+XG4gIDwvdmFsdGltby1saXN0PlxuPC92YWx0aW1vLXdpZGdldD5cbiJdfQ==
@@ -13,8 +13,9 @@ import { TranslateModule } from '@ngx-translate/core';
13
13
  import * as i6 from '@angular/common';
14
14
  import { CommonModule } from '@angular/common';
15
15
  import { AuthGuardService } from '@valtimo/security';
16
- import { forkJoin } from 'rxjs';
16
+ import { BehaviorSubject, forkJoin } from 'rxjs';
17
17
  import Modeler from 'bpmn-js/lib/Modeler';
18
+ import BpmnJS from 'bpmn-js/dist/bpmn-navigated-viewer.production.min.js';
18
19
  import PropertiesPanelModule from 'bpmn-js-properties-panel';
19
20
  import PropertiesProviderModule from 'bpmn-js-properties-panel/lib/provider/camunda';
20
21
  import CamundaExtensionModule from 'camunda-bpmn-moddle/lib';
@@ -135,6 +136,7 @@ class ProcessManagementListComponent {
135
136
  this.fields = [
136
137
  { key: 'key', label: 'Key' },
137
138
  { key: 'name', label: 'Name' },
139
+ { key: 'readOnly', label: 'Read-only' },
138
140
  ];
139
141
  }
140
142
  ngOnInit() {
@@ -211,6 +213,8 @@ class ProcessManagementBuilderComponent {
211
213
  this.processDefinitionVersions = null;
212
214
  this.selectedVersion = null;
213
215
  this.processKey = null;
216
+ this.isReadOnlyProcess$ = new BehaviorSubject(false);
217
+ this.isSystemProcess$ = new BehaviorSubject(false);
214
218
  this.elementTemplateFiles = ['mailSendTask'];
215
219
  }
216
220
  ngOnInit() {
@@ -235,6 +239,8 @@ class ProcessManagementBuilderComponent {
235
239
  },
236
240
  elementTemplates,
237
241
  });
242
+ this.bpmnViewer = new BpmnJS();
243
+ this.bpmnViewer.attachTo('#readOnlyCanvas');
238
244
  if (this.processKey) {
239
245
  this.loadProcessVersions(this.processKey);
240
246
  this.selectedVersion = null;
@@ -260,6 +266,7 @@ class ProcessManagementBuilderComponent {
260
266
  }
261
267
  reset() {
262
268
  this.bpmnModeler.destroy();
269
+ this.bpmnViewer.destroy();
263
270
  this.init();
264
271
  }
265
272
  download() {
@@ -282,6 +289,7 @@ class ProcessManagementBuilderComponent {
282
289
  })
283
290
  .subscribe((xml) => {
284
291
  this.bpmnModeler.importXML(xml);
292
+ this.bpmnViewer.importXML(xml);
285
293
  });
286
294
  }
287
295
  getElementTemplates() {
@@ -316,19 +324,23 @@ class ProcessManagementBuilderComponent {
316
324
  return pd1.id === pd2.id;
317
325
  }
318
326
  loadProcessBpmn() {
319
- this.processService.getProcessDefinitionXml(this.selectedVersion.id).subscribe(xml => {
320
- this.bpmnModeler.importXML(xml['bpmn20Xml']);
327
+ this.processService.getProcessDefinitionXml(this.selectedVersion.id).subscribe(result => {
328
+ this.bpmnModeler.importXML(result['bpmn20Xml']);
329
+ this.bpmnViewer.importXML(result['bpmn20Xml']);
330
+ this.isReadOnlyProcess$.next(result.readOnly);
331
+ this.isSystemProcess$.next(result.systemProcess);
321
332
  });
322
333
  }
323
334
  ngOnDestroy() {
324
335
  this.bpmnModeler.destroy();
336
+ this.bpmnViewer.destroy();
325
337
  }
326
338
  }
327
339
  ProcessManagementBuilderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ProcessManagementBuilderComponent, deps: [{ token: i2.HttpClient }, { token: i1$1.ProcessService }, { token: i3.LayoutService }, { token: i2$1.AlertService }, { token: i5.ActivatedRoute }, { token: i5.Router }], target: i0.ɵɵFactoryTarget.Component });
328
- ProcessManagementBuilderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ProcessManagementBuilderComponent, selector: "valtimo-process-management-builder", ngImport: i0, template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"mb-5\" [ngClass]=\"{'main-content pt-0': !layoutService.isFullscreen}\">\n <div [ngClass]=\"{'container-fluid': !layoutService.isFullscreen}\">\n <div class=\"text-right\">\n <div\n class=\"btn-group mt-m3px mb-3\"\n *ngIf=\"(selectedVersion !== null || processKey === null) && !layoutService.isFullscreen\"\n >\n <button class=\"btn btn-primary btn-space\" (click)=\"download()\">\n <i class=\"icon mdi mdi-download mr-1\"></i>{{ 'processManagement.download' | translate }}\n </button>\n <button\n class=\"btn btn-success btn-space\"\n (click)=\"deploy()\"\n [ngClass]=\"{'mr-0': selectedVersion !== null}\"\n >\n <i class=\"icon mdi mdi-upload mr-1\"></i>{{ 'processManagement.deploy' | translate }}\n </button>\n <button\n *ngIf=\"selectedVersion === null\"\n class=\"btn btn-danger btn-space mr-0\"\n (click)=\"reset()\"\n >\n <i class=\"icon mdi mdi-delete mr-1\"></i>{{ 'processManagement.clear' | translate }}\n </button>\n </div>\n </div>\n\n <div class=\"modeler pl-3 pr-3 mb-3\" [ngClass]=\"{'mt-4': !layoutService.isFullscreen}\">\n <div\n class=\"row pt-4 pb-3 bg-light versions\"\n *ngIf=\"processDefinitionVersions\"\n [ngClass]=\"{'border-bottom-0': selectedVersion !== null}\"\n >\n <div class=\"col-md-2\" *ngIf=\"processDefinitionVersions.length > 0\">\n <h2 class=\"process-title\">\n {{ processDefinitionVersions[0].name }}\n </h2>\n </div>\n <div class=\"col-md-1 offset-md-6\">\n <label for=\"processVersion\"><strong>Version</strong></label>\n <select\n id=\"processVersion\"\n class=\"form-control w-100\"\n [(ngModel)]=\"selectedVersion\"\n (change)=\"loadProcessBpmn()\"\n [compareWith]=\"compareProcessDefinitions\"\n >\n <option [ngValue]=\"null\" disabled selected>Version</option>\n <option\n *ngFor=\"let processDefinition of processDefinitionVersions\"\n [ngValue]=\"processDefinition\"\n >\n {{ processDefinition.version }}\n </option>\n </select>\n </div>\n <div\n class=\"col-md-2 d-flex align-items-end\"\n *ngIf=\"(selectedVersion !== null || processKey === null) && layoutService.isFullscreen\"\n >\n <div class=\"btn-group\">\n <button class=\"btn btn-primary btn-space\" (click)=\"deploy()\">\n <i class=\"icon mdi mdi-upload mr-1\"></i>{{ 'processManagement.deploy' | translate }}\n </button>\n <button class=\"btn btn-secondary btn-space\" (click)=\"download()\">\n <i class=\"icon mdi mdi-download mr-1\"></i\n >{{ 'processManagement.download' | translate }}\n </button>\n <button *ngIf=\"!selectedVersion\" class=\"btn btn-danger btn-space\" (click)=\"reset()\">\n <i class=\"icon mdi mdi-delete mr-1\"></i>{{ 'processManagement.clear' | translate }}\n </button>\n </div>\n </div>\n <div\n *ngIf=\"selectedVersion\"\n class=\"col-md-1 text-right fullscreen-toggle\"\n [ngClass]=\"{'offset-md-2': !layoutService.isFullscreen}\"\n >\n <i\n class=\"fas\"\n [ngClass]=\"{\n 'fa-expand-arrows-alt': !layoutService.isFullscreen,\n 'fa-compress-arrows-alt': layoutService.isFullscreen\n }\"\n (click)=\"layoutService.toggleFullscreen()\"\n ></i>\n </div>\n </div>\n <div [hidden]=\"!selectedVersion && processKey\" class=\"row bg-white diagram mb-3\">\n <div id=\"canvas\" class=\"col-9\"></div>\n <div id=\"properties\" class=\"col-3 pr-0\"></div>\n </div>\n </div>\n </div>\n</div>\n", styles: ["/*!\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.versions,.diagram{border:1px solid #dee2e6}.process-title{color:#6b6b6b;font-size:1.5rem}.fullscreen-toggle{font-size:2rem}.fullscreen-toggle>i{cursor:pointer}.modeler{height:90vh}#properties{border-left:1px solid #dee2e6;padding-left:0}\n"], directives: [{ type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i7.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i7.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i4.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
340
+ ProcessManagementBuilderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ProcessManagementBuilderComponent, selector: "valtimo-process-management-builder", ngImport: i0, template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"mb-5\" [ngClass]=\"{'main-content pt-0': !layoutService.isFullscreen}\">\n <div [ngClass]=\"{'container-fluid': !layoutService.isFullscreen}\">\n <div class=\"text-right\">\n <div\n class=\"btn-group mt-m3px mb-3\"\n *ngIf=\"(selectedVersion !== null || processKey === null) && !layoutService.isFullscreen\"\n >\n <button class=\"btn btn-primary btn-space\" (click)=\"download()\">\n <i class=\"icon mdi mdi-download mr-1\"></i>{{ 'processManagement.download' | translate }}\n </button>\n <button\n class=\"btn btn-success btn-space\"\n (click)=\"deploy()\"\n *ngIf=\"(isReadOnlyProcess$ | async) === false\"\n [ngClass]=\"{'mr-0': selectedVersion !== null}\"\n >\n <i class=\"icon mdi mdi-upload mr-1\"></i>{{ 'processManagement.deploy' | translate }}\n </button>\n <button\n *ngIf=\"selectedVersion === null\"\n class=\"btn btn-danger btn-space mr-0\"\n (click)=\"reset()\"\n >\n <i class=\"icon mdi mdi-delete mr-1\"></i>{{ 'processManagement.clear' | translate }}\n </button>\n </div>\n </div>\n\n <div class=\"modeler pl-3 pr-3 mb-3\" [ngClass]=\"{'mt-4': !layoutService.isFullscreen}\">\n <div\n class=\"row pt-4 pb-3 bg-light versions\"\n *ngIf=\"processDefinitionVersions\"\n [ngClass]=\"{'border-bottom-0': selectedVersion !== null}\"\n >\n <div class=\"col-md-4\" *ngIf=\"processDefinitionVersions.length > 0\">\n <h2 class=\"process-title\">\n {{ processDefinitionVersions[0].name }}\n </h2>\n <span class=\"badge badge-pill badge-info mr-1\" *ngIf=\"isReadOnlyProcess$ | async\">\n {{ 'processManagement.readOnly' | translate }}\n </span>\n <span class=\"badge badge-pill badge-warning mr-1\" *ngIf=\"isSystemProcess$ | async\">\n {{ 'processManagement.systemProcess' | translate }}\n </span>\n </div>\n <div class=\"col-md-2 offset-md-2\">\n <label for=\"processVersion\"><strong>Version</strong></label>\n <select\n id=\"processVersion\"\n class=\"form-control select-version-control\"\n [(ngModel)]=\"selectedVersion\"\n (change)=\"loadProcessBpmn()\"\n [compareWith]=\"compareProcessDefinitions\"\n >\n <option [ngValue]=\"null\" disabled selected>Version</option>\n <option\n *ngFor=\"let processDefinition of processDefinitionVersions\"\n [ngValue]=\"processDefinition\"\n >\n {{ processDefinition.version }}\n </option>\n </select>\n </div>\n <div\n class=\"col-md-auto d-flex align-items-end text-right\"\n *ngIf=\"(selectedVersion !== null || processKey === null) && layoutService.isFullscreen\"\n >\n <div class=\"btn-group\">\n <button class=\"btn btn-primary btn-space\" (click)=\"download()\">\n <i class=\"icon mdi mdi-download mr-1\"></i\n >{{ 'processManagement.download' | translate }}\n </button>\n <button\n class=\"btn btn-success btn-space\"\n (click)=\"deploy()\"\n *ngIf=\"(isReadOnlyProcess$ | async) === false\"\n >\n <i class=\"icon mdi mdi-upload mr-1\"></i>{{ 'processManagement.deploy' | translate }}\n </button>\n <button *ngIf=\"!selectedVersion\" class=\"btn btn-danger btn-space\" (click)=\"reset()\">\n <i class=\"icon mdi mdi-delete mr-1\"></i>{{ 'processManagement.clear' | translate }}\n </button>\n </div>\n </div>\n <div\n *ngIf=\"selectedVersion\"\n class=\"col-md-1 fullscreen-toggle text-right\"\n [ngClass]=\"{'offset-md-2': !layoutService.isFullscreen}\"\n >\n <i\n class=\"fas\"\n [ngClass]=\"{\n 'fa-expand-arrows-alt': !layoutService.isFullscreen,\n 'fa-compress-arrows-alt': layoutService.isFullscreen\n }\"\n (click)=\"layoutService.toggleFullscreen()\"\n ></i>\n </div>\n </div>\n <div\n *ngIf=\"(isSystemProcess$ | async) && (isReadOnlyProcess$ | async)\"\n class=\"row bg-warning text-black mb-0 p-3 text-center\"\n [translate]=\"'processManagement.readOnlySystemProcessWarningMessage'\"\n ></div>\n <div\n *ngIf=\"(isSystemProcess$ | async) && (isReadOnlyProcess$ | async) === false\"\n class=\"row bg-warning text-black mb-0 p-3 text-center\"\n [translate]=\"'processManagement.systemProcessWarningMessage'\"\n ></div>\n <div [hidden]=\"!selectedVersion && processKey\" class=\"row bg-white diagram mb-3\">\n <div id=\"canvas\" class=\"col-9\" [hidden]=\"isReadOnlyProcess$ | async\"></div>\n <div id=\"properties\" class=\"col-3 pr-0\" [hidden]=\"isReadOnlyProcess$ | async\"></div>\n <div\n id=\"readOnlyCanvas\"\n class=\"col-12\"\n [hidden]=\"(isReadOnlyProcess$ | async) === false\"\n ></div>\n </div>\n </div>\n </div>\n</div>\n", styles: ["/*!\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.versions,.diagram{border:1px solid #dee2e6}.process-title{color:#6b6b6b;font-size:1.5rem}.fullscreen-toggle{font-size:2rem}.fullscreen-toggle>i{cursor:pointer}.modeler{height:90vh}.select-version-control{width:90px}#properties{border-left:1px solid #dee2e6;padding-left:0}#readOnlyCanvas{height:90vh}\n"], directives: [{ type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i7.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i7.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }], pipes: { "translate": i4.TranslatePipe, "async": i6.AsyncPipe }, encapsulation: i0.ViewEncapsulation.None });
329
341
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ProcessManagementBuilderComponent, decorators: [{
330
342
  type: Component,
331
- args: [{ selector: 'valtimo-process-management-builder', encapsulation: ViewEncapsulation.None, 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=\"mb-5\" [ngClass]=\"{'main-content pt-0': !layoutService.isFullscreen}\">\n <div [ngClass]=\"{'container-fluid': !layoutService.isFullscreen}\">\n <div class=\"text-right\">\n <div\n class=\"btn-group mt-m3px mb-3\"\n *ngIf=\"(selectedVersion !== null || processKey === null) && !layoutService.isFullscreen\"\n >\n <button class=\"btn btn-primary btn-space\" (click)=\"download()\">\n <i class=\"icon mdi mdi-download mr-1\"></i>{{ 'processManagement.download' | translate }}\n </button>\n <button\n class=\"btn btn-success btn-space\"\n (click)=\"deploy()\"\n [ngClass]=\"{'mr-0': selectedVersion !== null}\"\n >\n <i class=\"icon mdi mdi-upload mr-1\"></i>{{ 'processManagement.deploy' | translate }}\n </button>\n <button\n *ngIf=\"selectedVersion === null\"\n class=\"btn btn-danger btn-space mr-0\"\n (click)=\"reset()\"\n >\n <i class=\"icon mdi mdi-delete mr-1\"></i>{{ 'processManagement.clear' | translate }}\n </button>\n </div>\n </div>\n\n <div class=\"modeler pl-3 pr-3 mb-3\" [ngClass]=\"{'mt-4': !layoutService.isFullscreen}\">\n <div\n class=\"row pt-4 pb-3 bg-light versions\"\n *ngIf=\"processDefinitionVersions\"\n [ngClass]=\"{'border-bottom-0': selectedVersion !== null}\"\n >\n <div class=\"col-md-2\" *ngIf=\"processDefinitionVersions.length > 0\">\n <h2 class=\"process-title\">\n {{ processDefinitionVersions[0].name }}\n </h2>\n </div>\n <div class=\"col-md-1 offset-md-6\">\n <label for=\"processVersion\"><strong>Version</strong></label>\n <select\n id=\"processVersion\"\n class=\"form-control w-100\"\n [(ngModel)]=\"selectedVersion\"\n (change)=\"loadProcessBpmn()\"\n [compareWith]=\"compareProcessDefinitions\"\n >\n <option [ngValue]=\"null\" disabled selected>Version</option>\n <option\n *ngFor=\"let processDefinition of processDefinitionVersions\"\n [ngValue]=\"processDefinition\"\n >\n {{ processDefinition.version }}\n </option>\n </select>\n </div>\n <div\n class=\"col-md-2 d-flex align-items-end\"\n *ngIf=\"(selectedVersion !== null || processKey === null) && layoutService.isFullscreen\"\n >\n <div class=\"btn-group\">\n <button class=\"btn btn-primary btn-space\" (click)=\"deploy()\">\n <i class=\"icon mdi mdi-upload mr-1\"></i>{{ 'processManagement.deploy' | translate }}\n </button>\n <button class=\"btn btn-secondary btn-space\" (click)=\"download()\">\n <i class=\"icon mdi mdi-download mr-1\"></i\n >{{ 'processManagement.download' | translate }}\n </button>\n <button *ngIf=\"!selectedVersion\" class=\"btn btn-danger btn-space\" (click)=\"reset()\">\n <i class=\"icon mdi mdi-delete mr-1\"></i>{{ 'processManagement.clear' | translate }}\n </button>\n </div>\n </div>\n <div\n *ngIf=\"selectedVersion\"\n class=\"col-md-1 text-right fullscreen-toggle\"\n [ngClass]=\"{'offset-md-2': !layoutService.isFullscreen}\"\n >\n <i\n class=\"fas\"\n [ngClass]=\"{\n 'fa-expand-arrows-alt': !layoutService.isFullscreen,\n 'fa-compress-arrows-alt': layoutService.isFullscreen\n }\"\n (click)=\"layoutService.toggleFullscreen()\"\n ></i>\n </div>\n </div>\n <div [hidden]=\"!selectedVersion && processKey\" class=\"row bg-white diagram mb-3\">\n <div id=\"canvas\" class=\"col-9\"></div>\n <div id=\"properties\" class=\"col-3 pr-0\"></div>\n </div>\n </div>\n </div>\n</div>\n", styles: ["/*!\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.versions,.diagram{border:1px solid #dee2e6}.process-title{color:#6b6b6b;font-size:1.5rem}.fullscreen-toggle{font-size:2rem}.fullscreen-toggle>i{cursor:pointer}.modeler{height:90vh}#properties{border-left:1px solid #dee2e6;padding-left:0}\n"] }]
343
+ args: [{ selector: 'valtimo-process-management-builder', encapsulation: ViewEncapsulation.None, 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=\"mb-5\" [ngClass]=\"{'main-content pt-0': !layoutService.isFullscreen}\">\n <div [ngClass]=\"{'container-fluid': !layoutService.isFullscreen}\">\n <div class=\"text-right\">\n <div\n class=\"btn-group mt-m3px mb-3\"\n *ngIf=\"(selectedVersion !== null || processKey === null) && !layoutService.isFullscreen\"\n >\n <button class=\"btn btn-primary btn-space\" (click)=\"download()\">\n <i class=\"icon mdi mdi-download mr-1\"></i>{{ 'processManagement.download' | translate }}\n </button>\n <button\n class=\"btn btn-success btn-space\"\n (click)=\"deploy()\"\n *ngIf=\"(isReadOnlyProcess$ | async) === false\"\n [ngClass]=\"{'mr-0': selectedVersion !== null}\"\n >\n <i class=\"icon mdi mdi-upload mr-1\"></i>{{ 'processManagement.deploy' | translate }}\n </button>\n <button\n *ngIf=\"selectedVersion === null\"\n class=\"btn btn-danger btn-space mr-0\"\n (click)=\"reset()\"\n >\n <i class=\"icon mdi mdi-delete mr-1\"></i>{{ 'processManagement.clear' | translate }}\n </button>\n </div>\n </div>\n\n <div class=\"modeler pl-3 pr-3 mb-3\" [ngClass]=\"{'mt-4': !layoutService.isFullscreen}\">\n <div\n class=\"row pt-4 pb-3 bg-light versions\"\n *ngIf=\"processDefinitionVersions\"\n [ngClass]=\"{'border-bottom-0': selectedVersion !== null}\"\n >\n <div class=\"col-md-4\" *ngIf=\"processDefinitionVersions.length > 0\">\n <h2 class=\"process-title\">\n {{ processDefinitionVersions[0].name }}\n </h2>\n <span class=\"badge badge-pill badge-info mr-1\" *ngIf=\"isReadOnlyProcess$ | async\">\n {{ 'processManagement.readOnly' | translate }}\n </span>\n <span class=\"badge badge-pill badge-warning mr-1\" *ngIf=\"isSystemProcess$ | async\">\n {{ 'processManagement.systemProcess' | translate }}\n </span>\n </div>\n <div class=\"col-md-2 offset-md-2\">\n <label for=\"processVersion\"><strong>Version</strong></label>\n <select\n id=\"processVersion\"\n class=\"form-control select-version-control\"\n [(ngModel)]=\"selectedVersion\"\n (change)=\"loadProcessBpmn()\"\n [compareWith]=\"compareProcessDefinitions\"\n >\n <option [ngValue]=\"null\" disabled selected>Version</option>\n <option\n *ngFor=\"let processDefinition of processDefinitionVersions\"\n [ngValue]=\"processDefinition\"\n >\n {{ processDefinition.version }}\n </option>\n </select>\n </div>\n <div\n class=\"col-md-auto d-flex align-items-end text-right\"\n *ngIf=\"(selectedVersion !== null || processKey === null) && layoutService.isFullscreen\"\n >\n <div class=\"btn-group\">\n <button class=\"btn btn-primary btn-space\" (click)=\"download()\">\n <i class=\"icon mdi mdi-download mr-1\"></i\n >{{ 'processManagement.download' | translate }}\n </button>\n <button\n class=\"btn btn-success btn-space\"\n (click)=\"deploy()\"\n *ngIf=\"(isReadOnlyProcess$ | async) === false\"\n >\n <i class=\"icon mdi mdi-upload mr-1\"></i>{{ 'processManagement.deploy' | translate }}\n </button>\n <button *ngIf=\"!selectedVersion\" class=\"btn btn-danger btn-space\" (click)=\"reset()\">\n <i class=\"icon mdi mdi-delete mr-1\"></i>{{ 'processManagement.clear' | translate }}\n </button>\n </div>\n </div>\n <div\n *ngIf=\"selectedVersion\"\n class=\"col-md-1 fullscreen-toggle text-right\"\n [ngClass]=\"{'offset-md-2': !layoutService.isFullscreen}\"\n >\n <i\n class=\"fas\"\n [ngClass]=\"{\n 'fa-expand-arrows-alt': !layoutService.isFullscreen,\n 'fa-compress-arrows-alt': layoutService.isFullscreen\n }\"\n (click)=\"layoutService.toggleFullscreen()\"\n ></i>\n </div>\n </div>\n <div\n *ngIf=\"(isSystemProcess$ | async) && (isReadOnlyProcess$ | async)\"\n class=\"row bg-warning text-black mb-0 p-3 text-center\"\n [translate]=\"'processManagement.readOnlySystemProcessWarningMessage'\"\n ></div>\n <div\n *ngIf=\"(isSystemProcess$ | async) && (isReadOnlyProcess$ | async) === false\"\n class=\"row bg-warning text-black mb-0 p-3 text-center\"\n [translate]=\"'processManagement.systemProcessWarningMessage'\"\n ></div>\n <div [hidden]=\"!selectedVersion && processKey\" class=\"row bg-white diagram mb-3\">\n <div id=\"canvas\" class=\"col-9\" [hidden]=\"isReadOnlyProcess$ | async\"></div>\n <div id=\"properties\" class=\"col-3 pr-0\" [hidden]=\"isReadOnlyProcess$ | async\"></div>\n <div\n id=\"readOnlyCanvas\"\n class=\"col-12\"\n [hidden]=\"(isReadOnlyProcess$ | async) === false\"\n ></div>\n </div>\n </div>\n </div>\n</div>\n", styles: ["/*!\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.versions,.diagram{border:1px solid #dee2e6}.process-title{color:#6b6b6b;font-size:1.5rem}.fullscreen-toggle{font-size:2rem}.fullscreen-toggle>i{cursor:pointer}.modeler{height:90vh}.select-version-control{width:90px}#properties{border-left:1px solid #dee2e6;padding-left:0}#readOnlyCanvas{height:90vh}\n"] }]
332
344
  }], ctorParameters: function () { return [{ type: i2.HttpClient }, { type: i1$1.ProcessService }, { type: i3.LayoutService }, { type: i2$1.AlertService }, { type: i5.ActivatedRoute }, { type: i5.Router }]; } });
333
345
 
334
346
  /*
@@ -1 +1 @@
1
- {"version":3,"file":"valtimo-process-management.mjs","sources":["../../../../projects/valtimo/process-management/src/lib/process-management.service.ts","../../../../projects/valtimo/process-management/src/lib/process-management-upload/process-management-upload.component.ts","../../../../projects/valtimo/process-management/src/lib/process-management-upload/process-management-upload.component.html","../../../../projects/valtimo/process-management/src/lib/process-management-list/process-management-list.component.ts","../../../../projects/valtimo/process-management/src/lib/process-management-list/process-management-list.component.html","../../../../projects/valtimo/process-management/src/lib/process-management.component.ts","../../../../projects/valtimo/process-management/src/lib/process-management.component.html","../../../../projects/valtimo/process-management/src/lib/process-management-builder/process-management-builder.component.ts","../../../../projects/valtimo/process-management/src/lib/process-management-builder/process-management-builder.component.html","../../../../projects/valtimo/process-management/src/lib/process-management-routing.ts","../../../../projects/valtimo/process-management/src/lib/process-management.module.ts","../../../../projects/valtimo/process-management/src/public-api.ts","../../../../projects/valtimo/process-management/src/valtimo-process-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 {Injectable} from '@angular/core';\nimport {Observable} from 'rxjs';\nimport {HttpClient} from '@angular/common/http';\nimport {ConfigService} from '@valtimo/config';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ProcessManagementService {\n private valtimoApiConfig: any;\n\n constructor(private configService: ConfigService, private http: HttpClient) {\n this.valtimoApiConfig = configService.config.valtimoApi;\n }\n\n deployBpmn(bpmn: File): Observable<any> {\n const formData: FormData = new FormData();\n formData.append('file', bpmn);\n formData.append('deployment-name', 'valtimoConsoleApp');\n formData.append('deployment-source', 'process application');\n return this.http.post<any>(\n `${this.valtimoApiConfig.endpointUri}camunda-rest/engine/default/deployment/create`,\n formData\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, ElementRef, EventEmitter, OnInit, Output, ViewChild} from '@angular/core';\nimport {ProcessManagementService} from '../process-management.service';\nimport {AlertService} from '@valtimo/components';\n\n@Component({\n selector: 'valtimo-process-management-upload',\n templateUrl: './process-management-upload.component.html',\n styleUrls: ['./process-management-upload.component.scss'],\n})\nexport class ProcessManagementUploadComponent implements OnInit {\n public bpmn: File | null = null;\n @Output() reload = new EventEmitter();\n @ViewChild('bpmnFile') bpmnFile: ElementRef;\n\n constructor(\n private processManagementService: ProcessManagementService,\n private alertService: AlertService\n ) {}\n\n ngOnInit() {}\n\n onChange(files: FileList): void {\n this.bpmn = files.item(0);\n }\n\n uploadProcessBpmn() {\n this.processManagementService.deployBpmn(this.bpmn).subscribe(\n () => {\n this.bpmn = null;\n this.bpmnFile.nativeElement.value = '';\n this.alertService.success('Deployment successful');\n this.reload.emit();\n },\n error => {\n this.bpmn = null;\n this.bpmnFile.nativeElement.value = '';\n this.alertService.error(`Deployment failed. ${error}`);\n }\n );\n }\n}\n","<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n class=\"modal fade\"\n id=\"uploadProcess\"\n tabindex=\"-1\"\n role=\"dialog\"\n aria-labelledby=\"uploadProcessLabel\"\n aria-hidden=\"true\"\n>\n <div class=\"modal-dialog modal-dialog-centered\" role=\"document\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h3 class=\"modal-title\" id=\"uploadProcessLabel\">Upload process</h3>\n <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\">\n <span aria-hidden=\"true\">&times;</span>\n </button>\n </div>\n <div class=\"modal-body\">\n <h5>BPMN Model</h5>\n <input\n #bpmnFile\n type=\"file\"\n id=\"file\"\n accept=\".bpmn\"\n (change)=\"onChange($event.target.files)\"\n />\n </div>\n <div class=\"modal-footer\">\n <div class=\"btn-group\">\n <button\n type=\"button\"\n class=\"btn btn-primary btn-space\"\n (click)=\"uploadProcessBpmn()\"\n [disabled]=\"!bpmn\"\n data-dismiss=\"modal\"\n >\n Upload\n </button>\n </div>\n </div>\n </div>\n </div>\n</div>\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, OnInit} from '@angular/core';\nimport {ProcessService, ProcessDefinition} from '@valtimo/process';\nimport {Router} from '@angular/router';\n\n@Component({\n selector: 'valtimo-process-management-list',\n templateUrl: './process-management-list.component.html',\n styleUrls: ['./process-management-list.component.scss'],\n})\nexport class ProcessManagementListComponent implements OnInit {\n public processDefinitions: ProcessDefinition[] = [];\n public fields = [\n {key: 'key', label: 'Key'},\n {key: 'name', label: 'Name'},\n ];\n\n constructor(private processService: ProcessService, private router: Router) {}\n\n ngOnInit() {\n this.loadProcessDefinitions();\n }\n\n loadProcessDefinitions() {\n this.processService.getProcessDefinitions().subscribe((processDefs: ProcessDefinition[]) => {\n this.processDefinitions = processDefs;\n });\n }\n\n editProcessDefinition(processDefinition: ProcessDefinition) {\n this.router.navigate(['/processes/process', processDefinition.key]);\n }\n}\n","<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-widget>\n <valtimo-list\n [items]=\"processDefinitions\"\n [fields]=\"fields\"\n (rowClicked)=\"editProcessDefinition($event)\"\n [header]=\"true\"\n [viewMode]=\"true\"\n [isSearchable]=\"true\"\n >\n <div header>\n <h3 class=\"list-header-title\">{{ 'Processes' | translate }}</h3>\n <h5 class=\"list-header-description\">{{ 'Overview of all Processes' | translate }}</h5>\n </div>\n </valtimo-list>\n</valtimo-widget>\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 {ProcessManagementListComponent} from './process-management-list/process-management-list.component';\n\n@Component({\n selector: 'valtimo-process-management',\n templateUrl: './process-management.component.html',\n styleUrls: ['./process-management.component.scss'],\n})\nexport class ProcessManagementComponent implements OnInit {\n @ViewChild('processManagementList') processManagementList: ProcessManagementListComponent;\n\n constructor() {}\n\n ngOnInit() {}\n}\n","<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"main-content pt-0\">\n <div class=\"container-fluid\">\n <div class=\"text-right\">\n <div class=\"btn-group mt-m3px mb-3\">\n <button\n class=\"btn btn-secondary btn-space\"\n data-toggle=\"modal\"\n data-target=\"#uploadProcess\"\n >\n <i class=\"icon mdi mdi-upload mr-1\"></i>\n {{ 'Upload process' | translate }}\n </button>\n <button class=\"btn btn-primary btn-space\" [routerLink]=\"'create'\">\n <i class=\"icon mdi mdi-plus mr-1\"></i>\n {{ 'Create new Process' | translate }}\n </button>\n </div>\n </div>\n <valtimo-process-management-upload\n (reload)=\"processManagementList.loadProcessDefinitions()\"\n ></valtimo-process-management-upload>\n <valtimo-process-management-list #processManagementList></valtimo-process-management-list>\n </div>\n</div>\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, OnDestroy, OnInit, ViewEncapsulation} from '@angular/core';\nimport {HttpClient} from '@angular/common/http';\nimport {ProcessService, ProcessDefinition} from '@valtimo/process';\nimport {AlertService} from '@valtimo/components';\nimport {ActivatedRoute, Router} from '@angular/router';\nimport {forkJoin, Observable} from 'rxjs';\nimport {LayoutService} from '@valtimo/layout';\nimport Modeler from 'bpmn-js/lib/Modeler';\nimport PropertiesPanelModule from 'bpmn-js-properties-panel';\nimport PropertiesProviderModule from 'bpmn-js-properties-panel/lib/provider/camunda';\nimport CamundaExtensionModule from 'camunda-bpmn-moddle/lib';\nimport CamundaModdleDescriptor from 'camunda-bpmn-moddle/resources/camunda.json';\n\n@Component({\n selector: 'valtimo-process-management-builder',\n templateUrl: './process-management-builder.component.html',\n styleUrls: ['./process-management-builder.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class ProcessManagementBuilderComponent implements OnInit, OnDestroy {\n public bpmnModeler;\n public processDefinitionVersions: ProcessDefinition[] | null = null;\n public selectedVersion: ProcessDefinition | null = null;\n public processKey: string | null = null;\n private elementTemplateFiles: string[] = ['mailSendTask'];\n\n constructor(\n private http: HttpClient,\n private processService: ProcessService,\n public layoutService: LayoutService,\n private alertService: AlertService,\n private route: ActivatedRoute,\n private router: Router\n ) {}\n\n ngOnInit() {\n this.init();\n }\n\n init() {\n this.processKey = this.route.snapshot.paramMap.get('key');\n forkJoin(this.getElementTemplates()).subscribe((elementTemplates: any[]) => {\n this.bpmnModeler = new Modeler({\n container: '#canvas',\n height: '90vh',\n additionalModules: [\n PropertiesPanelModule,\n PropertiesProviderModule,\n CamundaExtensionModule,\n ],\n propertiesPanel: {\n parent: '#properties',\n },\n moddleExtensions: {\n camunda: CamundaModdleDescriptor,\n },\n elementTemplates,\n });\n if (this.processKey) {\n this.loadProcessVersions(this.processKey);\n this.selectedVersion = null;\n } else {\n this.loadEmptyBpmn();\n }\n });\n }\n\n deploy(): void {\n this.bpmnModeler.saveXML((err: any, xml: any) => {\n this.processService.deployProcess(xml).subscribe(asd => {\n if (this.processKey) {\n this.loadProcessVersions(this.processKey);\n } else {\n this.router.navigate(['/processes']);\n }\n this.alertService.success('Deployment successful');\n this.selectedVersion = null;\n });\n });\n }\n\n reset() {\n this.bpmnModeler.destroy();\n this.init();\n }\n\n download() {\n this.bpmnModeler.saveXML((err: any, xml: any) => {\n const file = new Blob([xml], {type: 'text/xml'});\n const link = document.createElement('a');\n link.download = 'diagram.bpmn';\n link.href = window.URL.createObjectURL(file);\n link.click();\n window.URL.revokeObjectURL(link.href);\n link.remove();\n });\n }\n\n loadEmptyBpmn() {\n const url = '/assets/bpmn/initial.bpmn';\n this.http\n .get(url, {\n headers: {observe: 'response'},\n responseType: 'text',\n })\n .subscribe((xml: any) => {\n this.bpmnModeler.importXML(xml);\n });\n }\n\n getElementTemplates(): Observable<any>[] {\n const templateObs = [];\n for (const file of this.elementTemplateFiles) {\n templateObs.push(\n this.http.get(`/assets/bpmn/element-templates/${file}.json`, {\n headers: {observe: 'response'},\n responseType: 'json',\n })\n );\n }\n return templateObs;\n }\n\n private setLatestVersion() {\n this.selectedVersion = this.processDefinitionVersions.reduce((acc, version) =>\n version.version > acc.version ? version : acc\n );\n this.loadProcessBpmn();\n }\n\n loadProcessVersions(processDefinitionKey: string) {\n this.processService\n .getProcessDefinitionVersions(processDefinitionKey)\n .subscribe((processDefinitionVersions: ProcessDefinition[]) => {\n this.processDefinitionVersions = processDefinitionVersions;\n this.setLatestVersion();\n });\n }\n\n compareProcessDefinitions(pd1: ProcessDefinition, pd2: ProcessDefinition) {\n if (pd1 === null && pd2 === null) {\n return true;\n }\n if (pd1 === null || pd2 === null) {\n return false;\n }\n return pd1.id === pd2.id;\n }\n\n loadProcessBpmn() {\n this.processService.getProcessDefinitionXml(this.selectedVersion.id).subscribe(xml => {\n this.bpmnModeler.importXML(xml['bpmn20Xml']);\n });\n }\n\n ngOnDestroy() {\n this.bpmnModeler.destroy();\n }\n}\n","<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"mb-5\" [ngClass]=\"{'main-content pt-0': !layoutService.isFullscreen}\">\n <div [ngClass]=\"{'container-fluid': !layoutService.isFullscreen}\">\n <div class=\"text-right\">\n <div\n class=\"btn-group mt-m3px mb-3\"\n *ngIf=\"(selectedVersion !== null || processKey === null) && !layoutService.isFullscreen\"\n >\n <button class=\"btn btn-primary btn-space\" (click)=\"download()\">\n <i class=\"icon mdi mdi-download mr-1\"></i>{{ 'processManagement.download' | translate }}\n </button>\n <button\n class=\"btn btn-success btn-space\"\n (click)=\"deploy()\"\n [ngClass]=\"{'mr-0': selectedVersion !== null}\"\n >\n <i class=\"icon mdi mdi-upload mr-1\"></i>{{ 'processManagement.deploy' | translate }}\n </button>\n <button\n *ngIf=\"selectedVersion === null\"\n class=\"btn btn-danger btn-space mr-0\"\n (click)=\"reset()\"\n >\n <i class=\"icon mdi mdi-delete mr-1\"></i>{{ 'processManagement.clear' | translate }}\n </button>\n </div>\n </div>\n\n <div class=\"modeler pl-3 pr-3 mb-3\" [ngClass]=\"{'mt-4': !layoutService.isFullscreen}\">\n <div\n class=\"row pt-4 pb-3 bg-light versions\"\n *ngIf=\"processDefinitionVersions\"\n [ngClass]=\"{'border-bottom-0': selectedVersion !== null}\"\n >\n <div class=\"col-md-2\" *ngIf=\"processDefinitionVersions.length > 0\">\n <h2 class=\"process-title\">\n {{ processDefinitionVersions[0].name }}\n </h2>\n </div>\n <div class=\"col-md-1 offset-md-6\">\n <label for=\"processVersion\"><strong>Version</strong></label>\n <select\n id=\"processVersion\"\n class=\"form-control w-100\"\n [(ngModel)]=\"selectedVersion\"\n (change)=\"loadProcessBpmn()\"\n [compareWith]=\"compareProcessDefinitions\"\n >\n <option [ngValue]=\"null\" disabled selected>Version</option>\n <option\n *ngFor=\"let processDefinition of processDefinitionVersions\"\n [ngValue]=\"processDefinition\"\n >\n {{ processDefinition.version }}\n </option>\n </select>\n </div>\n <div\n class=\"col-md-2 d-flex align-items-end\"\n *ngIf=\"(selectedVersion !== null || processKey === null) && layoutService.isFullscreen\"\n >\n <div class=\"btn-group\">\n <button class=\"btn btn-primary btn-space\" (click)=\"deploy()\">\n <i class=\"icon mdi mdi-upload mr-1\"></i>{{ 'processManagement.deploy' | translate }}\n </button>\n <button class=\"btn btn-secondary btn-space\" (click)=\"download()\">\n <i class=\"icon mdi mdi-download mr-1\"></i\n >{{ 'processManagement.download' | translate }}\n </button>\n <button *ngIf=\"!selectedVersion\" class=\"btn btn-danger btn-space\" (click)=\"reset()\">\n <i class=\"icon mdi mdi-delete mr-1\"></i>{{ 'processManagement.clear' | translate }}\n </button>\n </div>\n </div>\n <div\n *ngIf=\"selectedVersion\"\n class=\"col-md-1 text-right fullscreen-toggle\"\n [ngClass]=\"{'offset-md-2': !layoutService.isFullscreen}\"\n >\n <i\n class=\"fas\"\n [ngClass]=\"{\n 'fa-expand-arrows-alt': !layoutService.isFullscreen,\n 'fa-compress-arrows-alt': layoutService.isFullscreen\n }\"\n (click)=\"layoutService.toggleFullscreen()\"\n ></i>\n </div>\n </div>\n <div [hidden]=\"!selectedVersion && processKey\" class=\"row bg-white diagram mb-3\">\n <div id=\"canvas\" class=\"col-9\"></div>\n <div id=\"properties\" class=\"col-3 pr-0\"></div>\n </div>\n </div>\n </div>\n</div>\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {RouterModule, Routes} from '@angular/router';\nimport {CommonModule} from '@angular/common';\nimport {AuthGuardService} from '@valtimo/security';\nimport {ProcessManagementComponent} from './process-management.component';\nimport {ProcessManagementBuilderComponent} from './process-management-builder/process-management-builder.component';\nimport {ROLE_ADMIN} from '@valtimo/config';\n\nconst routes: Routes = [\n {\n path: 'processes',\n component: ProcessManagementComponent,\n canActivate: [AuthGuardService],\n data: {title: 'Processes', roles: [ROLE_ADMIN]},\n },\n {\n path: 'processes/create',\n component: ProcessManagementBuilderComponent,\n canActivate: [AuthGuardService],\n data: {title: 'Create new Process', roles: [ROLE_ADMIN]},\n },\n {\n path: 'processes/process/:key',\n component: ProcessManagementBuilderComponent,\n canActivate: [AuthGuardService],\n data: {title: 'Process details', roles: [ROLE_ADMIN]},\n },\n];\n\n@NgModule({\n declarations: [],\n imports: [CommonModule, RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class ProcessManagementRoutingModule {}\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 {ProcessManagementComponent} from './process-management.component';\nimport {ProcessManagementRoutingModule} from './process-management-routing';\nimport {CommonModule} from '@angular/common';\nimport {ProcessManagementBuilderComponent} from './process-management-builder/process-management-builder.component';\nimport {ProcessManagementListComponent} from './process-management-list/process-management-list.component';\nimport {ListModule, WidgetModule} from '@valtimo/components';\nimport {FormsModule} from '@angular/forms';\nimport {ProcessManagementUploadComponent} from './process-management-upload/process-management-upload.component';\nimport {TranslateModule} from '@ngx-translate/core';\n\n@NgModule({\n declarations: [\n ProcessManagementComponent,\n ProcessManagementBuilderComponent,\n ProcessManagementListComponent,\n ProcessManagementUploadComponent,\n ],\n imports: [\n CommonModule,\n ProcessManagementRoutingModule,\n WidgetModule,\n ListModule,\n FormsModule,\n TranslateModule,\n ],\n exports: [ProcessManagementComponent],\n})\nexport class ProcessManagementModule {}\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 process-management\n */\n\nexport * from './lib/process-management.module';\nexport * from './lib/process-management.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.ProcessManagementService","i2","i1","i3","i1.ProcessManagementUploadComponent","i2.ProcessManagementListComponent","i4","i8"],"mappings":"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"}
1
+ {"version":3,"file":"valtimo-process-management.mjs","sources":["../../../../projects/valtimo/process-management/src/lib/process-management.service.ts","../../../../projects/valtimo/process-management/src/lib/process-management-upload/process-management-upload.component.ts","../../../../projects/valtimo/process-management/src/lib/process-management-upload/process-management-upload.component.html","../../../../projects/valtimo/process-management/src/lib/process-management-list/process-management-list.component.ts","../../../../projects/valtimo/process-management/src/lib/process-management-list/process-management-list.component.html","../../../../projects/valtimo/process-management/src/lib/process-management.component.ts","../../../../projects/valtimo/process-management/src/lib/process-management.component.html","../../../../projects/valtimo/process-management/src/lib/process-management-builder/process-management-builder.component.ts","../../../../projects/valtimo/process-management/src/lib/process-management-builder/process-management-builder.component.html","../../../../projects/valtimo/process-management/src/lib/process-management-routing.ts","../../../../projects/valtimo/process-management/src/lib/process-management.module.ts","../../../../projects/valtimo/process-management/src/public-api.ts","../../../../projects/valtimo/process-management/src/valtimo-process-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 {Injectable} from '@angular/core';\nimport {Observable} from 'rxjs';\nimport {HttpClient} from '@angular/common/http';\nimport {ConfigService} from '@valtimo/config';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ProcessManagementService {\n private valtimoApiConfig: any;\n\n constructor(private configService: ConfigService, private http: HttpClient) {\n this.valtimoApiConfig = configService.config.valtimoApi;\n }\n\n deployBpmn(bpmn: File): Observable<any> {\n const formData: FormData = new FormData();\n formData.append('file', bpmn);\n formData.append('deployment-name', 'valtimoConsoleApp');\n formData.append('deployment-source', 'process application');\n return this.http.post<any>(\n `${this.valtimoApiConfig.endpointUri}camunda-rest/engine/default/deployment/create`,\n formData\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, ElementRef, EventEmitter, OnInit, Output, ViewChild} from '@angular/core';\nimport {ProcessManagementService} from '../process-management.service';\nimport {AlertService} from '@valtimo/components';\n\n@Component({\n selector: 'valtimo-process-management-upload',\n templateUrl: './process-management-upload.component.html',\n styleUrls: ['./process-management-upload.component.scss'],\n})\nexport class ProcessManagementUploadComponent implements OnInit {\n public bpmn: File | null = null;\n @Output() reload = new EventEmitter();\n @ViewChild('bpmnFile') bpmnFile: ElementRef;\n\n constructor(\n private processManagementService: ProcessManagementService,\n private alertService: AlertService\n ) {}\n\n ngOnInit() {}\n\n onChange(files: FileList): void {\n this.bpmn = files.item(0);\n }\n\n uploadProcessBpmn() {\n this.processManagementService.deployBpmn(this.bpmn).subscribe(\n () => {\n this.bpmn = null;\n this.bpmnFile.nativeElement.value = '';\n this.alertService.success('Deployment successful');\n this.reload.emit();\n },\n error => {\n this.bpmn = null;\n this.bpmnFile.nativeElement.value = '';\n this.alertService.error(`Deployment failed. ${error}`);\n }\n );\n }\n}\n","<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n class=\"modal fade\"\n id=\"uploadProcess\"\n tabindex=\"-1\"\n role=\"dialog\"\n aria-labelledby=\"uploadProcessLabel\"\n aria-hidden=\"true\"\n>\n <div class=\"modal-dialog modal-dialog-centered\" role=\"document\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h3 class=\"modal-title\" id=\"uploadProcessLabel\">Upload process</h3>\n <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\">\n <span aria-hidden=\"true\">&times;</span>\n </button>\n </div>\n <div class=\"modal-body\">\n <h5>BPMN Model</h5>\n <input\n #bpmnFile\n type=\"file\"\n id=\"file\"\n accept=\".bpmn\"\n (change)=\"onChange($event.target.files)\"\n />\n </div>\n <div class=\"modal-footer\">\n <div class=\"btn-group\">\n <button\n type=\"button\"\n class=\"btn btn-primary btn-space\"\n (click)=\"uploadProcessBpmn()\"\n [disabled]=\"!bpmn\"\n data-dismiss=\"modal\"\n >\n Upload\n </button>\n </div>\n </div>\n </div>\n </div>\n</div>\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, OnInit} from '@angular/core';\nimport {ProcessDefinition, ProcessService} from '@valtimo/process';\nimport {Router} from '@angular/router';\n\n@Component({\n selector: 'valtimo-process-management-list',\n templateUrl: './process-management-list.component.html',\n styleUrls: ['./process-management-list.component.scss'],\n})\nexport class ProcessManagementListComponent implements OnInit {\n public processDefinitions: ProcessDefinition[] = [];\n public fields = [\n {key: 'key', label: 'Key'},\n {key: 'name', label: 'Name'},\n {key: 'readOnly', label: 'Read-only'},\n ];\n\n constructor(private processService: ProcessService, private router: Router) {}\n\n ngOnInit() {\n this.loadProcessDefinitions();\n }\n\n loadProcessDefinitions() {\n this.processService.getProcessDefinitions().subscribe((processDefs: ProcessDefinition[]) => {\n this.processDefinitions = processDefs;\n });\n }\n\n editProcessDefinition(processDefinition: ProcessDefinition) {\n this.router.navigate(['/processes/process', processDefinition.key]);\n }\n}\n","<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-widget>\n <valtimo-list\n [items]=\"processDefinitions\"\n [fields]=\"fields\"\n (rowClicked)=\"editProcessDefinition($event)\"\n [header]=\"true\"\n [viewMode]=\"true\"\n [isSearchable]=\"true\"\n >\n <div header>\n <h3 class=\"list-header-title\">{{ 'Processes' | translate }}</h3>\n <h5 class=\"list-header-description\">{{ 'Overview of all Processes' | translate }}</h5>\n </div>\n </valtimo-list>\n</valtimo-widget>\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 {ProcessManagementListComponent} from './process-management-list/process-management-list.component';\n\n@Component({\n selector: 'valtimo-process-management',\n templateUrl: './process-management.component.html',\n styleUrls: ['./process-management.component.scss'],\n})\nexport class ProcessManagementComponent implements OnInit {\n @ViewChild('processManagementList') processManagementList: ProcessManagementListComponent;\n\n constructor() {}\n\n ngOnInit() {}\n}\n","<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"main-content pt-0\">\n <div class=\"container-fluid\">\n <div class=\"text-right\">\n <div class=\"btn-group mt-m3px mb-3\">\n <button\n class=\"btn btn-secondary btn-space\"\n data-toggle=\"modal\"\n data-target=\"#uploadProcess\"\n >\n <i class=\"icon mdi mdi-upload mr-1\"></i>\n {{ 'Upload process' | translate }}\n </button>\n <button class=\"btn btn-primary btn-space\" [routerLink]=\"'create'\">\n <i class=\"icon mdi mdi-plus mr-1\"></i>\n {{ 'Create new Process' | translate }}\n </button>\n </div>\n </div>\n <valtimo-process-management-upload\n (reload)=\"processManagementList.loadProcessDefinitions()\"\n ></valtimo-process-management-upload>\n <valtimo-process-management-list #processManagementList></valtimo-process-management-list>\n </div>\n</div>\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, OnDestroy, OnInit, ViewEncapsulation} from '@angular/core';\nimport {HttpClient} from '@angular/common/http';\nimport {ProcessDefinition, ProcessService} from '@valtimo/process';\nimport {AlertService} from '@valtimo/components';\nimport {ActivatedRoute, Router} from '@angular/router';\nimport {BehaviorSubject, forkJoin, Observable} from 'rxjs';\nimport {LayoutService} from '@valtimo/layout';\nimport Modeler from 'bpmn-js/lib/Modeler';\nimport BpmnJS from 'bpmn-js/dist/bpmn-navigated-viewer.production.min.js';\nimport PropertiesPanelModule from 'bpmn-js-properties-panel';\nimport PropertiesProviderModule from 'bpmn-js-properties-panel/lib/provider/camunda';\nimport CamundaExtensionModule from 'camunda-bpmn-moddle/lib';\nimport CamundaModdleDescriptor from 'camunda-bpmn-moddle/resources/camunda.json';\n\n@Component({\n selector: 'valtimo-process-management-builder',\n templateUrl: './process-management-builder.component.html',\n styleUrls: ['./process-management-builder.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class ProcessManagementBuilderComponent implements OnInit, OnDestroy {\n public bpmnModeler;\n public bpmnViewer;\n public processDefinitionVersions: ProcessDefinition[] | null = null;\n public selectedVersion: ProcessDefinition | null = null;\n public processKey: string | null = null;\n public isReadOnlyProcess$ = new BehaviorSubject<boolean>(false);\n public isSystemProcess$ = new BehaviorSubject<boolean>(false);\n private elementTemplateFiles: string[] = ['mailSendTask'];\n\n constructor(\n private http: HttpClient,\n private processService: ProcessService,\n public layoutService: LayoutService,\n private alertService: AlertService,\n private route: ActivatedRoute,\n private router: Router\n ) {}\n\n ngOnInit() {\n this.init();\n }\n\n init() {\n this.processKey = this.route.snapshot.paramMap.get('key');\n forkJoin(this.getElementTemplates()).subscribe((elementTemplates: any[]) => {\n this.bpmnModeler = new Modeler({\n container: '#canvas',\n height: '90vh',\n additionalModules: [\n PropertiesPanelModule,\n PropertiesProviderModule,\n CamundaExtensionModule,\n ],\n propertiesPanel: {\n parent: '#properties',\n },\n moddleExtensions: {\n camunda: CamundaModdleDescriptor,\n },\n elementTemplates,\n });\n this.bpmnViewer = new BpmnJS();\n this.bpmnViewer.attachTo('#readOnlyCanvas');\n if (this.processKey) {\n this.loadProcessVersions(this.processKey);\n this.selectedVersion = null;\n } else {\n this.loadEmptyBpmn();\n }\n });\n }\n\n deploy(): void {\n this.bpmnModeler.saveXML((err: any, xml: any) => {\n this.processService.deployProcess(xml).subscribe(asd => {\n if (this.processKey) {\n this.loadProcessVersions(this.processKey);\n } else {\n this.router.navigate(['/processes']);\n }\n this.alertService.success('Deployment successful');\n this.selectedVersion = null;\n });\n });\n }\n\n reset() {\n this.bpmnModeler.destroy();\n this.bpmnViewer.destroy();\n this.init();\n }\n\n download() {\n this.bpmnModeler.saveXML((err: any, xml: any) => {\n const file = new Blob([xml], {type: 'text/xml'});\n const link = document.createElement('a');\n link.download = 'diagram.bpmn';\n link.href = window.URL.createObjectURL(file);\n link.click();\n window.URL.revokeObjectURL(link.href);\n link.remove();\n });\n }\n\n loadEmptyBpmn() {\n const url = '/assets/bpmn/initial.bpmn';\n this.http\n .get(url, {\n headers: {observe: 'response'},\n responseType: 'text',\n })\n .subscribe((xml: any) => {\n this.bpmnModeler.importXML(xml);\n this.bpmnViewer.importXML(xml);\n });\n }\n\n getElementTemplates(): Observable<any>[] {\n const templateObs = [];\n for (const file of this.elementTemplateFiles) {\n templateObs.push(\n this.http.get(`/assets/bpmn/element-templates/${file}.json`, {\n headers: {observe: 'response'},\n responseType: 'json',\n })\n );\n }\n return templateObs;\n }\n\n private setLatestVersion() {\n this.selectedVersion = this.processDefinitionVersions.reduce((acc, version) =>\n version.version > acc.version ? version : acc\n );\n this.loadProcessBpmn();\n }\n\n loadProcessVersions(processDefinitionKey: string) {\n this.processService\n .getProcessDefinitionVersions(processDefinitionKey)\n .subscribe((processDefinitionVersions: ProcessDefinition[]) => {\n this.processDefinitionVersions = processDefinitionVersions;\n this.setLatestVersion();\n });\n }\n\n compareProcessDefinitions(pd1: ProcessDefinition, pd2: ProcessDefinition) {\n if (pd1 === null && pd2 === null) {\n return true;\n }\n if (pd1 === null || pd2 === null) {\n return false;\n }\n return pd1.id === pd2.id;\n }\n\n loadProcessBpmn() {\n this.processService.getProcessDefinitionXml(this.selectedVersion.id).subscribe(result => {\n this.bpmnModeler.importXML(result['bpmn20Xml']);\n this.bpmnViewer.importXML(result['bpmn20Xml']);\n this.isReadOnlyProcess$.next(result.readOnly);\n this.isSystemProcess$.next(result.systemProcess);\n });\n }\n\n ngOnDestroy() {\n this.bpmnModeler.destroy();\n this.bpmnViewer.destroy();\n }\n}\n","<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"mb-5\" [ngClass]=\"{'main-content pt-0': !layoutService.isFullscreen}\">\n <div [ngClass]=\"{'container-fluid': !layoutService.isFullscreen}\">\n <div class=\"text-right\">\n <div\n class=\"btn-group mt-m3px mb-3\"\n *ngIf=\"(selectedVersion !== null || processKey === null) && !layoutService.isFullscreen\"\n >\n <button class=\"btn btn-primary btn-space\" (click)=\"download()\">\n <i class=\"icon mdi mdi-download mr-1\"></i>{{ 'processManagement.download' | translate }}\n </button>\n <button\n class=\"btn btn-success btn-space\"\n (click)=\"deploy()\"\n *ngIf=\"(isReadOnlyProcess$ | async) === false\"\n [ngClass]=\"{'mr-0': selectedVersion !== null}\"\n >\n <i class=\"icon mdi mdi-upload mr-1\"></i>{{ 'processManagement.deploy' | translate }}\n </button>\n <button\n *ngIf=\"selectedVersion === null\"\n class=\"btn btn-danger btn-space mr-0\"\n (click)=\"reset()\"\n >\n <i class=\"icon mdi mdi-delete mr-1\"></i>{{ 'processManagement.clear' | translate }}\n </button>\n </div>\n </div>\n\n <div class=\"modeler pl-3 pr-3 mb-3\" [ngClass]=\"{'mt-4': !layoutService.isFullscreen}\">\n <div\n class=\"row pt-4 pb-3 bg-light versions\"\n *ngIf=\"processDefinitionVersions\"\n [ngClass]=\"{'border-bottom-0': selectedVersion !== null}\"\n >\n <div class=\"col-md-4\" *ngIf=\"processDefinitionVersions.length > 0\">\n <h2 class=\"process-title\">\n {{ processDefinitionVersions[0].name }}\n </h2>\n <span class=\"badge badge-pill badge-info mr-1\" *ngIf=\"isReadOnlyProcess$ | async\">\n {{ 'processManagement.readOnly' | translate }}\n </span>\n <span class=\"badge badge-pill badge-warning mr-1\" *ngIf=\"isSystemProcess$ | async\">\n {{ 'processManagement.systemProcess' | translate }}\n </span>\n </div>\n <div class=\"col-md-2 offset-md-2\">\n <label for=\"processVersion\"><strong>Version</strong></label>\n <select\n id=\"processVersion\"\n class=\"form-control select-version-control\"\n [(ngModel)]=\"selectedVersion\"\n (change)=\"loadProcessBpmn()\"\n [compareWith]=\"compareProcessDefinitions\"\n >\n <option [ngValue]=\"null\" disabled selected>Version</option>\n <option\n *ngFor=\"let processDefinition of processDefinitionVersions\"\n [ngValue]=\"processDefinition\"\n >\n {{ processDefinition.version }}\n </option>\n </select>\n </div>\n <div\n class=\"col-md-auto d-flex align-items-end text-right\"\n *ngIf=\"(selectedVersion !== null || processKey === null) && layoutService.isFullscreen\"\n >\n <div class=\"btn-group\">\n <button class=\"btn btn-primary btn-space\" (click)=\"download()\">\n <i class=\"icon mdi mdi-download mr-1\"></i\n >{{ 'processManagement.download' | translate }}\n </button>\n <button\n class=\"btn btn-success btn-space\"\n (click)=\"deploy()\"\n *ngIf=\"(isReadOnlyProcess$ | async) === false\"\n >\n <i class=\"icon mdi mdi-upload mr-1\"></i>{{ 'processManagement.deploy' | translate }}\n </button>\n <button *ngIf=\"!selectedVersion\" class=\"btn btn-danger btn-space\" (click)=\"reset()\">\n <i class=\"icon mdi mdi-delete mr-1\"></i>{{ 'processManagement.clear' | translate }}\n </button>\n </div>\n </div>\n <div\n *ngIf=\"selectedVersion\"\n class=\"col-md-1 fullscreen-toggle text-right\"\n [ngClass]=\"{'offset-md-2': !layoutService.isFullscreen}\"\n >\n <i\n class=\"fas\"\n [ngClass]=\"{\n 'fa-expand-arrows-alt': !layoutService.isFullscreen,\n 'fa-compress-arrows-alt': layoutService.isFullscreen\n }\"\n (click)=\"layoutService.toggleFullscreen()\"\n ></i>\n </div>\n </div>\n <div\n *ngIf=\"(isSystemProcess$ | async) && (isReadOnlyProcess$ | async)\"\n class=\"row bg-warning text-black mb-0 p-3 text-center\"\n [translate]=\"'processManagement.readOnlySystemProcessWarningMessage'\"\n ></div>\n <div\n *ngIf=\"(isSystemProcess$ | async) && (isReadOnlyProcess$ | async) === false\"\n class=\"row bg-warning text-black mb-0 p-3 text-center\"\n [translate]=\"'processManagement.systemProcessWarningMessage'\"\n ></div>\n <div [hidden]=\"!selectedVersion && processKey\" class=\"row bg-white diagram mb-3\">\n <div id=\"canvas\" class=\"col-9\" [hidden]=\"isReadOnlyProcess$ | async\"></div>\n <div id=\"properties\" class=\"col-3 pr-0\" [hidden]=\"isReadOnlyProcess$ | async\"></div>\n <div\n id=\"readOnlyCanvas\"\n class=\"col-12\"\n [hidden]=\"(isReadOnlyProcess$ | async) === false\"\n ></div>\n </div>\n </div>\n </div>\n</div>\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {RouterModule, Routes} from '@angular/router';\nimport {CommonModule} from '@angular/common';\nimport {AuthGuardService} from '@valtimo/security';\nimport {ProcessManagementComponent} from './process-management.component';\nimport {ProcessManagementBuilderComponent} from './process-management-builder/process-management-builder.component';\nimport {ROLE_ADMIN} from '@valtimo/config';\n\nconst routes: Routes = [\n {\n path: 'processes',\n component: ProcessManagementComponent,\n canActivate: [AuthGuardService],\n data: {title: 'Processes', roles: [ROLE_ADMIN]},\n },\n {\n path: 'processes/create',\n component: ProcessManagementBuilderComponent,\n canActivate: [AuthGuardService],\n data: {title: 'Create new Process', roles: [ROLE_ADMIN]},\n },\n {\n path: 'processes/process/:key',\n component: ProcessManagementBuilderComponent,\n canActivate: [AuthGuardService],\n data: {title: 'Process details', roles: [ROLE_ADMIN]},\n },\n];\n\n@NgModule({\n declarations: [],\n imports: [CommonModule, RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class ProcessManagementRoutingModule {}\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 {ProcessManagementComponent} from './process-management.component';\nimport {ProcessManagementRoutingModule} from './process-management-routing';\nimport {CommonModule} from '@angular/common';\nimport {ProcessManagementBuilderComponent} from './process-management-builder/process-management-builder.component';\nimport {ProcessManagementListComponent} from './process-management-list/process-management-list.component';\nimport {ListModule, WidgetModule} from '@valtimo/components';\nimport {FormsModule} from '@angular/forms';\nimport {ProcessManagementUploadComponent} from './process-management-upload/process-management-upload.component';\nimport {TranslateModule} from '@ngx-translate/core';\n\n@NgModule({\n declarations: [\n ProcessManagementComponent,\n ProcessManagementBuilderComponent,\n ProcessManagementListComponent,\n ProcessManagementUploadComponent,\n ],\n imports: [\n CommonModule,\n ProcessManagementRoutingModule,\n WidgetModule,\n ListModule,\n FormsModule,\n TranslateModule,\n ],\n exports: [ProcessManagementComponent],\n})\nexport class ProcessManagementModule {}\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 process-management\n */\n\nexport * from './lib/process-management.module';\nexport * from './lib/process-management.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.ProcessManagementService","i2","i1","i3","i1.ProcessManagementUploadComponent","i2.ProcessManagementListComponent","i4","i8"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;AAcG;MAUU,wBAAwB,CAAA;IAGnC,WAAoB,CAAA,aAA4B,EAAU,IAAgB,EAAA;AAAtD,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;AAAU,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;QACxE,IAAI,CAAC,gBAAgB,GAAG,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC;KACzD;AAED,IAAA,UAAU,CAAC,IAAU,EAAA;AACnB,QAAA,MAAM,QAAQ,GAAa,IAAI,QAAQ,EAAE,CAAC;AAC1C,QAAA,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAC9B,QAAA,QAAQ,CAAC,MAAM,CAAC,iBAAiB,EAAE,mBAAmB,CAAC,CAAC;AACxD,QAAA,QAAQ,CAAC,MAAM,CAAC,mBAAmB,EAAE,qBAAqB,CAAC,CAAC;AAC5D,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,CAAG,EAAA,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAA,6CAAA,CAA+C,EACnF,QAAQ,CACT,CAAC;KACH;;sHAhBU,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,aAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAxB,wBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,cAFvB,MAAM,EAAA,CAAA,CAAA;4FAEP,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAHpC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;iBACnB,CAAA;;;ACvBD;;;;;;;;;;;;;;AAcG;MAWU,gCAAgC,CAAA;IAK3C,WACU,CAAA,wBAAkD,EAClD,YAA0B,EAAA;AAD1B,QAAA,IAAwB,CAAA,wBAAA,GAAxB,wBAAwB,CAA0B;AAClD,QAAA,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAc;AAN7B,QAAA,IAAI,CAAA,IAAA,GAAgB,IAAI,CAAC;AACtB,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;KAMlC;AAEJ,IAAA,QAAQ,MAAK;AAEb,IAAA,QAAQ,CAAC,KAAe,EAAA;QACtB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KAC3B;IAED,iBAAiB,GAAA;AACf,QAAA,IAAI,CAAC,wBAAwB,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,CAC3D,MAAK;AACH,YAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,GAAG,EAAE,CAAC;AACvC,YAAA,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;AACnD,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;SACpB,EACD,KAAK,IAAG;AACN,YAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,GAAG,EAAE,CAAC;YACvC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAsB,mBAAA,EAAA,KAAK,CAAE,CAAA,CAAC,CAAC;AACzD,SAAC,CACF,CAAC;KACH;;8HA9BU,gCAAgC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,wBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,IAAA,CAAA,YAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAhC,gCAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,gCAAgC,8MCzB7C,o1DA0DA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA,CAAA,CAAA;4FDjCa,gCAAgC,EAAA,UAAA,EAAA,CAAA;kBAL5C,SAAS;+BACE,mCAAmC,EAAA,QAAA,EAAA,o1DAAA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA,CAAA;yIAMnC,MAAM,EAAA,CAAA;sBAAf,MAAM;gBACgB,QAAQ,EAAA,CAAA;sBAA9B,SAAS;uBAAC,UAAU,CAAA;;;AE5BvB;;;;;;;;;;;;;;AAcG;MAWU,8BAA8B,CAAA;IAQzC,WAAoB,CAAA,cAA8B,EAAU,MAAc,EAAA;AAAtD,QAAA,IAAc,CAAA,cAAA,GAAd,cAAc,CAAgB;AAAU,QAAA,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;AAPnE,QAAA,IAAkB,CAAA,kBAAA,GAAwB,EAAE,CAAC;QAC7C,IAAA,CAAA,MAAM,GAAG;AACd,YAAA,EAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAC;AAC1B,YAAA,EAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAC;AAC5B,YAAA,EAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAC;SACtC,CAAC;KAE4E;IAE9E,QAAQ,GAAA;QACN,IAAI,CAAC,sBAAsB,EAAE,CAAC;KAC/B;IAED,sBAAsB,GAAA;QACpB,IAAI,CAAC,cAAc,CAAC,qBAAqB,EAAE,CAAC,SAAS,CAAC,CAAC,WAAgC,KAAI;AACzF,YAAA,IAAI,CAAC,kBAAkB,GAAG,WAAW,CAAC;AACxC,SAAC,CAAC,CAAC;KACJ;AAED,IAAA,qBAAqB,CAAC,iBAAoC,EAAA;AACxD,QAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,oBAAoB,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;KACrE;;4HAtBU,8BAA8B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,IAAA,CAAA,cAAA,EAAA,EAAA,EAAA,KAAA,EAAAD,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA9B,8BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,8BAA8B,uECzB3C,smCA+BA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAE,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,OAAA,EAAA,UAAA,EAAA,cAAA,EAAA,UAAA,EAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,YAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,SAAA,EAAA,sBAAA,EAAA,kBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,EAAA,mBAAA,EAAA,eAAA,EAAA,QAAA,EAAA,aAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,WAAA,EAAA,EAAA,CAAA,aAAA,EAAA,EAAA,CAAA,CAAA;4FDNa,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAL1C,SAAS;+BACE,iCAAiC,EAAA,QAAA,EAAA,smCAAA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA,CAAA;;;AErB7C;;;;;;;;;;;;;;AAcG;MAUU,0BAA0B,CAAA;AAGrC,IAAA,WAAA,GAAA,GAAgB;AAEhB,IAAA,QAAQ,MAAK;;wHALF,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA1B,0BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,0BAA0B,kMCxBvC,giDAwCA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,gCAAA,EAAA,QAAA,EAAA,mCAAA,EAAA,OAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,8BAAA,EAAA,QAAA,EAAA,iCAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAF,EAAA,CAAA,UAAA,EAAA,QAAA,EAAA,+BAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,OAAA,EAAA,YAAA,EAAA,YAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,WAAA,EAAA,EAAA,CAAA,aAAA,EAAA,EAAA,CAAA,CAAA;4FDhBa,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBALtC,SAAS;+BACE,4BAA4B,EAAA,QAAA,EAAA,giDAAA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA,CAAA;0EAKF,qBAAqB,EAAA,CAAA;sBAAxD,SAAS;uBAAC,uBAAuB,CAAA;;;AEzBpC;;;;;;;;;;;;;;AAcG;MAsBU,iCAAiC,CAAA;IAU5C,WACU,CAAA,IAAgB,EAChB,cAA8B,EAC/B,aAA4B,EAC3B,YAA0B,EAC1B,KAAqB,EACrB,MAAc,EAAA;AALd,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;AAChB,QAAA,IAAc,CAAA,cAAA,GAAd,cAAc,CAAgB;AAC/B,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;AAC3B,QAAA,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAc;AAC1B,QAAA,IAAK,CAAA,KAAA,GAAL,KAAK,CAAgB;AACrB,QAAA,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;AAbjB,QAAA,IAAyB,CAAA,yBAAA,GAA+B,IAAI,CAAC;AAC7D,QAAA,IAAe,CAAA,eAAA,GAA6B,IAAI,CAAC;AACjD,QAAA,IAAU,CAAA,UAAA,GAAkB,IAAI,CAAC;QACjC,IAAA,CAAA,kBAAkB,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC,CAAC;QACzD,IAAA,CAAA,gBAAgB,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC,CAAC;AACtD,QAAA,IAAA,CAAA,oBAAoB,GAAa,CAAC,cAAc,CAAC,CAAC;KAStD;IAEJ,QAAQ,GAAA;QACN,IAAI,CAAC,IAAI,EAAE,CAAC;KACb;IAED,IAAI,GAAA;AACF,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAC1D,QAAA,QAAQ,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,gBAAuB,KAAI;AACzE,YAAA,IAAI,CAAC,WAAW,GAAG,IAAI,OAAO,CAAC;AAC7B,gBAAA,SAAS,EAAE,SAAS;AACpB,gBAAA,MAAM,EAAE,MAAM;AACd,gBAAA,iBAAiB,EAAE;oBACjB,qBAAqB;oBACrB,wBAAwB;oBACxB,sBAAsB;AACvB,iBAAA;AACD,gBAAA,eAAe,EAAE;AACf,oBAAA,MAAM,EAAE,aAAa;AACtB,iBAAA;AACD,gBAAA,gBAAgB,EAAE;AAChB,oBAAA,OAAO,EAAE,uBAAuB;AACjC,iBAAA;gBACD,gBAAgB;AACjB,aAAA,CAAC,CAAC;AACH,YAAA,IAAI,CAAC,UAAU,GAAG,IAAI,MAAM,EAAE,CAAC;AAC/B,YAAA,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;YAC5C,IAAI,IAAI,CAAC,UAAU,EAAE;AACnB,gBAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAC1C,gBAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;AAC7B,aAAA;AAAM,iBAAA;gBACL,IAAI,CAAC,aAAa,EAAE,CAAC;AACtB,aAAA;AACH,SAAC,CAAC,CAAC;KACJ;IAED,MAAM,GAAA;QACJ,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,GAAQ,EAAE,GAAQ,KAAI;AAC9C,YAAA,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,GAAG,IAAG;gBACrD,IAAI,IAAI,CAAC,UAAU,EAAE;AACnB,oBAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAC3C,iBAAA;AAAM,qBAAA;oBACL,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;AACtC,iBAAA;AACD,gBAAA,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;AACnD,gBAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;AAC9B,aAAC,CAAC,CAAC;AACL,SAAC,CAAC,CAAC;KACJ;IAED,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;AAC3B,QAAA,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QAC1B,IAAI,CAAC,IAAI,EAAE,CAAC;KACb;IAED,QAAQ,GAAA;QACN,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,GAAQ,EAAE,GAAQ,KAAI;AAC9C,YAAA,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,EAAC,IAAI,EAAE,UAAU,EAAC,CAAC,CAAC;YACjD,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;AACzC,YAAA,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC;YAC/B,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAC7C,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtC,IAAI,CAAC,MAAM,EAAE,CAAC;AAChB,SAAC,CAAC,CAAC;KACJ;IAED,aAAa,GAAA;QACX,MAAM,GAAG,GAAG,2BAA2B,CAAC;AACxC,QAAA,IAAI,CAAC,IAAI;aACN,GAAG,CAAC,GAAG,EAAE;AACR,YAAA,OAAO,EAAE,EAAC,OAAO,EAAE,UAAU,EAAC;AAC9B,YAAA,YAAY,EAAE,MAAM;SACrB,CAAC;AACD,aAAA,SAAS,CAAC,CAAC,GAAQ,KAAI;AACtB,YAAA,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;AAChC,YAAA,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;AACjC,SAAC,CAAC,CAAC;KACN;IAED,mBAAmB,GAAA;QACjB,MAAM,WAAW,GAAG,EAAE,CAAC;AACvB,QAAA,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,oBAAoB,EAAE;AAC5C,YAAA,WAAW,CAAC,IAAI,CACd,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA,+BAAA,EAAkC,IAAI,CAAA,KAAA,CAAO,EAAE;AAC3D,gBAAA,OAAO,EAAE,EAAC,OAAO,EAAE,UAAU,EAAC;AAC9B,gBAAA,YAAY,EAAE,MAAM;AACrB,aAAA,CAAC,CACH,CAAC;AACH,SAAA;AACD,QAAA,OAAO,WAAW,CAAC;KACpB;IAEO,gBAAgB,GAAA;AACtB,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,KACxE,OAAO,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,GAAG,OAAO,GAAG,GAAG,CAC9C,CAAC;QACF,IAAI,CAAC,eAAe,EAAE,CAAC;KACxB;AAED,IAAA,mBAAmB,CAAC,oBAA4B,EAAA;AAC9C,QAAA,IAAI,CAAC,cAAc;aAChB,4BAA4B,CAAC,oBAAoB,CAAC;AAClD,aAAA,SAAS,CAAC,CAAC,yBAA8C,KAAI;AAC5D,YAAA,IAAI,CAAC,yBAAyB,GAAG,yBAAyB,CAAC;YAC3D,IAAI,CAAC,gBAAgB,EAAE,CAAC;AAC1B,SAAC,CAAC,CAAC;KACN;IAED,yBAAyB,CAAC,GAAsB,EAAE,GAAsB,EAAA;AACtE,QAAA,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,IAAI,EAAE;AAChC,YAAA,OAAO,IAAI,CAAC;AACb,SAAA;AACD,QAAA,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,IAAI,EAAE;AAChC,YAAA,OAAO,KAAK,CAAC;AACd,SAAA;AACD,QAAA,OAAO,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC;KAC1B;IAED,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,cAAc,CAAC,uBAAuB,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM,IAAG;YACtF,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;YAChD,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;YAC/C,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC9C,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;AACnD,SAAC,CAAC,CAAC;KACJ;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;AAC3B,QAAA,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;KAC3B;;+HArJU,iCAAiC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAD,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAD,IAAA,CAAA,cAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,aAAA,EAAA,EAAA,EAAA,KAAA,EAAAK,IAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,cAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjC,iCAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iCAAiC,0ECpC9C,q1LAyIA,EAAA,MAAA,EAAA,CAAA,66BAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,0BAAA,EAAA,QAAA,EAAA,6GAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,iBAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,WAAA,EAAAA,EAAA,CAAA,aAAA,EAAA,OAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4FDrGa,iCAAiC,EAAA,UAAA,EAAA,CAAA;kBAN7C,SAAS;+BACE,oCAAoC,EAAA,aAAA,EAG/B,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,q1LAAA,EAAA,MAAA,EAAA,CAAA,66BAAA,CAAA,EAAA,CAAA;;;AElCvC;;;;;;;;;;;;;;AAcG;AAUH,MAAM,MAAM,GAAW;AACrB,IAAA;AACE,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,SAAS,EAAE,0BAA0B;QACrC,WAAW,EAAE,CAAC,gBAAgB,CAAC;QAC/B,IAAI,EAAE,EAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,UAAU,CAAC,EAAC;AAChD,KAAA;AACD,IAAA;AACE,QAAA,IAAI,EAAE,kBAAkB;AACxB,QAAA,SAAS,EAAE,iCAAiC;QAC5C,WAAW,EAAE,CAAC,gBAAgB,CAAC;QAC/B,IAAI,EAAE,EAAC,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC,UAAU,CAAC,EAAC;AACzD,KAAA;AACD,IAAA;AACE,QAAA,IAAI,EAAE,wBAAwB;AAC9B,QAAA,SAAS,EAAE,iCAAiC;QAC5C,WAAW,EAAE,CAAC,gBAAgB,CAAC;QAC/B,IAAI,EAAE,EAAC,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,CAAC,UAAU,CAAC,EAAC;AACtD,KAAA;CACF,CAAC;MAOW,8BAA8B,CAAA;;4HAA9B,8BAA8B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;6HAA9B,8BAA8B,EAAA,OAAA,EAAA,CAH/B,YAAY,EAAAL,EAAA,CAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CACZ,YAAY,CAAA,EAAA,CAAA,CAAA;AAEX,8BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,8BAA8B,EAHhC,OAAA,EAAA,CAAA,CAAC,YAAY,EAAE,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAC5C,YAAY,CAAA,EAAA,CAAA,CAAA;4FAEX,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAL1C,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,EAAE;oBAChB,OAAO,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;oBACtD,OAAO,EAAE,CAAC,YAAY,CAAC;iBACxB,CAAA;;;ACjDD;;;;;;;;;;;;;;AAcG;MA8BU,uBAAuB,CAAA;;qHAAvB,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAvB,uBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,iBAfhC,0BAA0B;QAC1B,iCAAiC;QACjC,8BAA8B;AAC9B,QAAA,gCAAgC,aAGhC,YAAY;QACZ,8BAA8B;QAC9B,YAAY;QACZ,UAAU;QACV,WAAW;QACX,eAAe,aAEP,0BAA0B,CAAA,EAAA,CAAA,CAAA;AAEzB,uBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,EAVzB,OAAA,EAAA,CAAA;YACP,YAAY;YACZ,8BAA8B;YAC9B,YAAY;YACZ,UAAU;YACV,WAAW;YACX,eAAe;SAChB,CAAA,EAAA,CAAA,CAAA;4FAGU,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAjBnC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,0BAA0B;wBAC1B,iCAAiC;wBACjC,8BAA8B;wBAC9B,gCAAgC;AACjC,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,8BAA8B;wBAC9B,YAAY;wBACZ,UAAU;wBACV,WAAW;wBACX,eAAe;AAChB,qBAAA;oBACD,OAAO,EAAE,CAAC,0BAA0B,CAAC;iBACtC,CAAA;;;AC3CD;;;;;;;;;;;;;;AAcG;;ACdH;;AAEG;;;;"}
@@ -13,8 +13,9 @@ import { TranslateModule } from '@ngx-translate/core';
13
13
  import * as i6 from '@angular/common';
14
14
  import { CommonModule } from '@angular/common';
15
15
  import { AuthGuardService } from '@valtimo/security';
16
- import { forkJoin } from 'rxjs';
16
+ import { BehaviorSubject, forkJoin } from 'rxjs';
17
17
  import Modeler from 'bpmn-js/lib/Modeler';
18
+ import BpmnJS from 'bpmn-js/dist/bpmn-navigated-viewer.production.min.js';
18
19
  import PropertiesPanelModule from 'bpmn-js-properties-panel';
19
20
  import PropertiesProviderModule from 'bpmn-js-properties-panel/lib/provider/camunda';
20
21
  import CamundaExtensionModule from 'camunda-bpmn-moddle/lib';
@@ -135,6 +136,7 @@ class ProcessManagementListComponent {
135
136
  this.fields = [
136
137
  { key: 'key', label: 'Key' },
137
138
  { key: 'name', label: 'Name' },
139
+ { key: 'readOnly', label: 'Read-only' },
138
140
  ];
139
141
  }
140
142
  ngOnInit() {
@@ -211,6 +213,8 @@ class ProcessManagementBuilderComponent {
211
213
  this.processDefinitionVersions = null;
212
214
  this.selectedVersion = null;
213
215
  this.processKey = null;
216
+ this.isReadOnlyProcess$ = new BehaviorSubject(false);
217
+ this.isSystemProcess$ = new BehaviorSubject(false);
214
218
  this.elementTemplateFiles = ['mailSendTask'];
215
219
  }
216
220
  ngOnInit() {
@@ -235,6 +239,8 @@ class ProcessManagementBuilderComponent {
235
239
  },
236
240
  elementTemplates,
237
241
  });
242
+ this.bpmnViewer = new BpmnJS();
243
+ this.bpmnViewer.attachTo('#readOnlyCanvas');
238
244
  if (this.processKey) {
239
245
  this.loadProcessVersions(this.processKey);
240
246
  this.selectedVersion = null;
@@ -260,6 +266,7 @@ class ProcessManagementBuilderComponent {
260
266
  }
261
267
  reset() {
262
268
  this.bpmnModeler.destroy();
269
+ this.bpmnViewer.destroy();
263
270
  this.init();
264
271
  }
265
272
  download() {
@@ -282,6 +289,7 @@ class ProcessManagementBuilderComponent {
282
289
  })
283
290
  .subscribe((xml) => {
284
291
  this.bpmnModeler.importXML(xml);
292
+ this.bpmnViewer.importXML(xml);
285
293
  });
286
294
  }
287
295
  getElementTemplates() {
@@ -316,19 +324,23 @@ class ProcessManagementBuilderComponent {
316
324
  return pd1.id === pd2.id;
317
325
  }
318
326
  loadProcessBpmn() {
319
- this.processService.getProcessDefinitionXml(this.selectedVersion.id).subscribe(xml => {
320
- this.bpmnModeler.importXML(xml['bpmn20Xml']);
327
+ this.processService.getProcessDefinitionXml(this.selectedVersion.id).subscribe(result => {
328
+ this.bpmnModeler.importXML(result['bpmn20Xml']);
329
+ this.bpmnViewer.importXML(result['bpmn20Xml']);
330
+ this.isReadOnlyProcess$.next(result.readOnly);
331
+ this.isSystemProcess$.next(result.systemProcess);
321
332
  });
322
333
  }
323
334
  ngOnDestroy() {
324
335
  this.bpmnModeler.destroy();
336
+ this.bpmnViewer.destroy();
325
337
  }
326
338
  }
327
339
  ProcessManagementBuilderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ProcessManagementBuilderComponent, deps: [{ token: i2.HttpClient }, { token: i1$1.ProcessService }, { token: i3.LayoutService }, { token: i2$1.AlertService }, { token: i5.ActivatedRoute }, { token: i5.Router }], target: i0.ɵɵFactoryTarget.Component });
328
- ProcessManagementBuilderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ProcessManagementBuilderComponent, selector: "valtimo-process-management-builder", ngImport: i0, template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"mb-5\" [ngClass]=\"{'main-content pt-0': !layoutService.isFullscreen}\">\n <div [ngClass]=\"{'container-fluid': !layoutService.isFullscreen}\">\n <div class=\"text-right\">\n <div\n class=\"btn-group mt-m3px mb-3\"\n *ngIf=\"(selectedVersion !== null || processKey === null) && !layoutService.isFullscreen\"\n >\n <button class=\"btn btn-primary btn-space\" (click)=\"download()\">\n <i class=\"icon mdi mdi-download mr-1\"></i>{{ 'processManagement.download' | translate }}\n </button>\n <button\n class=\"btn btn-success btn-space\"\n (click)=\"deploy()\"\n [ngClass]=\"{'mr-0': selectedVersion !== null}\"\n >\n <i class=\"icon mdi mdi-upload mr-1\"></i>{{ 'processManagement.deploy' | translate }}\n </button>\n <button\n *ngIf=\"selectedVersion === null\"\n class=\"btn btn-danger btn-space mr-0\"\n (click)=\"reset()\"\n >\n <i class=\"icon mdi mdi-delete mr-1\"></i>{{ 'processManagement.clear' | translate }}\n </button>\n </div>\n </div>\n\n <div class=\"modeler pl-3 pr-3 mb-3\" [ngClass]=\"{'mt-4': !layoutService.isFullscreen}\">\n <div\n class=\"row pt-4 pb-3 bg-light versions\"\n *ngIf=\"processDefinitionVersions\"\n [ngClass]=\"{'border-bottom-0': selectedVersion !== null}\"\n >\n <div class=\"col-md-2\" *ngIf=\"processDefinitionVersions.length > 0\">\n <h2 class=\"process-title\">\n {{ processDefinitionVersions[0].name }}\n </h2>\n </div>\n <div class=\"col-md-1 offset-md-6\">\n <label for=\"processVersion\"><strong>Version</strong></label>\n <select\n id=\"processVersion\"\n class=\"form-control w-100\"\n [(ngModel)]=\"selectedVersion\"\n (change)=\"loadProcessBpmn()\"\n [compareWith]=\"compareProcessDefinitions\"\n >\n <option [ngValue]=\"null\" disabled selected>Version</option>\n <option\n *ngFor=\"let processDefinition of processDefinitionVersions\"\n [ngValue]=\"processDefinition\"\n >\n {{ processDefinition.version }}\n </option>\n </select>\n </div>\n <div\n class=\"col-md-2 d-flex align-items-end\"\n *ngIf=\"(selectedVersion !== null || processKey === null) && layoutService.isFullscreen\"\n >\n <div class=\"btn-group\">\n <button class=\"btn btn-primary btn-space\" (click)=\"deploy()\">\n <i class=\"icon mdi mdi-upload mr-1\"></i>{{ 'processManagement.deploy' | translate }}\n </button>\n <button class=\"btn btn-secondary btn-space\" (click)=\"download()\">\n <i class=\"icon mdi mdi-download mr-1\"></i\n >{{ 'processManagement.download' | translate }}\n </button>\n <button *ngIf=\"!selectedVersion\" class=\"btn btn-danger btn-space\" (click)=\"reset()\">\n <i class=\"icon mdi mdi-delete mr-1\"></i>{{ 'processManagement.clear' | translate }}\n </button>\n </div>\n </div>\n <div\n *ngIf=\"selectedVersion\"\n class=\"col-md-1 text-right fullscreen-toggle\"\n [ngClass]=\"{'offset-md-2': !layoutService.isFullscreen}\"\n >\n <i\n class=\"fas\"\n [ngClass]=\"{\n 'fa-expand-arrows-alt': !layoutService.isFullscreen,\n 'fa-compress-arrows-alt': layoutService.isFullscreen\n }\"\n (click)=\"layoutService.toggleFullscreen()\"\n ></i>\n </div>\n </div>\n <div [hidden]=\"!selectedVersion && processKey\" class=\"row bg-white diagram mb-3\">\n <div id=\"canvas\" class=\"col-9\"></div>\n <div id=\"properties\" class=\"col-3 pr-0\"></div>\n </div>\n </div>\n </div>\n</div>\n", styles: ["/*!\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.versions,.diagram{border:1px solid #dee2e6}.process-title{color:#6b6b6b;font-size:1.5rem}.fullscreen-toggle{font-size:2rem}.fullscreen-toggle>i{cursor:pointer}.modeler{height:90vh}#properties{border-left:1px solid #dee2e6;padding-left:0}\n"], directives: [{ type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i7.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i7.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i4.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
340
+ ProcessManagementBuilderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ProcessManagementBuilderComponent, selector: "valtimo-process-management-builder", ngImport: i0, template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"mb-5\" [ngClass]=\"{'main-content pt-0': !layoutService.isFullscreen}\">\n <div [ngClass]=\"{'container-fluid': !layoutService.isFullscreen}\">\n <div class=\"text-right\">\n <div\n class=\"btn-group mt-m3px mb-3\"\n *ngIf=\"(selectedVersion !== null || processKey === null) && !layoutService.isFullscreen\"\n >\n <button class=\"btn btn-primary btn-space\" (click)=\"download()\">\n <i class=\"icon mdi mdi-download mr-1\"></i>{{ 'processManagement.download' | translate }}\n </button>\n <button\n class=\"btn btn-success btn-space\"\n (click)=\"deploy()\"\n *ngIf=\"(isReadOnlyProcess$ | async) === false\"\n [ngClass]=\"{'mr-0': selectedVersion !== null}\"\n >\n <i class=\"icon mdi mdi-upload mr-1\"></i>{{ 'processManagement.deploy' | translate }}\n </button>\n <button\n *ngIf=\"selectedVersion === null\"\n class=\"btn btn-danger btn-space mr-0\"\n (click)=\"reset()\"\n >\n <i class=\"icon mdi mdi-delete mr-1\"></i>{{ 'processManagement.clear' | translate }}\n </button>\n </div>\n </div>\n\n <div class=\"modeler pl-3 pr-3 mb-3\" [ngClass]=\"{'mt-4': !layoutService.isFullscreen}\">\n <div\n class=\"row pt-4 pb-3 bg-light versions\"\n *ngIf=\"processDefinitionVersions\"\n [ngClass]=\"{'border-bottom-0': selectedVersion !== null}\"\n >\n <div class=\"col-md-4\" *ngIf=\"processDefinitionVersions.length > 0\">\n <h2 class=\"process-title\">\n {{ processDefinitionVersions[0].name }}\n </h2>\n <span class=\"badge badge-pill badge-info mr-1\" *ngIf=\"isReadOnlyProcess$ | async\">\n {{ 'processManagement.readOnly' | translate }}\n </span>\n <span class=\"badge badge-pill badge-warning mr-1\" *ngIf=\"isSystemProcess$ | async\">\n {{ 'processManagement.systemProcess' | translate }}\n </span>\n </div>\n <div class=\"col-md-2 offset-md-2\">\n <label for=\"processVersion\"><strong>Version</strong></label>\n <select\n id=\"processVersion\"\n class=\"form-control select-version-control\"\n [(ngModel)]=\"selectedVersion\"\n (change)=\"loadProcessBpmn()\"\n [compareWith]=\"compareProcessDefinitions\"\n >\n <option [ngValue]=\"null\" disabled selected>Version</option>\n <option\n *ngFor=\"let processDefinition of processDefinitionVersions\"\n [ngValue]=\"processDefinition\"\n >\n {{ processDefinition.version }}\n </option>\n </select>\n </div>\n <div\n class=\"col-md-auto d-flex align-items-end text-right\"\n *ngIf=\"(selectedVersion !== null || processKey === null) && layoutService.isFullscreen\"\n >\n <div class=\"btn-group\">\n <button class=\"btn btn-primary btn-space\" (click)=\"download()\">\n <i class=\"icon mdi mdi-download mr-1\"></i\n >{{ 'processManagement.download' | translate }}\n </button>\n <button\n class=\"btn btn-success btn-space\"\n (click)=\"deploy()\"\n *ngIf=\"(isReadOnlyProcess$ | async) === false\"\n >\n <i class=\"icon mdi mdi-upload mr-1\"></i>{{ 'processManagement.deploy' | translate }}\n </button>\n <button *ngIf=\"!selectedVersion\" class=\"btn btn-danger btn-space\" (click)=\"reset()\">\n <i class=\"icon mdi mdi-delete mr-1\"></i>{{ 'processManagement.clear' | translate }}\n </button>\n </div>\n </div>\n <div\n *ngIf=\"selectedVersion\"\n class=\"col-md-1 fullscreen-toggle text-right\"\n [ngClass]=\"{'offset-md-2': !layoutService.isFullscreen}\"\n >\n <i\n class=\"fas\"\n [ngClass]=\"{\n 'fa-expand-arrows-alt': !layoutService.isFullscreen,\n 'fa-compress-arrows-alt': layoutService.isFullscreen\n }\"\n (click)=\"layoutService.toggleFullscreen()\"\n ></i>\n </div>\n </div>\n <div\n *ngIf=\"(isSystemProcess$ | async) && (isReadOnlyProcess$ | async)\"\n class=\"row bg-warning text-black mb-0 p-3 text-center\"\n [translate]=\"'processManagement.readOnlySystemProcessWarningMessage'\"\n ></div>\n <div\n *ngIf=\"(isSystemProcess$ | async) && (isReadOnlyProcess$ | async) === false\"\n class=\"row bg-warning text-black mb-0 p-3 text-center\"\n [translate]=\"'processManagement.systemProcessWarningMessage'\"\n ></div>\n <div [hidden]=\"!selectedVersion && processKey\" class=\"row bg-white diagram mb-3\">\n <div id=\"canvas\" class=\"col-9\" [hidden]=\"isReadOnlyProcess$ | async\"></div>\n <div id=\"properties\" class=\"col-3 pr-0\" [hidden]=\"isReadOnlyProcess$ | async\"></div>\n <div\n id=\"readOnlyCanvas\"\n class=\"col-12\"\n [hidden]=\"(isReadOnlyProcess$ | async) === false\"\n ></div>\n </div>\n </div>\n </div>\n</div>\n", styles: ["/*!\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.versions,.diagram{border:1px solid #dee2e6}.process-title{color:#6b6b6b;font-size:1.5rem}.fullscreen-toggle{font-size:2rem}.fullscreen-toggle>i{cursor:pointer}.modeler{height:90vh}.select-version-control{width:90px}#properties{border-left:1px solid #dee2e6;padding-left:0}#readOnlyCanvas{height:90vh}\n"], directives: [{ type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i7.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i7.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }], pipes: { "translate": i4.TranslatePipe, "async": i6.AsyncPipe }, encapsulation: i0.ViewEncapsulation.None });
329
341
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ProcessManagementBuilderComponent, decorators: [{
330
342
  type: Component,
331
- args: [{ selector: 'valtimo-process-management-builder', encapsulation: ViewEncapsulation.None, 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=\"mb-5\" [ngClass]=\"{'main-content pt-0': !layoutService.isFullscreen}\">\n <div [ngClass]=\"{'container-fluid': !layoutService.isFullscreen}\">\n <div class=\"text-right\">\n <div\n class=\"btn-group mt-m3px mb-3\"\n *ngIf=\"(selectedVersion !== null || processKey === null) && !layoutService.isFullscreen\"\n >\n <button class=\"btn btn-primary btn-space\" (click)=\"download()\">\n <i class=\"icon mdi mdi-download mr-1\"></i>{{ 'processManagement.download' | translate }}\n </button>\n <button\n class=\"btn btn-success btn-space\"\n (click)=\"deploy()\"\n [ngClass]=\"{'mr-0': selectedVersion !== null}\"\n >\n <i class=\"icon mdi mdi-upload mr-1\"></i>{{ 'processManagement.deploy' | translate }}\n </button>\n <button\n *ngIf=\"selectedVersion === null\"\n class=\"btn btn-danger btn-space mr-0\"\n (click)=\"reset()\"\n >\n <i class=\"icon mdi mdi-delete mr-1\"></i>{{ 'processManagement.clear' | translate }}\n </button>\n </div>\n </div>\n\n <div class=\"modeler pl-3 pr-3 mb-3\" [ngClass]=\"{'mt-4': !layoutService.isFullscreen}\">\n <div\n class=\"row pt-4 pb-3 bg-light versions\"\n *ngIf=\"processDefinitionVersions\"\n [ngClass]=\"{'border-bottom-0': selectedVersion !== null}\"\n >\n <div class=\"col-md-2\" *ngIf=\"processDefinitionVersions.length > 0\">\n <h2 class=\"process-title\">\n {{ processDefinitionVersions[0].name }}\n </h2>\n </div>\n <div class=\"col-md-1 offset-md-6\">\n <label for=\"processVersion\"><strong>Version</strong></label>\n <select\n id=\"processVersion\"\n class=\"form-control w-100\"\n [(ngModel)]=\"selectedVersion\"\n (change)=\"loadProcessBpmn()\"\n [compareWith]=\"compareProcessDefinitions\"\n >\n <option [ngValue]=\"null\" disabled selected>Version</option>\n <option\n *ngFor=\"let processDefinition of processDefinitionVersions\"\n [ngValue]=\"processDefinition\"\n >\n {{ processDefinition.version }}\n </option>\n </select>\n </div>\n <div\n class=\"col-md-2 d-flex align-items-end\"\n *ngIf=\"(selectedVersion !== null || processKey === null) && layoutService.isFullscreen\"\n >\n <div class=\"btn-group\">\n <button class=\"btn btn-primary btn-space\" (click)=\"deploy()\">\n <i class=\"icon mdi mdi-upload mr-1\"></i>{{ 'processManagement.deploy' | translate }}\n </button>\n <button class=\"btn btn-secondary btn-space\" (click)=\"download()\">\n <i class=\"icon mdi mdi-download mr-1\"></i\n >{{ 'processManagement.download' | translate }}\n </button>\n <button *ngIf=\"!selectedVersion\" class=\"btn btn-danger btn-space\" (click)=\"reset()\">\n <i class=\"icon mdi mdi-delete mr-1\"></i>{{ 'processManagement.clear' | translate }}\n </button>\n </div>\n </div>\n <div\n *ngIf=\"selectedVersion\"\n class=\"col-md-1 text-right fullscreen-toggle\"\n [ngClass]=\"{'offset-md-2': !layoutService.isFullscreen}\"\n >\n <i\n class=\"fas\"\n [ngClass]=\"{\n 'fa-expand-arrows-alt': !layoutService.isFullscreen,\n 'fa-compress-arrows-alt': layoutService.isFullscreen\n }\"\n (click)=\"layoutService.toggleFullscreen()\"\n ></i>\n </div>\n </div>\n <div [hidden]=\"!selectedVersion && processKey\" class=\"row bg-white diagram mb-3\">\n <div id=\"canvas\" class=\"col-9\"></div>\n <div id=\"properties\" class=\"col-3 pr-0\"></div>\n </div>\n </div>\n </div>\n</div>\n", styles: ["/*!\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.versions,.diagram{border:1px solid #dee2e6}.process-title{color:#6b6b6b;font-size:1.5rem}.fullscreen-toggle{font-size:2rem}.fullscreen-toggle>i{cursor:pointer}.modeler{height:90vh}#properties{border-left:1px solid #dee2e6;padding-left:0}\n"] }]
343
+ args: [{ selector: 'valtimo-process-management-builder', encapsulation: ViewEncapsulation.None, 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=\"mb-5\" [ngClass]=\"{'main-content pt-0': !layoutService.isFullscreen}\">\n <div [ngClass]=\"{'container-fluid': !layoutService.isFullscreen}\">\n <div class=\"text-right\">\n <div\n class=\"btn-group mt-m3px mb-3\"\n *ngIf=\"(selectedVersion !== null || processKey === null) && !layoutService.isFullscreen\"\n >\n <button class=\"btn btn-primary btn-space\" (click)=\"download()\">\n <i class=\"icon mdi mdi-download mr-1\"></i>{{ 'processManagement.download' | translate }}\n </button>\n <button\n class=\"btn btn-success btn-space\"\n (click)=\"deploy()\"\n *ngIf=\"(isReadOnlyProcess$ | async) === false\"\n [ngClass]=\"{'mr-0': selectedVersion !== null}\"\n >\n <i class=\"icon mdi mdi-upload mr-1\"></i>{{ 'processManagement.deploy' | translate }}\n </button>\n <button\n *ngIf=\"selectedVersion === null\"\n class=\"btn btn-danger btn-space mr-0\"\n (click)=\"reset()\"\n >\n <i class=\"icon mdi mdi-delete mr-1\"></i>{{ 'processManagement.clear' | translate }}\n </button>\n </div>\n </div>\n\n <div class=\"modeler pl-3 pr-3 mb-3\" [ngClass]=\"{'mt-4': !layoutService.isFullscreen}\">\n <div\n class=\"row pt-4 pb-3 bg-light versions\"\n *ngIf=\"processDefinitionVersions\"\n [ngClass]=\"{'border-bottom-0': selectedVersion !== null}\"\n >\n <div class=\"col-md-4\" *ngIf=\"processDefinitionVersions.length > 0\">\n <h2 class=\"process-title\">\n {{ processDefinitionVersions[0].name }}\n </h2>\n <span class=\"badge badge-pill badge-info mr-1\" *ngIf=\"isReadOnlyProcess$ | async\">\n {{ 'processManagement.readOnly' | translate }}\n </span>\n <span class=\"badge badge-pill badge-warning mr-1\" *ngIf=\"isSystemProcess$ | async\">\n {{ 'processManagement.systemProcess' | translate }}\n </span>\n </div>\n <div class=\"col-md-2 offset-md-2\">\n <label for=\"processVersion\"><strong>Version</strong></label>\n <select\n id=\"processVersion\"\n class=\"form-control select-version-control\"\n [(ngModel)]=\"selectedVersion\"\n (change)=\"loadProcessBpmn()\"\n [compareWith]=\"compareProcessDefinitions\"\n >\n <option [ngValue]=\"null\" disabled selected>Version</option>\n <option\n *ngFor=\"let processDefinition of processDefinitionVersions\"\n [ngValue]=\"processDefinition\"\n >\n {{ processDefinition.version }}\n </option>\n </select>\n </div>\n <div\n class=\"col-md-auto d-flex align-items-end text-right\"\n *ngIf=\"(selectedVersion !== null || processKey === null) && layoutService.isFullscreen\"\n >\n <div class=\"btn-group\">\n <button class=\"btn btn-primary btn-space\" (click)=\"download()\">\n <i class=\"icon mdi mdi-download mr-1\"></i\n >{{ 'processManagement.download' | translate }}\n </button>\n <button\n class=\"btn btn-success btn-space\"\n (click)=\"deploy()\"\n *ngIf=\"(isReadOnlyProcess$ | async) === false\"\n >\n <i class=\"icon mdi mdi-upload mr-1\"></i>{{ 'processManagement.deploy' | translate }}\n </button>\n <button *ngIf=\"!selectedVersion\" class=\"btn btn-danger btn-space\" (click)=\"reset()\">\n <i class=\"icon mdi mdi-delete mr-1\"></i>{{ 'processManagement.clear' | translate }}\n </button>\n </div>\n </div>\n <div\n *ngIf=\"selectedVersion\"\n class=\"col-md-1 fullscreen-toggle text-right\"\n [ngClass]=\"{'offset-md-2': !layoutService.isFullscreen}\"\n >\n <i\n class=\"fas\"\n [ngClass]=\"{\n 'fa-expand-arrows-alt': !layoutService.isFullscreen,\n 'fa-compress-arrows-alt': layoutService.isFullscreen\n }\"\n (click)=\"layoutService.toggleFullscreen()\"\n ></i>\n </div>\n </div>\n <div\n *ngIf=\"(isSystemProcess$ | async) && (isReadOnlyProcess$ | async)\"\n class=\"row bg-warning text-black mb-0 p-3 text-center\"\n [translate]=\"'processManagement.readOnlySystemProcessWarningMessage'\"\n ></div>\n <div\n *ngIf=\"(isSystemProcess$ | async) && (isReadOnlyProcess$ | async) === false\"\n class=\"row bg-warning text-black mb-0 p-3 text-center\"\n [translate]=\"'processManagement.systemProcessWarningMessage'\"\n ></div>\n <div [hidden]=\"!selectedVersion && processKey\" class=\"row bg-white diagram mb-3\">\n <div id=\"canvas\" class=\"col-9\" [hidden]=\"isReadOnlyProcess$ | async\"></div>\n <div id=\"properties\" class=\"col-3 pr-0\" [hidden]=\"isReadOnlyProcess$ | async\"></div>\n <div\n id=\"readOnlyCanvas\"\n class=\"col-12\"\n [hidden]=\"(isReadOnlyProcess$ | async) === false\"\n ></div>\n </div>\n </div>\n </div>\n</div>\n", styles: ["/*!\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.versions,.diagram{border:1px solid #dee2e6}.process-title{color:#6b6b6b;font-size:1.5rem}.fullscreen-toggle{font-size:2rem}.fullscreen-toggle>i{cursor:pointer}.modeler{height:90vh}.select-version-control{width:90px}#properties{border-left:1px solid #dee2e6;padding-left:0}#readOnlyCanvas{height:90vh}\n"] }]
332
344
  }], ctorParameters: function () { return [{ type: i2.HttpClient }, { type: i1$1.ProcessService }, { type: i3.LayoutService }, { type: i2$1.AlertService }, { type: i5.ActivatedRoute }, { type: i5.Router }]; } });
333
345
 
334
346
  /*
@@ -1 +1 @@
1
- {"version":3,"file":"valtimo-process-management.mjs","sources":["../../../../projects/valtimo/process-management/src/lib/process-management.service.ts","../../../../projects/valtimo/process-management/src/lib/process-management-upload/process-management-upload.component.ts","../../../../projects/valtimo/process-management/src/lib/process-management-upload/process-management-upload.component.html","../../../../projects/valtimo/process-management/src/lib/process-management-list/process-management-list.component.ts","../../../../projects/valtimo/process-management/src/lib/process-management-list/process-management-list.component.html","../../../../projects/valtimo/process-management/src/lib/process-management.component.ts","../../../../projects/valtimo/process-management/src/lib/process-management.component.html","../../../../projects/valtimo/process-management/src/lib/process-management-builder/process-management-builder.component.ts","../../../../projects/valtimo/process-management/src/lib/process-management-builder/process-management-builder.component.html","../../../../projects/valtimo/process-management/src/lib/process-management-routing.ts","../../../../projects/valtimo/process-management/src/lib/process-management.module.ts","../../../../projects/valtimo/process-management/src/public-api.ts","../../../../projects/valtimo/process-management/src/valtimo-process-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 {Injectable} from '@angular/core';\nimport {Observable} from 'rxjs';\nimport {HttpClient} from '@angular/common/http';\nimport {ConfigService} from '@valtimo/config';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ProcessManagementService {\n private valtimoApiConfig: any;\n\n constructor(private configService: ConfigService, private http: HttpClient) {\n this.valtimoApiConfig = configService.config.valtimoApi;\n }\n\n deployBpmn(bpmn: File): Observable<any> {\n const formData: FormData = new FormData();\n formData.append('file', bpmn);\n formData.append('deployment-name', 'valtimoConsoleApp');\n formData.append('deployment-source', 'process application');\n return this.http.post<any>(\n `${this.valtimoApiConfig.endpointUri}camunda-rest/engine/default/deployment/create`,\n formData\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, ElementRef, EventEmitter, OnInit, Output, ViewChild} from '@angular/core';\nimport {ProcessManagementService} from '../process-management.service';\nimport {AlertService} from '@valtimo/components';\n\n@Component({\n selector: 'valtimo-process-management-upload',\n templateUrl: './process-management-upload.component.html',\n styleUrls: ['./process-management-upload.component.scss'],\n})\nexport class ProcessManagementUploadComponent implements OnInit {\n public bpmn: File | null = null;\n @Output() reload = new EventEmitter();\n @ViewChild('bpmnFile') bpmnFile: ElementRef;\n\n constructor(\n private processManagementService: ProcessManagementService,\n private alertService: AlertService\n ) {}\n\n ngOnInit() {}\n\n onChange(files: FileList): void {\n this.bpmn = files.item(0);\n }\n\n uploadProcessBpmn() {\n this.processManagementService.deployBpmn(this.bpmn).subscribe(\n () => {\n this.bpmn = null;\n this.bpmnFile.nativeElement.value = '';\n this.alertService.success('Deployment successful');\n this.reload.emit();\n },\n error => {\n this.bpmn = null;\n this.bpmnFile.nativeElement.value = '';\n this.alertService.error(`Deployment failed. ${error}`);\n }\n );\n }\n}\n","<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n class=\"modal fade\"\n id=\"uploadProcess\"\n tabindex=\"-1\"\n role=\"dialog\"\n aria-labelledby=\"uploadProcessLabel\"\n aria-hidden=\"true\"\n>\n <div class=\"modal-dialog modal-dialog-centered\" role=\"document\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h3 class=\"modal-title\" id=\"uploadProcessLabel\">Upload process</h3>\n <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\">\n <span aria-hidden=\"true\">&times;</span>\n </button>\n </div>\n <div class=\"modal-body\">\n <h5>BPMN Model</h5>\n <input\n #bpmnFile\n type=\"file\"\n id=\"file\"\n accept=\".bpmn\"\n (change)=\"onChange($event.target.files)\"\n />\n </div>\n <div class=\"modal-footer\">\n <div class=\"btn-group\">\n <button\n type=\"button\"\n class=\"btn btn-primary btn-space\"\n (click)=\"uploadProcessBpmn()\"\n [disabled]=\"!bpmn\"\n data-dismiss=\"modal\"\n >\n Upload\n </button>\n </div>\n </div>\n </div>\n </div>\n</div>\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, OnInit} from '@angular/core';\nimport {ProcessService, ProcessDefinition} from '@valtimo/process';\nimport {Router} from '@angular/router';\n\n@Component({\n selector: 'valtimo-process-management-list',\n templateUrl: './process-management-list.component.html',\n styleUrls: ['./process-management-list.component.scss'],\n})\nexport class ProcessManagementListComponent implements OnInit {\n public processDefinitions: ProcessDefinition[] = [];\n public fields = [\n {key: 'key', label: 'Key'},\n {key: 'name', label: 'Name'},\n ];\n\n constructor(private processService: ProcessService, private router: Router) {}\n\n ngOnInit() {\n this.loadProcessDefinitions();\n }\n\n loadProcessDefinitions() {\n this.processService.getProcessDefinitions().subscribe((processDefs: ProcessDefinition[]) => {\n this.processDefinitions = processDefs;\n });\n }\n\n editProcessDefinition(processDefinition: ProcessDefinition) {\n this.router.navigate(['/processes/process', processDefinition.key]);\n }\n}\n","<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-widget>\n <valtimo-list\n [items]=\"processDefinitions\"\n [fields]=\"fields\"\n (rowClicked)=\"editProcessDefinition($event)\"\n [header]=\"true\"\n [viewMode]=\"true\"\n [isSearchable]=\"true\"\n >\n <div header>\n <h3 class=\"list-header-title\">{{ 'Processes' | translate }}</h3>\n <h5 class=\"list-header-description\">{{ 'Overview of all Processes' | translate }}</h5>\n </div>\n </valtimo-list>\n</valtimo-widget>\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 {ProcessManagementListComponent} from './process-management-list/process-management-list.component';\n\n@Component({\n selector: 'valtimo-process-management',\n templateUrl: './process-management.component.html',\n styleUrls: ['./process-management.component.scss'],\n})\nexport class ProcessManagementComponent implements OnInit {\n @ViewChild('processManagementList') processManagementList: ProcessManagementListComponent;\n\n constructor() {}\n\n ngOnInit() {}\n}\n","<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"main-content pt-0\">\n <div class=\"container-fluid\">\n <div class=\"text-right\">\n <div class=\"btn-group mt-m3px mb-3\">\n <button\n class=\"btn btn-secondary btn-space\"\n data-toggle=\"modal\"\n data-target=\"#uploadProcess\"\n >\n <i class=\"icon mdi mdi-upload mr-1\"></i>\n {{ 'Upload process' | translate }}\n </button>\n <button class=\"btn btn-primary btn-space\" [routerLink]=\"'create'\">\n <i class=\"icon mdi mdi-plus mr-1\"></i>\n {{ 'Create new Process' | translate }}\n </button>\n </div>\n </div>\n <valtimo-process-management-upload\n (reload)=\"processManagementList.loadProcessDefinitions()\"\n ></valtimo-process-management-upload>\n <valtimo-process-management-list #processManagementList></valtimo-process-management-list>\n </div>\n</div>\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, OnDestroy, OnInit, ViewEncapsulation} from '@angular/core';\nimport {HttpClient} from '@angular/common/http';\nimport {ProcessService, ProcessDefinition} from '@valtimo/process';\nimport {AlertService} from '@valtimo/components';\nimport {ActivatedRoute, Router} from '@angular/router';\nimport {forkJoin, Observable} from 'rxjs';\nimport {LayoutService} from '@valtimo/layout';\nimport Modeler from 'bpmn-js/lib/Modeler';\nimport PropertiesPanelModule from 'bpmn-js-properties-panel';\nimport PropertiesProviderModule from 'bpmn-js-properties-panel/lib/provider/camunda';\nimport CamundaExtensionModule from 'camunda-bpmn-moddle/lib';\nimport CamundaModdleDescriptor from 'camunda-bpmn-moddle/resources/camunda.json';\n\n@Component({\n selector: 'valtimo-process-management-builder',\n templateUrl: './process-management-builder.component.html',\n styleUrls: ['./process-management-builder.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class ProcessManagementBuilderComponent implements OnInit, OnDestroy {\n public bpmnModeler;\n public processDefinitionVersions: ProcessDefinition[] | null = null;\n public selectedVersion: ProcessDefinition | null = null;\n public processKey: string | null = null;\n private elementTemplateFiles: string[] = ['mailSendTask'];\n\n constructor(\n private http: HttpClient,\n private processService: ProcessService,\n public layoutService: LayoutService,\n private alertService: AlertService,\n private route: ActivatedRoute,\n private router: Router\n ) {}\n\n ngOnInit() {\n this.init();\n }\n\n init() {\n this.processKey = this.route.snapshot.paramMap.get('key');\n forkJoin(this.getElementTemplates()).subscribe((elementTemplates: any[]) => {\n this.bpmnModeler = new Modeler({\n container: '#canvas',\n height: '90vh',\n additionalModules: [\n PropertiesPanelModule,\n PropertiesProviderModule,\n CamundaExtensionModule,\n ],\n propertiesPanel: {\n parent: '#properties',\n },\n moddleExtensions: {\n camunda: CamundaModdleDescriptor,\n },\n elementTemplates,\n });\n if (this.processKey) {\n this.loadProcessVersions(this.processKey);\n this.selectedVersion = null;\n } else {\n this.loadEmptyBpmn();\n }\n });\n }\n\n deploy(): void {\n this.bpmnModeler.saveXML((err: any, xml: any) => {\n this.processService.deployProcess(xml).subscribe(asd => {\n if (this.processKey) {\n this.loadProcessVersions(this.processKey);\n } else {\n this.router.navigate(['/processes']);\n }\n this.alertService.success('Deployment successful');\n this.selectedVersion = null;\n });\n });\n }\n\n reset() {\n this.bpmnModeler.destroy();\n this.init();\n }\n\n download() {\n this.bpmnModeler.saveXML((err: any, xml: any) => {\n const file = new Blob([xml], {type: 'text/xml'});\n const link = document.createElement('a');\n link.download = 'diagram.bpmn';\n link.href = window.URL.createObjectURL(file);\n link.click();\n window.URL.revokeObjectURL(link.href);\n link.remove();\n });\n }\n\n loadEmptyBpmn() {\n const url = '/assets/bpmn/initial.bpmn';\n this.http\n .get(url, {\n headers: {observe: 'response'},\n responseType: 'text',\n })\n .subscribe((xml: any) => {\n this.bpmnModeler.importXML(xml);\n });\n }\n\n getElementTemplates(): Observable<any>[] {\n const templateObs = [];\n for (const file of this.elementTemplateFiles) {\n templateObs.push(\n this.http.get(`/assets/bpmn/element-templates/${file}.json`, {\n headers: {observe: 'response'},\n responseType: 'json',\n })\n );\n }\n return templateObs;\n }\n\n private setLatestVersion() {\n this.selectedVersion = this.processDefinitionVersions.reduce((acc, version) =>\n version.version > acc.version ? version : acc\n );\n this.loadProcessBpmn();\n }\n\n loadProcessVersions(processDefinitionKey: string) {\n this.processService\n .getProcessDefinitionVersions(processDefinitionKey)\n .subscribe((processDefinitionVersions: ProcessDefinition[]) => {\n this.processDefinitionVersions = processDefinitionVersions;\n this.setLatestVersion();\n });\n }\n\n compareProcessDefinitions(pd1: ProcessDefinition, pd2: ProcessDefinition) {\n if (pd1 === null && pd2 === null) {\n return true;\n }\n if (pd1 === null || pd2 === null) {\n return false;\n }\n return pd1.id === pd2.id;\n }\n\n loadProcessBpmn() {\n this.processService.getProcessDefinitionXml(this.selectedVersion.id).subscribe(xml => {\n this.bpmnModeler.importXML(xml['bpmn20Xml']);\n });\n }\n\n ngOnDestroy() {\n this.bpmnModeler.destroy();\n }\n}\n","<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"mb-5\" [ngClass]=\"{'main-content pt-0': !layoutService.isFullscreen}\">\n <div [ngClass]=\"{'container-fluid': !layoutService.isFullscreen}\">\n <div class=\"text-right\">\n <div\n class=\"btn-group mt-m3px mb-3\"\n *ngIf=\"(selectedVersion !== null || processKey === null) && !layoutService.isFullscreen\"\n >\n <button class=\"btn btn-primary btn-space\" (click)=\"download()\">\n <i class=\"icon mdi mdi-download mr-1\"></i>{{ 'processManagement.download' | translate }}\n </button>\n <button\n class=\"btn btn-success btn-space\"\n (click)=\"deploy()\"\n [ngClass]=\"{'mr-0': selectedVersion !== null}\"\n >\n <i class=\"icon mdi mdi-upload mr-1\"></i>{{ 'processManagement.deploy' | translate }}\n </button>\n <button\n *ngIf=\"selectedVersion === null\"\n class=\"btn btn-danger btn-space mr-0\"\n (click)=\"reset()\"\n >\n <i class=\"icon mdi mdi-delete mr-1\"></i>{{ 'processManagement.clear' | translate }}\n </button>\n </div>\n </div>\n\n <div class=\"modeler pl-3 pr-3 mb-3\" [ngClass]=\"{'mt-4': !layoutService.isFullscreen}\">\n <div\n class=\"row pt-4 pb-3 bg-light versions\"\n *ngIf=\"processDefinitionVersions\"\n [ngClass]=\"{'border-bottom-0': selectedVersion !== null}\"\n >\n <div class=\"col-md-2\" *ngIf=\"processDefinitionVersions.length > 0\">\n <h2 class=\"process-title\">\n {{ processDefinitionVersions[0].name }}\n </h2>\n </div>\n <div class=\"col-md-1 offset-md-6\">\n <label for=\"processVersion\"><strong>Version</strong></label>\n <select\n id=\"processVersion\"\n class=\"form-control w-100\"\n [(ngModel)]=\"selectedVersion\"\n (change)=\"loadProcessBpmn()\"\n [compareWith]=\"compareProcessDefinitions\"\n >\n <option [ngValue]=\"null\" disabled selected>Version</option>\n <option\n *ngFor=\"let processDefinition of processDefinitionVersions\"\n [ngValue]=\"processDefinition\"\n >\n {{ processDefinition.version }}\n </option>\n </select>\n </div>\n <div\n class=\"col-md-2 d-flex align-items-end\"\n *ngIf=\"(selectedVersion !== null || processKey === null) && layoutService.isFullscreen\"\n >\n <div class=\"btn-group\">\n <button class=\"btn btn-primary btn-space\" (click)=\"deploy()\">\n <i class=\"icon mdi mdi-upload mr-1\"></i>{{ 'processManagement.deploy' | translate }}\n </button>\n <button class=\"btn btn-secondary btn-space\" (click)=\"download()\">\n <i class=\"icon mdi mdi-download mr-1\"></i\n >{{ 'processManagement.download' | translate }}\n </button>\n <button *ngIf=\"!selectedVersion\" class=\"btn btn-danger btn-space\" (click)=\"reset()\">\n <i class=\"icon mdi mdi-delete mr-1\"></i>{{ 'processManagement.clear' | translate }}\n </button>\n </div>\n </div>\n <div\n *ngIf=\"selectedVersion\"\n class=\"col-md-1 text-right fullscreen-toggle\"\n [ngClass]=\"{'offset-md-2': !layoutService.isFullscreen}\"\n >\n <i\n class=\"fas\"\n [ngClass]=\"{\n 'fa-expand-arrows-alt': !layoutService.isFullscreen,\n 'fa-compress-arrows-alt': layoutService.isFullscreen\n }\"\n (click)=\"layoutService.toggleFullscreen()\"\n ></i>\n </div>\n </div>\n <div [hidden]=\"!selectedVersion && processKey\" class=\"row bg-white diagram mb-3\">\n <div id=\"canvas\" class=\"col-9\"></div>\n <div id=\"properties\" class=\"col-3 pr-0\"></div>\n </div>\n </div>\n </div>\n</div>\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {RouterModule, Routes} from '@angular/router';\nimport {CommonModule} from '@angular/common';\nimport {AuthGuardService} from '@valtimo/security';\nimport {ProcessManagementComponent} from './process-management.component';\nimport {ProcessManagementBuilderComponent} from './process-management-builder/process-management-builder.component';\nimport {ROLE_ADMIN} from '@valtimo/config';\n\nconst routes: Routes = [\n {\n path: 'processes',\n component: ProcessManagementComponent,\n canActivate: [AuthGuardService],\n data: {title: 'Processes', roles: [ROLE_ADMIN]},\n },\n {\n path: 'processes/create',\n component: ProcessManagementBuilderComponent,\n canActivate: [AuthGuardService],\n data: {title: 'Create new Process', roles: [ROLE_ADMIN]},\n },\n {\n path: 'processes/process/:key',\n component: ProcessManagementBuilderComponent,\n canActivate: [AuthGuardService],\n data: {title: 'Process details', roles: [ROLE_ADMIN]},\n },\n];\n\n@NgModule({\n declarations: [],\n imports: [CommonModule, RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class ProcessManagementRoutingModule {}\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 {ProcessManagementComponent} from './process-management.component';\nimport {ProcessManagementRoutingModule} from './process-management-routing';\nimport {CommonModule} from '@angular/common';\nimport {ProcessManagementBuilderComponent} from './process-management-builder/process-management-builder.component';\nimport {ProcessManagementListComponent} from './process-management-list/process-management-list.component';\nimport {ListModule, WidgetModule} from '@valtimo/components';\nimport {FormsModule} from '@angular/forms';\nimport {ProcessManagementUploadComponent} from './process-management-upload/process-management-upload.component';\nimport {TranslateModule} from '@ngx-translate/core';\n\n@NgModule({\n declarations: [\n ProcessManagementComponent,\n ProcessManagementBuilderComponent,\n ProcessManagementListComponent,\n ProcessManagementUploadComponent,\n ],\n imports: [\n CommonModule,\n ProcessManagementRoutingModule,\n WidgetModule,\n ListModule,\n FormsModule,\n TranslateModule,\n ],\n exports: [ProcessManagementComponent],\n})\nexport class ProcessManagementModule {}\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 process-management\n */\n\nexport * from './lib/process-management.module';\nexport * from './lib/process-management.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.ProcessManagementService","i2","i1","i3","i1.ProcessManagementUploadComponent","i2.ProcessManagementListComponent","i4","i8"],"mappings":"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"}
1
+ {"version":3,"file":"valtimo-process-management.mjs","sources":["../../../../projects/valtimo/process-management/src/lib/process-management.service.ts","../../../../projects/valtimo/process-management/src/lib/process-management-upload/process-management-upload.component.ts","../../../../projects/valtimo/process-management/src/lib/process-management-upload/process-management-upload.component.html","../../../../projects/valtimo/process-management/src/lib/process-management-list/process-management-list.component.ts","../../../../projects/valtimo/process-management/src/lib/process-management-list/process-management-list.component.html","../../../../projects/valtimo/process-management/src/lib/process-management.component.ts","../../../../projects/valtimo/process-management/src/lib/process-management.component.html","../../../../projects/valtimo/process-management/src/lib/process-management-builder/process-management-builder.component.ts","../../../../projects/valtimo/process-management/src/lib/process-management-builder/process-management-builder.component.html","../../../../projects/valtimo/process-management/src/lib/process-management-routing.ts","../../../../projects/valtimo/process-management/src/lib/process-management.module.ts","../../../../projects/valtimo/process-management/src/public-api.ts","../../../../projects/valtimo/process-management/src/valtimo-process-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 {Injectable} from '@angular/core';\nimport {Observable} from 'rxjs';\nimport {HttpClient} from '@angular/common/http';\nimport {ConfigService} from '@valtimo/config';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ProcessManagementService {\n private valtimoApiConfig: any;\n\n constructor(private configService: ConfigService, private http: HttpClient) {\n this.valtimoApiConfig = configService.config.valtimoApi;\n }\n\n deployBpmn(bpmn: File): Observable<any> {\n const formData: FormData = new FormData();\n formData.append('file', bpmn);\n formData.append('deployment-name', 'valtimoConsoleApp');\n formData.append('deployment-source', 'process application');\n return this.http.post<any>(\n `${this.valtimoApiConfig.endpointUri}camunda-rest/engine/default/deployment/create`,\n formData\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, ElementRef, EventEmitter, OnInit, Output, ViewChild} from '@angular/core';\nimport {ProcessManagementService} from '../process-management.service';\nimport {AlertService} from '@valtimo/components';\n\n@Component({\n selector: 'valtimo-process-management-upload',\n templateUrl: './process-management-upload.component.html',\n styleUrls: ['./process-management-upload.component.scss'],\n})\nexport class ProcessManagementUploadComponent implements OnInit {\n public bpmn: File | null = null;\n @Output() reload = new EventEmitter();\n @ViewChild('bpmnFile') bpmnFile: ElementRef;\n\n constructor(\n private processManagementService: ProcessManagementService,\n private alertService: AlertService\n ) {}\n\n ngOnInit() {}\n\n onChange(files: FileList): void {\n this.bpmn = files.item(0);\n }\n\n uploadProcessBpmn() {\n this.processManagementService.deployBpmn(this.bpmn).subscribe(\n () => {\n this.bpmn = null;\n this.bpmnFile.nativeElement.value = '';\n this.alertService.success('Deployment successful');\n this.reload.emit();\n },\n error => {\n this.bpmn = null;\n this.bpmnFile.nativeElement.value = '';\n this.alertService.error(`Deployment failed. ${error}`);\n }\n );\n }\n}\n","<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n class=\"modal fade\"\n id=\"uploadProcess\"\n tabindex=\"-1\"\n role=\"dialog\"\n aria-labelledby=\"uploadProcessLabel\"\n aria-hidden=\"true\"\n>\n <div class=\"modal-dialog modal-dialog-centered\" role=\"document\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h3 class=\"modal-title\" id=\"uploadProcessLabel\">Upload process</h3>\n <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\">\n <span aria-hidden=\"true\">&times;</span>\n </button>\n </div>\n <div class=\"modal-body\">\n <h5>BPMN Model</h5>\n <input\n #bpmnFile\n type=\"file\"\n id=\"file\"\n accept=\".bpmn\"\n (change)=\"onChange($event.target.files)\"\n />\n </div>\n <div class=\"modal-footer\">\n <div class=\"btn-group\">\n <button\n type=\"button\"\n class=\"btn btn-primary btn-space\"\n (click)=\"uploadProcessBpmn()\"\n [disabled]=\"!bpmn\"\n data-dismiss=\"modal\"\n >\n Upload\n </button>\n </div>\n </div>\n </div>\n </div>\n</div>\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, OnInit} from '@angular/core';\nimport {ProcessDefinition, ProcessService} from '@valtimo/process';\nimport {Router} from '@angular/router';\n\n@Component({\n selector: 'valtimo-process-management-list',\n templateUrl: './process-management-list.component.html',\n styleUrls: ['./process-management-list.component.scss'],\n})\nexport class ProcessManagementListComponent implements OnInit {\n public processDefinitions: ProcessDefinition[] = [];\n public fields = [\n {key: 'key', label: 'Key'},\n {key: 'name', label: 'Name'},\n {key: 'readOnly', label: 'Read-only'},\n ];\n\n constructor(private processService: ProcessService, private router: Router) {}\n\n ngOnInit() {\n this.loadProcessDefinitions();\n }\n\n loadProcessDefinitions() {\n this.processService.getProcessDefinitions().subscribe((processDefs: ProcessDefinition[]) => {\n this.processDefinitions = processDefs;\n });\n }\n\n editProcessDefinition(processDefinition: ProcessDefinition) {\n this.router.navigate(['/processes/process', processDefinition.key]);\n }\n}\n","<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-widget>\n <valtimo-list\n [items]=\"processDefinitions\"\n [fields]=\"fields\"\n (rowClicked)=\"editProcessDefinition($event)\"\n [header]=\"true\"\n [viewMode]=\"true\"\n [isSearchable]=\"true\"\n >\n <div header>\n <h3 class=\"list-header-title\">{{ 'Processes' | translate }}</h3>\n <h5 class=\"list-header-description\">{{ 'Overview of all Processes' | translate }}</h5>\n </div>\n </valtimo-list>\n</valtimo-widget>\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 {ProcessManagementListComponent} from './process-management-list/process-management-list.component';\n\n@Component({\n selector: 'valtimo-process-management',\n templateUrl: './process-management.component.html',\n styleUrls: ['./process-management.component.scss'],\n})\nexport class ProcessManagementComponent implements OnInit {\n @ViewChild('processManagementList') processManagementList: ProcessManagementListComponent;\n\n constructor() {}\n\n ngOnInit() {}\n}\n","<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"main-content pt-0\">\n <div class=\"container-fluid\">\n <div class=\"text-right\">\n <div class=\"btn-group mt-m3px mb-3\">\n <button\n class=\"btn btn-secondary btn-space\"\n data-toggle=\"modal\"\n data-target=\"#uploadProcess\"\n >\n <i class=\"icon mdi mdi-upload mr-1\"></i>\n {{ 'Upload process' | translate }}\n </button>\n <button class=\"btn btn-primary btn-space\" [routerLink]=\"'create'\">\n <i class=\"icon mdi mdi-plus mr-1\"></i>\n {{ 'Create new Process' | translate }}\n </button>\n </div>\n </div>\n <valtimo-process-management-upload\n (reload)=\"processManagementList.loadProcessDefinitions()\"\n ></valtimo-process-management-upload>\n <valtimo-process-management-list #processManagementList></valtimo-process-management-list>\n </div>\n</div>\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, OnDestroy, OnInit, ViewEncapsulation} from '@angular/core';\nimport {HttpClient} from '@angular/common/http';\nimport {ProcessDefinition, ProcessService} from '@valtimo/process';\nimport {AlertService} from '@valtimo/components';\nimport {ActivatedRoute, Router} from '@angular/router';\nimport {BehaviorSubject, forkJoin, Observable} from 'rxjs';\nimport {LayoutService} from '@valtimo/layout';\nimport Modeler from 'bpmn-js/lib/Modeler';\nimport BpmnJS from 'bpmn-js/dist/bpmn-navigated-viewer.production.min.js';\nimport PropertiesPanelModule from 'bpmn-js-properties-panel';\nimport PropertiesProviderModule from 'bpmn-js-properties-panel/lib/provider/camunda';\nimport CamundaExtensionModule from 'camunda-bpmn-moddle/lib';\nimport CamundaModdleDescriptor from 'camunda-bpmn-moddle/resources/camunda.json';\n\n@Component({\n selector: 'valtimo-process-management-builder',\n templateUrl: './process-management-builder.component.html',\n styleUrls: ['./process-management-builder.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class ProcessManagementBuilderComponent implements OnInit, OnDestroy {\n public bpmnModeler;\n public bpmnViewer;\n public processDefinitionVersions: ProcessDefinition[] | null = null;\n public selectedVersion: ProcessDefinition | null = null;\n public processKey: string | null = null;\n public isReadOnlyProcess$ = new BehaviorSubject<boolean>(false);\n public isSystemProcess$ = new BehaviorSubject<boolean>(false);\n private elementTemplateFiles: string[] = ['mailSendTask'];\n\n constructor(\n private http: HttpClient,\n private processService: ProcessService,\n public layoutService: LayoutService,\n private alertService: AlertService,\n private route: ActivatedRoute,\n private router: Router\n ) {}\n\n ngOnInit() {\n this.init();\n }\n\n init() {\n this.processKey = this.route.snapshot.paramMap.get('key');\n forkJoin(this.getElementTemplates()).subscribe((elementTemplates: any[]) => {\n this.bpmnModeler = new Modeler({\n container: '#canvas',\n height: '90vh',\n additionalModules: [\n PropertiesPanelModule,\n PropertiesProviderModule,\n CamundaExtensionModule,\n ],\n propertiesPanel: {\n parent: '#properties',\n },\n moddleExtensions: {\n camunda: CamundaModdleDescriptor,\n },\n elementTemplates,\n });\n this.bpmnViewer = new BpmnJS();\n this.bpmnViewer.attachTo('#readOnlyCanvas');\n if (this.processKey) {\n this.loadProcessVersions(this.processKey);\n this.selectedVersion = null;\n } else {\n this.loadEmptyBpmn();\n }\n });\n }\n\n deploy(): void {\n this.bpmnModeler.saveXML((err: any, xml: any) => {\n this.processService.deployProcess(xml).subscribe(asd => {\n if (this.processKey) {\n this.loadProcessVersions(this.processKey);\n } else {\n this.router.navigate(['/processes']);\n }\n this.alertService.success('Deployment successful');\n this.selectedVersion = null;\n });\n });\n }\n\n reset() {\n this.bpmnModeler.destroy();\n this.bpmnViewer.destroy();\n this.init();\n }\n\n download() {\n this.bpmnModeler.saveXML((err: any, xml: any) => {\n const file = new Blob([xml], {type: 'text/xml'});\n const link = document.createElement('a');\n link.download = 'diagram.bpmn';\n link.href = window.URL.createObjectURL(file);\n link.click();\n window.URL.revokeObjectURL(link.href);\n link.remove();\n });\n }\n\n loadEmptyBpmn() {\n const url = '/assets/bpmn/initial.bpmn';\n this.http\n .get(url, {\n headers: {observe: 'response'},\n responseType: 'text',\n })\n .subscribe((xml: any) => {\n this.bpmnModeler.importXML(xml);\n this.bpmnViewer.importXML(xml);\n });\n }\n\n getElementTemplates(): Observable<any>[] {\n const templateObs = [];\n for (const file of this.elementTemplateFiles) {\n templateObs.push(\n this.http.get(`/assets/bpmn/element-templates/${file}.json`, {\n headers: {observe: 'response'},\n responseType: 'json',\n })\n );\n }\n return templateObs;\n }\n\n private setLatestVersion() {\n this.selectedVersion = this.processDefinitionVersions.reduce((acc, version) =>\n version.version > acc.version ? version : acc\n );\n this.loadProcessBpmn();\n }\n\n loadProcessVersions(processDefinitionKey: string) {\n this.processService\n .getProcessDefinitionVersions(processDefinitionKey)\n .subscribe((processDefinitionVersions: ProcessDefinition[]) => {\n this.processDefinitionVersions = processDefinitionVersions;\n this.setLatestVersion();\n });\n }\n\n compareProcessDefinitions(pd1: ProcessDefinition, pd2: ProcessDefinition) {\n if (pd1 === null && pd2 === null) {\n return true;\n }\n if (pd1 === null || pd2 === null) {\n return false;\n }\n return pd1.id === pd2.id;\n }\n\n loadProcessBpmn() {\n this.processService.getProcessDefinitionXml(this.selectedVersion.id).subscribe(result => {\n this.bpmnModeler.importXML(result['bpmn20Xml']);\n this.bpmnViewer.importXML(result['bpmn20Xml']);\n this.isReadOnlyProcess$.next(result.readOnly);\n this.isSystemProcess$.next(result.systemProcess);\n });\n }\n\n ngOnDestroy() {\n this.bpmnModeler.destroy();\n this.bpmnViewer.destroy();\n }\n}\n","<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"mb-5\" [ngClass]=\"{'main-content pt-0': !layoutService.isFullscreen}\">\n <div [ngClass]=\"{'container-fluid': !layoutService.isFullscreen}\">\n <div class=\"text-right\">\n <div\n class=\"btn-group mt-m3px mb-3\"\n *ngIf=\"(selectedVersion !== null || processKey === null) && !layoutService.isFullscreen\"\n >\n <button class=\"btn btn-primary btn-space\" (click)=\"download()\">\n <i class=\"icon mdi mdi-download mr-1\"></i>{{ 'processManagement.download' | translate }}\n </button>\n <button\n class=\"btn btn-success btn-space\"\n (click)=\"deploy()\"\n *ngIf=\"(isReadOnlyProcess$ | async) === false\"\n [ngClass]=\"{'mr-0': selectedVersion !== null}\"\n >\n <i class=\"icon mdi mdi-upload mr-1\"></i>{{ 'processManagement.deploy' | translate }}\n </button>\n <button\n *ngIf=\"selectedVersion === null\"\n class=\"btn btn-danger btn-space mr-0\"\n (click)=\"reset()\"\n >\n <i class=\"icon mdi mdi-delete mr-1\"></i>{{ 'processManagement.clear' | translate }}\n </button>\n </div>\n </div>\n\n <div class=\"modeler pl-3 pr-3 mb-3\" [ngClass]=\"{'mt-4': !layoutService.isFullscreen}\">\n <div\n class=\"row pt-4 pb-3 bg-light versions\"\n *ngIf=\"processDefinitionVersions\"\n [ngClass]=\"{'border-bottom-0': selectedVersion !== null}\"\n >\n <div class=\"col-md-4\" *ngIf=\"processDefinitionVersions.length > 0\">\n <h2 class=\"process-title\">\n {{ processDefinitionVersions[0].name }}\n </h2>\n <span class=\"badge badge-pill badge-info mr-1\" *ngIf=\"isReadOnlyProcess$ | async\">\n {{ 'processManagement.readOnly' | translate }}\n </span>\n <span class=\"badge badge-pill badge-warning mr-1\" *ngIf=\"isSystemProcess$ | async\">\n {{ 'processManagement.systemProcess' | translate }}\n </span>\n </div>\n <div class=\"col-md-2 offset-md-2\">\n <label for=\"processVersion\"><strong>Version</strong></label>\n <select\n id=\"processVersion\"\n class=\"form-control select-version-control\"\n [(ngModel)]=\"selectedVersion\"\n (change)=\"loadProcessBpmn()\"\n [compareWith]=\"compareProcessDefinitions\"\n >\n <option [ngValue]=\"null\" disabled selected>Version</option>\n <option\n *ngFor=\"let processDefinition of processDefinitionVersions\"\n [ngValue]=\"processDefinition\"\n >\n {{ processDefinition.version }}\n </option>\n </select>\n </div>\n <div\n class=\"col-md-auto d-flex align-items-end text-right\"\n *ngIf=\"(selectedVersion !== null || processKey === null) && layoutService.isFullscreen\"\n >\n <div class=\"btn-group\">\n <button class=\"btn btn-primary btn-space\" (click)=\"download()\">\n <i class=\"icon mdi mdi-download mr-1\"></i\n >{{ 'processManagement.download' | translate }}\n </button>\n <button\n class=\"btn btn-success btn-space\"\n (click)=\"deploy()\"\n *ngIf=\"(isReadOnlyProcess$ | async) === false\"\n >\n <i class=\"icon mdi mdi-upload mr-1\"></i>{{ 'processManagement.deploy' | translate }}\n </button>\n <button *ngIf=\"!selectedVersion\" class=\"btn btn-danger btn-space\" (click)=\"reset()\">\n <i class=\"icon mdi mdi-delete mr-1\"></i>{{ 'processManagement.clear' | translate }}\n </button>\n </div>\n </div>\n <div\n *ngIf=\"selectedVersion\"\n class=\"col-md-1 fullscreen-toggle text-right\"\n [ngClass]=\"{'offset-md-2': !layoutService.isFullscreen}\"\n >\n <i\n class=\"fas\"\n [ngClass]=\"{\n 'fa-expand-arrows-alt': !layoutService.isFullscreen,\n 'fa-compress-arrows-alt': layoutService.isFullscreen\n }\"\n (click)=\"layoutService.toggleFullscreen()\"\n ></i>\n </div>\n </div>\n <div\n *ngIf=\"(isSystemProcess$ | async) && (isReadOnlyProcess$ | async)\"\n class=\"row bg-warning text-black mb-0 p-3 text-center\"\n [translate]=\"'processManagement.readOnlySystemProcessWarningMessage'\"\n ></div>\n <div\n *ngIf=\"(isSystemProcess$ | async) && (isReadOnlyProcess$ | async) === false\"\n class=\"row bg-warning text-black mb-0 p-3 text-center\"\n [translate]=\"'processManagement.systemProcessWarningMessage'\"\n ></div>\n <div [hidden]=\"!selectedVersion && processKey\" class=\"row bg-white diagram mb-3\">\n <div id=\"canvas\" class=\"col-9\" [hidden]=\"isReadOnlyProcess$ | async\"></div>\n <div id=\"properties\" class=\"col-3 pr-0\" [hidden]=\"isReadOnlyProcess$ | async\"></div>\n <div\n id=\"readOnlyCanvas\"\n class=\"col-12\"\n [hidden]=\"(isReadOnlyProcess$ | async) === false\"\n ></div>\n </div>\n </div>\n </div>\n</div>\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {RouterModule, Routes} from '@angular/router';\nimport {CommonModule} from '@angular/common';\nimport {AuthGuardService} from '@valtimo/security';\nimport {ProcessManagementComponent} from './process-management.component';\nimport {ProcessManagementBuilderComponent} from './process-management-builder/process-management-builder.component';\nimport {ROLE_ADMIN} from '@valtimo/config';\n\nconst routes: Routes = [\n {\n path: 'processes',\n component: ProcessManagementComponent,\n canActivate: [AuthGuardService],\n data: {title: 'Processes', roles: [ROLE_ADMIN]},\n },\n {\n path: 'processes/create',\n component: ProcessManagementBuilderComponent,\n canActivate: [AuthGuardService],\n data: {title: 'Create new Process', roles: [ROLE_ADMIN]},\n },\n {\n path: 'processes/process/:key',\n component: ProcessManagementBuilderComponent,\n canActivate: [AuthGuardService],\n data: {title: 'Process details', roles: [ROLE_ADMIN]},\n },\n];\n\n@NgModule({\n declarations: [],\n imports: [CommonModule, RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class ProcessManagementRoutingModule {}\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 {ProcessManagementComponent} from './process-management.component';\nimport {ProcessManagementRoutingModule} from './process-management-routing';\nimport {CommonModule} from '@angular/common';\nimport {ProcessManagementBuilderComponent} from './process-management-builder/process-management-builder.component';\nimport {ProcessManagementListComponent} from './process-management-list/process-management-list.component';\nimport {ListModule, WidgetModule} from '@valtimo/components';\nimport {FormsModule} from '@angular/forms';\nimport {ProcessManagementUploadComponent} from './process-management-upload/process-management-upload.component';\nimport {TranslateModule} from '@ngx-translate/core';\n\n@NgModule({\n declarations: [\n ProcessManagementComponent,\n ProcessManagementBuilderComponent,\n ProcessManagementListComponent,\n ProcessManagementUploadComponent,\n ],\n imports: [\n CommonModule,\n ProcessManagementRoutingModule,\n WidgetModule,\n ListModule,\n FormsModule,\n TranslateModule,\n ],\n exports: [ProcessManagementComponent],\n})\nexport class ProcessManagementModule {}\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 process-management\n */\n\nexport * from './lib/process-management.module';\nexport * from './lib/process-management.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.ProcessManagementService","i2","i1","i3","i1.ProcessManagementUploadComponent","i2.ProcessManagementListComponent","i4","i8"],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import { OnDestroy, OnInit } from '@angular/core';
2
2
  import { HttpClient } from '@angular/common/http';
3
- import { ProcessService, ProcessDefinition } from '@valtimo/process';
3
+ import { ProcessDefinition, ProcessService } from '@valtimo/process';
4
4
  import { AlertService } from '@valtimo/components';
5
5
  import { ActivatedRoute, Router } from '@angular/router';
6
- import { Observable } from 'rxjs';
6
+ import { BehaviorSubject, Observable } from 'rxjs';
7
7
  import { LayoutService } from '@valtimo/layout';
8
8
  import * as i0 from "@angular/core";
9
9
  export declare class ProcessManagementBuilderComponent implements OnInit, OnDestroy {
@@ -14,9 +14,12 @@ export declare class ProcessManagementBuilderComponent implements OnInit, OnDest
14
14
  private route;
15
15
  private router;
16
16
  bpmnModeler: any;
17
+ bpmnViewer: any;
17
18
  processDefinitionVersions: ProcessDefinition[] | null;
18
19
  selectedVersion: ProcessDefinition | null;
19
20
  processKey: string | null;
21
+ isReadOnlyProcess$: BehaviorSubject<boolean>;
22
+ isSystemProcess$: BehaviorSubject<boolean>;
20
23
  private elementTemplateFiles;
21
24
  constructor(http: HttpClient, processService: ProcessService, layoutService: LayoutService, alertService: AlertService, route: ActivatedRoute, router: Router);
22
25
  ngOnInit(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"process-management-builder.component.d.ts","sourceRoot":"","sources":["../../../../../projects/valtimo/process-management/src/lib/process-management-builder/process-management-builder.component.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAY,SAAS,EAAE,MAAM,EAAoB,MAAM,eAAe,CAAC;AAC9E,OAAO,EAAC,UAAU,EAAC,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAC,cAAc,EAAE,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAC,YAAY,EAAC,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAC,cAAc,EAAE,MAAM,EAAC,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAW,UAAU,EAAC,MAAM,MAAM,CAAC;AAC1C,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;;AAO9C,qBAMa,iCAAkC,YAAW,MAAM,EAAE,SAAS;IAQvE,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,cAAc;IACf,aAAa,EAAE,aAAa;IACnC,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,MAAM;IAZT,WAAW,MAAC;IACZ,yBAAyB,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAAQ;IAC7D,eAAe,EAAE,iBAAiB,GAAG,IAAI,CAAQ;IACjD,UAAU,EAAE,MAAM,GAAG,IAAI,CAAQ;IACxC,OAAO,CAAC,oBAAoB,CAA8B;gBAGhD,IAAI,EAAE,UAAU,EAChB,cAAc,EAAE,cAAc,EAC/B,aAAa,EAAE,aAAa,EAC3B,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,cAAc,EACrB,MAAM,EAAE,MAAM;IAGxB,QAAQ;IAIR,IAAI;IA4BJ,MAAM,IAAI,IAAI;IAcd,KAAK;IAKL,QAAQ;IAYR,aAAa;IAYb,mBAAmB,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE;IAaxC,OAAO,CAAC,gBAAgB;IAOxB,mBAAmB,CAAC,oBAAoB,EAAE,MAAM;IAShD,yBAAyB,CAAC,GAAG,EAAE,iBAAiB,EAAE,GAAG,EAAE,iBAAiB;IAUxE,eAAe;IAMf,WAAW;yCAxIA,iCAAiC;2CAAjC,iCAAiC;CA2I7C"}
1
+ {"version":3,"file":"process-management-builder.component.d.ts","sourceRoot":"","sources":["../../../../../projects/valtimo/process-management/src/lib/process-management-builder/process-management-builder.component.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAY,SAAS,EAAE,MAAM,EAAoB,MAAM,eAAe,CAAC;AAC9E,OAAO,EAAC,UAAU,EAAC,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAC,iBAAiB,EAAE,cAAc,EAAC,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAC,YAAY,EAAC,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAC,cAAc,EAAE,MAAM,EAAC,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAC,eAAe,EAAY,UAAU,EAAC,MAAM,MAAM,CAAC;AAC3D,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;;AAQ9C,qBAMa,iCAAkC,YAAW,MAAM,EAAE,SAAS;IAWvE,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,cAAc;IACf,aAAa,EAAE,aAAa;IACnC,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,MAAM;IAfT,WAAW,MAAC;IACZ,UAAU,MAAC;IACX,yBAAyB,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAAQ;IAC7D,eAAe,EAAE,iBAAiB,GAAG,IAAI,CAAQ;IACjD,UAAU,EAAE,MAAM,GAAG,IAAI,CAAQ;IACjC,kBAAkB,2BAAuC;IACzD,gBAAgB,2BAAuC;IAC9D,OAAO,CAAC,oBAAoB,CAA8B;gBAGhD,IAAI,EAAE,UAAU,EAChB,cAAc,EAAE,cAAc,EAC/B,aAAa,EAAE,aAAa,EAC3B,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,cAAc,EACrB,MAAM,EAAE,MAAM;IAGxB,QAAQ;IAIR,IAAI;IA8BJ,MAAM,IAAI,IAAI;IAcd,KAAK;IAML,QAAQ;IAYR,aAAa;IAab,mBAAmB,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE;IAaxC,OAAO,CAAC,gBAAgB;IAOxB,mBAAmB,CAAC,oBAAoB,EAAE,MAAM;IAShD,yBAAyB,CAAC,GAAG,EAAE,iBAAiB,EAAE,GAAG,EAAE,iBAAiB;IAUxE,eAAe;IASf,WAAW;yCAlJA,iCAAiC;2CAAjC,iCAAiC;CAsJ7C"}
@@ -1,5 +1,5 @@
1
1
  import { OnInit } from '@angular/core';
2
- import { ProcessService, ProcessDefinition } from '@valtimo/process';
2
+ import { ProcessDefinition, ProcessService } from '@valtimo/process';
3
3
  import { Router } from '@angular/router';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class ProcessManagementListComponent implements OnInit {
@@ -1 +1 @@
1
- {"version":3,"file":"process-management-list.component.d.ts","sourceRoot":"","sources":["../../../../../projects/valtimo/process-management/src/lib/process-management-list/process-management-list.component.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAY,MAAM,EAAC,MAAM,eAAe,CAAC;AAChD,OAAO,EAAC,cAAc,EAAE,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;;AAEvC,qBAKa,8BAA+B,YAAW,MAAM;IAO/C,OAAO,CAAC,cAAc;IAAkB,OAAO,CAAC,MAAM;IAN3D,kBAAkB,EAAE,iBAAiB,EAAE,CAAM;IAC7C,MAAM;;;QAGX;gBAEkB,cAAc,EAAE,cAAc,EAAU,MAAM,EAAE,MAAM;IAE1E,QAAQ;IAIR,sBAAsB;IAMtB,qBAAqB,CAAC,iBAAiB,EAAE,iBAAiB;yCAnB/C,8BAA8B;2CAA9B,8BAA8B;CAsB1C"}
1
+ {"version":3,"file":"process-management-list.component.d.ts","sourceRoot":"","sources":["../../../../../projects/valtimo/process-management/src/lib/process-management-list/process-management-list.component.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAY,MAAM,EAAC,MAAM,eAAe,CAAC;AAChD,OAAO,EAAC,iBAAiB,EAAE,cAAc,EAAC,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;;AAEvC,qBAKa,8BAA+B,YAAW,MAAM;IAQ/C,OAAO,CAAC,cAAc;IAAkB,OAAO,CAAC,MAAM;IAP3D,kBAAkB,EAAE,iBAAiB,EAAE,CAAM;IAC7C,MAAM;;;QAIX;gBAEkB,cAAc,EAAE,cAAc,EAAU,MAAM,EAAE,MAAM;IAE1E,QAAQ;IAIR,sBAAsB;IAMtB,qBAAqB,CAAC,iBAAiB,EAAE,iBAAiB;yCApB/C,8BAA8B;2CAA9B,8BAA8B;CAuB1C"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@valtimo/process-management",
3
3
  "license": "EUPL-1.2",
4
- "version": "5.9.1",
4
+ "version": "5.11.0",
5
5
  "peerDependencies": {
6
6
  "@angular/common": "^13.2.3",
7
7
  "@angular/core": "^13.2.3"