@valtimo/process-management 4.15.2-next-main.15 → 4.15.3-next-main.16

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.
Files changed (27) hide show
  1. package/README.md +16 -7
  2. package/bundles/valtimo-process-management.umd.js +747 -732
  3. package/bundles/valtimo-process-management.umd.js.map +1 -1
  4. package/bundles/valtimo-process-management.umd.min.js +1 -1
  5. package/bundles/valtimo-process-management.umd.min.js.map +1 -1
  6. package/esm2015/lib/process-management-builder/process-management-builder.component.js +168 -165
  7. package/esm2015/lib/process-management-list/process-management-list.component.js +52 -52
  8. package/esm2015/lib/process-management-routing.js +54 -57
  9. package/esm2015/lib/process-management-upload/process-management-upload.component.js +58 -59
  10. package/esm2015/lib/process-management.component.js +33 -35
  11. package/esm2015/lib/process-management.module.js +47 -47
  12. package/esm2015/lib/process-management.service.js +46 -46
  13. package/esm2015/public-api.js +21 -21
  14. package/esm2015/valtimo-process-management.js +10 -10
  15. package/fesm2015/valtimo-process-management.js +416 -419
  16. package/fesm2015/valtimo-process-management.js.map +1 -1
  17. package/lib/process-management-builder/process-management-builder.component.d.ts +34 -34
  18. package/lib/process-management-list/process-management-list.component.d.ts +17 -17
  19. package/lib/process-management-routing.d.ts +2 -2
  20. package/lib/process-management-upload/process-management-upload.component.d.ts +14 -14
  21. package/lib/process-management.component.d.ts +7 -7
  22. package/lib/process-management.module.d.ts +2 -2
  23. package/lib/process-management.service.d.ts +10 -10
  24. package/package.json +1 -1
  25. package/public-api.d.ts +2 -2
  26. package/valtimo-process-management.d.ts +9 -9
  27. package/valtimo-process-management.metadata.json +1 -1
@@ -17,441 +17,438 @@ import { FormsModule } from '@angular/forms';
17
17
  import { ConfigService } from '@valtimo/config';
18
18
  import { TranslateModule } from '@ngx-translate/core';
19
19
 
20
- /*
21
- * Copyright 2015-2020 Ritense BV, the Netherlands.
22
- *
23
- * Licensed under EUPL, Version 1.2 (the "License");
24
- * you may not use this file except in compliance with the License.
25
- * You may obtain a copy of the License at
26
- *
27
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
28
- *
29
- * Unless required by applicable law or agreed to in writing, software
30
- * distributed under the License is distributed on an "AS IS" basis,
31
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
32
- * See the License for the specific language governing permissions and
33
- * limitations under the License.
34
- */
35
- class ProcessManagementListComponent {
36
- constructor(processService, router) {
37
- this.processService = processService;
38
- this.router = router;
39
- this.processDefinitions = [];
40
- this.fields = [
41
- { key: 'key', label: 'Key' },
42
- { key: 'name', label: 'Name' },
43
- ];
44
- }
45
- ngOnInit() {
46
- this.loadProcessDefinitions();
47
- }
48
- loadProcessDefinitions() {
49
- this.processService.getProcessDefinitions().subscribe((processDefs) => {
50
- this.processDefinitions = processDefs;
51
- });
52
- }
53
- editProcessDefinition(processDefinition) {
54
- this.router.navigate(['/processes/process', processDefinition.key]);
55
- }
56
- }
57
- ProcessManagementListComponent.decorators = [
58
- { type: Component, args: [{
59
- selector: 'valtimo-process-management-list',
60
- 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 [items]=\"processDefinitions\" [fields]=\"fields\" (rowClicked)=\"editProcessDefinition($event)\"\n [header]=\"true\" [viewMode]=\"true\" [isSearchable]=\"true\">\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",
61
- 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 */"]
62
- },] }
63
- ];
64
- ProcessManagementListComponent.ctorParameters = () => [
65
- { type: ProcessService },
66
- { type: Router }
20
+ /*
21
+ * Copyright 2015-2020 Ritense BV, the Netherlands.
22
+ *
23
+ * Licensed under EUPL, Version 1.2 (the "License");
24
+ * you may not use this file except in compliance with the License.
25
+ * You may obtain a copy of the License at
26
+ *
27
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
28
+ *
29
+ * Unless required by applicable law or agreed to in writing, software
30
+ * distributed under the License is distributed on an "AS IS" basis,
31
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
32
+ * See the License for the specific language governing permissions and
33
+ * limitations under the License.
34
+ */
35
+ class ProcessManagementListComponent {
36
+ constructor(processService, router) {
37
+ this.processService = processService;
38
+ this.router = router;
39
+ this.processDefinitions = [];
40
+ this.fields = [
41
+ { key: 'key', label: 'Key' },
42
+ { key: 'name', label: 'Name' },
43
+ ];
44
+ }
45
+ ngOnInit() {
46
+ this.loadProcessDefinitions();
47
+ }
48
+ loadProcessDefinitions() {
49
+ this.processService.getProcessDefinitions().subscribe((processDefs) => {
50
+ this.processDefinitions = processDefs;
51
+ });
52
+ }
53
+ editProcessDefinition(processDefinition) {
54
+ this.router.navigate(['/processes/process', processDefinition.key]);
55
+ }
56
+ }
57
+ ProcessManagementListComponent.decorators = [
58
+ { type: Component, args: [{
59
+ selector: 'valtimo-process-management-list',
60
+ 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",
61
+ 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 */"]
62
+ },] }
63
+ ];
64
+ ProcessManagementListComponent.ctorParameters = () => [
65
+ { type: ProcessService },
66
+ { type: Router }
67
67
  ];
68
68
 
69
- /*
70
- * Copyright 2015-2020 Ritense BV, the Netherlands.
71
- *
72
- * Licensed under EUPL, Version 1.2 (the "License");
73
- * you may not use this file except in compliance with the License.
74
- * You may obtain a copy of the License at
75
- *
76
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
77
- *
78
- * Unless required by applicable law or agreed to in writing, software
79
- * distributed under the License is distributed on an "AS IS" basis,
80
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
81
- * See the License for the specific language governing permissions and
82
- * limitations under the License.
83
- */
84
- class ProcessManagementComponent {
85
- constructor() {
86
- }
87
- ngOnInit() {
88
- }
89
- }
90
- ProcessManagementComponent.decorators = [
91
- { type: Component, args: [{
92
- selector: 'valtimo-process-management',
93
- template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"main-content pt-0\">\n <div class=\"container-fluid\">\n <div class=\"text-right\">\n <div class=\"btn-group mt-m3px mb-3\">\n <button class=\"btn btn-primary btn-space\" [routerLink]=\"'create'\"><i class=\"icon mdi mdi-plus\"></i>&nbsp;\n {{ 'Create new Process' | translate }}\n </button>\n <button class=\"btn btn-secondary btn-space mr-0\" data-toggle=\"modal\" data-target=\"#uploadProcess\">\n <i class=\"icon mdi mdi-upload\"></i>&nbsp;\n {{ 'Upload process' | translate }}\n </button>\n </div>\n </div>\n <valtimo-process-management-upload\n (reload)=\"processManagementList.loadProcessDefinitions()\"></valtimo-process-management-upload>\n <valtimo-process-management-list #processManagementList></valtimo-process-management-list>\n </div>\n</div>\n\n",
94
- 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 */"]
95
- },] }
96
- ];
97
- ProcessManagementComponent.ctorParameters = () => [];
98
- ProcessManagementComponent.propDecorators = {
99
- processManagementList: [{ type: ViewChild, args: ['processManagementList',] }]
69
+ /*
70
+ * Copyright 2015-2020 Ritense BV, the Netherlands.
71
+ *
72
+ * Licensed under EUPL, Version 1.2 (the "License");
73
+ * you may not use this file except in compliance with the License.
74
+ * You may obtain a copy of the License at
75
+ *
76
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
77
+ *
78
+ * Unless required by applicable law or agreed to in writing, software
79
+ * distributed under the License is distributed on an "AS IS" basis,
80
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
81
+ * See the License for the specific language governing permissions and
82
+ * limitations under the License.
83
+ */
84
+ class ProcessManagementComponent {
85
+ constructor() { }
86
+ ngOnInit() { }
87
+ }
88
+ ProcessManagementComponent.decorators = [
89
+ { type: Component, args: [{
90
+ selector: 'valtimo-process-management',
91
+ template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"main-content pt-0\">\n <div class=\"container-fluid\">\n <div class=\"text-right\">\n <div class=\"btn-group mt-m3px mb-3\">\n <button class=\"btn btn-primary btn-space\" [routerLink]=\"'create'\">\n <i class=\"icon mdi mdi-plus\"></i>&nbsp;\n {{ 'Create new Process' | translate }}\n </button>\n <button\n class=\"btn btn-secondary btn-space mr-0\"\n data-toggle=\"modal\"\n data-target=\"#uploadProcess\"\n >\n <i class=\"icon mdi mdi-upload\"></i>&nbsp;\n {{ 'Upload 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",
92
+ 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 */"]
93
+ },] }
94
+ ];
95
+ ProcessManagementComponent.ctorParameters = () => [];
96
+ ProcessManagementComponent.propDecorators = {
97
+ processManagementList: [{ type: ViewChild, args: ['processManagementList',] }]
100
98
  };
101
99
 
102
- /*
103
- * Copyright 2015-2020 Ritense BV, the Netherlands.
104
- *
105
- * Licensed under EUPL, Version 1.2 (the "License");
106
- * you may not use this file except in compliance with the License.
107
- * You may obtain a copy of the License at
108
- *
109
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
110
- *
111
- * Unless required by applicable law or agreed to in writing, software
112
- * distributed under the License is distributed on an "AS IS" basis,
113
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
114
- * See the License for the specific language governing permissions and
115
- * limitations under the License.
116
- */
117
- class ProcessManagementBuilderComponent {
118
- constructor(http, processService, layoutService, alertService, route, router) {
119
- this.http = http;
120
- this.processService = processService;
121
- this.layoutService = layoutService;
122
- this.alertService = alertService;
123
- this.route = route;
124
- this.router = router;
125
- this.processDefinitionVersions = null;
126
- this.selectedVersion = null;
127
- this.processKey = null;
128
- this.elementTemplateFiles = [
129
- 'mailSendTask'
130
- ];
131
- }
132
- ngOnInit() {
133
- this.init();
134
- }
135
- init() {
136
- this.processKey = this.route.snapshot.paramMap.get('key');
137
- forkJoin(this.getElementTemplates()).subscribe((elementTemplates) => {
138
- this.bpmnModeler = new Modeler({
139
- container: '#canvas',
140
- height: '90vh',
141
- additionalModules: [
142
- PropertiesPanelModule,
143
- PropertiesProviderModule,
144
- CamundaExtensionModule
145
- ],
146
- propertiesPanel: {
147
- parent: '#properties'
148
- },
149
- moddleExtensions: {
150
- camunda: CamundaModdleDescriptor
151
- },
152
- elementTemplates: elementTemplates
153
- });
154
- if (this.processKey) {
155
- this.loadProcessVersions(this.processKey);
156
- this.selectedVersion = null;
157
- }
158
- else {
159
- this.loadEmptyBpmn();
160
- }
161
- });
162
- }
163
- deploy() {
164
- this.bpmnModeler.saveXML((err, xml) => {
165
- this.processService.deployProcess(xml).subscribe((asd) => {
166
- if (this.processKey) {
167
- this.loadProcessVersions(this.processKey);
168
- }
169
- else {
170
- this.router.navigate(['/processes']);
171
- }
172
- this.alertService.success('Deployment successful');
173
- this.selectedVersion = null;
174
- });
175
- });
176
- }
177
- reset() {
178
- this.bpmnModeler.destroy();
179
- this.init();
180
- }
181
- download() {
182
- this.bpmnModeler.saveXML((err, xml) => {
183
- const file = new Blob([xml], { type: 'text/xml' });
184
- const link = document.createElement('a');
185
- link.download = 'diagram.bpmn';
186
- link.href = window.URL.createObjectURL(file);
187
- link.click();
188
- window.URL.revokeObjectURL(link.href);
189
- link.remove();
190
- });
191
- }
192
- loadEmptyBpmn() {
193
- const url = '/assets/bpmn/initial.bpmn';
194
- this.http.get(url, {
195
- headers: { observe: 'response' }, responseType: 'text'
196
- }).subscribe((xml) => {
197
- this.bpmnModeler.importXML(xml);
198
- });
199
- }
200
- getElementTemplates() {
201
- const templateObs = [];
202
- for (const file of this.elementTemplateFiles) {
203
- templateObs.push(this.http.get(`/assets/bpmn/element-templates/${file}.json`, {
204
- headers: { observe: 'response' },
205
- responseType: 'json'
206
- }));
207
- }
208
- return templateObs;
209
- }
210
- setLatestVersion() {
211
- this.selectedVersion = this.processDefinitionVersions.reduce((acc, version) => version.version > acc.version ? version : acc);
212
- this.loadProcessBpmn();
213
- }
214
- loadProcessVersions(processDefinitionKey) {
215
- this.processService.getProcessDefinitionVersions(processDefinitionKey).subscribe((processDefinitionVersions) => {
216
- this.processDefinitionVersions = processDefinitionVersions;
217
- this.setLatestVersion();
218
- });
219
- }
220
- compareProcessDefinitions(pd1, pd2) {
221
- if (pd1 === null && pd2 === null) {
222
- return true;
223
- }
224
- if (pd1 === null || pd2 === null) {
225
- return false;
226
- }
227
- return pd1.id === pd2.id;
228
- }
229
- loadProcessBpmn() {
230
- this.processService.getProcessDefinitionXml(this.selectedVersion.id).subscribe(xml => {
231
- this.bpmnModeler.importXML(xml['bpmn20Xml']);
232
- });
233
- }
234
- ngOnDestroy() {
235
- this.bpmnModeler.destroy();
236
- }
237
- }
238
- ProcessManagementBuilderComponent.decorators = [
239
- { type: Component, args: [{
240
- selector: 'valtimo-process-management-builder',
241
- 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 class=\"btn-group mt-m3px mb-3\" *ngIf=\"(selectedVersion !== null || processKey === null) && !layoutService.isFullscreen\">\n <button class='btn btn-primary btn-space' (click)=\"deploy()\"><i class=\"fa fa-upload\"></i> &nbsp;Deploy</button>\n <button class='btn btn-secondary btn-space' (click)=\"download()\" [ngClass]=\"{'mr-0': selectedVersion !== null}\"><i\n class=\"fa fa-save\"></i> &nbsp;Download\n </button>\n <button *ngIf=\"selectedVersion === null\" class='btn btn-danger btn-space mr-0' (click)=\"reset()\"><i\n class=\"fa fa-trash\"></i> &nbsp;Clear\n </button>\n </div>\n </div>\n\n <div class=\"modeler pl-3 pr-3 mb-3\" [ngClass]=\"{'mt-4' : !layoutService.isFullscreen}\">\n <div class=\"row pt-4 pb-3 bg-light versions\" *ngIf=\"processDefinitionVersions\"\n [ngClass]=\"{'border-bottom-0': selectedVersion !== null}\">\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 id=\"processVersion\" class=\"form-control w-100\" [(ngModel)]=\"selectedVersion\"\n (change)=\"loadProcessBpmn()\" [compareWith]=\"compareProcessDefinitions\">\n <option [ngValue]=\"null\" disabled selected>Version</option>\n <option *ngFor=\"let processDefinition of processDefinitionVersions\"\n [ngValue]=\"processDefinition\">{{processDefinition.version}}</option>\n </select>\n </div>\n <div class=\"col-md-2 d-flex align-items-end\"\n *ngIf=\"(selectedVersion !== null || processKey === null) && layoutService.isFullscreen\">\n <div class=\"btn-group\">\n <button class='btn btn-primary btn-space' (click)=\"deploy()\"><i class=\"fa fa-upload\"></i> &nbsp;Deploy\n </button>\n <button class='btn btn-secondary btn-space' (click)=\"download()\"><i\n class=\"fa fa-save\"></i> &nbsp;Download\n </button>\n <button *ngIf=\"!selectedVersion\" class='btn btn-danger btn-space' (click)=\"reset()\"><i\n class=\"fa fa-trash\"></i> &nbsp;Clear\n </button>\n </div>\n </div>\n <div *ngIf=\"selectedVersion\" class=\"col-md-1 text-right fullscreen-toggle\"\n [ngClass]=\"{'offset-md-2' : !layoutService.isFullscreen}\">\n <i class=\"fas\"\n [ngClass]=\"{'fa-expand-arrows-alt' : !layoutService.isFullscreen, 'fa-compress-arrows-alt' : layoutService.isFullscreen}\"\n (click)=\"layoutService.toggleFullscreen()\"></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",
242
- encapsulation: ViewEncapsulation.None,
243
- 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 */.diagram,.versions{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}"]
244
- },] }
245
- ];
246
- ProcessManagementBuilderComponent.ctorParameters = () => [
247
- { type: HttpClient },
248
- { type: ProcessService },
249
- { type: LayoutService },
250
- { type: AlertService },
251
- { type: ActivatedRoute },
252
- { type: Router }
100
+ /*
101
+ * Copyright 2015-2020 Ritense BV, the Netherlands.
102
+ *
103
+ * Licensed under EUPL, Version 1.2 (the "License");
104
+ * you may not use this file except in compliance with the License.
105
+ * You may obtain a copy of the License at
106
+ *
107
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
108
+ *
109
+ * Unless required by applicable law or agreed to in writing, software
110
+ * distributed under the License is distributed on an "AS IS" basis,
111
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
112
+ * See the License for the specific language governing permissions and
113
+ * limitations under the License.
114
+ */
115
+ class ProcessManagementBuilderComponent {
116
+ constructor(http, processService, layoutService, alertService, route, router) {
117
+ this.http = http;
118
+ this.processService = processService;
119
+ this.layoutService = layoutService;
120
+ this.alertService = alertService;
121
+ this.route = route;
122
+ this.router = router;
123
+ this.processDefinitionVersions = null;
124
+ this.selectedVersion = null;
125
+ this.processKey = null;
126
+ this.elementTemplateFiles = ['mailSendTask'];
127
+ }
128
+ ngOnInit() {
129
+ this.init();
130
+ }
131
+ init() {
132
+ this.processKey = this.route.snapshot.paramMap.get('key');
133
+ forkJoin(this.getElementTemplates()).subscribe((elementTemplates) => {
134
+ this.bpmnModeler = new Modeler({
135
+ container: '#canvas',
136
+ height: '90vh',
137
+ additionalModules: [
138
+ PropertiesPanelModule,
139
+ PropertiesProviderModule,
140
+ CamundaExtensionModule,
141
+ ],
142
+ propertiesPanel: {
143
+ parent: '#properties',
144
+ },
145
+ moddleExtensions: {
146
+ camunda: CamundaModdleDescriptor,
147
+ },
148
+ elementTemplates: elementTemplates,
149
+ });
150
+ if (this.processKey) {
151
+ this.loadProcessVersions(this.processKey);
152
+ this.selectedVersion = null;
153
+ }
154
+ else {
155
+ this.loadEmptyBpmn();
156
+ }
157
+ });
158
+ }
159
+ deploy() {
160
+ this.bpmnModeler.saveXML((err, xml) => {
161
+ this.processService.deployProcess(xml).subscribe(asd => {
162
+ if (this.processKey) {
163
+ this.loadProcessVersions(this.processKey);
164
+ }
165
+ else {
166
+ this.router.navigate(['/processes']);
167
+ }
168
+ this.alertService.success('Deployment successful');
169
+ this.selectedVersion = null;
170
+ });
171
+ });
172
+ }
173
+ reset() {
174
+ this.bpmnModeler.destroy();
175
+ this.init();
176
+ }
177
+ download() {
178
+ this.bpmnModeler.saveXML((err, xml) => {
179
+ const file = new Blob([xml], { type: 'text/xml' });
180
+ const link = document.createElement('a');
181
+ link.download = 'diagram.bpmn';
182
+ link.href = window.URL.createObjectURL(file);
183
+ link.click();
184
+ window.URL.revokeObjectURL(link.href);
185
+ link.remove();
186
+ });
187
+ }
188
+ loadEmptyBpmn() {
189
+ const url = '/assets/bpmn/initial.bpmn';
190
+ this.http
191
+ .get(url, {
192
+ headers: { observe: 'response' },
193
+ responseType: 'text',
194
+ })
195
+ .subscribe((xml) => {
196
+ this.bpmnModeler.importXML(xml);
197
+ });
198
+ }
199
+ getElementTemplates() {
200
+ const templateObs = [];
201
+ for (const file of this.elementTemplateFiles) {
202
+ templateObs.push(this.http.get(`/assets/bpmn/element-templates/${file}.json`, {
203
+ headers: { observe: 'response' },
204
+ responseType: 'json',
205
+ }));
206
+ }
207
+ return templateObs;
208
+ }
209
+ setLatestVersion() {
210
+ this.selectedVersion = this.processDefinitionVersions.reduce((acc, version) => version.version > acc.version ? version : acc);
211
+ this.loadProcessBpmn();
212
+ }
213
+ loadProcessVersions(processDefinitionKey) {
214
+ this.processService
215
+ .getProcessDefinitionVersions(processDefinitionKey)
216
+ .subscribe((processDefinitionVersions) => {
217
+ this.processDefinitionVersions = processDefinitionVersions;
218
+ this.setLatestVersion();
219
+ });
220
+ }
221
+ compareProcessDefinitions(pd1, pd2) {
222
+ if (pd1 === null && pd2 === null) {
223
+ return true;
224
+ }
225
+ if (pd1 === null || pd2 === null) {
226
+ return false;
227
+ }
228
+ return pd1.id === pd2.id;
229
+ }
230
+ loadProcessBpmn() {
231
+ this.processService.getProcessDefinitionXml(this.selectedVersion.id).subscribe(xml => {
232
+ this.bpmnModeler.importXML(xml['bpmn20Xml']);
233
+ });
234
+ }
235
+ ngOnDestroy() {
236
+ this.bpmnModeler.destroy();
237
+ }
238
+ }
239
+ ProcessManagementBuilderComponent.decorators = [
240
+ { type: Component, args: [{
241
+ selector: 'valtimo-process-management-builder',
242
+ 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)=\"deploy()\">\n <i class=\"fa fa-upload\"></i> &nbsp;Deploy\n </button>\n <button\n class=\"btn btn-secondary btn-space\"\n (click)=\"download()\"\n [ngClass]=\"{'mr-0': selectedVersion !== null}\"\n >\n <i class=\"fa fa-save\"></i> &nbsp;Download\n </button>\n <button\n *ngIf=\"selectedVersion === null\"\n class=\"btn btn-danger btn-space mr-0\"\n (click)=\"reset()\"\n >\n <i class=\"fa fa-trash\"></i> &nbsp;Clear\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=\"fa fa-upload\"></i> &nbsp;Deploy\n </button>\n <button class=\"btn btn-secondary btn-space\" (click)=\"download()\">\n <i class=\"fa fa-save\"></i> &nbsp;Download\n </button>\n <button *ngIf=\"!selectedVersion\" class=\"btn btn-danger btn-space\" (click)=\"reset()\">\n <i class=\"fa fa-trash\"></i> &nbsp;Clear\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",
243
+ encapsulation: ViewEncapsulation.None,
244
+ 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 */.diagram,.versions{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}"]
245
+ },] }
246
+ ];
247
+ ProcessManagementBuilderComponent.ctorParameters = () => [
248
+ { type: HttpClient },
249
+ { type: ProcessService },
250
+ { type: LayoutService },
251
+ { type: AlertService },
252
+ { type: ActivatedRoute },
253
+ { type: Router }
253
254
  ];
254
255
 
255
- /*
256
- * Copyright 2015-2020 Ritense BV, the Netherlands.
257
- *
258
- * Licensed under EUPL, Version 1.2 (the "License");
259
- * you may not use this file except in compliance with the License.
260
- * You may obtain a copy of the License at
261
- *
262
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
263
- *
264
- * Unless required by applicable law or agreed to in writing, software
265
- * distributed under the License is distributed on an "AS IS" basis,
266
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
267
- * See the License for the specific language governing permissions and
268
- * limitations under the License.
269
- */
270
- const ɵ0 = { title: 'Processes', roles: [ROLE_ADMIN] }, ɵ1 = { title: 'Create new Process', roles: [ROLE_ADMIN] }, ɵ2 = { title: 'Process details', roles: [ROLE_ADMIN] };
271
- const routes = [
272
- {
273
- path: 'processes',
274
- component: ProcessManagementComponent,
275
- canActivate: [AuthGuardService],
276
- data: ɵ0
277
- },
278
- {
279
- path: 'processes/create',
280
- component: ProcessManagementBuilderComponent,
281
- canActivate: [AuthGuardService],
282
- data: ɵ1
283
- },
284
- {
285
- path: 'processes/process/:key',
286
- component: ProcessManagementBuilderComponent,
287
- canActivate: [AuthGuardService],
288
- data: ɵ2
289
- },
290
- ];
291
- class ProcessManagementRoutingModule {
292
- }
293
- ProcessManagementRoutingModule.decorators = [
294
- { type: NgModule, args: [{
295
- declarations: [],
296
- imports: [
297
- CommonModule,
298
- RouterModule.forChild(routes),
299
- ],
300
- exports: [RouterModule]
301
- },] }
256
+ /*
257
+ * Copyright 2015-2020 Ritense BV, the Netherlands.
258
+ *
259
+ * Licensed under EUPL, Version 1.2 (the "License");
260
+ * you may not use this file except in compliance with the License.
261
+ * You may obtain a copy of the License at
262
+ *
263
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
264
+ *
265
+ * Unless required by applicable law or agreed to in writing, software
266
+ * distributed under the License is distributed on an "AS IS" basis,
267
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
268
+ * See the License for the specific language governing permissions and
269
+ * limitations under the License.
270
+ */
271
+ const ɵ0 = { title: 'Processes', roles: [ROLE_ADMIN] }, ɵ1 = { title: 'Create new Process', roles: [ROLE_ADMIN] }, ɵ2 = { title: 'Process details', roles: [ROLE_ADMIN] };
272
+ const routes = [
273
+ {
274
+ path: 'processes',
275
+ component: ProcessManagementComponent,
276
+ canActivate: [AuthGuardService],
277
+ data: ɵ0,
278
+ },
279
+ {
280
+ path: 'processes/create',
281
+ component: ProcessManagementBuilderComponent,
282
+ canActivate: [AuthGuardService],
283
+ data: ɵ1,
284
+ },
285
+ {
286
+ path: 'processes/process/:key',
287
+ component: ProcessManagementBuilderComponent,
288
+ canActivate: [AuthGuardService],
289
+ data: ɵ2,
290
+ },
291
+ ];
292
+ class ProcessManagementRoutingModule {
293
+ }
294
+ ProcessManagementRoutingModule.decorators = [
295
+ { type: NgModule, args: [{
296
+ declarations: [],
297
+ imports: [CommonModule, RouterModule.forChild(routes)],
298
+ exports: [RouterModule],
299
+ },] }
302
300
  ];
303
301
 
304
- /*
305
- * Copyright 2015-2020 Ritense BV, the Netherlands.
306
- *
307
- * Licensed under EUPL, Version 1.2 (the "License");
308
- * you may not use this file except in compliance with the License.
309
- * You may obtain a copy of the License at
310
- *
311
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
312
- *
313
- * Unless required by applicable law or agreed to in writing, software
314
- * distributed under the License is distributed on an "AS IS" basis,
315
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
316
- * See the License for the specific language governing permissions and
317
- * limitations under the License.
318
- */
319
- class ProcessManagementService {
320
- constructor(configService, http) {
321
- this.configService = configService;
322
- this.http = http;
323
- this.valtimoApiConfig = configService.config.valtimoApi;
324
- }
325
- deployBpmn(bpmn) {
326
- const formData = new FormData();
327
- formData.append('file', bpmn);
328
- formData.append('deployment-name', 'valtimoConsoleApp');
329
- formData.append('deployment-source', 'process application');
330
- return this.http.post(`${this.valtimoApiConfig.endpointUri}camunda-rest/engine/default/deployment/create`, formData);
331
- }
332
- }
333
- ProcessManagementService.ɵprov = ɵɵdefineInjectable({ factory: function ProcessManagementService_Factory() { return new ProcessManagementService(ɵɵinject(ConfigService), ɵɵinject(HttpClient)); }, token: ProcessManagementService, providedIn: "root" });
334
- ProcessManagementService.decorators = [
335
- { type: Injectable, args: [{
336
- providedIn: 'root'
337
- },] }
338
- ];
339
- ProcessManagementService.ctorParameters = () => [
340
- { type: ConfigService },
341
- { type: HttpClient }
302
+ /*
303
+ * Copyright 2015-2020 Ritense BV, the Netherlands.
304
+ *
305
+ * Licensed under EUPL, Version 1.2 (the "License");
306
+ * you may not use this file except in compliance with the License.
307
+ * You may obtain a copy of the License at
308
+ *
309
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
310
+ *
311
+ * Unless required by applicable law or agreed to in writing, software
312
+ * distributed under the License is distributed on an "AS IS" basis,
313
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
314
+ * See the License for the specific language governing permissions and
315
+ * limitations under the License.
316
+ */
317
+ class ProcessManagementService {
318
+ constructor(configService, http) {
319
+ this.configService = configService;
320
+ this.http = http;
321
+ this.valtimoApiConfig = configService.config.valtimoApi;
322
+ }
323
+ deployBpmn(bpmn) {
324
+ const formData = new FormData();
325
+ formData.append('file', bpmn);
326
+ formData.append('deployment-name', 'valtimoConsoleApp');
327
+ formData.append('deployment-source', 'process application');
328
+ return this.http.post(`${this.valtimoApiConfig.endpointUri}camunda-rest/engine/default/deployment/create`, formData);
329
+ }
330
+ }
331
+ ProcessManagementService.ɵprov = ɵɵdefineInjectable({ factory: function ProcessManagementService_Factory() { return new ProcessManagementService(ɵɵinject(ConfigService), ɵɵinject(HttpClient)); }, token: ProcessManagementService, providedIn: "root" });
332
+ ProcessManagementService.decorators = [
333
+ { type: Injectable, args: [{
334
+ providedIn: 'root',
335
+ },] }
336
+ ];
337
+ ProcessManagementService.ctorParameters = () => [
338
+ { type: ConfigService },
339
+ { type: HttpClient }
342
340
  ];
343
341
 
344
- /*
345
- * Copyright 2015-2020 Ritense BV, the Netherlands.
346
- *
347
- * Licensed under EUPL, Version 1.2 (the "License");
348
- * you may not use this file except in compliance with the License.
349
- * You may obtain a copy of the License at
350
- *
351
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
352
- *
353
- * Unless required by applicable law or agreed to in writing, software
354
- * distributed under the License is distributed on an "AS IS" basis,
355
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
356
- * See the License for the specific language governing permissions and
357
- * limitations under the License.
358
- */
359
- class ProcessManagementUploadComponent {
360
- constructor(processManagementService, alertService) {
361
- this.processManagementService = processManagementService;
362
- this.alertService = alertService;
363
- this.bpmn = null;
364
- this.reload = new EventEmitter();
365
- }
366
- ngOnInit() {
367
- }
368
- onChange(files) {
369
- this.bpmn = files.item(0);
370
- }
371
- uploadProcessBpmn() {
372
- this.processManagementService.deployBpmn(this.bpmn).subscribe(() => {
373
- this.bpmn = null;
374
- this.bpmnFile.nativeElement.value = '';
375
- this.alertService.success('Deployment successful');
376
- this.reload.emit();
377
- }, error => {
378
- this.bpmn = null;
379
- this.bpmnFile.nativeElement.value = '';
380
- this.alertService.error(`Deployment failed. ${error}`);
381
- });
382
- }
383
- }
384
- ProcessManagementUploadComponent.decorators = [
385
- { type: Component, args: [{
386
- selector: 'valtimo-process-management-upload',
387
- 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=\"modal fade\" id=\"uploadProcess\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"uploadProcessLabel\"\n aria-hidden=\"true\">\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 #bpmnFile type=\"file\"\n id=\"file\"\n accept=\".bpmn\"\n (change)=\"onChange($event.target.files)\">\n </div>\n <div class=\"modal-footer\">\n <div class=\"btn-group\">\n <button type=\"button\" class=\"btn btn-primary btn-space\" (click)=\"uploadProcessBpmn()\" [disabled]=\"!bpmn\"\n data-dismiss=\"modal\">Upload\n </button>\n </div>\n </div>\n </div>\n </div>\n</div>\n",
388
- 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 */"]
389
- },] }
390
- ];
391
- ProcessManagementUploadComponent.ctorParameters = () => [
392
- { type: ProcessManagementService },
393
- { type: AlertService }
394
- ];
395
- ProcessManagementUploadComponent.propDecorators = {
396
- reload: [{ type: Output }],
397
- bpmnFile: [{ type: ViewChild, args: ['bpmnFile',] }]
342
+ /*
343
+ * Copyright 2015-2020 Ritense BV, the Netherlands.
344
+ *
345
+ * Licensed under EUPL, Version 1.2 (the "License");
346
+ * you may not use this file except in compliance with the License.
347
+ * You may obtain a copy of the License at
348
+ *
349
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
350
+ *
351
+ * Unless required by applicable law or agreed to in writing, software
352
+ * distributed under the License is distributed on an "AS IS" basis,
353
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
354
+ * See the License for the specific language governing permissions and
355
+ * limitations under the License.
356
+ */
357
+ class ProcessManagementUploadComponent {
358
+ constructor(processManagementService, alertService) {
359
+ this.processManagementService = processManagementService;
360
+ this.alertService = alertService;
361
+ this.bpmn = null;
362
+ this.reload = new EventEmitter();
363
+ }
364
+ ngOnInit() { }
365
+ onChange(files) {
366
+ this.bpmn = files.item(0);
367
+ }
368
+ uploadProcessBpmn() {
369
+ this.processManagementService.deployBpmn(this.bpmn).subscribe(() => {
370
+ this.bpmn = null;
371
+ this.bpmnFile.nativeElement.value = '';
372
+ this.alertService.success('Deployment successful');
373
+ this.reload.emit();
374
+ }, error => {
375
+ this.bpmn = null;
376
+ this.bpmnFile.nativeElement.value = '';
377
+ this.alertService.error(`Deployment failed. ${error}`);
378
+ });
379
+ }
380
+ }
381
+ ProcessManagementUploadComponent.decorators = [
382
+ { type: Component, args: [{
383
+ selector: 'valtimo-process-management-upload',
384
+ 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\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",
385
+ 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 */"]
386
+ },] }
387
+ ];
388
+ ProcessManagementUploadComponent.ctorParameters = () => [
389
+ { type: ProcessManagementService },
390
+ { type: AlertService }
391
+ ];
392
+ ProcessManagementUploadComponent.propDecorators = {
393
+ reload: [{ type: Output }],
394
+ bpmnFile: [{ type: ViewChild, args: ['bpmnFile',] }]
398
395
  };
399
396
 
400
- /*
401
- * Copyright 2015-2020 Ritense BV, the Netherlands.
402
- *
403
- * Licensed under EUPL, Version 1.2 (the "License");
404
- * you may not use this file except in compliance with the License.
405
- * You may obtain a copy of the License at
406
- *
407
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
408
- *
409
- * Unless required by applicable law or agreed to in writing, software
410
- * distributed under the License is distributed on an "AS IS" basis,
411
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
412
- * See the License for the specific language governing permissions and
413
- * limitations under the License.
414
- */
415
- class ProcessManagementModule {
416
- }
417
- ProcessManagementModule.decorators = [
418
- { type: NgModule, args: [{
419
- declarations: [
420
- ProcessManagementComponent,
421
- ProcessManagementBuilderComponent,
422
- ProcessManagementListComponent,
423
- ProcessManagementUploadComponent
424
- ],
425
- imports: [
426
- CommonModule,
427
- ProcessManagementRoutingModule,
428
- WidgetModule,
429
- ListModule,
430
- FormsModule,
431
- TranslateModule
432
- ],
433
- exports: [ProcessManagementComponent]
434
- },] }
397
+ /*
398
+ * Copyright 2015-2020 Ritense BV, the Netherlands.
399
+ *
400
+ * Licensed under EUPL, Version 1.2 (the "License");
401
+ * you may not use this file except in compliance with the License.
402
+ * You may obtain a copy of the License at
403
+ *
404
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
405
+ *
406
+ * Unless required by applicable law or agreed to in writing, software
407
+ * distributed under the License is distributed on an "AS IS" basis,
408
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
409
+ * See the License for the specific language governing permissions and
410
+ * limitations under the License.
411
+ */
412
+ class ProcessManagementModule {
413
+ }
414
+ ProcessManagementModule.decorators = [
415
+ { type: NgModule, args: [{
416
+ declarations: [
417
+ ProcessManagementComponent,
418
+ ProcessManagementBuilderComponent,
419
+ ProcessManagementListComponent,
420
+ ProcessManagementUploadComponent,
421
+ ],
422
+ imports: [
423
+ CommonModule,
424
+ ProcessManagementRoutingModule,
425
+ WidgetModule,
426
+ ListModule,
427
+ FormsModule,
428
+ TranslateModule,
429
+ ],
430
+ exports: [ProcessManagementComponent],
431
+ },] }
435
432
  ];
436
433
 
437
- /*
438
- * Copyright 2015-2020 Ritense BV, the Netherlands.
439
- *
440
- * Licensed under EUPL, Version 1.2 (the "License");
441
- * you may not use this file except in compliance with the License.
442
- * You may obtain a copy of the License at
443
- *
444
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
445
- *
446
- * Unless required by applicable law or agreed to in writing, software
447
- * distributed under the License is distributed on an "AS IS" basis,
448
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
449
- * See the License for the specific language governing permissions and
450
- * limitations under the License.
434
+ /*
435
+ * Copyright 2015-2020 Ritense BV, the Netherlands.
436
+ *
437
+ * Licensed under EUPL, Version 1.2 (the "License");
438
+ * you may not use this file except in compliance with the License.
439
+ * You may obtain a copy of the License at
440
+ *
441
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
442
+ *
443
+ * Unless required by applicable law or agreed to in writing, software
444
+ * distributed under the License is distributed on an "AS IS" basis,
445
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
446
+ * See the License for the specific language governing permissions and
447
+ * limitations under the License.
451
448
  */
452
449
 
453
- /**
454
- * Generated bundle index. Do not edit.
450
+ /**
451
+ * Generated bundle index. Do not edit.
455
452
  */
456
453
 
457
454
  export { ProcessManagementComponent, ProcessManagementModule, ProcessManagementBuilderComponent as ɵa, ProcessManagementListComponent as ɵb, ProcessManagementUploadComponent as ɵc, ProcessManagementService as ɵd, ProcessManagementRoutingModule as ɵe };