@bizdoc/core 1.15.7 → 1.16.2
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/assets/bizdoc-schema.json +14 -13
- package/esm2020/lib/admin/configuration-designer/designer-element.component.mjs +113 -44
- package/esm2020/lib/admin/configuration-designer/designer.base.mjs +43 -37
- package/esm2020/lib/admin/configuration-designer/designer.component.mjs +82 -64
- package/esm2020/lib/admin/configuration-designer/elements/action.component.mjs +8 -6
- package/esm2020/lib/admin/configuration-designer/elements/analysis-view.component.mjs +7 -7
- package/esm2020/lib/admin/configuration-designer/elements/analysis-widget.component.mjs +5 -7
- package/esm2020/lib/admin/configuration-designer/elements/box-form.component.mjs +3 -3
- package/esm2020/lib/admin/configuration-designer/elements/configuration-datasource.component.mjs +31 -26
- package/esm2020/lib/admin/configuration-designer/elements/cube-index-utility.component.mjs +32 -0
- package/esm2020/lib/admin/configuration-designer/elements/cube-view.component.mjs +3 -3
- package/esm2020/lib/admin/configuration-designer/elements/cube.component.mjs +91 -55
- package/esm2020/lib/admin/configuration-designer/elements/documents-widget.component.mjs +2 -2
- package/esm2020/lib/admin/configuration-designer/elements/folder.component.mjs +13 -9
- package/esm2020/lib/admin/configuration-designer/elements/form.component.mjs +30 -39
- package/esm2020/lib/admin/configuration-designer/elements/guide.component.mjs +24 -17
- package/esm2020/lib/admin/configuration-designer/elements/matrix-view.component.mjs +13 -17
- package/esm2020/lib/admin/configuration-designer/elements/parallel-view.component.mjs +3 -3
- package/esm2020/lib/admin/configuration-designer/elements/pivot-view.component.mjs +2 -2
- package/esm2020/lib/admin/configuration-designer/elements/report.component.mjs +14 -6
- package/esm2020/lib/admin/configuration-designer/elements/return-to-role-action.component.mjs +11 -15
- package/esm2020/lib/admin/configuration-designer/elements/role.component.mjs +12 -8
- package/esm2020/lib/admin/configuration-designer/elements/rule.component.mjs +8 -3
- package/esm2020/lib/admin/configuration-designer/elements/state.component.mjs +11 -11
- package/esm2020/lib/admin/configuration-designer/elements/sum-view.component.mjs +5 -6
- package/esm2020/lib/admin/configuration-designer/elements/tasks-report.component.mjs +2 -2
- package/esm2020/lib/admin/configuration-designer/elements/type.component.mjs +11 -11
- package/esm2020/lib/admin/configuration-designer/elements/usage-report.component.mjs +4 -4
- package/esm2020/lib/admin/configuration-designer/elements/utility.component.mjs +14 -6
- package/esm2020/lib/admin/configuration-designer/elements/view.component.mjs +13 -11
- package/esm2020/lib/admin/configuration-designer/elements/widget.component.mjs +14 -4
- package/esm2020/lib/admin/configuration-designer/icon-picker.component.mjs +12 -6
- package/esm2020/lib/admin/configuration-designer/privileges.component.mjs +25 -15
- package/esm2020/lib/admin/form/designer/designer.component.mjs +15 -7
- package/esm2020/lib/admin/patterns/patterns.component.mjs +1 -1
- package/esm2020/lib/core/datasource.service.mjs +1 -1
- package/esm2020/lib/core/layout/layout.component.mjs +19 -31
- package/esm2020/lib/core/models.mjs +1 -1
- package/esm2020/lib/core/translations.mjs +6 -1
- package/esm2020/lib/cube/cube-info.service.mjs +1 -1
- package/esm2020/lib/cube/cube.service.mjs +1 -1
- package/esm2020/lib/cube/declarations.mjs +1 -1
- package/esm2020/lib/cube/matrix/matrix.base.mjs +2 -2
- package/esm2020/lib/cube/matrix/matrix.pane.component.mjs +1 -1
- package/esm2020/lib/cube/matrix/table.component.mjs +19 -19
- package/esm2020/lib/cube/sum/sum.component.mjs +1 -1
- package/esm2020/lib/reports/cube/usage-base.mjs +1 -1
- package/esm2020/lib/shared.module.mjs +3 -1
- package/esm2020/lib/system.module.mjs +11 -6
- package/esm2020/lib/views/cube/parallel.component.mjs +1 -1
- package/esm2020/public-api.mjs +3 -1
- package/fesm2015/bizdoc-core.mjs +6399 -6202
- package/fesm2015/bizdoc-core.mjs.map +1 -1
- package/fesm2020/bizdoc-core.mjs +5241 -5043
- package/fesm2020/bizdoc-core.mjs.map +1 -1
- package/lib/admin/configuration-designer/designer-element.component.d.ts +30 -10
- package/lib/admin/configuration-designer/designer.base.d.ts +75 -36
- package/lib/admin/configuration-designer/designer.component.d.ts +10 -7
- package/lib/admin/configuration-designer/elements/action.component.d.ts +2 -0
- package/lib/admin/configuration-designer/elements/analysis-view.component.d.ts +2 -1
- package/lib/admin/configuration-designer/elements/configuration-datasource.component.d.ts +9 -8
- package/lib/admin/configuration-designer/elements/cube-index-utility.component.d.ts +12 -0
- package/lib/admin/configuration-designer/elements/cube.component.d.ts +17 -7
- package/lib/admin/configuration-designer/elements/documents-widget.component.d.ts +2 -2
- package/lib/admin/configuration-designer/elements/folder.component.d.ts +3 -0
- package/lib/admin/configuration-designer/elements/form.component.d.ts +7 -2
- package/lib/admin/configuration-designer/elements/guide.component.d.ts +4 -2
- package/lib/admin/configuration-designer/elements/matrix-view.component.d.ts +0 -2
- package/lib/admin/configuration-designer/elements/pivot-view.component.d.ts +1 -1
- package/lib/admin/configuration-designer/elements/report.component.d.ts +3 -0
- package/lib/admin/configuration-designer/elements/return-to-role-action.component.d.ts +2 -4
- package/lib/admin/configuration-designer/elements/role.component.d.ts +5 -2
- package/lib/admin/configuration-designer/elements/rule.component.d.ts +2 -0
- package/lib/admin/configuration-designer/elements/state.component.d.ts +4 -1
- package/lib/admin/configuration-designer/elements/tasks-report.component.d.ts +2 -2
- package/lib/admin/configuration-designer/elements/type.component.d.ts +3 -1
- package/lib/admin/configuration-designer/elements/utility.component.d.ts +3 -0
- package/lib/admin/configuration-designer/elements/view.component.d.ts +4 -6
- package/lib/admin/configuration-designer/elements/widget.component.d.ts +2 -0
- package/lib/admin/configuration-designer/privileges.component.d.ts +6 -4
- package/lib/admin/patterns/patterns.component.d.ts +2 -2
- package/lib/core/datasource.service.d.ts +3 -3
- package/lib/core/layout/layout.component.d.ts +0 -3
- package/lib/core/models.d.ts +2 -2
- package/lib/core/translations.d.ts +5 -0
- package/lib/cube/cube-info.service.d.ts +3 -2
- package/lib/cube/cube.service.d.ts +8 -8
- package/lib/cube/declarations.d.ts +2 -0
- package/lib/cube/matrix/matrix.base.d.ts +4 -3
- package/lib/cube/matrix/matrix.pane.component.d.ts +3 -2
- package/lib/cube/matrix/table.component.d.ts +9 -5
- package/lib/reports/cube/usage-base.d.ts +2 -2
- package/lib/shared.module.d.ts +1 -1
- package/lib/system.module.d.ts +50 -48
- package/lib/views/cube/parallel.component.d.ts +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +4 -2
@@ -9,23 +9,26 @@ import { DesignerItemComponent } from "./designer-element.component";
|
|
9
9
|
import { programName } from "./designer.base";
|
10
10
|
import * as i0 from "@angular/core";
|
11
11
|
import * as i1 from "../../core/slots/router.service";
|
12
|
-
import * as i2 from "../../core/
|
13
|
-
import * as i3 from "
|
14
|
-
import * as i4 from "
|
15
|
-
import * as i5 from "@angular/
|
16
|
-
import * as i6 from "@angular/
|
17
|
-
import * as i7 from "@angular/
|
18
|
-
import * as i8 from "@angular/material/
|
19
|
-
import * as i9 from "@angular/material/
|
20
|
-
import * as i10 from "@angular/material/
|
21
|
-
import * as i11 from "@angular/material/
|
22
|
-
import * as i12 from "
|
23
|
-
import * as i13 from "
|
24
|
-
import * as i14 from "../../core/
|
12
|
+
import * as i2 from "../../core/translate.service";
|
13
|
+
import * as i3 from "../../core/prompt.service";
|
14
|
+
import * as i4 from "../utility-ref";
|
15
|
+
import * as i5 from "@angular/common";
|
16
|
+
import * as i6 from "@angular/flex-layout/flex";
|
17
|
+
import * as i7 from "@angular/cdk/drag-drop";
|
18
|
+
import * as i8 from "@angular/material/card";
|
19
|
+
import * as i9 from "@angular/material/core";
|
20
|
+
import * as i10 from "@angular/material/toolbar";
|
21
|
+
import * as i11 from "@angular/material/button";
|
22
|
+
import * as i12 from "@angular/material/icon";
|
23
|
+
import * as i13 from "@angular/material/menu";
|
24
|
+
import * as i14 from "../../core/popup/tooltip.directive";
|
25
|
+
import * as i15 from "./designer-element.component";
|
26
|
+
import * as i16 from "../../core/pipes/translate.pipe";
|
25
27
|
/** */
|
26
28
|
let ConfigurationDesignerComponent = class ConfigurationDesignerComponent {
|
27
|
-
constructor(_panes, _ps, _ref) {
|
29
|
+
constructor(_panes, _translate, _ps, _ref) {
|
28
30
|
this._panes = _panes;
|
31
|
+
this._translate = _translate;
|
29
32
|
this._ps = _ps;
|
30
33
|
this._ref = _ref;
|
31
34
|
this.loading = true;
|
@@ -40,12 +43,12 @@ let ConfigurationDesignerComponent = class ConfigurationDesignerComponent {
|
|
40
43
|
{ elements: r.actions, type: 'Actions', template: 'action-designer', templates: r.tActions },
|
41
44
|
{ elements: r.reports, type: 'Reports', template: 'report-designer', templates: r.tReports },
|
42
45
|
{ elements: r.widgets, type: 'Widgets', template: 'widget-designer', templates: r.tWidgets },
|
43
|
-
{ elements: r.views, type: 'Views', template: 'view-designer' },
|
44
|
-
{ elements: r.guides, type: 'Guides', template: 'guide-designer', templates: [{}] },
|
46
|
+
{ elements: r.views, type: 'Views', template: 'view-designer', templates: r.tViews },
|
47
|
+
{ elements: r.guides, type: 'Guides', template: 'guide-designer', templates: [{ title: 'Guide' }] },
|
45
48
|
{ elements: r.cubes, type: 'Cubes', template: 'cube-designer', templates: r.tCubes },
|
46
|
-
{ elements: r.folders, type: 'Folders', template: 'folder-designer', templates: [{}] },
|
47
|
-
{ elements: r.roles, type: 'Roles', template: 'role-designer', templates: [{}] },
|
48
|
-
{ elements: r.states, type: 'States', template: 'state-designer', templates: [{}] },
|
49
|
+
{ elements: r.folders, type: 'Folders', template: 'folder-designer', templates: [{ title: 'Folder' }] },
|
50
|
+
{ elements: r.roles, type: 'Roles', template: 'role-designer', templates: [{ title: 'Role' }] },
|
51
|
+
{ elements: r.states, type: 'States', template: 'state-designer', templates: [{ title: 'State' }] },
|
49
52
|
{ elements: r.utilities, type: 'Utilities', template: 'utility-designer', templates: r.tUtilities },
|
50
53
|
{ elements: r.types, type: 'Types', template: 'type-designer', templates: r.tTypes },
|
51
54
|
{ elements: r.rules, type: 'Rules', template: 'rule-designer', templates: r.tRules },
|
@@ -54,6 +57,19 @@ let ConfigurationDesignerComponent = class ConfigurationDesignerComponent {
|
|
54
57
|
});
|
55
58
|
}
|
56
59
|
drop(event) {
|
60
|
+
const range = event.container.data.slice(Math.min(event.previousIndex, event.currentIndex), Math.max(event.previousIndex, event.currentIndex)), file = range[0].configurationFile;
|
61
|
+
if
|
62
|
+
// across files
|
63
|
+
(range.slice(1).some(e => e.configurationFile !== file)) {
|
64
|
+
// start ordinal
|
65
|
+
let i = event.container.data[event.currentIndex].ordinal || -1;
|
66
|
+
// set ordinal to items in range
|
67
|
+
range.forEach(e => e.ordinal = i++);
|
68
|
+
// increase other higher than last in range
|
69
|
+
event.container.data.filter(e => e.ordinal && e.ordinal > i).forEach(e => e.ordinal += 1);
|
70
|
+
}
|
71
|
+
else // native order in collection
|
72
|
+
range.forEach(e => e.ordinal = null);
|
57
73
|
moveItemInArray(event.container.data, event.previousIndex, event.currentIndex);
|
58
74
|
}
|
59
75
|
/**
|
@@ -67,57 +83,54 @@ let ConfigurationDesignerComponent = class ConfigurationDesignerComponent {
|
|
67
83
|
}
|
68
84
|
}
|
69
85
|
discard(section, element) {
|
70
|
-
;
|
71
86
|
}
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
draft: true,
|
79
|
-
template: template.template
|
80
|
-
};
|
81
|
-
section.elements.push(element);
|
82
|
-
this.edit(element, section.template);
|
87
|
+
_insert(section, element, index) {
|
88
|
+
let i = element.name.lastIndexOf('_'), j = element.title.lastIndexOf(' '), n = 0, { name, title } = element;
|
89
|
+
while (section.elements.find(e => e.name === name || e.title === title)) {
|
90
|
+
n++;
|
91
|
+
name = (i < 0 || isNaN(parseInt(name.substr(i))) ? name : name.substr(0, i + 1)) + '_' + n;
|
92
|
+
title = (j < 0 || isNaN(parseInt(title.substr(j))) ? title : title.substr(0, j - 1)) + ' ' + n;
|
83
93
|
}
|
84
|
-
|
94
|
+
element.name = name, element.title = title;
|
95
|
+
this.edit(element, section, true).then(() => {
|
96
|
+
section.elements.splice(index, 0, element);
|
97
|
+
this.dirty = true;
|
98
|
+
});
|
99
|
+
}
|
100
|
+
add(section, menu, evt) {
|
101
|
+
if (section.templates.length > 1)
|
102
|
+
menu.openMenu();
|
103
|
+
else {
|
104
|
+
this.create(section, section.templates[0]);
|
105
|
+
evt.preventDefault();
|
106
|
+
}
|
107
|
+
}
|
108
|
+
create(section, template) {
|
109
|
+
this._insert(section, {
|
110
|
+
...template,
|
111
|
+
name: programName(template.title),
|
112
|
+
draft: true,
|
113
|
+
}, section.elements.length);
|
85
114
|
}
|
86
115
|
copy(section, element) {
|
87
|
-
|
116
|
+
const clone = Object.assign(JSON.parse(JSON.stringify(element)), {
|
88
117
|
copyOf: element.name,
|
89
|
-
name: this._uniqueName(element.name, section),
|
90
|
-
title: this._uniqueTitle(element.title, section),
|
91
118
|
draft: true
|
92
|
-
})
|
93
|
-
this.
|
94
|
-
}
|
95
|
-
_uniqueName(name, section) {
|
96
|
-
let i = name.lastIndexOf('_'), n = 0, val;
|
97
|
-
do {
|
98
|
-
n++;
|
99
|
-
val = (i < 0 || isNaN(parseInt(name.substr(i))) ? name : name.substr(0, i + 1)) + '_' + n;
|
100
|
-
} while (section.elements.find(e => e.name === val));
|
101
|
-
return val;
|
102
|
-
}
|
103
|
-
_uniqueTitle(title, section) {
|
104
|
-
let i = title.lastIndexOf(' '), n = 0, val;
|
105
|
-
do {
|
106
|
-
n++;
|
107
|
-
val = (i < 0 || isNaN(parseInt(title.substr(i))) ? title : title.substr(0, i - 1)) + ' ' + n;
|
108
|
-
} while (section.elements.find(e => e.title === val));
|
109
|
-
return val;
|
119
|
+
});
|
120
|
+
this._insert(section, clone, section.elements.indexOf(element));
|
110
121
|
}
|
111
|
-
edit(element,
|
112
|
-
this._panes.navigate(DesignerItemComponent, {
|
122
|
+
edit(element, section, isNew) {
|
123
|
+
return this._panes.navigate(DesignerItemComponent, {
|
113
124
|
policy: OpenPolicy.Dialog,
|
114
|
-
|
115
|
-
|
125
|
+
group: this._translate.get(section.type),
|
126
|
+
//title: element.title,
|
127
|
+
//icon: element.icon,
|
116
128
|
state: {
|
117
129
|
designer: this.model,
|
130
|
+
template: section.template,
|
118
131
|
model: element,
|
119
132
|
editMode: true,
|
120
|
-
|
133
|
+
isNew
|
121
134
|
}
|
122
135
|
}).then(e => e.instance.change.subscribe(e => this.dirty = true));
|
123
136
|
}
|
@@ -127,26 +140,31 @@ let ConfigurationDesignerComponent = class ConfigurationDesignerComponent {
|
|
127
140
|
}
|
128
141
|
save() {
|
129
142
|
this.saving = true;
|
130
|
-
|
143
|
+
const { actions, cubes, folders, forms, guides, reports, roles, rules, states, types, utilities, views, widgets } = this.model;
|
144
|
+
return this._ref.execute(cleanup({ actions, cubes, folders, forms, guides, reports, roles, rules, states, types, utilities, views, widgets })).toPromise().then(() => {
|
131
145
|
this._ps.toast('ChangesSaved');
|
146
|
+
apply(actions, cubes, folders, forms, guides, reports, roles, rules, states, types, utilities, views, widgets);
|
132
147
|
this.saving = false;
|
133
148
|
}, () => {
|
134
149
|
this._ps.error();
|
135
150
|
this.saving = false;
|
136
151
|
});
|
152
|
+
function apply(...collection) {
|
153
|
+
collection.forEach(s => s.forEach(e => delete e.draft));
|
154
|
+
}
|
137
155
|
}
|
138
156
|
};
|
139
|
-
ConfigurationDesignerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: ConfigurationDesignerComponent, deps: [{ token: i1.PanesRouter }, { token: i2.
|
140
|
-
ConfigurationDesignerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: ConfigurationDesignerComponent, selector: "ng-component", host: { listeners: { "document:keydown": "handleKeyboardEvent($event)" } }, ngImport: i0, template: "<mat-toolbar>\r\n <button mat-icon-button (click)=\"save()\" [disabled]=\"!dirty || loading || saving\" [bizdocTooltip]=\"'Save'|translate\"><mat-icon>save</mat-icon></button>\r\n</mat-toolbar>\r\n<section *ngFor=\"let s of sections\">\r\n <h2 class=\"mat-title\">{{s.type | translate}}</h2>\r\n <div class=\"elements\" cdkDropList cdkDropListOrientation=\"horizontal\" [cdkDropListData]=\"s.elements\" (cdkDropListDropped)=\"drop($event)\">\r\n <mat-card *ngFor=\"let e of s.elements\" [class.disabled]=\"e.disabled\" cdkDrag cdkDragRootElement=\".mat-card-title\">\r\n <!-- @item-->\r\n <mat-card-title>\r\n {{e.title}}\r\n </mat-card-title>\r\n <mat-card-subtitle>\r\n {{e.name}}\r\n </mat-card-subtitle>\r\n <mat-card-content>\r\n <bizdoc-designer-element [model]=\"e\" [template]=\"s.template\" [designer]=\"model\"
|
157
|
+
ConfigurationDesignerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: ConfigurationDesignerComponent, deps: [{ token: i1.PanesRouter }, { token: i2.TranslateService }, { token: i3.PromptService }, { token: i4.UtilityRef }], target: i0.ɵɵFactoryTarget.Component });
|
158
|
+
ConfigurationDesignerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: ConfigurationDesignerComponent, selector: "ng-component", host: { listeners: { "document:keydown": "handleKeyboardEvent($event)" } }, ngImport: i0, template: "<mat-toolbar>\r\n <button mat-icon-button (click)=\"save()\" [disabled]=\"!dirty || loading || saving\" [bizdocTooltip]=\"'Save'|translate\"><mat-icon>save</mat-icon></button>\r\n</mat-toolbar>\r\n<section *ngFor=\"let s of sections\">\r\n <h2 class=\"mat-title\">{{s.type | translate}}</h2>\r\n <div class=\"elements\" cdkDropList cdkDropListOrientation=\"horizontal\" [cdkDropListData]=\"s.elements\" (cdkDropListDropped)=\"drop($event)\">\r\n <mat-card *ngFor=\"let e of s.elements\" [class.disabled]=\"e.disabled\" cdkDrag cdkDragRootElement=\".mat-card-title\">\r\n <!-- @item-->\r\n <mat-card-title>\r\n {{e.title}}\r\n </mat-card-title>\r\n <mat-card-subtitle>\r\n {{e.name}}\r\n </mat-card-subtitle>\r\n <mat-card-content>\r\n <bizdoc-designer-element [model]=\"e\" [template]=\"s.template\" [designer]=\"model\"></bizdoc-designer-element>\r\n </mat-card-content>\r\n <mat-card-actions fxLayout=\"row\">\r\n <button mat-icon-button (click)=\"copy(s, e)\" *ngIf=\"!e.copyOf\" [bizdocTooltip]=\"'Copy'|translate\"><mat-icon>file_copy</mat-icon></button>\r\n <button mat-icon-button (click)=\"s.elements.remove(e)\" *ngIf=\"e.draft || e.empty\" [bizdocTooltip]=\"'Discard'|translate\"><mat-icon>delete</mat-icon></button>\r\n <button mat-icon-button (click)=\"toggleDisabled(e)\" [bizdocTooltip]=\"(e.disabled ? 'Enable' : 'Disable')|translate\"><mat-icon>{{e.disabled ? 'visibility' : 'visibility_off'}}</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"edit(e, s)\" [bizdocTooltip]=\"'Settings'|translate\"><mat-icon>settings</mat-icon></button>\r\n </mat-card-actions>\r\n </mat-card>\r\n <div class=\"add-element\" matRipple (click)=\"add(s, menuTrigger, $event)\" *ngIf=\"s.templates?.length\">\r\n <span [matMenuTriggerFor]=\"templateMenu\" #menuTrigger=\"matMenuTrigger\"></span>\r\n <button mat-icon-button><mat-icon [bizdocTooltip]=\"'New'|translate\" [disableRipple]=\"true\">add</mat-icon></button>\r\n <mat-menu #templateMenu>\r\n <button mat-menu-item *ngFor=\"let t of s.templates\" (click)=\"create(s, t)\">\r\n <span>\r\n {{t.family}}\r\n {{t.title}}\r\n </span>\r\n </button>\r\n </mat-menu>\r\n </div>\r\n </div>\r\n</section>\r\n", styles: ["section h2{margin:0 8px;position:sticky}section .elements{display:flex;flex-wrap:wrap}section .elements .disabled{opacity:.5;background-color:transparent}section .add-element{border:2px dashed gray;min-width:126px;min-height:126px;border-radius:3px;margin:1px 0 6px;text-align:center}section .add-element button{top:50%;transform:translateY(-50%)}:host ::ng-deep .mat-card{margin:0 6px 6px}:host ::ng-deep .mat-card button{opacity:.1}:host ::ng-deep .mat-card:hover button{opacity:1}\n"], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i7.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i7.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: i8.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { kind: "directive", type: i8.MatCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }, { kind: "directive", type: i8.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "directive", type: i8.MatCardSubtitle, selector: "mat-card-subtitle, [mat-card-subtitle], [matCardSubtitle]" }, { kind: "directive", type: i8.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }, { kind: "directive", type: i9.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "component", type: i10.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i11.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i12.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i13.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i13.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i13.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i14.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "component", type: i15.DesignerItemComponent, selector: "bizdoc-designer-element", inputs: ["template", "model", "designer"] }, { kind: "pipe", type: i16.TranslatePipe, name: "translate" }], animations: [itemAnimation] });
|
141
159
|
ConfigurationDesignerComponent = __decorate([
|
142
160
|
BizDoc({ selector: 'bizdoc-configuration-designer' })
|
143
161
|
], ConfigurationDesignerComponent);
|
144
162
|
export { ConfigurationDesignerComponent };
|
145
163
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: ConfigurationDesignerComponent, decorators: [{
|
146
164
|
type: Component,
|
147
|
-
args: [{ animations: [itemAnimation], template: "<mat-toolbar>\r\n <button mat-icon-button (click)=\"save()\" [disabled]=\"!dirty || loading || saving\" [bizdocTooltip]=\"'Save'|translate\"><mat-icon>save</mat-icon></button>\r\n</mat-toolbar>\r\n<section *ngFor=\"let s of sections\">\r\n <h2 class=\"mat-title\">{{s.type | translate}}</h2>\r\n <div class=\"elements\" cdkDropList cdkDropListOrientation=\"horizontal\" [cdkDropListData]=\"s.elements\" (cdkDropListDropped)=\"drop($event)\">\r\n <mat-card *ngFor=\"let e of s.elements\" [class.disabled]=\"e.disabled\" cdkDrag cdkDragRootElement=\".mat-card-title\">\r\n <!-- @item-->\r\n <mat-card-title>\r\n {{e.title}}\r\n </mat-card-title>\r\n <mat-card-subtitle>\r\n {{e.name}}\r\n </mat-card-subtitle>\r\n <mat-card-content>\r\n <bizdoc-designer-element [model]=\"e\" [template]=\"s.template\" [designer]=\"model\"
|
148
|
-
}], ctorParameters: function () { return [{ type: i1.PanesRouter }, { type: i2.
|
165
|
+
args: [{ animations: [itemAnimation], template: "<mat-toolbar>\r\n <button mat-icon-button (click)=\"save()\" [disabled]=\"!dirty || loading || saving\" [bizdocTooltip]=\"'Save'|translate\"><mat-icon>save</mat-icon></button>\r\n</mat-toolbar>\r\n<section *ngFor=\"let s of sections\">\r\n <h2 class=\"mat-title\">{{s.type | translate}}</h2>\r\n <div class=\"elements\" cdkDropList cdkDropListOrientation=\"horizontal\" [cdkDropListData]=\"s.elements\" (cdkDropListDropped)=\"drop($event)\">\r\n <mat-card *ngFor=\"let e of s.elements\" [class.disabled]=\"e.disabled\" cdkDrag cdkDragRootElement=\".mat-card-title\">\r\n <!-- @item-->\r\n <mat-card-title>\r\n {{e.title}}\r\n </mat-card-title>\r\n <mat-card-subtitle>\r\n {{e.name}}\r\n </mat-card-subtitle>\r\n <mat-card-content>\r\n <bizdoc-designer-element [model]=\"e\" [template]=\"s.template\" [designer]=\"model\"></bizdoc-designer-element>\r\n </mat-card-content>\r\n <mat-card-actions fxLayout=\"row\">\r\n <button mat-icon-button (click)=\"copy(s, e)\" *ngIf=\"!e.copyOf\" [bizdocTooltip]=\"'Copy'|translate\"><mat-icon>file_copy</mat-icon></button>\r\n <button mat-icon-button (click)=\"s.elements.remove(e)\" *ngIf=\"e.draft || e.empty\" [bizdocTooltip]=\"'Discard'|translate\"><mat-icon>delete</mat-icon></button>\r\n <button mat-icon-button (click)=\"toggleDisabled(e)\" [bizdocTooltip]=\"(e.disabled ? 'Enable' : 'Disable')|translate\"><mat-icon>{{e.disabled ? 'visibility' : 'visibility_off'}}</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"edit(e, s)\" [bizdocTooltip]=\"'Settings'|translate\"><mat-icon>settings</mat-icon></button>\r\n </mat-card-actions>\r\n </mat-card>\r\n <div class=\"add-element\" matRipple (click)=\"add(s, menuTrigger, $event)\" *ngIf=\"s.templates?.length\">\r\n <span [matMenuTriggerFor]=\"templateMenu\" #menuTrigger=\"matMenuTrigger\"></span>\r\n <button mat-icon-button><mat-icon [bizdocTooltip]=\"'New'|translate\" [disableRipple]=\"true\">add</mat-icon></button>\r\n <mat-menu #templateMenu>\r\n <button mat-menu-item *ngFor=\"let t of s.templates\" (click)=\"create(s, t)\">\r\n <span>\r\n {{t.family}}\r\n {{t.title}}\r\n </span>\r\n </button>\r\n </mat-menu>\r\n </div>\r\n </div>\r\n</section>\r\n", styles: ["section h2{margin:0 8px;position:sticky}section .elements{display:flex;flex-wrap:wrap}section .elements .disabled{opacity:.5;background-color:transparent}section .add-element{border:2px dashed gray;min-width:126px;min-height:126px;border-radius:3px;margin:1px 0 6px;text-align:center}section .add-element button{top:50%;transform:translateY(-50%)}:host ::ng-deep .mat-card{margin:0 6px 6px}:host ::ng-deep .mat-card button{opacity:.1}:host ::ng-deep .mat-card:hover button{opacity:1}\n"] }]
|
166
|
+
}], ctorParameters: function () { return [{ type: i1.PanesRouter }, { type: i2.TranslateService }, { type: i3.PromptService }, { type: i4.UtilityRef }]; }, propDecorators: { handleKeyboardEvent: [{
|
149
167
|
type: HostListener,
|
150
168
|
args: ['document:keydown', ['$event']]
|
151
169
|
}] } });
|
152
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzaWduZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9hZG1pbi9jb25maWd1cmF0aW9uLWRlc2lnbmVyL2Rlc2lnbmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvYWRtaW4vY29uZmlndXJhdGlvbi1kZXNpZ25lci9kZXNpZ25lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFlLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQy9DLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUkvQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNyRSxPQUFPLEVBQTZDLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7O0FBQ3pGLE1BQU07SUFPTyw4QkFBOEIsU0FBOUIsOEJBQThCO0lBTXpDLFlBQ1UsTUFBbUIsRUFDbkIsR0FBa0IsRUFDbEIsSUFBdUQ7UUFGdkQsV0FBTSxHQUFOLE1BQU0sQ0FBYTtRQUNuQixRQUFHLEdBQUgsR0FBRyxDQUFlO1FBQ2xCLFNBQUksR0FBSixJQUFJLENBQW1EO1FBUmpFLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFDZixXQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ2YsVUFBSyxHQUFHLEtBQUssQ0FBQztJQU11RCxDQUFDO0lB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bmd1bGFyL2Nkay9kcmFnLWRyb3BcIjtcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0TGlzdGVuZXIsIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IGl0ZW1BbmltYXRpb24gfSBmcm9tIFwiLi4vLi4vY29yZS9hbmltYXRpb25zXCI7XHJcbmltcG9ydCB7IFV0aWxpdHlDb21wb25lbnQgfSBmcm9tIFwiLi4vLi4vY29yZS9iYXNlXCI7XHJcbmltcG9ydCB7IE9wZW5Qb2xpY3kgfSBmcm9tIFwiLi4vLi4vY29yZS9jb25maWd1cmF0aW9uXCI7XHJcbmltcG9ydCB7IEJpekRvYyB9IGZyb20gXCIuLi8uLi9jb3JlL2RlY29yYXRvcnNcIjtcclxuaW1wb3J0IHsgY2xlYW51cCB9IGZyb20gXCIuLi8uLi9jb3JlL2Z1bmN0aW9uc1wiO1xyXG5pbXBvcnQgeyBQcm9tcHRTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2NvcmUvcHJvbXB0LnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgUGFuZXNSb3V0ZXIgfSBmcm9tIFwiLi4vLi4vY29yZS9zbG90cy9yb3V0ZXIuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBVdGlsaXR5UmVmIH0gZnJvbSBcIi4uL3V0aWxpdHktcmVmXCI7XHJcbmltcG9ydCB7IERlc2lnbmVySXRlbUNvbXBvbmVudCB9IGZyb20gXCIuL2Rlc2lnbmVyLWVsZW1lbnQuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IEVsZW1lbnRNb2RlbCwgRGVzaWduZXJNb2RlbCwgVGVtcGxhdGVJbmZvLCBwcm9ncmFtTmFtZSB9IGZyb20gXCIuL2Rlc2lnbmVyLmJhc2VcIjtcclxuLyoqICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHRlbXBsYXRlVXJsOiAnZGVzaWduZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWydkZXNpZ25lci5jb21wb25lbnQuc2NzcyddLFxyXG4gIGFuaW1hdGlvbnM6IFtpdGVtQW5pbWF0aW9uXVxyXG59KVxyXG5AQml6RG9jKHsgc2VsZWN0b3I6ICdiaXpkb2MtY29uZmlndXJhdGlvbi1kZXNpZ25lcicgfSlcclxuZXhwb3J0IGNsYXNzIENvbmZpZ3VyYXRpb25EZXNpZ25lckNvbXBvbmVudCBpbXBsZW1lbnRzIFV0aWxpdHlDb21wb25lbnQsIE9uSW5pdCB7XHJcbiAgbG9hZGluZyA9IHRydWU7XHJcbiAgc2F2aW5nID0gZmFsc2U7XHJcbiAgZGlydHkgPSBmYWxzZTtcclxuICBzZWN0aW9uczogU2VjdGlvbltdO1xyXG4gIG1vZGVsOiBEZXNpZ25lck1vZGVsO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfcGFuZXM6IFBhbmVzUm91dGVyLFxyXG4gICAgcHJpdmF0ZSBfcHM6IFByb21wdFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9yZWY6IFV0aWxpdHlSZWY8Ym9vbGVhbiwgRGVzaWduZXJNb2RlbCwgRGVzaWduZXJNb2RlbD4pIHsgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fcmVmLnBvcHVsYXRlKCkuc3Vic2NyaWJlKHIgPT4ge1xyXG4gICAgICB0aGlzLm1vZGVsID0gcjtcclxuICAgICAgdGhpcy5zZWN0aW9ucyA9IFtcclxuICAgICAgICB7IGVsZW1lbnRzOiByLmZvcm1zLCB0eXBlOiAnRm9ybXMnLCB0ZW1wbGF0ZTogJ2Zvcm0tZGVzaWduZXInLCB0ZW1wbGF0ZXM6IHIudEZvcm1zIH0sXHJcbiAgICAgICAgeyBlbGVtZW50czogci5hY3Rpb25zLCB0eXBlOiAnQWN0aW9ucycsIHRlbXBsYXRlOiAnYWN0aW9uLWRlc2lnbmVyJywgdGVtcGxhdGVzOiByLnRBY3Rpb25zIH0sXHJcbiAgICAgICAgeyBlbGVtZW50czogci5yZXBvcnRzLCB0eXBlOiAnUmVwb3J0cycsIHRlbXBsYXRlOiAncmVwb3J0LWRlc2lnbmVyJywgdGVtcGxhdGVzOiByLnRSZXBvcnRzIH0sXHJcbiAgICAgICAgeyBlbGVtZW50czogci53aWRnZXRzLCB0eXBlOiAnV2lkZ2V0cycsIHRlbXBsYXRlOiAnd2lkZ2V0LWRlc2lnbmVyJywgdGVtcGxhdGVzOiByLnRXaWRnZXRzIH0sXHJcbiAgICAgICAgeyBlbGVtZW50czogci52aWV3cywgdHlwZTogJ1ZpZXdzJywgdGVtcGxhdGU6ICd2aWV3LWRlc2lnbmVyJyB9LFxyXG4gICAgICAgIHsgZWxlbWVudHM6IHIuZ3VpZGVzLCB0eXBlOiAnR3VpZGVzJywgdGVtcGxhdGU6ICdndWlkZS1kZXNpZ25lcicsIHRlbXBsYXRlczogW3t9XSB9LFxyXG4gICAgICAgIHsgZWxlbWVudHM6IHIuY3ViZXMsIHR5cGU6ICdDdWJlcycsIHRlbXBsYXRlOiAnY3ViZS1kZXNpZ25lcicsIHRlbXBsYXRlczogci50Q3ViZXMgfSxcclxuICAgICAgICB7IGVsZW1lbnRzOiByLmZvbGRlcnMsIHR5cGU6ICdGb2xkZXJzJywgdGVtcGxhdGU6ICdmb2xkZXItZGVzaWduZXInLCB0ZW1wbGF0ZXM6IFt7fV0gfSxcclxuICAgICAgICB7IGVsZW1lbnRzOiByLnJvbGVzLCB0eXBlOiAnUm9sZXMnLCB0ZW1wbGF0ZTogJ3JvbGUtZGVzaWduZXInLCB0ZW1wbGF0ZXM6IFt7fV0gfSxcclxuICAgICAgICB7IGVsZW1lbnRzOiByLnN0YXRlcywgdHlwZTogJ1N0YXRlcycsIHRlbXBsYXRlOiAnc3RhdGUtZGVzaWduZXInLCB0ZW1wbGF0ZXM6IFt7fV0gfSxcclxuICAgICAgICB7IGVsZW1lbnRzOiByLnV0aWxpdGllcywgdHlwZTogJ1V0aWxpdGllcycsIHRlbXBsYXRlOiAndXRpbGl0eS1kZXNpZ25lcicsIHRlbXBsYXRlczogci50VXRpbGl0aWVzIH0sXHJcbiAgICAgICAgeyBlbGVtZW50czogci50eXBlcywgdHlwZTogJ1R5cGVzJywgdGVtcGxhdGU6ICd0eXBlLWRlc2lnbmVyJywgdGVtcGxhdGVzOiByLnRUeXBlcyB9LFxyXG4gICAgICAgIHsgZWxlbWVudHM6IHIucnVsZXMsIHR5cGU6ICdSdWxlcycsIHRlbXBsYXRlOiAncnVsZS1kZXNpZ25lcicsIHRlbXBsYXRlczogci50UnVsZXMgfSxcclxuICAgICAgXTtcclxuICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgZHJvcChldmVudDogQ2RrRHJhZ0Ryb3A8c3RyaW5nW10+KSB7XHJcbiAgICBtb3ZlSXRlbUluQXJyYXkoZXZlbnQuY29udGFpbmVyLmRhdGEsIGV2ZW50LnByZXZpb3VzSW5kZXgsIGV2ZW50LmN1cnJlbnRJbmRleCk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIEN0cmwtcyBzYXZlXHJcbiAgICogQHBhcmFtIGV2ZW50XHJcbiAgICovXHJcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bicsIFsnJGV2ZW50J10pXHJcbiAgaGFuZGxlS2V5Ym9hcmRFdmVudChldmVudDogS2V5Ym9hcmRFdmVudCkge1xyXG4gICAgaWYgKHRoaXMuZGlydHkgJiYgZXZlbnQuY3RybEtleSAmJiAoZXZlbnQud2hpY2ggPT09IDgzIHx8IGV2ZW50LndoaWNoID09PSAxMTUpKSB7XHJcbiAgICAgIHRoaXMuc2F2ZSgpO1xyXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgfVxyXG4gIH1cclxuICBkaXNjYXJkKHNlY3Rpb246IFNlY3Rpb24sIGVsZW1lbnQ6IEVsZW1lbnRNb2RlbCkge1xyXG4gICAgO1xyXG4gIH1cclxuICBjcmVhdGUoc2VjdGlvbjogU2VjdGlvbikge1xyXG4gICAgaWYgKHNlY3Rpb24udGVtcGxhdGVzLmxlbmd0aCA9PT0gMSkge1xyXG4gICAgICBjb25zdCBbdGVtcGxhdGVdID0gc2VjdGlvbi50ZW1wbGF0ZXMsXHJcbiAgICAgICAgZWxlbWVudCA9IHtcclxuICAgICAgICAgIHR5cGU6IHRlbXBsYXRlLnR5cGUsXHJcbiAgICAgICAgICBuYW1lOiB0ZW1wbGF0ZS50aXRsZSA/IHRoaXMuX3VuaXF1ZU5hbWUocHJvZ3JhbU5hbWUodGVtcGxhdGUudGl0bGUpLCBzZWN0aW9uKSA6IG51bGwsXHJcbiAgICAgICAgICB0aXRsZTogdGVtcGxhdGUudGl0bGUgPyB0aGlzLl91bmlxdWVUaXRsZSh0ZW1wbGF0ZS50aXRsZSwgc2VjdGlvbikgOiBudWxsLFxyXG4gICAgICAgICAgZHJhZnQ6IHRydWUsXHJcbiAgICAgICAgICB0ZW1wbGF0ZTogdGVtcGxhdGUudGVtcGxhdGVcclxuICAgICAgICB9IGFzIEVsZW1lbnRNb2RlbDtcclxuICAgICAgc2VjdGlvbi5lbGVtZW50cy5wdXNoKGVsZW1lbnQpO1xyXG4gICAgICB0aGlzLmVkaXQoZWxlbWVudCwgc2VjdGlvbi50ZW1wbGF0ZSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHsgfVxyXG4gIH1cclxuICBjb3B5KHNlY3Rpb246IFNlY3Rpb24sIGVsZW1lbnQ6IEVsZW1lbnRNb2RlbCkge1xyXG4gICAgc2VjdGlvbi5lbGVtZW50cy5zcGxpY2Uoc2VjdGlvbi5lbGVtZW50cy5pbmRleE9mKGVsZW1lbnQpICsgMSwgMCwgT2JqZWN0LmFzc2lnbihKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGVsZW1lbnQpKSwge1xyXG4gICAgICBjb3B5T2Y6IGVsZW1lbnQubmFtZSxcclxuICAgICAgbmFtZTogdGhpcy5fdW5pcXVlTmFtZShlbGVtZW50Lm5hbWUsIHNlY3Rpb24pLFxyXG4gICAgICB0aXRsZTogdGhpcy5fdW5pcXVlVGl0bGUoZWxlbWVudC50aXRsZSwgc2VjdGlvbiksXHJcbiAgICAgIGRyYWZ0OiB0cnVlXHJcbiAgICB9KSk7XHJcbiAgICB0aGlzLmRpcnR5ID0gdHJ1ZTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfdW5pcXVlTmFtZShuYW1lOiBzdHJpbmcsIHNlY3Rpb246IFNlY3Rpb24pIHtcclxuICAgIGxldCBpID0gbmFtZS5sYXN0SW5kZXhPZignXycpLCBuID0gMCwgdmFsO1xyXG4gICAgZG8ge1xyXG4gICAgICBuKys7XHJcbiAgICAgIHZhbCA9IChpIDwgMCB8fCBpc05hTihwYXJzZUludChuYW1lLnN1YnN0cihpKSkpID8gbmFtZSA6IG5hbWUuc3Vic3RyKDAsIGkgKyAxKSkgKyAnXycgKyBuO1xyXG4gICAgfSB3aGlsZSAoc2VjdGlvbi5lbGVtZW50cy5maW5kKGUgPT4gZS5uYW1lID09PSB2YWwpKTtcclxuICAgIHJldHVybiB2YWw7XHJcbiAgfVxyXG4gIHByaXZhdGUgX3VuaXF1ZVRpdGxlKHRpdGxlOiBzdHJpbmcsIHNlY3Rpb246IFNlY3Rpb24pIHtcclxuICAgIGxldCBpID0gdGl0bGUubGFzdEluZGV4T2YoJyAnKSwgbiA9IDAsIHZhbDtcclxuICAgIGRvIHtcclxuICAgICAgbisrO1xyXG4gICAgICB2YWwgPSAoaSA8IDAgfHwgaXNOYU4ocGFyc2VJbnQodGl0bGUuc3Vic3RyKGkpKSkgPyB0aXRsZSA6IHRpdGxlLnN1YnN0cigwLCBpIC0gMSkpICsgJyAnICsgbjtcclxuICAgIH0gd2hpbGUgKHNlY3Rpb24uZWxlbWVudHMuZmluZChlID0+IGUudGl0bGUgPT09IHZhbCkpO1xyXG4gICAgcmV0dXJuIHZhbDtcclxuICB9XHJcblxyXG4gIGVkaXQoZWxlbWVudDogRWxlbWVudE1vZGVsLCB0ZW1wbGF0ZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9wYW5lcy5uYXZpZ2F0ZShEZXNpZ25lckl0ZW1Db21wb25lbnQsIHtcclxuICAgICAgcG9saWN5OiBPcGVuUG9saWN5LkRpYWxvZyxcclxuICAgICAgdGl0bGU6IGVsZW1lbnQudGl0bGUsXHJcbiAgICAgIGljb246IGVsZW1lbnQuaWNvbixcclxuICAgICAgc3RhdGU6IHtcclxuICAgICAgICBkZXNpZ25lcjogdGhpcy5tb2RlbCxcclxuICAgICAgICBtb2RlbDogZWxlbWVudCxcclxuICAgICAgICBlZGl0TW9kZTogdHJ1ZSxcclxuICAgICAgICB0ZW1wbGF0ZVxyXG4gICAgICB9XHJcbiAgICB9KS50aGVuKGUgPT5cclxuICAgICAgZS5pbnN0YW5jZS5jaGFuZ2Uuc3Vic2NyaWJlKGUgPT4gdGhpcy5kaXJ0eSA9IHRydWUpXHJcbiAgICApO1xyXG4gIH1cclxuICB0b2dnbGVEaXNhYmxlZChlbGVtZW50OiBFbGVtZW50TW9kZWwpIHtcclxuICAgIGVsZW1lbnQuZGlzYWJsZWQgPSAhZWxlbWVudC5kaXNhYmxlZDtcclxuICAgIHRoaXMuZGlydHkgPSB0cnVlO1xyXG4gIH1cclxuICBzYXZlKCkge1xyXG4gICAgdGhpcy5zYXZpbmcgPSB0cnVlO1xyXG4gICAgcmV0dXJuIHRoaXMuX3JlZi5leGVjdXRlKGNsZWFudXAodGhpcy5tb2RlbCkpLnRvUHJvbWlzZSgpLnRoZW4oKCkgPT4ge1xyXG4gICAgICB0aGlzLl9wcy50b2FzdCgnQ2hhbmdlc1NhdmVkJyk7XHJcbiAgICAgIHRoaXMuc2F2aW5nID0gZmFsc2VcclxuICAgIH0sICgpID0+IHtcclxuICAgICAgdGhpcy5fcHMuZXJyb3IoKTtcclxuICAgICAgdGhpcy5zYXZpbmcgPSBmYWxzZVxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbmludGVyZmFjZSBTZWN0aW9uIHtcclxuICB0ZW1wbGF0ZT86IHN0cmluZztcclxuICB0eXBlOiBzdHJpbmc7XHJcbiAgZWxlbWVudHM6IEVsZW1lbnRNb2RlbFtdO1xyXG4gIHRlbXBsYXRlcz86IFRlbXBsYXRlSW5mb1tdO1xyXG59XHJcbiIsIjxtYXQtdG9vbGJhcj5cclxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwic2F2ZSgpXCIgW2Rpc2FibGVkXT1cIiFkaXJ0eSB8fCBsb2FkaW5nIHx8IHNhdmluZ1wiIFtiaXpkb2NUb29sdGlwXT1cIidTYXZlJ3x0cmFuc2xhdGVcIj48bWF0LWljb24+c2F2ZTwvbWF0LWljb24+PC9idXR0b24+XHJcbjwvbWF0LXRvb2xiYXI+XHJcbjxzZWN0aW9uICpuZ0Zvcj1cImxldCBzIG9mIHNlY3Rpb25zXCI+XHJcbiAgPGgyIGNsYXNzPVwibWF0LXRpdGxlXCI+e3tzLnR5cGUgfCB0cmFuc2xhdGV9fTwvaDI+XHJcbiAgPGRpdiBjbGFzcz1cImVsZW1lbnRzXCIgY2RrRHJvcExpc3QgY2RrRHJvcExpc3RPcmllbnRhdGlvbj1cImhvcml6b250YWxcIiBbY2RrRHJvcExpc3REYXRhXT1cInMuZWxlbWVudHNcIiAoY2RrRHJvcExpc3REcm9wcGVkKT1cImRyb3AoJGV2ZW50KVwiPlxyXG4gICAgPG1hdC1jYXJkICpuZ0Zvcj1cImxldCBlIG9mIHMuZWxlbWVudHNcIiBbY2xhc3MuZGlzYWJsZWRdPVwiZS5kaXNhYmxlZFwiIGNka0RyYWcgY2RrRHJhZ1Jvb3RFbGVtZW50PVwiLm1hdC1jYXJkLXRpdGxlXCI+XHJcbiAgICAgIDwhLS0gQGl0ZW0tLT5cclxuICAgICAgPG1hdC1jYXJkLXRpdGxlPlxyXG4gICAgICAgIHt7ZS50aXRsZX19XHJcbiAgICAgIDwvbWF0LWNhcmQtdGl0bGU+XHJcbiAgICAgIDxtYXQtY2FyZC1zdWJ0aXRsZT5cclxuICAgICAgICB7e2UubmFtZX19XHJcbiAgICAgIDwvbWF0LWNhcmQtc3VidGl0bGU+XHJcbiAgICAgIDxtYXQtY2FyZC1jb250ZW50PlxyXG4gICAgICAgIDxiaXpkb2MtZGVzaWduZXItZWxlbWVudCBbbW9kZWxdPVwiZVwiIFt0ZW1wbGF0ZV09XCJzLnRlbXBsYXRlXCIgW2Rlc2lnbmVyXT1cIm1vZGVsXCIgKGNoYW5nZSk9XCJkaXJ0eSA9IHRydWVcIj48L2JpemRvYy1kZXNpZ25lci1lbGVtZW50PlxyXG4gICAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XHJcbiAgICAgIDxtYXQtY2FyZC1hY3Rpb25zIGZ4TGF5b3V0PVwicm93XCI+XHJcbiAgICAgICAgPCEtLTxuZy1jb250YWluZXIgKm5nSWY9XCJlLnNlY3Rpb24gIT09ICd1dGlsaXRpZXMnIHx8IGUubmFtZSAhPT0gbW9kZWwudXRpbGl0eU5hbWVcIj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj4tLT5cclxuICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJjb3B5KHMsIGUpXCIgKm5nSWY9XCIhZS5jb3B5T2ZcIiBbYml6ZG9jVG9vbHRpcF09XCInQ29weSd8dHJhbnNsYXRlXCI+PG1hdC1pY29uPmZpbGVfY29weTwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwicy5lbGVtZW50cy5yZW1vdmUoZSlcIiAqbmdJZj1cImUuZHJhZnQgfHwgZS5lbXB0eVwiIFtiaXpkb2NUb29sdGlwXT1cIidEaXNjYXJkJ3x0cmFuc2xhdGVcIj48bWF0LWljb24+ZGVsZXRlPC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJ0b2dnbGVEaXNhYmxlZChlKVwiIFtiaXpkb2NUb29sdGlwXT1cIihlLmRpc2FibGVkID8gJ0VuYWJsZScgOiAnRGlzYWJsZScpfHRyYW5zbGF0ZVwiPjxtYXQtaWNvbj57e2UuZGlzYWJsZWQgPyAndmlzaWJpbGl0eScgOiAndmlzaWJpbGl0eV9vZmYnfX08L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZGl2aWRlclwiPjwvc3Bhbj5cclxuICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiZWRpdChlLCBzLnRlbXBsYXRlKVwiIFtiaXpkb2NUb29sdGlwXT1cIidTZXR0aW5ncyd8dHJhbnNsYXRlXCI+PG1hdC1pY29uPnNldHRpbmdzPC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgICAgPC9tYXQtY2FyZC1hY3Rpb25zPlxyXG4gICAgPC9tYXQtY2FyZD5cclxuICAgIDxkaXYgY2xhc3M9XCJjb21wb3NlLWVsZW1lbnRcIiAqbmdJZj1cInMudGVtcGxhdGVzPy5sZW5ndGhcIiBtYXRSaXBwbGU+XHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cImNyZWF0ZShzKVwiIFtiaXpkb2NUb29sdGlwXT1cIidOZXcnfHRyYW5zbGF0ZVwiIGRpc2FibGVSaXBwbGU9XCJ0cnVlXCI+PG1hdC1pY29uPmFkZDwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9zZWN0aW9uPlxyXG4iXX0=
|
170
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzaWduZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9hZG1pbi9jb25maWd1cmF0aW9uLWRlc2lnbmVyL2Rlc2lnbmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvYWRtaW4vY29uZmlndXJhdGlvbi1kZXNpZ25lci9kZXNpZ25lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFlLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRWhFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQy9DLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUsvQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNyRSxPQUFPLEVBQTZDLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDekYsTUFBTTtJQU9PLDhCQUE4QixTQUE5Qiw4QkFBOEI7SUFNekMsWUFDVSxNQUFtQixFQUNuQixVQUE0QixFQUM1QixHQUFrQixFQUNsQixJQUF1RDtRQUh2RCxXQUFNLEdBQU4sTUFBTSxDQUFhO1FBQ25CLGVBQVUsR0FBVixVQUFVLENBQWtCO1FBQzVCLFFBQUcsR0FBSCxHQUFHLENBQWU7UUFDbEIsU0FBSSxHQUFKLElBQUksQ0FBbUQ7UUFUakUsWUFBTyxHQUFHLElBQUksQ0FBQztRQUNmLFdBQU0sR0FBRyxLQUFLLENB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QUFDLEtBQUssRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFBO1FBQ3JCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsU0FBUyxLQUFLLENBQUMsR0FBRyxVQUE0QjtZQUM1QyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDMUQsQ0FBQztJQUNILENBQUM7Q0FDRixDQUFBOzJIQXhJWSw4QkFBOEI7K0dBQTlCLDhCQUE4QixnSUNyQjNDLHMxRUF1Q0EsMDFJRHJCYyxDQUFDLGFBQWEsQ0FBQztBQUdoQiw4QkFBOEI7SUFEMUMsTUFBTSxDQUFDLEVBQUUsUUFBUSxFQUFFLCtCQUErQixFQUFFLENBQUM7R0FDekMsOEJBQThCLENBd0kxQztTQXhJWSw4QkFBOEI7MkZBQTlCLDhCQUE4QjtrQkFOMUMsU0FBUztpQ0FHSSxDQUFDLGFBQWEsQ0FBQztzTEEwRDNCLG1CQUFtQjtzQkFEbEIsWUFBWTt1QkFBQyxrQkFBa0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENka0RyYWdEcm9wLCBtb3ZlSXRlbUluQXJyYXkgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL2RyYWctZHJvcFwiO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEhvc3RMaXN0ZW5lciwgT25Jbml0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgTWF0TWVudVRyaWdnZXIgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudVwiO1xyXG5pbXBvcnQgeyBpdGVtQW5pbWF0aW9uIH0gZnJvbSBcIi4uLy4uL2NvcmUvYW5pbWF0aW9uc1wiO1xyXG5pbXBvcnQgeyBVdGlsaXR5Q29tcG9uZW50IH0gZnJvbSBcIi4uLy4uL2NvcmUvYmFzZVwiO1xyXG5pbXBvcnQgeyBPcGVuUG9saWN5IH0gZnJvbSBcIi4uLy4uL2NvcmUvY29uZmlndXJhdGlvblwiO1xyXG5pbXBvcnQgeyBCaXpEb2MgfSBmcm9tIFwiLi4vLi4vY29yZS9kZWNvcmF0b3JzXCI7XHJcbmltcG9ydCB7IGNsZWFudXAgfSBmcm9tIFwiLi4vLi4vY29yZS9mdW5jdGlvbnNcIjtcclxuaW1wb3J0IHsgUHJvbXB0U2VydmljZSB9IGZyb20gXCIuLi8uLi9jb3JlL3Byb21wdC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFBhbmVzUm91dGVyIH0gZnJvbSBcIi4uLy4uL2NvcmUvc2xvdHMvcm91dGVyLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gXCIuLi8uLi9jb3JlL3RyYW5zbGF0ZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFV0aWxpdHlSZWYgfSBmcm9tIFwiLi4vdXRpbGl0eS1yZWZcIjtcclxuaW1wb3J0IHsgRGVzaWduZXJJdGVtQ29tcG9uZW50IH0gZnJvbSBcIi4vZGVzaWduZXItZWxlbWVudC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgRWxlbWVudE1vZGVsLCBEZXNpZ25lck1vZGVsLCBUZW1wbGF0ZUluZm8sIHByb2dyYW1OYW1lIH0gZnJvbSBcIi4vZGVzaWduZXIuYmFzZVwiO1xyXG4vKiogKi9cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGVVcmw6ICdkZXNpZ25lci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJ2Rlc2lnbmVyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgYW5pbWF0aW9uczogW2l0ZW1BbmltYXRpb25dXHJcbn0pXHJcbkBCaXpEb2MoeyBzZWxlY3RvcjogJ2JpemRvYy1jb25maWd1cmF0aW9uLWRlc2lnbmVyJyB9KVxyXG5leHBvcnQgY2xhc3MgQ29uZmlndXJhdGlvbkRlc2lnbmVyQ29tcG9uZW50IGltcGxlbWVudHMgVXRpbGl0eUNvbXBvbmVudCwgT25Jbml0IHtcclxuICBsb2FkaW5nID0gdHJ1ZTtcclxuICBzYXZpbmcgPSBmYWxzZTtcclxuICBkaXJ0eSA9IGZhbHNlO1xyXG4gIHNlY3Rpb25zOiBTZWN0aW9uW107XHJcbiAgbW9kZWw6IERlc2lnbmVyTW9kZWw7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9wYW5lczogUGFuZXNSb3V0ZXIsXHJcbiAgICBwcml2YXRlIF90cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9wczogUHJvbXB0U2VydmljZSxcclxuICAgIHByaXZhdGUgX3JlZjogVXRpbGl0eVJlZjxib29sZWFuLCBEZXNpZ25lck1vZGVsLCBEZXNpZ25lck1vZGVsPikgeyB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9yZWYucG9wdWxhdGUoKS5zdWJzY3JpYmUociA9PiB7XHJcbiAgICAgIHRoaXMubW9kZWwgPSByO1xyXG4gICAgICB0aGlzLnNlY3Rpb25zID0gW1xyXG4gICAgICAgIHsgZWxlbWVudHM6IHIuZm9ybXMsIHR5cGU6ICdGb3JtcycsIHRlbXBsYXRlOiAnZm9ybS1kZXNpZ25lcicsIHRlbXBsYXRlczogci50Rm9ybXMgfSxcclxuICAgICAgICB7IGVsZW1lbnRzOiByLmFjdGlvbnMsIHR5cGU6ICdBY3Rpb25zJywgdGVtcGxhdGU6ICdhY3Rpb24tZGVzaWduZXInLCB0ZW1wbGF0ZXM6IHIudEFjdGlvbnMgfSxcclxuICAgICAgICB7IGVsZW1lbnRzOiByLnJlcG9ydHMsIHR5cGU6ICdSZXBvcnRzJywgdGVtcGxhdGU6ICdyZXBvcnQtZGVzaWduZXInLCB0ZW1wbGF0ZXM6IHIudFJlcG9ydHMgfSxcclxuICAgICAgICB7IGVsZW1lbnRzOiByLndpZGdldHMsIHR5cGU6ICdXaWRnZXRzJywgdGVtcGxhdGU6ICd3aWRnZXQtZGVzaWduZXInLCB0ZW1wbGF0ZXM6IHIudFdpZGdldHMgfSxcclxuICAgICAgICB7IGVsZW1lbnRzOiByLnZpZXdzLCB0eXBlOiAnVmlld3MnLCB0ZW1wbGF0ZTogJ3ZpZXctZGVzaWduZXInLCB0ZW1wbGF0ZXM6IHIudFZpZXdzIH0sXHJcbiAgICAgICAgeyBlbGVtZW50czogci5ndWlkZXMsIHR5cGU6ICdHdWlkZXMnLCB0ZW1wbGF0ZTogJ2d1aWRlLWRlc2lnbmVyJywgdGVtcGxhdGVzOiBbeyB0aXRsZTogJ0d1aWRlJyB9XSB9LFxyXG4gICAgICAgIHsgZWxlbWVudHM6IHIuY3ViZXMsIHR5cGU6ICdDdWJlcycsIHRlbXBsYXRlOiAnY3ViZS1kZXNpZ25lcicsIHRlbXBsYXRlczogci50Q3ViZXMgfSxcclxuICAgICAgICB7IGVsZW1lbnRzOiByLmZvbGRlcnMsIHR5cGU6ICdGb2xkZXJzJywgdGVtcGxhdGU6ICdmb2xkZXItZGVzaWduZXInLCB0ZW1wbGF0ZXM6IFt7IHRpdGxlOiAnRm9sZGVyJyB9XSB9LFxyXG4gICAgICAgIHsgZWxlbWVudHM6IHIucm9sZXMsIHR5cGU6ICdSb2xlcycsIHRlbXBsYXRlOiAncm9sZS1kZXNpZ25lcicsIHRlbXBsYXRlczogW3sgdGl0bGU6ICdSb2xlJyB9XSB9LFxyXG4gICAgICAgIHsgZWxlbWVudHM6IHIuc3RhdGVzLCB0eXBlOiAnU3RhdGVzJywgdGVtcGxhdGU6ICdzdGF0ZS1kZXNpZ25lcicsIHRlbXBsYXRlczogW3sgdGl0bGU6ICdTdGF0ZScgfV0gfSxcclxuICAgICAgICB7IGVsZW1lbnRzOiByLnV0aWxpdGllcywgdHlwZTogJ1V0aWxpdGllcycsIHRlbXBsYXRlOiAndXRpbGl0eS1kZXNpZ25lcicsIHRlbXBsYXRlczogci50VXRpbGl0aWVzIH0sXHJcbiAgICAgICAgeyBlbGVtZW50czogci50eXBlcywgdHlwZTogJ1R5cGVzJywgdGVtcGxhdGU6ICd0eXBlLWRlc2lnbmVyJywgdGVtcGxhdGVzOiByLnRUeXBlcyB9LFxyXG4gICAgICAgIHsgZWxlbWVudHM6IHIucnVsZXMsIHR5cGU6ICdSdWxlcycsIHRlbXBsYXRlOiAncnVsZS1kZXNpZ25lcicsIHRlbXBsYXRlczogci50UnVsZXMgfSxcclxuICAgICAgXTtcclxuICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgZHJvcChldmVudDogQ2RrRHJhZ0Ryb3A8RWxlbWVudE1vZGVsW10+KSB7XHJcbiAgICBjb25zdCByYW5nZSA9IGV2ZW50LmNvbnRhaW5lci5kYXRhLnNsaWNlKFxyXG4gICAgICBNYXRoLm1pbihldmVudC5wcmV2aW91c0luZGV4LCBldmVudC5jdXJyZW50SW5kZXgpLFxyXG4gICAgICBNYXRoLm1heChldmVudC5wcmV2aW91c0luZGV4LCBldmVudC5jdXJyZW50SW5kZXgpXHJcbiAgICApLCBmaWxlID0gcmFuZ2VbMF0uY29uZmlndXJhdGlvbkZpbGU7XHJcbiAgICBpZlxyXG4gICAgICAvLyBhY3Jvc3MgZmlsZXNcclxuICAgICAgKHJhbmdlLnNsaWNlKDEpLnNvbWUoZSA9PiBlLmNvbmZpZ3VyYXRpb25GaWxlICE9PSBmaWxlKSkge1xyXG4gICAgICAvLyBzdGFydCBvcmRpbmFsXHJcbiAgICAgIGxldCBpID0gZXZlbnQuY29udGFpbmVyLmRhdGFbZXZlbnQuY3VycmVudEluZGV4XS5vcmRpbmFsIHx8IC0xO1xyXG4gICAgICAvLyBzZXQgb3JkaW5hbCB0byBpdGVtcyBpbiByYW5nZVxyXG4gICAgICByYW5nZS5mb3JFYWNoKGUgPT4gZS5vcmRpbmFsID0gaSsrKTtcclxuICAgICAgLy8gaW5jcmVhc2Ugb3RoZXIgaGlnaGVyIHRoYW4gbGFzdCBpbiByYW5nZVxyXG4gICAgICBldmVudC5jb250YWluZXIuZGF0YS5maWx0ZXIoZSA9PiBlLm9yZGluYWwgJiYgZS5vcmRpbmFsID4gaSkuZm9yRWFjaChlID0+IGUub3JkaW5hbCArPSAxKTtcclxuICAgIH0gZWxzZSAvLyBuYXRpdmUgb3JkZXIgaW4gY29sbGVjdGlvblxyXG4gICAgICByYW5nZS5mb3JFYWNoKGUgPT4gZS5vcmRpbmFsID0gbnVsbCk7XHJcbiAgICBtb3ZlSXRlbUluQXJyYXkoZXZlbnQuY29udGFpbmVyLmRhdGEsIGV2ZW50LnByZXZpb3VzSW5kZXgsIGV2ZW50LmN1cnJlbnRJbmRleCk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIEN0cmwtcyBzYXZlXHJcbiAgICogQHBhcmFtIGV2ZW50XHJcbiAgICovXHJcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bicsIFsnJGV2ZW50J10pXHJcbiAgaGFuZGxlS2V5Ym9hcmRFdmVudChldmVudDogS2V5Ym9hcmRFdmVudCkge1xyXG4gICAgaWYgKHRoaXMuZGlydHkgJiYgZXZlbnQuY3RybEtleSAmJiAoZXZlbnQud2hpY2ggPT09IDgzIHx8IGV2ZW50LndoaWNoID09PSAxMTUpKSB7XHJcbiAgICAgIHRoaXMuc2F2ZSgpO1xyXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgfVxyXG4gIH1cclxuICBkaXNjYXJkKHNlY3Rpb246IFNlY3Rpb24sIGVsZW1lbnQ6IEVsZW1lbnRNb2RlbCkge1xyXG4gIH1cclxuICBwcml2YXRlIF9pbnNlcnQoc2VjdGlvbjogU2VjdGlvbiwgZWxlbWVudDogRWxlbWVudE1vZGVsLCBpbmRleDogbnVtYmVyKSB7XHJcbiAgICBsZXQgaSA9IGVsZW1lbnQubmFtZS5sYXN0SW5kZXhPZignXycpLFxyXG4gICAgICBqID0gZWxlbWVudC50aXRsZS5sYXN0SW5kZXhPZignICcpLFxyXG4gICAgICBuID0gMCwgeyBuYW1lLCB0aXRsZSB9ID0gZWxlbWVudDtcclxuICAgIHdoaWxlIChzZWN0aW9uLmVsZW1lbnRzLmZpbmQoZSA9PiBlLm5hbWUgPT09IG5hbWUgfHwgZS50aXRsZSA9PT0gdGl0bGUpKSB7XHJcbiAgICAgIG4rKztcclxuICAgICAgbmFtZSA9IChpIDwgMCB8fCBpc05hTihwYXJzZUludChuYW1lLnN1YnN0cihpKSkpID8gbmFtZSA6IG5hbWUuc3Vic3RyKDAsIGkgKyAxKSkgKyAnXycgKyBuO1xyXG4gICAgICB0aXRsZSA9IChqIDwgMCB8fCBpc05hTihwYXJzZUludCh0aXRsZS5zdWJzdHIoaikpKSA/IHRpdGxlIDogdGl0bGUuc3Vic3RyKDAsIGogLSAxKSkgKyAnICcgKyBuO1xyXG4gICAgfVxyXG4gICAgZWxlbWVudC5uYW1lID0gbmFtZSwgZWxlbWVudC50aXRsZSA9IHRpdGxlO1xyXG4gICAgdGhpcy5lZGl0KGVsZW1lbnQsIHNlY3Rpb24sIHRydWUpLnRoZW4oKCkgPT4ge1xyXG4gICAgICBzZWN0aW9uLmVsZW1lbnRzLnNwbGljZShpbmRleCwgMCwgZWxlbWVudCk7XHJcbiAgICAgIHRoaXMuZGlydHkgPSB0cnVlO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIGFkZChzZWN0aW9uOiBTZWN0aW9uLCBtZW51OiBNYXRNZW51VHJpZ2dlciwgZXZ0OiBFdmVudCkge1xyXG4gICAgaWYgKHNlY3Rpb24udGVtcGxhdGVzLmxlbmd0aCA+IDEpXHJcbiAgICAgIG1lbnUub3Blbk1lbnUoKTtcclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLmNyZWF0ZShzZWN0aW9uLCBzZWN0aW9uLnRlbXBsYXRlc1swXSk7XHJcbiAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgfVxyXG4gIH1cclxuICBjcmVhdGUoc2VjdGlvbjogU2VjdGlvbiwgdGVtcGxhdGU6IFRlbXBsYXRlSW5mbykge1xyXG4gICAgdGhpcy5faW5zZXJ0KHNlY3Rpb24sIHtcclxuICAgICAgLi4udGVtcGxhdGUsXHJcbiAgICAgIG5hbWU6IHByb2dyYW1OYW1lKHRlbXBsYXRlLnRpdGxlKSxcclxuICAgICAgZHJhZnQ6IHRydWUsXHJcbiAgICB9IGFzIEVsZW1lbnRNb2RlbCwgc2VjdGlvbi5lbGVtZW50cy5sZW5ndGgpO1xyXG4gIH1cclxuICBjb3B5KHNlY3Rpb246IFNlY3Rpb24sIGVsZW1lbnQ6IEVsZW1lbnRNb2RlbCkge1xyXG4gICAgY29uc3QgY2xvbmUgPSBPYmplY3QuYXNzaWduKEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoZWxlbWVudCkpLCB7XHJcbiAgICAgIGNvcHlPZjogZWxlbWVudC5uYW1lLFxyXG4gICAgICBkcmFmdDogdHJ1ZVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLl9pbnNlcnQoc2VjdGlvbiwgY2xvbmUsIHNlY3Rpb24uZWxlbWVudHMuaW5kZXhPZihlbGVtZW50KSk7XHJcbiAgfVxyXG4gIGVkaXQoZWxlbWVudDogRWxlbWVudE1vZGVsLCBzZWN0aW9uOiBTZWN0aW9uLCBpc05ldz86IGJvb2xlYW4pIHtcclxuICAgIHJldHVybiB0aGlzLl9wYW5lcy5uYXZpZ2F0ZShEZXNpZ25lckl0ZW1Db21wb25lbnQsIHtcclxuICAgICAgcG9saWN5OiBPcGVuUG9saWN5LkRpYWxvZyxcclxuICAgICAgZ3JvdXA6IHRoaXMuX3RyYW5zbGF0ZS5nZXQoc2VjdGlvbi50eXBlKSxcclxuICAgICAgLy90aXRsZTogZWxlbWVudC50aXRsZSxcclxuICAgICAgLy9pY29uOiBlbGVtZW50Lmljb24sXHJcbiAgICAgIHN0YXRlOiB7XHJcbiAgICAgICAgZGVzaWduZXI6IHRoaXMubW9kZWwsXHJcbiAgICAgICAgdGVtcGxhdGU6IHNlY3Rpb24udGVtcGxhdGUsXHJcbiAgICAgICAgbW9kZWw6IGVsZW1lbnQsXHJcbiAgICAgICAgZWRpdE1vZGU6IHRydWUsXHJcbiAgICAgICAgaXNOZXdcclxuICAgICAgfVxyXG4gICAgfSkudGhlbihlID0+XHJcbiAgICAgIGUuaW5zdGFuY2UuY2hhbmdlLnN1YnNjcmliZShlID0+IHRoaXMuZGlydHkgPSB0cnVlKVxyXG4gICAgKTtcclxuICB9XHJcbiAgdG9nZ2xlRGlzYWJsZWQoZWxlbWVudDogRWxlbWVudE1vZGVsKSB7XHJcbiAgICBlbGVtZW50LmRpc2FibGVkID0gIWVsZW1lbnQuZGlzYWJsZWQ7XHJcbiAgICB0aGlzLmRpcnR5ID0gdHJ1ZTtcclxuICB9XHJcbiAgc2F2ZSgpIHtcclxuICAgIHRoaXMuc2F2aW5nID0gdHJ1ZTtcclxuICAgIGNvbnN0IHsgYWN0aW9ucywgY3ViZXMsIGZvbGRlcnMsIGZvcm1zLCBndWlkZXMsIHJlcG9ydHMsIHJvbGVzLCBydWxlcywgc3RhdGVzLCB0eXBlcywgdXRpbGl0aWVzLCB2aWV3cywgd2lkZ2V0cyB9ID0gdGhpcy5tb2RlbDtcclxuICAgIHJldHVybiB0aGlzLl9yZWYuZXhlY3V0ZShjbGVhbnVwKHsgYWN0aW9ucywgY3ViZXMsIGZvbGRlcnMsIGZvcm1zLCBndWlkZXMsIHJlcG9ydHMsIHJvbGVzLCBydWxlcywgc3RhdGVzLCB0eXBlcywgdXRpbGl0aWVzLCB2aWV3cywgd2lkZ2V0cyB9KSkudG9Qcm9taXNlKCkudGhlbigoKSA9PiB7XHJcbiAgICAgIHRoaXMuX3BzLnRvYXN0KCdDaGFuZ2VzU2F2ZWQnKTtcclxuICAgICAgYXBwbHkoYWN0aW9ucywgY3ViZXMsIGZvbGRlcnMsIGZvcm1zLCBndWlkZXMsIHJlcG9ydHMsIHJvbGVzLCBydWxlcywgc3RhdGVzLCB0eXBlcywgdXRpbGl0aWVzLCB2aWV3cywgd2lkZ2V0cyk7XHJcbiAgICAgIHRoaXMuc2F2aW5nID0gZmFsc2VcclxuICAgIH0sICgpID0+IHtcclxuICAgICAgdGhpcy5fcHMuZXJyb3IoKTtcclxuICAgICAgdGhpcy5zYXZpbmcgPSBmYWxzZVxyXG4gICAgfSk7XHJcbiAgICBmdW5jdGlvbiBhcHBseSguLi5jb2xsZWN0aW9uOiBFbGVtZW50TW9kZWxbXVtdKSB7XHJcbiAgICAgIGNvbGxlY3Rpb24uZm9yRWFjaChzID0+IHMuZm9yRWFjaChlID0+IGRlbGV0ZSBlLmRyYWZ0KSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbmludGVyZmFjZSBTZWN0aW9uIHtcclxuICB0ZW1wbGF0ZT86IHN0cmluZztcclxuICB0eXBlOiBzdHJpbmc7XHJcbiAgZWxlbWVudHM6IEVsZW1lbnRNb2RlbFtdO1xyXG4gIHRlbXBsYXRlczogVGVtcGxhdGVJbmZvW107XHJcbn1cclxuIiwiPG1hdC10b29sYmFyPlxyXG4gIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJzYXZlKClcIiBbZGlzYWJsZWRdPVwiIWRpcnR5IHx8IGxvYWRpbmcgfHwgc2F2aW5nXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ1NhdmUnfHRyYW5zbGF0ZVwiPjxtYXQtaWNvbj5zYXZlPC9tYXQtaWNvbj48L2J1dHRvbj5cclxuPC9tYXQtdG9vbGJhcj5cclxuPHNlY3Rpb24gKm5nRm9yPVwibGV0IHMgb2Ygc2VjdGlvbnNcIj5cclxuICA8aDIgY2xhc3M9XCJtYXQtdGl0bGVcIj57e3MudHlwZSB8IHRyYW5zbGF0ZX19PC9oMj5cclxuICA8ZGl2IGNsYXNzPVwiZWxlbWVudHNcIiBjZGtEcm9wTGlzdCBjZGtEcm9wTGlzdE9yaWVudGF0aW9uPVwiaG9yaXpvbnRhbFwiIFtjZGtEcm9wTGlzdERhdGFdPVwicy5lbGVtZW50c1wiIChjZGtEcm9wTGlzdERyb3BwZWQpPVwiZHJvcCgkZXZlbnQpXCI+XHJcbiAgICA8bWF0LWNhcmQgKm5nRm9yPVwibGV0IGUgb2Ygcy5lbGVtZW50c1wiIFtjbGFzcy5kaXNhYmxlZF09XCJlLmRpc2FibGVkXCIgY2RrRHJhZyBjZGtEcmFnUm9vdEVsZW1lbnQ9XCIubWF0LWNhcmQtdGl0bGVcIj5cclxuICAgICAgPCEtLSBAaXRlbS0tPlxyXG4gICAgICA8bWF0LWNhcmQtdGl0bGU+XHJcbiAgICAgICAge3tlLnRpdGxlfX1cclxuICAgICAgPC9tYXQtY2FyZC10aXRsZT5cclxuICAgICAgPG1hdC1jYXJkLXN1YnRpdGxlPlxyXG4gICAgICAgIHt7ZS5uYW1lfX1cclxuICAgICAgPC9tYXQtY2FyZC1zdWJ0aXRsZT5cclxuICAgICAgPG1hdC1jYXJkLWNvbnRlbnQ+XHJcbiAgICAgICAgPGJpemRvYy1kZXNpZ25lci1lbGVtZW50IFttb2RlbF09XCJlXCIgW3RlbXBsYXRlXT1cInMudGVtcGxhdGVcIiBbZGVzaWduZXJdPVwibW9kZWxcIj48L2JpemRvYy1kZXNpZ25lci1lbGVtZW50PlxyXG4gICAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XHJcbiAgICAgIDxtYXQtY2FyZC1hY3Rpb25zIGZ4TGF5b3V0PVwicm93XCI+XHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cImNvcHkocywgZSlcIiAqbmdJZj1cIiFlLmNvcHlPZlwiIFtiaXpkb2NUb29sdGlwXT1cIidDb3B5J3x0cmFuc2xhdGVcIj48bWF0LWljb24+ZmlsZV9jb3B5PC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwicy5lbGVtZW50cy5yZW1vdmUoZSlcIiAqbmdJZj1cImUuZHJhZnQgfHwgZS5lbXB0eVwiIFtiaXpkb2NUb29sdGlwXT1cIidEaXNjYXJkJ3x0cmFuc2xhdGVcIj48bWF0LWljb24+ZGVsZXRlPC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwidG9nZ2xlRGlzYWJsZWQoZSlcIiBbYml6ZG9jVG9vbHRpcF09XCIoZS5kaXNhYmxlZCA/ICdFbmFibGUnIDogJ0Rpc2FibGUnKXx0cmFuc2xhdGVcIj48bWF0LWljb24+e3tlLmRpc2FibGVkID8gJ3Zpc2liaWxpdHknIDogJ3Zpc2liaWxpdHlfb2ZmJ319PC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cImRpdmlkZXJcIj48L3NwYW4+XHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cImVkaXQoZSwgcylcIiBbYml6ZG9jVG9vbHRpcF09XCInU2V0dGluZ3MnfHRyYW5zbGF0ZVwiPjxtYXQtaWNvbj5zZXR0aW5nczwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgICAgIDwvbWF0LWNhcmQtYWN0aW9ucz5cclxuICAgIDwvbWF0LWNhcmQ+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYWRkLWVsZW1lbnRcIiBtYXRSaXBwbGUgKGNsaWNrKT1cImFkZChzLCBtZW51VHJpZ2dlciwgJGV2ZW50KVwiICpuZ0lmPVwicy50ZW1wbGF0ZXM/Lmxlbmd0aFwiPlxyXG4gICAgICA8c3BhbiBbbWF0TWVudVRyaWdnZXJGb3JdPVwidGVtcGxhdGVNZW51XCIgI21lbnVUcmlnZ2VyPVwibWF0TWVudVRyaWdnZXJcIj48L3NwYW4+XHJcbiAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uPjxtYXQtaWNvbiBbYml6ZG9jVG9vbHRpcF09XCInTmV3J3x0cmFuc2xhdGVcIiBbZGlzYWJsZVJpcHBsZV09XCJ0cnVlXCI+YWRkPC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgICAgPG1hdC1tZW51ICN0ZW1wbGF0ZU1lbnU+XHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtICpuZ0Zvcj1cImxldCB0IG9mIHMudGVtcGxhdGVzXCIgKGNsaWNrKT1cImNyZWF0ZShzLCB0KVwiPlxyXG4gICAgICAgICAgPHNwYW4+XHJcbiAgICAgICAgICAgIHt7dC5mYW1pbHl9fVxyXG4gICAgICAgICAgICB7e3QudGl0bGV9fVxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8L21hdC1tZW51PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvc2VjdGlvbj5cclxuIl19
|
@@ -5,19 +5,21 @@ import { DesignerTypeElementComponent } from "../designer.base";
|
|
5
5
|
import * as i0 from "@angular/core";
|
6
6
|
import * as i1 from "@angular/common";
|
7
7
|
import * as i2 from "@angular/forms";
|
8
|
-
import * as i3 from "
|
9
|
-
import * as i4 from "@angular/material/input";
|
10
|
-
import * as i5 from "../../../core/pipes/translate.pipe";
|
8
|
+
import * as i3 from "../../../core/layout/layout.component";
|
11
9
|
let ActionDesignComponent = class ActionDesignComponent extends DesignerTypeElementComponent {
|
10
|
+
constructor() {
|
11
|
+
super(...arguments);
|
12
|
+
this.form = this._fb.group({});
|
13
|
+
}
|
12
14
|
};
|
13
15
|
ActionDesignComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: ActionDesignComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
14
|
-
ActionDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: ActionDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<
|
16
|
+
ActionDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: ActionDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\" *ngIf=\"editMode; else info\">\r\n <bizdoc-layout *ngIf=\"model.arguments\" [fields]=\"model.arguments\" [model]=\"model.options\" (modelChange)=\"setOptions($event)\"></bizdoc-layout>\r\n</form>\r\n<ng-template #info>\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i3.LayoutComponent, selector: "bizdoc-layout", inputs: ["fields", "model", "dirty", "params", "valid"], outputs: ["modelChange", "dirtyChange", "validChange"] }] });
|
15
17
|
ActionDesignComponent = __decorate([
|
16
18
|
BizDoc({ selector: 'action-designer' })
|
17
19
|
], ActionDesignComponent);
|
18
20
|
export { ActionDesignComponent };
|
19
21
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: ActionDesignComponent, decorators: [{
|
20
22
|
type: Component,
|
21
|
-
args: [{ template: "<
|
23
|
+
args: [{ template: "<form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\" *ngIf=\"editMode; else info\">\r\n <bizdoc-layout *ngIf=\"model.arguments\" [fields]=\"model.arguments\" [model]=\"model.options\" (modelChange)=\"setOptions($event)\"></bizdoc-layout>\r\n</form>\r\n<ng-template #info>\r\n</ng-template>\r\n" }]
|
22
24
|
}] });
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvYWRtaW4vY29uZmlndXJhdGlvbi1kZXNpZ25lci9lbGVtZW50cy9hY3Rpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9hZG1pbi9jb25maWd1cmF0aW9uLWRlc2lnbmVyL2VsZW1lbnRzL2FjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDbEQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7O0lBSW5ELHFCQUFxQixTQUFyQixxQkFBc0IsU0FBUSw0QkFBNEI7OztRQUNyRSxTQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7S0FDM0I7Q0FBQSxDQUFBO2tIQUZZLHFCQUFxQjtzR0FBckIscUJBQXFCLDJFQ1BsQyxvVEFLQTtBREVhLHFCQUFxQjtJQURqQyxNQUFNLENBQUMsRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQztHQUMzQixxQkFBcUIsQ0FFakM7U0FGWSxxQkFBcUI7MkZBQXJCLHFCQUFxQjtrQkFGakMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBCaXpEb2MgfSBmcm9tIFwiLi4vLi4vLi4vY29yZS9kZWNvcmF0b3JzXCI7XHJcbmltcG9ydCB7IERlc2lnbmVyVHlwZUVsZW1lbnRDb21wb25lbnQgfSBmcm9tIFwiLi4vZGVzaWduZXIuYmFzZVwiO1xyXG5cclxuQENvbXBvbmVudCh7IHRlbXBsYXRlVXJsOiAnYWN0aW9uLmNvbXBvbmVudC5odG1sJyB9KVxyXG5AQml6RG9jKHsgc2VsZWN0b3I6ICdhY3Rpb24tZGVzaWduZXInIH0pXHJcbmV4cG9ydCBjbGFzcyBBY3Rpb25EZXNpZ25Db21wb25lbnQgZXh0ZW5kcyBEZXNpZ25lclR5cGVFbGVtZW50Q29tcG9uZW50IHtcclxuICBmb3JtID0gdGhpcy5fZmIuZ3JvdXAoe30pO1xyXG59XHJcbiIsIjxmb3JtIGF1dG9jb21wbGV0ZT1cIm9mZlwiIFtmb3JtR3JvdXBdPVwiZm9ybVwiIGNsYXNzPVwiY29sdW1uXCIgKm5nSWY9XCJlZGl0TW9kZTsgZWxzZSBpbmZvXCI+XHJcbiAgPGJpemRvYy1sYXlvdXQgKm5nSWY9XCJtb2RlbC5hcmd1bWVudHNcIiBbZmllbGRzXT1cIm1vZGVsLmFyZ3VtZW50c1wiIFttb2RlbF09XCJtb2RlbC5vcHRpb25zXCIgKG1vZGVsQ2hhbmdlKT1cInNldE9wdGlvbnMoJGV2ZW50KVwiPjwvYml6ZG9jLWxheW91dD5cclxuPC9mb3JtPlxyXG48bmctdGVtcGxhdGUgI2luZm8+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
|