@valtimo/migration 4.15.3-next-main.14 → 4.16.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/bundles/valtimo-migration.umd.js +32 -28
- package/bundles/valtimo-migration.umd.js.map +1 -1
- package/bundles/valtimo-migration.umd.min.js +1 -1
- package/bundles/valtimo-migration.umd.min.js.map +1 -1
- package/esm2015/lib/migration-process-diagram/migration-process-diagram.component.js +3 -3
- package/esm2015/lib/migration-routing.module.js +4 -7
- package/esm2015/lib/migration.component.js +23 -16
- package/esm2015/lib/migration.module.js +3 -3
- package/esm2015/lib/migration.service.js +3 -4
- package/esm2015/public-api.js +1 -1
- package/esm2015/valtimo-migration.js +1 -1
- package/fesm2015/valtimo-migration.js +30 -27
- package/fesm2015/valtimo-migration.js.map +1 -1
- package/lib/migration.component.d.ts +1 -2
- package/package.json +1 -1
- package/valtimo-migration.metadata.json +1 -1
|
@@ -26,25 +26,25 @@ export class MigrationComponent {
|
|
|
26
26
|
this.processDefinitions = [];
|
|
27
27
|
this.selectedVersions = {
|
|
28
28
|
source: [],
|
|
29
|
-
target: []
|
|
29
|
+
target: [],
|
|
30
30
|
};
|
|
31
31
|
this.selectedId = {
|
|
32
32
|
source: null,
|
|
33
|
-
target: null
|
|
33
|
+
target: null,
|
|
34
34
|
};
|
|
35
35
|
this.loaded = {
|
|
36
36
|
source: false,
|
|
37
|
-
target: false
|
|
37
|
+
target: false,
|
|
38
38
|
};
|
|
39
39
|
this.fields = {
|
|
40
40
|
source: {
|
|
41
41
|
definition: null,
|
|
42
|
-
version: null
|
|
42
|
+
version: null,
|
|
43
43
|
},
|
|
44
44
|
target: {
|
|
45
45
|
definition: null,
|
|
46
|
-
version: null
|
|
47
|
-
}
|
|
46
|
+
version: null,
|
|
47
|
+
},
|
|
48
48
|
};
|
|
49
49
|
this.processCount = null;
|
|
50
50
|
this.uniqueFlowNodeMap = [];
|
|
@@ -57,14 +57,16 @@ export class MigrationComponent {
|
|
|
57
57
|
ngAfterViewInit() {
|
|
58
58
|
this.diagram = {
|
|
59
59
|
source: this.sourceDiagram,
|
|
60
|
-
target: this.targetDiagram
|
|
60
|
+
target: this.targetDiagram,
|
|
61
61
|
};
|
|
62
62
|
}
|
|
63
63
|
get taskMappingLength() {
|
|
64
64
|
return Object.keys(this.taskMapping).length;
|
|
65
65
|
}
|
|
66
66
|
loadProcessDefinitions() {
|
|
67
|
-
this.processService
|
|
67
|
+
this.processService
|
|
68
|
+
.getProcessDefinitions()
|
|
69
|
+
.subscribe((processDefinitions) => {
|
|
68
70
|
this.processDefinitions = processDefinitions;
|
|
69
71
|
});
|
|
70
72
|
}
|
|
@@ -73,7 +75,9 @@ export class MigrationComponent {
|
|
|
73
75
|
this.selectedVersions[type] = [];
|
|
74
76
|
this.clearProcess(type);
|
|
75
77
|
if (key) {
|
|
76
|
-
this.processService
|
|
78
|
+
this.processService
|
|
79
|
+
.getProcessDefinitionVersions(key)
|
|
80
|
+
.subscribe((processDefinitionVersions) => {
|
|
77
81
|
this.selectedVersions[type] = processDefinitionVersions;
|
|
78
82
|
});
|
|
79
83
|
}
|
|
@@ -112,7 +116,8 @@ export class MigrationComponent {
|
|
|
112
116
|
const sourceFlowNodeMap = this.sourceDiagram.flowNodeMap;
|
|
113
117
|
const targetFlowNodeMap = this.targetDiagram.flowNodeMap;
|
|
114
118
|
if (sourceFlowNodeMap != null && targetFlowNodeMap != null) {
|
|
115
|
-
this.uniqueFlowNodeMap = sourceFlowNodeMap.filter(sourceFlowNode => !targetFlowNodeMap.some(targetFlowNode => sourceFlowNode.id === targetFlowNode.id &&
|
|
119
|
+
this.uniqueFlowNodeMap = sourceFlowNodeMap.filter(sourceFlowNode => !targetFlowNodeMap.some(targetFlowNode => sourceFlowNode.id === targetFlowNode.id &&
|
|
120
|
+
sourceFlowNode.$type === targetFlowNode.$type));
|
|
116
121
|
}
|
|
117
122
|
}
|
|
118
123
|
getFilteredTargetFlowNodeMap(flowNodeType) {
|
|
@@ -129,19 +134,21 @@ export class MigrationComponent {
|
|
|
129
134
|
}
|
|
130
135
|
}
|
|
131
136
|
migrateProcess() {
|
|
132
|
-
this.processService
|
|
137
|
+
this.processService
|
|
138
|
+
.migrateProcess(this.selectedId.source, this.selectedId.target, this.taskMapping)
|
|
139
|
+
.subscribe(res => {
|
|
133
140
|
this.alertService.success('Process successfully migrated!');
|
|
134
141
|
this.clearProcess('source');
|
|
135
142
|
this.clearProcess('target');
|
|
136
143
|
this.fields = {
|
|
137
144
|
source: {
|
|
138
145
|
definition: null,
|
|
139
|
-
version: null
|
|
146
|
+
version: null,
|
|
140
147
|
},
|
|
141
148
|
target: {
|
|
142
149
|
definition: null,
|
|
143
|
-
version: null
|
|
144
|
-
}
|
|
150
|
+
version: null,
|
|
151
|
+
},
|
|
145
152
|
};
|
|
146
153
|
}, err => {
|
|
147
154
|
this.alertService.error('Process migration failed!');
|
|
@@ -152,7 +159,7 @@ export class MigrationComponent {
|
|
|
152
159
|
MigrationComponent.decorators = [
|
|
153
160
|
{ type: Component, args: [{
|
|
154
161
|
selector: 'valtimo-migration',
|
|
155
|
-
template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"main-content\">\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\"
|
|
162
|
+
template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"main-content\">\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",
|
|
156
163
|
styles: ["/*!\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */"]
|
|
157
164
|
},] }
|
|
158
165
|
];
|
|
@@ -165,4 +172,4 @@ MigrationComponent.propDecorators = {
|
|
|
165
172
|
sourceDiagram: [{ type: ViewChild, args: ['sourceDiagram',] }],
|
|
166
173
|
targetDiagram: [{ type: ViewChild, args: ['targetDiagram',] }]
|
|
167
174
|
};
|
|
168
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlncmF0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vbWlncmF0aW9uL3NyYy9saWIvbWlncmF0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBZ0IsU0FBUyxFQUFVLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFFaEQsT0FBTyxFQUFDLGdDQUFnQyxFQUFDLE1BQU0saUVBQWlFLENBQUM7QUFDakgsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLFlBQVksQ0FBQztBQUNyQyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFPakQsTUFBTSxPQUFPLGtCQUFrQjtJQW1DN0IsWUFBb0IsY0FBOEIsRUFBVSxNQUFpQixFQUFVLFlBQTBCO1FBQTdGLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVc7UUFBVSxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQWpDMUcsdUJBQWtCLEdBQXdCLEVBQUUsQ0FBQztRQUM3QyxxQkFBZ0IsR0FBRztZQUN4QixNQUFNLEVBQUUsRUFBRTtZQUNWLE1BQU0sRUFBRSxFQUFFO1NBQ1gsQ0FBQztRQUNLLGVBQVUsR0FBRztZQUNsQixNQUFNLEVBQUUsSUFBSTtZQUNaLE1BQU0sRUFBRSxJQUFJO1NBQ2IsQ0FBQztRQUNLLFdBQU0sR0FBRztZQUNkLE1BQU0sRUFBRSxLQUFLO1lBQ2IsTUFBTSxFQUFFLEtBQUs7U0FDZCxDQUFDO1FBQ0ssV0FBTSxHQUFHO1lBQ2QsTUFBTSxFQUFFO2dCQUNOLFVBQVUsRUFBRSxJQUFJO2dCQUNoQixPQUFPLEVBQUUsSUFBSTthQUNkO1lBQ0QsTUFBTSxFQUFFO2dCQUNOLFVBQVUsRUFBRSxJ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InNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDIwIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBPbkluaXQsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1Byb2Nlc3NTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9wcm9jZXNzJztcbmltcG9ydCB7UHJvY2Vzc0RlZmluaXRpb259IGZyb20gJ0B2YWx0aW1vL2NvbnRyYWN0JztcbmltcG9ydCB7TWlncmF0aW9uUHJvY2Vzc0RpYWdyYW1Db21wb25lbnR9IGZyb20gJy4vbWlncmF0aW9uLXByb2Nlc3MtZGlhZ3JhbS9taWdyYXRpb24tcHJvY2Vzcy1kaWFncmFtLmNvbXBvbmVudCc7XG5pbXBvcnQge05HWExvZ2dlcn0gZnJvbSAnbmd4LWxvZ2dlcic7XG5pbXBvcnQge0FsZXJ0U2VydmljZX0gZnJvbSAnQHZhbHRpbW8vY29tcG9uZW50cyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbHRpbW8tbWlncmF0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21pZ3JhdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21pZ3JhdGlvbi5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIE1pZ3JhdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgcHVibGljIHByb2Nlc3NEZWZpbml0aW9uczogUHJvY2Vzc0RlZmluaXRpb25bXSA9IFtdO1xuICBwdWJsaWMgc2VsZWN0ZWRWZXJzaW9ucyA9IHtcbiAgICBzb3VyY2U6IFtdLFxuICAgIHRhcmdldDogW11cbiAgfTtcbiAgcHVibGljIHNlbGVjdGVkSWQgPSB7XG4gICAgc291cmNlOiBudWxsLFxuICAgIHRhcmdldDogbnVsbFxuICB9O1xuICBwdWJsaWMgbG9hZGVkID0ge1xuICAgIHNvdXJjZTogZmFsc2UsXG4gICAgdGFyZ2V0OiBmYWxzZVxuICB9O1xuICBwdWJsaWMgZmllbGRzID0ge1xuICAgIHNvdXJjZToge1xuICAgICAgZGVmaW5pdGlvbjogbnVsbCxcbiAgICAgIHZlcnNpb246IG51bGxcbiAgICB9LFxuICAgIHRhcmdldDoge1xuICAgICAgZGVmaW5pdGlvbjogbnVsbCxcbiAgICAgIHZlcnNpb246IG51bGxcbiAgICB9XG4gIH07XG5cbiAgcHVibGljIHByb2Nlc3NDb3VudDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG4gIHB1YmxpYyB1bmlxdWVGbG93Tm9kZU1hcDogYW55W10gPSBbXTtcbiAgcHVibGljIHRhc2tNYXBwaW5nOiBhbnkgPSB7fTtcblxuICBAVmlld0NoaWxkKCdzb3VyY2VEaWFncmFtJykgc291cmNlRGlhZ3JhbTogTWlncmF0aW9uUHJvY2Vzc0RpYWdyYW1Db21wb25lbnQ7XG4gIEBWaWV3Q2hpbGQoJ3RhcmdldERpYWdyYW0nKSB0YXJnZXREaWFncmFtOiBNaWdyYXRpb25Qcm9jZXNzRGlhZ3JhbUNvbXBvbmVudDtcblxuICBwdWJsaWMgZGlhZ3JhbTogYW55ID0gbnVsbDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHByb2Nlc3NTZXJ2aWNlOiBQcm9jZXNzU2VydmljZSwgcHJpdmF0ZSBsb2dnZXI6IE5HWExvZ2dlciwgcHJpdmF0ZSBhbGVydFNlcnZpY2U6IEFsZXJ0U2VydmljZSkge1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5sb2FkUHJvY2Vzc0RlZmluaXRpb25zKCk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5kaWFncmFtID0ge1xuICAgICAgc291cmNlOiB0aGlzLnNvdXJjZURpYWdyYW0sXG4gICAgICB0YXJnZXQ6IHRoaXMudGFyZ2V0RGlhZ3JhbVxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgZ2V0IHRhc2tNYXBwaW5nTGVuZ3RoKCkge1xuICAgIHJldHVybiBPYmplY3Qua2V5cyh0aGlzLnRhc2tNYXBwaW5nKS5sZW5ndGg7XG4gIH1cblxuICBsb2FkUHJvY2Vzc0RlZmluaXRpb25zKCkge1xuICAgIHRoaXMucHJvY2Vzc1NlcnZpY2UuZ2V0UHJvY2Vzc0RlZmluaXRpb25zKCkuc3Vic2NyaWJlKChwcm9jZXNzRGVmaW5pdGlvbnM6IFByb2Nlc3NEZWZpbml0aW9uW10pID0+IHtcbiAgICAgIHRoaXMucHJvY2Vzc0RlZmluaXRpb25zID0gcHJvY2Vzc0RlZmluaXRpb25zO1xuICAgIH0pO1xuICB9XG5cbiAgbG9hZFByb2Nlc3NEZWZpbml0aW9uVmVyc2lvbnMoa2V5OiBzdHJpbmcgfCBudWxsLCB0eXBlOiBzdHJpbmcpIHtcbiAgICB0aGlzLmZpZWxkc1t0eXBlXS5kZWZpbml0aW9uID0ga2V5O1xuICAgIHRoaXMuc2VsZWN0ZWRWZXJzaW9uc1t0eXBlXSA9IFtdO1xuICAgIHRoaXMuY2xlYXJQcm9jZXNzKHR5cGUpO1xuICAgIGlmIChrZXkpIHtcbiAgICAgIHRoaXMucHJvY2Vzc1NlcnZpY2UuZ2V0UHJvY2Vzc0RlZmluaXRpb25WZXJzaW9ucyhrZXkpLnN1YnNjcmliZSgocHJvY2Vzc0RlZmluaXRpb25WZXJzaW9uczogUHJvY2Vzc0RlZmluaXRpb25bXSkgPT4ge1xuICAgICAgICB0aGlzLnNlbGVjdGVkVmVyc2lvbnNbdHlwZV0gPSBwcm9jZXNzRGVmaW5pdGlvblZlcnNpb25zO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgbG9hZFByb2Nlc3MoaWQ6IHN0cmluZyB8IG51bGwsIHR5cGU6IHN0cmluZykge1xuICAgIHRoaXMuZmllbGRzW3R5cGVdLnZlcnNpb24gPSBpZDtcbiAgICB0aGlzLmNsZWFyUHJvY2Vzcyh0eXBlKTtcbiAgICBpZiAoaWQpIHtcbiAgICAgIHRoaXMubG9hZFByb2Nlc3NEZWZpbml0aW9uWE1MKGlkLCB0eXBlKTtcbiAgICAgIGlmICh0eXBlID09PSAnc291cmNlJykge1xuICAgICAgICB0aGlzLmxvYWRQcm9jZXNzQ291bnQoaWQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY2xlYXJQcm9jZXNzKHR5cGU6IHN0cmluZykge1xuICAgIHRoaXMubG9hZGVkW3R5cGVdID0gZmFsc2U7XG4gICAgdGhpcy5zZWxlY3RlZElkW3R5cGVdID0gbnVsbDtcbiAgICB0aGlzLmRpYWdyYW1bdHlwZV0uY2xlYXIoKTtcbiAgICBpZiAodHlwZSA9PT0gJ3NvdXJjZScpIHtcbiAgICAgIHRoaXMucHJvY2Vzc0NvdW50ID0gbnVsbDtcbiAgICB9XG4gIH1cblxuICBsb2FkUHJvY2Vzc0RlZmluaXRpb25YTUwoaWQ6IHN0cmluZywgdHlwZTogc3RyaW5nKSB7XG4gICAgdGhpcy5wcm9jZXNzU2VydmljZS5nZXRQcm9jZXNzRGVmaW5pdGlvblhtbChpZCkuc3Vic2NyaWJlKHhtbCA9PiB7XG4gICAgICB0aGlzLmRpYWdyYW1bdHlwZV0ubG9hZFhtbCh4bWxbJ2JwbW4yMFhtbCddKTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRJZFt0eXBlXSA9IGlkO1xuICAgIH0pO1xuICB9XG5cbiAgbG9hZFByb2Nlc3NDb3VudChpZDogc3RyaW5nKSB7XG4gICAgdGhpcy5wcm9jZXNzU2VydmljZS5nZXRQcm9jZXNzQ291bnQoaWQpLnN1YnNjcmliZShyZXNwb25zZSA9PiB7XG4gICAgICB0aGlzLnByb2Nlc3NDb3VudCA9IHJlc3BvbnNlLmNvdW50O1xuICAgIH0pO1xuICB9XG5cbiAgc2V0VW5pcXVlRmxvd05vZGVNYXAoKSB7XG4gICAgdGhpcy51bmlxdWVGbG93Tm9kZU1hcCA9IFtdO1xuICAgIGNvbnN0IHNvdXJjZUZsb3dOb2RlTWFwID0gdGhpcy5zb3VyY2VEaWFncmFtLmZsb3dOb2RlTWFwO1xuICAgIGNvbnN0IHRhcmdldEZsb3dOb2RlTWFwID0gdGhpcy50YXJnZXREaWFncmFtLmZsb3dOb2RlTWFwO1xuXG4gICAgaWYgKHNvdXJjZUZsb3dOb2RlTWFwICE9IG51bGwgJiYgdGFyZ2V0Rmxvd05vZGVNYXAgIT0gbnVsbCkge1xuICAgICAgdGhpcy51bmlxdWVGbG93Tm9kZU1hcCA9IHNvdXJjZUZsb3dOb2RlTWFwLmZpbHRlcihzb3VyY2VGbG93Tm9kZSA9PlxuICAgICAgICAhdGFyZ2V0Rmxvd05vZGVNYXAuc29tZSh0YXJnZXRGbG93Tm9kZSA9PlxuICAgICAgICAgIHNvdXJjZUZsb3dOb2RlLmlkID09PSB0YXJnZXRGbG93Tm9kZS5pZCAmJiBzb3VyY2VGbG93Tm9kZS4kdHlwZSA9PT0gdGFyZ2V0Rmxvd05vZGUuJHR5cGUpKTtcbiAgICB9XG4gIH1cblxuICBnZXRGaWx0ZXJlZFRhcmdldEZsb3dOb2RlTWFwKGZsb3dOb2RlVHlwZSkge1xuICAgIGNvbnN0IHRhcmdldEZsb3dOb2RlTWFwID0gdGhpcy50YXJnZXREaWFncmFtLmZsb3dOb2RlTWFwO1xuICAgIHJldHVybiB0YXJnZXRGbG93Tm9kZU1hcC5maWx0ZXIoZnVuY3Rpb24gKGZsb3dOb2RlKSB7XG4gICAgICByZXR1cm4gZmxvd05vZGUuJHR5cGUgPT09IGZsb3dOb2RlVHlwZTtcbiAgICB9KTtcbiAgfVxuXG4gIGRpYWdyYW1Mb2FkZWQoZGlhZ3JhbU5hbWU6IHN0cmluZykge1xuICAgIHRoaXMubG9hZGVkW2RpYWdyYW1OYW1lXSA9IHRydWU7XG4gICAgaWYgKHRoaXMubG9hZGVkLnNvdXJjZSAmJiB0aGlzLmxvYWRlZC50YXJnZXQpIHtcbiAgICAgIHRoaXMudGFza01hcHBpbmcgPSB7fTtcbiAgICAgIHRoaXMuc2V0VW5pcXVlRmxvd05vZGVNYXAoKTtcbiAgICB9XG4gIH1cblxuICBtaWdyYXRlUHJvY2VzcygpIHtcbiAgICB0aGlzLnByb2Nlc3NTZXJ2aWNlLm1pZ3JhdGVQcm9jZXNzKHRoaXMuc2VsZWN0ZWRJZC5zb3VyY2UsIHRoaXMuc2VsZWN0ZWRJZC50YXJnZXQsIHRoaXMudGFza01hcHBpbmcpLnN1YnNjcmliZSgocmVzKSA9PiB7XG4gICAgICB0aGlzLmFsZXJ0U2VydmljZS5zdWNjZXNzKCdQcm9jZXNzIHN1Y2Nlc3NmdWxseSBtaWdyYXRlZCEnKTtcbiAgICAgIHRoaXMuY2xlYXJQcm9jZXNzKCdzb3VyY2UnKTtcbiAgICAgIHRoaXMuY2xlYXJQcm9jZXNzKCd0YXJnZXQnKTtcbiAgICAgIHRoaXMuZmllbGRzID0ge1xuICAgICAgICBzb3VyY2U6IHtcbiAgICAgICAgICBkZWZpbml0aW9uOiBudWxsLFxuICAgICAgICAgIHZlcnNpb246IG51bGxcbiAgICAgICAgfSxcbiAgICAgICAgdGFyZ2V0OiB7XG4gICAgICAgICAgZGVmaW5pdGlvbjogbnVsbCxcbiAgICAgICAgICB2ZXJzaW9uOiBudWxsXG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfSwgZXJyID0+IHtcbiAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmVycm9yKCdQcm9jZXNzIG1pZ3JhdGlvbiBmYWlsZWQhJyk7XG4gICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhlcnIpO1xuICAgIH0pO1xuICB9XG5cbn1cbiJdfQ==
|
|
175
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlncmF0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIvdG1wL2plbmtpbnMtNGMzYmI3NzAvd29ya3NwYWNlL1ZhbHRpbW9fLV9Bbmd1bGFyX0xpYnJhcmllc19tYWluL3Byb2plY3RzL3ZhbHRpbW8vbWlncmF0aW9uL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9taWdyYXRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFnQixTQUFTLEVBQVUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzFFLE9BQU8sRUFBQyxjQUFjLEVBQW9CLE1BQU0sa0JBQWtCLENBQUM7QUFDbkUsT0FBTyxFQUFDLGdDQUFnQyxFQUFDLE1BQU0saUVBQWlFLENBQUM7QUFDakgsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLFlBQVksQ0FBQztBQUNyQyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFPakQsTUFBTSxPQUFPLGtCQUFrQjtJQWtDN0IsWUFDVSxjQUE4QixFQUM5QixNQUFpQixFQUNqQixZQUEwQjtRQUYxQixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUNqQixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQXBDN0IsdUJBQWtCLEdBQXdCLEVBQUUsQ0FBQztRQUM3QyxxQkFBZ0IsR0FBRztZQUN4QixNQUFNLEVBQUUsRUFBRTtZQUNWLE1BQU0sRUFBRSxFQUFFO1NBQ1gsQ0FBQztRQUNLLGVBQVUsR0FBRztZQUNsQixNQUFNLEVBQUUsSUFBSTtZQUNaLE1BQU0sRUFBRSxJQUFJO1NBQ2IsQ0FBQztRQUNLLFdBQU0sR0FBRztZQUNkLE1BQU0sRUFBRSxLQUFLO1lBQ2IsTUFBTSxFQUFFLEtBQUs7U0FDZCxDQUFDO1FBQ0ssV0FBTSxHQUFHO1lBQ2QsTUFBTSxFQUFFO2dCQUNOLFVBQVUsRUFBRSxJQUFJO2dCQUNo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WUFDVCxZQUFZOzs7NEJBb0NqQixTQUFTLFNBQUMsZUFBZTs0QkFDekIsU0FBUyxTQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyMCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge0FmdGVyVmlld0luaXQsIENvbXBvbmVudCwgT25Jbml0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtQcm9jZXNzU2VydmljZSwgUHJvY2Vzc0RlZmluaXRpb259IGZyb20gJ0B2YWx0aW1vL3Byb2Nlc3MnO1xuaW1wb3J0IHtNaWdyYXRpb25Qcm9jZXNzRGlhZ3JhbUNvbXBvbmVudH0gZnJvbSAnLi9taWdyYXRpb24tcHJvY2Vzcy1kaWFncmFtL21pZ3JhdGlvbi1wcm9jZXNzLWRpYWdyYW0uY29tcG9uZW50JztcbmltcG9ydCB7TkdYTG9nZ2VyfSBmcm9tICduZ3gtbG9nZ2VyJztcbmltcG9ydCB7QWxlcnRTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9jb21wb25lbnRzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsdGltby1taWdyYXRpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vbWlncmF0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWlncmF0aW9uLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIE1pZ3JhdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gIHB1YmxpYyBwcm9jZXNzRGVmaW5pdGlvbnM6IFByb2Nlc3NEZWZpbml0aW9uW10gPSBbXTtcbiAgcHVibGljIHNlbGVjdGVkVmVyc2lvbnMgPSB7XG4gICAgc291cmNlOiBbXSxcbiAgICB0YXJnZXQ6IFtdLFxuICB9O1xuICBwdWJsaWMgc2VsZWN0ZWRJZCA9IHtcbiAgICBzb3VyY2U6IG51bGwsXG4gICAgdGFyZ2V0OiBudWxsLFxuICB9O1xuICBwdWJsaWMgbG9hZGVkID0ge1xuICAgIHNvdXJjZTogZmFsc2UsXG4gICAgdGFyZ2V0OiBmYWxzZSxcbiAgfTtcbiAgcHVibGljIGZpZWxkcyA9IHtcbiAgICBzb3VyY2U6IHtcbiAgICAgIGRlZmluaXRpb246IG51bGwsXG4gICAgICB2ZXJzaW9uOiBudWxsLFxuICAgIH0sXG4gICAgdGFyZ2V0OiB7XG4gICAgICBkZWZpbml0aW9uOiBudWxsLFxuICAgICAgdmVyc2lvbjogbnVsbCxcbiAgICB9LFxuICB9O1xuXG4gIHB1YmxpYyBwcm9jZXNzQ291bnQ6IG51bWJlciB8IG51bGwgPSBudWxsO1xuICBwdWJsaWMgdW5pcXVlRmxvd05vZGVNYXA6IGFueVtdID0gW107XG4gIHB1YmxpYyB0YXNrTWFwcGluZzogYW55ID0ge307XG5cbiAgQFZpZXdDaGlsZCgnc291cmNlRGlhZ3JhbScpIHNvdXJjZURpYWdyYW06IE1pZ3JhdGlvblByb2Nlc3NEaWFncmFtQ29tcG9uZW50O1xuICBAVmlld0NoaWxkKCd0YXJnZXREaWFncmFtJykgdGFyZ2V0RGlhZ3JhbTogTWlncmF0aW9uUHJvY2Vzc0RpYWdyYW1Db21wb25lbnQ7XG5cbiAgcHVibGljIGRpYWdyYW06IGFueSA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBwcm9jZXNzU2VydmljZTogUHJvY2Vzc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBsb2dnZXI6IE5HWExvZ2dlcixcbiAgICBwcml2YXRlIGFsZXJ0U2VydmljZTogQWxlcnRTZXJ2aWNlXG4gICkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmxvYWRQcm9jZXNzRGVmaW5pdGlvbnMoKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLmRpYWdyYW0gPSB7XG4gICAgICBzb3VyY2U6IHRoaXMuc291cmNlRGlhZ3JhbSxcbiAgICAgIHRhcmdldDogdGhpcy50YXJnZXREaWFncmFtLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgZ2V0IHRhc2tNYXBwaW5nTGVuZ3RoKCkge1xuICAgIHJldHVybiBPYmplY3Qua2V5cyh0aGlzLnRhc2tNYXBwaW5nKS5sZW5ndGg7XG4gIH1cblxuICBsb2FkUHJvY2Vzc0RlZmluaXRpb25zKCkge1xuICAgIHRoaXMucHJvY2Vzc1NlcnZpY2VcbiAgICAgIC5nZXRQcm9jZXNzRGVmaW5pdGlvbnMoKVxuICAgICAgLnN1YnNjcmliZSgocHJvY2Vzc0RlZmluaXRpb25zOiBQcm9jZXNzRGVmaW5pdGlvbltdKSA9PiB7XG4gICAgICAgIHRoaXMucHJvY2Vzc0RlZmluaXRpb25zID0gcHJvY2Vzc0RlZmluaXRpb25zO1xuICAgICAgfSk7XG4gIH1cblxuICBsb2FkUHJvY2Vzc0RlZmluaXRpb25WZXJzaW9ucyhrZXk6IHN0cmluZyB8IG51bGwsIHR5cGU6IHN0cmluZykge1xuICAgIHRoaXMuZmllbGRzW3R5cGVdLmRlZmluaXRpb24gPSBrZXk7XG4gICAgdGhpcy5zZWxlY3RlZFZlcnNpb25zW3R5cGVdID0gW107XG4gICAgdGhpcy5jbGVhclByb2Nlc3ModHlwZSk7XG4gICAgaWYgKGtleSkge1xuICAgICAgdGhpcy5wcm9jZXNzU2VydmljZVxuICAgICAgICAuZ2V0UHJvY2Vzc0RlZmluaXRpb25WZXJzaW9ucyhrZXkpXG4gICAgICAgIC5zdWJzY3JpYmUoKHByb2Nlc3NEZWZpbml0aW9uVmVyc2lvbnM6IFByb2Nlc3NEZWZpbml0aW9uW10pID0+IHtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkVmVyc2lvbnNbdHlwZV0gPSBwcm9jZXNzRGVmaW5pdGlvblZlcnNpb25zO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBsb2FkUHJvY2VzcyhpZDogc3RyaW5nIHwgbnVsbCwgdHlwZTogc3RyaW5nKSB7XG4gICAgdGhpcy5maWVsZHNbdHlwZV0udmVyc2lvbiA9IGlkO1xuICAgIHRoaXMuY2xlYXJQcm9jZXNzKHR5cGUpO1xuICAgIGlmIChpZCkge1xuICAgICAgdGhpcy5sb2FkUHJvY2Vzc0RlZmluaXRpb25YTUwoaWQsIHR5cGUpO1xuICAgICAgaWYgKHR5cGUgPT09ICdzb3VyY2UnKSB7XG4gICAgICAgIHRoaXMubG9hZFByb2Nlc3NDb3VudChpZCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjbGVhclByb2Nlc3ModHlwZTogc3RyaW5nKSB7XG4gICAgdGhpcy5sb2FkZWRbdHlwZV0gPSBmYWxzZTtcbiAgICB0aGlzLnNlbGVjdGVkSWRbdHlwZV0gPSBudWxsO1xuICAgIHRoaXMuZGlhZ3JhbVt0eXBlXS5jbGVhcigpO1xuICAgIGlmICh0eXBlID09PSAnc291cmNlJykge1xuICAgICAgdGhpcy5wcm9jZXNzQ291bnQgPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIGxvYWRQcm9jZXNzRGVmaW5pdGlvblhNTChpZDogc3RyaW5nLCB0eXBlOiBzdHJpbmcpIHtcbiAgICB0aGlzLnByb2Nlc3NTZXJ2aWNlLmdldFByb2Nlc3NEZWZpbml0aW9uWG1sKGlkKS5zdWJzY3JpYmUoeG1sID0+IHtcbiAgICAgIHRoaXMuZGlhZ3JhbVt0eXBlXS5sb2FkWG1sKHhtbFsnYnBtbjIwWG1sJ10pO1xuICAgICAgdGhpcy5zZWxlY3RlZElkW3R5cGVdID0gaWQ7XG4gICAgfSk7XG4gIH1cblxuICBsb2FkUHJvY2Vzc0NvdW50KGlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLnByb2Nlc3NTZXJ2aWNlLmdldFByb2Nlc3NDb3VudChpZCkuc3Vic2NyaWJlKHJlc3BvbnNlID0+IHtcbiAgICAgIHRoaXMucHJvY2Vzc0NvdW50ID0gcmVzcG9uc2UuY291bnQ7XG4gICAgfSk7XG4gIH1cblxuICBzZXRVbmlxdWVGbG93Tm9kZU1hcCgpIHtcbiAgICB0aGlzLnVuaXF1ZUZsb3dOb2RlTWFwID0gW107XG4gICAgY29uc3Qgc291cmNlRmxvd05vZGVNYXAgPSB0aGlzLnNvdXJjZURpYWdyYW0uZmxvd05vZGVNYXA7XG4gICAgY29uc3QgdGFyZ2V0Rmxvd05vZGVNYXAgPSB0aGlzLnRhcmdldERpYWdyYW0uZmxvd05vZGVNYXA7XG5cbiAgICBpZiAoc291cmNlRmxvd05vZGVNYXAgIT0gbnVsbCAmJiB0YXJnZXRGbG93Tm9kZU1hcCAhPSBudWxsKSB7XG4gICAgICB0aGlzLnVuaXF1ZUZsb3dOb2RlTWFwID0gc291cmNlRmxvd05vZGVNYXAuZmlsdGVyKFxuICAgICAgICBzb3VyY2VGbG93Tm9kZSA9PlxuICAgICAgICAgICF0YXJnZXRGbG93Tm9kZU1hcC5zb21lKFxuICAgICAgICAgICAgdGFyZ2V0Rmxvd05vZGUgPT5cbiAgICAgICAgICAgICAgc291cmNlRmxvd05vZGUuaWQgPT09IHRhcmdldEZsb3dOb2RlLmlkICYmXG4gICAgICAgICAgICAgIHNvdXJjZUZsb3dOb2RlLiR0eXBlID09PSB0YXJnZXRGbG93Tm9kZS4kdHlwZVxuICAgICAgICAgIClcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgZ2V0RmlsdGVyZWRUYXJnZXRGbG93Tm9kZU1hcChmbG93Tm9kZVR5cGUpIHtcbiAgICBjb25zdCB0YXJnZXRGbG93Tm9kZU1hcCA9IHRoaXMudGFyZ2V0RGlhZ3JhbS5mbG93Tm9kZU1hcDtcbiAgICByZXR1cm4gdGFyZ2V0Rmxvd05vZGVNYXAuZmlsdGVyKGZ1bmN0aW9uIChmbG93Tm9kZSkge1xuICAgICAgcmV0dXJuIGZsb3dOb2RlLiR0eXBlID09PSBmbG93Tm9kZVR5cGU7XG4gICAgfSk7XG4gIH1cblxuICBkaWFncmFtTG9hZGVkKGRpYWdyYW1OYW1lOiBzdHJpbmcpIHtcbiAgICB0aGlzLmxvYWRlZFtkaWFncmFtTmFtZV0gPSB0cnVlO1xuICAgIGlmICh0aGlzLmxvYWRlZC5zb3VyY2UgJiYgdGhpcy5sb2FkZWQudGFyZ2V0KSB7XG4gICAgICB0aGlzLnRhc2tNYXBwaW5nID0ge307XG4gICAgICB0aGlzLnNldFVuaXF1ZUZsb3dOb2RlTWFwKCk7XG4gICAgfVxuICB9XG5cbiAgbWlncmF0ZVByb2Nlc3MoKSB7XG4gICAgdGhpcy5wcm9jZXNzU2VydmljZVxuICAgICAgLm1pZ3JhdGVQcm9jZXNzKHRoaXMuc2VsZWN0ZWRJZC5zb3VyY2UsIHRoaXMuc2VsZWN0ZWRJZC50YXJnZXQsIHRoaXMudGFza01hcHBpbmcpXG4gICAgICAuc3Vic2NyaWJlKFxuICAgICAgICByZXMgPT4ge1xuICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLnN1Y2Nlc3MoJ1Byb2Nlc3Mgc3VjY2Vzc2Z1bGx5IG1pZ3JhdGVkIScpO1xuICAgICAgICAgIHRoaXMuY2xlYXJQcm9jZXNzKCdzb3VyY2UnKTtcbiAgICAgICAgICB0aGlzLmNsZWFyUHJvY2VzcygndGFyZ2V0Jyk7XG4gICAgICAgICAgdGhpcy5maWVsZHMgPSB7XG4gICAgICAgICAgICBzb3VyY2U6IHtcbiAgICAgICAgICAgICAgZGVmaW5pdGlvbjogbnVsbCxcbiAgICAgICAgICAgICAgdmVyc2lvbjogbnVsbCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB0YXJnZXQ6IHtcbiAgICAgICAgICAgICAgZGVmaW5pdGlvbjogbnVsbCxcbiAgICAgICAgICAgICAgdmVyc2lvbjogbnVsbCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfTtcbiAgICAgICAgfSxcbiAgICAgICAgZXJyID0+IHtcbiAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5lcnJvcignUHJvY2VzcyBtaWdyYXRpb24gZmFpbGVkIScpO1xuICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKGVycik7XG4gICAgICAgIH1cbiAgICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -32,9 +32,9 @@ MigrationModule.decorators = [
|
|
|
32
32
|
ReactiveFormsModule,
|
|
33
33
|
WidgetModule,
|
|
34
34
|
FormsModule,
|
|
35
|
-
TranslateModule
|
|
35
|
+
TranslateModule,
|
|
36
36
|
],
|
|
37
|
-
exports: [MigrationComponent]
|
|
37
|
+
exports: [MigrationComponent],
|
|
38
38
|
},] }
|
|
39
39
|
];
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlncmF0aW9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIvdG1wL2plbmtpbnMtNGMzYmI3NzAvd29ya3NwYWNlL1ZhbHRpbW9fLV9Bbmd1bGFyX0xpYnJhcmllc19tYWluL3Byb2plY3RzL3ZhbHRpbW8vbWlncmF0aW9uL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9taWdyYXRpb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNsRSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFdBQVcsRUFBRSxtQkFBbUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxnQ0FBZ0MsRUFBQyxNQUFNLGlFQUFpRSxDQUFDO0FBQ2pILE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFjcEQsTUFBTSxPQUFPLGVBQWU7OztZQVozQixRQUFRLFNBQUM7Z0JBQ1IsWUFBWSxFQUFFLENBQUMsa0JBQWtCLEVBQUUsZ0NBQWdDLENBQUM7Z0JBQ3BFLE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLHNCQUFzQjtvQkFDdEIsbUJBQW1CO29CQUNuQixZQUFZO29CQUNaLFdBQVc7b0JBQ1gsZUFBZTtpQkFDaEI7Z0JBQ0QsT0FBTyxFQUFFLENBQUMsa0JBQWtCLENBQUM7YUFDOUIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyMCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TWlncmF0aW9uQ29tcG9uZW50fSBmcm9tICcuL21pZ3JhdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHtNaWdyYXRpb25Sb3V0aW5nTW9kdWxlfSBmcm9tICcuL21pZ3JhdGlvbi1yb3V0aW5nLm1vZHVsZSc7XG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7Rm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7TWlncmF0aW9uUHJvY2Vzc0RpYWdyYW1Db21wb25lbnR9IGZyb20gJy4vbWlncmF0aW9uLXByb2Nlc3MtZGlhZ3JhbS9taWdyYXRpb24tcHJvY2Vzcy1kaWFncmFtLmNvbXBvbmVudCc7XG5pbXBvcnQge1dpZGdldE1vZHVsZX0gZnJvbSAnQHZhbHRpbW8vY29tcG9uZW50cyc7XG5pbXBvcnQge1RyYW5zbGF0ZU1vZHVsZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW01pZ3JhdGlvbkNvbXBvbmVudCwgTWlncmF0aW9uUHJvY2Vzc0RpYWdyYW1Db21wb25lbnRdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE1pZ3JhdGlvblJvdXRpbmdNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBXaWRnZXRNb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbTWlncmF0aW9uQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgTWlncmF0aW9uTW9kdWxlIHt9XG4iXX0=
|
|
@@ -16,14 +16,13 @@
|
|
|
16
16
|
import { Injectable } from '@angular/core';
|
|
17
17
|
import * as i0 from "@angular/core";
|
|
18
18
|
export class MigrationService {
|
|
19
|
-
constructor() {
|
|
20
|
-
}
|
|
19
|
+
constructor() { }
|
|
21
20
|
}
|
|
22
21
|
MigrationService.ɵprov = i0.ɵɵdefineInjectable({ factory: function MigrationService_Factory() { return new MigrationService(); }, token: MigrationService, providedIn: "root" });
|
|
23
22
|
MigrationService.decorators = [
|
|
24
23
|
{ type: Injectable, args: [{
|
|
25
|
-
providedIn: 'root'
|
|
24
|
+
providedIn: 'root',
|
|
26
25
|
},] }
|
|
27
26
|
];
|
|
28
27
|
MigrationService.ctorParameters = () => [];
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlncmF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiL3RtcC9qZW5raW5zLTRjM2JiNzcwL3dvcmtzcGFjZS9WYWx0aW1vXy1fQW5ndWxhcl9MaWJyYXJpZXNfbWFpbi9wcm9qZWN0cy92YWx0aW1vL21pZ3JhdGlvbi9zcmMvIiwic291cmNlcyI6WyJsaWIvbWlncmF0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDOztBQUt6QyxNQUFNLE9BQU8sZ0JBQWdCO0lBQzNCLGdCQUFlLENBQUM7Ozs7WUFKakIsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjAgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIE1pZ3JhdGlvblNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcigpIHt9XG59XG4iXX0=
|
package/esm2015/public-api.js
CHANGED
|
@@ -19,4 +19,4 @@
|
|
|
19
19
|
export * from './lib/migration.service';
|
|
20
20
|
export * from './lib/migration.component';
|
|
21
21
|
export * from './lib/migration.module';
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIvdG1wL2plbmtpbnMtNGMzYmI3NzAvd29ya3NwYWNlL1ZhbHRpbW9fLV9Bbmd1bGFyX0xpYnJhcmllc19tYWluL3Byb2plY3RzL3ZhbHRpbW8vbWlncmF0aW9uL3NyYy8iLCJzb3VyY2VzIjpbInB1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSDs7R0FFRztBQUVILGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLHdCQUF3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjAgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBtaWdyYXRpb25cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9taWdyYXRpb24uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9taWdyYXRpb24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21pZ3JhdGlvbi5tb2R1bGUnO1xuIl19
|
|
@@ -4,4 +4,4 @@
|
|
|
4
4
|
export * from './public-api';
|
|
5
5
|
export { MigrationProcessDiagramComponent as ɵa } from './lib/migration-process-diagram/migration-process-diagram.component';
|
|
6
6
|
export { MigrationRoutingModule as ɵb } from './lib/migration-routing.module';
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdGltby1taWdyYXRpb24uanMiLCJzb3VyY2VSb290IjoiL3RtcC9qZW5raW5zLTRjM2JiNzcwL3dvcmtzcGFjZS9WYWx0aW1vXy1fQW5ndWxhcl9MaWJyYXJpZXNfbWFpbi9wcm9qZWN0cy92YWx0aW1vL21pZ3JhdGlvbi9zcmMvIiwic291cmNlcyI6WyJ2YWx0aW1vLW1pZ3JhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxnQ0FBZ0MsSUFBSSxFQUFFLEVBQUMsTUFBTSxxRUFBcUUsQ0FBQztBQUMzSCxPQUFPLEVBQUMsc0JBQXNCLElBQUksRUFBRSxFQUFDLE1BQU0sZ0NBQWdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG5cbmV4cG9ydCB7TWlncmF0aW9uUHJvY2Vzc0RpYWdyYW1Db21wb25lbnQgYXMgybVhfSBmcm9tICcuL2xpYi9taWdyYXRpb24tcHJvY2Vzcy1kaWFncmFtL21pZ3JhdGlvbi1wcm9jZXNzLWRpYWdyYW0uY29tcG9uZW50JztcbmV4cG9ydCB7TWlncmF0aW9uUm91dGluZ01vZHVsZSBhcyDJtWJ9IGZyb20gJy4vbGliL21pZ3JhdGlvbi1yb3V0aW5nLm1vZHVsZSc7Il19
|
|
@@ -6,7 +6,7 @@ import { AlertService, WidgetModule } from '@valtimo/components';
|
|
|
6
6
|
import { RouterModule } from '@angular/router';
|
|
7
7
|
import { CommonModule } from '@angular/common';
|
|
8
8
|
import { AuthGuardService } from '@valtimo/security';
|
|
9
|
-
import { ROLE_ADMIN } from '@valtimo/
|
|
9
|
+
import { ROLE_ADMIN } from '@valtimo/config';
|
|
10
10
|
import { ReactiveFormsModule, FormsModule } from '@angular/forms';
|
|
11
11
|
import { TranslateModule } from '@ngx-translate/core';
|
|
12
12
|
|
|
@@ -26,13 +26,12 @@ import { TranslateModule } from '@ngx-translate/core';
|
|
|
26
26
|
* limitations under the License.
|
|
27
27
|
*/
|
|
28
28
|
class MigrationService {
|
|
29
|
-
constructor() {
|
|
30
|
-
}
|
|
29
|
+
constructor() { }
|
|
31
30
|
}
|
|
32
31
|
MigrationService.ɵprov = ɵɵdefineInjectable({ factory: function MigrationService_Factory() { return new MigrationService(); }, token: MigrationService, providedIn: "root" });
|
|
33
32
|
MigrationService.decorators = [
|
|
34
33
|
{ type: Injectable, args: [{
|
|
35
|
-
providedIn: 'root'
|
|
34
|
+
providedIn: 'root',
|
|
36
35
|
},] }
|
|
37
36
|
];
|
|
38
37
|
MigrationService.ctorParameters = () => [];
|
|
@@ -77,7 +76,7 @@ class MigrationProcessDiagramComponent {
|
|
|
77
76
|
}
|
|
78
77
|
loadXml(xml) {
|
|
79
78
|
this.bpmnJS.attachTo(this.el.nativeElement);
|
|
80
|
-
this.bpmnJS.importXML(xml,
|
|
79
|
+
this.bpmnJS.importXML(xml, err => {
|
|
81
80
|
this.logger.debug(err);
|
|
82
81
|
const processElements = this.bpmnJS.getDefinitions().rootElements.filter(function (element) {
|
|
83
82
|
return element.isExecutable;
|
|
@@ -131,25 +130,25 @@ class MigrationComponent {
|
|
|
131
130
|
this.processDefinitions = [];
|
|
132
131
|
this.selectedVersions = {
|
|
133
132
|
source: [],
|
|
134
|
-
target: []
|
|
133
|
+
target: [],
|
|
135
134
|
};
|
|
136
135
|
this.selectedId = {
|
|
137
136
|
source: null,
|
|
138
|
-
target: null
|
|
137
|
+
target: null,
|
|
139
138
|
};
|
|
140
139
|
this.loaded = {
|
|
141
140
|
source: false,
|
|
142
|
-
target: false
|
|
141
|
+
target: false,
|
|
143
142
|
};
|
|
144
143
|
this.fields = {
|
|
145
144
|
source: {
|
|
146
145
|
definition: null,
|
|
147
|
-
version: null
|
|
146
|
+
version: null,
|
|
148
147
|
},
|
|
149
148
|
target: {
|
|
150
149
|
definition: null,
|
|
151
|
-
version: null
|
|
152
|
-
}
|
|
150
|
+
version: null,
|
|
151
|
+
},
|
|
153
152
|
};
|
|
154
153
|
this.processCount = null;
|
|
155
154
|
this.uniqueFlowNodeMap = [];
|
|
@@ -162,14 +161,16 @@ class MigrationComponent {
|
|
|
162
161
|
ngAfterViewInit() {
|
|
163
162
|
this.diagram = {
|
|
164
163
|
source: this.sourceDiagram,
|
|
165
|
-
target: this.targetDiagram
|
|
164
|
+
target: this.targetDiagram,
|
|
166
165
|
};
|
|
167
166
|
}
|
|
168
167
|
get taskMappingLength() {
|
|
169
168
|
return Object.keys(this.taskMapping).length;
|
|
170
169
|
}
|
|
171
170
|
loadProcessDefinitions() {
|
|
172
|
-
this.processService
|
|
171
|
+
this.processService
|
|
172
|
+
.getProcessDefinitions()
|
|
173
|
+
.subscribe((processDefinitions) => {
|
|
173
174
|
this.processDefinitions = processDefinitions;
|
|
174
175
|
});
|
|
175
176
|
}
|
|
@@ -178,7 +179,9 @@ class MigrationComponent {
|
|
|
178
179
|
this.selectedVersions[type] = [];
|
|
179
180
|
this.clearProcess(type);
|
|
180
181
|
if (key) {
|
|
181
|
-
this.processService
|
|
182
|
+
this.processService
|
|
183
|
+
.getProcessDefinitionVersions(key)
|
|
184
|
+
.subscribe((processDefinitionVersions) => {
|
|
182
185
|
this.selectedVersions[type] = processDefinitionVersions;
|
|
183
186
|
});
|
|
184
187
|
}
|
|
@@ -217,7 +220,8 @@ class MigrationComponent {
|
|
|
217
220
|
const sourceFlowNodeMap = this.sourceDiagram.flowNodeMap;
|
|
218
221
|
const targetFlowNodeMap = this.targetDiagram.flowNodeMap;
|
|
219
222
|
if (sourceFlowNodeMap != null && targetFlowNodeMap != null) {
|
|
220
|
-
this.uniqueFlowNodeMap = sourceFlowNodeMap.filter(sourceFlowNode => !targetFlowNodeMap.some(targetFlowNode => sourceFlowNode.id === targetFlowNode.id &&
|
|
223
|
+
this.uniqueFlowNodeMap = sourceFlowNodeMap.filter(sourceFlowNode => !targetFlowNodeMap.some(targetFlowNode => sourceFlowNode.id === targetFlowNode.id &&
|
|
224
|
+
sourceFlowNode.$type === targetFlowNode.$type));
|
|
221
225
|
}
|
|
222
226
|
}
|
|
223
227
|
getFilteredTargetFlowNodeMap(flowNodeType) {
|
|
@@ -234,19 +238,21 @@ class MigrationComponent {
|
|
|
234
238
|
}
|
|
235
239
|
}
|
|
236
240
|
migrateProcess() {
|
|
237
|
-
this.processService
|
|
241
|
+
this.processService
|
|
242
|
+
.migrateProcess(this.selectedId.source, this.selectedId.target, this.taskMapping)
|
|
243
|
+
.subscribe(res => {
|
|
238
244
|
this.alertService.success('Process successfully migrated!');
|
|
239
245
|
this.clearProcess('source');
|
|
240
246
|
this.clearProcess('target');
|
|
241
247
|
this.fields = {
|
|
242
248
|
source: {
|
|
243
249
|
definition: null,
|
|
244
|
-
version: null
|
|
250
|
+
version: null,
|
|
245
251
|
},
|
|
246
252
|
target: {
|
|
247
253
|
definition: null,
|
|
248
|
-
version: null
|
|
249
|
-
}
|
|
254
|
+
version: null,
|
|
255
|
+
},
|
|
250
256
|
};
|
|
251
257
|
}, err => {
|
|
252
258
|
this.alertService.error('Process migration failed!');
|
|
@@ -257,7 +263,7 @@ class MigrationComponent {
|
|
|
257
263
|
MigrationComponent.decorators = [
|
|
258
264
|
{ type: Component, args: [{
|
|
259
265
|
selector: 'valtimo-migration',
|
|
260
|
-
template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"main-content\">\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\"
|
|
266
|
+
template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"main-content\">\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",
|
|
261
267
|
styles: ["/*!\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */"]
|
|
262
268
|
},] }
|
|
263
269
|
];
|
|
@@ -299,11 +305,8 @@ class MigrationRoutingModule {
|
|
|
299
305
|
}
|
|
300
306
|
MigrationRoutingModule.decorators = [
|
|
301
307
|
{ type: NgModule, args: [{
|
|
302
|
-
imports: [
|
|
303
|
-
|
|
304
|
-
RouterModule.forChild(routes),
|
|
305
|
-
],
|
|
306
|
-
exports: [RouterModule]
|
|
308
|
+
imports: [CommonModule, RouterModule.forChild(routes)],
|
|
309
|
+
exports: [RouterModule],
|
|
307
310
|
},] }
|
|
308
311
|
];
|
|
309
312
|
|
|
@@ -333,9 +336,9 @@ MigrationModule.decorators = [
|
|
|
333
336
|
ReactiveFormsModule,
|
|
334
337
|
WidgetModule,
|
|
335
338
|
FormsModule,
|
|
336
|
-
TranslateModule
|
|
339
|
+
TranslateModule,
|
|
337
340
|
],
|
|
338
|
-
exports: [MigrationComponent]
|
|
341
|
+
exports: [MigrationComponent],
|
|
339
342
|
},] }
|
|
340
343
|
];
|
|
341
344
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"valtimo-migration.js","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.component.ts","../../../../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-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MigrationService {\n\n constructor() {\n }\n}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output, ViewChild} from '@angular/core';\n\nimport * as 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\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\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\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-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {AfterViewInit, Component, OnInit, ViewChild} from '@angular/core';\nimport {ProcessService} from '@valtimo/process';\nimport {ProcessDefinition} from '@valtimo/contract';\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\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(private processService: ProcessService, private logger: NGXLogger, 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.getProcessDefinitions().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.getProcessDefinitionVersions(key).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(sourceFlowNode =>\n !targetFlowNodeMap.some(targetFlowNode =>\n sourceFlowNode.id === targetFlowNode.id && sourceFlowNode.$type === targetFlowNode.$type));\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.migrateProcess(this.selectedId.source, this.selectedId.target, this.taskMapping).subscribe((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 }, err => {\n this.alertService.error('Process migration failed!');\n this.logger.debug(err);\n });\n }\n\n}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {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/contract';\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: [\n CommonModule,\n RouterModule.forChild(routes),\n ],\n exports: [RouterModule]\n})\nexport class MigrationRoutingModule {\n}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {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\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","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*\n * Public API Surface of 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\nexport {MigrationProcessDiagramComponent as ɵa} from './lib/migration-process-diagram/migration-process-diagram.component';\nexport {MigrationRoutingModule as ɵb} from './lib/migration-routing.module';"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"valtimo-migration.js","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.component.ts","../../../../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-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MigrationService {\n constructor() {}\n}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n ViewChild,\n} from '@angular/core';\n\nimport * as 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-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {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-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {RouterModule, Routes} from '@angular/router';\nimport {CommonModule} from '@angular/common';\nimport {AuthGuardService} from '@valtimo/security';\nimport {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-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {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-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*\n * Public API Surface of 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\nexport {MigrationProcessDiagramComponent as ɵa} from './lib/migration-process-diagram/migration-process-diagram.component';\nexport {MigrationRoutingModule as ɵb} from './lib/migration-routing.module';"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { AfterViewInit, OnInit } from '@angular/core';
|
|
2
|
-
import { ProcessService } from '@valtimo/process';
|
|
3
|
-
import { ProcessDefinition } from '@valtimo/contract';
|
|
2
|
+
import { ProcessService, ProcessDefinition } from '@valtimo/process';
|
|
4
3
|
import { MigrationProcessDiagramComponent } from './migration-process-diagram/migration-process-diagram.component';
|
|
5
4
|
import { NGXLogger } from 'ngx-logger';
|
|
6
5
|
import { AlertService } from '@valtimo/components';
|