@valtimo/decision 12.14.1 → 13.0.1
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/fesm2022/valtimo-decision.mjs +489 -416
- package/fesm2022/valtimo-decision.mjs.map +1 -1
- package/lib/decision-deploy/decision-deploy.component.d.ts +18 -7
- package/lib/decision-deploy/decision-deploy.component.d.ts.map +1 -1
- package/lib/decision-display/decision-display.component.d.ts +5 -7
- package/lib/decision-display/decision-display.component.d.ts.map +1 -1
- package/lib/decision-list/decision-list.component.d.ts +16 -9
- package/lib/decision-list/decision-list.component.d.ts.map +1 -1
- package/lib/decision-modeler/decision-modeler.component.d.ts +27 -12
- package/lib/decision-modeler/decision-modeler.component.d.ts.map +1 -1
- package/lib/decision-routing.module.d.ts.map +1 -1
- package/lib/decision.module.d.ts +11 -12
- package/lib/decision.module.d.ts.map +1 -1
- package/lib/models/decision-management.model.d.ts +6 -0
- package/lib/models/decision-management.model.d.ts.map +1 -0
- package/lib/models/index.d.ts +1 -0
- package/lib/models/index.d.ts.map +1 -1
- package/lib/services/decision.service.d.ts +25 -0
- package/lib/services/decision.service.d.ts.map +1 -0
- package/lib/services/index.d.ts +1 -0
- package/lib/services/index.d.ts.map +1 -1
- package/package.json +6 -8
- package/public-api.d.ts +3 -1
- package/public-api.d.ts.map +1 -1
- package/esm2022/lib/decision-deploy/decision-deploy.component.mjs +0 -54
- package/esm2022/lib/decision-display/decision-display.component.mjs +0 -74
- package/esm2022/lib/decision-list/decision-list.component.mjs +0 -74
- package/esm2022/lib/decision-modeler/decision-modeler.component.mjs +0 -213
- package/esm2022/lib/decision-modeler/empty-decision.mjs +0 -41
- package/esm2022/lib/decision-routing.module.mjs +0 -65
- package/esm2022/lib/decision.component.mjs +0 -35
- package/esm2022/lib/decision.module.mjs +0 -87
- package/esm2022/lib/decision.service.mjs +0 -54
- package/esm2022/lib/models/decision.model.mjs +0 -17
- package/esm2022/lib/models/index.mjs +0 -17
- package/esm2022/lib/services/decision-state.service.mjs +0 -38
- package/esm2022/lib/services/index.mjs +0 -17
- package/esm2022/public-api.mjs +0 -23
- package/esm2022/valtimo-decision.mjs +0 -5
- package/lib/decision.component.d.ts +0 -12
- package/lib/decision.component.d.ts.map +0 -1
- package/lib/decision.service.d.ts +0 -19
- package/lib/decision.service.d.ts.map +0 -1
|
@@ -1,213 +0,0 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import DmnJS from 'dmn-js/dist/dmn-modeler.development.js';
|
|
3
|
-
import { migrateDiagram } from '@bpmn-io/dmn-migrate';
|
|
4
|
-
import { BehaviorSubject, catchError, combineLatest, filter, from, map, of, switchMap, take, tap, } from 'rxjs';
|
|
5
|
-
import { EMPTY_DECISION } from './empty-decision';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "../decision.service";
|
|
8
|
-
import * as i2 from "@angular/router";
|
|
9
|
-
import * as i3 from "@valtimo/components";
|
|
10
|
-
import * as i4 from "@ngx-translate/core";
|
|
11
|
-
import * as i5 from "@valtimo/layout";
|
|
12
|
-
import * as i6 from "@angular/common";
|
|
13
|
-
export class DecisionModelerComponent {
|
|
14
|
-
constructor(decisionService, route, router, alertService, translateService, layoutService, pageTitleService) {
|
|
15
|
-
this.decisionService = decisionService;
|
|
16
|
-
this.route = route;
|
|
17
|
-
this.router = router;
|
|
18
|
-
this.alertService = alertService;
|
|
19
|
-
this.translateService = translateService;
|
|
20
|
-
this.layoutService = layoutService;
|
|
21
|
-
this.pageTitleService = pageTitleService;
|
|
22
|
-
this.CLASS_NAMES = {
|
|
23
|
-
drd: 'dmn-icon-lasso-tool',
|
|
24
|
-
decisionTable: 'dmn-icon-decision-table',
|
|
25
|
-
literalExpression: 'dmn-icon-literal-expression',
|
|
26
|
-
};
|
|
27
|
-
this.versionSelectionDisabled$ = new BehaviorSubject(true);
|
|
28
|
-
this.isCreating$ = new BehaviorSubject(false);
|
|
29
|
-
this.decisionId$ = this.route.params.pipe(map(params => params?.id), tap(decisionId => this.isCreating$.next(decisionId === 'create')), filter(decisionId => !!decisionId && decisionId !== 'create'), tap(() => this.versionSelectionDisabled$.next(true)));
|
|
30
|
-
this.selectionId$ = new BehaviorSubject('');
|
|
31
|
-
this.decision$ = this.decisionId$.pipe(switchMap(decisionId => this.decisionService.getDecisionById(decisionId)), tap(decision => {
|
|
32
|
-
if (decision) {
|
|
33
|
-
this.selectionId$.next(decision.id);
|
|
34
|
-
}
|
|
35
|
-
}));
|
|
36
|
-
this.decisionTitle$ = this.decision$.pipe(map(decision => decision?.key || ''), tap(decisionTitle => {
|
|
37
|
-
this.pageTitleService.setCustomPageTitle(decisionTitle);
|
|
38
|
-
}));
|
|
39
|
-
this.createdDecisionVersionSelectItems$ = new BehaviorSubject([]);
|
|
40
|
-
this.decisionVersionSelectItems$ = combineLatest([
|
|
41
|
-
this.decision$,
|
|
42
|
-
this.decisionService.getDecisions(),
|
|
43
|
-
this.createdDecisionVersionSelectItems$,
|
|
44
|
-
]).pipe(map(([currentDecision, decisions, createdDecisionVersionSelectItems]) => {
|
|
45
|
-
const decisionsWithKey = decisions.filter(decision => decision.key === currentDecision.key);
|
|
46
|
-
return [
|
|
47
|
-
...decisionsWithKey.map(decision => ({
|
|
48
|
-
id: decision.id,
|
|
49
|
-
text: decision.version.toString(),
|
|
50
|
-
})),
|
|
51
|
-
...createdDecisionVersionSelectItems,
|
|
52
|
-
].sort((a, b) => Number(b.text) - Number(a.text));
|
|
53
|
-
}), tap(() => this.versionSelectionDisabled$.next(false)));
|
|
54
|
-
this.decisionXml$ = this.decisionId$.pipe(switchMap(decisionId => this.decisionService.getDecisionXml(decisionId)), tap(decisionXml => {
|
|
55
|
-
if (decisionXml) {
|
|
56
|
-
this.loadDecisionXml(decisionXml);
|
|
57
|
-
}
|
|
58
|
-
}));
|
|
59
|
-
this.setTabEvents = () => {
|
|
60
|
-
const $tabs = this.$tabs;
|
|
61
|
-
const dmnModeler = this.dmnModeler;
|
|
62
|
-
$tabs.delegate('.tab', 'click', async function (e) {
|
|
63
|
-
// get index of view from clicked tab
|
|
64
|
-
const viewIdx = parseInt(this.getAttribute('data-id'), 10);
|
|
65
|
-
// get view using index
|
|
66
|
-
const view = dmnModeler.getViews()[viewIdx];
|
|
67
|
-
// open view
|
|
68
|
-
try {
|
|
69
|
-
await dmnModeler.open(view);
|
|
70
|
-
}
|
|
71
|
-
catch (err) {
|
|
72
|
-
console.error('error opening tab', err);
|
|
73
|
-
}
|
|
74
|
-
});
|
|
75
|
-
};
|
|
76
|
-
this.setModelerEvents = () => {
|
|
77
|
-
const $tabs = this.$tabs;
|
|
78
|
-
const CLASS_NAMES = this.CLASS_NAMES;
|
|
79
|
-
this.dmnModeler.on('views.changed', function (event) {
|
|
80
|
-
// get views from event
|
|
81
|
-
const { views, activeView } = event;
|
|
82
|
-
// clear tabs
|
|
83
|
-
$tabs.empty();
|
|
84
|
-
// create a new tab for each view
|
|
85
|
-
views.forEach(function (v, idx) {
|
|
86
|
-
const className = CLASS_NAMES[v.type];
|
|
87
|
-
const tab = $(`
|
|
88
|
-
<div class="tab ${v === activeView ? 'active' : ''}" data-id="${idx}">
|
|
89
|
-
<span class="${className}"></span>
|
|
90
|
-
${v.element.name || v.element.id}
|
|
91
|
-
</div>
|
|
92
|
-
`);
|
|
93
|
-
$tabs.append(tab);
|
|
94
|
-
});
|
|
95
|
-
});
|
|
96
|
-
};
|
|
97
|
-
}
|
|
98
|
-
ngAfterViewInit() {
|
|
99
|
-
this.setProperties();
|
|
100
|
-
this.setTabEvents();
|
|
101
|
-
this.setModelerEvents();
|
|
102
|
-
}
|
|
103
|
-
switchVersion(decisionId) {
|
|
104
|
-
if (decisionId) {
|
|
105
|
-
this.router.navigate(['/decision-tables/edit', decisionId]);
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
deploy() {
|
|
109
|
-
from(this.dmnModeler.saveXML({ format: true }))
|
|
110
|
-
.pipe(map(result => result.xml), map(xml => new File([xml], 'decision.dmn', {
|
|
111
|
-
type: 'text/xml',
|
|
112
|
-
})), switchMap(file => this.decisionService.deployDmn(file)), tap(res => {
|
|
113
|
-
const deployedDefinitions = res.deployedDecisionDefinitions;
|
|
114
|
-
const deployedDecisionDefinition = deployedDefinitions[Object.keys(deployedDefinitions)[0]];
|
|
115
|
-
const deployedId = deployedDecisionDefinition.id;
|
|
116
|
-
this.createdDecisionVersionSelectItems$
|
|
117
|
-
.pipe(take(1))
|
|
118
|
-
.subscribe(createdDecisionVersionSelectItems => {
|
|
119
|
-
if (deployedDecisionDefinition) {
|
|
120
|
-
this.createdDecisionVersionSelectItems$.next([
|
|
121
|
-
...createdDecisionVersionSelectItems,
|
|
122
|
-
{
|
|
123
|
-
id: deployedId,
|
|
124
|
-
text: deployedDecisionDefinition.version.toString(),
|
|
125
|
-
},
|
|
126
|
-
]);
|
|
127
|
-
}
|
|
128
|
-
if (deployedId) {
|
|
129
|
-
setTimeout(() => {
|
|
130
|
-
this.switchVersion(deployedId);
|
|
131
|
-
this.alertService.success(this.translateService.instant('decisions.deploySuccess'));
|
|
132
|
-
});
|
|
133
|
-
}
|
|
134
|
-
});
|
|
135
|
-
}), catchError(() => {
|
|
136
|
-
this.alertService.error(this.translateService.instant('decisions.deployFailure'));
|
|
137
|
-
return of(null);
|
|
138
|
-
}))
|
|
139
|
-
.subscribe();
|
|
140
|
-
}
|
|
141
|
-
download() {
|
|
142
|
-
from(this.dmnModeler.saveXML({ format: true }))
|
|
143
|
-
.pipe(map(result => result.xml), map(xml => new File([xml], 'decision.dmn', {
|
|
144
|
-
type: 'text/xml',
|
|
145
|
-
})), tap(file => {
|
|
146
|
-
const link = document.createElement('a');
|
|
147
|
-
link.download = 'diagram.dmn';
|
|
148
|
-
link.href = window.URL.createObjectURL(file);
|
|
149
|
-
link.click();
|
|
150
|
-
window.URL.revokeObjectURL(link.href);
|
|
151
|
-
link.remove();
|
|
152
|
-
}))
|
|
153
|
-
.subscribe();
|
|
154
|
-
}
|
|
155
|
-
setProperties() {
|
|
156
|
-
const isCreating = this.isCreating$.getValue();
|
|
157
|
-
this.$container = $('.editor-container');
|
|
158
|
-
this.$tabs = $('.editor-tabs');
|
|
159
|
-
this.dmnModeler = new DmnJS({
|
|
160
|
-
container: this.$container,
|
|
161
|
-
height: 500,
|
|
162
|
-
width: '100%',
|
|
163
|
-
keyboard: {
|
|
164
|
-
bindTo: window,
|
|
165
|
-
},
|
|
166
|
-
});
|
|
167
|
-
if (isCreating) {
|
|
168
|
-
this.loadEmptyDecisionTable();
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
loadEmptyDecisionTable() {
|
|
172
|
-
this.loadDecisionXml(EMPTY_DECISION);
|
|
173
|
-
}
|
|
174
|
-
loadDecisionXml(decision) {
|
|
175
|
-
from(this.dmnModeler.importXML(decision.dmnXml))
|
|
176
|
-
.pipe(tap(() => {
|
|
177
|
-
this.setEditor();
|
|
178
|
-
}), catchError(() => {
|
|
179
|
-
this.migrateAndLoadDecisionXml(decision);
|
|
180
|
-
return of(null);
|
|
181
|
-
}))
|
|
182
|
-
.subscribe();
|
|
183
|
-
}
|
|
184
|
-
migrateAndLoadDecisionXml(decision) {
|
|
185
|
-
from(migrateDiagram(decision.dmnXml))
|
|
186
|
-
.pipe(switchMap(decisionXml => this.dmnModeler.importXML(decisionXml)), tap(() => {
|
|
187
|
-
this.setEditor();
|
|
188
|
-
}), catchError(() => {
|
|
189
|
-
this.alertService.error(this.translateService.instant('decisions.loadFailure'));
|
|
190
|
-
return of(null);
|
|
191
|
-
}))
|
|
192
|
-
.subscribe();
|
|
193
|
-
}
|
|
194
|
-
setEditor() {
|
|
195
|
-
const dmnModeler = this.dmnModeler;
|
|
196
|
-
const activeView = dmnModeler.getActiveView();
|
|
197
|
-
// apply initial logic in DRD view
|
|
198
|
-
if (activeView.type === 'drd') {
|
|
199
|
-
const activeEditor = dmnModeler.getActiveViewer();
|
|
200
|
-
// access active editor components
|
|
201
|
-
const canvas = activeEditor.get('canvas');
|
|
202
|
-
// zoom to fit full viewport
|
|
203
|
-
canvas.zoom('fit-viewport');
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DecisionModelerComponent, deps: [{ token: i1.DecisionService }, { token: i2.ActivatedRoute }, { token: i2.Router }, { token: i3.AlertService }, { token: i4.TranslateService }, { token: i5.LayoutService }, { token: i3.PageTitleService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
207
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DecisionModelerComponent, selector: "valtimo-decision-modeler", ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n [ngClass]=\"{'main-content pt-0': !layoutService.isFullscreen}\"\n class=\"mb-5\"\n *ngIf=\"{\n decisionXml: decisionXml$ | async,\n decisionTitle: decisionTitle$ | async,\n } as obs\"\n>\n <div [ngClass]=\"{'container-fluid': !layoutService.isFullscreen}\">\n <ng-container *ngTemplateOutlet=\"buttons\"></ng-container>\n <ng-container *ngTemplateOutlet=\"createButtons\"></ng-container>\n <div [ngClass]=\"{'mt-4': !layoutService.isFullscreen}\" class=\"modeler pl-3 pr-3 mb-3\">\n <ng-container *ngTemplateOutlet=\"diagramHeader\"></ng-container>\n <ng-container *ngTemplateOutlet=\"diagram\"></ng-container>\n </div>\n </div>\n</div>\n\n<ng-template #buttons>\n <div\n class=\"text-right\"\n *ngIf=\"(isCreating$ | async) === false && {selectionId: selectionId$ | async} as obs\"\n >\n <div class=\"btn-group mt-m3px mb-3\" *ngIf=\"obs.selectionId && !layoutService.isFullscreen\">\n <button class=\"btn btn-primary btn-space\" (click)=\"download()\">\n <i class=\"icon mdi mdi-download mr-1\"></i>{{ 'processManagement.download' | translate }}\n </button>\n <button\n class=\"btn btn-success btn-space\"\n (click)=\"deploy()\"\n [ngClass]=\"{'mr-0': obs.selectionId !== null}\"\n >\n <i class=\"icon mdi mdi-upload mr-1\"></i>{{ 'decisions.deploy' | translate }}\n </button>\n </div>\n </div>\n</ng-template>\n\n<ng-template #createButtons>\n <div class=\"text-right\" *ngIf=\"isCreating$ | async\">\n <div class=\"btn-group mt-m3px mb-3\" *ngIf=\"!layoutService.isFullscreen\">\n <button class=\"btn btn-success btn-space\" (click)=\"deploy()\">\n <i class=\"icon mdi mdi-upload mr-1\"></i>{{ 'decisions.deploy' | translate }}\n </button>\n <!-- <button-->\n <!-- *ngIf=\"selectedVersion === null\"-->\n <!-- class=\"btn btn-danger btn-space mr-0\"-->\n <!-- (click)=\"reset()\"-->\n <!-- >-->\n <!-- <i class=\"icon mdi mdi-delete mr-1\"></i>{{ 'processManagement.clear' | translate }}-->\n <!-- </button>-->\n </div>\n </div>\n</ng-template>\n\n<ng-template #diagramHeader>\n <div class=\"row pt-4 pb-3 bg-light diagram-header justify-content-between\">\n <ng-container *ngTemplateOutlet=\"versionSelection\"></ng-container>\n <ng-container *ngTemplateOutlet=\"fullScreenToggle\"></ng-container>\n </div>\n</ng-template>\n\n<ng-template #versionSelection>\n <div class=\"col-md-2 d-flex justify-content-center align-items-center\">\n <ng-container\n *ngIf=\"\n (isCreating$ | async) === false && {\n versionSelectItems: decisionVersionSelectItems$ | async,\n defaultSelectionId: selectionId$ | async,\n disabled: versionSelectionDisabled$ | async,\n } as obs\n \"\n >\n <v-select\n name=\"version\"\n [title]=\"'decisions.version' | translate\"\n [disabled]=\"obs.disabled\"\n [clearable]=\"false\"\n [loading]=\"!obs.versionSelectItems\"\n [items]=\"obs.versionSelectItems\"\n [defaultSelectionId]=\"obs.defaultSelectionId\"\n [widthInPx]=\"100\"\n (selectedChange)=\"switchVersion($event)\"\n ></v-select>\n </ng-container>\n </div>\n</ng-template>\n\n<ng-template #fullScreenToggle>\n <div class=\"col-md-2 d-flex fullscreen-toggle align-items-start justify-content-end\">\n <i\n (click)=\"layoutService.toggleFullscreen()\"\n [ngClass]=\"{\n 'mdi-fullscreen': !layoutService.isFullscreen,\n 'mdi-fullscreen-exit': layoutService.isFullscreen,\n }\"\n class=\"mdi\"\n ></i>\n </div>\n</ng-template>\n\n<ng-template #diagram>\n <div class=\"row bg-white diagram mb-3\">\n <div class=\"dmn-modeler\">\n <div class=\"test-container\">\n <div class=\"editor-parent\">\n <div class=\"editor-container\"></div>\n <div class=\"editor-tabs\"></div>\n </div>\n </div>\n </div>\n </div>\n</ng-template>\n", styles: ["#save-button{position:absolute;bottom:10px;left:10px;background:#fff;border:solid 1px #ccc;border-radius:2px;padding:8px;font-family:Arial,sans-serif;font-weight:700;cursor:default;font-size:14px;color:#444}.dmn-modeler{display:flex;flex-direction:column;width:100%;padding:1rem}.diagram,.diagram-header{border:1px solid #dee2e6}.decision-title{color:#6b6b6b;font-size:1.5rem;margin:0}.fullscreen-toggle{font-size:2rem}.fullscreen-toggle>i{cursor:pointer}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.SelectComponent, selector: "v-select", inputs: ["items", "defaultSelection", "defaultSelectionId", "defaultSelectionIds", "disabled", "dropUp", "multiple", "margin", "widthInPx", "notFoundText", "clearAllText", "clearText", "name", "title", "titleTranslationKey", "clearSelectionSubject$", "tooltip", "required", "loading", "loadingText", "placeholder", "smallMargin", "carbonTheme", "appendInline", "dataTestId"], outputs: ["selectedChange"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }] }); }
|
|
208
|
-
}
|
|
209
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DecisionModelerComponent, decorators: [{
|
|
210
|
-
type: Component,
|
|
211
|
-
args: [{ selector: 'valtimo-decision-modeler', template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n [ngClass]=\"{'main-content pt-0': !layoutService.isFullscreen}\"\n class=\"mb-5\"\n *ngIf=\"{\n decisionXml: decisionXml$ | async,\n decisionTitle: decisionTitle$ | async,\n } as obs\"\n>\n <div [ngClass]=\"{'container-fluid': !layoutService.isFullscreen}\">\n <ng-container *ngTemplateOutlet=\"buttons\"></ng-container>\n <ng-container *ngTemplateOutlet=\"createButtons\"></ng-container>\n <div [ngClass]=\"{'mt-4': !layoutService.isFullscreen}\" class=\"modeler pl-3 pr-3 mb-3\">\n <ng-container *ngTemplateOutlet=\"diagramHeader\"></ng-container>\n <ng-container *ngTemplateOutlet=\"diagram\"></ng-container>\n </div>\n </div>\n</div>\n\n<ng-template #buttons>\n <div\n class=\"text-right\"\n *ngIf=\"(isCreating$ | async) === false && {selectionId: selectionId$ | async} as obs\"\n >\n <div class=\"btn-group mt-m3px mb-3\" *ngIf=\"obs.selectionId && !layoutService.isFullscreen\">\n <button class=\"btn btn-primary btn-space\" (click)=\"download()\">\n <i class=\"icon mdi mdi-download mr-1\"></i>{{ 'processManagement.download' | translate }}\n </button>\n <button\n class=\"btn btn-success btn-space\"\n (click)=\"deploy()\"\n [ngClass]=\"{'mr-0': obs.selectionId !== null}\"\n >\n <i class=\"icon mdi mdi-upload mr-1\"></i>{{ 'decisions.deploy' | translate }}\n </button>\n </div>\n </div>\n</ng-template>\n\n<ng-template #createButtons>\n <div class=\"text-right\" *ngIf=\"isCreating$ | async\">\n <div class=\"btn-group mt-m3px mb-3\" *ngIf=\"!layoutService.isFullscreen\">\n <button class=\"btn btn-success btn-space\" (click)=\"deploy()\">\n <i class=\"icon mdi mdi-upload mr-1\"></i>{{ 'decisions.deploy' | translate }}\n </button>\n <!-- <button-->\n <!-- *ngIf=\"selectedVersion === null\"-->\n <!-- class=\"btn btn-danger btn-space mr-0\"-->\n <!-- (click)=\"reset()\"-->\n <!-- >-->\n <!-- <i class=\"icon mdi mdi-delete mr-1\"></i>{{ 'processManagement.clear' | translate }}-->\n <!-- </button>-->\n </div>\n </div>\n</ng-template>\n\n<ng-template #diagramHeader>\n <div class=\"row pt-4 pb-3 bg-light diagram-header justify-content-between\">\n <ng-container *ngTemplateOutlet=\"versionSelection\"></ng-container>\n <ng-container *ngTemplateOutlet=\"fullScreenToggle\"></ng-container>\n </div>\n</ng-template>\n\n<ng-template #versionSelection>\n <div class=\"col-md-2 d-flex justify-content-center align-items-center\">\n <ng-container\n *ngIf=\"\n (isCreating$ | async) === false && {\n versionSelectItems: decisionVersionSelectItems$ | async,\n defaultSelectionId: selectionId$ | async,\n disabled: versionSelectionDisabled$ | async,\n } as obs\n \"\n >\n <v-select\n name=\"version\"\n [title]=\"'decisions.version' | translate\"\n [disabled]=\"obs.disabled\"\n [clearable]=\"false\"\n [loading]=\"!obs.versionSelectItems\"\n [items]=\"obs.versionSelectItems\"\n [defaultSelectionId]=\"obs.defaultSelectionId\"\n [widthInPx]=\"100\"\n (selectedChange)=\"switchVersion($event)\"\n ></v-select>\n </ng-container>\n </div>\n</ng-template>\n\n<ng-template #fullScreenToggle>\n <div class=\"col-md-2 d-flex fullscreen-toggle align-items-start justify-content-end\">\n <i\n (click)=\"layoutService.toggleFullscreen()\"\n [ngClass]=\"{\n 'mdi-fullscreen': !layoutService.isFullscreen,\n 'mdi-fullscreen-exit': layoutService.isFullscreen,\n }\"\n class=\"mdi\"\n ></i>\n </div>\n</ng-template>\n\n<ng-template #diagram>\n <div class=\"row bg-white diagram mb-3\">\n <div class=\"dmn-modeler\">\n <div class=\"test-container\">\n <div class=\"editor-parent\">\n <div class=\"editor-container\"></div>\n <div class=\"editor-tabs\"></div>\n </div>\n </div>\n </div>\n </div>\n</ng-template>\n", styles: ["#save-button{position:absolute;bottom:10px;left:10px;background:#fff;border:solid 1px #ccc;border-radius:2px;padding:8px;font-family:Arial,sans-serif;font-weight:700;cursor:default;font-size:14px;color:#444}.dmn-modeler{display:flex;flex-direction:column;width:100%;padding:1rem}.diagram,.diagram-header{border:1px solid #dee2e6}.decision-title{color:#6b6b6b;font-size:1.5rem;margin:0}.fullscreen-toggle{font-size:2rem}.fullscreen-toggle>i{cursor:pointer}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
|
|
212
|
-
}], ctorParameters: () => [{ type: i1.DecisionService }, { type: i2.ActivatedRoute }, { type: i2.Router }, { type: i3.AlertService }, { type: i4.TranslateService }, { type: i5.LayoutService }, { type: i3.PageTitleService }] });
|
|
213
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjaXNpb24tbW9kZWxlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2RlY2lzaW9uL3NyYy9saWIvZGVjaXNpb24tbW9kZWxlci9kZWNpc2lvbi1tb2RlbGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZGVjaXNpb24vc3JjL2xpYi9kZWNpc2lvbi1tb2RlbGVyL2RlY2lzaW9uLW1vZGVsZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBaUJBLE9BQU8sRUFBZ0IsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZELE9BQU8sS0FBSyxNQUFNLHdDQUF3QyxDQUFDO0FBRzNELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUVwRCxPQUFPLEVBQ0wsZUFBZSxFQUNmLFVBQVUsRUFDVixhQUFhLEVBQ2IsTUFBTSxFQUNOLElBQUksRUFDSixHQUFHLEVBRUgsRUFBRSxFQUNGLFNBQVMsRUFDVCxJQUFJLEVBQ0osR0FBRyxHQUNKLE1BQU0sTUFBTSxDQUFDO0FBR2QsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGtCQUFrQixDQUFDOzs7Ozs7OztBQVNoRCxNQUFNLE9BQU8sd0JBQXdCO0lBcUVuQyxZQUNtQixlQUFnQyxFQUNoQyxLQUFxQixFQUNyQixNQUFjLEVBQ2QsWUFBMEIsRUFDMUIsZ0JBQWtDLEVBQ25DLGFBQTRCLEVBQzNCLGdCQUFrQztRQU5sQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbkMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDM0IscUJBQWdCLEdB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blJVLHdCQUF3QjttR0FBeEIsd0JBQXdCLGdFQy9DckMsNG1KQWlJQTs7NEZEbEZhLHdCQUF3QjtrQkFMcEMsU0FBUzsrQkFDRSwwQkFBMEIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge0RlY2lzaW9uU2VydmljZX0gZnJvbSAnLi4vZGVjaXNpb24uc2VydmljZSc7XG5pbXBvcnQge0FmdGVyVmlld0luaXQsIENvbXBvbmVudH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgRG1uSlMgZnJvbSAnZG1uLWpzL2Rpc3QvZG1uLW1vZGVsZXIuZGV2ZWxvcG1lbnQuanMnO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtEZWNpc2lvbiwgRGVjaXNpb25YbWx9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQge21pZ3JhdGVEaWFncmFtfSBmcm9tICdAYnBtbi1pby9kbW4tbWlncmF0ZSc7XG5pbXBvcnQge0xheW91dFNlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL2xheW91dCc7XG5pbXBvcnQge1xuICBCZWhhdmlvclN1YmplY3QsXG4gIGNhdGNoRXJyb3IsXG4gIGNvbWJpbmVMYXRlc3QsXG4gIGZpbHRlcixcbiAgZnJvbSxcbiAgbWFwLFxuICBPYnNlcnZhYmxlLFxuICBvZixcbiAgc3dpdGNoTWFwLFxuICB0YWtlLFxuICB0YXAsXG59IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtBbGVydFNlcnZpY2UsIFBhZ2VUaXRsZVNlcnZpY2UsIFNlbGVjdGVkVmFsdWUsIFNlbGVjdEl0ZW19IGZyb20gJ0B2YWx0aW1vL2NvbXBvbmVudHMnO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7RU1QVFlfREVDSVNJT059IGZyb20gJy4vZW1wdHktZGVjaXNpb24nO1xuXG5kZWNsYXJlIGNvbnN0ICQ6IGFueTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsdGltby1kZWNpc2lvbi1tb2RlbGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RlY2lzaW9uLW1vZGVsZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kZWNpc2lvbi1tb2RlbGVyLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIERlY2lzaW9uTW9kZWxlckNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBwcml2YXRlIENMQVNTX05BTUVTID0ge1xuICAgIGRyZDogJ2Rtbi1pY29uLWxhc3NvLXRvb2wnLFxuICAgIGRlY2lzaW9uVGFibGU6ICdkbW4taWNvbi1kZWNpc2lvbi10YWJsZScsXG4gICAgbGl0ZXJhbEV4cHJlc3Npb246ICdkbW4taWNvbi1saXRlcmFsLWV4cHJlc3Npb24nLFxuICB9O1xuICBwcml2YXRlICRjb250YWluZXIhOiBhbnk7XG4gIHByaXZhdGUgJHRhYnMhOiBhbnk7XG4gIHByaXZhdGUgZG1uTW9kZWxlciE6IERtbkpTO1xuXG4gIHJlYWRvbmx5IHZlcnNpb25TZWxlY3Rpb25EaXNhYmxlZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRydWUpO1xuXG4gIHJlYWRvbmx5IGlzQ3JlYXRpbmckID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBkZWNpc2lvbklkJDogT2JzZXJ2YWJsZTxzdHJpbmcgfCBudWxsPiA9IHRoaXMucm91dGUucGFyYW1zLnBpcGUoXG4gICAgbWFwKHBhcmFtcyA9PiBwYXJhbXM/LmlkKSxcbiAgICB0YXAoZGVjaXNpb25JZCA9PiB0aGlzLmlzQ3JlYXRpbmckLm5leHQoZGVjaXNpb25JZCA9PT0gJ2NyZWF0ZScpKSxcbiAgICBmaWx0ZXIoZGVjaXNpb25JZCA9PiAhIWRlY2lzaW9uSWQgJiYgZGVjaXNpb25JZCAhPT0gJ2NyZWF0ZScpLFxuICAgIHRhcCgoKSA9PiB0aGlzLnZlcnNpb25TZWxlY3Rpb25EaXNhYmxlZCQubmV4dCh0cnVlKSlcbiAgKTtcblxuICByZWFkb25seSBzZWxlY3Rpb25JZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVjaXNpb24kOiBPYnNlcnZhYmxlPERlY2lzaW9uPiA9IHRoaXMuZGVjaXNpb25JZCQucGlwZShcbiAgICBzd2l0Y2hNYXAoZGVjaXNpb25JZCA9PiB0aGlzLmRlY2lzaW9uU2VydmljZS5nZXREZWNpc2lvbkJ5SWQoZGVjaXNpb25JZCkpLFxuICAgIHRhcChkZWNpc2lvbiA9PiB7XG4gICAgICBpZiAoZGVjaXNpb24pIHtcbiAgICAgICAgdGhpcy5zZWxlY3Rpb25JZCQubmV4dChkZWNpc2lvbi5pZCk7XG4gICAgICB9XG4gICAgfSlcbiAgKTtcblxuICByZWFkb25seSBkZWNpc2lvblRpdGxlJDogT2JzZXJ2YWJsZTxzdHJpbmc+ID0gdGhpcy5kZWNpc2lvbiQucGlwZShcbiAgICBtYXAoZGVjaXNpb24gPT4gZGVjaXNpb24/LmtleSB8fCAnJyksXG4gICAgdGFwKGRlY2lzaW9uVGl0bGUgPT4ge1xuICAgICAgdGhpcy5wYWdlVGl0bGVTZXJ2aWNlLnNldEN1c3RvbVBhZ2VUaXRsZShkZWNpc2lvblRpdGxlKTtcbiAgICB9KVxuICApO1xuXG4gIHJlYWRvbmx5IGNyZWF0ZWREZWNpc2lvblZlcnNpb25TZWxlY3RJdGVtcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEFycmF5PFNlbGVjdEl0ZW0+PihbXSk7XG5cbiAgcmVhZG9ubHkgZGVjaXNpb25WZXJzaW9uU2VsZWN0SXRlbXMkOiBPYnNlcnZhYmxlPEFycmF5PFNlbGVjdEl0ZW0+PiA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIHRoaXMuZGVjaXNpb24kLFxuICAgIHRoaXMuZGVjaXNpb25TZXJ2aWNlLmdldERlY2lzaW9ucygpLFxuICAgIHRoaXMuY3JlYXRlZERlY2lzaW9uVmVyc2lvblNlbGVjdEl0ZW1zJCxcbiAgXSkucGlwZShcbiAgICBtYXAoKFtjdXJyZW50RGVjaXNpb24sIGRlY2lzaW9ucywgY3JlYXRlZERlY2lzaW9uVmVyc2lvblNlbGVjdEl0ZW1zXSkgPT4ge1xuICAgICAgY29uc3QgZGVjaXNpb25zV2l0aEtleSA9IGRlY2lzaW9ucy5maWx0ZXIoZGVjaXNpb24gPT4gZGVjaXNpb24ua2V5ID09PSBjdXJyZW50RGVjaXNpb24ua2V5KTtcblxuICAgICAgcmV0dXJuIFtcbiAgICAgICAgLi4uZGVjaXNpb25zV2l0aEtleS5tYXAoZGVjaXNpb24gPT4gKHtcbiAgICAgICAgICBpZDogZGVjaXNpb24uaWQsXG4gICAgICAgICAgdGV4dDogZGVjaXNpb24udmVyc2lvbi50b1N0cmluZygpLFxuICAgICAgICB9KSksXG4gICAgICAgIC4uLmNyZWF0ZWREZWNpc2lvblZlcnNpb25TZWxlY3RJdGVtcyxcbiAgICAgIF0uc29ydCgoYSwgYikgPT4gTnVtYmVyKGIudGV4dCkgLSBOdW1iZXIoYS50ZXh0KSk7XG4gICAgfSksXG4gICAgdGFwKCgpID0+IHRoaXMudmVyc2lvblNlbGVjdGlvbkRpc2FibGVkJC5uZXh0KGZhbHNlKSlcbiAgKTtcblxuICByZWFkb25seSBkZWNpc2lvblhtbCQgPSB0aGlzLmRlY2lzaW9uSWQkLnBpcGUoXG4gICAgc3dpdGNoTWFwKGRlY2lzaW9uSWQgPT4gdGhpcy5kZWNpc2lvblNlcnZpY2UuZ2V0RGVjaXNpb25YbWwoZGVjaXNpb25JZCkpLFxuICAgIHRhcChkZWNpc2lvblhtbCA9PiB7XG4gICAgICBpZiAoZGVjaXNpb25YbWwpIHtcbiAgICAgICAgdGhpcy5sb2FkRGVjaXNpb25YbWwoZGVjaXNpb25YbWwpO1xuICAgICAgfVxuICAgIH0pXG4gICk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBkZWNpc2lvblNlcnZpY2U6IERlY2lzaW9uU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYWxlcnRTZXJ2aWNlOiBBbGVydFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHB1YmxpYyByZWFkb25seSBsYXlvdXRTZXJ2aWNlOiBMYXlvdXRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcGFnZVRpdGxlU2VydmljZTogUGFnZVRpdGxlU2VydmljZVxuICApIHt9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc2V0UHJvcGVydGllcygpO1xuICAgIHRoaXMuc2V0VGFiRXZlbnRzKCk7XG4gICAgdGhpcy5zZXRNb2RlbGVyRXZlbnRzKCk7XG4gIH1cblxuICBzd2l0Y2hWZXJzaW9uKGRlY2lzaW9uSWQ6IHN0cmluZyB8IFNlbGVjdGVkVmFsdWUpOiB2b2lkIHtcbiAgICBpZiAoZGVjaXNpb25JZCkge1xuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvZGVjaXNpb24tdGFibGVzL2VkaXQnLCBkZWNpc2lvbklkXSk7XG4gICAgfVxuICB9XG5cbiAgZGVwbG95KCk6IHZvaWQge1xuICAgIGZyb20odGhpcy5kbW5Nb2RlbGVyLnNhdmVYTUwoe2Zvcm1hdDogdHJ1ZX0pKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcChyZXN1bHQgPT4gKHJlc3VsdCBhcyBhbnkpLnhtbCksXG4gICAgICAgIG1hcChcbiAgICAgICAgICB4bWwgPT5cbiAgICAgICAgICAgIG5ldyBGaWxlKFt4bWxdLCAnZGVjaXNpb24uZG1uJywge1xuICAgICAgICAgICAgICB0eXBlOiAndGV4dC94bWwnLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgKSxcbiAgICAgICAgc3dpdGNoTWFwKGZpbGUgPT4gdGhpcy5kZWNpc2lvblNlcnZpY2UuZGVwbG95RG1uKGZpbGUpKSxcbiAgICAgICAgdGFwKHJlcyA9PiB7XG4gICAgICAgICAgY29uc3QgZGVwbG95ZWREZWZpbml0aW9ucyA9IHJlcy5kZXBsb3llZERlY2lzaW9uRGVmaW5pdGlvbnM7XG4gICAgICAgICAgY29uc3QgZGVwbG95ZWREZWNpc2lvbkRlZmluaXRpb24gPVxuICAgICAgICAgICAgZGVwbG95ZWREZWZpbml0aW9uc1tPYmplY3Qua2V5cyhkZXBsb3llZERlZmluaXRpb25zKVswXV07XG4gICAgICAgICAgY29uc3QgZGVwbG95ZWRJZCA9IGRlcGxveWVkRGVjaXNpb25EZWZpbml0aW9uLmlkO1xuXG4gICAgICAgICAgdGhpcy5jcmVhdGVkRGVjaXNpb25WZXJzaW9uU2VsZWN0SXRlbXMkXG4gICAgICAgICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgICAgICAgLnN1YnNjcmliZShjcmVhdGVkRGVjaXNpb25WZXJzaW9uU2VsZWN0SXRlbXMgPT4ge1xuICAgICAgICAgICAgICBpZiAoZGVwbG95ZWREZWNpc2lvbkRlZmluaXRpb24pIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZWREZWNpc2lvblZlcnNpb25TZWxlY3RJdGVtcyQubmV4dChbXG4gICAgICAgICAgICAgICAgICAuLi5jcmVhdGVkRGVjaXNpb25WZXJzaW9uU2VsZWN0SXRlbXMsXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGlkOiBkZXBsb3llZElkLFxuICAgICAgICAgICAgICAgICAgICB0ZXh0OiBkZXBsb3llZERlY2lzaW9uRGVmaW5pdGlvbi52ZXJzaW9uLnRvU3RyaW5nKCksXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIF0pO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgaWYgKGRlcGxveWVkSWQpIHtcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgIHRoaXMuc3dpdGNoVmVyc2lvbihkZXBsb3llZElkKTtcbiAgICAgICAgICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLnN1Y2Nlc3MoXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdkZWNpc2lvbnMuZGVwbG95U3VjY2VzcycpXG4gICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSksXG4gICAgICAgIGNhdGNoRXJyb3IoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmVycm9yKHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdkZWNpc2lvbnMuZGVwbG95RmFpbHVyZScpKTtcbiAgICAgICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBkb3dubG9hZCgpOiB2b2lkIHtcbiAgICBmcm9tKHRoaXMuZG1uTW9kZWxlci5zYXZlWE1MKHtmb3JtYXQ6IHRydWV9KSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAocmVzdWx0ID0+IChyZXN1bHQgYXMgYW55KS54bWwpLFxuICAgICAgICBtYXAoXG4gICAgICAgICAgeG1sID0+XG4gICAgICAgICAgICBuZXcgRmlsZShbeG1sXSwgJ2RlY2lzaW9uLmRtbicsIHtcbiAgICAgICAgICAgICAgdHlwZTogJ3RleHQveG1sJyxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICksXG4gICAgICAgIHRhcChmaWxlID0+IHtcbiAgICAgICAgICBjb25zdCBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xuICAgICAgICAgIGxpbmsuZG93bmxvYWQgPSAnZGlhZ3JhbS5kbW4nO1xuICAgICAgICAgIGxpbmsuaHJlZiA9IHdpbmRvdy5VUkwuY3JlYXRlT2JqZWN0VVJMKGZpbGUpO1xuICAgICAgICAgIGxpbmsuY2xpY2soKTtcbiAgICAgICAgICB3aW5kb3cuVVJMLnJldm9rZU9iamVjdFVSTChsaW5rLmhyZWYpO1xuICAgICAgICAgIGxpbmsucmVtb3ZlKCk7XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcml2YXRlIHNldFByb3BlcnRpZXMoKTogdm9pZCB7XG4gICAgY29uc3QgaXNDcmVhdGluZyA9IHRoaXMuaXNDcmVhdGluZyQuZ2V0VmFsdWUoKTtcblxuICAgIHRoaXMuJGNvbnRhaW5lciA9ICQoJy5lZGl0b3ItY29udGFpbmVyJyk7XG4gICAgdGhpcy4kdGFicyA9ICQoJy5lZGl0b3ItdGFicycpO1xuICAgIHRoaXMuZG1uTW9kZWxlciA9IG5ldyBEbW5KUyh7XG4gICAgICBjb250YWluZXI6IHRoaXMuJGNvbnRhaW5lcixcbiAgICAgIGhlaWdodDogNTAwLFxuICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgIGtleWJvYXJkOiB7XG4gICAgICAgIGJpbmRUbzogd2luZG93LFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGlmIChpc0NyZWF0aW5nKSB7XG4gICAgICB0aGlzLmxvYWRFbXB0eURlY2lzaW9uVGFibGUoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGxvYWRFbXB0eURlY2lzaW9uVGFibGUoKTogdm9pZCB7XG4gICAgdGhpcy5sb2FkRGVjaXNpb25YbWwoRU1QVFlfREVDSVNJT04pO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRUYWJFdmVudHMgPSAoKTogdm9pZCA9PiB7XG4gICAgY29uc3QgJHRhYnMgPSB0aGlzLiR0YWJzO1xuICAgIGNvbnN0IGRtbk1vZGVsZXIgPSB0aGlzLmRtbk1vZGVsZXI7XG5cbiAgICAkdGFicy5kZWxlZ2F0ZSgnLnRhYicsICdjbGljaycsIGFzeW5jIGZ1bmN0aW9uIChlKSB7XG4gICAgICAvLyBnZXQgaW5kZXggb2YgdmlldyBmcm9tIGNsaWNrZWQgdGFiXG4gICAgICBjb25zdCB2aWV3SWR4ID0gcGFyc2VJbnQodGhpcy5nZXRBdHRyaWJ1dGUoJ2RhdGEtaWQnKSwgMTApO1xuXG4gICAgICAvLyBnZXQgdmlldyB1c2luZyBpbmRleFxuICAgICAgY29uc3QgdmlldyA9IGRtbk1vZGVsZXIuZ2V0Vmlld3MoKVt2aWV3SWR4XTtcblxuICAgICAgLy8gb3BlbiB2aWV3XG4gICAgICB0cnkge1xuICAgICAgICBhd2FpdCBkbW5Nb2RlbGVyLm9wZW4odmlldyk7XG4gICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcignZXJyb3Igb3BlbmluZyB0YWInLCBlcnIpO1xuICAgICAgfVxuICAgIH0pO1xuICB9O1xuXG4gIHByaXZhdGUgc2V0TW9kZWxlckV2ZW50cyA9ICgpOiB2b2lkID0+IHtcbiAgICBjb25zdCAkdGFicyA9IHRoaXMuJHRhYnM7XG4gICAgY29uc3QgQ0xBU1NfTkFNRVMgPSB0aGlzLkNMQVNTX05BTUVTO1xuXG4gICAgdGhpcy5kbW5Nb2RlbGVyLm9uKCd2aWV3cy5jaGFuZ2VkJywgZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAvLyBnZXQgdmlld3MgZnJvbSBldmVudFxuICAgICAgY29uc3Qge3ZpZXdzLCBhY3RpdmVWaWV3fSA9IGV2ZW50O1xuXG4gICAgICAvLyBjbGVhciB0YWJzXG4gICAgICAkdGFicy5lbXB0eSgpO1xuXG4gICAgICAvLyBjcmVhdGUgYSBuZXcgdGFiIGZvciBlYWNoIHZpZXdcbiAgICAgIHZpZXdzLmZvckVhY2goZnVuY3Rpb24gKHYsIGlkeCkge1xuICAgICAgICBjb25zdCBjbGFzc05hbWUgPSBDTEFTU19OQU1FU1t2LnR5cGVdO1xuXG4gICAgICAgIGNvbnN0IHRhYiA9ICQoYFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYiAke3YgPT09IGFjdGl2ZVZpZXcgPyAnYWN0aXZlJyA6ICcnfVwiIGRhdGEtaWQ9XCIke2lkeH1cIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCIke2NsYXNzTmFtZX1cIj48L3NwYW4+XG4gICAgICAgICAgICAgICR7di5lbGVtZW50Lm5hbWUgfHwgdi5lbGVtZW50LmlkfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgYCk7XG5cbiAgICAgICAgJHRhYnMuYXBwZW5kKHRhYik7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfTtcblxuICBwcml2YXRlIGxvYWREZWNpc2lvblhtbChkZWNpc2lvbjogRGVjaXNpb25YbWwpOiB2b2lkIHtcbiAgICBmcm9tKHRoaXMuZG1uTW9kZWxlci5pbXBvcnRYTUwoZGVjaXNpb24uZG1uWG1sKSlcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuc2V0RWRpdG9yKCk7XG4gICAgICAgIH0pLFxuICAgICAgICBjYXRjaEVycm9yKCgpID0+IHtcbiAgICAgICAgICB0aGlzLm1pZ3JhdGVBbmRMb2FkRGVjaXNpb25YbWwoZGVjaXNpb24pO1xuICAgICAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgbWlncmF0ZUFuZExvYWREZWNpc2lvblhtbChkZWNpc2lvbjogRGVjaXNpb25YbWwpOiB2b2lkIHtcbiAgICBmcm9tKG1pZ3JhdGVEaWFncmFtKGRlY2lzaW9uLmRtblhtbCkpXG4gICAgICAucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKGRlY2lzaW9uWG1sID0+IHRoaXMuZG1uTW9kZWxlci5pbXBvcnRYTUwoZGVjaXNpb25YbWwpKSxcbiAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICB0aGlzLnNldEVkaXRvcigpO1xuICAgICAgICB9KSxcbiAgICAgICAgY2F0Y2hFcnJvcigoKSA9PiB7XG4gICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2UuZXJyb3IodGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ2RlY2lzaW9ucy5sb2FkRmFpbHVyZScpKTtcbiAgICAgICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcml2YXRlIHNldEVkaXRvcigpOiB2b2lkIHtcbiAgICBjb25zdCBkbW5Nb2RlbGVyID0gdGhpcy5kbW5Nb2RlbGVyO1xuXG4gICAgY29uc3QgYWN0aXZlVmlldyA9IGRtbk1vZGVsZXIuZ2V0QWN0aXZlVmlldygpO1xuXG4gICAgLy8gYXBwbHkgaW5pdGlhbCBsb2dpYyBpbiBEUkQgdmlld1xuICAgIGlmIChhY3RpdmVWaWV3LnR5cGUgPT09ICdkcmQnKSB7XG4gICAgICBjb25zdCBhY3RpdmVFZGl0b3IgPSBkbW5Nb2RlbGVyLmdldEFjdGl2ZVZpZXdlcigpO1xuXG4gICAgICAvLyBhY2Nlc3MgYWN0aXZlIGVkaXRvciBjb21wb25lbnRzXG4gICAgICBjb25zdCBjYW52YXMgPSBhY3RpdmVFZGl0b3IuZ2V0KCdjYW52YXMnKTtcblxuICAgICAgLy8gem9vbSB0byBmaXQgZnVsbCB2aWV3cG9ydFxuICAgICAgY2FudmFzLnpvb20oJ2ZpdC12aWV3cG9ydCcpO1xuICAgIH1cbiAgfVxufVxuIiwiPCEtLVxuICB+IENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICB+XG4gIH4gTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gIH4geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICB+IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICB+XG4gIH4gaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICB+XG4gIH4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICB+IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAgfiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgfiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIH4gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gIC0tPlxuXG48ZGl2XG4gIFtuZ0NsYXNzXT1cInsnbWFpbi1jb250ZW50IHB0LTAnOiAhbGF5b3V0U2VydmljZS5pc0Z1bGxzY3JlZW59XCJcbiAgY2xhc3M9XCJtYi01XCJcbiAgKm5nSWY9XCJ7XG4gICAgZGVjaXNpb25YbWw6IGRlY2lzaW9uWG1sJCB8IGFzeW5jLFxuICAgIGRlY2lzaW9uVGl0bGU6IGRlY2lzaW9uVGl0bGUkIHwgYXN5bmMsXG4gIH0gYXMgb2JzXCJcbj5cbiAgPGRpdiBbbmdDbGFzc109XCJ7J2NvbnRhaW5lci1mbHVpZCc6ICFsYXlvdXRTZXJ2aWNlLmlzRnVsbHNjcmVlbn1cIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYnV0dG9uc1wiPjwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjcmVhdGVCdXR0b25zXCI+PC9uZy1jb250YWluZXI+XG4gICAgPGRpdiBbbmdDbGFzc109XCJ7J210LTQnOiAhbGF5b3V0U2VydmljZS5pc0Z1bGxzY3JlZW59XCIgY2xhc3M9XCJtb2RlbGVyIHBsLTMgcHItMyBtYi0zXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZGlhZ3JhbUhlYWRlclwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImRpYWdyYW1cIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNidXR0b25zPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJ0ZXh0LXJpZ2h0XCJcbiAgICAqbmdJZj1cIihpc0NyZWF0aW5nJCB8IGFzeW5jKSA9PT0gZmFsc2UgJiYge3NlbGVjdGlvbklkOiBzZWxlY3Rpb25JZCQgfCBhc3luY30gYXMgb2JzXCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJidG4tZ3JvdXAgbXQtbTNweCBtYi0zXCIgKm5nSWY9XCJvYnMuc2VsZWN0aW9uSWQgJiYgIWxheW91dFNlcnZpY2UuaXNGdWxsc2NyZWVuXCI+XG4gICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IGJ0bi1zcGFjZVwiIChjbGljayk9XCJkb3dubG9hZCgpXCI+XG4gICAgICAgIDxpIGNsYXNzPVwiaWNvbiBtZGkgbWRpLWRvd25sb2FkIG1yLTFcIj48L2k+e3sgJ3Byb2Nlc3NNYW5hZ2VtZW50LmRvd25sb2FkJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1zdWNjZXNzIGJ0bi1zcGFjZVwiXG4gICAgICAgIChjbGljayk9XCJkZXBsb3koKVwiXG4gICAgICAgIFtuZ0NsYXNzXT1cInsnbXItMCc6IG9icy5zZWxlY3Rpb25JZCAhPT0gbnVsbH1cIlxuICAgICAgPlxuICAgICAgICA8aSBjbGFzcz1cImljb24gbWRpIG1kaS11cGxvYWQgbXItMVwiPjwvaT57eyAnZGVjaXNpb25zLmRlcGxveScgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjY3JlYXRlQnV0dG9ucz5cbiAgPGRpdiBjbGFzcz1cInRleHQtcmlnaHRcIiAqbmdJZj1cImlzQ3JlYXRpbmckIHwgYXN5bmNcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYnRuLWdyb3VwIG10LW0zcHggbWItM1wiICpuZ0lmPVwiIWxheW91dFNlcnZpY2UuaXNGdWxsc2NyZWVuXCI+XG4gICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1zdWNjZXNzIGJ0bi1zcGFjZVwiIChjbGljayk9XCJkZXBsb3koKVwiPlxuICAgICAgICA8aSBjbGFzcz1cImljb24gbWRpIG1kaS11cGxvYWQgbXItMVwiPjwvaT57eyAnZGVjaXNpb25zLmRlcGxveScgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPCEtLSAgICAgIDxidXR0b24tLT5cbiAgICAgIDwhLS0gICAgICAgICpuZ0lmPVwic2VsZWN0ZWRWZXJzaW9uID09PSBudWxsXCItLT5cbiAgICAgIDwhLS0gICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1kYW5nZXIgYnRuLXNwYWNlIG1yLTBcIi0tPlxuICAgICAgPCEtLSAgICAgICAgKGNsaWNrKT1cInJlc2V0KClcIi0tPlxuICAgICAgPCEtLSAgICAgID4tLT5cbiAgICAgIDwhLS0gICAgICAgIDxpIGNsYXNzPVwiaWNvbiBtZGkgbWRpLWRlbGV0ZSBtci0xXCI+PC9pPnt7ICdwcm9jZXNzTWFuYWdlbWVudC5jbGVhcicgfCB0cmFuc2xhdGUgfX0tLT5cbiAgICAgIDwhLS0gICAgICA8L2J1dHRvbj4tLT5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2RpYWdyYW1IZWFkZXI+XG4gIDxkaXYgY2xhc3M9XCJyb3cgcHQtNCBwYi0zIGJnLWxpZ2h0IGRpYWdyYW0taGVhZGVyIGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInZlcnNpb25TZWxlY3Rpb25cIj48L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZnVsbFNjcmVlblRvZ2dsZVwiPjwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjdmVyc2lvblNlbGVjdGlvbj5cbiAgPGRpdiBjbGFzcz1cImNvbC1tZC0yIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgICpuZ0lmPVwiXG4gICAgICAgIChpc0NyZWF0aW5nJCB8IGFzeW5jKSA9PT0gZmFsc2UgJiYge1xuICAgICAgICAgIHZlcnNpb25TZWxlY3RJdGVtczogZGVjaXNpb25WZXJzaW9uU2VsZWN0SXRlbXMkIHwgYXN5bmMsXG4gICAgICAgICAgZGVmYXVsdFNlbGVjdGlvbklkOiBzZWxlY3Rpb25JZCQgfCBhc3luYyxcbiAgICAgICAgICBkaXNhYmxlZDogdmVyc2lvblNlbGVjdGlvbkRpc2FibGVkJCB8IGFzeW5jLFxuICAgICAgICB9IGFzIG9ic1xuICAgICAgXCJcbiAgICA+XG4gICAgICA8di1zZWxlY3RcbiAgICAgICAgbmFtZT1cInZlcnNpb25cIlxuICAgICAgICBbdGl0bGVdPVwiJ2RlY2lzaW9ucy52ZXJzaW9uJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJvYnMuZGlzYWJsZWRcIlxuICAgICAgICBbY2xlYXJhYmxlXT1cImZhbHNlXCJcbiAgICAgICAgW2xvYWRpbmddPVwiIW9icy52ZXJzaW9uU2VsZWN0SXRlbXNcIlxuICAgICAgICBbaXRlbXNdPVwib2JzLnZlcnNpb25TZWxlY3RJdGVtc1wiXG4gICAgICAgIFtkZWZhdWx0U2VsZWN0aW9uSWRdPVwib2JzLmRlZmF1bHRTZWxlY3Rpb25JZFwiXG4gICAgICAgIFt3aWR0aEluUHhdPVwiMTAwXCJcbiAgICAgICAgKHNlbGVjdGVkQ2hhbmdlKT1cInN3aXRjaFZlcnNpb24oJGV2ZW50KVwiXG4gICAgICA+PC92LXNlbGVjdD5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2Z1bGxTY3JlZW5Ub2dnbGU+XG4gIDxkaXYgY2xhc3M9XCJjb2wtbWQtMiBkLWZsZXggZnVsbHNjcmVlbi10b2dnbGUgYWxpZ24taXRlbXMtc3RhcnQganVzdGlmeS1jb250ZW50LWVuZFwiPlxuICAgIDxpXG4gICAgICAoY2xpY2spPVwibGF5b3V0U2VydmljZS50b2dnbGVGdWxsc2NyZWVuKClcIlxuICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAnbWRpLWZ1bGxzY3JlZW4nOiAhbGF5b3V0U2VydmljZS5pc0Z1bGxzY3JlZW4sXG4gICAgICAgICdtZGktZnVsbHNjcmVlbi1leGl0JzogbGF5b3V0U2VydmljZS5pc0Z1bGxzY3JlZW4sXG4gICAgICB9XCJcbiAgICAgIGNsYXNzPVwibWRpXCJcbiAgICA+PC9pPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZGlhZ3JhbT5cbiAgPGRpdiBjbGFzcz1cInJvdyBiZy13aGl0ZSBkaWFncmFtIG1iLTNcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZG1uLW1vZGVsZXJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJ0ZXN0LWNvbnRhaW5lclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZWRpdG9yLXBhcmVudFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJlZGl0b3ItY29udGFpbmVyXCI+PC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImVkaXRvci10YWJzXCI+PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
3
|
-
*
|
|
4
|
-
* Licensed under EUPL, Version 1.2 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" basis,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
const EMPTY_DECISION = {
|
|
17
|
-
id: '',
|
|
18
|
-
dmnXml: `<?xml version="1.0" encoding="UTF-8"?>
|
|
19
|
-
<definitions xmlns="https://www.omg.org/spec/DMN/20191111/MODEL/" xmlns:dmndi="https://www.omg.org/spec/DMN/20191111/DMNDI/" xmlns:dc="http://www.omg.org/spec/DMN/20180521/DC/" id="Definitions_1h198v9" name="DRD" namespace="http://camunda.org/schema/1.0/dmn" xmlns:modeler="http://camunda.org/schema/modeler/1.0" exporter="Camunda Modeler" exporterVersion="5.2.0" modeler:executionPlatform="Camunda Cloud" modeler:executionPlatformVersion="8.0.0">
|
|
20
|
-
<decision id="Decision_1e18q76" name="Decision 1">
|
|
21
|
-
<decisionTable id="DecisionTable_1apu23m">
|
|
22
|
-
<input id="Input_1">
|
|
23
|
-
<inputExpression id="InputExpression_1" typeRef="string">
|
|
24
|
-
<text></text>
|
|
25
|
-
</inputExpression>
|
|
26
|
-
</input>
|
|
27
|
-
<output id="Output_1" typeRef="string" />
|
|
28
|
-
</decisionTable>
|
|
29
|
-
</decision>
|
|
30
|
-
<dmndi:DMNDI>
|
|
31
|
-
<dmndi:DMNDiagram>
|
|
32
|
-
<dmndi:DMNShape dmnElementRef="Decision_1e18q76">
|
|
33
|
-
<dc:Bounds height="80" width="180" x="160" y="100" />
|
|
34
|
-
</dmndi:DMNShape>
|
|
35
|
-
</dmndi:DMNDiagram>
|
|
36
|
-
</dmndi:DMNDI>
|
|
37
|
-
</definitions>
|
|
38
|
-
`,
|
|
39
|
-
};
|
|
40
|
-
export { EMPTY_DECISION };
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wdHktZGVjaXNpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2RlY2lzaW9uL3NyYy9saWIvZGVjaXNpb24tbW9kZWxlci9lbXB0eS1kZWNpc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUlILE1BQU0sY0FBYyxHQUFnQjtJQUNsQyxFQUFFLEVBQUUsRUFBRTtJQUNOLE1BQU0sRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FvQlQ7Q0FDQSxDQUFDO0FBRUYsT0FBTyxFQUFDLGNBQWMsRUFBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtEZWNpc2lvblhtbH0gZnJvbSAnLi4vbW9kZWxzJztcblxuY29uc3QgRU1QVFlfREVDSVNJT046IERlY2lzaW9uWG1sID0ge1xuICBpZDogJycsXG4gIGRtblhtbDogYDw/eG1sIHZlcnNpb249XCIxLjBcIiBlbmNvZGluZz1cIlVURi04XCI/PlxuPGRlZmluaXRpb25zIHhtbG5zPVwiaHR0cHM6Ly93d3cub21nLm9yZy9zcGVjL0RNTi8yMDE5MTExMS9NT0RFTC9cIiB4bWxuczpkbW5kaT1cImh0dHBzOi8vd3d3Lm9tZy5vcmcvc3BlYy9ETU4vMjAxOTExMTEvRE1OREkvXCIgeG1sbnM6ZGM9XCJodHRwOi8vd3d3Lm9tZy5vcmcvc3BlYy9ETU4vMjAxODA1MjEvREMvXCIgaWQ9XCJEZWZpbml0aW9uc18xaDE5OHY5XCIgbmFtZT1cIkRSRFwiIG5hbWVzcGFjZT1cImh0dHA6Ly9jYW11bmRhLm9yZy9zY2hlbWEvMS4wL2RtblwiIHhtbG5zOm1vZGVsZXI9XCJodHRwOi8vY2FtdW5kYS5vcmcvc2NoZW1hL21vZGVsZXIvMS4wXCIgZXhwb3J0ZXI9XCJDYW11bmRhIE1vZGVsZXJcIiBleHBvcnRlclZlcnNpb249XCI1LjIuMFwiIG1vZGVsZXI6ZXhlY3V0aW9uUGxhdGZvcm09XCJDYW11bmRhIENsb3VkXCIgbW9kZWxlcjpleGVjdXRpb25QbGF0Zm9ybVZlcnNpb249XCI4LjAuMFwiPlxuICA8ZGVjaXNpb24gaWQ9XCJEZWNpc2lvbl8xZTE4cTc2XCIgbmFtZT1cIkRlY2lzaW9uIDFcIj5cbiAgICA8ZGVjaXNpb25UYWJsZSBpZD1cIkRlY2lzaW9uVGFibGVfMWFwdTIzbVwiPlxuICAgICAgPGlucHV0IGlkPVwiSW5wdXRfMVwiPlxuICAgICAgICA8aW5wdXRFeHByZXNzaW9uIGlkPVwiSW5wdXRFeHByZXNzaW9uXzFcIiB0eXBlUmVmPVwic3RyaW5nXCI+XG4gICAgICAgICAgPHRleHQ+PC90ZXh0PlxuICAgICAgICA8L2lucHV0RXhwcmVzc2lvbj5cbiAgICAgIDwvaW5wdXQ+XG4gICAgICA8b3V0cHV0IGlkPVwiT3V0cHV0XzFcIiB0eXBlUmVmPVwic3RyaW5nXCIgLz5cbiAgICA8L2RlY2lzaW9uVGFibGU+XG4gIDwvZGVjaXNpb24+XG4gIDxkbW5kaTpETU5EST5cbiAgICA8ZG1uZGk6RE1ORGlhZ3JhbT5cbiAgICAgIDxkbW5kaTpETU5TaGFwZSBkbW5FbGVtZW50UmVmPVwiRGVjaXNpb25fMWUxOHE3NlwiPlxuICAgICAgICA8ZGM6Qm91bmRzIGhlaWdodD1cIjgwXCIgd2lkdGg9XCIxODBcIiB4PVwiMTYwXCIgeT1cIjEwMFwiIC8+XG4gICAgICA8L2RtbmRpOkRNTlNoYXBlPlxuICAgIDwvZG1uZGk6RE1ORGlhZ3JhbT5cbiAgPC9kbW5kaTpETU5EST5cbjwvZGVmaW5pdGlvbnM+XG5gLFxufTtcblxuZXhwb3J0IHtFTVBUWV9ERUNJU0lPTn07XG4iXX0=
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
3
|
-
*
|
|
4
|
-
* Licensed under EUPL, Version 1.2 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" basis,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
import { NgModule } from '@angular/core';
|
|
17
|
-
import { RouterModule } from '@angular/router';
|
|
18
|
-
import { CommonModule } from '@angular/common';
|
|
19
|
-
import { AuthGuardService } from '@valtimo/security';
|
|
20
|
-
import { DecisionComponent } from './decision.component';
|
|
21
|
-
import { ROLE_ADMIN } from '@valtimo/config';
|
|
22
|
-
import { DecisionModelerComponent } from './decision-modeler/decision-modeler.component';
|
|
23
|
-
import { DecisionDisplayComponent } from './decision-display/decision-display.component';
|
|
24
|
-
import * as i0 from "@angular/core";
|
|
25
|
-
import * as i1 from "@angular/router";
|
|
26
|
-
const routes = [
|
|
27
|
-
{
|
|
28
|
-
path: 'decision-tables',
|
|
29
|
-
component: DecisionComponent,
|
|
30
|
-
canActivate: [AuthGuardService],
|
|
31
|
-
data: { title: 'Decision tables', roles: [ROLE_ADMIN] },
|
|
32
|
-
},
|
|
33
|
-
{
|
|
34
|
-
path: 'decision-tables/:id',
|
|
35
|
-
component: DecisionDisplayComponent,
|
|
36
|
-
canActivate: [AuthGuardService],
|
|
37
|
-
data: { title: 'Decision tables', roles: [ROLE_ADMIN] },
|
|
38
|
-
},
|
|
39
|
-
{
|
|
40
|
-
path: 'decision-tables/edit/:id',
|
|
41
|
-
component: DecisionModelerComponent,
|
|
42
|
-
canActivate: [AuthGuardService],
|
|
43
|
-
data: { title: 'Edit decision table', roles: [ROLE_ADMIN], customPageTitle: true },
|
|
44
|
-
},
|
|
45
|
-
{
|
|
46
|
-
path: 'decision-tables/edit/create',
|
|
47
|
-
component: DecisionModelerComponent,
|
|
48
|
-
canActivate: [AuthGuardService],
|
|
49
|
-
data: { title: 'Create decision table', roles: [ROLE_ADMIN] },
|
|
50
|
-
},
|
|
51
|
-
];
|
|
52
|
-
export class DecisionRoutingModule {
|
|
53
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DecisionRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
54
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: DecisionRoutingModule, imports: [CommonModule, i1.RouterModule], exports: [RouterModule] }); }
|
|
55
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DecisionRoutingModule, imports: [CommonModule, RouterModule.forChild(routes), RouterModule] }); }
|
|
56
|
-
}
|
|
57
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DecisionRoutingModule, decorators: [{
|
|
58
|
-
type: NgModule,
|
|
59
|
-
args: [{
|
|
60
|
-
declarations: [],
|
|
61
|
-
imports: [CommonModule, RouterModule.forChild(routes)],
|
|
62
|
-
exports: [RouterModule],
|
|
63
|
-
}]
|
|
64
|
-
}] });
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjaXNpb24tcm91dGluZy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2RlY2lzaW9uL3NyYy9saWIvZGVjaXNpb24tcm91dGluZy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxZQUFZLEVBQVMsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLCtDQUErQyxDQUFDO0FBQ3ZGLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLCtDQUErQyxDQUFDOzs7QUFFdkYsTUFBTSxNQUFNLEdBQVc7SUFDckI7UUFDRSxJQUFJLEVBQUUsaUJBQWlCO1FBQ3ZCLFNBQVMsRUFBRSxpQkFBaUI7UUFDNUIsV0FBVyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7UUFDL0IsSUFBSSxFQUFFLEVBQUMsS0FBSyxFQUFFLGlCQUFpQixFQUFFLEtBQUssRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFDO0tBQ3REO0lBQ0Q7UUFDRSxJQUFJLEVBQUUscUJBQXFCO1FBQzNCLFNBQVMsRUFBRSx3QkFBd0I7UUFDbkMsV0FBVyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7UUFDL0IsSUFBSSxFQUFFLEVBQUMsS0FBSyxFQUFFLGlCQUFpQixFQUFFLEtBQUssRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFDO0tBQ3REO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsMEJBQTBCO1FBQ2hDLFNBQVMsRUFBRSx3QkFBd0I7UUFDbkMsV0FBVyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7UUFDL0IsSUFBSSxFQUFFLEVBQUMsS0FBSyxFQUFFLHFCQUFxQixFQUFFLEtBQUssRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUM7S0FDakY7SUFDRDtRQUNFLElBQUksRUFBRSw2QkFBNkI7UUFDbkMsU0FBUyxFQUFFLHdCQUF3QjtRQUNuQyxXQUFXLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztRQUMvQixJQUFJLEVBQUUsRUFBQyxLQUFLLEVBQUUsdUJBQXVCLEVBQUUsS0FBSyxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUM7S0FDNUQ7Q0FDRixDQUFDO0FBT0YsTUFBTSxPQUFPLHFCQUFxQjsrR0FBckIscUJBQXFCO2dIQUFyQixxQkFBcUIsWUFIdEIsWUFBWSw4QkFDWixZQUFZO2dIQUVYLHFCQUFxQixZQUh0QixZQUFZLEVBQUUsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFDM0MsWUFBWTs7NEZBRVgscUJBQXFCO2tCQUxqQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxFQUFFO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDdEQsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO2lCQUN4QiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtSb3V0ZXJNb2R1bGUsIFJvdXRlc30gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtBdXRoR3VhcmRTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9zZWN1cml0eSc7XG5pbXBvcnQge0RlY2lzaW9uQ29tcG9uZW50fSBmcm9tICcuL2RlY2lzaW9uLmNvbXBvbmVudCc7XG5pbXBvcnQge1JPTEVfQURNSU59IGZyb20gJ0B2YWx0aW1vL2NvbmZpZyc7XG5pbXBvcnQge0RlY2lzaW9uTW9kZWxlckNvbXBvbmVudH0gZnJvbSAnLi9kZWNpc2lvbi1tb2RlbGVyL2RlY2lzaW9uLW1vZGVsZXIuY29tcG9uZW50JztcbmltcG9ydCB7RGVjaXNpb25EaXNwbGF5Q29tcG9uZW50fSBmcm9tICcuL2RlY2lzaW9uLWRpc3BsYXkvZGVjaXNpb24tZGlzcGxheS5jb21wb25lbnQnO1xuXG5jb25zdCByb3V0ZXM6IFJvdXRlcyA9IFtcbiAge1xuICAgIHBhdGg6ICdkZWNpc2lvbi10YWJsZXMnLFxuICAgIGNvbXBvbmVudDogRGVjaXNpb25Db21wb25lbnQsXG4gICAgY2FuQWN0aXZhdGU6IFtBdXRoR3VhcmRTZXJ2aWNlXSxcbiAgICBkYXRhOiB7dGl0bGU6ICdEZWNpc2lvbiB0YWJsZXMnLCByb2xlczogW1JPTEVfQURNSU5dfSxcbiAgfSxcbiAge1xuICAgIHBhdGg6ICdkZWNpc2lvbi10YWJsZXMvOmlkJyxcbiAgICBjb21wb25lbnQ6IERlY2lzaW9uRGlzcGxheUNvbXBvbmVudCxcbiAgICBjYW5BY3RpdmF0ZTogW0F1dGhHdWFyZFNlcnZpY2VdLFxuICAgIGRhdGE6IHt0aXRsZTogJ0RlY2lzaW9uIHRhYmxlcycsIHJvbGVzOiBbUk9MRV9BRE1JTl19LFxuICB9LFxuICB7XG4gICAgcGF0aDogJ2RlY2lzaW9uLXRhYmxlcy9lZGl0LzppZCcsXG4gICAgY29tcG9uZW50OiBEZWNpc2lvbk1vZGVsZXJDb21wb25lbnQsXG4gICAgY2FuQWN0aXZhdGU6IFtBdXRoR3VhcmRTZXJ2aWNlXSxcbiAgICBkYXRhOiB7dGl0bGU6ICdFZGl0IGRlY2lzaW9uIHRhYmxlJywgcm9sZXM6IFtST0xFX0FETUlOXSwgY3VzdG9tUGFnZVRpdGxlOiB0cnVlfSxcbiAgfSxcbiAge1xuICAgIHBhdGg6ICdkZWNpc2lvbi10YWJsZXMvZWRpdC9jcmVhdGUnLFxuICAgIGNvbXBvbmVudDogRGVjaXNpb25Nb2RlbGVyQ29tcG9uZW50LFxuICAgIGNhbkFjdGl2YXRlOiBbQXV0aEd1YXJkU2VydmljZV0sXG4gICAgZGF0YToge3RpdGxlOiAnQ3JlYXRlIGRlY2lzaW9uIHRhYmxlJywgcm9sZXM6IFtST0xFX0FETUlOXX0sXG4gIH0sXG5dO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSb3V0ZXJNb2R1bGUuZm9yQ2hpbGQocm91dGVzKV0sXG4gIGV4cG9ydHM6IFtSb3V0ZXJNb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBEZWNpc2lvblJvdXRpbmdNb2R1bGUge31cbiJdfQ==
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
3
|
-
*
|
|
4
|
-
* Licensed under EUPL, Version 1.2 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" basis,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
import { Component, ViewChild } from '@angular/core';
|
|
17
|
-
import * as i0 from "@angular/core";
|
|
18
|
-
import * as i1 from "@valtimo/config";
|
|
19
|
-
import * as i2 from "./decision-list/decision-list.component";
|
|
20
|
-
export class DecisionComponent {
|
|
21
|
-
constructor(configService) {
|
|
22
|
-
this.configService = configService;
|
|
23
|
-
this.experimentalEditing = this.configService.config.featureToggles.experimentalDmnEditing;
|
|
24
|
-
}
|
|
25
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DecisionComponent, deps: [{ token: i1.ConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
26
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DecisionComponent, selector: "valtimo-decision", viewQueries: [{ propertyName: "list", first: true, predicate: ["decisionList"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"main-content pt-0\">\n <div class=\"container-fluid\">\n <div class=\"text-right\">\n <div class=\"btn-group mt-m3px mb-3\">\n <!-- <button-->\n <!-- *ngIf=\"experimentalEditing\"-->\n <!-- class=\"btn btn-primary btn-space\"-->\n <!-- [routerLink]=\"'edit/create'\"-->\n <!-- >-->\n <!-- <i class=\"icon mdi mdi-plus mr-1\"></i>-->\n <!-- {{ 'Create decision table' | translate }}-->\n <!-- </button>-->\n </div>\n </div>\n <valtimo-decision-list #decisionList></valtimo-decision-list>\n </div>\n</div>\n", styles: ["/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "component", type: i2.DecisionListComponent, selector: "valtimo-decision-list" }] }); }
|
|
27
|
-
}
|
|
28
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DecisionComponent, decorators: [{
|
|
29
|
-
type: Component,
|
|
30
|
-
args: [{ selector: 'valtimo-decision', template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"main-content pt-0\">\n <div class=\"container-fluid\">\n <div class=\"text-right\">\n <div class=\"btn-group mt-m3px mb-3\">\n <!-- <button-->\n <!-- *ngIf=\"experimentalEditing\"-->\n <!-- class=\"btn btn-primary btn-space\"-->\n <!-- [routerLink]=\"'edit/create'\"-->\n <!-- >-->\n <!-- <i class=\"icon mdi mdi-plus mr-1\"></i>-->\n <!-- {{ 'Create decision table' | translate }}-->\n <!-- </button>-->\n </div>\n </div>\n <valtimo-decision-list #decisionList></valtimo-decision-list>\n </div>\n</div>\n", styles: ["/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
|
|
31
|
-
}], ctorParameters: () => [{ type: i1.ConfigService }], propDecorators: { list: [{
|
|
32
|
-
type: ViewChild,
|
|
33
|
-
args: ['decisionList']
|
|
34
|
-
}] } });
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjaXNpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9kZWNpc2lvbi9zcmMvbGliL2RlY2lzaW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZGVjaXNpb24vc3JjL2xpYi9kZWNpc2lvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBQyxTQUFTLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDOzs7O0FBU25ELE1BQU0sT0FBTyxpQkFBaUI7SUFHNUIsWUFBNkIsYUFBNEI7UUFBNUIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDdkQsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxzQkFBc0IsQ0FBQztJQUM3RixDQUFDOytHQUxVLGlCQUFpQjttR0FBakIsaUJBQWlCLDhKQ3pCOUIsdXlDQWlDQTs7NEZEUmEsaUJBQWlCO2tCQUw3QixTQUFTOytCQUNFLGtCQUFrQjtrRkFXRCxJQUFJO3NCQUE5QixTQUFTO3VCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge0NvbXBvbmVudCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RGVjaXNpb25MaXN0Q29tcG9uZW50fSBmcm9tICcuL2RlY2lzaW9uLWxpc3QvZGVjaXNpb24tbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHtDb25maWdTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9jb25maWcnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLWRlY2lzaW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RlY2lzaW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGVjaXNpb24uY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRGVjaXNpb25Db21wb25lbnQge1xuICByZWFkb25seSBleHBlcmltZW50YWxFZGl0aW5nITogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGNvbmZpZ1NlcnZpY2U6IENvbmZpZ1NlcnZpY2UpIHtcbiAgICB0aGlzLmV4cGVyaW1lbnRhbEVkaXRpbmcgPSB0aGlzLmNvbmZpZ1NlcnZpY2UuY29uZmlnLmZlYXR1cmVUb2dnbGVzLmV4cGVyaW1lbnRhbERtbkVkaXRpbmc7XG4gIH1cblxuICBAVmlld0NoaWxkKCdkZWNpc2lvbkxpc3QnKSBsaXN0OiBEZWNpc2lvbkxpc3RDb21wb25lbnQ7XG59XG4iLCI8IS0tXG4gIH4gQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gIH5cbiAgfiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAgfiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIH4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gIH5cbiAgfiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gIH5cbiAgfiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIH4gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICB+IFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICB+IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgfiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAgLS0+XG5cbjxkaXYgY2xhc3M9XCJtYWluLWNvbnRlbnQgcHQtMFwiPlxuICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyLWZsdWlkXCI+XG4gICAgPGRpdiBjbGFzcz1cInRleHQtcmlnaHRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJidG4tZ3JvdXAgbXQtbTNweCBtYi0zXCI+XG4gICAgICAgIDwhLS0gICAgICAgIDxidXR0b24tLT5cbiAgICAgICAgPCEtLSAgICAgICAgICAqbmdJZj1cImV4cGVyaW1lbnRhbEVkaXRpbmdcIi0tPlxuICAgICAgICA8IS0tICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IGJ0bi1zcGFjZVwiLS0+XG4gICAgICAgIDwhLS0gICAgICAgICAgW3JvdXRlckxpbmtdPVwiJ2VkaXQvY3JlYXRlJ1wiLS0+XG4gICAgICAgIDwhLS0gICAgICAgID4tLT5cbiAgICAgICAgPCEtLSAgICAgICAgICA8aSBjbGFzcz1cImljb24gbWRpIG1kaS1wbHVzIG1yLTFcIj48L2k+LS0+XG4gICAgICAgIDwhLS0gICAgICAgICAge3sgJ0NyZWF0ZSBkZWNpc2lvbiB0YWJsZScgfCB0cmFuc2xhdGUgfX0tLT5cbiAgICAgICAgPCEtLSAgICAgICAgPC9idXR0b24+LS0+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8dmFsdGltby1kZWNpc2lvbi1saXN0ICNkZWNpc2lvbkxpc3Q+PC92YWx0aW1vLWRlY2lzaW9uLWxpc3Q+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
3
|
-
*
|
|
4
|
-
* Licensed under EUPL, Version 1.2 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" basis,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
import { NgModule } from '@angular/core';
|
|
17
|
-
import { DecisionComponent } from './decision.component';
|
|
18
|
-
import { DecisionRoutingModule } from './decision-routing.module';
|
|
19
|
-
import { DecisionDeployComponent } from './decision-deploy/decision-deploy.component';
|
|
20
|
-
import { CommonModule } from '@angular/common';
|
|
21
|
-
import { FormsModule } from '@angular/forms';
|
|
22
|
-
import { DecisionDisplayComponent } from './decision-display/decision-display.component';
|
|
23
|
-
import { DecisionListComponent } from './decision-list/decision-list.component';
|
|
24
|
-
import { ListModule, ModalModule, SpinnerModule, WidgetModule, SelectModule, CarbonListModule, } from '@valtimo/components';
|
|
25
|
-
import { TranslateModule } from '@ngx-translate/core';
|
|
26
|
-
import { DecisionModelerComponent } from './decision-modeler/decision-modeler.component';
|
|
27
|
-
import { ButtonModule, IconModule } from 'carbon-components-angular';
|
|
28
|
-
import * as i0 from "@angular/core";
|
|
29
|
-
export class DecisionModule {
|
|
30
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DecisionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
31
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: DecisionModule, declarations: [DecisionComponent,
|
|
32
|
-
DecisionDeployComponent,
|
|
33
|
-
DecisionDisplayComponent,
|
|
34
|
-
DecisionListComponent,
|
|
35
|
-
DecisionModelerComponent], imports: [DecisionRoutingModule,
|
|
36
|
-
WidgetModule,
|
|
37
|
-
ListModule,
|
|
38
|
-
TranslateModule,
|
|
39
|
-
ModalModule,
|
|
40
|
-
CommonModule,
|
|
41
|
-
FormsModule,
|
|
42
|
-
SelectModule,
|
|
43
|
-
SpinnerModule,
|
|
44
|
-
CarbonListModule,
|
|
45
|
-
ButtonModule,
|
|
46
|
-
IconModule], exports: [DecisionComponent, DecisionModelerComponent] }); }
|
|
47
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DecisionModule, imports: [DecisionRoutingModule,
|
|
48
|
-
WidgetModule,
|
|
49
|
-
ListModule,
|
|
50
|
-
TranslateModule,
|
|
51
|
-
ModalModule,
|
|
52
|
-
CommonModule,
|
|
53
|
-
FormsModule,
|
|
54
|
-
SelectModule,
|
|
55
|
-
SpinnerModule,
|
|
56
|
-
CarbonListModule,
|
|
57
|
-
ButtonModule,
|
|
58
|
-
IconModule] }); }
|
|
59
|
-
}
|
|
60
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DecisionModule, decorators: [{
|
|
61
|
-
type: NgModule,
|
|
62
|
-
args: [{
|
|
63
|
-
declarations: [
|
|
64
|
-
DecisionComponent,
|
|
65
|
-
DecisionDeployComponent,
|
|
66
|
-
DecisionDisplayComponent,
|
|
67
|
-
DecisionListComponent,
|
|
68
|
-
DecisionModelerComponent,
|
|
69
|
-
],
|
|
70
|
-
imports: [
|
|
71
|
-
DecisionRoutingModule,
|
|
72
|
-
WidgetModule,
|
|
73
|
-
ListModule,
|
|
74
|
-
TranslateModule,
|
|
75
|
-
ModalModule,
|
|
76
|
-
CommonModule,
|
|
77
|
-
FormsModule,
|
|
78
|
-
SelectModule,
|
|
79
|
-
SpinnerModule,
|
|
80
|
-
CarbonListModule,
|
|
81
|
-
ButtonModule,
|
|
82
|
-
IconModule,
|
|
83
|
-
],
|
|
84
|
-
exports: [DecisionComponent, DecisionModelerComponent],
|
|
85
|
-
}]
|
|
86
|
-
}] });
|
|
87
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjaXNpb24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9kZWNpc2lvbi9zcmMvbGliL2RlY2lzaW9uLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDaEUsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sNkNBQTZDLENBQUM7QUFDcEYsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQUN2RixPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUM5RSxPQUFPLEVBQ0wsVUFBVSxFQUNWLFdBQVcsRUFDWCxhQUFhLEVBQ2IsWUFBWSxFQUNaLFlBQVksRUFDWixnQkFBZ0IsR0FDakIsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sK0NBQStDLENBQUM7QUFDdkYsT0FBTyxFQUFDLFlBQVksRUFBRSxVQUFVLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQzs7QUEwQm5FLE1BQU0sT0FBTyxjQUFjOytHQUFkLGNBQWM7Z0hBQWQsY0FBYyxpQkF0QnZCLGlCQUFpQjtZQUNqQix1QkFBdUI7WUFDdkIsd0JBQXdCO1lBQ3hCLHFCQUFxQjtZQUNyQix3QkFBd0IsYUFHeEIscUJBQXFCO1lBQ3JCLFlBQVk7WUFDWixVQUFVO1lBQ1YsZUFBZTtZQUNmLFdBQVc7WUFDWCxZQUFZO1lBQ1osV0FBVztZQUNYLFlBQVk7WUFDWixhQUFhO1lBQ2IsZ0JBQWdCO1lBQ2hCLFlBQVk7WUFDWixVQUFVLGFBRUYsaUJBQWlCLEVBQUUsd0JBQXdCO2dIQUUxQyxjQUFjLFlBZnZCLHFCQUFxQjtZQUNyQixZQUFZO1lBQ1osVUFBVTtZQUNWLGVBQWU7WUFDZixXQUFXO1lBQ1gsWUFBWTtZQUNaLFdBQVc7WUFDWCxZQUFZO1lBQ1osYUFBYTtZQUNiLGdCQUFnQjtZQUNoQixZQUFZO1lBQ1osVUFBVTs7NEZBSUQsY0FBYztrQkF4QjFCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLGlCQUFpQjt3QkFDakIsdUJBQXVCO3dCQUN2Qix3QkFBd0I7d0JBQ3hCLHFCQUFxQjt3QkFDckIsd0JBQXdCO3FCQUN6QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AscUJBQXFCO3dCQUNyQixZQUFZO3dCQUNaLFVBQVU7d0JBQ1YsZUFBZTt3QkFDZixXQUFXO3dCQUNYLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUNoQixZQUFZO3dCQUNaLFVBQVU7cUJBQ1g7b0JBQ0QsT0FBTyxFQUFFLENBQUMsaUJBQWlCLEVBQUUsd0JBQXdCLENBQUM7aUJBQ3ZEIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0RlY2lzaW9uQ29tcG9uZW50fSBmcm9tICcuL2RlY2lzaW9uLmNvbXBvbmVudCc7XG5pbXBvcnQge0RlY2lzaW9uUm91dGluZ01vZHVsZX0gZnJvbSAnLi9kZWNpc2lvbi1yb3V0aW5nLm1vZHVsZSc7XG5pbXBvcnQge0RlY2lzaW9uRGVwbG95Q29tcG9uZW50fSBmcm9tICcuL2RlY2lzaW9uLWRlcGxveS9kZWNpc2lvbi1kZXBsb3kuY29tcG9uZW50JztcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtEZWNpc2lvbkRpc3BsYXlDb21wb25lbnR9IGZyb20gJy4vZGVjaXNpb24tZGlzcGxheS9kZWNpc2lvbi1kaXNwbGF5LmNvbXBvbmVudCc7XG5pbXBvcnQge0RlY2lzaW9uTGlzdENvbXBvbmVudH0gZnJvbSAnLi9kZWNpc2lvbi1saXN0L2RlY2lzaW9uLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7XG4gIExpc3RNb2R1bGUsXG4gIE1vZGFsTW9kdWxlLFxuICBTcGlubmVyTW9kdWxlLFxuICBXaWRnZXRNb2R1bGUsXG4gIFNlbGVjdE1vZHVsZSxcbiAgQ2FyYm9uTGlzdE1vZHVsZSxcbn0gZnJvbSAnQHZhbHRpbW8vY29tcG9uZW50cyc7XG5pbXBvcnQge1RyYW5zbGF0ZU1vZHVsZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge0RlY2lzaW9uTW9kZWxlckNvbXBvbmVudH0gZnJvbSAnLi9kZWNpc2lvbi1tb2RlbGVyL2RlY2lzaW9uLW1vZGVsZXIuY29tcG9uZW50JztcbmltcG9ydCB7QnV0dG9uTW9kdWxlLCBJY29uTW9kdWxlfSBmcm9tICdjYXJib24tY29tcG9uZW50cy1hbmd1bGFyJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgRGVjaXNpb25Db21wb25lbnQsXG4gICAgRGVjaXNpb25EZXBsb3lDb21wb25lbnQsXG4gICAgRGVjaXNpb25EaXNwbGF5Q29tcG9uZW50LFxuICAgIERlY2lzaW9uTGlzdENvbXBvbmVudCxcbiAgICBEZWNpc2lvbk1vZGVsZXJDb21wb25lbnQsXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBEZWNpc2lvblJvdXRpbmdNb2R1bGUsXG4gICAgV2lkZ2V0TW9kdWxlLFxuICAgIExpc3RNb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgIE1vZGFsTW9kdWxlLFxuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBTZWxlY3RNb2R1bGUsXG4gICAgU3Bpbm5lck1vZHVsZSxcbiAgICBDYXJib25MaXN0TW9kdWxlLFxuICAgIEJ1dHRvbk1vZHVsZSxcbiAgICBJY29uTW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbRGVjaXNpb25Db21wb25lbnQsIERlY2lzaW9uTW9kZWxlckNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIERlY2lzaW9uTW9kdWxlIHt9XG4iXX0=
|