@valtimo/migration 12.41.0 → 12.43.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.
- package/esm2022/lib/migration.component.mjs +92 -6
- package/esm2022/lib/migration.module.mjs +7 -3
- package/fesm2022/valtimo-migration.mjs +97 -7
- package/fesm2022/valtimo-migration.mjs.map +1 -1
- package/lib/migration.component.d.ts +18 -1
- package/lib/migration.component.d.ts.map +1 -1
- package/lib/migration.module.d.ts +2 -1
- package/lib/migration.module.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -19,9 +19,10 @@ import * as i1 from "@valtimo/process";
|
|
|
19
19
|
import * as i2 from "ngx-logger";
|
|
20
20
|
import * as i3 from "@valtimo/components";
|
|
21
21
|
import * as i4 from "@angular/common";
|
|
22
|
-
import * as i5 from "
|
|
23
|
-
import * as i6 from "
|
|
24
|
-
import * as i7 from "
|
|
22
|
+
import * as i5 from "carbon-components-angular";
|
|
23
|
+
import * as i6 from "carbon-components-angular/dropdown";
|
|
24
|
+
import * as i7 from "./migration-process-diagram/migration-process-diagram.component";
|
|
25
|
+
import * as i8 from "@ngx-translate/core";
|
|
25
26
|
export class MigrationComponent {
|
|
26
27
|
constructor(processService, logger, alertService) {
|
|
27
28
|
this.processService = processService;
|
|
@@ -54,6 +55,11 @@ export class MigrationComponent {
|
|
|
54
55
|
this.uniqueFlowNodeMap = [];
|
|
55
56
|
this.taskMapping = {};
|
|
56
57
|
this.diagram = null;
|
|
58
|
+
this.sourceDefinitionItems = [];
|
|
59
|
+
this.targetDefinitionItems = [];
|
|
60
|
+
this.sourceVersionItems = [];
|
|
61
|
+
this.targetVersionItems = [];
|
|
62
|
+
this.targetFlowNodeItemsMap = new Map();
|
|
57
63
|
}
|
|
58
64
|
ngOnInit() {
|
|
59
65
|
this.loadProcessDefinitions();
|
|
@@ -67,28 +73,85 @@ export class MigrationComponent {
|
|
|
67
73
|
get taskMappingLength() {
|
|
68
74
|
return Object.keys(this.taskMapping).length;
|
|
69
75
|
}
|
|
76
|
+
refreshDefinitionItems() {
|
|
77
|
+
this.sourceDefinitionItems = this.processDefinitions.map(processDef => ({
|
|
78
|
+
key: processDef.key,
|
|
79
|
+
content: processDef.name,
|
|
80
|
+
selected: this.fields.source.definition === processDef.key,
|
|
81
|
+
}));
|
|
82
|
+
this.targetDefinitionItems = this.processDefinitions.map(processDef => ({
|
|
83
|
+
key: processDef.key,
|
|
84
|
+
content: processDef.name,
|
|
85
|
+
selected: this.fields.target.definition === processDef.key,
|
|
86
|
+
}));
|
|
87
|
+
}
|
|
88
|
+
refreshVersionItems(type) {
|
|
89
|
+
const items = this.selectedVersions[type].map(processVer => ({
|
|
90
|
+
id: processVer.id,
|
|
91
|
+
content: `${processVer.version}`,
|
|
92
|
+
selected: this.fields[type].version === processVer.id,
|
|
93
|
+
}));
|
|
94
|
+
if (type === 'source') {
|
|
95
|
+
this.sourceVersionItems = items;
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
this.targetVersionItems = items;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
70
101
|
loadProcessDefinitions() {
|
|
71
102
|
this.processService
|
|
72
103
|
.getProcessDefinitions()
|
|
73
104
|
.subscribe((processDefinitions) => {
|
|
74
105
|
this.processDefinitions = processDefinitions;
|
|
106
|
+
this.refreshDefinitionItems();
|
|
75
107
|
});
|
|
76
108
|
}
|
|
109
|
+
onDefinitionSelected(selection, type) {
|
|
110
|
+
const item = Array.isArray(selection) ? selection[0] : selection;
|
|
111
|
+
const key = item?.key ?? null;
|
|
112
|
+
this.loadProcessDefinitionVersions(key, type);
|
|
113
|
+
if (type === 'source') {
|
|
114
|
+
this.loadProcessDefinitionVersions(key, 'target');
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
onVersionSelected(selection, type) {
|
|
118
|
+
const item = Array.isArray(selection) ? selection[0] : selection;
|
|
119
|
+
this.loadProcess(item?.id ?? null, type);
|
|
120
|
+
}
|
|
121
|
+
onSourceDefinitionClear(event) {
|
|
122
|
+
this.sourceVersionCombobox.clearInput(event);
|
|
123
|
+
this.targetDefinitionComboBox.clearInput(event);
|
|
124
|
+
this.targetVersionCombobox.clearInput(event);
|
|
125
|
+
}
|
|
126
|
+
onTargetDefinitionClear(event) {
|
|
127
|
+
this.targetVersionCombobox.clearInput(event);
|
|
128
|
+
}
|
|
129
|
+
onTaskMappingSelected(selection, nodeId) {
|
|
130
|
+
const item = Array.isArray(selection) ? selection[0] : selection;
|
|
131
|
+
this.taskMapping[nodeId] = item?.id ?? null;
|
|
132
|
+
}
|
|
77
133
|
loadProcessDefinitionVersions(key, type) {
|
|
78
134
|
this.fields[type].definition = key;
|
|
79
135
|
this.selectedVersions[type] = [];
|
|
80
136
|
this.clearProcess(type);
|
|
137
|
+
this.refreshDefinitionItems();
|
|
138
|
+
this.refreshVersionItems(type);
|
|
81
139
|
if (key) {
|
|
82
140
|
this.processService
|
|
83
141
|
.getProcessDefinitionVersions(key)
|
|
84
142
|
.subscribe((processDefinitionVersions) => {
|
|
143
|
+
if (this.fields[type].definition !== key) {
|
|
144
|
+
return;
|
|
145
|
+
}
|
|
85
146
|
this.selectedVersions[type] = processDefinitionVersions;
|
|
147
|
+
this.refreshVersionItems(type);
|
|
86
148
|
});
|
|
87
149
|
}
|
|
88
150
|
}
|
|
89
151
|
loadProcess(id, type) {
|
|
90
152
|
this.fields[type].version = id;
|
|
91
153
|
this.clearProcess(type);
|
|
154
|
+
this.refreshVersionItems(type);
|
|
92
155
|
if (id) {
|
|
93
156
|
this.loadProcessDefinitionXML(id, type);
|
|
94
157
|
if (type === 'source') {
|
|
@@ -130,10 +193,21 @@ export class MigrationComponent {
|
|
|
130
193
|
return flowNode.$type === flowNodeType;
|
|
131
194
|
});
|
|
132
195
|
}
|
|
196
|
+
getFilteredTargetFlowNodeMapItems(node) {
|
|
197
|
+
if (!this.targetFlowNodeItemsMap.has(node.id)) {
|
|
198
|
+
this.targetFlowNodeItemsMap.set(node.id, this.getFilteredTargetFlowNodeMap(node.$type).map(targetFlowNode => ({
|
|
199
|
+
id: targetFlowNode.id,
|
|
200
|
+
content: targetFlowNode.name || targetFlowNode.id,
|
|
201
|
+
selected: this.taskMapping[node.id] === targetFlowNode.id,
|
|
202
|
+
})));
|
|
203
|
+
}
|
|
204
|
+
return this.targetFlowNodeItemsMap.get(node.id);
|
|
205
|
+
}
|
|
133
206
|
diagramLoaded(diagramName) {
|
|
134
207
|
this.loaded[diagramName] = true;
|
|
135
208
|
if (this.loaded.source && this.loaded.target) {
|
|
136
209
|
this.taskMapping = {};
|
|
210
|
+
this.targetFlowNodeItemsMap.clear();
|
|
137
211
|
this.setUniqueFlowNodeMap();
|
|
138
212
|
}
|
|
139
213
|
}
|
|
@@ -154,22 +228,34 @@ export class MigrationComponent {
|
|
|
154
228
|
version: null,
|
|
155
229
|
},
|
|
156
230
|
};
|
|
231
|
+
this.refreshDefinitionItems();
|
|
232
|
+
this.refreshVersionItems('source');
|
|
233
|
+
this.refreshVersionItems('target');
|
|
157
234
|
}, err => {
|
|
158
235
|
this.alertService.error('Process migration failed!');
|
|
159
236
|
this.logger.debug(err);
|
|
160
237
|
});
|
|
161
238
|
}
|
|
162
239
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MigrationComponent, deps: [{ token: i1.ProcessService }, { token: i2.NGXLogger }, { token: i3.AlertService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
163
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: MigrationComponent, selector: "valtimo-migration", viewQueries: [{ propertyName: "sourceDiagram", first: true, predicate: ["sourceDiagram"], descendants: true }, { propertyName: "targetDiagram", first: true, predicate: ["targetDiagram"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"main-content\">\n <div class=\"container-fluid\">\n <div class=\"row mb-5\">\n <div class=\"col-12\">\n <div class=\"alert alert-warning pl-2 plr-2\" role=\"alert\">\n <div class=\"icon\"><span class=\"mdi mdi-alert-triangle\"></span></div>\n <div class=\"message\" [innerHTML]=\"'Process migration warning' | translate\"></div>\n </div>\n </div>\n </div>\n <div class=\"row mb-5\">\n <div class=\"col-4\">\n <
|
|
240
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: MigrationComponent, selector: "valtimo-migration", viewQueries: [{ propertyName: "sourceDiagram", first: true, predicate: ["sourceDiagram"], descendants: true }, { propertyName: "targetDiagram", first: true, predicate: ["targetDiagram"], descendants: true }, { propertyName: "sourceVersionCombobox", first: true, predicate: ["sourceVersionCombobox"], descendants: true }, { propertyName: "targetDefinitionComboBox", first: true, predicate: ["targetDefinitionComboBox"], descendants: true }, { propertyName: "targetVersionCombobox", first: true, predicate: ["targetVersionCombobox"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"main-content\">\n <div class=\"container-fluid\">\n <div class=\"row mb-5\">\n <div class=\"col-12\">\n <div class=\"alert alert-warning pl-2 plr-2\" role=\"alert\">\n <div class=\"icon\"><span class=\"mdi mdi-alert-triangle\"></span></div>\n <div class=\"message\" [innerHTML]=\"'Process migration warning' | translate\"></div>\n </div>\n </div>\n </div>\n <div class=\"row mb-5\">\n <div class=\"col-4\">\n <cds-combo-box\n [dropUp]=\"false\"\n [appendInline]=\"true\"\n [label]=\"'Source Definition' | translate\"\n [placeholder]=\"'- ' + ('Source Definition' | translate) + ' -'\"\n [items]=\"sourceDefinitionItems\"\n (selected)=\"onDefinitionSelected($event, 'source')\"\n (clear)=\"onSourceDefinitionClear($event)\"\n >\n <cds-dropdown-list></cds-dropdown-list>\n </cds-combo-box>\n </div>\n <div class=\"col-2\">\n <cds-combo-box\n #sourceVersionCombobox\n [dropUp]=\"false\"\n [appendInline]=\"true\"\n [label]=\"'Source Definition' | translate\"\n [placeholder]=\"'- ' + ('Source Version' | translate) + ' -'\"\n [items]=\"sourceVersionItems\"\n (selected)=\"onVersionSelected($event, 'source')\"\n >\n <cds-dropdown-list></cds-dropdown-list>\n </cds-combo-box>\n </div>\n <div class=\"col-4\">\n <cds-combo-box\n #targetDefinitionComboBox\n [dropUp]=\"false\"\n [appendInline]=\"true\"\n [label]=\"'Target Definition' | translate\"\n [placeholder]=\"'- ' + ('Target Definition' | translate) + ' -'\"\n [items]=\"targetDefinitionItems\"\n (selected)=\"onDefinitionSelected($event, 'target')\"\n (clear)=\"onTargetDefinitionClear($event)\"\n >\n <cds-dropdown-list></cds-dropdown-list>\n </cds-combo-box>\n </div>\n <div class=\"col-2\">\n <cds-combo-box\n #targetVersionCombobox\n [dropUp]=\"false\"\n [appendInline]=\"true\"\n [label]=\"'Target Version' | translate\"\n [placeholder]=\"'- ' + ('Target Version' | translate) + ' -'\"\n [items]=\"targetVersionItems\"\n (selected)=\"onVersionSelected($event, 'target')\"\n >\n <cds-dropdown-list></cds-dropdown-list>\n </cds-combo-box>\n </div>\n </div>\n\n <div class=\"row mb-5\">\n <div class=\"col-6\">\n <valtimo-migration-process-diagram\n name=\"source\"\n (loaded)=\"diagramLoaded($event)\"\n #sourceDiagram\n ></valtimo-migration-process-diagram>\n </div>\n <div class=\"col-6\">\n <valtimo-migration-process-diagram\n name=\"target\"\n (loaded)=\"diagramLoaded($event)\"\n #targetDiagram\n ></valtimo-migration-process-diagram>\n </div>\n </div>\n <table class=\"table table-striped mb-5\" *ngIf=\"selectedId.source && selectedId.target\">\n <tr *ngFor=\"let node of uniqueFlowNodeMap\">\n <td>{{ node.name ? node.name : node.id }}</td>\n <td>\n <cds-combo-box\n [dropUp]=\"false\"\n [appendInline]=\"true\"\n [placeholder]=\"'- ' + ('Choose Target' | translate) + ' -'\"\n [items]=\"getFilteredTargetFlowNodeMapItems(node)\"\n (selected)=\"onTaskMappingSelected($event, node.id)\"\n >\n <cds-dropdown-list></cds-dropdown-list>\n </cds-combo-box>\n </td>\n </tr>\n </table>\n <hr />\n <div class=\"btn-group mb-5\">\n <button\n [disabled]=\"\n (uniqueFlowNodeMap.length !== taskMappingLength && uniqueFlowNodeMap.length > 0) ||\n !loaded.source ||\n !loaded.target\n \"\n (click)=\"migrateProcess()\"\n class=\"btn btn-primary\"\n >\n Migrate\n <span *ngIf=\"processCount !== null\" class=\"badge badge-pill badge-secondary\">{{\n processCount\n }}</span>\n </button>\n </div>\n </div>\n</div>\n", styles: ["/*!\n * Copyright 2015-2024 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"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.ComboBox, selector: "cds-combo-box, ibm-combo-box", inputs: ["placeholder", "openMenuAria", "closeMenuAria", "clearSelectionsTitle", "clearSelectionsAria", "clearSelectionTitle", "clearSelectionAria", "id", "labelId", "items", "type", "size", "itemValueKey", "label", "hideLabel", "helperText", "appendInline", "invalid", "invalidText", "warn", "warnText", "maxLength", "theme", "selectionFeedback", "autocomplete", "dropUp", "disabled"], outputs: ["selected", "submit", "close", "search", "clear"] }, { kind: "component", type: i6.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "component", type: i7.MigrationProcessDiagramComponent, selector: "valtimo-migration-process-diagram", inputs: ["name"], outputs: ["loaded"] }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }] }); }
|
|
164
241
|
}
|
|
165
242
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MigrationComponent, decorators: [{
|
|
166
243
|
type: Component,
|
|
167
|
-
args: [{ selector: 'valtimo-migration', template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"main-content\">\n <div class=\"container-fluid\">\n <div class=\"row mb-5\">\n <div class=\"col-12\">\n <div class=\"alert alert-warning pl-2 plr-2\" role=\"alert\">\n <div class=\"icon\"><span class=\"mdi mdi-alert-triangle\"></span></div>\n <div class=\"message\" [innerHTML]=\"'Process migration warning' | translate\"></div>\n </div>\n </div>\n </div>\n <div class=\"row mb-5\">\n <div class=\"col-4\">\n <
|
|
244
|
+
args: [{ selector: 'valtimo-migration', template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"main-content\">\n <div class=\"container-fluid\">\n <div class=\"row mb-5\">\n <div class=\"col-12\">\n <div class=\"alert alert-warning pl-2 plr-2\" role=\"alert\">\n <div class=\"icon\"><span class=\"mdi mdi-alert-triangle\"></span></div>\n <div class=\"message\" [innerHTML]=\"'Process migration warning' | translate\"></div>\n </div>\n </div>\n </div>\n <div class=\"row mb-5\">\n <div class=\"col-4\">\n <cds-combo-box\n [dropUp]=\"false\"\n [appendInline]=\"true\"\n [label]=\"'Source Definition' | translate\"\n [placeholder]=\"'- ' + ('Source Definition' | translate) + ' -'\"\n [items]=\"sourceDefinitionItems\"\n (selected)=\"onDefinitionSelected($event, 'source')\"\n (clear)=\"onSourceDefinitionClear($event)\"\n >\n <cds-dropdown-list></cds-dropdown-list>\n </cds-combo-box>\n </div>\n <div class=\"col-2\">\n <cds-combo-box\n #sourceVersionCombobox\n [dropUp]=\"false\"\n [appendInline]=\"true\"\n [label]=\"'Source Definition' | translate\"\n [placeholder]=\"'- ' + ('Source Version' | translate) + ' -'\"\n [items]=\"sourceVersionItems\"\n (selected)=\"onVersionSelected($event, 'source')\"\n >\n <cds-dropdown-list></cds-dropdown-list>\n </cds-combo-box>\n </div>\n <div class=\"col-4\">\n <cds-combo-box\n #targetDefinitionComboBox\n [dropUp]=\"false\"\n [appendInline]=\"true\"\n [label]=\"'Target Definition' | translate\"\n [placeholder]=\"'- ' + ('Target Definition' | translate) + ' -'\"\n [items]=\"targetDefinitionItems\"\n (selected)=\"onDefinitionSelected($event, 'target')\"\n (clear)=\"onTargetDefinitionClear($event)\"\n >\n <cds-dropdown-list></cds-dropdown-list>\n </cds-combo-box>\n </div>\n <div class=\"col-2\">\n <cds-combo-box\n #targetVersionCombobox\n [dropUp]=\"false\"\n [appendInline]=\"true\"\n [label]=\"'Target Version' | translate\"\n [placeholder]=\"'- ' + ('Target Version' | translate) + ' -'\"\n [items]=\"targetVersionItems\"\n (selected)=\"onVersionSelected($event, 'target')\"\n >\n <cds-dropdown-list></cds-dropdown-list>\n </cds-combo-box>\n </div>\n </div>\n\n <div class=\"row mb-5\">\n <div class=\"col-6\">\n <valtimo-migration-process-diagram\n name=\"source\"\n (loaded)=\"diagramLoaded($event)\"\n #sourceDiagram\n ></valtimo-migration-process-diagram>\n </div>\n <div class=\"col-6\">\n <valtimo-migration-process-diagram\n name=\"target\"\n (loaded)=\"diagramLoaded($event)\"\n #targetDiagram\n ></valtimo-migration-process-diagram>\n </div>\n </div>\n <table class=\"table table-striped mb-5\" *ngIf=\"selectedId.source && selectedId.target\">\n <tr *ngFor=\"let node of uniqueFlowNodeMap\">\n <td>{{ node.name ? node.name : node.id }}</td>\n <td>\n <cds-combo-box\n [dropUp]=\"false\"\n [appendInline]=\"true\"\n [placeholder]=\"'- ' + ('Choose Target' | translate) + ' -'\"\n [items]=\"getFilteredTargetFlowNodeMapItems(node)\"\n (selected)=\"onTaskMappingSelected($event, node.id)\"\n >\n <cds-dropdown-list></cds-dropdown-list>\n </cds-combo-box>\n </td>\n </tr>\n </table>\n <hr />\n <div class=\"btn-group mb-5\">\n <button\n [disabled]=\"\n (uniqueFlowNodeMap.length !== taskMappingLength && uniqueFlowNodeMap.length > 0) ||\n !loaded.source ||\n !loaded.target\n \"\n (click)=\"migrateProcess()\"\n class=\"btn btn-primary\"\n >\n Migrate\n <span *ngIf=\"processCount !== null\" class=\"badge badge-pill badge-secondary\">{{\n processCount\n }}</span>\n </button>\n </div>\n </div>\n</div>\n", styles: ["/*!\n * Copyright 2015-2024 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"] }]
|
|
168
245
|
}], ctorParameters: () => [{ type: i1.ProcessService }, { type: i2.NGXLogger }, { type: i3.AlertService }], propDecorators: { sourceDiagram: [{
|
|
169
246
|
type: ViewChild,
|
|
170
247
|
args: ['sourceDiagram']
|
|
171
248
|
}], targetDiagram: [{
|
|
172
249
|
type: ViewChild,
|
|
173
250
|
args: ['targetDiagram']
|
|
251
|
+
}], sourceVersionCombobox: [{
|
|
252
|
+
type: ViewChild,
|
|
253
|
+
args: ['sourceVersionCombobox']
|
|
254
|
+
}], targetDefinitionComboBox: [{
|
|
255
|
+
type: ViewChild,
|
|
256
|
+
args: ['targetDefinitionComboBox']
|
|
257
|
+
}], targetVersionCombobox: [{
|
|
258
|
+
type: ViewChild,
|
|
259
|
+
args: ['targetVersionCombobox']
|
|
174
260
|
}] } });
|
|
175
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlncmF0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vbWlncmF0aW9uL3NyYy9saWIvbWlncmF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vbWlncmF0aW9uL3NyYy9saWIvbWlncmF0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFnQixTQUFTLEVBQVUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7QUFXMUUsTUFBTSxPQUFPLGtCQUFrQjtJQWtDN0IsWUFDVSxjQUE4QixFQUM5QixNQUFpQixFQUNqQixZQUEwQjtRQUYxQixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUNqQixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQXBDN0IsdUJBQWtCLEdBQXdCLEVBQUUsQ0FBQztRQUM3QyxxQkFBZ0IsR0FBRztZQUN4QixNQUFNLEVBQUUsRUFBRTtZQUNWLE1BQU0sRUFBRSxFQUFFO1NBQ1gsQ0FBQztRQUNLLGVBQVUsR0FBRztZQUNsQixNQUFNLEVBQUUsSUFBSTtZQUNaLE1BQU0sRUFBRSxJQUFJO1NBQ2IsQ0FBQztRQUNLLFdBQU0sR0FBRztZQUNkLE1BQU0sRUFBRSxLQUFLO1lBQ2IsTUFBTSxFQUFFLEtBQUs7U0FDZCxDQUFDO1FBQ0ssV0FBTSxHQUFHO1lBQ2QsTUFBTSxFQUFFO2dCQUNOLFVBQVUsRUFBRSxJQUFJO2dCQUNoQixPQUFPLEVBQUUsSUFBSTthQUNkO1lBQ0QsTUFBTSxFQUFFO2dCQUNOLFVBQVUsRUFBRSxJQUFJO2dCQUNoQixPQUFPLEVBQUUsSUFBSTthQUNkO1NBQ0YsQ0FBQztRQUVLLGlCQUFZLEdBQWtCLElBQUksQ0FBQztRQUNuQyxzQkFBaUIsR0FB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b250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBPbkluaXQsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1Byb2Nlc3NTZXJ2aWNlLCBQcm9jZXNzRGVmaW5pdGlvbn0gZnJvbSAnQHZhbHRpbW8vcHJvY2Vzcyc7XG5pbXBvcnQge01pZ3JhdGlvblByb2Nlc3NEaWFncmFtQ29tcG9uZW50fSBmcm9tICcuL21pZ3JhdGlvbi1wcm9jZXNzLWRpYWdyYW0vbWlncmF0aW9uLXByb2Nlc3MtZGlhZ3JhbS5jb21wb25lbnQnO1xuaW1wb3J0IHtOR1hMb2dnZXJ9IGZyb20gJ25neC1sb2dnZXInO1xuaW1wb3J0IHtBbGVydFNlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL2NvbXBvbmVudHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLW1pZ3JhdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9taWdyYXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9taWdyYXRpb24uY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgTWlncmF0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcbiAgcHVibGljIHByb2Nlc3NEZWZpbml0aW9uczogUHJvY2Vzc0RlZmluaXRpb25bXSA9IFtdO1xuICBwdWJsaWMgc2VsZWN0ZWRWZXJzaW9ucyA9IHtcbiAgICBzb3VyY2U6IFtdLFxuICAgIHRhcmdldDogW10sXG4gIH07XG4gIHB1YmxpYyBzZWxlY3RlZElkID0ge1xuICAgIHNvdXJjZTogbnVsbCxcbiAgICB0YXJnZXQ6IG51bGwsXG4gIH07XG4gIHB1YmxpYyBsb2FkZWQgPSB7XG4gICAgc291cmNlOiBmYWxzZSxcbiAgICB0YXJnZXQ6IGZhbHNlLFxuICB9O1xuICBwdWJsaWMgZmllbGRzID0ge1xuICAgIHNvdXJjZToge1xuICAgICAgZGVmaW5pdGlvbjogbnVsbCxcbiAgICAgIHZlcnNpb246IG51bGwsXG4gICAgfSxcbiAgICB0YXJnZXQ6IHtcbiAgICAgIGRlZmluaXRpb246IG51bGwsXG4gICAgICB2ZXJzaW9uOiBudWxsLFxuICAgIH0sXG4gIH07XG5cbiAgcHVibGljIHByb2Nlc3NDb3VudDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG4gIHB1YmxpYyB1bmlxdWVGbG93Tm9kZU1hcDogYW55W10gPSBbXTtcbiAgcHVibGljIHRhc2tNYXBwaW5nOiBhbnkgPSB7fTtcblxuICBAVmlld0NoaWxkKCdzb3VyY2VEaWFncmFtJykgc291cmNlRGlhZ3JhbTogTWlncmF0aW9uUHJvY2Vzc0RpYWdyYW1Db21wb25lbnQ7XG4gIEBWaWV3Q2hpbGQoJ3RhcmdldERpYWdyYW0nKSB0YXJnZXREaWFncmFtOiBNaWdyYXRpb25Qcm9jZXNzRGlhZ3JhbUNvbXBvbmVudDtcblxuICBwdWJsaWMgZGlhZ3JhbTogYW55ID0gbnVsbDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHByb2Nlc3NTZXJ2aWNlOiBQcm9jZXNzU2VydmljZSxcbiAgICBwcml2YXRlIGxvZ2dlcjogTkdYTG9nZ2VyLFxuICAgIHByaXZhdGUgYWxlcnRTZXJ2aWNlOiBBbGVydFNlcnZpY2VcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMubG9hZFByb2Nlc3NEZWZpbml0aW9ucygpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuZGlhZ3JhbSA9IHtcbiAgICAgIHNvdXJjZTogdGhpcy5zb3VyY2VEaWFncmFtLFxuICAgICAgdGFyZ2V0OiB0aGlzLnRhcmdldERpYWdyYW0sXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdGFza01hcHBpbmdMZW5ndGgoKSB7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKHRoaXMudGFza01hcHBpbmcpLmxlbmd0aDtcbiAgfVxuXG4gIGxvYWRQcm9jZXNzRGVmaW5pdGlvbnMoKSB7XG4gICAgdGhpcy5wcm9jZXNzU2VydmljZVxuICAgICAgLmdldFByb2Nlc3NEZWZpbml0aW9ucygpXG4gICAgICAuc3Vic2NyaWJlKChwcm9jZXNzRGVmaW5pdGlvbnM6IFByb2Nlc3NEZWZpbml0aW9uW10pID0+IHtcbiAgICAgICAgdGhpcy5wcm9jZXNzRGVmaW5pdGlvbnMgPSBwcm9jZXNzRGVmaW5pdGlvbnM7XG4gICAgICB9KTtcbiAgfVxuXG4gIGxvYWRQcm9jZXNzRGVmaW5pdGlvblZlcnNpb25zKGtleTogc3RyaW5nIHwgbnVsbCwgdHlwZTogc3RyaW5nKSB7XG4gICAgdGhpcy5maWVsZHNbdHlwZV0uZGVmaW5pdGlvbiA9IGtleTtcbiAgICB0aGlzLnNlbGVjdGVkVmVyc2lvbnNbdHlwZV0gPSBbXTtcbiAgICB0aGlzLmNsZWFyUHJvY2Vzcyh0eXBlKTtcbiAgICBpZiAoa2V5KSB7XG4gICAgICB0aGlzLnByb2Nlc3NTZXJ2aWNlXG4gICAgICAgIC5nZXRQcm9jZXNzRGVmaW5pdGlvblZlcnNpb25zKGtleSlcbiAgICAgICAgLnN1YnNjcmliZSgocHJvY2Vzc0RlZmluaXRpb25WZXJzaW9uczogUHJvY2Vzc0RlZmluaXRpb25bXSkgPT4ge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRWZXJzaW9uc1t0eXBlXSA9IHByb2Nlc3NEZWZpbml0aW9uVmVyc2lvbnM7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGxvYWRQcm9jZXNzKGlkOiBzdHJpbmcgfCBudWxsLCB0eXBlOiBzdHJpbmcpIHtcbiAgICB0aGlzLmZpZWxkc1t0eXBlXS52ZXJzaW9uID0gaWQ7XG4gICAgdGhpcy5jbGVhclByb2Nlc3ModHlwZSk7XG4gICAgaWYgKGlkKSB7XG4gICAgICB0aGlzLmxvYWRQcm9jZXNzRGVmaW5pdGlvblhNTChpZCwgdHlwZSk7XG4gICAgICBpZiAodHlwZSA9PT0gJ3NvdXJjZScpIHtcbiAgICAgICAgdGhpcy5sb2FkUHJvY2Vzc0NvdW50KGlkKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNsZWFyUHJvY2Vzcyh0eXBlOiBzdHJpbmcpIHtcbiAgICB0aGlzLmxvYWRlZFt0eXBlXSA9IGZhbHNlO1xuICAgIHRoaXMuc2VsZWN0ZWRJZFt0eXBlXSA9IG51bGw7XG4gICAgdGhpcy5kaWFncmFtW3R5cGVdLmNsZWFyKCk7XG4gICAgaWYgKHR5cGUgPT09ICdzb3VyY2UnKSB7XG4gICAgICB0aGlzLnByb2Nlc3NDb3VudCA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgbG9hZFByb2Nlc3NEZWZpbml0aW9uWE1MKGlkOiBzdHJpbmcsIHR5cGU6IHN0cmluZykge1xuICAgIHRoaXMucHJvY2Vzc1NlcnZpY2UuZ2V0UHJvY2Vzc0RlZmluaXRpb25YbWwoaWQpLnN1YnNjcmliZSh4bWwgPT4ge1xuICAgICAgdGhpcy5kaWFncmFtW3R5cGVdLmxvYWRYbWwoeG1sWydicG1uMjBYbWwnXSk7XG4gICAgICB0aGlzLnNlbGVjdGVkSWRbdHlwZV0gPSBpZDtcbiAgICB9KTtcbiAgfVxuXG4gIGxvYWRQcm9jZXNzQ291bnQoaWQ6IHN0cmluZykge1xuICAgIHRoaXMucHJvY2Vzc1NlcnZpY2UuZ2V0UHJvY2Vzc0NvdW50KGlkKS5zdWJzY3JpYmUocmVzcG9uc2UgPT4ge1xuICAgICAgdGhpcy5wcm9jZXNzQ291bnQgPSByZXNwb25zZS5jb3VudDtcbiAgICB9KTtcbiAgfVxuXG4gIHNldFVuaXF1ZUZsb3dOb2RlTWFwKCkge1xuICAgIHRoaXMudW5pcXVlRmxvd05vZGVNYXAgPSBbXTtcbiAgICBjb25zdCBzb3VyY2VGbG93Tm9kZU1hcCA9IHRoaXMuc291cmNlRGlhZ3JhbS5mbG93Tm9kZU1hcDtcbiAgICBjb25zdCB0YXJnZXRGbG93Tm9kZU1hcCA9IHRoaXMudGFyZ2V0RGlhZ3JhbS5mbG93Tm9kZU1hcDtcblxuICAgIGlmIChzb3VyY2VGbG93Tm9kZU1hcCAhPSBudWxsICYmIHRhcmdldEZsb3dOb2RlTWFwICE9IG51bGwpIHtcbiAgICAgIHRoaXMudW5pcXVlRmxvd05vZGVNYXAgPSBzb3VyY2VGbG93Tm9kZU1hcC5maWx0ZXIoXG4gICAgICAgIHNvdXJjZUZsb3dOb2RlID0+XG4gICAgICAgICAgIXRhcmdldEZsb3dOb2RlTWFwLnNvbWUoXG4gICAgICAgICAgICB0YXJnZXRGbG93Tm9kZSA9PlxuICAgICAgICAgICAgICBzb3VyY2VGbG93Tm9kZS5pZCA9PT0gdGFyZ2V0Rmxvd05vZGUuaWQgJiZcbiAgICAgICAgICAgICAgc291cmNlRmxvd05vZGUuJHR5cGUgPT09IHRhcmdldEZsb3dOb2RlLiR0eXBlXG4gICAgICAgICAgKVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBnZXRGaWx0ZXJlZFRhcmdldEZsb3dOb2RlTWFwKGZsb3dOb2RlVHlwZSkge1xuICAgIGNvbnN0IHRhcmdldEZsb3dOb2RlTWFwID0gdGhpcy50YXJnZXREaWFncmFtLmZsb3dOb2RlTWFwO1xuICAgIHJldHVybiB0YXJnZXRGbG93Tm9kZU1hcC5maWx0ZXIoZnVuY3Rpb24gKGZsb3dOb2RlKSB7XG4gICAgICByZXR1cm4gZmxvd05vZGUuJHR5cGUgPT09IGZsb3dOb2RlVHlwZTtcbiAgICB9KTtcbiAgfVxuXG4gIGRpYWdyYW1Mb2FkZWQoZGlhZ3JhbU5hbWU6IHN0cmluZykge1xuICAgIHRoaXMubG9hZGVkW2RpYWdyYW1OYW1lXSA9IHRydWU7XG4gICAgaWYgKHRoaXMubG9hZGVkLnNvdXJjZSAmJiB0aGlzLmxvYWRlZC50YXJnZXQpIHtcbiAgICAgIHRoaXMudGFza01hcHBpbmcgPSB7fTtcbiAgICAgIHRoaXMuc2V0VW5pcXVlRmxvd05vZGVNYXAoKTtcbiAgICB9XG4gIH1cblxuICBtaWdyYXRlUHJvY2VzcygpIHtcbiAgICB0aGlzLnByb2Nlc3NTZXJ2aWNlXG4gICAgICAubWlncmF0ZVByb2Nlc3ModGhpcy5zZWxlY3RlZElkLnNvdXJjZSwgdGhpcy5zZWxlY3RlZElkLnRhcmdldCwgdGhpcy50YXNrTWFwcGluZylcbiAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgIHJlcyA9PiB7XG4gICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uuc3VjY2VzcygnUHJvY2VzcyBzdWNjZXNzZnVsbHkgbWlncmF0ZWQhJyk7XG4gICAgICAgICAgdGhpcy5jbGVhclByb2Nlc3MoJ3NvdXJjZScpO1xuICAgICAgICAgIHRoaXMuY2xlYXJQcm9jZXNzKCd0YXJnZXQnKTtcbiAgICAgICAgICB0aGlzLmZpZWxkcyA9IHtcbiAgICAgICAgICAgIHNvdXJjZToge1xuICAgICAgICAgICAgICBkZWZpbml0aW9uOiBudWxsLFxuICAgICAgICAgICAgICB2ZXJzaW9uOiBudWxsLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHRhcmdldDoge1xuICAgICAgICAgICAgICBkZWZpbml0aW9uOiBudWxsLFxuICAgICAgICAgICAgICB2ZXJzaW9uOiBudWxsLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9O1xuICAgICAgICB9LFxuICAgICAgICBlcnIgPT4ge1xuICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmVycm9yKCdQcm9jZXNzIG1pZ3JhdGlvbiBmYWlsZWQhJyk7XG4gICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoZXJyKTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgfVxufVxuIiwiPCEtLVxuICB+IENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICB+XG4gIH4gTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gIH4geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICB+IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICB+XG4gIH4gaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICB+XG4gIH4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICB+IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAgfiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgfiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIH4gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gIC0tPlxuXG48ZGl2IGNsYXNzPVwibWFpbi1jb250ZW50XCI+XG4gIDxkaXYgY2xhc3M9XCJjb250YWluZXItZmx1aWRcIj5cbiAgICA8ZGl2IGNsYXNzPVwicm93IG1iLTVcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFsZXJ0IGFsZXJ0LXdhcm5pbmcgcGwtMiBwbHItMlwiIHJvbGU9XCJhbGVydFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpY29uXCI+PHNwYW4gY2xhc3M9XCJtZGkgbWRpLWFsZXJ0LXRyaWFuZ2xlXCI+PC9zcGFuPjwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZXNzYWdlXCIgW2lubmVySFRNTF09XCInUHJvY2VzcyBtaWdyYXRpb24gd2FybmluZycgfCB0cmFuc2xhdGVcIj48L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwicm93IG1iLTVcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtNFwiPlxuICAgICAgICA8bGFiZWwgZm9yPVwic291cmNlRGVmXCI+U291cmNlIERlZmluaXRpb248L2xhYmVsPlxuICAgICAgICA8c2VsZWN0XG4gICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgIGlkPVwic291cmNlRGVmXCJcbiAgICAgICAgICBbbmdNb2RlbF09XCJmaWVsZHMuc291cmNlLmRlZmluaXRpb25cIlxuICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImxvYWRQcm9jZXNzRGVmaW5pdGlvblZlcnNpb25zKCRldmVudCwgJ3NvdXJjZScpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxvcHRpb24gW25nVmFsdWVdPVwibnVsbFwiIHNlbGVjdGVkPi0gU291cmNlIERlZmluaXRpb24gLTwvb3B0aW9uPlxuICAgICAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IHByb2Nlc3NEZWYgb2YgcHJvY2Vzc0RlZmluaXRpb25zXCIgW25nVmFsdWVdPVwicHJvY2Vzc0RlZi5rZXlcIj5cbiAgICAgICAgICAgIHt7IHByb2Nlc3NEZWYubmFtZSB9fVxuICAgICAgICAgIDwvb3B0aW9uPlxuICAgICAgICA8L3NlbGVjdD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImNvbC0yXCI+XG4gICAgICAgIDxsYWJlbCBmb3I9XCJzb3VyY2VWZXJcIj5Tb3VyY2UgVmVyc2lvbjwvbGFiZWw+XG4gICAgICAgIDxzZWxlY3RcbiAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgaWQ9XCJzb3VyY2VWZXJcIlxuICAgICAgICAgIFtuZ01vZGVsXT1cImZpZWxkcy5zb3VyY2UudmVyc2lvblwiXG4gICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwibG9hZFByb2Nlc3MoJGV2ZW50LCAnc291cmNlJylcIlxuICAgICAgICA+XG4gICAgICAgICAgPG9wdGlvbiBbbmdWYWx1ZV09XCJudWxsXCIgc2VsZWN0ZWQ+LSBTb3VyY2UgVmVyc2lvbiAtPC9vcHRpb24+XG4gICAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgcHJvY2Vzc1ZlciBvZiBzZWxlY3RlZFZlcnNpb25zLnNvdXJjZVwiIFtuZ1ZhbHVlXT1cInByb2Nlc3NWZXIuaWRcIj5cbiAgICAgICAgICAgIHt7IHByb2Nlc3NWZXIudmVyc2lvbiB9fVxuICAgICAgICAgIDwvb3B0aW9uPlxuICAgICAgICA8L3NlbGVjdD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImNvbC00XCI+XG4gICAgICAgIDxsYWJlbCBmb3I9XCJ0YXJnZXREZWZcIj5UYXJnZXQgRGVmaW5pdGlvbjwvbGFiZWw+XG4gICAgICAgIDxzZWxlY3RcbiAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgaWQ9XCJ0YXJnZXREZWZcIlxuICAgICAgICAgIFtuZ01vZGVsXT1cImZpZWxkcy50YXJnZXQuZGVmaW5pdGlvblwiXG4gICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwibG9hZFByb2Nlc3NEZWZpbml0aW9uVmVyc2lvbnMoJGV2ZW50LCAndGFyZ2V0JylcIlxuICAgICAgICA+XG4gICAgICAgICAgPG9wdGlvbiBbbmdWYWx1ZV09XCJudWxsXCIgc2VsZWN0ZWQ+LSBUYXJnZXQgRGVmaW5pdGlvbiAtPC9vcHRpb24+XG4gICAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgcHJvY2Vzc0RlZiBvZiBwcm9jZXNzRGVmaW5pdGlvbnNcIiBbbmdWYWx1ZV09XCJwcm9jZXNzRGVmLmtleVwiPlxuICAgICAgICAgICAge3sgcHJvY2Vzc0RlZi5uYW1lIH19XG4gICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgIDwvc2VsZWN0PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLTJcIj5cbiAgICAgICAgPGxhYmVsIGZvcj1cInRhcmdldFZlclwiPlRhcmdldCBWZXJzaW9uPC9sYWJlbD5cbiAgICAgICAgPHNlbGVjdFxuICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICBpZD1cInRhcmdldFZlclwiXG4gICAgICAgICAgW25nTW9kZWxdPVwiZmllbGRzLnRhcmdldC52ZXJzaW9uXCJcbiAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJsb2FkUHJvY2VzcygkZXZlbnQsICd0YXJnZXQnKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8b3B0aW9uIFtuZ1ZhbHVlXT1cIm51bGxcIiBzZWxlY3RlZD4tIFRhcmdldCBWZXJzaW9uIC08L29wdGlvbj5cbiAgICAgICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBwcm9jZXNzVmVyIG9mIHNlbGVjdGVkVmVyc2lvbnMudGFyZ2V0XCIgW25nVmFsdWVdPVwicHJvY2Vzc1Zlci5pZFwiPlxuICAgICAgICAgICAge3sgcHJvY2Vzc1Zlci52ZXJzaW9uIH19XG4gICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgIDwvc2VsZWN0PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwicm93IG1iLTVcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtNlwiPlxuICAgICAgICA8dmFsdGltby1taWdyYXRpb24tcHJvY2Vzcy1kaWFncmFtXG4gICAgICAgICAgbmFtZT1cInNvdXJjZVwiXG4gICAgICAgICAgKGxvYWRlZCk9XCJkaWFncmFtTG9hZGVkKCRldmVudClcIlxuICAgICAgICAgICNzb3VyY2VEaWFncmFtXG4gICAgICAgID48L3ZhbHRpbW8tbWlncmF0aW9uLXByb2Nlc3MtZGlhZ3JhbT5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImNvbC02XCI+XG4gICAgICAgIDx2YWx0aW1vLW1pZ3JhdGlvbi1wcm9jZXNzLWRpYWdyYW1cbiAgICAgICAgICBuYW1lPVwidGFyZ2V0XCJcbiAgICAgICAgICAobG9hZGVkKT1cImRpYWdyYW1Mb2FkZWQoJGV2ZW50KVwiXG4gICAgICAgICAgI3RhcmdldERpYWdyYW1cbiAgICAgICAgPjwvdmFsdGltby1taWdyYXRpb24tcHJvY2Vzcy1kaWFncmFtPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPHRhYmxlIGNsYXNzPVwidGFibGUgdGFibGUtc3RyaXBlZCBtYi01XCIgKm5nSWY9XCJzZWxlY3RlZElkLnNvdXJjZSAmJiBzZWxlY3RlZElkLnRhcmdldFwiPlxuICAgICAgPHRyICpuZ0Zvcj1cImxldCBub2RlIG9mIHVuaXF1ZUZsb3dOb2RlTWFwXCI+XG4gICAgICAgIDx0ZD57eyBub2RlLm5hbWUgPyBub2RlLm5hbWUgOiBub2RlLmlkIH19PC90ZD5cbiAgICAgICAgPHRkPlxuICAgICAgICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiAoY2hhbmdlKT1cInRhc2tNYXBwaW5nW25vZGUuaWRdID0gJGV2ZW50LnRhcmdldC52YWx1ZVwiPlxuICAgICAgICAgICAgPG9wdGlvbiBbdmFsdWVdPVwibnVsbFwiIGRpc2FibGVkIHNlbGVjdGVkPi0gQ2hvb3NlIFRhcmdldCAtPC9vcHRpb24+XG4gICAgICAgICAgICA8b3B0aW9uXG4gICAgICAgICAgICAgICpuZ0Zvcj1cImxldCB0YXJnZXRGbG93Tm9kZSBvZiBnZXRGaWx0ZXJlZFRhcmdldEZsb3dOb2RlTWFwKG5vZGUuJHR5cGUpXCJcbiAgICAgICAgICAgICAgW3ZhbHVlXT1cInRhcmdldEZsb3dOb2RlLmlkXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3sgdGFyZ2V0Rmxvd05vZGUubmFtZSA/IHRhcmdldEZsb3dOb2RlLm5hbWUgOiB0YXJnZXRGbG93Tm9kZS5pZCB9fVxuICAgICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgICAgPC9zZWxlY3Q+XG4gICAgICAgIDwvdGQ+XG4gICAgICA8L3RyPlxuICAgIDwvdGFibGU+XG4gICAgPGhyIC8+XG4gICAgPGRpdiBjbGFzcz1cImJ0bi1ncm91cCBtYi01XCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIFtkaXNhYmxlZF09XCJcbiAgICAgICAgICAodW5pcXVlRmxvd05vZGVNYXAubGVuZ3RoICE9PSB0YXNrTWFwcGluZ0xlbmd0aCAmJiB1bmlxdWVGbG93Tm9kZU1hcC5sZW5ndGggPiAwKSB8fFxuICAgICAgICAgICFsb2FkZWQuc291cmNlIHx8XG4gICAgICAgICAgIWxvYWRlZC50YXJnZXRcbiAgICAgICAgXCJcbiAgICAgICAgKGNsaWNrKT1cIm1pZ3JhdGVQcm9jZXNzKClcIlxuICAgICAgICBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiXG4gICAgICA+XG4gICAgICAgIE1pZ3JhdGVcbiAgICAgICAgPHNwYW4gKm5nSWY9XCJwcm9jZXNzQ291bnQgIT09IG51bGxcIiBjbGFzcz1cImJhZGdlIGJhZGdlLXBpbGwgYmFkZ2Utc2Vjb25kYXJ5XCI+e3tcbiAgICAgICAgICBwcm9jZXNzQ291bnRcbiAgICAgICAgfX08L3NwYW4+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
261
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlncmF0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vbWlncmF0aW9uL3NyYy9saWIvbWlncmF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vbWlncmF0aW9uL3NyYy9saWIvbWlncmF0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFnQixTQUFTLEVBQVUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7O0FBWTFFLE1BQU0sT0FBTyxrQkFBa0I7SUFvQzdCLFlBQ1UsY0FBOEIsRUFDOUIsTUFBaUIsRUFDakIsWUFBMEI7UUFGMUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLFdBQU0sR0FBTixNQUFNLENBQVc7UUFDakIsaUJBQVksR0FBWixZQUFZLENBQWM7UUF0QzdCLHVCQUFrQixHQUF3QixFQUFFLENBQUM7UUFDN0MscUJBQWdCLEdBQUc7WUFDeEIsTUFBTSxFQUFFLEVBQUU7WUFDVixNQUFNLEVBQUUsRUFBRTtTQUNYLENBQUM7UUFDSyxlQUFVLEdBQUc7WUFDbEIsTUFBTSxFQUFFLElBQUk7WUFDWixNQUFNLEVBQUUsSUFBSTtTQUNiLENBQUM7UUFDSyxXQUFNLEdBQUc7WUFDZCxNQUFNLEVBQUUsS0FBSztZQUNiLE1BQU0sRUFBRSxLQUFLO1NBQ2QsQ0FBQztRQUNLLFdBQU0sR0FBRztZQUNkLE1BQU0sRUFBRTtnQkFDTixVQUFVLEVBQUUsSUFBSTtnQkFDaEIsT0FBTyxFQUFFLElBQUk7YUFDZDtZQUNELE1BQU0sRUFBRTtnQkFDTixVQUFVLEVBQUUsSUFBSTtnQkFDaEIsT0FBTyxFQUFFLElBQUk7YUFDZDtTQUNGLENBQUM7UUFFSyxpQkFBWSxHQUFrQixJQUFJLENBQUM7UUFDbkMsc0JBQWlCLEdB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QUNGLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1lBQzlCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNuQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDckMsQ0FBQyxFQUNELEdBQUcsQ0FBQyxFQUFFO1lBQ0osSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsMkJBQTJCLENBQUMsQ0FBQztZQUNyRCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN6QixDQUFDLENBQ0YsQ0FBQztJQUNOLENBQUM7K0dBL1BVLGtCQUFrQjttR0FBbEIsa0JBQWtCLG1tQkM1Qi9CLDJ2SkFxSUE7OzRGRHpHYSxrQkFBa0I7a0JBTDlCLFNBQVM7K0JBQ0UsbUJBQW1CO3NJQWlDRCxhQUFhO3NCQUF4QyxTQUFTO3VCQUFDLGVBQWU7Z0JBQ0UsYUFBYTtzQkFBeEMsU0FBUzt1QkFBQyxlQUFlO2dCQUNVLHFCQUFxQjtzQkFBeEQsU0FBUzt1QkFBQyx1QkFBdUI7Z0JBQ0ssd0JBQXdCO3NCQUE5RCxTQUFTO3VCQUFDLDBCQUEwQjtnQkFDRCxxQkFBcUI7c0JBQXhELFNBQVM7dUJBQUMsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIE9uSW5pdCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7UHJvY2Vzc0RlZmluaXRpb24sIFByb2Nlc3NTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9wcm9jZXNzJztcbmltcG9ydCB7TWlncmF0aW9uUHJvY2Vzc0RpYWdyYW1Db21wb25lbnR9IGZyb20gJy4vbWlncmF0aW9uLXByb2Nlc3MtZGlhZ3JhbS9taWdyYXRpb24tcHJvY2Vzcy1kaWFncmFtLmNvbXBvbmVudCc7XG5pbXBvcnQge05HWExvZ2dlcn0gZnJvbSAnbmd4LWxvZ2dlcic7XG5pbXBvcnQge0FsZXJ0U2VydmljZX0gZnJvbSAnQHZhbHRpbW8vY29tcG9uZW50cyc7XG5pbXBvcnQge0NvbWJvQm94LCBMaXN0SXRlbX0gZnJvbSAnY2FyYm9uLWNvbXBvbmVudHMtYW5ndWxhcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbHRpbW8tbWlncmF0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21pZ3JhdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21pZ3JhdGlvbi5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBNaWdyYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuICBwdWJsaWMgcHJvY2Vzc0RlZmluaXRpb25zOiBQcm9jZXNzRGVmaW5pdGlvbltdID0gW107XG4gIHB1YmxpYyBzZWxlY3RlZFZlcnNpb25zID0ge1xuICAgIHNvdXJjZTogW10sXG4gICAgdGFyZ2V0OiBbXSxcbiAgfTtcbiAgcHVibGljIHNlbGVjdGVkSWQgPSB7XG4gICAgc291cmNlOiBudWxsLFxuICAgIHRhcmdldDogbnVsbCxcbiAgfTtcbiAgcHVibGljIGxvYWRlZCA9IHtcbiAgICBzb3VyY2U6IGZhbHNlLFxuICAgIHRhcmdldDogZmFsc2UsXG4gIH07XG4gIHB1YmxpYyBmaWVsZHMgPSB7XG4gICAgc291cmNlOiB7XG4gICAgICBkZWZpbml0aW9uOiBudWxsLFxuICAgICAgdmVyc2lvbjogbnVsbCxcbiAgICB9LFxuICAgIHRhcmdldDoge1xuICAgICAgZGVmaW5pdGlvbjogbnVsbCxcbiAgICAgIHZlcnNpb246IG51bGwsXG4gICAgfSxcbiAgfTtcblxuICBwdWJsaWMgcHJvY2Vzc0NvdW50OiBudW1iZXIgfCBudWxsID0gbnVsbDtcbiAgcHVibGljIHVuaXF1ZUZsb3dOb2RlTWFwOiBhbnlbXSA9IFtdO1xuICBwdWJsaWMgdGFza01hcHBpbmc6IGFueSA9IHt9O1xuXG4gIEBWaWV3Q2hpbGQoJ3NvdXJjZURpYWdyYW0nKSBzb3VyY2VEaWFncmFtOiBNaWdyYXRpb25Qcm9jZXNzRGlhZ3JhbUNvbXBvbmVudDtcbiAgQFZpZXdDaGlsZCgndGFyZ2V0RGlhZ3JhbScpIHRhcmdldERpYWdyYW06IE1pZ3JhdGlvblByb2Nlc3NEaWFncmFtQ29tcG9uZW50O1xuICBAVmlld0NoaWxkKCdzb3VyY2VWZXJzaW9uQ29tYm9ib3gnKSBzb3VyY2VWZXJzaW9uQ29tYm9ib3g6IENvbWJvQm94O1xuICBAVmlld0NoaWxkKCd0YXJnZXREZWZpbml0aW9uQ29tYm9Cb3gnKSB0YXJnZXREZWZpbml0aW9uQ29tYm9Cb3g6IENvbWJvQm94O1xuICBAVmlld0NoaWxkKCd0YXJnZXRWZXJzaW9uQ29tYm9ib3gnKSB0YXJnZXRWZXJzaW9uQ29tYm9ib3g6IENvbWJvQm94O1xuICBwdWJsaWMgZGlhZ3JhbTogYW55ID0gbnVsbDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHByb2Nlc3NTZXJ2aWNlOiBQcm9jZXNzU2VydmljZSxcbiAgICBwcml2YXRlIGxvZ2dlcjogTkdYTG9nZ2VyLFxuICAgIHByaXZhdGUgYWxlcnRTZXJ2aWNlOiBBbGVydFNlcnZpY2VcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMubG9hZFByb2Nlc3NEZWZpbml0aW9ucygpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuZGlhZ3JhbSA9IHtcbiAgICAgIHNvdXJjZTogdGhpcy5zb3VyY2VEaWFncmFtLFxuICAgICAgdGFyZ2V0OiB0aGlzLnRhcmdldERpYWdyYW0sXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdGFza01hcHBpbmdMZW5ndGgoKSB7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKHRoaXMudGFza01hcHBpbmcpLmxlbmd0aDtcbiAgfVxuXG4gIHB1YmxpYyBzb3VyY2VEZWZpbml0aW9uSXRlbXM6IExpc3RJdGVtW10gPSBbXTtcbiAgcHVibGljIHRhcmdldERlZmluaXRpb25JdGVtczogTGlzdEl0ZW1bXSA9IFtdO1xuICBwdWJsaWMgc291cmNlVmVyc2lvbkl0ZW1zOiBMaXN0SXRlbVtdID0gW107XG4gIHB1YmxpYyB0YXJnZXRWZXJzaW9uSXRlbXM6IExpc3RJdGVtW10gPSBbXTtcbiAgcHJpdmF0ZSByZWFkb25seSB0YXJnZXRGbG93Tm9kZUl0ZW1zTWFwID0gbmV3IE1hcDxzdHJpbmcsIExpc3RJdGVtW10+KCk7XG5cbiAgcHJpdmF0ZSByZWZyZXNoRGVmaW5pdGlvbkl0ZW1zKCk6IHZvaWQge1xuICAgIHRoaXMuc291cmNlRGVmaW5pdGlvbkl0ZW1zID0gdGhpcy5wcm9jZXNzRGVmaW5pdGlvbnMubWFwKHByb2Nlc3NEZWYgPT4gKHtcbiAgICAgIGtleTogcHJvY2Vzc0RlZi5rZXksXG4gICAgICBjb250ZW50OiBwcm9jZXNzRGVmLm5hbWUsXG4gICAgICBzZWxlY3RlZDogdGhpcy5maWVsZHMuc291cmNlLmRlZmluaXRpb24gPT09IHByb2Nlc3NEZWYua2V5LFxuICAgIH0pKTtcbiAgICB0aGlzLnRhcmdldERlZmluaXRpb25JdGVtcyA9IHRoaXMucHJvY2Vzc0RlZmluaXRpb25zLm1hcChwcm9jZXNzRGVmID0+ICh7XG4gICAgICBrZXk6IHByb2Nlc3NEZWYua2V5LFxuICAgICAgY29udGVudDogcHJvY2Vzc0RlZi5uYW1lLFxuICAgICAgc2VsZWN0ZWQ6IHRoaXMuZmllbGRzLnRhcmdldC5kZWZpbml0aW9uID09PSBwcm9jZXNzRGVmLmtleSxcbiAgICB9KSk7XG4gIH1cblxuICBwcml2YXRlIHJlZnJlc2hWZXJzaW9uSXRlbXModHlwZTogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgaXRlbXMgPSB0aGlzLnNlbGVjdGVkVmVyc2lvbnNbdHlwZV0ubWFwKHByb2Nlc3NWZXIgPT4gKHtcbiAgICAgIGlkOiBwcm9jZXNzVmVyLmlkLFxuICAgICAgY29udGVudDogYCR7cHJvY2Vzc1Zlci52ZXJzaW9ufWAsXG4gICAgICBzZWxlY3RlZDogdGhpcy5maWVsZHNbdHlwZV0udmVyc2lvbiA9PT0gcHJvY2Vzc1Zlci5pZCxcbiAgICB9KSk7XG4gICAgaWYgKHR5cGUgPT09ICdzb3VyY2UnKSB7XG4gICAgICB0aGlzLnNvdXJjZVZlcnNpb25JdGVtcyA9IGl0ZW1zO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnRhcmdldFZlcnNpb25JdGVtcyA9IGl0ZW1zO1xuICAgIH1cbiAgfVxuXG4gIGxvYWRQcm9jZXNzRGVmaW5pdGlvbnMoKSB7XG4gICAgdGhpcy5wcm9jZXNzU2VydmljZVxuICAgICAgLmdldFByb2Nlc3NEZWZpbml0aW9ucygpXG4gICAgICAuc3Vic2NyaWJlKChwcm9jZXNzRGVmaW5pdGlvbnM6IFByb2Nlc3NEZWZpbml0aW9uW10pID0+IHtcbiAgICAgICAgdGhpcy5wcm9jZXNzRGVmaW5pdGlvbnMgPSBwcm9jZXNzRGVmaW5pdGlvbnM7XG4gICAgICAgIHRoaXMucmVmcmVzaERlZmluaXRpb25JdGVtcygpO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgb25EZWZpbml0aW9uU2VsZWN0ZWQoc2VsZWN0aW9uOiBMaXN0SXRlbSB8IExpc3RJdGVtW10sIHR5cGU6IHN0cmluZykge1xuICAgIGNvbnN0IGl0ZW0gPSBBcnJheS5pc0FycmF5KHNlbGVjdGlvbikgPyBzZWxlY3Rpb25bMF0gOiBzZWxlY3Rpb247XG4gICAgY29uc3Qga2V5ID0gaXRlbT8ua2V5ID8/IG51bGw7XG5cbiAgICB0aGlzLmxvYWRQcm9jZXNzRGVmaW5pdGlvblZlcnNpb25zKGtleSwgdHlwZSk7XG4gICAgaWYgKHR5cGUgPT09ICdzb3VyY2UnKSB7XG4gICAgICB0aGlzLmxvYWRQcm9jZXNzRGVmaW5pdGlvblZlcnNpb25zKGtleSwgJ3RhcmdldCcpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvblZlcnNpb25TZWxlY3RlZChzZWxlY3Rpb246IExpc3RJdGVtIHwgTGlzdEl0ZW1bXSwgdHlwZTogc3RyaW5nKSB7XG4gICAgY29uc3QgaXRlbSA9IEFycmF5LmlzQXJyYXkoc2VsZWN0aW9uKSA/IHNlbGVjdGlvblswXSA6IHNlbGVjdGlvbjtcbiAgICB0aGlzLmxvYWRQcm9jZXNzKGl0ZW0/LmlkID8/IG51bGwsIHR5cGUpO1xuICB9XG5cbiAgcHVibGljIG9uU291cmNlRGVmaW5pdGlvbkNsZWFyKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuc291cmNlVmVyc2lvbkNvbWJvYm94LmNsZWFySW5wdXQoZXZlbnQpO1xuICAgIHRoaXMudGFyZ2V0RGVmaW5pdGlvbkNvbWJvQm94LmNsZWFySW5wdXQoZXZlbnQpO1xuICAgIHRoaXMudGFyZ2V0VmVyc2lvbkNvbWJvYm94LmNsZWFySW5wdXQoZXZlbnQpO1xuICB9XG5cbiAgcHVibGljIG9uVGFyZ2V0RGVmaW5pdGlvbkNsZWFyKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMudGFyZ2V0VmVyc2lvbkNvbWJvYm94LmNsZWFySW5wdXQoZXZlbnQpO1xuICB9XG5cbiAgcHVibGljIG9uVGFza01hcHBpbmdTZWxlY3RlZChzZWxlY3Rpb246IExpc3RJdGVtIHwgTGlzdEl0ZW1bXSwgbm9kZUlkOiBzdHJpbmcpIHtcbiAgICBjb25zdCBpdGVtID0gQXJyYXkuaXNBcnJheShzZWxlY3Rpb24pID8gc2VsZWN0aW9uWzBdIDogc2VsZWN0aW9uO1xuICAgIHRoaXMudGFza01hcHBpbmdbbm9kZUlkXSA9IGl0ZW0/LmlkID8/IG51bGw7XG4gIH1cblxuICBsb2FkUHJvY2Vzc0RlZmluaXRpb25WZXJzaW9ucyhrZXk6IHN0cmluZyB8IG51bGwsIHR5cGU6IHN0cmluZykge1xuICAgIHRoaXMuZmllbGRzW3R5cGVdLmRlZmluaXRpb24gPSBrZXk7XG4gICAgdGhpcy5zZWxlY3RlZFZlcnNpb25zW3R5cGVdID0gW107XG4gICAgdGhpcy5jbGVhclByb2Nlc3ModHlwZSk7XG4gICAgdGhpcy5yZWZyZXNoRGVmaW5pdGlvbkl0ZW1zKCk7XG4gICAgdGhpcy5yZWZyZXNoVmVyc2lvbkl0ZW1zKHR5cGUpO1xuICAgIGlmIChrZXkpIHtcbiAgICAgIHRoaXMucHJvY2Vzc1NlcnZpY2VcbiAgICAgICAgLmdldFByb2Nlc3NEZWZpbml0aW9uVmVyc2lvbnMoa2V5KVxuICAgICAgICAuc3Vic2NyaWJlKChwcm9jZXNzRGVmaW5pdGlvblZlcnNpb25zOiBQcm9jZXNzRGVmaW5pdGlvbltdKSA9PiB7XG4gICAgICAgICAgaWYgKHRoaXMuZmllbGRzW3R5cGVdLmRlZmluaXRpb24gIT09IGtleSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLnNlbGVjdGVkVmVyc2lvbnNbdHlwZV0gPSBwcm9jZXNzRGVmaW5pdGlvblZlcnNpb25zO1xuICAgICAgICAgIHRoaXMucmVmcmVzaFZlcnNpb25JdGVtcyh0eXBlKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgbG9hZFByb2Nlc3MoaWQ6IHN0cmluZyB8IG51bGwsIHR5cGU6IHN0cmluZykge1xuICAgIHRoaXMuZmllbGRzW3R5cGVdLnZlcnNpb24gPSBpZDtcbiAgICB0aGlzLmNsZWFyUHJvY2Vzcyh0eXBlKTtcbiAgICB0aGlzLnJlZnJlc2hWZXJzaW9uSXRlbXModHlwZSk7XG4gICAgaWYgKGlkKSB7XG4gICAgICB0aGlzLmxvYWRQcm9jZXNzRGVmaW5pdGlvblhNTChpZCwgdHlwZSk7XG4gICAgICBpZiAodHlwZSA9PT0gJ3NvdXJjZScpIHtcbiAgICAgICAgdGhpcy5sb2FkUHJvY2Vzc0NvdW50KGlkKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNsZWFyUHJvY2Vzcyh0eXBlOiBzdHJpbmcpIHtcbiAgICB0aGlzLmxvYWRlZFt0eXBlXSA9IGZhbHNlO1xuICAgIHRoaXMuc2VsZWN0ZWRJZFt0eXBlXSA9IG51bGw7XG4gICAgdGhpcy5kaWFncmFtW3R5cGVdLmNsZWFyKCk7XG4gICAgaWYgKHR5cGUgPT09ICdzb3VyY2UnKSB7XG4gICAgICB0aGlzLnByb2Nlc3NDb3VudCA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgbG9hZFByb2Nlc3NEZWZpbml0aW9uWE1MKGlkOiBzdHJpbmcsIHR5cGU6IHN0cmluZykge1xuICAgIHRoaXMucHJvY2Vzc1NlcnZpY2UuZ2V0UHJvY2Vzc0RlZmluaXRpb25YbWwoaWQpLnN1YnNjcmliZSh4bWwgPT4ge1xuICAgICAgdGhpcy5kaWFncmFtW3R5cGVdLmxvYWRYbWwoeG1sWydicG1uMjBYbWwnXSk7XG4gICAgICB0aGlzLnNlbGVjdGVkSWRbdHlwZV0gPSBpZDtcbiAgICB9KTtcbiAgfVxuXG4gIGxvYWRQcm9jZXNzQ291bnQoaWQ6IHN0cmluZykge1xuICAgIHRoaXMucHJvY2Vzc1NlcnZpY2UuZ2V0UHJvY2Vzc0NvdW50KGlkKS5zdWJzY3JpYmUocmVzcG9uc2UgPT4ge1xuICAgICAgdGhpcy5wcm9jZXNzQ291bnQgPSByZXNwb25zZS5jb3VudDtcbiAgICB9KTtcbiAgfVxuXG4gIHNldFVuaXF1ZUZsb3dOb2RlTWFwKCkge1xuICAgIHRoaXMudW5pcXVlRmxvd05vZGVNYXAgPSBbXTtcbiAgICBjb25zdCBzb3VyY2VGbG93Tm9kZU1hcCA9IHRoaXMuc291cmNlRGlhZ3JhbS5mbG93Tm9kZU1hcDtcbiAgICBjb25zdCB0YXJnZXRGbG93Tm9kZU1hcCA9IHRoaXMudGFyZ2V0RGlhZ3JhbS5mbG93Tm9kZU1hcDtcblxuICAgIGlmIChzb3VyY2VGbG93Tm9kZU1hcCAhPSBudWxsICYmIHRhcmdldEZsb3dOb2RlTWFwICE9IG51bGwpIHtcbiAgICAgIHRoaXMudW5pcXVlRmxvd05vZGVNYXAgPSBzb3VyY2VGbG93Tm9kZU1hcC5maWx0ZXIoXG4gICAgICAgIHNvdXJjZUZsb3dOb2RlID0+XG4gICAgICAgICAgIXRhcmdldEZsb3dOb2RlTWFwLnNvbWUoXG4gICAgICAgICAgICB0YXJnZXRGbG93Tm9kZSA9PlxuICAgICAgICAgICAgICBzb3VyY2VGbG93Tm9kZS5pZCA9PT0gdGFyZ2V0Rmxvd05vZGUuaWQgJiZcbiAgICAgICAgICAgICAgc291cmNlRmxvd05vZGUuJHR5cGUgPT09IHRhcmdldEZsb3dOb2RlLiR0eXBlXG4gICAgICAgICAgKVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBnZXRGaWx0ZXJlZFRhcmdldEZsb3dOb2RlTWFwKGZsb3dOb2RlVHlwZSkge1xuICAgIGNvbnN0IHRhcmdldEZsb3dOb2RlTWFwID0gdGhpcy50YXJnZXREaWFncmFtLmZsb3dOb2RlTWFwO1xuICAgIHJldHVybiB0YXJnZXRGbG93Tm9kZU1hcC5maWx0ZXIoZnVuY3Rpb24gKGZsb3dOb2RlKSB7XG4gICAgICByZXR1cm4gZmxvd05vZGUuJHR5cGUgPT09IGZsb3dOb2RlVHlwZTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRGaWx0ZXJlZFRhcmdldEZsb3dOb2RlTWFwSXRlbXMobm9kZSk6IExpc3RJdGVtW10ge1xuICAgIGlmICghdGhpcy50YXJnZXRGbG93Tm9kZUl0ZW1zTWFwLmhhcyhub2RlLmlkKSkge1xuICAgICAgdGhpcy50YXJnZXRGbG93Tm9kZUl0ZW1zTWFwLnNldChcbiAgICAgICAgbm9kZS5pZCxcbiAgICAgICAgdGhpcy5nZXRGaWx0ZXJlZFRhcmdldEZsb3dOb2RlTWFwKG5vZGUuJHR5cGUpLm1hcCh0YXJnZXRGbG93Tm9kZSA9PiAoe1xuICAgICAgICAgIGlkOiB0YXJnZXRGbG93Tm9kZS5pZCxcbiAgICAgICAgICBjb250ZW50OiB0YXJnZXRGbG93Tm9kZS5uYW1lIHx8IHRhcmdldEZsb3dOb2RlLmlkLFxuICAgICAgICAgIHNlbGVjdGVkOiB0aGlzLnRhc2tNYXBwaW5nW25vZGUuaWRdID09PSB0YXJnZXRGbG93Tm9kZS5pZCxcbiAgICAgICAgfSkpXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy50YXJnZXRGbG93Tm9kZUl0ZW1zTWFwLmdldChub2RlLmlkKTtcbiAgfVxuXG4gIGRpYWdyYW1Mb2FkZWQoZGlhZ3JhbU5hbWU6IHN0cmluZykge1xuICAgIHRoaXMubG9hZGVkW2RpYWdyYW1OYW1lXSA9IHRydWU7XG4gICAgaWYgKHRoaXMubG9hZGVkLnNvdXJjZSAmJiB0aGlzLmxvYWRlZC50YXJnZXQpIHtcbiAgICAgIHRoaXMudGFza01hcHBpbmcgPSB7fTtcbiAgICAgIHRoaXMudGFyZ2V0Rmxvd05vZGVJdGVtc01hcC5jbGVhcigpO1xuICAgICAgdGhpcy5zZXRVbmlxdWVGbG93Tm9kZU1hcCgpO1xuICAgIH1cbiAgfVxuXG4gIG1pZ3JhdGVQcm9jZXNzKCkge1xuICAgIHRoaXMucHJvY2Vzc1NlcnZpY2VcbiAgICAgIC5taWdyYXRlUHJvY2Vzcyh0aGlzLnNlbGVjdGVkSWQuc291cmNlLCB0aGlzLnNlbGVjdGVkSWQudGFyZ2V0LCB0aGlzLnRhc2tNYXBwaW5nKVxuICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgcmVzID0+IHtcbiAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5zdWNjZXNzKCdQcm9jZXNzIHN1Y2Nlc3NmdWxseSBtaWdyYXRlZCEnKTtcbiAgICAgICAgICB0aGlzLmNsZWFyUHJvY2Vzcygnc291cmNlJyk7XG4gICAgICAgICAgdGhpcy5jbGVhclByb2Nlc3MoJ3RhcmdldCcpO1xuICAgICAgICAgIHRoaXMuZmllbGRzID0ge1xuICAgICAgICAgICAgc291cmNlOiB7XG4gICAgICAgICAgICAgIGRlZmluaXRpb246IG51bGwsXG4gICAgICAgICAgICAgIHZlcnNpb246IG51bGwsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdGFyZ2V0OiB7XG4gICAgICAgICAgICAgIGRlZmluaXRpb246IG51bGwsXG4gICAgICAgICAgICAgIHZlcnNpb246IG51bGwsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH07XG4gICAgICAgICAgdGhpcy5yZWZyZXNoRGVmaW5pdGlvbkl0ZW1zKCk7XG4gICAgICAgICAgdGhpcy5yZWZyZXNoVmVyc2lvbkl0ZW1zKCdzb3VyY2UnKTtcbiAgICAgICAgICB0aGlzLnJlZnJlc2hWZXJzaW9uSXRlbXMoJ3RhcmdldCcpO1xuICAgICAgICB9LFxuICAgICAgICBlcnIgPT4ge1xuICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmVycm9yKCdQcm9jZXNzIG1pZ3JhdGlvbiBmYWlsZWQhJyk7XG4gICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoZXJyKTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgfVxufVxuIiwiPCEtLVxuICB+IENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICB+XG4gIH4gTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gIH4geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICB+IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICB+XG4gIH4gaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICB+XG4gIH4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICB+IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAgfiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgfiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIH4gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gIC0tPlxuXG48ZGl2IGNsYXNzPVwibWFpbi1jb250ZW50XCI+XG4gIDxkaXYgY2xhc3M9XCJjb250YWluZXItZmx1aWRcIj5cbiAgICA8ZGl2IGNsYXNzPVwicm93IG1iLTVcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFsZXJ0IGFsZXJ0LXdhcm5pbmcgcGwtMiBwbHItMlwiIHJvbGU9XCJhbGVydFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpY29uXCI+PHNwYW4gY2xhc3M9XCJtZGkgbWRpLWFsZXJ0LXRyaWFuZ2xlXCI+PC9zcGFuPjwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZXNzYWdlXCIgW2lubmVySFRNTF09XCInUHJvY2VzcyBtaWdyYXRpb24gd2FybmluZycgfCB0cmFuc2xhdGVcIj48L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwicm93IG1iLTVcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtNFwiPlxuICAgICAgICA8Y2RzLWNvbWJvLWJveFxuICAgICAgICAgIFtkcm9wVXBdPVwiZmFsc2VcIlxuICAgICAgICAgIFthcHBlbmRJbmxpbmVdPVwidHJ1ZVwiXG4gICAgICAgICAgW2xhYmVsXT1cIidTb3VyY2UgRGVmaW5pdGlvbicgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInLSAnICsgKCdTb3VyY2UgRGVmaW5pdGlvbicgfCB0cmFuc2xhdGUpICsgJyAtJ1wiXG4gICAgICAgICAgW2l0ZW1zXT1cInNvdXJjZURlZmluaXRpb25JdGVtc1wiXG4gICAgICAgICAgKHNlbGVjdGVkKT1cIm9uRGVmaW5pdGlvblNlbGVjdGVkKCRldmVudCwgJ3NvdXJjZScpXCJcbiAgICAgICAgICAoY2xlYXIpPVwib25Tb3VyY2VEZWZpbml0aW9uQ2xlYXIoJGV2ZW50KVwiXG4gICAgICAgID5cbiAgICAgICAgICA8Y2RzLWRyb3Bkb3duLWxpc3Q+PC9jZHMtZHJvcGRvd24tbGlzdD5cbiAgICAgICAgPC9jZHMtY29tYm8tYm94PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLTJcIj5cbiAgICAgICAgPGNkcy1jb21iby1ib3hcbiAgICAgICAgICAjc291cmNlVmVyc2lvbkNvbWJvYm94XG4gICAgICAgICAgW2Ryb3BVcF09XCJmYWxzZVwiXG4gICAgICAgICAgW2FwcGVuZElubGluZV09XCJ0cnVlXCJcbiAgICAgICAgICBbbGFiZWxdPVwiJ1NvdXJjZSBEZWZpbml0aW9uJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIictICcgKyAoJ1NvdXJjZSBWZXJzaW9uJyB8IHRyYW5zbGF0ZSkgKyAnIC0nXCJcbiAgICAgICAgICBbaXRlbXNdPVwic291cmNlVmVyc2lvbkl0ZW1zXCJcbiAgICAgICAgICAoc2VsZWN0ZWQpPVwib25WZXJzaW9uU2VsZWN0ZWQoJGV2ZW50LCAnc291cmNlJylcIlxuICAgICAgICA+XG4gICAgICAgICAgPGNkcy1kcm9wZG93bi1saXN0PjwvY2RzLWRyb3Bkb3duLWxpc3Q+XG4gICAgICAgIDwvY2RzLWNvbWJvLWJveD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImNvbC00XCI+XG4gICAgICAgIDxjZHMtY29tYm8tYm94XG4gICAgICAgICAgI3RhcmdldERlZmluaXRpb25Db21ib0JveFxuICAgICAgICAgIFtkcm9wVXBdPVwiZmFsc2VcIlxuICAgICAgICAgIFthcHBlbmRJbmxpbmVdPVwidHJ1ZVwiXG4gICAgICAgICAgW2xhYmVsXT1cIidUYXJnZXQgRGVmaW5pdGlvbicgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInLSAnICsgKCdUYXJnZXQgRGVmaW5pdGlvbicgfCB0cmFuc2xhdGUpICsgJyAtJ1wiXG4gICAgICAgICAgW2l0ZW1zXT1cInRhcmdldERlZmluaXRpb25JdGVtc1wiXG4gICAgICAgICAgKHNlbGVjdGVkKT1cIm9uRGVmaW5pdGlvblNlbGVjdGVkKCRldmVudCwgJ3RhcmdldCcpXCJcbiAgICAgICAgICAoY2xlYXIpPVwib25UYXJnZXREZWZpbml0aW9uQ2xlYXIoJGV2ZW50KVwiXG4gICAgICAgID5cbiAgICAgICAgICA8Y2RzLWRyb3Bkb3duLWxpc3Q+PC9jZHMtZHJvcGRvd24tbGlzdD5cbiAgICAgICAgPC9jZHMtY29tYm8tYm94PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLTJcIj5cbiAgICAgICAgPGNkcy1jb21iby1ib3hcbiAgICAgICAgICAjdGFyZ2V0VmVyc2lvbkNvbWJvYm94XG4gICAgICAgICAgW2Ryb3BVcF09XCJmYWxzZVwiXG4gICAgICAgICAgW2FwcGVuZElubGluZV09XCJ0cnVlXCJcbiAgICAgICAgICBbbGFiZWxdPVwiJ1RhcmdldCBWZXJzaW9uJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIictICcgKyAoJ1RhcmdldCBWZXJzaW9uJyB8IHRyYW5zbGF0ZSkgKyAnIC0nXCJcbiAgICAgICAgICBbaXRlbXNdPVwidGFyZ2V0VmVyc2lvbkl0ZW1zXCJcbiAgICAgICAgICAoc2VsZWN0ZWQpPVwib25WZXJzaW9uU2VsZWN0ZWQoJGV2ZW50LCAndGFyZ2V0JylcIlxuICAgICAgICA+XG4gICAgICAgICAgPGNkcy1kcm9wZG93bi1saXN0PjwvY2RzLWRyb3Bkb3duLWxpc3Q+XG4gICAgICAgIDwvY2RzLWNvbWJvLWJveD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cInJvdyBtYi01XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLTZcIj5cbiAgICAgICAgPHZhbHRpbW8tbWlncmF0aW9uLXByb2Nlc3MtZGlhZ3JhbVxuICAgICAgICAgIG5hbWU9XCJzb3VyY2VcIlxuICAgICAgICAgIChsb2FkZWQpPVwiZGlhZ3JhbUxvYWRlZCgkZXZlbnQpXCJcbiAgICAgICAgICAjc291cmNlRGlhZ3JhbVxuICAgICAgICA+PC92YWx0aW1vLW1pZ3JhdGlvbi1wcm9jZXNzLWRpYWdyYW0+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtNlwiPlxuICAgICAgICA8dmFsdGltby1taWdyYXRpb24tcHJvY2Vzcy1kaWFncmFtXG4gICAgICAgICAgbmFtZT1cInRhcmdldFwiXG4gICAgICAgICAgKGxvYWRlZCk9XCJkaWFncmFtTG9hZGVkKCRldmVudClcIlxuICAgICAgICAgICN0YXJnZXREaWFncmFtXG4gICAgICAgID48L3ZhbHRpbW8tbWlncmF0aW9uLXByb2Nlc3MtZGlhZ3JhbT5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDx0YWJsZSBjbGFzcz1cInRhYmxlIHRhYmxlLXN0cmlwZWQgbWItNVwiICpuZ0lmPVwic2VsZWN0ZWRJZC5zb3VyY2UgJiYgc2VsZWN0ZWRJZC50YXJnZXRcIj5cbiAgICAgIDx0ciAqbmdGb3I9XCJsZXQgbm9kZSBvZiB1bmlxdWVGbG93Tm9kZU1hcFwiPlxuICAgICAgICA8dGQ+e3sgbm9kZS5uYW1lID8gbm9kZS5uYW1lIDogbm9kZS5pZCB9fTwvdGQ+XG4gICAgICAgIDx0ZD5cbiAgICAgICAgICA8Y2RzLWNvbWJvLWJveFxuICAgICAgICAgICAgW2Ryb3BVcF09XCJmYWxzZVwiXG4gICAgICAgICAgICBbYXBwZW5kSW5saW5lXT1cInRydWVcIlxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIictICcgKyAoJ0Nob29zZSBUYXJnZXQnIHwgdHJhbnNsYXRlKSArICcgLSdcIlxuICAgICAgICAgICAgW2l0ZW1zXT1cImdldEZpbHRlcmVkVGFyZ2V0Rmxvd05vZGVNYXBJdGVtcyhub2RlKVwiXG4gICAgICAgICAgICAoc2VsZWN0ZWQpPVwib25UYXNrTWFwcGluZ1NlbGVjdGVkKCRldmVudCwgbm9kZS5pZClcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxjZHMtZHJvcGRvd24tbGlzdD48L2Nkcy1kcm9wZG93bi1saXN0PlxuICAgICAgICAgIDwvY2RzLWNvbWJvLWJveD5cbiAgICAgICAgPC90ZD5cbiAgICAgIDwvdHI+XG4gICAgPC90YWJsZT5cbiAgICA8aHIgLz5cbiAgICA8ZGl2IGNsYXNzPVwiYnRuLWdyb3VwIG1iLTVcIj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgW2Rpc2FibGVkXT1cIlxuICAgICAgICAgICh1bmlxdWVGbG93Tm9kZU1hcC5sZW5ndGggIT09IHRhc2tNYXBwaW5nTGVuZ3RoICYmIHVuaXF1ZUZsb3dOb2RlTWFwLmxlbmd0aCA+IDApIHx8XG4gICAgICAgICAgIWxvYWRlZC5zb3VyY2UgfHxcbiAgICAgICAgICAhbG9hZGVkLnRhcmdldFxuICAgICAgICBcIlxuICAgICAgICAoY2xpY2spPVwibWlncmF0ZVByb2Nlc3MoKVwiXG4gICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCJcbiAgICAgID5cbiAgICAgICAgTWlncmF0ZVxuICAgICAgICA8c3BhbiAqbmdJZj1cInByb2Nlc3NDb3VudCAhPT0gbnVsbFwiIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtcGlsbCBiYWRnZS1zZWNvbmRhcnlcIj57e1xuICAgICAgICAgIHByb2Nlc3NDb3VudFxuICAgICAgICB9fTwvc3Bhbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -21,6 +21,7 @@ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
|
21
21
|
import { MigrationProcessDiagramComponent } from './migration-process-diagram/migration-process-diagram.component';
|
|
22
22
|
import { WidgetModule } from '@valtimo/components';
|
|
23
23
|
import { TranslateModule } from '@ngx-translate/core';
|
|
24
|
+
import { ComboBoxModule } from 'carbon-components-angular';
|
|
24
25
|
import * as i0 from "@angular/core";
|
|
25
26
|
export class MigrationModule {
|
|
26
27
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MigrationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
@@ -29,13 +30,15 @@ export class MigrationModule {
|
|
|
29
30
|
ReactiveFormsModule,
|
|
30
31
|
WidgetModule,
|
|
31
32
|
FormsModule,
|
|
32
|
-
TranslateModule
|
|
33
|
+
TranslateModule,
|
|
34
|
+
ComboBoxModule], exports: [MigrationComponent] }); }
|
|
33
35
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MigrationModule, imports: [CommonModule,
|
|
34
36
|
MigrationRoutingModule,
|
|
35
37
|
ReactiveFormsModule,
|
|
36
38
|
WidgetModule,
|
|
37
39
|
FormsModule,
|
|
38
|
-
TranslateModule
|
|
40
|
+
TranslateModule,
|
|
41
|
+
ComboBoxModule] }); }
|
|
39
42
|
}
|
|
40
43
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MigrationModule, decorators: [{
|
|
41
44
|
type: NgModule,
|
|
@@ -48,8 +51,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
48
51
|
WidgetModule,
|
|
49
52
|
FormsModule,
|
|
50
53
|
TranslateModule,
|
|
54
|
+
ComboBoxModule,
|
|
51
55
|
],
|
|
52
56
|
exports: [MigrationComponent],
|
|
53
57
|
}]
|
|
54
58
|
}] });
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlncmF0aW9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vbWlncmF0aW9uL3NyYy9saWIvbWlncmF0aW9uLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDekQsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDbEUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxXQUFXLEVBQUUsbUJBQW1CLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQUMsZ0NBQWdDLEVBQUMsTUFBTSxpRUFBaUUsQ0FBQztBQUNqSCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDakQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQzs7QUFlekQsTUFBTSxPQUFPLGVBQWU7K0dBQWYsZUFBZTtnSEFBZixlQUFlLGlCQVpYLGtCQUFrQixFQUFFLGdDQUFnQyxhQUVqRSxZQUFZO1lBQ1osc0JBQXNCO1lBQ3RCLG1CQUFtQjtZQUNuQixZQUFZO1lBQ1osV0FBVztZQUNYLGVBQWU7WUFDZixjQUFjLGFBRU4sa0JBQWtCO2dIQUVqQixlQUFlLFlBVnhCLFlBQVk7WUFDWixzQkFBc0I7WUFDdEIsbUJBQW1CO1lBQ25CLFlBQVk7WUFDWixXQUFXO1lBQ1gsZUFBZTtZQUNmLGNBQWM7OzRGQUlMLGVBQWU7a0JBYjNCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsa0JBQWtCLEVBQUUsZ0NBQWdDLENBQUM7b0JBQ3BFLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLHNCQUFzQjt3QkFDdEIsbUJBQW1CO3dCQUNuQixZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsZUFBZTt3QkFDZixjQUFjO3FCQUNmO29CQUNELE9BQU8sRUFBRSxDQUFDLGtCQUFrQixDQUFDO2lCQUM5QiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtNaWdyYXRpb25Db21wb25lbnR9IGZyb20gJy4vbWlncmF0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQge01pZ3JhdGlvblJvdXRpbmdNb2R1bGV9IGZyb20gJy4vbWlncmF0aW9uLXJvdXRpbmcubW9kdWxlJztcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtNaWdyYXRpb25Qcm9jZXNzRGlhZ3JhbUNvbXBvbmVudH0gZnJvbSAnLi9taWdyYXRpb24tcHJvY2Vzcy1kaWFncmFtL21pZ3JhdGlvbi1wcm9jZXNzLWRpYWdyYW0uY29tcG9uZW50JztcbmltcG9ydCB7V2lkZ2V0TW9kdWxlfSBmcm9tICdAdmFsdGltby9jb21wb25lbnRzJztcbmltcG9ydCB7VHJhbnNsYXRlTW9kdWxlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7Q29tYm9Cb3hNb2R1bGV9IGZyb20gJ2NhcmJvbi1jb21wb25lbnRzLWFuZ3VsYXInO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtNaWdyYXRpb25Db21wb25lbnQsIE1pZ3JhdGlvblByb2Nlc3NEaWFncmFtQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBNaWdyYXRpb25Sb3V0aW5nTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgV2lkZ2V0TW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBDb21ib0JveE1vZHVsZSxcbiAgXSxcbiAgZXhwb3J0czogW01pZ3JhdGlvbkNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIE1pZ3JhdGlvbk1vZHVsZSB7fVxuIl19
|
|
@@ -6,15 +6,17 @@ import * as i3 from '@valtimo/components';
|
|
|
6
6
|
import { WidgetModule } from '@valtimo/components';
|
|
7
7
|
import * as i4 from '@angular/common';
|
|
8
8
|
import { CommonModule } from '@angular/common';
|
|
9
|
-
import * as i5 from '
|
|
10
|
-
import {
|
|
9
|
+
import * as i5 from 'carbon-components-angular';
|
|
10
|
+
import { ComboBoxModule } from 'carbon-components-angular';
|
|
11
|
+
import * as i6 from 'carbon-components-angular/dropdown';
|
|
11
12
|
import BpmnJS from 'bpmn-js/dist/bpmn-navigated-viewer.production.min.js';
|
|
12
|
-
import * as
|
|
13
|
+
import * as i8 from '@ngx-translate/core';
|
|
13
14
|
import { TranslateModule } from '@ngx-translate/core';
|
|
14
15
|
import * as i1$2 from '@angular/router';
|
|
15
16
|
import { RouterModule } from '@angular/router';
|
|
16
17
|
import { AuthGuardService } from '@valtimo/security';
|
|
17
18
|
import { ROLE_ADMIN } from '@valtimo/config';
|
|
19
|
+
import { ReactiveFormsModule, FormsModule } from '@angular/forms';
|
|
18
20
|
|
|
19
21
|
/*
|
|
20
22
|
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
@@ -159,6 +161,11 @@ class MigrationComponent {
|
|
|
159
161
|
this.uniqueFlowNodeMap = [];
|
|
160
162
|
this.taskMapping = {};
|
|
161
163
|
this.diagram = null;
|
|
164
|
+
this.sourceDefinitionItems = [];
|
|
165
|
+
this.targetDefinitionItems = [];
|
|
166
|
+
this.sourceVersionItems = [];
|
|
167
|
+
this.targetVersionItems = [];
|
|
168
|
+
this.targetFlowNodeItemsMap = new Map();
|
|
162
169
|
}
|
|
163
170
|
ngOnInit() {
|
|
164
171
|
this.loadProcessDefinitions();
|
|
@@ -172,28 +179,85 @@ class MigrationComponent {
|
|
|
172
179
|
get taskMappingLength() {
|
|
173
180
|
return Object.keys(this.taskMapping).length;
|
|
174
181
|
}
|
|
182
|
+
refreshDefinitionItems() {
|
|
183
|
+
this.sourceDefinitionItems = this.processDefinitions.map(processDef => ({
|
|
184
|
+
key: processDef.key,
|
|
185
|
+
content: processDef.name,
|
|
186
|
+
selected: this.fields.source.definition === processDef.key,
|
|
187
|
+
}));
|
|
188
|
+
this.targetDefinitionItems = this.processDefinitions.map(processDef => ({
|
|
189
|
+
key: processDef.key,
|
|
190
|
+
content: processDef.name,
|
|
191
|
+
selected: this.fields.target.definition === processDef.key,
|
|
192
|
+
}));
|
|
193
|
+
}
|
|
194
|
+
refreshVersionItems(type) {
|
|
195
|
+
const items = this.selectedVersions[type].map(processVer => ({
|
|
196
|
+
id: processVer.id,
|
|
197
|
+
content: `${processVer.version}`,
|
|
198
|
+
selected: this.fields[type].version === processVer.id,
|
|
199
|
+
}));
|
|
200
|
+
if (type === 'source') {
|
|
201
|
+
this.sourceVersionItems = items;
|
|
202
|
+
}
|
|
203
|
+
else {
|
|
204
|
+
this.targetVersionItems = items;
|
|
205
|
+
}
|
|
206
|
+
}
|
|
175
207
|
loadProcessDefinitions() {
|
|
176
208
|
this.processService
|
|
177
209
|
.getProcessDefinitions()
|
|
178
210
|
.subscribe((processDefinitions) => {
|
|
179
211
|
this.processDefinitions = processDefinitions;
|
|
212
|
+
this.refreshDefinitionItems();
|
|
180
213
|
});
|
|
181
214
|
}
|
|
215
|
+
onDefinitionSelected(selection, type) {
|
|
216
|
+
const item = Array.isArray(selection) ? selection[0] : selection;
|
|
217
|
+
const key = item?.key ?? null;
|
|
218
|
+
this.loadProcessDefinitionVersions(key, type);
|
|
219
|
+
if (type === 'source') {
|
|
220
|
+
this.loadProcessDefinitionVersions(key, 'target');
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
onVersionSelected(selection, type) {
|
|
224
|
+
const item = Array.isArray(selection) ? selection[0] : selection;
|
|
225
|
+
this.loadProcess(item?.id ?? null, type);
|
|
226
|
+
}
|
|
227
|
+
onSourceDefinitionClear(event) {
|
|
228
|
+
this.sourceVersionCombobox.clearInput(event);
|
|
229
|
+
this.targetDefinitionComboBox.clearInput(event);
|
|
230
|
+
this.targetVersionCombobox.clearInput(event);
|
|
231
|
+
}
|
|
232
|
+
onTargetDefinitionClear(event) {
|
|
233
|
+
this.targetVersionCombobox.clearInput(event);
|
|
234
|
+
}
|
|
235
|
+
onTaskMappingSelected(selection, nodeId) {
|
|
236
|
+
const item = Array.isArray(selection) ? selection[0] : selection;
|
|
237
|
+
this.taskMapping[nodeId] = item?.id ?? null;
|
|
238
|
+
}
|
|
182
239
|
loadProcessDefinitionVersions(key, type) {
|
|
183
240
|
this.fields[type].definition = key;
|
|
184
241
|
this.selectedVersions[type] = [];
|
|
185
242
|
this.clearProcess(type);
|
|
243
|
+
this.refreshDefinitionItems();
|
|
244
|
+
this.refreshVersionItems(type);
|
|
186
245
|
if (key) {
|
|
187
246
|
this.processService
|
|
188
247
|
.getProcessDefinitionVersions(key)
|
|
189
248
|
.subscribe((processDefinitionVersions) => {
|
|
249
|
+
if (this.fields[type].definition !== key) {
|
|
250
|
+
return;
|
|
251
|
+
}
|
|
190
252
|
this.selectedVersions[type] = processDefinitionVersions;
|
|
253
|
+
this.refreshVersionItems(type);
|
|
191
254
|
});
|
|
192
255
|
}
|
|
193
256
|
}
|
|
194
257
|
loadProcess(id, type) {
|
|
195
258
|
this.fields[type].version = id;
|
|
196
259
|
this.clearProcess(type);
|
|
260
|
+
this.refreshVersionItems(type);
|
|
197
261
|
if (id) {
|
|
198
262
|
this.loadProcessDefinitionXML(id, type);
|
|
199
263
|
if (type === 'source') {
|
|
@@ -235,10 +299,21 @@ class MigrationComponent {
|
|
|
235
299
|
return flowNode.$type === flowNodeType;
|
|
236
300
|
});
|
|
237
301
|
}
|
|
302
|
+
getFilteredTargetFlowNodeMapItems(node) {
|
|
303
|
+
if (!this.targetFlowNodeItemsMap.has(node.id)) {
|
|
304
|
+
this.targetFlowNodeItemsMap.set(node.id, this.getFilteredTargetFlowNodeMap(node.$type).map(targetFlowNode => ({
|
|
305
|
+
id: targetFlowNode.id,
|
|
306
|
+
content: targetFlowNode.name || targetFlowNode.id,
|
|
307
|
+
selected: this.taskMapping[node.id] === targetFlowNode.id,
|
|
308
|
+
})));
|
|
309
|
+
}
|
|
310
|
+
return this.targetFlowNodeItemsMap.get(node.id);
|
|
311
|
+
}
|
|
238
312
|
diagramLoaded(diagramName) {
|
|
239
313
|
this.loaded[diagramName] = true;
|
|
240
314
|
if (this.loaded.source && this.loaded.target) {
|
|
241
315
|
this.taskMapping = {};
|
|
316
|
+
this.targetFlowNodeItemsMap.clear();
|
|
242
317
|
this.setUniqueFlowNodeMap();
|
|
243
318
|
}
|
|
244
319
|
}
|
|
@@ -259,23 +334,35 @@ class MigrationComponent {
|
|
|
259
334
|
version: null,
|
|
260
335
|
},
|
|
261
336
|
};
|
|
337
|
+
this.refreshDefinitionItems();
|
|
338
|
+
this.refreshVersionItems('source');
|
|
339
|
+
this.refreshVersionItems('target');
|
|
262
340
|
}, err => {
|
|
263
341
|
this.alertService.error('Process migration failed!');
|
|
264
342
|
this.logger.debug(err);
|
|
265
343
|
});
|
|
266
344
|
}
|
|
267
345
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MigrationComponent, deps: [{ token: i1$1.ProcessService }, { token: i1.NGXLogger }, { token: i3.AlertService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
268
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: MigrationComponent, selector: "valtimo-migration", viewQueries: [{ propertyName: "sourceDiagram", first: true, predicate: ["sourceDiagram"], descendants: true }, { propertyName: "targetDiagram", first: true, predicate: ["targetDiagram"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"main-content\">\n <div class=\"container-fluid\">\n <div class=\"row mb-5\">\n <div class=\"col-12\">\n <div class=\"alert alert-warning pl-2 plr-2\" role=\"alert\">\n <div class=\"icon\"><span class=\"mdi mdi-alert-triangle\"></span></div>\n <div class=\"message\" [innerHTML]=\"'Process migration warning' | translate\"></div>\n </div>\n </div>\n </div>\n <div class=\"row mb-5\">\n <div class=\"col-4\">\n <
|
|
346
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: MigrationComponent, selector: "valtimo-migration", viewQueries: [{ propertyName: "sourceDiagram", first: true, predicate: ["sourceDiagram"], descendants: true }, { propertyName: "targetDiagram", first: true, predicate: ["targetDiagram"], descendants: true }, { propertyName: "sourceVersionCombobox", first: true, predicate: ["sourceVersionCombobox"], descendants: true }, { propertyName: "targetDefinitionComboBox", first: true, predicate: ["targetDefinitionComboBox"], descendants: true }, { propertyName: "targetVersionCombobox", first: true, predicate: ["targetVersionCombobox"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"main-content\">\n <div class=\"container-fluid\">\n <div class=\"row mb-5\">\n <div class=\"col-12\">\n <div class=\"alert alert-warning pl-2 plr-2\" role=\"alert\">\n <div class=\"icon\"><span class=\"mdi mdi-alert-triangle\"></span></div>\n <div class=\"message\" [innerHTML]=\"'Process migration warning' | translate\"></div>\n </div>\n </div>\n </div>\n <div class=\"row mb-5\">\n <div class=\"col-4\">\n <cds-combo-box\n [dropUp]=\"false\"\n [appendInline]=\"true\"\n [label]=\"'Source Definition' | translate\"\n [placeholder]=\"'- ' + ('Source Definition' | translate) + ' -'\"\n [items]=\"sourceDefinitionItems\"\n (selected)=\"onDefinitionSelected($event, 'source')\"\n (clear)=\"onSourceDefinitionClear($event)\"\n >\n <cds-dropdown-list></cds-dropdown-list>\n </cds-combo-box>\n </div>\n <div class=\"col-2\">\n <cds-combo-box\n #sourceVersionCombobox\n [dropUp]=\"false\"\n [appendInline]=\"true\"\n [label]=\"'Source Definition' | translate\"\n [placeholder]=\"'- ' + ('Source Version' | translate) + ' -'\"\n [items]=\"sourceVersionItems\"\n (selected)=\"onVersionSelected($event, 'source')\"\n >\n <cds-dropdown-list></cds-dropdown-list>\n </cds-combo-box>\n </div>\n <div class=\"col-4\">\n <cds-combo-box\n #targetDefinitionComboBox\n [dropUp]=\"false\"\n [appendInline]=\"true\"\n [label]=\"'Target Definition' | translate\"\n [placeholder]=\"'- ' + ('Target Definition' | translate) + ' -'\"\n [items]=\"targetDefinitionItems\"\n (selected)=\"onDefinitionSelected($event, 'target')\"\n (clear)=\"onTargetDefinitionClear($event)\"\n >\n <cds-dropdown-list></cds-dropdown-list>\n </cds-combo-box>\n </div>\n <div class=\"col-2\">\n <cds-combo-box\n #targetVersionCombobox\n [dropUp]=\"false\"\n [appendInline]=\"true\"\n [label]=\"'Target Version' | translate\"\n [placeholder]=\"'- ' + ('Target Version' | translate) + ' -'\"\n [items]=\"targetVersionItems\"\n (selected)=\"onVersionSelected($event, 'target')\"\n >\n <cds-dropdown-list></cds-dropdown-list>\n </cds-combo-box>\n </div>\n </div>\n\n <div class=\"row mb-5\">\n <div class=\"col-6\">\n <valtimo-migration-process-diagram\n name=\"source\"\n (loaded)=\"diagramLoaded($event)\"\n #sourceDiagram\n ></valtimo-migration-process-diagram>\n </div>\n <div class=\"col-6\">\n <valtimo-migration-process-diagram\n name=\"target\"\n (loaded)=\"diagramLoaded($event)\"\n #targetDiagram\n ></valtimo-migration-process-diagram>\n </div>\n </div>\n <table class=\"table table-striped mb-5\" *ngIf=\"selectedId.source && selectedId.target\">\n <tr *ngFor=\"let node of uniqueFlowNodeMap\">\n <td>{{ node.name ? node.name : node.id }}</td>\n <td>\n <cds-combo-box\n [dropUp]=\"false\"\n [appendInline]=\"true\"\n [placeholder]=\"'- ' + ('Choose Target' | translate) + ' -'\"\n [items]=\"getFilteredTargetFlowNodeMapItems(node)\"\n (selected)=\"onTaskMappingSelected($event, node.id)\"\n >\n <cds-dropdown-list></cds-dropdown-list>\n </cds-combo-box>\n </td>\n </tr>\n </table>\n <hr />\n <div class=\"btn-group mb-5\">\n <button\n [disabled]=\"\n (uniqueFlowNodeMap.length !== taskMappingLength && uniqueFlowNodeMap.length > 0) ||\n !loaded.source ||\n !loaded.target\n \"\n (click)=\"migrateProcess()\"\n class=\"btn btn-primary\"\n >\n Migrate\n <span *ngIf=\"processCount !== null\" class=\"badge badge-pill badge-secondary\">{{\n processCount\n }}</span>\n </button>\n </div>\n </div>\n</div>\n", styles: ["/*!\n * Copyright 2015-2024 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"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.ComboBox, selector: "cds-combo-box, ibm-combo-box", inputs: ["placeholder", "openMenuAria", "closeMenuAria", "clearSelectionsTitle", "clearSelectionsAria", "clearSelectionTitle", "clearSelectionAria", "id", "labelId", "items", "type", "size", "itemValueKey", "label", "hideLabel", "helperText", "appendInline", "invalid", "invalidText", "warn", "warnText", "maxLength", "theme", "selectionFeedback", "autocomplete", "dropUp", "disabled"], outputs: ["selected", "submit", "close", "search", "clear"] }, { kind: "component", type: i6.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "component", type: MigrationProcessDiagramComponent, selector: "valtimo-migration-process-diagram", inputs: ["name"], outputs: ["loaded"] }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }] }); }
|
|
269
347
|
}
|
|
270
348
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MigrationComponent, decorators: [{
|
|
271
349
|
type: Component,
|
|
272
|
-
args: [{ selector: 'valtimo-migration', template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"main-content\">\n <div class=\"container-fluid\">\n <div class=\"row mb-5\">\n <div class=\"col-12\">\n <div class=\"alert alert-warning pl-2 plr-2\" role=\"alert\">\n <div class=\"icon\"><span class=\"mdi mdi-alert-triangle\"></span></div>\n <div class=\"message\" [innerHTML]=\"'Process migration warning' | translate\"></div>\n </div>\n </div>\n </div>\n <div class=\"row mb-5\">\n <div class=\"col-4\">\n <
|
|
350
|
+
args: [{ selector: 'valtimo-migration', template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"main-content\">\n <div class=\"container-fluid\">\n <div class=\"row mb-5\">\n <div class=\"col-12\">\n <div class=\"alert alert-warning pl-2 plr-2\" role=\"alert\">\n <div class=\"icon\"><span class=\"mdi mdi-alert-triangle\"></span></div>\n <div class=\"message\" [innerHTML]=\"'Process migration warning' | translate\"></div>\n </div>\n </div>\n </div>\n <div class=\"row mb-5\">\n <div class=\"col-4\">\n <cds-combo-box\n [dropUp]=\"false\"\n [appendInline]=\"true\"\n [label]=\"'Source Definition' | translate\"\n [placeholder]=\"'- ' + ('Source Definition' | translate) + ' -'\"\n [items]=\"sourceDefinitionItems\"\n (selected)=\"onDefinitionSelected($event, 'source')\"\n (clear)=\"onSourceDefinitionClear($event)\"\n >\n <cds-dropdown-list></cds-dropdown-list>\n </cds-combo-box>\n </div>\n <div class=\"col-2\">\n <cds-combo-box\n #sourceVersionCombobox\n [dropUp]=\"false\"\n [appendInline]=\"true\"\n [label]=\"'Source Definition' | translate\"\n [placeholder]=\"'- ' + ('Source Version' | translate) + ' -'\"\n [items]=\"sourceVersionItems\"\n (selected)=\"onVersionSelected($event, 'source')\"\n >\n <cds-dropdown-list></cds-dropdown-list>\n </cds-combo-box>\n </div>\n <div class=\"col-4\">\n <cds-combo-box\n #targetDefinitionComboBox\n [dropUp]=\"false\"\n [appendInline]=\"true\"\n [label]=\"'Target Definition' | translate\"\n [placeholder]=\"'- ' + ('Target Definition' | translate) + ' -'\"\n [items]=\"targetDefinitionItems\"\n (selected)=\"onDefinitionSelected($event, 'target')\"\n (clear)=\"onTargetDefinitionClear($event)\"\n >\n <cds-dropdown-list></cds-dropdown-list>\n </cds-combo-box>\n </div>\n <div class=\"col-2\">\n <cds-combo-box\n #targetVersionCombobox\n [dropUp]=\"false\"\n [appendInline]=\"true\"\n [label]=\"'Target Version' | translate\"\n [placeholder]=\"'- ' + ('Target Version' | translate) + ' -'\"\n [items]=\"targetVersionItems\"\n (selected)=\"onVersionSelected($event, 'target')\"\n >\n <cds-dropdown-list></cds-dropdown-list>\n </cds-combo-box>\n </div>\n </div>\n\n <div class=\"row mb-5\">\n <div class=\"col-6\">\n <valtimo-migration-process-diagram\n name=\"source\"\n (loaded)=\"diagramLoaded($event)\"\n #sourceDiagram\n ></valtimo-migration-process-diagram>\n </div>\n <div class=\"col-6\">\n <valtimo-migration-process-diagram\n name=\"target\"\n (loaded)=\"diagramLoaded($event)\"\n #targetDiagram\n ></valtimo-migration-process-diagram>\n </div>\n </div>\n <table class=\"table table-striped mb-5\" *ngIf=\"selectedId.source && selectedId.target\">\n <tr *ngFor=\"let node of uniqueFlowNodeMap\">\n <td>{{ node.name ? node.name : node.id }}</td>\n <td>\n <cds-combo-box\n [dropUp]=\"false\"\n [appendInline]=\"true\"\n [placeholder]=\"'- ' + ('Choose Target' | translate) + ' -'\"\n [items]=\"getFilteredTargetFlowNodeMapItems(node)\"\n (selected)=\"onTaskMappingSelected($event, node.id)\"\n >\n <cds-dropdown-list></cds-dropdown-list>\n </cds-combo-box>\n </td>\n </tr>\n </table>\n <hr />\n <div class=\"btn-group mb-5\">\n <button\n [disabled]=\"\n (uniqueFlowNodeMap.length !== taskMappingLength && uniqueFlowNodeMap.length > 0) ||\n !loaded.source ||\n !loaded.target\n \"\n (click)=\"migrateProcess()\"\n class=\"btn btn-primary\"\n >\n Migrate\n <span *ngIf=\"processCount !== null\" class=\"badge badge-pill badge-secondary\">{{\n processCount\n }}</span>\n </button>\n </div>\n </div>\n</div>\n", styles: ["/*!\n * Copyright 2015-2024 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"] }]
|
|
273
351
|
}], ctorParameters: () => [{ type: i1$1.ProcessService }, { type: i1.NGXLogger }, { type: i3.AlertService }], propDecorators: { sourceDiagram: [{
|
|
274
352
|
type: ViewChild,
|
|
275
353
|
args: ['sourceDiagram']
|
|
276
354
|
}], targetDiagram: [{
|
|
277
355
|
type: ViewChild,
|
|
278
356
|
args: ['targetDiagram']
|
|
357
|
+
}], sourceVersionCombobox: [{
|
|
358
|
+
type: ViewChild,
|
|
359
|
+
args: ['sourceVersionCombobox']
|
|
360
|
+
}], targetDefinitionComboBox: [{
|
|
361
|
+
type: ViewChild,
|
|
362
|
+
args: ['targetDefinitionComboBox']
|
|
363
|
+
}], targetVersionCombobox: [{
|
|
364
|
+
type: ViewChild,
|
|
365
|
+
args: ['targetVersionCombobox']
|
|
279
366
|
}] } });
|
|
280
367
|
|
|
281
368
|
/*
|
|
@@ -336,13 +423,15 @@ class MigrationModule {
|
|
|
336
423
|
ReactiveFormsModule,
|
|
337
424
|
WidgetModule,
|
|
338
425
|
FormsModule,
|
|
339
|
-
TranslateModule
|
|
426
|
+
TranslateModule,
|
|
427
|
+
ComboBoxModule], exports: [MigrationComponent] }); }
|
|
340
428
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MigrationModule, imports: [CommonModule,
|
|
341
429
|
MigrationRoutingModule,
|
|
342
430
|
ReactiveFormsModule,
|
|
343
431
|
WidgetModule,
|
|
344
432
|
FormsModule,
|
|
345
|
-
TranslateModule
|
|
433
|
+
TranslateModule,
|
|
434
|
+
ComboBoxModule] }); }
|
|
346
435
|
}
|
|
347
436
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MigrationModule, decorators: [{
|
|
348
437
|
type: NgModule,
|
|
@@ -355,6 +444,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
355
444
|
WidgetModule,
|
|
356
445
|
FormsModule,
|
|
357
446
|
TranslateModule,
|
|
447
|
+
ComboBoxModule,
|
|
358
448
|
],
|
|
359
449
|
exports: [MigrationComponent],
|
|
360
450
|
}]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"valtimo-migration.mjs","sources":["../../../../projects/valtimo/migration/src/lib/migration.service.ts","../../../../projects/valtimo/migration/src/lib/migration-process-diagram/migration-process-diagram.component.ts","../../../../projects/valtimo/migration/src/lib/migration-process-diagram/migration-process-diagram.component.html","../../../../projects/valtimo/migration/src/lib/migration.component.ts","../../../../projects/valtimo/migration/src/lib/migration.component.html","../../../../projects/valtimo/migration/src/lib/migration-routing.module.ts","../../../../projects/valtimo/migration/src/lib/migration.module.ts","../../../../projects/valtimo/migration/src/public-api.ts","../../../../projects/valtimo/migration/src/valtimo-migration.ts"],"sourcesContent":["/*\n * Copyright 2015-2024 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';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MigrationService {\n constructor() {}\n}\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n ViewChild,\n} from '@angular/core';\n\nimport BpmnJS from 'bpmn-js/dist/bpmn-navigated-viewer.production.min.js';\nimport {NGXLogger} from 'ngx-logger';\n\n@Component({\n selector: 'valtimo-migration-process-diagram',\n templateUrl: './migration-process-diagram.component.html',\n styleUrls: ['./migration-process-diagram.component.scss'],\n})\nexport class MigrationProcessDiagramComponent implements OnInit, OnDestroy {\n private bpmnJS: BpmnJS;\n public flowNodeMap: any = null;\n\n @ViewChild('ref') public el: ElementRef;\n @Input() name: string;\n @Output() loaded = new EventEmitter();\n\n constructor(private logger: NGXLogger) {}\n\n ngOnInit() {\n this.bpmnJS = new BpmnJS();\n this.bpmnJS.on('import.done', ({error}: any) => {\n if (!error) {\n const canvas = this.bpmnJS.get('canvas');\n canvas.zoom('fit-viewport', 'auto');\n }\n });\n }\n\n ngOnDestroy() {\n if (this.bpmnJS) {\n this.bpmnJS.destroy();\n }\n }\n\n clear() {\n this.bpmnJS.clear();\n }\n\n public loadXml(xml: string): void {\n this.bpmnJS.attachTo(this.el.nativeElement);\n this.bpmnJS.importXML(xml, err => {\n this.logger.debug(err);\n const processElements = this.bpmnJS.getDefinitions().rootElements.filter(function (element) {\n return element.isExecutable;\n });\n this.flowNodeMap = processElements[0].flowElements.filter(function (element) {\n if (element.name === null || element.name === '') {\n element.name = element.id;\n }\n return element.$type !== 'bpmn:SequenceFlow';\n });\n this.loaded.emit(this.name);\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 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 #ref class=\"diagram-container\"></div>\n","/*\n * Copyright 2015-2024 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 {AfterViewInit, Component, OnInit, ViewChild} from '@angular/core';\nimport {ProcessService, ProcessDefinition} from '@valtimo/process';\nimport {MigrationProcessDiagramComponent} from './migration-process-diagram/migration-process-diagram.component';\nimport {NGXLogger} from 'ngx-logger';\nimport {AlertService} from '@valtimo/components';\n\n@Component({\n selector: 'valtimo-migration',\n templateUrl: './migration.component.html',\n styleUrls: ['./migration.component.scss'],\n})\nexport class MigrationComponent implements OnInit, AfterViewInit {\n public processDefinitions: ProcessDefinition[] = [];\n public selectedVersions = {\n source: [],\n target: [],\n };\n public selectedId = {\n source: null,\n target: null,\n };\n public loaded = {\n source: false,\n target: false,\n };\n public fields = {\n source: {\n definition: null,\n version: null,\n },\n target: {\n definition: null,\n version: null,\n },\n };\n\n public processCount: number | null = null;\n public uniqueFlowNodeMap: any[] = [];\n public taskMapping: any = {};\n\n @ViewChild('sourceDiagram') sourceDiagram: MigrationProcessDiagramComponent;\n @ViewChild('targetDiagram') targetDiagram: MigrationProcessDiagramComponent;\n\n public diagram: any = null;\n\n constructor(\n private processService: ProcessService,\n private logger: NGXLogger,\n private alertService: AlertService\n ) {}\n\n ngOnInit() {\n this.loadProcessDefinitions();\n }\n\n ngAfterViewInit() {\n this.diagram = {\n source: this.sourceDiagram,\n target: this.targetDiagram,\n };\n }\n\n public get taskMappingLength() {\n return Object.keys(this.taskMapping).length;\n }\n\n loadProcessDefinitions() {\n this.processService\n .getProcessDefinitions()\n .subscribe((processDefinitions: ProcessDefinition[]) => {\n this.processDefinitions = processDefinitions;\n });\n }\n\n loadProcessDefinitionVersions(key: string | null, type: string) {\n this.fields[type].definition = key;\n this.selectedVersions[type] = [];\n this.clearProcess(type);\n if (key) {\n this.processService\n .getProcessDefinitionVersions(key)\n .subscribe((processDefinitionVersions: ProcessDefinition[]) => {\n this.selectedVersions[type] = processDefinitionVersions;\n });\n }\n }\n\n loadProcess(id: string | null, type: string) {\n this.fields[type].version = id;\n this.clearProcess(type);\n if (id) {\n this.loadProcessDefinitionXML(id, type);\n if (type === 'source') {\n this.loadProcessCount(id);\n }\n }\n }\n\n private clearProcess(type: string) {\n this.loaded[type] = false;\n this.selectedId[type] = null;\n this.diagram[type].clear();\n if (type === 'source') {\n this.processCount = null;\n }\n }\n\n loadProcessDefinitionXML(id: string, type: string) {\n this.processService.getProcessDefinitionXml(id).subscribe(xml => {\n this.diagram[type].loadXml(xml['bpmn20Xml']);\n this.selectedId[type] = id;\n });\n }\n\n loadProcessCount(id: string) {\n this.processService.getProcessCount(id).subscribe(response => {\n this.processCount = response.count;\n });\n }\n\n setUniqueFlowNodeMap() {\n this.uniqueFlowNodeMap = [];\n const sourceFlowNodeMap = this.sourceDiagram.flowNodeMap;\n const targetFlowNodeMap = this.targetDiagram.flowNodeMap;\n\n if (sourceFlowNodeMap != null && targetFlowNodeMap != null) {\n this.uniqueFlowNodeMap = sourceFlowNodeMap.filter(\n sourceFlowNode =>\n !targetFlowNodeMap.some(\n targetFlowNode =>\n sourceFlowNode.id === targetFlowNode.id &&\n sourceFlowNode.$type === targetFlowNode.$type\n )\n );\n }\n }\n\n getFilteredTargetFlowNodeMap(flowNodeType) {\n const targetFlowNodeMap = this.targetDiagram.flowNodeMap;\n return targetFlowNodeMap.filter(function (flowNode) {\n return flowNode.$type === flowNodeType;\n });\n }\n\n diagramLoaded(diagramName: string) {\n this.loaded[diagramName] = true;\n if (this.loaded.source && this.loaded.target) {\n this.taskMapping = {};\n this.setUniqueFlowNodeMap();\n }\n }\n\n migrateProcess() {\n this.processService\n .migrateProcess(this.selectedId.source, this.selectedId.target, this.taskMapping)\n .subscribe(\n res => {\n this.alertService.success('Process successfully migrated!');\n this.clearProcess('source');\n this.clearProcess('target');\n this.fields = {\n source: {\n definition: null,\n version: null,\n },\n target: {\n definition: null,\n version: null,\n },\n };\n },\n err => {\n this.alertService.error('Process migration failed!');\n this.logger.debug(err);\n }\n );\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"main-content\">\n <div class=\"container-fluid\">\n <div class=\"row mb-5\">\n <div class=\"col-12\">\n <div class=\"alert alert-warning pl-2 plr-2\" role=\"alert\">\n <div class=\"icon\"><span class=\"mdi mdi-alert-triangle\"></span></div>\n <div class=\"message\" [innerHTML]=\"'Process migration warning' | translate\"></div>\n </div>\n </div>\n </div>\n <div class=\"row mb-5\">\n <div class=\"col-4\">\n <label for=\"sourceDef\">Source Definition</label>\n <select\n class=\"form-control\"\n id=\"sourceDef\"\n [ngModel]=\"fields.source.definition\"\n (ngModelChange)=\"loadProcessDefinitionVersions($event, 'source')\"\n >\n <option [ngValue]=\"null\" selected>- Source Definition -</option>\n <option *ngFor=\"let processDef of processDefinitions\" [ngValue]=\"processDef.key\">\n {{ processDef.name }}\n </option>\n </select>\n </div>\n <div class=\"col-2\">\n <label for=\"sourceVer\">Source Version</label>\n <select\n class=\"form-control\"\n id=\"sourceVer\"\n [ngModel]=\"fields.source.version\"\n (ngModelChange)=\"loadProcess($event, 'source')\"\n >\n <option [ngValue]=\"null\" selected>- Source Version -</option>\n <option *ngFor=\"let processVer of selectedVersions.source\" [ngValue]=\"processVer.id\">\n {{ processVer.version }}\n </option>\n </select>\n </div>\n <div class=\"col-4\">\n <label for=\"targetDef\">Target Definition</label>\n <select\n class=\"form-control\"\n id=\"targetDef\"\n [ngModel]=\"fields.target.definition\"\n (ngModelChange)=\"loadProcessDefinitionVersions($event, 'target')\"\n >\n <option [ngValue]=\"null\" selected>- Target Definition -</option>\n <option *ngFor=\"let processDef of processDefinitions\" [ngValue]=\"processDef.key\">\n {{ processDef.name }}\n </option>\n </select>\n </div>\n <div class=\"col-2\">\n <label for=\"targetVer\">Target Version</label>\n <select\n class=\"form-control\"\n id=\"targetVer\"\n [ngModel]=\"fields.target.version\"\n (ngModelChange)=\"loadProcess($event, 'target')\"\n >\n <option [ngValue]=\"null\" selected>- Target Version -</option>\n <option *ngFor=\"let processVer of selectedVersions.target\" [ngValue]=\"processVer.id\">\n {{ processVer.version }}\n </option>\n </select>\n </div>\n </div>\n\n <div class=\"row mb-5\">\n <div class=\"col-6\">\n <valtimo-migration-process-diagram\n name=\"source\"\n (loaded)=\"diagramLoaded($event)\"\n #sourceDiagram\n ></valtimo-migration-process-diagram>\n </div>\n <div class=\"col-6\">\n <valtimo-migration-process-diagram\n name=\"target\"\n (loaded)=\"diagramLoaded($event)\"\n #targetDiagram\n ></valtimo-migration-process-diagram>\n </div>\n </div>\n <table class=\"table table-striped mb-5\" *ngIf=\"selectedId.source && selectedId.target\">\n <tr *ngFor=\"let node of uniqueFlowNodeMap\">\n <td>{{ node.name ? node.name : node.id }}</td>\n <td>\n <select class=\"form-control\" (change)=\"taskMapping[node.id] = $event.target.value\">\n <option [value]=\"null\" disabled selected>- Choose Target -</option>\n <option\n *ngFor=\"let targetFlowNode of getFilteredTargetFlowNodeMap(node.$type)\"\n [value]=\"targetFlowNode.id\"\n >\n {{ targetFlowNode.name ? targetFlowNode.name : targetFlowNode.id }}\n </option>\n </select>\n </td>\n </tr>\n </table>\n <hr />\n <div class=\"btn-group mb-5\">\n <button\n [disabled]=\"\n (uniqueFlowNodeMap.length !== taskMappingLength && uniqueFlowNodeMap.length > 0) ||\n !loaded.source ||\n !loaded.target\n \"\n (click)=\"migrateProcess()\"\n class=\"btn btn-primary\"\n >\n Migrate\n <span *ngIf=\"processCount !== null\" class=\"badge badge-pill badge-secondary\">{{\n processCount\n }}</span>\n </button>\n </div>\n </div>\n</div>\n","/*\n * Copyright 2015-2024 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 {MigrationComponent} from './migration.component';\nimport {ROLE_ADMIN} from '@valtimo/config';\n\nconst routes: Routes = [\n {\n path: 'process-migration',\n component: MigrationComponent,\n canActivate: [AuthGuardService],\n data: {title: 'Process migration', roles: [ROLE_ADMIN]},\n },\n];\n\n@NgModule({\n imports: [CommonModule, RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class MigrationRoutingModule {}\n","/*\n * Copyright 2015-2024 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 {MigrationComponent} from './migration.component';\nimport {MigrationRoutingModule} from './migration-routing.module';\nimport {CommonModule} from '@angular/common';\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\nimport {MigrationProcessDiagramComponent} from './migration-process-diagram/migration-process-diagram.component';\nimport {WidgetModule} from '@valtimo/components';\nimport {TranslateModule} from '@ngx-translate/core';\n\n@NgModule({\n declarations: [MigrationComponent, MigrationProcessDiagramComponent],\n imports: [\n CommonModule,\n MigrationRoutingModule,\n ReactiveFormsModule,\n WidgetModule,\n FormsModule,\n TranslateModule,\n ],\n exports: [MigrationComponent],\n})\nexport class MigrationModule {}\n","/*\n * Copyright 2015-2024 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 migration\n */\n\nexport * from './lib/migration.service';\nexport * from './lib/migration.component';\nexport * from './lib/migration.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i6.MigrationProcessDiagramComponent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"valtimo-migration.mjs","sources":["../../../../projects/valtimo/migration/src/lib/migration.service.ts","../../../../projects/valtimo/migration/src/lib/migration-process-diagram/migration-process-diagram.component.ts","../../../../projects/valtimo/migration/src/lib/migration-process-diagram/migration-process-diagram.component.html","../../../../projects/valtimo/migration/src/lib/migration.component.ts","../../../../projects/valtimo/migration/src/lib/migration.component.html","../../../../projects/valtimo/migration/src/lib/migration-routing.module.ts","../../../../projects/valtimo/migration/src/lib/migration.module.ts","../../../../projects/valtimo/migration/src/public-api.ts","../../../../projects/valtimo/migration/src/valtimo-migration.ts"],"sourcesContent":["/*\n * Copyright 2015-2024 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';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MigrationService {\n constructor() {}\n}\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n ViewChild,\n} from '@angular/core';\n\nimport BpmnJS from 'bpmn-js/dist/bpmn-navigated-viewer.production.min.js';\nimport {NGXLogger} from 'ngx-logger';\n\n@Component({\n selector: 'valtimo-migration-process-diagram',\n templateUrl: './migration-process-diagram.component.html',\n styleUrls: ['./migration-process-diagram.component.scss'],\n})\nexport class MigrationProcessDiagramComponent implements OnInit, OnDestroy {\n private bpmnJS: BpmnJS;\n public flowNodeMap: any = null;\n\n @ViewChild('ref') public el: ElementRef;\n @Input() name: string;\n @Output() loaded = new EventEmitter();\n\n constructor(private logger: NGXLogger) {}\n\n ngOnInit() {\n this.bpmnJS = new BpmnJS();\n this.bpmnJS.on('import.done', ({error}: any) => {\n if (!error) {\n const canvas = this.bpmnJS.get('canvas');\n canvas.zoom('fit-viewport', 'auto');\n }\n });\n }\n\n ngOnDestroy() {\n if (this.bpmnJS) {\n this.bpmnJS.destroy();\n }\n }\n\n clear() {\n this.bpmnJS.clear();\n }\n\n public loadXml(xml: string): void {\n this.bpmnJS.attachTo(this.el.nativeElement);\n this.bpmnJS.importXML(xml, err => {\n this.logger.debug(err);\n const processElements = this.bpmnJS.getDefinitions().rootElements.filter(function (element) {\n return element.isExecutable;\n });\n this.flowNodeMap = processElements[0].flowElements.filter(function (element) {\n if (element.name === null || element.name === '') {\n element.name = element.id;\n }\n return element.$type !== 'bpmn:SequenceFlow';\n });\n this.loaded.emit(this.name);\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 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 #ref class=\"diagram-container\"></div>\n","/*\n * Copyright 2015-2024 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 {AfterViewInit, Component, OnInit, ViewChild} from '@angular/core';\nimport {ProcessDefinition, ProcessService} from '@valtimo/process';\nimport {MigrationProcessDiagramComponent} from './migration-process-diagram/migration-process-diagram.component';\nimport {NGXLogger} from 'ngx-logger';\nimport {AlertService} from '@valtimo/components';\nimport {ComboBox, ListItem} from 'carbon-components-angular';\n\n@Component({\n selector: 'valtimo-migration',\n templateUrl: './migration.component.html',\n styleUrls: ['./migration.component.scss'],\n})\nexport class MigrationComponent implements OnInit, AfterViewInit {\n public processDefinitions: ProcessDefinition[] = [];\n public selectedVersions = {\n source: [],\n target: [],\n };\n public selectedId = {\n source: null,\n target: null,\n };\n public loaded = {\n source: false,\n target: false,\n };\n public fields = {\n source: {\n definition: null,\n version: null,\n },\n target: {\n definition: null,\n version: null,\n },\n };\n\n public processCount: number | null = null;\n public uniqueFlowNodeMap: any[] = [];\n public taskMapping: any = {};\n\n @ViewChild('sourceDiagram') sourceDiagram: MigrationProcessDiagramComponent;\n @ViewChild('targetDiagram') targetDiagram: MigrationProcessDiagramComponent;\n @ViewChild('sourceVersionCombobox') sourceVersionCombobox: ComboBox;\n @ViewChild('targetDefinitionComboBox') targetDefinitionComboBox: ComboBox;\n @ViewChild('targetVersionCombobox') targetVersionCombobox: ComboBox;\n public diagram: any = null;\n\n constructor(\n private processService: ProcessService,\n private logger: NGXLogger,\n private alertService: AlertService\n ) {}\n\n ngOnInit() {\n this.loadProcessDefinitions();\n }\n\n ngAfterViewInit() {\n this.diagram = {\n source: this.sourceDiagram,\n target: this.targetDiagram,\n };\n }\n\n public get taskMappingLength() {\n return Object.keys(this.taskMapping).length;\n }\n\n public sourceDefinitionItems: ListItem[] = [];\n public targetDefinitionItems: ListItem[] = [];\n public sourceVersionItems: ListItem[] = [];\n public targetVersionItems: ListItem[] = [];\n private readonly targetFlowNodeItemsMap = new Map<string, ListItem[]>();\n\n private refreshDefinitionItems(): void {\n this.sourceDefinitionItems = this.processDefinitions.map(processDef => ({\n key: processDef.key,\n content: processDef.name,\n selected: this.fields.source.definition === processDef.key,\n }));\n this.targetDefinitionItems = this.processDefinitions.map(processDef => ({\n key: processDef.key,\n content: processDef.name,\n selected: this.fields.target.definition === processDef.key,\n }));\n }\n\n private refreshVersionItems(type: string): void {\n const items = this.selectedVersions[type].map(processVer => ({\n id: processVer.id,\n content: `${processVer.version}`,\n selected: this.fields[type].version === processVer.id,\n }));\n if (type === 'source') {\n this.sourceVersionItems = items;\n } else {\n this.targetVersionItems = items;\n }\n }\n\n loadProcessDefinitions() {\n this.processService\n .getProcessDefinitions()\n .subscribe((processDefinitions: ProcessDefinition[]) => {\n this.processDefinitions = processDefinitions;\n this.refreshDefinitionItems();\n });\n }\n\n public onDefinitionSelected(selection: ListItem | ListItem[], type: string) {\n const item = Array.isArray(selection) ? selection[0] : selection;\n const key = item?.key ?? null;\n\n this.loadProcessDefinitionVersions(key, type);\n if (type === 'source') {\n this.loadProcessDefinitionVersions(key, 'target');\n }\n }\n\n public onVersionSelected(selection: ListItem | ListItem[], type: string) {\n const item = Array.isArray(selection) ? selection[0] : selection;\n this.loadProcess(item?.id ?? null, type);\n }\n\n public onSourceDefinitionClear(event: Event): void {\n this.sourceVersionCombobox.clearInput(event);\n this.targetDefinitionComboBox.clearInput(event);\n this.targetVersionCombobox.clearInput(event);\n }\n\n public onTargetDefinitionClear(event: Event): void {\n this.targetVersionCombobox.clearInput(event);\n }\n\n public onTaskMappingSelected(selection: ListItem | ListItem[], nodeId: string) {\n const item = Array.isArray(selection) ? selection[0] : selection;\n this.taskMapping[nodeId] = item?.id ?? null;\n }\n\n loadProcessDefinitionVersions(key: string | null, type: string) {\n this.fields[type].definition = key;\n this.selectedVersions[type] = [];\n this.clearProcess(type);\n this.refreshDefinitionItems();\n this.refreshVersionItems(type);\n if (key) {\n this.processService\n .getProcessDefinitionVersions(key)\n .subscribe((processDefinitionVersions: ProcessDefinition[]) => {\n if (this.fields[type].definition !== key) {\n return;\n }\n this.selectedVersions[type] = processDefinitionVersions;\n this.refreshVersionItems(type);\n });\n }\n }\n\n loadProcess(id: string | null, type: string) {\n this.fields[type].version = id;\n this.clearProcess(type);\n this.refreshVersionItems(type);\n if (id) {\n this.loadProcessDefinitionXML(id, type);\n if (type === 'source') {\n this.loadProcessCount(id);\n }\n }\n }\n\n private clearProcess(type: string) {\n this.loaded[type] = false;\n this.selectedId[type] = null;\n this.diagram[type].clear();\n if (type === 'source') {\n this.processCount = null;\n }\n }\n\n loadProcessDefinitionXML(id: string, type: string) {\n this.processService.getProcessDefinitionXml(id).subscribe(xml => {\n this.diagram[type].loadXml(xml['bpmn20Xml']);\n this.selectedId[type] = id;\n });\n }\n\n loadProcessCount(id: string) {\n this.processService.getProcessCount(id).subscribe(response => {\n this.processCount = response.count;\n });\n }\n\n setUniqueFlowNodeMap() {\n this.uniqueFlowNodeMap = [];\n const sourceFlowNodeMap = this.sourceDiagram.flowNodeMap;\n const targetFlowNodeMap = this.targetDiagram.flowNodeMap;\n\n if (sourceFlowNodeMap != null && targetFlowNodeMap != null) {\n this.uniqueFlowNodeMap = sourceFlowNodeMap.filter(\n sourceFlowNode =>\n !targetFlowNodeMap.some(\n targetFlowNode =>\n sourceFlowNode.id === targetFlowNode.id &&\n sourceFlowNode.$type === targetFlowNode.$type\n )\n );\n }\n }\n\n getFilteredTargetFlowNodeMap(flowNodeType) {\n const targetFlowNodeMap = this.targetDiagram.flowNodeMap;\n return targetFlowNodeMap.filter(function (flowNode) {\n return flowNode.$type === flowNodeType;\n });\n }\n\n public getFilteredTargetFlowNodeMapItems(node): ListItem[] {\n if (!this.targetFlowNodeItemsMap.has(node.id)) {\n this.targetFlowNodeItemsMap.set(\n node.id,\n this.getFilteredTargetFlowNodeMap(node.$type).map(targetFlowNode => ({\n id: targetFlowNode.id,\n content: targetFlowNode.name || targetFlowNode.id,\n selected: this.taskMapping[node.id] === targetFlowNode.id,\n }))\n );\n }\n return this.targetFlowNodeItemsMap.get(node.id);\n }\n\n diagramLoaded(diagramName: string) {\n this.loaded[diagramName] = true;\n if (this.loaded.source && this.loaded.target) {\n this.taskMapping = {};\n this.targetFlowNodeItemsMap.clear();\n this.setUniqueFlowNodeMap();\n }\n }\n\n migrateProcess() {\n this.processService\n .migrateProcess(this.selectedId.source, this.selectedId.target, this.taskMapping)\n .subscribe(\n res => {\n this.alertService.success('Process successfully migrated!');\n this.clearProcess('source');\n this.clearProcess('target');\n this.fields = {\n source: {\n definition: null,\n version: null,\n },\n target: {\n definition: null,\n version: null,\n },\n };\n this.refreshDefinitionItems();\n this.refreshVersionItems('source');\n this.refreshVersionItems('target');\n },\n err => {\n this.alertService.error('Process migration failed!');\n this.logger.debug(err);\n }\n );\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"main-content\">\n <div class=\"container-fluid\">\n <div class=\"row mb-5\">\n <div class=\"col-12\">\n <div class=\"alert alert-warning pl-2 plr-2\" role=\"alert\">\n <div class=\"icon\"><span class=\"mdi mdi-alert-triangle\"></span></div>\n <div class=\"message\" [innerHTML]=\"'Process migration warning' | translate\"></div>\n </div>\n </div>\n </div>\n <div class=\"row mb-5\">\n <div class=\"col-4\">\n <cds-combo-box\n [dropUp]=\"false\"\n [appendInline]=\"true\"\n [label]=\"'Source Definition' | translate\"\n [placeholder]=\"'- ' + ('Source Definition' | translate) + ' -'\"\n [items]=\"sourceDefinitionItems\"\n (selected)=\"onDefinitionSelected($event, 'source')\"\n (clear)=\"onSourceDefinitionClear($event)\"\n >\n <cds-dropdown-list></cds-dropdown-list>\n </cds-combo-box>\n </div>\n <div class=\"col-2\">\n <cds-combo-box\n #sourceVersionCombobox\n [dropUp]=\"false\"\n [appendInline]=\"true\"\n [label]=\"'Source Definition' | translate\"\n [placeholder]=\"'- ' + ('Source Version' | translate) + ' -'\"\n [items]=\"sourceVersionItems\"\n (selected)=\"onVersionSelected($event, 'source')\"\n >\n <cds-dropdown-list></cds-dropdown-list>\n </cds-combo-box>\n </div>\n <div class=\"col-4\">\n <cds-combo-box\n #targetDefinitionComboBox\n [dropUp]=\"false\"\n [appendInline]=\"true\"\n [label]=\"'Target Definition' | translate\"\n [placeholder]=\"'- ' + ('Target Definition' | translate) + ' -'\"\n [items]=\"targetDefinitionItems\"\n (selected)=\"onDefinitionSelected($event, 'target')\"\n (clear)=\"onTargetDefinitionClear($event)\"\n >\n <cds-dropdown-list></cds-dropdown-list>\n </cds-combo-box>\n </div>\n <div class=\"col-2\">\n <cds-combo-box\n #targetVersionCombobox\n [dropUp]=\"false\"\n [appendInline]=\"true\"\n [label]=\"'Target Version' | translate\"\n [placeholder]=\"'- ' + ('Target Version' | translate) + ' -'\"\n [items]=\"targetVersionItems\"\n (selected)=\"onVersionSelected($event, 'target')\"\n >\n <cds-dropdown-list></cds-dropdown-list>\n </cds-combo-box>\n </div>\n </div>\n\n <div class=\"row mb-5\">\n <div class=\"col-6\">\n <valtimo-migration-process-diagram\n name=\"source\"\n (loaded)=\"diagramLoaded($event)\"\n #sourceDiagram\n ></valtimo-migration-process-diagram>\n </div>\n <div class=\"col-6\">\n <valtimo-migration-process-diagram\n name=\"target\"\n (loaded)=\"diagramLoaded($event)\"\n #targetDiagram\n ></valtimo-migration-process-diagram>\n </div>\n </div>\n <table class=\"table table-striped mb-5\" *ngIf=\"selectedId.source && selectedId.target\">\n <tr *ngFor=\"let node of uniqueFlowNodeMap\">\n <td>{{ node.name ? node.name : node.id }}</td>\n <td>\n <cds-combo-box\n [dropUp]=\"false\"\n [appendInline]=\"true\"\n [placeholder]=\"'- ' + ('Choose Target' | translate) + ' -'\"\n [items]=\"getFilteredTargetFlowNodeMapItems(node)\"\n (selected)=\"onTaskMappingSelected($event, node.id)\"\n >\n <cds-dropdown-list></cds-dropdown-list>\n </cds-combo-box>\n </td>\n </tr>\n </table>\n <hr />\n <div class=\"btn-group mb-5\">\n <button\n [disabled]=\"\n (uniqueFlowNodeMap.length !== taskMappingLength && uniqueFlowNodeMap.length > 0) ||\n !loaded.source ||\n !loaded.target\n \"\n (click)=\"migrateProcess()\"\n class=\"btn btn-primary\"\n >\n Migrate\n <span *ngIf=\"processCount !== null\" class=\"badge badge-pill badge-secondary\">{{\n processCount\n }}</span>\n </button>\n </div>\n </div>\n</div>\n","/*\n * Copyright 2015-2024 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 {MigrationComponent} from './migration.component';\nimport {ROLE_ADMIN} from '@valtimo/config';\n\nconst routes: Routes = [\n {\n path: 'process-migration',\n component: MigrationComponent,\n canActivate: [AuthGuardService],\n data: {title: 'Process migration', roles: [ROLE_ADMIN]},\n },\n];\n\n@NgModule({\n imports: [CommonModule, RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class MigrationRoutingModule {}\n","/*\n * Copyright 2015-2024 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 {MigrationComponent} from './migration.component';\nimport {MigrationRoutingModule} from './migration-routing.module';\nimport {CommonModule} from '@angular/common';\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\nimport {MigrationProcessDiagramComponent} from './migration-process-diagram/migration-process-diagram.component';\nimport {WidgetModule} from '@valtimo/components';\nimport {TranslateModule} from '@ngx-translate/core';\nimport {ComboBoxModule} from 'carbon-components-angular';\n\n@NgModule({\n declarations: [MigrationComponent, MigrationProcessDiagramComponent],\n imports: [\n CommonModule,\n MigrationRoutingModule,\n ReactiveFormsModule,\n WidgetModule,\n FormsModule,\n TranslateModule,\n ComboBoxModule,\n ],\n exports: [MigrationComponent],\n})\nexport class MigrationModule {}\n","/*\n * Copyright 2015-2024 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 migration\n */\n\nexport * from './lib/migration.service';\nexport * from './lib/migration.component';\nexport * from './lib/migration.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i7.MigrationProcessDiagramComponent"],"mappings":"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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { AfterViewInit, OnInit } from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { ProcessDefinition, ProcessService } from '@valtimo/process';
|
|
3
3
|
import { MigrationProcessDiagramComponent } from './migration-process-diagram/migration-process-diagram.component';
|
|
4
4
|
import { NGXLogger } from 'ngx-logger';
|
|
5
5
|
import { AlertService } from '@valtimo/components';
|
|
6
|
+
import { ComboBox, ListItem } from 'carbon-components-angular';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
8
|
export declare class MigrationComponent implements OnInit, AfterViewInit {
|
|
8
9
|
private processService;
|
|
@@ -36,12 +37,27 @@ export declare class MigrationComponent implements OnInit, AfterViewInit {
|
|
|
36
37
|
taskMapping: any;
|
|
37
38
|
sourceDiagram: MigrationProcessDiagramComponent;
|
|
38
39
|
targetDiagram: MigrationProcessDiagramComponent;
|
|
40
|
+
sourceVersionCombobox: ComboBox;
|
|
41
|
+
targetDefinitionComboBox: ComboBox;
|
|
42
|
+
targetVersionCombobox: ComboBox;
|
|
39
43
|
diagram: any;
|
|
40
44
|
constructor(processService: ProcessService, logger: NGXLogger, alertService: AlertService);
|
|
41
45
|
ngOnInit(): void;
|
|
42
46
|
ngAfterViewInit(): void;
|
|
43
47
|
get taskMappingLength(): number;
|
|
48
|
+
sourceDefinitionItems: ListItem[];
|
|
49
|
+
targetDefinitionItems: ListItem[];
|
|
50
|
+
sourceVersionItems: ListItem[];
|
|
51
|
+
targetVersionItems: ListItem[];
|
|
52
|
+
private readonly targetFlowNodeItemsMap;
|
|
53
|
+
private refreshDefinitionItems;
|
|
54
|
+
private refreshVersionItems;
|
|
44
55
|
loadProcessDefinitions(): void;
|
|
56
|
+
onDefinitionSelected(selection: ListItem | ListItem[], type: string): void;
|
|
57
|
+
onVersionSelected(selection: ListItem | ListItem[], type: string): void;
|
|
58
|
+
onSourceDefinitionClear(event: Event): void;
|
|
59
|
+
onTargetDefinitionClear(event: Event): void;
|
|
60
|
+
onTaskMappingSelected(selection: ListItem | ListItem[], nodeId: string): void;
|
|
45
61
|
loadProcessDefinitionVersions(key: string | null, type: string): void;
|
|
46
62
|
loadProcess(id: string | null, type: string): void;
|
|
47
63
|
private clearProcess;
|
|
@@ -49,6 +65,7 @@ export declare class MigrationComponent implements OnInit, AfterViewInit {
|
|
|
49
65
|
loadProcessCount(id: string): void;
|
|
50
66
|
setUniqueFlowNodeMap(): void;
|
|
51
67
|
getFilteredTargetFlowNodeMap(flowNodeType: any): any;
|
|
68
|
+
getFilteredTargetFlowNodeMapItems(node: any): ListItem[];
|
|
52
69
|
diagramLoaded(diagramName: string): void;
|
|
53
70
|
migrateProcess(): void;
|
|
54
71
|
static ɵfac: i0.ɵɵFactoryDeclaration<MigrationComponent, never>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migration.component.d.ts","sourceRoot":"","sources":["../../../../projects/valtimo/migration/src/lib/migration.component.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAC,aAAa,EAAa,MAAM,EAAY,MAAM,eAAe,CAAC;AAC1E,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"migration.component.d.ts","sourceRoot":"","sources":["../../../../projects/valtimo/migration/src/lib/migration.component.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAC,aAAa,EAAa,MAAM,EAAY,MAAM,eAAe,CAAC;AAC1E,OAAO,EAAC,iBAAiB,EAAE,cAAc,EAAC,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAC,gCAAgC,EAAC,MAAM,iEAAiE,CAAC;AACjH,OAAO,EAAC,SAAS,EAAC,MAAM,YAAY,CAAC;AACrC,OAAO,EAAC,YAAY,EAAC,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAC,QAAQ,EAAE,QAAQ,EAAC,MAAM,2BAA2B,CAAC;;AAE7D,qBAKa,kBAAmB,YAAW,MAAM,EAAE,aAAa;IAqC5D,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,YAAY;IAtCf,kBAAkB,EAAE,iBAAiB,EAAE,CAAM;IAC7C,gBAAgB;;;MAGrB;IACK,UAAU;;;MAGf;IACK,MAAM;;;MAGX;IACK,MAAM;;;;;;;;;MASX;IAEK,YAAY,EAAE,MAAM,GAAG,IAAI,CAAQ;IACnC,iBAAiB,EAAE,GAAG,EAAE,CAAM;IAC9B,WAAW,EAAE,GAAG,CAAM;IAED,aAAa,EAAE,gCAAgC,CAAC;IAChD,aAAa,EAAE,gCAAgC,CAAC;IACxC,qBAAqB,EAAE,QAAQ,CAAC;IAC7B,wBAAwB,EAAE,QAAQ,CAAC;IACtC,qBAAqB,EAAE,QAAQ,CAAC;IAC7D,OAAO,EAAE,GAAG,CAAQ;gBAGjB,cAAc,EAAE,cAAc,EAC9B,MAAM,EAAE,SAAS,EACjB,YAAY,EAAE,YAAY;IAGpC,QAAQ;IAIR,eAAe;IAOf,IAAW,iBAAiB,WAE3B;IAEM,qBAAqB,EAAE,QAAQ,EAAE,CAAM;IACvC,qBAAqB,EAAE,QAAQ,EAAE,CAAM;IACvC,kBAAkB,EAAE,QAAQ,EAAE,CAAM;IACpC,kBAAkB,EAAE,QAAQ,EAAE,CAAM;IAC3C,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAiC;IAExE,OAAO,CAAC,sBAAsB;IAa9B,OAAO,CAAC,mBAAmB;IAa3B,sBAAsB;IASf,oBAAoB,CAAC,SAAS,EAAE,QAAQ,GAAG,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM;IAUnE,iBAAiB,CAAC,SAAS,EAAE,QAAQ,GAAG,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM;IAKhE,uBAAuB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAM3C,uBAAuB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAI3C,qBAAqB,CAAC,SAAS,EAAE,QAAQ,GAAG,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM;IAK7E,6BAA6B,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,EAAE,IAAI,EAAE,MAAM;IAmB9D,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,EAAE,IAAI,EAAE,MAAM;IAY3C,OAAO,CAAC,YAAY;IASpB,wBAAwB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAOjD,gBAAgB,CAAC,EAAE,EAAE,MAAM;IAM3B,oBAAoB;IAiBpB,4BAA4B,CAAC,YAAY,KAAA;IAOlC,iCAAiC,CAAC,IAAI,KAAA,GAAG,QAAQ,EAAE;IAc1D,aAAa,CAAC,WAAW,EAAE,MAAM;IASjC,cAAc;yCApOH,kBAAkB;2CAAlB,kBAAkB;CAgQ9B"}
|
|
@@ -6,9 +6,10 @@ import * as i4 from "./migration-routing.module";
|
|
|
6
6
|
import * as i5 from "@angular/forms";
|
|
7
7
|
import * as i6 from "@valtimo/components";
|
|
8
8
|
import * as i7 from "@ngx-translate/core";
|
|
9
|
+
import * as i8 from "carbon-components-angular";
|
|
9
10
|
export declare class MigrationModule {
|
|
10
11
|
static ɵfac: i0.ɵɵFactoryDeclaration<MigrationModule, never>;
|
|
11
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<MigrationModule, [typeof i1.MigrationComponent, typeof i2.MigrationProcessDiagramComponent], [typeof i3.CommonModule, typeof i4.MigrationRoutingModule, typeof i5.ReactiveFormsModule, typeof i6.WidgetModule, typeof i5.FormsModule, typeof i7.TranslateModule], [typeof i1.MigrationComponent]>;
|
|
12
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<MigrationModule, [typeof i1.MigrationComponent, typeof i2.MigrationProcessDiagramComponent], [typeof i3.CommonModule, typeof i4.MigrationRoutingModule, typeof i5.ReactiveFormsModule, typeof i6.WidgetModule, typeof i5.FormsModule, typeof i7.TranslateModule, typeof i8.ComboBoxModule], [typeof i1.MigrationComponent]>;
|
|
12
13
|
static ɵinj: i0.ɵɵInjectorDeclaration<MigrationModule>;
|
|
13
14
|
}
|
|
14
15
|
//# sourceMappingURL=migration.module.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migration.module.d.ts","sourceRoot":"","sources":["../../../../projects/valtimo/migration/src/lib/migration.module.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"migration.module.d.ts","sourceRoot":"","sources":["../../../../projects/valtimo/migration/src/lib/migration.module.ts"],"names":[],"mappings":";;;;;;;;;AA0BA,qBAaa,eAAe;yCAAf,eAAe;0CAAf,eAAe;0CAAf,eAAe;CAAG"}
|