@valtimo/migration 13.40.0 → 13.42.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.
|
@@ -6,16 +6,18 @@ 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 NavigatedViewer from 'bpmn-js/lib/NavigatedViewer';
|
|
12
13
|
import { from, take } from 'rxjs';
|
|
13
|
-
import * as
|
|
14
|
+
import * as i8 from '@ngx-translate/core';
|
|
14
15
|
import { TranslateModule } from '@ngx-translate/core';
|
|
15
16
|
import * as i1$2 from '@angular/router';
|
|
16
17
|
import { RouterModule } from '@angular/router';
|
|
17
18
|
import { AuthGuardService } from '@valtimo/security';
|
|
18
19
|
import { ROLE_ADMIN } from '@valtimo/shared';
|
|
20
|
+
import { ReactiveFormsModule, FormsModule } from '@angular/forms';
|
|
19
21
|
|
|
20
22
|
/*
|
|
21
23
|
* Copyright 2015-2025 Ritense BV, the Netherlands.
|
|
@@ -169,6 +171,11 @@ class MigrationComponent {
|
|
|
169
171
|
this.uniqueFlowNodeMap = [];
|
|
170
172
|
this.taskMapping = {};
|
|
171
173
|
this.diagram = null;
|
|
174
|
+
this.sourceDefinitionItems = [];
|
|
175
|
+
this.targetDefinitionItems = [];
|
|
176
|
+
this.sourceVersionItems = [];
|
|
177
|
+
this.targetVersionItems = [];
|
|
178
|
+
this.targetFlowNodeItemsMap = new Map();
|
|
172
179
|
}
|
|
173
180
|
ngAfterViewInit() {
|
|
174
181
|
this.diagram = {
|
|
@@ -180,28 +187,82 @@ class MigrationComponent {
|
|
|
180
187
|
get taskMappingLength() {
|
|
181
188
|
return Object.keys(this.taskMapping).length;
|
|
182
189
|
}
|
|
190
|
+
refreshDefinitionItems() {
|
|
191
|
+
this.sourceDefinitionItems = this.processDefinitions.map(processDef => ({
|
|
192
|
+
key: processDef.key,
|
|
193
|
+
content: processDef.name,
|
|
194
|
+
selected: this.fields.source.definition === processDef.key,
|
|
195
|
+
}));
|
|
196
|
+
this.targetDefinitionItems = this.processDefinitions.map(processDef => ({
|
|
197
|
+
key: processDef.key,
|
|
198
|
+
content: processDef.name,
|
|
199
|
+
selected: this.fields.target.definition === processDef.key,
|
|
200
|
+
}));
|
|
201
|
+
}
|
|
202
|
+
refreshVersionItems(type) {
|
|
203
|
+
const items = this.selectedVersions[type].map(processVer => ({
|
|
204
|
+
id: processVer.id,
|
|
205
|
+
content: `${processVer.version}`,
|
|
206
|
+
selected: this.fields[type].version === processVer.id,
|
|
207
|
+
}));
|
|
208
|
+
if (type === 'source') {
|
|
209
|
+
this.sourceVersionItems = items;
|
|
210
|
+
}
|
|
211
|
+
else {
|
|
212
|
+
this.targetVersionItems = items;
|
|
213
|
+
}
|
|
214
|
+
}
|
|
183
215
|
loadProcessDefinitions() {
|
|
184
216
|
this.processService
|
|
185
217
|
.getProcessDefinitions()
|
|
186
218
|
.subscribe((processDefinitions) => {
|
|
187
219
|
this.processDefinitions = processDefinitions;
|
|
220
|
+
this.refreshDefinitionItems();
|
|
188
221
|
});
|
|
189
222
|
}
|
|
223
|
+
onDefinitionSelected(selection, type) {
|
|
224
|
+
const item = Array.isArray(selection) ? selection[0] : selection;
|
|
225
|
+
const key = item?.key ?? null;
|
|
226
|
+
this.loadProcessDefinitionVersions(key, type);
|
|
227
|
+
if (type === 'source') {
|
|
228
|
+
this.loadProcessDefinitionVersions(key, 'target');
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
onVersionSelected(selection, type) {
|
|
232
|
+
const item = Array.isArray(selection) ? selection[0] : selection;
|
|
233
|
+
this.loadProcess(item?.id ?? null, type);
|
|
234
|
+
}
|
|
235
|
+
onSourceDefinitionClear(event) {
|
|
236
|
+
this.sourceVersionCombobox.clearInput(event);
|
|
237
|
+
this.targetDefinitionComboBox.clearInput(event);
|
|
238
|
+
this.targetVersionCombobox.clearInput(event);
|
|
239
|
+
}
|
|
240
|
+
onTaskMappingSelected(selection, nodeId) {
|
|
241
|
+
const item = Array.isArray(selection) ? selection[0] : selection;
|
|
242
|
+
this.taskMapping[nodeId] = item?.id ?? null;
|
|
243
|
+
}
|
|
190
244
|
loadProcessDefinitionVersions(key, type) {
|
|
191
245
|
this.fields[type].definition = key;
|
|
192
246
|
this.selectedVersions[type] = [];
|
|
193
247
|
this.clearProcess(type);
|
|
248
|
+
this.refreshDefinitionItems();
|
|
249
|
+
this.refreshVersionItems(type);
|
|
194
250
|
if (key) {
|
|
195
251
|
this.processService
|
|
196
252
|
.getProcessDefinitionVersions(key)
|
|
197
253
|
.subscribe((processDefinitionVersions) => {
|
|
254
|
+
if (this.fields[type].definition !== key) {
|
|
255
|
+
return;
|
|
256
|
+
}
|
|
198
257
|
this.selectedVersions[type] = processDefinitionVersions;
|
|
258
|
+
this.refreshVersionItems(type);
|
|
199
259
|
});
|
|
200
260
|
}
|
|
201
261
|
}
|
|
202
262
|
loadProcess(id, type) {
|
|
203
263
|
this.fields[type].version = id;
|
|
204
264
|
this.clearProcess(type);
|
|
265
|
+
this.refreshVersionItems(type);
|
|
205
266
|
if (id) {
|
|
206
267
|
this.loadProcessDefinitionXML(id, type);
|
|
207
268
|
if (type === 'source') {
|
|
@@ -245,10 +306,21 @@ class MigrationComponent {
|
|
|
245
306
|
return flowNode.$type === flowNodeType;
|
|
246
307
|
});
|
|
247
308
|
}
|
|
309
|
+
getFilteredTargetFlowNodeMapItems(node) {
|
|
310
|
+
if (!this.targetFlowNodeItemsMap.has(node.id)) {
|
|
311
|
+
this.targetFlowNodeItemsMap.set(node.id, this.getFilteredTargetFlowNodeMap(node.$type).map(targetFlowNode => ({
|
|
312
|
+
id: targetFlowNode.id,
|
|
313
|
+
content: targetFlowNode.name || targetFlowNode.id,
|
|
314
|
+
selected: this.taskMapping[node.id] === targetFlowNode.id,
|
|
315
|
+
})));
|
|
316
|
+
}
|
|
317
|
+
return this.targetFlowNodeItemsMap.get(node.id);
|
|
318
|
+
}
|
|
248
319
|
diagramLoaded(diagramName) {
|
|
249
320
|
this.loaded[diagramName] = true;
|
|
250
321
|
if (this.loaded.source && this.loaded.target) {
|
|
251
322
|
this.taskMapping = {};
|
|
323
|
+
this.targetFlowNodeItemsMap.clear();
|
|
252
324
|
this.setUniqueFlowNodeMap();
|
|
253
325
|
}
|
|
254
326
|
}
|
|
@@ -269,23 +341,35 @@ class MigrationComponent {
|
|
|
269
341
|
version: null,
|
|
270
342
|
},
|
|
271
343
|
};
|
|
344
|
+
this.refreshDefinitionItems();
|
|
345
|
+
this.refreshVersionItems('source');
|
|
346
|
+
this.refreshVersionItems('target');
|
|
272
347
|
}, err => {
|
|
273
348
|
this.alertService.error('Process migration failed!');
|
|
274
349
|
this.logger.debug(err);
|
|
275
350
|
});
|
|
276
351
|
}
|
|
277
352
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: MigrationComponent, deps: [{ token: i1$1.ProcessService }, { token: i1.NGXLogger }, { token: i3.AlertService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
278
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: MigrationComponent, isStandalone: false, 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-2025 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 <
|
|
353
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: MigrationComponent, isStandalone: false, 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-2025 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 >\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-2025 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", "readonly", "fluid"], 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" }] }); }
|
|
279
354
|
}
|
|
280
355
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: MigrationComponent, decorators: [{
|
|
281
356
|
type: Component,
|
|
282
|
-
args: [{ standalone: false, selector: 'valtimo-migration', template: "<!--\n ~ Copyright 2015-2025 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 <
|
|
357
|
+
args: [{ standalone: false, selector: 'valtimo-migration', template: "<!--\n ~ Copyright 2015-2025 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 >\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-2025 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"] }]
|
|
283
358
|
}], ctorParameters: () => [{ type: i1$1.ProcessService }, { type: i1.NGXLogger }, { type: i3.AlertService }], propDecorators: { sourceDiagram: [{
|
|
284
359
|
type: ViewChild,
|
|
285
360
|
args: ['sourceDiagram']
|
|
286
361
|
}], targetDiagram: [{
|
|
287
362
|
type: ViewChild,
|
|
288
363
|
args: ['targetDiagram']
|
|
364
|
+
}], sourceVersionCombobox: [{
|
|
365
|
+
type: ViewChild,
|
|
366
|
+
args: ['sourceVersionCombobox']
|
|
367
|
+
}], targetDefinitionComboBox: [{
|
|
368
|
+
type: ViewChild,
|
|
369
|
+
args: ['targetDefinitionComboBox']
|
|
370
|
+
}], targetVersionCombobox: [{
|
|
371
|
+
type: ViewChild,
|
|
372
|
+
args: ['targetVersionCombobox']
|
|
289
373
|
}] } });
|
|
290
374
|
|
|
291
375
|
/*
|
|
@@ -346,13 +430,15 @@ class MigrationModule {
|
|
|
346
430
|
ReactiveFormsModule,
|
|
347
431
|
WidgetModule,
|
|
348
432
|
FormsModule,
|
|
349
|
-
TranslateModule
|
|
433
|
+
TranslateModule,
|
|
434
|
+
ComboBoxModule], exports: [MigrationComponent] }); }
|
|
350
435
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: MigrationModule, imports: [CommonModule,
|
|
351
436
|
MigrationRoutingModule,
|
|
352
437
|
ReactiveFormsModule,
|
|
353
438
|
WidgetModule,
|
|
354
439
|
FormsModule,
|
|
355
|
-
TranslateModule
|
|
440
|
+
TranslateModule,
|
|
441
|
+
ComboBoxModule] }); }
|
|
356
442
|
}
|
|
357
443
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: MigrationModule, decorators: [{
|
|
358
444
|
type: NgModule,
|
|
@@ -365,6 +451,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImpo
|
|
|
365
451
|
WidgetModule,
|
|
366
452
|
FormsModule,
|
|
367
453
|
TranslateModule,
|
|
454
|
+
ComboBoxModule,
|
|
368
455
|
],
|
|
369
456
|
exports: [MigrationComponent],
|
|
370
457
|
}]
|
|
@@ -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-2025 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-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n AfterViewInit,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n ViewChild,\n} from '@angular/core';\n\nimport NavigatedViewer from 'bpmn-js/lib/NavigatedViewer';\nimport {NGXLogger} from 'ngx-logger';\nimport {from, take} from 'rxjs';\n\n@Component({\n standalone: false,\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 AfterViewInit, OnDestroy {\n private bpmnViewer: NavigatedViewer;\n public flowNodeMap: any = null;\n\n @ViewChild('ref') public readonly el: ElementRef;\n @Input() public readonly name: string;\n @Output() public readonly loaded = new EventEmitter();\n\n constructor(private readonly logger: NGXLogger) {}\n\n public ngAfterViewInit(): void {\n this.bpmnViewer = new NavigatedViewer();\n this.bpmnViewer.attachTo(this.el.nativeElement);\n this.bpmnViewer.on('import.done', ({error}: any) => {\n if (!error) {\n const canvas = this.bpmnViewer.get('canvas') as any;\n canvas.zoom('fit-viewport', 'auto');\n }\n });\n }\n\n public ngOnDestroy(): void {\n if (this.bpmnViewer) {\n this.bpmnViewer.destroy();\n }\n }\n\n public clear(): void {\n this.bpmnViewer.clear();\n }\n\n public loadXml(xml: string): void {\n this.bpmnViewer.attachTo(this.el.nativeElement);\n\n from(this.bpmnViewer.importXML(xml))\n .pipe(take(1))\n .subscribe({\n next: () => {\n const processElements = this.bpmnViewer\n .getDefinitions()\n .rootElements.filter(function (element) {\n return element.isExecutable;\n });\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\n this.loaded.emit(this.name);\n },\n error: error => {\n this.logger.debug(error);\n },\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 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-2025 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, 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';\n\n@Component({\n standalone: false,\n selector: 'valtimo-migration',\n templateUrl: './migration.component.html',\n styleUrls: ['./migration.component.scss'],\n})\nexport class MigrationComponent implements AfterViewInit, 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 ngAfterViewInit() {\n this.diagram = {\n source: this.sourceDiagram,\n target: this.targetDiagram,\n };\n this.loadProcessDefinitions();\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 if (!xml.bpmn20Xml) return;\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-2025 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-2025 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/shared';\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-2025 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-2025 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-2025 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-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n AfterViewInit,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n ViewChild,\n} from '@angular/core';\n\nimport NavigatedViewer from 'bpmn-js/lib/NavigatedViewer';\nimport {NGXLogger} from 'ngx-logger';\nimport {from, take} from 'rxjs';\n\n@Component({\n standalone: false,\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 AfterViewInit, OnDestroy {\n private bpmnViewer: NavigatedViewer;\n public flowNodeMap: any = null;\n\n @ViewChild('ref') public readonly el: ElementRef;\n @Input() public readonly name: string;\n @Output() public readonly loaded = new EventEmitter();\n\n constructor(private readonly logger: NGXLogger) {}\n\n public ngAfterViewInit(): void {\n this.bpmnViewer = new NavigatedViewer();\n this.bpmnViewer.attachTo(this.el.nativeElement);\n this.bpmnViewer.on('import.done', ({error}: any) => {\n if (!error) {\n const canvas = this.bpmnViewer.get('canvas') as any;\n canvas.zoom('fit-viewport', 'auto');\n }\n });\n }\n\n public ngOnDestroy(): void {\n if (this.bpmnViewer) {\n this.bpmnViewer.destroy();\n }\n }\n\n public clear(): void {\n this.bpmnViewer.clear();\n }\n\n public loadXml(xml: string): void {\n this.bpmnViewer.attachTo(this.el.nativeElement);\n\n from(this.bpmnViewer.importXML(xml))\n .pipe(take(1))\n .subscribe({\n next: () => {\n const processElements = this.bpmnViewer\n .getDefinitions()\n .rootElements.filter(function (element) {\n return element.isExecutable;\n });\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\n this.loaded.emit(this.name);\n },\n error: error => {\n this.logger.debug(error);\n },\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 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-2025 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, viewChild, 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 standalone: false,\n selector: 'valtimo-migration',\n templateUrl: './migration.component.html',\n styleUrls: ['./migration.component.scss'],\n})\nexport class MigrationComponent implements AfterViewInit, 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 ngAfterViewInit() {\n this.diagram = {\n source: this.sourceDiagram,\n target: this.targetDiagram,\n };\n this.loadProcessDefinitions();\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 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 if (!xml.bpmn20Xml) return;\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-2025 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 >\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-2025 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/shared';\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-2025 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-2025 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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"}
|
|
@@ -3,6 +3,7 @@ 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 AfterViewInit, AfterViewInit {
|
|
8
9
|
private processService;
|
|
@@ -36,11 +37,25 @@ export declare class MigrationComponent implements AfterViewInit, 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
|
ngAfterViewInit(): void;
|
|
42
46
|
get taskMappingLength(): number;
|
|
47
|
+
sourceDefinitionItems: ListItem[];
|
|
48
|
+
targetDefinitionItems: ListItem[];
|
|
49
|
+
sourceVersionItems: ListItem[];
|
|
50
|
+
targetVersionItems: ListItem[];
|
|
51
|
+
private readonly targetFlowNodeItemsMap;
|
|
52
|
+
private refreshDefinitionItems;
|
|
53
|
+
private refreshVersionItems;
|
|
43
54
|
loadProcessDefinitions(): void;
|
|
55
|
+
onDefinitionSelected(selection: ListItem | ListItem[], type: string): void;
|
|
56
|
+
onVersionSelected(selection: ListItem | ListItem[], type: string): void;
|
|
57
|
+
onSourceDefinitionClear(event: Event): void;
|
|
58
|
+
onTaskMappingSelected(selection: ListItem | ListItem[], nodeId: string): void;
|
|
44
59
|
loadProcessDefinitionVersions(key: string | null, type: string): void;
|
|
45
60
|
loadProcess(id: string | null, type: string): void;
|
|
46
61
|
private clearProcess;
|
|
@@ -48,6 +63,7 @@ export declare class MigrationComponent implements AfterViewInit, AfterViewInit
|
|
|
48
63
|
loadProcessCount(id: string): void;
|
|
49
64
|
setUniqueFlowNodeMap(): void;
|
|
50
65
|
getFilteredTargetFlowNodeMap(flowNodeType: any): any;
|
|
66
|
+
getFilteredTargetFlowNodeMapItems(node: any): ListItem[];
|
|
51
67
|
diagramLoaded(diagramName: string): void;
|
|
52
68
|
migrateProcess(): void;
|
|
53
69
|
static ɵfac: i0.ɵɵFactoryDeclaration<MigrationComponent, never>;
|
|
@@ -6,8 +6,9 @@ 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
|
}
|