@simpleangularcontrols/sac-common 10.0.0-rc.11 → 10.0.0-rc.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/simpleangularcontrols-sac-common.umd.js +1425 -1088
- package/bundles/simpleangularcontrols-sac-common.umd.js.map +1 -1
- package/bundles/simpleangularcontrols-sac-common.umd.min.js +1 -1
- package/bundles/simpleangularcontrols-sac-common.umd.min.js.map +1 -1
- package/common/basedatetimecontrol.d.ts +99 -13
- package/common/basemodelcontrol.d.ts +33 -29
- package/controls/checkbox/radiobutton.d.ts +61 -26
- package/controls/contextmenu/contextmenu.d.ts +26 -19
- package/controls/contextmenu/contextmenu.interface.d.ts +3 -0
- package/controls/contextmenu/contextmenuitem.d.ts +5 -0
- package/controls/contextmenu/contextmenuitembutton.d.ts +21 -20
- package/controls/datetime/date.d.ts +28 -27
- package/controls/datetime/datetime.d.ts +27 -27
- package/controls/datetime/time.d.ts +26 -26
- package/controls/dialog/dialog.d.ts +31 -43
- package/controls/layout/formlayout.d.ts +4 -0
- package/controls/list/buildvaluestring.d.ts +6 -0
- package/controls/list/dropdown.d.ts +9 -51
- package/controls/list/dropdownoptions.d.ts +38 -0
- package/controls/list/dropdownoptions.ngfactory.d.ts +1 -0
- package/controls/static/formcontainer.d.ts +11 -3
- package/controls/tooltip/tooltip.d.ts +33 -51
- package/controls/treeview/treeview.d.ts +87 -121
- package/esm2015/common/basedatetimecontrol.js +178 -30
- package/esm2015/common/basemodelcontrol.js +71 -56
- package/esm2015/controls/checkbox/radiobutton.js +94 -45
- package/esm2015/controls/contextmenu/contextmenu.interface.js +1 -0
- package/esm2015/controls/contextmenu/contextmenu.interface.ngfactory.js +7 -0
- package/esm2015/controls/contextmenu/contextmenu.js +22 -23
- package/esm2015/controls/contextmenu/contextmenuitem.js +13 -2
- package/esm2015/controls/contextmenu/contextmenuitembutton.js +34 -25
- package/esm2015/controls/datetime/date.js +43 -41
- package/esm2015/controls/datetime/datetime.js +42 -41
- package/esm2015/controls/datetime/time.js +42 -41
- package/esm2015/controls/dialog/dialog.js +41 -83
- package/esm2015/controls/layout/formlayout.js +7 -6
- package/esm2015/controls/list/buildvaluestring.js +18 -0
- package/esm2015/controls/{treeview/ngtreeitemaction.ngfactory.js → list/buildvaluestring.ngfactory.js} +1 -1
- package/esm2015/controls/list/dropdown.js +16 -114
- package/esm2015/controls/list/dropdownoptions.js +72 -0
- package/esm2015/controls/{treeview/treeviewchild.ngfactory.js → list/dropdownoptions.ngfactory.js} +1 -1
- package/esm2015/controls/static/formcontainer.js +16 -6
- package/esm2015/controls/tooltip/tooltip.js +60 -250
- package/esm2015/controls/treeview/treeview.js +232 -247
- package/esm2015/interfaces/ISacConfigurationService.js +1 -1
- package/esm2015/interfaces/ISacIconService.js +1 -1
- package/esm2015/interfaces/treeviewaction.interface.js +1 -0
- package/esm2015/interfaces/treeviewaction.interface.ngfactory.js +7 -0
- package/esm2015/public_api.js +6 -6
- package/esm2015/services/sac-configuration.service.js +7 -5
- package/esm2015/services/sac-icon.service.js +25 -1
- package/esm2015/utilities/enums.js +5 -1
- package/esm2015/utilities/popuphelper.js +343 -0
- package/esm2015/utilities/popuphelper.ngfactory.js +7 -0
- package/esm2015/validation/equals.validator.js +14 -0
- package/esm2015/validation/equals.validator.ngfactory.js +7 -0
- package/esm2015/validation/notequals.validator.js +14 -0
- package/esm2015/validation/notequals.validator.ngfactory.js +7 -0
- package/esm2015/validation/validation.class.js +30 -6
- package/fesm2015/simpleangularcontrols-sac-common.js +1398 -1075
- package/fesm2015/simpleangularcontrols-sac-common.js.map +1 -1
- package/interfaces/ISacConfigurationService.d.ts +4 -0
- package/interfaces/ISacIconService.d.ts +16 -0
- package/interfaces/treeviewaction.interface.d.ts +4 -0
- package/interfaces/treeviewaction.interface.ngfactory.d.ts +1 -0
- package/package.json +1 -1
- package/public_api.d.ts +5 -5
- package/services/sac-configuration.service.d.ts +8 -0
- package/services/sac-icon.service.d.ts +33 -1
- package/simpleangularcontrols-sac-common-10.0.0-rc.13.tgz +0 -0
- package/simpleangularcontrols-sac-common.metadata.json +1 -1
- package/utilities/enums.d.ts +3 -1
- package/utilities/popuphelper.d.ts +83 -0
- package/utilities/popuphelper.ngfactory.d.ts +1 -0
- package/validation/equals.validator.d.ts +2 -0
- package/validation/equals.validator.ngfactory.d.ts +1 -0
- package/validation/notequals.validator.d.ts +2 -0
- package/validation/notequals.validator.ngfactory.d.ts +1 -0
- package/validation/validation.class.d.ts +19 -0
- package/controls/treeview/ngtreeitemaction.d.ts +0 -40
- package/controls/treeview/treeviewchild.d.ts +0 -12
- package/esm2015/controls/treeview/ngtreeitemaction.js +0 -60
- package/esm2015/controls/treeview/treeviewchild.js +0 -18
- package/simpleangularcontrols-sac-common-10.0.0-rc.11.tgz +0 -0
- /package/controls/{treeview/ngtreeitemaction.ngfactory.d.ts → contextmenu/contextmenu.interface.ngfactory.d.ts} +0 -0
- /package/controls/{treeview/treeviewchild.ngfactory.d.ts → list/buildvaluestring.ngfactory.d.ts} +0 -0
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
import { ChangeDetectorRef, ElementRef, EventEmitter, HostListener, Input, Output, ViewChild,
|
|
1
|
+
import { ChangeDetectorRef, Directive, ElementRef, EventEmitter, HostListener, Input, Output, ViewChild, } from '@angular/core';
|
|
2
2
|
/**
|
|
3
3
|
* Base Komponente für Dialog
|
|
4
4
|
*/
|
|
5
5
|
export class SacDialogCommon {
|
|
6
|
-
// #endregion
|
|
7
|
-
// #region Constructor
|
|
8
6
|
/**
|
|
9
7
|
* Konstruktor
|
|
10
8
|
* Inject des Formulars
|
|
@@ -21,11 +19,6 @@ export class SacDialogCommon {
|
|
|
21
19
|
* Die akzeptabel keywordssind: 'small', 'large', 'extralarge', 'medium', ''.
|
|
22
20
|
*/
|
|
23
21
|
this._size = '';
|
|
24
|
-
// #region Properties
|
|
25
|
-
/**
|
|
26
|
-
* Input Property. Erhält den Title des Dialog. Default Value: 'Dialog'.
|
|
27
|
-
*/
|
|
28
|
-
this.title = 'Dialog';
|
|
29
22
|
/**
|
|
30
23
|
* Das input property akzeptiert boolen Wert. Definiert ob das Dialog darf durch ESC geschlossen werden. Default ist true.
|
|
31
24
|
*/
|
|
@@ -34,26 +27,22 @@ export class SacDialogCommon {
|
|
|
34
27
|
* Das input property akzeptiert boolen Wert. Definiert ob das Dialog darf durch click außerhalb des Dialog-Fenster geschlossen werden. Default ist true.
|
|
35
28
|
*/
|
|
36
29
|
this.backdrop = true;
|
|
37
|
-
/**
|
|
38
|
-
* Input Property. Erhält den Namen des Dialog - benutzt für das ID. Default Value: ''
|
|
39
|
-
*/
|
|
40
|
-
this.name = '';
|
|
41
30
|
/**
|
|
42
31
|
* Steuert ob im Header des Dialogs ein Button angezeigt wird.
|
|
43
32
|
*/
|
|
44
33
|
this.closebutton = true;
|
|
45
34
|
/**
|
|
46
|
-
*
|
|
35
|
+
* Output Emitter. Wird aufgerufen, wenn das Wert des _show property geändert ist - damait das Dialog geöfnet/geschlossen wird.
|
|
47
36
|
*/
|
|
48
|
-
this.
|
|
37
|
+
this.isvisibleChange = new EventEmitter();
|
|
49
38
|
/**
|
|
50
|
-
*
|
|
39
|
+
* Input Property. Erhält den Namen des Dialog - benutzt für das ID. Default Value: ''
|
|
51
40
|
*/
|
|
52
|
-
this.
|
|
41
|
+
this.name = '';
|
|
53
42
|
/**
|
|
54
|
-
*
|
|
43
|
+
* Input Property. Erhält den Title des Dialog. Default Value: 'Dialog'.
|
|
55
44
|
*/
|
|
56
|
-
this.
|
|
45
|
+
this.title = 'Dialog';
|
|
57
46
|
}
|
|
58
47
|
/**
|
|
59
48
|
* Implementation als Setter, da mit ngIf das Element bei Unsichtbarkeit UNDEFINED ist.
|
|
@@ -62,14 +51,10 @@ export class SacDialogCommon {
|
|
|
62
51
|
this.dialogElement = content;
|
|
63
52
|
}
|
|
64
53
|
/**
|
|
65
|
-
*
|
|
66
|
-
* case insensitive.
|
|
67
|
-
* Die akzeptabel default-size-Klassen sind: 'small', 'large', 'extralarge', 'medium', ''.
|
|
68
|
-
* Wenn size ist NICHT gesetzt (oder 'medium' oder ''), default ist in medium size: max-width 500px.
|
|
54
|
+
* Getter. Ergibt das boolen Wert des _show property
|
|
69
55
|
*/
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
this._size = v;
|
|
56
|
+
get isvisible() {
|
|
57
|
+
return this._show;
|
|
73
58
|
}
|
|
74
59
|
/**
|
|
75
60
|
* Setter. Erhält das boolen Wert des _show property
|
|
@@ -90,77 +75,40 @@ export class SacDialogCommon {
|
|
|
90
75
|
this._show = v;
|
|
91
76
|
}
|
|
92
77
|
/**
|
|
93
|
-
*
|
|
78
|
+
* Das Input akzeptiert sowohl default size-css-Klassen als auch custom Klassen.
|
|
79
|
+
* case insensitive.
|
|
80
|
+
* Die akzeptabel default-size-Klassen sind: 'small', 'large', 'extralarge', 'medium', ''.
|
|
81
|
+
* Wenn size ist NICHT gesetzt (oder 'medium' oder ''), default ist in medium size: max-width 500px.
|
|
94
82
|
*/
|
|
95
|
-
|
|
96
|
-
|
|
83
|
+
set size(v) {
|
|
84
|
+
this._size = v;
|
|
97
85
|
}
|
|
98
86
|
/**
|
|
99
|
-
*
|
|
87
|
+
* Getter for ChangeDetector.
|
|
100
88
|
*/
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
switch (this._size) {
|
|
104
|
-
case 'small':
|
|
105
|
-
result = true;
|
|
106
|
-
break;
|
|
107
|
-
case 'medium':
|
|
108
|
-
result = true;
|
|
109
|
-
break;
|
|
110
|
-
case 'large':
|
|
111
|
-
result = true;
|
|
112
|
-
break;
|
|
113
|
-
case 'extralarge':
|
|
114
|
-
result = true;
|
|
115
|
-
break;
|
|
116
|
-
case '':
|
|
117
|
-
result = true;
|
|
118
|
-
break;
|
|
119
|
-
}
|
|
120
|
-
return result;
|
|
89
|
+
get ChangeDetector() {
|
|
90
|
+
return this.cdRef;
|
|
121
91
|
}
|
|
122
|
-
// #endregion
|
|
123
92
|
/**
|
|
124
|
-
* Methode
|
|
93
|
+
* Die Methode setz den Wert des _show property auf false
|
|
125
94
|
*/
|
|
126
|
-
|
|
95
|
+
hide() {
|
|
127
96
|
if (this.hasSetBodyTag && document.body.classList.contains('modal-open')) {
|
|
128
97
|
document.body.classList.remove('modal-open');
|
|
129
98
|
this.hasSetBodyTag = false;
|
|
130
99
|
}
|
|
131
|
-
|
|
132
|
-
// #region Methods
|
|
133
|
-
/**
|
|
134
|
-
* Die Methode setz den Wert des _show property auf true
|
|
135
|
-
*/
|
|
136
|
-
show() {
|
|
137
|
-
this._show = true;
|
|
138
|
-
if (!this.hasSetBodyTag &&
|
|
139
|
-
!document.body.classList.contains('modal-open')) {
|
|
140
|
-
document.body.classList.add('modal-open');
|
|
141
|
-
this.hasSetBodyTag = true;
|
|
142
|
-
}
|
|
100
|
+
this._show = false;
|
|
143
101
|
this.isvisibleChange.emit(this._show);
|
|
144
102
|
}
|
|
145
103
|
/**
|
|
146
|
-
*
|
|
104
|
+
* Methode wenn Componente entfernt wird
|
|
147
105
|
*/
|
|
148
|
-
|
|
106
|
+
ngOnDestroy() {
|
|
149
107
|
if (this.hasSetBodyTag && document.body.classList.contains('modal-open')) {
|
|
150
108
|
document.body.classList.remove('modal-open');
|
|
151
109
|
this.hasSetBodyTag = false;
|
|
152
110
|
}
|
|
153
|
-
this._show = false;
|
|
154
|
-
this.isvisibleChange.emit(this._show);
|
|
155
111
|
}
|
|
156
|
-
/**
|
|
157
|
-
* Getter for ChangeDetector.
|
|
158
|
-
*/
|
|
159
|
-
get ChangeDetector() {
|
|
160
|
-
return this.cdRef;
|
|
161
|
-
}
|
|
162
|
-
// #endregion
|
|
163
|
-
// #region Host Actions
|
|
164
112
|
/**
|
|
165
113
|
* Allow Close by Click outside Dialog
|
|
166
114
|
*/
|
|
@@ -182,6 +130,18 @@ export class SacDialogCommon {
|
|
|
182
130
|
this.hide();
|
|
183
131
|
}
|
|
184
132
|
}
|
|
133
|
+
/**
|
|
134
|
+
* Die Methode setz den Wert des _show property auf true
|
|
135
|
+
*/
|
|
136
|
+
show() {
|
|
137
|
+
this._show = true;
|
|
138
|
+
if (!this.hasSetBodyTag &&
|
|
139
|
+
!document.body.classList.contains('modal-open')) {
|
|
140
|
+
document.body.classList.add('modal-open');
|
|
141
|
+
this.hasSetBodyTag = true;
|
|
142
|
+
}
|
|
143
|
+
this.isvisibleChange.emit(this._show);
|
|
144
|
+
}
|
|
185
145
|
}
|
|
186
146
|
SacDialogCommon.decorators = [
|
|
187
147
|
{ type: Directive }
|
|
@@ -190,18 +150,16 @@ SacDialogCommon.ctorParameters = () => [
|
|
|
190
150
|
{ type: ChangeDetectorRef }
|
|
191
151
|
];
|
|
192
152
|
SacDialogCommon.propDecorators = {
|
|
193
|
-
dialogElementSetter: [{ type: ViewChild, args: ['dialog', { static: false },] }],
|
|
194
|
-
title: [{ type: Input }],
|
|
195
153
|
allowesc: [{ type: Input }],
|
|
196
154
|
backdrop: [{ type: Input }],
|
|
197
|
-
name: [{ type: Input }],
|
|
198
155
|
closebutton: [{ type: Input }],
|
|
199
|
-
width: [{ type: Input }],
|
|
200
|
-
height: [{ type: Input }],
|
|
201
|
-
size: [{ type: Input }],
|
|
202
156
|
isvisibleChange: [{ type: Output }],
|
|
157
|
+
name: [{ type: Input }],
|
|
158
|
+
title: [{ type: Input }],
|
|
159
|
+
dialogElementSetter: [{ type: ViewChild, args: ['dialog', { static: false },] }],
|
|
203
160
|
isvisible: [{ type: Input }],
|
|
161
|
+
size: [{ type: Input }],
|
|
204
162
|
onClick: [{ type: HostListener, args: ['click', ['$event'],] }],
|
|
205
163
|
onKeydownHandler: [{ type: HostListener, args: ['document:keydown', ['$event'],] }]
|
|
206
164
|
};
|
|
207
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmpzIiwic291cmNlUm9vdCI6IkM6L1Byb2pla3RlL3NpbXBsZWFuZ3VsYXJjb250cm9scy1uZzEwL2NoLmpuZXR3b3JrLnNhYy1jb250cm9scy9wcm9qZWN0cy9zYWMtY29tbW9uL3NyYy8iLCJzb3VyY2VzIjpbImNvbnRyb2xzL2RpYWxvZy9kaWFsb2cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixVQUFVLEVBQ1YsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxTQUFTLEdBRVYsTUFBTSxlQUFlLENBQUM7QUFFdkI7O0dBRUc7QUFFSCxNQUFNLE9BQU8sZUFBZTtJQXFKMUIsYUFBYTtJQUViLHNCQUFzQjtJQUV0Qjs7O09BR0c7SUFDSCxZQUFvQixLQUF3QjtRQUF4QixVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQXZKcEMsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFVOUI7O1dBRUc7UUFDSCxVQUFLLEdBQVksS0FBSyxDQUFDO1FBRXZCOzs7V0FHRztRQUNILFVBQUssR0FBVyxFQUFFLENBQUM7UUFFbkIscUJBQXFCO1FBRXJCOztXQUVHO1FBRUksVUFBSyxHQUFXLFFBQVEsQ0FBQztRQUVoQzs7V0FFRztRQUVJLGFBQVEsR0FBWSxJQUFJLENBQUM7UUFFaEM7O1dBRUc7UUFFSSxhQUFRLEdBQVksSUFBSSxDQUFDO1FBRWhDOztXQUVHO1FBRUksU0FBSSxHQUFXLEVBQUUsQ0FBQztRQUV6Qjs7V0FFRztRQUVJLGdCQUFXLEdBQVksSUFBSSxDQUFDO1FBRW5DOztXQUVHO1FBRUksVUFBSyxHQUFXLElBQUksQ0FBQztRQUU1Qjs7V0FFRztRQUVJLFdBQU0sR0FBVyxJQUFJLENBQUM7UUFjN0I7O1dBRUc7UUFFSCxvQkFBZSxHQUEwQixJQUFJLFlBQVksRUFBVyxDQUFDO0lBc0V0QixDQUFDO0lBckpoRDs7T0FFRztJQUNILElBQ0ksbUJBQW1CLENBQUMsT0FB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S0FBSzs4QkFTTCxNQUFNO3dCQU1OLEtBQUs7c0JBNkhMLFlBQVksU0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7K0JBZ0JoQyxZQUFZLFNBQUMsa0JBQWtCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEhvc3RMaXN0ZW5lcixcclxuICBJbnB1dCxcclxuICBPdXRwdXQsXHJcbiAgVmlld0NoaWxkLFxyXG4gIERpcmVjdGl2ZSxcclxuICBPbkRlc3Ryb3ksXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG4vKipcclxuICogQmFzZSBLb21wb25lbnRlIGbDvHIgRGlhbG9nXHJcbiAqL1xyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGNsYXNzIFNhY0RpYWxvZ0NvbW1vbiBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgLyoqXHJcbiAgICogTmFtZSBkZXMgQ29udGFpbmVycyBmw7xyIGRlbiBEaWFsb2dcclxuICAgKi9cclxuICBkaWFsb2dFbGVtZW50OiBFbGVtZW50UmVmO1xyXG5cclxuICBwcml2YXRlIGhhc1NldEJvZHlUYWcgPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogSW1wbGVtZW50YXRpb24gYWxzIFNldHRlciwgZGEgbWl0IG5nSWYgZGFzIEVsZW1lbnQgYmVpIFVuc2ljaHRiYXJrZWl0IFVOREVGSU5FRCBpc3QuXHJcbiAgICovXHJcbiAgQFZpZXdDaGlsZCgnZGlhbG9nJywgeyBzdGF0aWM6IGZhbHNlIH0pXHJcbiAgc2V0IGRpYWxvZ0VsZW1lbnRTZXR0ZXIoY29udGVudDogRWxlbWVudFJlZikge1xyXG4gICAgdGhpcy5kaWFsb2dFbGVtZW50ID0gY29udGVudDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEJvb2xlYW4gUHJvcGVydHkgZGVmaW5pZXJ0IG9iIGRhcyBEaWFsb2cgYW5nZXplaWd0IHdpcmRcclxuICAgKi9cclxuICBfc2hvdzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBEYXMgcHJvcGVydHkgZW50aGllbHQgKHdlbm4gw7xiZXJoYXVwdCBnZXNldHp0KSBlbnR3ZWRlciBrZXl3b3JkcyBmw7xyIHNpemluZyBvZGVyIGN1c3RvbSBjc3MgS2xhc3Nlbi5cclxuICAgKiBEaWUgYWt6ZXB0YWJlbCBrZXl3b3Jkc3NpbmQ6ICdzbWFsbCcsICdsYXJnZScsICdleHRyYWxhcmdlJywgJ21lZGl1bScsICcnLlxyXG4gICAqL1xyXG4gIF9zaXplOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgLy8gI3JlZ2lvbiBQcm9wZXJ0aWVzXHJcblxyXG4gIC8qKlxyXG4gICAqIElucHV0IFByb3BlcnR5LiBFcmjDpGx0IGRlbiBUaXRsZSBkZXMgRGlhbG9nLiBEZWZhdWx0IFZhbHVlOiAnRGlhbG9nJy5cclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB0aXRsZTogc3RyaW5nID0gJ0RpYWxvZyc7XHJcblxyXG4gIC8qKlxyXG4gICAqIERhcyBpbnB1dCBwcm9wZXJ0eSBha3plcHRpZXJ0IGJvb2xlbiBXZXJ0LiBEZWZpbmllcnQgb2IgZGFzIERpYWxvZyBkYXJmIGR1cmNoIEVTQyBnZXNjaGxvc3NlbiB3ZXJkZW4uIERlZmF1bHQgaXN0IHRydWUuXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYWxsb3dlc2M6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAvKipcclxuICAgKiBEYXMgaW5wdXQgcHJvcGVydHkgYWt6ZXB0aWVydCBib29sZW4gV2VydC4gRGVmaW5pZXJ0IG9iIGRhcyBEaWFsb2cgZGFyZiBkdXJjaCBjbGljayBhdcOfZXJoYWxiIGRlcyBEaWFsb2ctRmVuc3RlciBnZXNjaGxvc3NlbiB3ZXJkZW4uIERlZmF1bHQgaXN0IHRydWUuXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYmFja2Ryb3A6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAvKipcclxuICAgKiBJbnB1dCBQcm9wZXJ0eS4gRXJow6RsdCBkZW4gTmFtZW4gZGVzIERpYWxvZyAtIGJlbnV0enQgZsO8ciBkYXMgSUQuIERlZmF1bHQgVmFsdWU6ICcnXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgbmFtZTogc3RyaW5nID0gJyc7XHJcblxyXG4gIC8qKlxyXG4gICAqIFN0ZXVlcnQgb2IgaW0gSGVhZGVyIGRlcyBEaWFsb2dzIGVpbiBCdXR0b24gYW5nZXplaWd0IHdpcmQuXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgY2xvc2VidXR0b246IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAvKipcclxuICAgKiBJbnB1dCBQcm9wZXJ0eS4gRXJow6RsdCBkaWUgQnJlaXRlIGRlcyBEaWFsb2dcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB3aWR0aDogc3RyaW5nID0gbnVsbDtcclxuXHJcbiAgLyoqXHJcbiAgICogRGVmaW5pZXJ0IGVpbmUgZmVzdGUgSMO2aGUgYmVpbSBEaWFsb2cuXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgaGVpZ2h0OiBzdHJpbmcgPSBudWxsO1xyXG5cclxuICAvKipcclxuICAgKiBEYXMgSW5wdXQgYWt6ZXB0aWVydCBzb3dvaGwgZGVmYXVsdCBzaXplLWNzcy1LbGFzc2VuIGFscyBhdWNoIGN1c3RvbSBLbGFzc2VuLlxyXG4gICAqIGNhc2UgaW5zZW5zaXRpdmUuXHJcbiAgICogRGllIGFremVwdGFiZWwgZGVmYXVsdC1zaXplLUtsYXNzZW4gc2luZDogJ3NtYWxsJywgJ2xhcmdlJywgJ2V4dHJhbGFyZ2UnLCAnbWVkaXVtJywgJycuXHJcbiAgICogV2VubiBzaXplIGlzdCBOSUNIVCBnZXNldHp0IChvZGVyICdtZWRpdW0nIG9kZXIgJycpLCBkZWZhdWx0IGlzdCBpbiBtZWRpdW0gc2l6ZTogbWF4LXdpZHRoIDUwMHB4LlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IHNpemUodjogc3RyaW5nKSB7XHJcbiAgICB2ID0gdi50b0xvd2VyQ2FzZSgpO1xyXG4gICAgdGhpcy5fc2l6ZSA9IHY7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBPdXRwdXQgRW1pdHRlci4gV2lyZCBhdWZnZXJ1ZmVuLCB3ZW5uIGRhcyBXZXJ0IGRlcyBfc2hvdyBwcm9wZXJ0eSBnZcOkbmRlcnQgaXN0IC0gZGFtYWl0IGRhcyBEaWFsb2cgZ2XDtmZuZXQvZ2VzY2hsb3NzZW4gd2lyZC5cclxuICAgKi9cclxuICBAT3V0cHV0KClcclxuICBpc3Zpc2libGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgLyoqXHJcbiAgICogU2V0dGVyLiBFcmjDpGx0IGRhcyBib29sZW4gV2VydCBkZXMgX3Nob3cgcHJvcGVydHlcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHNldCBpc3Zpc2libGUodjogYm9vbGVhbikge1xyXG4gICAgaWYgKFxyXG4gICAgICB2ICYmXHJcbiAgICAgICF0aGlzLmhhc1NldEJvZHlUYWcgJiZcclxuICAgICAgIWRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmNvbnRhaW5zKCdtb2RhbC1vcGVuJylcclxuICAgICkge1xyXG4gICAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5hZGQoJ21vZGFsLW9wZW4nKTtcclxuICAgICAgdGhpcy5oYXNTZXRCb2R5VGFnID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoXHJcbiAgICAgICF2ICYmXHJcbiAgICAgIHRoaXMuaGFzU2V0Qm9keVRhZyAmJlxyXG4gICAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5jb250YWlucygnbW9kYWwtb3BlbicpXHJcbiAgICApIHtcclxuICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QucmVtb3ZlKCdtb2RhbC1vcGVuJyk7XHJcbiAgICAgIHRoaXMuaGFzU2V0Qm9keVRhZyA9IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuX3Nob3cgPSB2O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0dGVyLiBFcmdpYnQgZGFzIGJvb2xlbiBXZXJ0IGRlcyBfc2hvdyBwcm9wZXJ0eVxyXG4gICAqL1xyXG4gIGdldCBpc3Zpc2libGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fc2hvdztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERpZSBGdW5rdGlvbiBwcsO8ZnQgb2IgZXMgZWluIGRlZmF1bHQgY3NzIGNsYXNzZSBmw7xyIFNpemUgZGVzIERpYWxvZyBkdXJjaCBkZW4gc2l6ZSBJbnB1dCBnZXNldHp0IHd1cmRlLlxyXG4gICAqL1xyXG4gIGlzc2V0ZGVmYXVsdHNpemUoKTogYm9vbGVhbiB7XHJcbiAgICBsZXQgcmVzdWx0OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgc3dpdGNoICh0aGlzLl9zaXplKSB7XHJcbiAgICAgIGNhc2UgJ3NtYWxsJzpcclxuICAgICAgICByZXN1bHQgPSB0cnVlO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdtZWRpdW0nOlxyXG4gICAgICAgIHJlc3VsdCA9IHRydWU7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2xhcmdlJzpcclxuICAgICAgICByZXN1bHQgPSB0cnVlO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdleHRyYWxhcmdlJzpcclxuICAgICAgICByZXN1bHQgPSB0cnVlO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICcnOlxyXG4gICAgICAgIHJlc3VsdCA9IHRydWU7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcblxyXG4gIC8vICNlbmRyZWdpb25cclxuXHJcbiAgLy8gI3JlZ2lvbiBDb25zdHJ1Y3RvclxyXG5cclxuICAvKipcclxuICAgKiBLb25zdHJ1a3RvclxyXG4gICAqIEluamVjdCBkZXMgRm9ybXVsYXJzXHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XHJcblxyXG4gIC8vICNlbmRyZWdpb25cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0aG9kZSB3ZW5uIENvbXBvbmVudGUgZW50ZmVybnQgd2lyZFxyXG4gICAqL1xyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuaGFzU2V0Qm9keVRhZyAmJiBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5jb250YWlucygnbW9kYWwtb3BlbicpKSB7XHJcbiAgICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnJlbW92ZSgnbW9kYWwtb3BlbicpO1xyXG4gICAgICB0aGlzLmhhc1NldEJvZHlUYWcgPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vICNyZWdpb24gTWV0aG9kc1xyXG5cclxuICAvKipcclxuICAgKiBEaWUgTWV0aG9kZSBzZXR6IGRlbiBXZXJ0IGRlcyBfc2hvdyBwcm9wZXJ0eSBhdWYgdHJ1ZVxyXG4gICAqL1xyXG4gIHB1YmxpYyBzaG93KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fc2hvdyA9IHRydWU7XHJcblxyXG4gICAgaWYgKFxyXG4gICAgICAhdGhpcy5oYXNTZXRCb2R5VGFnICYmXHJcbiAgICAgICFkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5jb250YWlucygnbW9kYWwtb3BlbicpXHJcbiAgICApIHtcclxuICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKCdtb2RhbC1vcGVuJyk7XHJcbiAgICAgIHRoaXMuaGFzU2V0Qm9keVRhZyA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5pc3Zpc2libGVDaGFuZ2UuZW1pdCh0aGlzLl9zaG93KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERpZSBNZXRob2RlIHNldHogZGVuIFdlcnQgZGVzIF9zaG93IHByb3BlcnR5IGF1ZiBmYWxzZVxyXG4gICAqL1xyXG4gIHB1YmxpYyBoaWRlKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuaGFzU2V0Qm9keVRhZyAmJiBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5jb250YWlucygnbW9kYWwtb3BlbicpKSB7XHJcbiAgICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnJlbW92ZSgnbW9kYWwtb3BlbicpO1xyXG4gICAgICB0aGlzLmhhc1NldEJvZHlUYWcgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLl9zaG93ID0gZmFsc2U7XHJcbiAgICB0aGlzLmlzdmlzaWJsZUNoYW5nZS5lbWl0KHRoaXMuX3Nob3cpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0dGVyIGZvciBDaGFuZ2VEZXRlY3Rvci5cclxuICAgKi9cclxuICBwcm90ZWN0ZWQgZ2V0IENoYW5nZURldGVjdG9yKCk6IENoYW5nZURldGVjdG9yUmVmIHtcclxuICAgIHJldHVybiB0aGlzLmNkUmVmO1xyXG4gIH1cclxuXHJcbiAgLy8gI2VuZHJlZ2lvblxyXG5cclxuICAvLyAjcmVnaW9uIEhvc3QgQWN0aW9uc1xyXG5cclxuICAvKipcclxuICAgKiBBbGxvdyBDbG9zZSBieSBDbGljayBvdXRzaWRlIERpYWxvZ1xyXG4gICAqL1xyXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcclxuICBvbkNsaWNrKGV2ZW50OiBhbnkpOiB2b2lkIHtcclxuICAgIGlmIChcclxuICAgICAgdGhpcy5hbGxvd2VzYyA9PT0gZmFsc2UgfHxcclxuICAgICAgKHRoaXMuZGlhbG9nRWxlbWVudCAhPT0gbnVsbCAmJlxyXG4gICAgICAgIHRoaXMuZGlhbG9nRWxlbWVudCAhPT0gdW5kZWZpbmVkICYmXHJcbiAgICAgICAgZXZlbnQudGFyZ2V0ICE9PSB0aGlzLmRpYWxvZ0VsZW1lbnQubmF0aXZlRWxlbWVudClcclxuICAgICkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLmhpZGUoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFsbG93IENsb3NlIGJ5IEVTQ1xyXG4gICAqL1xyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleWRvd24nLCBbJyRldmVudCddKVxyXG4gIG9uS2V5ZG93bkhhbmRsZXIoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcclxuICAgIGNvbnN0IEVTQ0FQRV9LRVlDT0RFID0gJ0VzY2FwZSc7XHJcblxyXG4gICAgaWYgKHRoaXMuYWxsb3dlc2MgPT09IHRydWUgJiYgZXZlbnQua2V5ID09PSBFU0NBUEVfS0VZQ09ERSkge1xyXG4gICAgICB0aGlzLmhpZGUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vICNlbmRyZWdpb25cclxufVxyXG4iXX0=
|
|
165
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmpzIiwic291cmNlUm9vdCI6IkM6L1Byb2pla3RlL3NpbXBsZWFuZ3VsYXJjb250cm9scy1uZzEwL2NoLmpuZXR3b3JrLnNhYy1jb250cm9scy9wcm9qZWN0cy9zYWMtY29tbW9uL3NyYy8iLCJzb3VyY2VzIjpbImNvbnRyb2xzL2RpYWxvZy9kaWFsb2cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFFdkI7O0dBRUc7QUFFSCxNQUFNLE9BQU8sZUFBZTtJQXVEMUI7OztPQUdHO0lBQ0gsWUFBb0IsS0FBd0I7UUFBeEIsVUFBSyxHQUFMLEtBQUssQ0FBbUI7UUExRHBDLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBRTlCOztXQUVHO1FBQ0ksVUFBSyxHQUFZLEtBQUssQ0FBQztRQUU5Qjs7O1dBR0c7UUFDSSxVQUFLLEdBQXFELEVBQUUsQ0FBQztRQUVwRTs7V0FFRztRQUVJLGFBQVEsR0FBWSxJQUFJLENBQUM7UUFFaEM7O1dBRUc7UUFFSSxhQUFRLEdBQVksSUFBSSxDQUFDO1FBRWhDOztXQUVHO1FBRUksZ0JBQVcsR0FBWSxJQUFJLENBQUM7UUFPbkM7O1dBRUc7UUFFSSxvQkFBZSxHQUEwQixJQUFJLFlBQVksRUFBVyxDQUFDO1FBRTVFOztXQUVHO1FBRUksU0FBSSxHQUFXLEVBQUUsQ0FBQztRQUV6Qjs7V0FFRztRQUVJLFVBQUssR0FBVyxRQUFRLENBQUM7SUFNZSxDQUFDO0lBRWhEOztPQUVHO0lBQ0gsSUFDVyxtQkFBbUIsQ0FBQyxPQUFtQjtRQUNoRCxJQUFJLENBQUMsYUFBYSxHQUFHLE9BQU8sQ0FBQztJQUMvQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLFNBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BC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SSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDMUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7U0FDM0I7UUFFRCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEMsQ0FBQzs7O1lBM0xGLFNBQVM7OztZQWRSLGlCQUFpQjs7O3VCQWdDaEIsS0FBSzt1QkFNTCxLQUFLOzBCQU1MLEtBQUs7OEJBV0wsTUFBTTttQkFNTixLQUFLO29CQU1MLEtBQUs7a0NBWUwsU0FBUyxTQUFDLFFBQVEsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7d0JBZXJDLEtBQUs7bUJBNkJMLEtBQUs7c0JBc0NMLFlBQVksU0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7K0JBZ0JoQyxZQUFZLFNBQUMsa0JBQWtCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIERpcmVjdGl2ZSxcclxuICBFbGVtZW50UmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBIb3N0TGlzdGVuZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIE91dHB1dCxcclxuICBWaWV3Q2hpbGQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG4vKipcclxuICogQmFzZSBLb21wb25lbnRlIGbDvHIgRGlhbG9nXHJcbiAqL1xyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGNsYXNzIFNhY0RpYWxvZ0NvbW1vbiBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgcHJpdmF0ZSBoYXNTZXRCb2R5VGFnID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIEJvb2xlYW4gUHJvcGVydHkgZGVmaW5pZXJ0IG9iIGRhcyBEaWFsb2cgYW5nZXplaWd0IHdpcmRcclxuICAgKi9cclxuICBwdWJsaWMgX3Nob3c6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogRGFzIHByb3BlcnR5IGVudGhpZWx0ICh3ZW5uIMO8YmVyaGF1cHQgZ2VzZXR6dCkgZW50d2VkZXIga2V5d29yZHMgZsO8ciBzaXppbmcgb2RlciBjdXN0b20gY3NzIEtsYXNzZW4uXHJcbiAgICogRGllIGFremVwdGFiZWwga2V5d29yZHNzaW5kOiAnc21hbGwnLCAnbGFyZ2UnLCAnZXh0cmFsYXJnZScsICdtZWRpdW0nLCAnJy5cclxuICAgKi9cclxuICBwdWJsaWMgX3NpemU6ICdzbWFsbCcgfCAnbGFyZ2UnIHwgJ2V4dHJhbGFyZ2UnIHwgJ21lZGl1bScgfCAnJyA9ICcnO1xyXG5cclxuICAvKipcclxuICAgKiBEYXMgaW5wdXQgcHJvcGVydHkgYWt6ZXB0aWVydCBib29sZW4gV2VydC4gRGVmaW5pZXJ0IG9iIGRhcyBEaWFsb2cgZGFyZiBkdXJjaCBFU0MgZ2VzY2hsb3NzZW4gd2VyZGVuLiBEZWZhdWx0IGlzdCB0cnVlLlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGFsbG93ZXNjOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgLyoqXHJcbiAgICogRGFzIGlucHV0IHByb3BlcnR5IGFremVwdGllcnQgYm9vbGVuIFdlcnQuIERlZmluaWVydCBvYiBkYXMgRGlhbG9nIGRhcmYgZHVyY2ggY2xpY2sgYXXDn2VyaGFsYiBkZXMgRGlhbG9nLUZlbnN0ZXIgZ2VzY2hsb3NzZW4gd2VyZGVuLiBEZWZhdWx0IGlzdCB0cnVlLlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGJhY2tkcm9wOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgLyoqXHJcbiAgICogU3RldWVydCBvYiBpbSBIZWFkZXIgZGVzIERpYWxvZ3MgZWluIEJ1dHRvbiBhbmdlemVpZ3Qgd2lyZC5cclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBjbG9zZWJ1dHRvbjogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIC8qKlxyXG4gICAqIE5hbWUgZGVzIENvbnRhaW5lcnMgZsO8ciBkZW4gRGlhbG9nXHJcbiAgICovXHJcbiAgcHVibGljIGRpYWxvZ0VsZW1lbnQ6IEVsZW1lbnRSZWY7XHJcblxyXG4gIC8qKlxyXG4gICAqIE91dHB1dCBFbWl0dGVyLiBXaXJkIGF1ZmdlcnVmZW4sIHdlbm4gZGFzIFdlcnQgZGVzIF9zaG93IHByb3BlcnR5IGdlw6RuZGVydCBpc3QgLSBkYW1haXQgZGFzIERpYWxvZyBnZcO2Zm5ldC9nZXNjaGxvc3NlbiB3aXJkLlxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBpc3Zpc2libGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgLyoqXHJcbiAgICogSW5wdXQgUHJvcGVydHkuIEVyaMOkbHQgZGVuIE5hbWVuIGRlcyBEaWFsb2cgLSBiZW51dHp0IGbDvHIgZGFzIElELiBEZWZhdWx0IFZhbHVlOiAnJ1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIG5hbWU6IHN0cmluZyA9ICcnO1xyXG5cclxuICAvKipcclxuICAgKiBJbnB1dCBQcm9wZXJ0eS4gRXJow6RsdCBkZW4gVGl0bGUgZGVzIERpYWxvZy4gRGVmYXVsdCBWYWx1ZTogJ0RpYWxvZycuXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdGl0bGU6IHN0cmluZyA9ICdEaWFsb2cnO1xyXG5cclxuICAvKipcclxuICAgKiBLb25zdHJ1a3RvclxyXG4gICAqIEluamVjdCBkZXMgRm9ybXVsYXJzXHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XHJcblxyXG4gIC8qKlxyXG4gICAqIEltcGxlbWVudGF0aW9uIGFscyBTZXR0ZXIsIGRhIG1pdCBuZ0lmIGRhcyBFbGVtZW50IGJlaSBVbnNpY2h0YmFya2VpdCBVTkRFRklORUQgaXN0LlxyXG4gICAqL1xyXG4gIEBWaWV3Q2hpbGQoJ2RpYWxvZycsIHsgc3RhdGljOiBmYWxzZSB9KVxyXG4gIHB1YmxpYyBzZXQgZGlhbG9nRWxlbWVudFNldHRlcihjb250ZW50OiBFbGVtZW50UmVmKSB7XHJcbiAgICB0aGlzLmRpYWxvZ0VsZW1lbnQgPSBjb250ZW50O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0dGVyLiBFcmdpYnQgZGFzIGJvb2xlbiBXZXJ0IGRlcyBfc2hvdyBwcm9wZXJ0eVxyXG4gICAqL1xyXG4gIHB1YmxpYyBnZXQgaXN2aXNpYmxlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3Nob3c7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXR0ZXIuIEVyaMOkbHQgZGFzIGJvb2xlbiBXZXJ0IGRlcyBfc2hvdyBwcm9wZXJ0eVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBpc3Zpc2libGUodjogYm9vbGVhbikge1xyXG4gICAgaWYgKFxyXG4gICAgICB2ICYmXHJcbiAgICAgICF0aGlzLmhhc1NldEJvZHlUYWcgJiZcclxuICAgICAgIWRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmNvbnRhaW5zKCdtb2RhbC1vcGVuJylcclxuICAgICkge1xyXG4gICAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5hZGQoJ21vZGFsLW9wZW4nKTtcclxuICAgICAgdGhpcy5oYXNTZXRCb2R5VGFnID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoXHJcbiAgICAgICF2ICYmXHJcbiAgICAgIHRoaXMuaGFzU2V0Qm9keVRhZyAmJlxyXG4gICAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5jb250YWlucygnbW9kYWwtb3BlbicpXHJcbiAgICApIHtcclxuICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QucmVtb3ZlKCdtb2RhbC1vcGVuJyk7XHJcbiAgICAgIHRoaXMuaGFzU2V0Qm9keVRhZyA9IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuX3Nob3cgPSB2O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGFzIElucHV0IGFremVwdGllcnQgc293b2hsIGRlZmF1bHQgc2l6ZS1jc3MtS2xhc3NlbiBhbHMgYXVjaCBjdXN0b20gS2xhc3Nlbi5cclxuICAgKiBjYXNlIGluc2Vuc2l0aXZlLlxyXG4gICAqIERpZSBha3plcHRhYmVsIGRlZmF1bHQtc2l6ZS1LbGFzc2VuIHNpbmQ6ICdzbWFsbCcsICdsYXJnZScsICdleHRyYWxhcmdlJywgJ21lZGl1bScsICcnLlxyXG4gICAqIFdlbm4gc2l6ZSBpc3QgTklDSFQgZ2VzZXR6dCAob2RlciAnbWVkaXVtJyBvZGVyICcnKSwgZGVmYXVsdCBpc3QgaW4gbWVkaXVtIHNpemU6IG1heC13aWR0aCA1MDBweC5cclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgc2l6ZSh2OiAnc21hbGwnIHwgJ2xhcmdlJyB8ICdleHRyYWxhcmdlJyB8ICdtZWRpdW0nIHwgJycpIHtcclxuICAgIHRoaXMuX3NpemUgPSB2O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0dGVyIGZvciBDaGFuZ2VEZXRlY3Rvci5cclxuICAgKi9cclxuICBwcm90ZWN0ZWQgZ2V0IENoYW5nZURldGVjdG9yKCk6IENoYW5nZURldGVjdG9yUmVmIHtcclxuICAgIHJldHVybiB0aGlzLmNkUmVmO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGllIE1ldGhvZGUgc2V0eiBkZW4gV2VydCBkZXMgX3Nob3cgcHJvcGVydHkgYXVmIGZhbHNlXHJcbiAgICovXHJcbiAgcHVibGljIGhpZGUoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5oYXNTZXRCb2R5VGFnICYmIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmNvbnRhaW5zKCdtb2RhbC1vcGVuJykpIHtcclxuICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QucmVtb3ZlKCdtb2RhbC1vcGVuJyk7XHJcbiAgICAgIHRoaXMuaGFzU2V0Qm9keVRhZyA9IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuX3Nob3cgPSBmYWxzZTtcclxuICAgIHRoaXMuaXN2aXNpYmxlQ2hhbmdlLmVtaXQodGhpcy5fc2hvdyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRob2RlIHdlbm4gQ29tcG9uZW50ZSBlbnRmZXJudCB3aXJkXHJcbiAgICovXHJcbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuaGFzU2V0Qm9keVRhZyAmJiBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5jb250YWlucygnbW9kYWwtb3BlbicpKSB7XHJcbiAgICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnJlbW92ZSgnbW9kYWwtb3BlbicpO1xyXG4gICAgICB0aGlzLmhhc1NldEJvZHlUYWcgPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFsbG93IENsb3NlIGJ5IENsaWNrIG91dHNpZGUgRGlhbG9nXHJcbiAgICovXHJcbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCddKVxyXG4gIHB1YmxpYyBvbkNsaWNrKGV2ZW50OiBhbnkpOiB2b2lkIHtcclxuICAgIGlmIChcclxuICAgICAgdGhpcy5hbGxvd2VzYyA9PT0gZmFsc2UgfHxcclxuICAgICAgKHRoaXMuZGlhbG9nRWxlbWVudCAhPT0gbnVsbCAmJlxyXG4gICAgICAgIHRoaXMuZGlhbG9nRWxlbWVudCAhPT0gdW5kZWZpbmVkICYmXHJcbiAgICAgICAgZXZlbnQudGFyZ2V0ICE9PSB0aGlzLmRpYWxvZ0VsZW1lbnQubmF0aXZlRWxlbWVudClcclxuICAgICkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLmhpZGUoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFsbG93IENsb3NlIGJ5IEVTQ1xyXG4gICAqL1xyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleWRvd24nLCBbJyRldmVudCddKVxyXG4gIHB1YmxpYyBvbktleWRvd25IYW5kbGVyKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XHJcbiAgICBjb25zdCBFU0NBUEVfS0VZQ09ERSA9ICdFc2NhcGUnO1xyXG5cclxuICAgIGlmICh0aGlzLmFsbG93ZXNjID09PSB0cnVlICYmIGV2ZW50LmtleSA9PT0gRVNDQVBFX0tFWUNPREUpIHtcclxuICAgICAgdGhpcy5oaWRlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEaWUgTWV0aG9kZSBzZXR6IGRlbiBXZXJ0IGRlcyBfc2hvdyBwcm9wZXJ0eSBhdWYgdHJ1ZVxyXG4gICAqL1xyXG4gIHB1YmxpYyBzaG93KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fc2hvdyA9IHRydWU7XHJcblxyXG4gICAgaWYgKFxyXG4gICAgICAhdGhpcy5oYXNTZXRCb2R5VGFnICYmXHJcbiAgICAgICFkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5jb250YWlucygnbW9kYWwtb3BlbicpXHJcbiAgICApIHtcclxuICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKCdtb2RhbC1vcGVuJyk7XHJcbiAgICAgIHRoaXMuaGFzU2V0Qm9keVRhZyA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5pc3Zpc2libGVDaGFuZ2UuZW1pdCh0aGlzLl9zaG93KTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -5,7 +5,6 @@ import { ControlHeight } from '../../enums/ControlHeight';
|
|
|
5
5
|
*/
|
|
6
6
|
export class SacFormLayoutCommon {
|
|
7
7
|
constructor() {
|
|
8
|
-
// #region Properties
|
|
9
8
|
/**
|
|
10
9
|
* Defines the default display for a checkbox. You can choose between a checkbox and a switch. If no style is defined, the global style or the style on the control is used.
|
|
11
10
|
*/
|
|
@@ -50,10 +49,11 @@ export class SacFormLayoutCommon {
|
|
|
50
49
|
* default label size for extra extra large devices
|
|
51
50
|
*/
|
|
52
51
|
this.labelSizeXxl = null;
|
|
53
|
-
|
|
52
|
+
/**
|
|
53
|
+
* Detach label text and tooltip from each other in Label so that label and tooltip can be aligned differently. This is in Bootstrap 3 not supported!
|
|
54
|
+
*/
|
|
55
|
+
this.splitlabelandhelptext = null;
|
|
54
56
|
}
|
|
55
|
-
// #endregion Properties
|
|
56
|
-
// #region Public Getters And Setters
|
|
57
57
|
/**
|
|
58
58
|
* Returns whether the inline error messages for the form are active.
|
|
59
59
|
*/
|
|
@@ -76,6 +76,7 @@ SacFormLayoutCommon.propDecorators = {
|
|
|
76
76
|
labelSizeSm: [{ type: Input }],
|
|
77
77
|
labelSizeXl: [{ type: Input }],
|
|
78
78
|
labelSizeXs: [{ type: Input }],
|
|
79
|
-
labelSizeXxl: [{ type: Input }]
|
|
79
|
+
labelSizeXxl: [{ type: Input }],
|
|
80
|
+
splitlabelandhelptext: [{ type: Input }]
|
|
80
81
|
};
|
|
81
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWxheW91dC5qcyIsInNvdXJjZVJvb3QiOiJDOi9Qcm9qZWt0ZS9zaW1wbGVhbmd1bGFyY29udHJvbHMtbmcxMC9jaC5qbmV0d29yay5zYWMtY29udHJvbHMvcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvIiwic291cmNlcyI6WyJjb250cm9scy9sYXlvdXQvZm9ybWxheW91dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFMUQ7O0dBRUc7QUFFSCxNQUFNLE9BQU8sbUJBQW1CO0lBRGhDO1FBRUU7O1dBRUc7UUFFSSxrQkFBYSxHQUFpQyxJQUFJLENBQUM7UUFFMUQ7O1dBRUc7UUFDYSxvQkFBZSxHQUF5QixJQUFJLENBQUM7UUFRN0Q7O1dBRUc7UUFDYSxnQkFBVyxHQUFtQixJQUFJLENBQUM7UUFFbkQ7O1dBRUc7UUFFSSx3QkFBbUIsR0FBcUMsSUFBSSxDQUFDO1FBRXBFOztXQUVHO1FBQ2Esb0JBQWUsR0FBWSxLQUFLLENBQUM7UUFFakQ7O1dBRUc7UUFFSSxnQkFBVyxHQUFrQixJQUFJLENBQUM7UUFFekM7O1dBRUc7UUFFSSxnQkFBVyxHQUFrQixJQUFJLENBQUM7UUFFekM7O1dBRUc7UUFFSSxnQkFBVyxHQUFrQixJQUFJLENBQUM7UUFFekM7O1dBRUc7UUFFSSxnQkFBVyxHQUFrQixJQUFJLENBQUM7UUFFekM7O1dBRUc7UUFFSSxnQkFBVyxHQUFrQixJQUFJLENBQUM7UUFFekM7O1dBRUc7UUFFSSxpQkFBWSxHQUFrQixJQUFJLENBQUM7UUFFMUM7O1dBRUc7UUFFSSwwQkFBcUIsR0FBbUIsSUFBSSxDQUFDO0lBUXRELENBQUM7SUFOQzs7T0FFRztJQUNILElBQVcsb0JBQW9CO1FBQzdCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDOzs7WUFsRkYsU0FBUzs7OzRCQUtQLEtBQUs7OEJBTUwsS0FBSzsyQkFLTCxLQUFLOzBCQU1MLEtBQUs7a0NBS0wsS0FBSzs4QkFNTCxLQUFLOzBCQUtMLEtBQUs7MEJBTUwsS0FBSzswQkFNTCxLQUFLOzBCQU1MLEtBQUs7MEJBTUwsS0FBSzsyQkFNTCxLQUFLO29DQU1MLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xIZWlnaHQgfSBmcm9tICcuLi8uLi9lbnVtcy9Db250cm9sSGVpZ2h0JztcclxuXHJcbi8qKipcclxuICogYmFzZSBjb21wb25lbnQgZm9yIGZvcm0gb3B0aW9uc1xyXG4gKi9cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBjbGFzcyBTYWNGb3JtTGF5b3V0Q29tbW9uIHtcclxuICAvKipcclxuICAgKiBEZWZpbmVzIHRoZSBkZWZhdWx0IGRpc3BsYXkgZm9yIGEgY2hlY2tib3guIFlvdSBjYW4gY2hvb3NlIGJldHdlZW4gYSBjaGVja2JveCBhbmQgYSBzd2l0Y2guIElmIG5vIHN0eWxlIGlzIGRlZmluZWQsIHRoZSBnbG9iYWwgc3R5bGUgb3IgdGhlIHN0eWxlIG9uIHRoZSBjb250cm9sIGlzIHVzZWQuXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgY2hlY2tib3hzdHlsZTogJ2NoZWNrYm94JyB8ICdzd2l0Y2gnIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIC8qKlxyXG4gICAqIERlZmluZXMgdGhlIHN0YW5kYXJkIGhlaWdodCBvZiB0aGUgY29tcG9uZW50c1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBjb21wb25lbnRIZWlnaHQ6IENvbnRyb2xIZWlnaHQgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgLyoqXHJcbiAgICogTW9kZSBmb3IgZGlzcGxheSBoZWxwdGV4dFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGhlbHB0ZXh0bW9kZTogJ3Rvb2x0aXAnIHwgJ3RleHQnIHwgbnVsbDtcclxuXHJcbiAgLyoqXHJcbiAgICogZGVmaW5lcyB0aGF0IGVycm9yIG1lc3NhZ2VzIGFyZSBkaXNwbGF5ZWQgdW5kZXIgdGhlIGNvbnRyb2xzXHJcbiAgICovXHJcbiAgQElucHV0KCkgcHVibGljIGlubGluZUVycm9yOiBib29sZWFuIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIC8qKlxyXG4gICAqIERlZmluZXMgaWYgSW5wdXRTZWFyY2ggdXNlcyBhbiBpY29uIGF0IHRoZSBidXR0b24gb3IgdGhlIHRleHRcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBpbnB1dHNlYXJjaGljb25tb2RlOiAndGV4dCcgfCAnaWNvbicgfCAnbWl4ZWQnIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIC8qKlxyXG4gICAqIGRlZmluZXMgdGhhdCB0aGUgbGFiZWxzIGFyZSBkaXNwbGF5ZWQgYXMgYWRhcHRpdmUgbGFiZWxzXHJcbiAgICovXHJcbiAgQElucHV0KCkgcHVibGljIGlzQWRhcHRpdmVMYWJlbDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBkZWZhdWx0IGxhYmUgc2l6ZSBmb3IgbGFyZ2UgZGV2aWNlc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGxhYmVsU2l6ZUxnOiBudW1iZXIgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgLyoqXHJcbiAgICogZGVmYXVsdCBsYWJlbCBzaXplIGZvciBtZWRpdW0gZGV2aWNlc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGxhYmVsU2l6ZU1kOiBudW1iZXIgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgLyoqXHJcbiAgICogZGVmYXVsdCBsYWJlbCBzaXplIGZvciBzbWFsbCBkZXZpY2VzXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgbGFiZWxTaXplU206IG51bWJlciB8IG51bGwgPSBudWxsO1xyXG5cclxuICAvKipcclxuICAgKiBkZWZhdWx0IGxhYmVsIHNpemUgZm9yIGV4dHJhIGxhcmdlIGRldmljZXNcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBsYWJlbFNpemVYbDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIC8qKlxyXG4gICAqIGRlZmF1bHQgbGFiZWwgY29sdW1uIHNpemVcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBsYWJlbFNpemVYczogbnVtYmVyIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIC8qKlxyXG4gICAqIGRlZmF1bHQgbGFiZWwgc2l6ZSBmb3IgZXh0cmEgZXh0cmEgbGFyZ2UgZGV2aWNlc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGxhYmVsU2l6ZVh4bDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIC8qKlxyXG4gICAqIERldGFjaCBsYWJlbCB0ZXh0IGFuZCB0b29sdGlwIGZyb20gZWFjaCBvdGhlciBpbiBMYWJlbCBzbyB0aGF0IGxhYmVsIGFuZCB0b29sdGlwIGNhbiBiZSBhbGlnbmVkIGRpZmZlcmVudGx5LiBUaGlzIGlzIGluIEJvb3RzdHJhcCAzIG5vdCBzdXBwb3J0ZWQhXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc3BsaXRsYWJlbGFuZGhlbHB0ZXh0OiBib29sZWFuIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybnMgd2hldGhlciB0aGUgaW5saW5lIGVycm9yIG1lc3NhZ2VzIGZvciB0aGUgZm9ybSBhcmUgYWN0aXZlLlxyXG4gICAqL1xyXG4gIHB1YmxpYyBnZXQgSXNJbmxpbmVFcnJvckVuYWJsZWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5pbmxpbmVFcnJvcjtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Function um ein Key Value Pair für das Dropdown zu erzeugen
|
|
3
|
+
* @param id ID
|
|
4
|
+
* @param value Wert der an das Element gebunden werden soll
|
|
5
|
+
*/
|
|
6
|
+
export function _buildValueString(id, value) {
|
|
7
|
+
// Wenn ID null ist Object zurückgeben
|
|
8
|
+
if (id == null) {
|
|
9
|
+
return `${value}`;
|
|
10
|
+
}
|
|
11
|
+
// Mapping Objekt zu String
|
|
12
|
+
if (value && typeof value === 'object') {
|
|
13
|
+
value = 'Object';
|
|
14
|
+
}
|
|
15
|
+
// String als ID
|
|
16
|
+
return `${id}: ${value}`.slice(0, 50);
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGR2YWx1ZXN0cmluZy5qcyIsInNvdXJjZVJvb3QiOiJDOi9Qcm9qZWt0ZS9zaW1wbGVhbmd1bGFyY29udHJvbHMtbmcxMC9jaC5qbmV0d29yay5zYWMtY29udHJvbHMvcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvIiwic291cmNlcyI6WyJjb250cm9scy9saXN0L2J1aWxkdmFsdWVzdHJpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxFQUFpQixFQUFFLEtBQVU7SUFDN0Qsc0NBQXNDO0lBQ3RDLElBQUksRUFBRSxJQUFJLElBQUksRUFBRTtRQUNkLE9BQU8sR0FBRyxLQUFLLEVBQUUsQ0FBQztLQUNuQjtJQUVELDJCQUEyQjtJQUMzQixJQUFJLEtBQUssSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7UUFDdEMsS0FBSyxHQUFHLFFBQVEsQ0FBQztLQUNsQjtJQUVELGdCQUFnQjtJQUNoQixPQUFPLEdBQUcsRUFBRSxLQUFLLEtBQUssRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDeEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBGdW5jdGlvbiB1bSBlaW4gS2V5IFZhbHVlIFBhaXIgZsO8ciBkYXMgRHJvcGRvd24genUgZXJ6ZXVnZW5cclxuICogQHBhcmFtIGlkIElEXHJcbiAqIEBwYXJhbSB2YWx1ZSBXZXJ0IGRlciBhbiBkYXMgRWxlbWVudCBnZWJ1bmRlbiB3ZXJkZW4gc29sbFxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIF9idWlsZFZhbHVlU3RyaW5nKGlkOiBzdHJpbmcgfCBudWxsLCB2YWx1ZTogYW55KTogc3RyaW5nIHtcclxuICAvLyBXZW5uIElEIG51bGwgaXN0IE9iamVjdCB6dXLDvGNrZ2ViZW5cclxuICBpZiAoaWQgPT0gbnVsbCkge1xyXG4gICAgcmV0dXJuIGAke3ZhbHVlfWA7XHJcbiAgfVxyXG5cclxuICAvLyBNYXBwaW5nIE9iamVrdCB6dSBTdHJpbmdcclxuICBpZiAodmFsdWUgJiYgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0Jykge1xyXG4gICAgdmFsdWUgPSAnT2JqZWN0JztcclxuICB9XHJcblxyXG4gIC8vIFN0cmluZyBhbHMgSURcclxuICByZXR1cm4gYCR7aWR9OiAke3ZhbHVlfWAuc2xpY2UoMCwgNTApO1xyXG59XHJcbiJdfQ==
|
|
@@ -4,4 +4,4 @@
|
|
|
4
4
|
* @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes,extraRequire}
|
|
5
5
|
* tslint:disable
|
|
6
6
|
*/
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGR2YWx1ZXN0cmluZy5uZ2ZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiQzovUHJvamVrdGUvc2ltcGxlYW5ndWxhcmNvbnRyb2xzLW5nMTAvY2guam5ldHdvcmsuc2FjLWNvbnRyb2xzL3Byb2plY3RzL3NhYy1jb21tb24vc3JjLyIsInNvdXJjZXMiOlsiY29udHJvbHMvbGlzdC9idWlsZHZhbHVlc3RyaW5nLm5nZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgaTAgZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pMC5Db21wb25lbnRGYWN0b3J5O1xuIl19
|
|
@@ -2,13 +2,11 @@ import { Directive, ElementRef, Host, Injector, Input, Renderer2, } from '@angul
|
|
|
2
2
|
import { SacBaseSelectControl } from '../../common/baseselectcontrol';
|
|
3
3
|
import { Validation } from '../../validation';
|
|
4
4
|
import { SacFormLayoutCommon } from '../layout/formlayout';
|
|
5
|
-
|
|
5
|
+
import { _buildValueString } from './buildvaluestring';
|
|
6
6
|
/**
|
|
7
7
|
* Base Dropdown Komponente
|
|
8
8
|
*/
|
|
9
9
|
export class SacDropdownCommon extends SacBaseSelectControl {
|
|
10
|
-
// #endregion Properties
|
|
11
|
-
// #region Constructors
|
|
12
10
|
/**
|
|
13
11
|
* Constructor
|
|
14
12
|
* @param formlayout SacFormLayoutCommon to define scoped layout settings
|
|
@@ -20,11 +18,18 @@ export class SacDropdownCommon extends SacBaseSelectControl {
|
|
|
20
18
|
super(formlayout, injector);
|
|
21
19
|
this.renderer = renderer;
|
|
22
20
|
this.elementRef = elementRef;
|
|
23
|
-
// #region Properties
|
|
24
21
|
/**
|
|
25
22
|
* compareWith-Funktion
|
|
26
23
|
*/
|
|
27
24
|
this._compareWith = Object.is;
|
|
25
|
+
/**
|
|
26
|
+
* Counter vom OptionID; default Wert = 0
|
|
27
|
+
*/
|
|
28
|
+
this._optionIdCounter = 0;
|
|
29
|
+
/**
|
|
30
|
+
* OptionMap
|
|
31
|
+
*/
|
|
32
|
+
this._optionMap = new Map();
|
|
28
33
|
/**
|
|
29
34
|
* Label Text für Empty Item
|
|
30
35
|
*/
|
|
@@ -41,17 +46,7 @@ export class SacDropdownCommon extends SacBaseSelectControl {
|
|
|
41
46
|
* Resource Key für Validation Message Required in Validation Summary
|
|
42
47
|
*/
|
|
43
48
|
this.validationmessagesummaryrequired = this.validationKeyService.ValidationErrorSummaryRequired;
|
|
44
|
-
/**
|
|
45
|
-
* Counter vom OptionID; default Wert = 0
|
|
46
|
-
*/
|
|
47
|
-
this._optionIdCounter = 0;
|
|
48
|
-
/**
|
|
49
|
-
* OptionMap
|
|
50
|
-
*/
|
|
51
|
-
this._optionMap = new Map();
|
|
52
49
|
}
|
|
53
|
-
// #endregion Constructors
|
|
54
|
-
// #region Public Getters And Setters
|
|
55
50
|
/**
|
|
56
51
|
* compareWith-Funktion
|
|
57
52
|
*/
|
|
@@ -61,8 +56,6 @@ export class SacDropdownCommon extends SacBaseSelectControl {
|
|
|
61
56
|
}
|
|
62
57
|
this._compareWith = fn;
|
|
63
58
|
}
|
|
64
|
-
// #endregion Public Getters And Setters
|
|
65
|
-
// #region Public Methods
|
|
66
59
|
/**
|
|
67
60
|
* Registriert das OptionID-Counter als String
|
|
68
61
|
*/
|
|
@@ -97,6 +90,12 @@ export class SacDropdownCommon extends SacBaseSelectControl {
|
|
|
97
90
|
if (this.isrequired) {
|
|
98
91
|
error = Validation.required(this.validationmessagerequired, this.validationmessagesummaryrequired)(c);
|
|
99
92
|
}
|
|
93
|
+
if (error) {
|
|
94
|
+
return error;
|
|
95
|
+
}
|
|
96
|
+
if (this.isrequired && this.emptyvalue !== null) {
|
|
97
|
+
error = Validation.notequals(this.emptyvalue, this.validationmessagerequired, this.validationmessagesummaryrequired)(c);
|
|
98
|
+
}
|
|
100
99
|
return error;
|
|
101
100
|
}
|
|
102
101
|
/**
|
|
@@ -107,8 +106,6 @@ export class SacDropdownCommon extends SacBaseSelectControl {
|
|
|
107
106
|
this.setSelectedValue(value);
|
|
108
107
|
super.writeValue(value);
|
|
109
108
|
}
|
|
110
|
-
// #endregion Public Methods
|
|
111
|
-
// #region Private Methods
|
|
112
109
|
/**
|
|
113
110
|
* ID extrahieren
|
|
114
111
|
* @param valueString String bei welchem die ID Extrahiert werden soll
|
|
@@ -172,99 +169,4 @@ SacDropdownCommon.propDecorators = {
|
|
|
172
169
|
validationmessagesummaryrequired: [{ type: Input }],
|
|
173
170
|
comparewith: [{ type: Input }]
|
|
174
171
|
};
|
|
175
|
-
/**
|
|
176
|
-
* SacDropdownOption-Klasse
|
|
177
|
-
*/
|
|
178
|
-
export class SacDropdownOptionCommon {
|
|
179
|
-
// #endregion Properties
|
|
180
|
-
// #region Constructors
|
|
181
|
-
/**
|
|
182
|
-
* Konstruktor
|
|
183
|
-
* @param _element Referenz auf HTML Element
|
|
184
|
-
* @param _renderer Render Engine
|
|
185
|
-
* @param _dropdown Dropdown Instanz
|
|
186
|
-
*/
|
|
187
|
-
constructor(_element, _renderer, _dropdown) {
|
|
188
|
-
this._element = _element;
|
|
189
|
-
this._renderer = _renderer;
|
|
190
|
-
this._dropdown = _dropdown;
|
|
191
|
-
// #region Properties
|
|
192
|
-
/**
|
|
193
|
-
* ID-String
|
|
194
|
-
*/
|
|
195
|
-
this.id = null;
|
|
196
|
-
if (this._dropdown) {
|
|
197
|
-
this.id = this._dropdown.registerOption();
|
|
198
|
-
}
|
|
199
|
-
}
|
|
200
|
-
// #endregion Constructors
|
|
201
|
-
// #region Public Getters And Setters
|
|
202
|
-
/**
|
|
203
|
-
* Option ngValue
|
|
204
|
-
*/
|
|
205
|
-
set ngValue(value) {
|
|
206
|
-
// Cancel wenn kein Parent Dropdown vorhanden
|
|
207
|
-
if (this._dropdown == null) {
|
|
208
|
-
return;
|
|
209
|
-
}
|
|
210
|
-
this._dropdown.setOptionMap(this.id, value);
|
|
211
|
-
this._setElementValue(_buildValueString(this.id, value));
|
|
212
|
-
this._dropdown.writeValue(this._dropdown.value);
|
|
213
|
-
}
|
|
214
|
-
/**
|
|
215
|
-
* Wert-Setter
|
|
216
|
-
*/
|
|
217
|
-
set value(value) {
|
|
218
|
-
this._setElementValue(value);
|
|
219
|
-
}
|
|
220
|
-
// #endregion Public Getters And Setters
|
|
221
|
-
// #region Public Methods
|
|
222
|
-
/**
|
|
223
|
-
* Den Wert vom Option-Element einstellen
|
|
224
|
-
* @param value Wert
|
|
225
|
-
*/
|
|
226
|
-
_setElementValue(value) {
|
|
227
|
-
this._renderer.setProperty(this._element.nativeElement, 'value', value);
|
|
228
|
-
}
|
|
229
|
-
/**
|
|
230
|
-
* OnDestroy Event
|
|
231
|
-
*/
|
|
232
|
-
ngOnDestroy() {
|
|
233
|
-
if (this._dropdown) {
|
|
234
|
-
this._dropdown._optionMap.delete(this.id);
|
|
235
|
-
}
|
|
236
|
-
}
|
|
237
|
-
}
|
|
238
|
-
SacDropdownOptionCommon.decorators = [
|
|
239
|
-
{ type: Directive }
|
|
240
|
-
];
|
|
241
|
-
SacDropdownOptionCommon.ctorParameters = () => [
|
|
242
|
-
{ type: ElementRef },
|
|
243
|
-
{ type: Renderer2 },
|
|
244
|
-
{ type: SacDropdownCommon }
|
|
245
|
-
];
|
|
246
|
-
SacDropdownOptionCommon.propDecorators = {
|
|
247
|
-
ngValue: [{ type: Input }],
|
|
248
|
-
value: [{ type: Input }]
|
|
249
|
-
};
|
|
250
|
-
// #endregion Classes
|
|
251
|
-
// #region Functions
|
|
252
|
-
/**
|
|
253
|
-
* Function um ein Key Value Pair für das Dropdown zu erzeugen
|
|
254
|
-
* @param id ID
|
|
255
|
-
* @param value Wert der an das Element gebunden werden soll
|
|
256
|
-
*/
|
|
257
|
-
export function _buildValueString(id, value) {
|
|
258
|
-
// Wenn ID null ist Object zurückgeben
|
|
259
|
-
if (id == null) {
|
|
260
|
-
return `${value}`;
|
|
261
|
-
}
|
|
262
|
-
// Mapping Objekt zu String
|
|
263
|
-
if (value && typeof value === 'object') {
|
|
264
|
-
value = 'Object';
|
|
265
|
-
}
|
|
266
|
-
// String als ID
|
|
267
|
-
return `${id}: ${value}`.slice(0, 50);
|
|
268
|
-
}
|
|
269
|
-
// #endregion Functions
|
|
270
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uanMiLCJzb3VyY2VSb290IjoiQzovUHJvamVrdGUvc2ltcGxlYW5ndWxhcmNvbnRyb2xzLW5nMTAvY2guam5ldHdvcmsuc2FjLWNvbnRyb2xzL3Byb2plY3RzL3NhYy1jb21tb24vc3JjLyIsInNvdXJjZXMiOlsiY29udHJvbHMvbGlzdC9kcm9wZG93bi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixJQUFJLEVBQ0osUUFBUSxFQUNSLEtBQUssRUFFTCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRTNELGtCQUFrQjtBQUVsQjs7R0FFRztBQUVILE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxvQkFBeUI7SUFxQzlELHdCQUF3QjtJQUV4Qix1QkFBdUI7SUFFdkI7Ozs7OztPQU1HO0lBQ0gsWUFDVSxVQUErQixFQUN2QyxRQUFrQixFQUNWLFFBQW1CLEVBQ25CLFVBQXNCO1FBRTlCLEtBQUssQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFIcEIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBbkRoQyxxQkFBcUI7UUFFckI7O1dBRUc7UUFDSyxpQkFBWSxHQUFrQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBRWhFOztXQUVHO1FBQ2EsZUFBVSxHQUFXLEVBQUUsQ0FBQztRQUN4Qzs7V0FFRztRQUNhLGVBQVUsR0FBVyxJQUFJLENBQUM7UUFDMUM7O1dBRUc7UUFDYSw4QkFBeUIsR0FDdkMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLHVCQUF1QixDQUFDO1FBQ3BEOztXQUVHO1FBRUkscUNBQWdDLEdBQ3JD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QzdELHNDQUFzQztJQUN0QyxJQUFJLEVBQUUsSUFBSSxJQUFJLEVBQUU7UUFDZCxPQUFPLEdBQUcsS0FBSyxFQUFFLENBQUM7S0FDbkI7SUFFRCwyQkFBMkI7SUFDM0IsSUFBSSxLQUFLLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO1FBQ3RDLEtBQUssR0FBRyxRQUFRLENBQUM7S0FDbEI7SUFFRCxnQkFBZ0I7SUFDaEIsT0FBTyxHQUFHLEVBQUUsS0FBSyxLQUFLLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ3hDLENBQUM7QUFFRCx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIERpcmVjdGl2ZSxcclxuICBFbGVtZW50UmVmLFxyXG4gIEhvc3QsXHJcbiAgSW5qZWN0b3IsXHJcbiAgSW5wdXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIFJlbmRlcmVyMixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0aW9uRXJyb3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBTYWNCYXNlU2VsZWN0Q29udHJvbCB9IGZyb20gJy4uLy4uL2NvbW1vbi9iYXNlc2VsZWN0Y29udHJvbCc7XHJcbmltcG9ydCB7IFZhbGlkYXRpb24gfSBmcm9tICcuLi8uLi92YWxpZGF0aW9uJztcclxuaW1wb3J0IHsgU2FjRm9ybUxheW91dENvbW1vbiB9IGZyb20gJy4uL2xheW91dC9mb3JtbGF5b3V0JztcclxuXHJcbi8vICNyZWdpb24gQ2xhc3Nlc1xyXG5cclxuLyoqXHJcbiAqIEJhc2UgRHJvcGRvd24gS29tcG9uZW50ZVxyXG4gKi9cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBjbGFzcyBTYWNEcm9wZG93bkNvbW1vbiBleHRlbmRzIFNhY0Jhc2VTZWxlY3RDb250cm9sPGFueT4ge1xyXG4gIC8vICNyZWdpb24gUHJvcGVydGllc1xyXG5cclxuICAvKipcclxuICAgKiBjb21wYXJlV2l0aC1GdW5rdGlvblxyXG4gICAqL1xyXG4gIHByaXZhdGUgX2NvbXBhcmVXaXRoOiAobzE6IGFueSwgbzI6IGFueSkgPT4gYm9vbGVhbiA9IE9iamVjdC5pcztcclxuXHJcbiAgLyoqXHJcbiAgICogTGFiZWwgVGV4dCBmw7xyIEVtcHR5IEl0ZW1cclxuICAgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgZW1wdHlsYWJlbDogc3RyaW5nID0gJyc7XHJcbiAgLyoqXHJcbiAgICogT3B0aW9uIFZhbHVlIGbDvHIgRW1wdHkgSXRlbVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBlbXB0eXZhbHVlOiBzdHJpbmcgPSBudWxsO1xyXG4gIC8qKlxyXG4gICAqIFJlc291cmNlIEtleSBmw7xyIFZhbGlkYXRpb24gTWVzc2FnZSBSZXF1aXJlZCBiZWkgQ29udHJvbFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyB2YWxpZGF0aW9ubWVzc2FnZXJlcXVpcmVkOiBzdHJpbmcgPVxyXG4gICAgdGhpcy52YWxpZGF0aW9uS2V5U2VydmljZS5WYWxpZGF0aW9uRXJyb3JSZXF1aXJlZDtcclxuICAvKipcclxuICAgKiBSZXNvdXJjZSBLZXkgZsO8ciBWYWxpZGF0aW9uIE1lc3NhZ2UgUmVxdWlyZWQgaW4gVmFsaWRhdGlvbiBTdW1tYXJ5XHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdmFsaWRhdGlvbm1lc3NhZ2VzdW1tYXJ5cmVxdWlyZWQ6IHN0cmluZyA9XHJcbiAgICB0aGlzLnZhbGlkYXRpb25LZXlTZXJ2aWNlLlZhbGlkYXRpb25FcnJvclN1bW1hcnlSZXF1aXJlZDtcclxuXHJcbiAgLyoqXHJcbiAgICogQ291bnRlciB2b20gT3B0aW9uSUQ7IGRlZmF1bHQgV2VydCA9IDBcclxuICAgKi9cclxuICBwdWJsaWMgX29wdGlvbklkQ291bnRlcjogbnVtYmVyID0gMDtcclxuICAvKipcclxuICAgKiBPcHRpb25NYXBcclxuICAgKi9cclxuICBwdWJsaWMgX29wdGlvbk1hcDogTWFwPHN0cmluZywgYW55PiA9IG5ldyBNYXA8c3RyaW5nLCBhbnk+KCk7XHJcblxyXG4gIC8vICNlbmRyZWdpb24gUHJvcGVydGllc1xyXG5cclxuICAvLyAjcmVnaW9uIENvbnN0cnVjdG9yc1xyXG5cclxuICAvKipcclxuICAgKiBDb25zdHJ1Y3RvclxyXG4gICAqIEBwYXJhbSBmb3JtbGF5b3V0IFNhY0Zvcm1MYXlvdXRDb21tb24gdG8gZGVmaW5lIHNjb3BlZCBsYXlvdXQgc2V0dGluZ3NcclxuICAgKiBAcGFyYW0gaW5qZWN0b3IgSW5qZWN0b3IgZm9yIGluamVjdGluZyBzZXJ2aWNlc1xyXG4gICAqIEBwYXJhbSByZW5kZXJlciBodG1sIHJlbmRlcmluZyBlbmdpbmVcclxuICAgKiBAcGFyYW0gZWxlbWVudFJlZiByZWZlcmVuY2UgdG8gaHRtbCBlbGVtZW50XHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBASG9zdCgpIGZvcm1sYXlvdXQ6IFNhY0Zvcm1MYXlvdXRDb21tb24sXHJcbiAgICBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWZcclxuICApIHtcclxuICAgIHN1cGVyKGZvcm1sYXlvdXQsIGluamVjdG9yKTtcclxuICB9XHJcblxyXG4gIC8vICNlbmRyZWdpb24gQ29uc3RydWN0b3JzXHJcblxyXG4gIC8vICNyZWdpb24gUHVibGljIEdldHRlcnMgQW5kIFNldHRlcnNcclxuXHJcbiAgLyoqXHJcbiAgICogY29tcGFyZVdpdGgtRnVua3Rpb25cclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgY29tcGFyZXdpdGgoZm46IChvMTogYW55LCBvMjogYW55KSA9PiBib29sZWFuKSB7XHJcbiAgICBpZiAodHlwZW9mIGZuICE9PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihcclxuICAgICAgICBgY29tcGFyZVdpdGggbXVzdCBiZSBhIGZ1bmN0aW9uLCBidXQgcmVjZWl2ZWQgJHtKU09OLnN0cmluZ2lmeShmbil9YFxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fY29tcGFyZVdpdGggPSBmbjtcclxuICB9XHJcblxyXG4gIC8vICNlbmRyZWdpb24gUHVibGljIEdldHRlcnMgQW5kIFNldHRlcnNcclxuXHJcbiAgLy8gI3JlZ2lvbiBQdWJsaWMgTWV0aG9kc1xyXG5cclxuICAvKipcclxuICAgKiBSZWdpc3RyaWVydCBkYXMgT3B0aW9uSUQtQ291bnRlciBhbHMgU3RyaW5nXHJcbiAgICovXHJcbiAgcHVibGljIHJlZ2lzdGVyT3B0aW9uKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gKHRoaXMuX29wdGlvbklkQ291bnRlcisrKS50b1N0cmluZygpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0aG9kZSBkaWUgdm9uIE9wdGlvbnMgYXVmZ2VydWZlbiB3aXJkLCB1bSBkYXMgTWFwcGluZyB6d2lzY2hlbiBEcm9wZG93biBWYWx1ZSB1bmQgVmFsdWUgaGVyenVzdGVsbGVuLlxyXG4gICAqIEBwYXJhbSBpZDogSWQgYXVzIE9wdGlvbnNcclxuICAgKiBAcGFyYW0gdmFsdWU6IFZhbHVlXHJcbiAgICovXHJcbiAgcHVibGljIHNldE9wdGlvbk1hcChpZDogc3RyaW5nLCB2YWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLl9vcHRpb25NYXAuc2V0KGlkLCB2YWx1ZSk7XHJcblxyXG4gICAgLy8gU2VsZWN0ZWQgVmFsdWUgYXVmIENvbnRyb2wgYWt0dWFsaXNpZXJlbiwgd2VubiBWYWx1ZSBkZW0gU2VsZWN0ZWRWYWx1ZSBlbnRzcHJpY2h0XHJcbiAgICBpZiAodGhpcy52YWx1ZSA9PT0gdmFsdWUpIHtcclxuICAgICAgdGhpcy5zZXRTZWxlY3RlZFZhbHVlKHZhbHVlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFdlcnQgZWluc3RlbGxlblxyXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFdlcnRcclxuICAgKi9cclxuICBwdWJsaWMgc2V0VmFsdWUodmFsdWU6IHN0cmluZykge1xyXG4gICAgc3VwZXIuc2V0VmFsdWUodGhpcy5nZXRPcHRpb25WYWx1ZSh2YWx1ZSkpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVmFsaWRhdG9yXHJcbiAgICogQHBhcmFtIGMgQ29udHJvbCBJbnN0YW56XHJcbiAgICovXHJcbiAgcHVibGljIHZhbGlkYXRlRGF0YShjOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XHJcbiAgICBsZXQgZXJyb3I6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgICBpZiAodGhpcy5pc3JlcXVpcmVkKSB7XHJcbiAgICAgIGVycm9yID0gVmFsaWRhdGlvbi5yZXF1aXJlZChcclxuICAgICAgICB0aGlzLnZhbGlkYXRpb25tZXNzYWdlcmVxdWlyZWQsXHJcbiAgICAgICAgdGhpcy52YWxpZGF0aW9ubWVzc2FnZXN1bW1hcnlyZXF1aXJlZFxyXG4gICAgICApKGMpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGVycm9yO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogV2VydCBzY2hyZWliZW5cclxuICAgKiBAcGFyYW0gdmFsdWUgLSBXZXJ0XHJcbiAgICovXHJcbiAgcHVibGljIHdyaXRlVmFsdWUodmFsdWU6IGFueSkge1xyXG4gICAgdGhpcy5zZXRTZWxlY3RlZFZhbHVlKHZhbHVlKTtcclxuICAgIHN1cGVyLndyaXRlVmFsdWUodmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBQdWJsaWMgTWV0aG9kc1xyXG5cclxuICAvLyAjcmVnaW9uIFByaXZhdGUgTWV0aG9kc1xyXG5cclxuICAvKipcclxuICAgKiBJRCBleHRyYWhpZXJlblxyXG4gICAqIEBwYXJhbSB2YWx1ZVN0cmluZyBTdHJpbmcgYmVpIHdlbGNoZW0gZGllIElEIEV4dHJhaGllcnQgd2VyZGVuIHNvbGxcclxuICAgKi9cclxuICBwcml2YXRlIGV4dHJhY3RJZCh2YWx1ZVN0cmluZzogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB2YWx1ZVN0cmluZy5zcGxpdCgnOicpWzBdO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTmltbXQgZGFzIElEIHZvbSBPcHRpb25cclxuICAgKiBAcGFyYW0gdmFsdWVcclxuICAgKi9cclxuICBwcml2YXRlIGdldE9wdGlvbklkKHZhbHVlOiBhbnkpOiBzdHJpbmcgfCBudWxsIHtcclxuICAgIGZvciAoY29uc3QgaWQgb2YgQXJyYXkuZnJvbSh0aGlzLl9vcHRpb25NYXAua2V5cygpKSkge1xyXG4gICAgICBpZiAodGhpcy5fY29tcGFyZVdpdGgodGhpcy5fb3B0aW9uTWFwLmdldChpZCksIHZhbHVlKSkge1xyXG4gICAgICAgIHJldHVybiBpZDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBOaW1tdCBkZW4gU3RyaW5nLVdlcnQgdm9tIE9wdGlvblxyXG4gICAqIEBwYXJhbSB2YWx1ZVN0cmluZ1xyXG4gICAqL1xyXG4gIHByaXZhdGUgZ2V0T3B0aW9uVmFsdWUodmFsdWVTdHJpbmc6IHN0cmluZyk6IGFueSB7XHJcbiAgICBjb25zdCBpZDogc3RyaW5nID0gdGhpcy5leHRyYWN0SWQodmFsdWVTdHJpbmcpO1xyXG4gICAgcmV0dXJuIHRoaXMuX29wdGlvbk1hcC5oYXMoaWQpID8gdGhpcy5fb3B0aW9uTWFwLmdldChpZCkgOiB2YWx1ZVN0cmluZztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldHp0IGRlbiBTZWxlY3RlZCBWYWx1ZSBhdWYgZGVtIENvbnRyb2xcclxuICAgKiBAcGFyYW0gdmFsdWUgVmFsdWVcclxuICAgKi9cclxuICBwcml2YXRlIHNldFNlbGVjdGVkVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgLy8gU2VsZWN0IEl0ZW0gYXVzIENvbnRyb2wgbGVzZW5cclxuICAgIGNvbnN0IHNlbGVjdEl0ZW06IGFueSA9XHJcbiAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdzZWxlY3QnKVswXTtcclxuICAgIC8qKlxyXG4gICAgICogSWQgdm9tIFNlbGVjdCBJdGVtXHJcbiAgICAgKi9cclxuICAgIGNvbnN0IGlkOiBzdHJpbmcgfCBudWxsID0gdGhpcy5nZXRPcHRpb25JZCh2YWx1ZSk7XHJcbiAgICAvKipcclxuICAgICAqIFZhbHVlIFN0cmluZ1xyXG4gICAgICovXHJcbiAgICBjb25zdCB2YWx1ZVN0cmluZyA9IF9idWlsZFZhbHVlU3RyaW5nKGlkLCB2YWx1ZSk7XHJcblxyXG4gICAgaWYgKHNlbGVjdEl0ZW0gIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KHNlbGVjdEl0ZW0sICd2YWx1ZScsIHZhbHVlU3RyaW5nKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vICNlbmRyZWdpb24gUHJpdmF0ZSBNZXRob2RzXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBTYWNEcm9wZG93bk9wdGlvbi1LbGFzc2VcclxuICovXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgY2xhc3MgU2FjRHJvcGRvd25PcHRpb25Db21tb24gaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gIC8vICNyZWdpb24gUHJvcGVydGllc1xyXG5cclxuICAvKipcclxuICAgKiBJRC1TdHJpbmdcclxuICAgKi9cclxuICBwcml2YXRlIGlkOiBzdHJpbmcgPSBudWxsO1xyXG5cclxuICAvLyAjZW5kcmVnaW9uIFByb3BlcnRpZXNcclxuXHJcbiAgLy8gI3JlZ2lvbiBDb25zdHJ1Y3RvcnNcclxuXHJcbiAgLyoqXHJcbiAgICogS29uc3RydWt0b3JcclxuICAgKiBAcGFyYW0gX2VsZW1lbnQgUmVmZXJlbnogYXVmIEhUTUwgRWxlbWVudFxyXG4gICAqIEBwYXJhbSBfcmVuZGVyZXIgUmVuZGVyIEVuZ2luZVxyXG4gICAqIEBwYXJhbSBfZHJvcGRvd24gRHJvcGRvd24gSW5zdGFuelxyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfZWxlbWVudDogRWxlbWVudFJlZixcclxuICAgIHByaXZhdGUgX3JlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICBwcml2YXRlIF9kcm9wZG93bjogU2FjRHJvcGRvd25Db21tb25cclxuICApIHtcclxuICAgIGlmICh0aGlzLl9kcm9wZG93bikge1xyXG4gICAgICB0aGlzLmlkID0gdGhpcy5fZHJvcGRvd24ucmVnaXN0ZXJPcHRpb24oKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vICNlbmRyZWdpb24gQ29uc3RydWN0b3JzXHJcblxyXG4gIC8vICNyZWdpb24gUHVibGljIEdldHRlcnMgQW5kIFNldHRlcnNcclxuXHJcbiAgLyoqXHJcbiAgICogT3B0aW9uIG5nVmFsdWVcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgbmdWYWx1ZSh2YWx1ZTogYW55KSB7XHJcbiAgICAvLyBDYW5jZWwgd2VubiBrZWluIFBhcmVudCBEcm9wZG93biB2b3JoYW5kZW5cclxuICAgIGlmICh0aGlzLl9kcm9wZG93biA9PSBudWxsKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLl9kcm9wZG93bi5zZXRPcHRpb25NYXAodGhpcy5pZCwgdmFsdWUpO1xyXG4gICAgdGhpcy5fc2V0RWxlbWVudFZhbHVlKF9idWlsZFZhbHVlU3RyaW5nKHRoaXMuaWQsIHZhbHVlKSk7XHJcblxyXG4gICAgdGhpcy5fZHJvcGRvd24ud3JpdGVWYWx1ZSh0aGlzLl9kcm9wZG93bi52YWx1ZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBXZXJ0LVNldHRlclxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCB2YWx1ZSh2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLl9zZXRFbGVtZW50VmFsdWUodmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBQdWJsaWMgR2V0dGVycyBBbmQgU2V0dGVyc1xyXG5cclxuICAvLyAjcmVnaW9uIFB1YmxpYyBNZXRob2RzXHJcblxyXG4gIC8qKlxyXG4gICAqIERlbiBXZXJ0IHZvbSBPcHRpb24tRWxlbWVudCBlaW5zdGVsbGVuXHJcbiAgICogQHBhcmFtIHZhbHVlIFdlcnRcclxuICAgKi9cclxuICBwdWJsaWMgX3NldEVsZW1lbnRWYWx1ZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLl9yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLl9lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsICd2YWx1ZScsIHZhbHVlKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE9uRGVzdHJveSBFdmVudFxyXG4gICAqL1xyXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLl9kcm9wZG93bikge1xyXG4gICAgICB0aGlzLl9kcm9wZG93bi5fb3B0aW9uTWFwLmRlbGV0ZSh0aGlzLmlkKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vICNlbmRyZWdpb24gUHVibGljIE1ldGhvZHNcclxufVxyXG5cclxuLy8gI2VuZHJlZ2lvbiBDbGFzc2VzXHJcblxyXG4vLyAjcmVnaW9uIEZ1bmN0aW9uc1xyXG5cclxuLyoqXHJcbiAqIEZ1bmN0aW9uIHVtIGVpbiBLZXkgVmFsdWUgUGFpciBmw7xyIGRhcyBEcm9wZG93biB6dSBlcnpldWdlblxyXG4gKiBAcGFyYW0gaWQgSURcclxuICogQHBhcmFtIHZhbHVlIFdlcnQgZGVyIGFuIGRhcyBFbGVtZW50IGdlYnVuZGVuIHdlcmRlbiBzb2xsXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gX2J1aWxkVmFsdWVTdHJpbmcoaWQ6IHN0cmluZyB8IG51bGwsIHZhbHVlOiBhbnkpOiBzdHJpbmcge1xyXG4gIC8vIFdlbm4gSUQgbnVsbCBpc3QgT2JqZWN0IHp1csO8Y2tnZWJlblxyXG4gIGlmIChpZCA9PSBudWxsKSB7XHJcbiAgICByZXR1cm4gYCR7dmFsdWV9YDtcclxuICB9XHJcblxyXG4gIC8vIE1hcHBpbmcgT2JqZWt0IHp1IFN0cmluZ1xyXG4gIGlmICh2YWx1ZSAmJiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnKSB7XHJcbiAgICB2YWx1ZSA9ICdPYmplY3QnO1xyXG4gIH1cclxuXHJcbiAgLy8gU3RyaW5nIGFscyBJRFxyXG4gIHJldHVybiBgJHtpZH06ICR7dmFsdWV9YC5zbGljZSgwLCA1MCk7XHJcbn1cclxuXHJcbi8vICNlbmRyZWdpb24gRnVuY3Rpb25zXHJcbiJdfQ==
|
|
172
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uanMiLCJzb3VyY2VSb290IjoiQzovUHJvamVrdGUvc2ltcGxlYW5ndWxhcmNvbnRyb2xzLW5nMTAvY2guam5ldHdvcmsuc2FjLWNvbnRyb2xzL3Byb2plY3RzL3NhYy1jb21tb24vc3JjLyIsInNvdXJjZXMiOlsiY29udHJvbHMvbGlzdC9kcm9wZG93bi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixJQUFJLEVBQ0osUUFBUSxFQUNSLEtBQUssRUFDTCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXZEOztHQUVHO0FBRUgsTUFBTSxPQUFPLGlCQUFrQixTQUFRLG9CQUF5QjtJQXVDOUQ7Ozs7OztPQU1HO0lBQ0gsWUFDVSxVQUErQixFQUN2QyxRQUFrQixFQUNWLFFBQW1CLEVBQ25CLFVBQXNCO1FBRTlCLEtBQUssQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFIcEIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBakRoQzs7V0FFRztRQUNLLGlCQUFZLEdBQWtDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFFaEU7O1dBRUc7UUFDSSxxQkFBZ0IsR0FBVyxDQUFDLENBQUM7UUFFcEM7O1dBRUc7UUFDSSxlQUFVLEdBQXFCLElBQUksR0FBRyxFQUFlLENBQUM7UUFFN0Q7O1dBRUc7UUFDYSxlQUFVLEdBQVcsRUFBRSxDQUFDO1FBRXhDOztXQUVHO1FBQ2EsZUFBVSxHQUFXLElBQUksQ0FBQztRQUUxQzs7V0FFRztR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Q0FBQyxDQUFDO1FBQy9DLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUM7SUFDekUsQ0FBQztJQUVEOzs7T0FHRztJQUNLLGdCQUFnQixDQUFDLEtBQVU7UUFDakMsZ0NBQWdDO1FBQ2hDLE1BQU0sVUFBVSxHQUNkLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xFOztXQUVHO1FBQ0gsTUFBTSxFQUFFLEdBQWtCLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEQ7O1dBRUc7UUFDSCxNQUFNLFdBQVcsR0FBRyxpQkFBaUIsQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFakQsSUFBSSxVQUFVLEtBQUssU0FBUyxFQUFFO1lBQzVCLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBRSxPQUFPLEVBQUUsV0FBVyxDQUFDLENBQUM7U0FDN0Q7SUFDSCxDQUFDOzs7WUExTEYsU0FBUzs7O1lBTkQsbUJBQW1CLHVCQXNEdkIsSUFBSTtZQTdEUCxRQUFRO1lBRVIsU0FBUztZQUpULFVBQVU7Ozt5QkFtQ1QsS0FBSzt5QkFLTCxLQUFLO3dDQUtMLEtBQUs7K0NBTUwsS0FBSzswQkF1QkwsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgRGlyZWN0aXZlLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgSG9zdCxcclxuICBJbmplY3RvcixcclxuICBJbnB1dCxcclxuICBSZW5kZXJlcjIsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU2FjQmFzZVNlbGVjdENvbnRyb2wgfSBmcm9tICcuLi8uLi9jb21tb24vYmFzZXNlbGVjdGNvbnRyb2wnO1xyXG5pbXBvcnQgeyBWYWxpZGF0aW9uIH0gZnJvbSAnLi4vLi4vdmFsaWRhdGlvbic7XHJcbmltcG9ydCB7IFNhY0Zvcm1MYXlvdXRDb21tb24gfSBmcm9tICcuLi9sYXlvdXQvZm9ybWxheW91dCc7XHJcbmltcG9ydCB7IF9idWlsZFZhbHVlU3RyaW5nIH0gZnJvbSAnLi9idWlsZHZhbHVlc3RyaW5nJztcclxuXHJcbi8qKlxyXG4gKiBCYXNlIERyb3Bkb3duIEtvbXBvbmVudGVcclxuICovXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgY2xhc3MgU2FjRHJvcGRvd25Db21tb24gZXh0ZW5kcyBTYWNCYXNlU2VsZWN0Q29udHJvbDxhbnk+IHtcclxuICAvKipcclxuICAgKiBjb21wYXJlV2l0aC1GdW5rdGlvblxyXG4gICAqL1xyXG4gIHByaXZhdGUgX2NvbXBhcmVXaXRoOiAobzE6IGFueSwgbzI6IGFueSkgPT4gYm9vbGVhbiA9IE9iamVjdC5pcztcclxuXHJcbiAgLyoqXHJcbiAgICogQ291bnRlciB2b20gT3B0aW9uSUQ7IGRlZmF1bHQgV2VydCA9IDBcclxuICAgKi9cclxuICBwdWJsaWMgX29wdGlvbklkQ291bnRlcjogbnVtYmVyID0gMDtcclxuXHJcbiAgLyoqXHJcbiAgICogT3B0aW9uTWFwXHJcbiAgICovXHJcbiAgcHVibGljIF9vcHRpb25NYXA6IE1hcDxzdHJpbmcsIGFueT4gPSBuZXcgTWFwPHN0cmluZywgYW55PigpO1xyXG5cclxuICAvKipcclxuICAgKiBMYWJlbCBUZXh0IGbDvHIgRW1wdHkgSXRlbVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBlbXB0eWxhYmVsOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgLyoqXHJcbiAgICogT3B0aW9uIFZhbHVlIGbDvHIgRW1wdHkgSXRlbVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBlbXB0eXZhbHVlOiBzdHJpbmcgPSBudWxsO1xyXG5cclxuICAvKipcclxuICAgKiBSZXNvdXJjZSBLZXkgZsO8ciBWYWxpZGF0aW9uIE1lc3NhZ2UgUmVxdWlyZWQgYmVpIENvbnRyb2xcclxuICAgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgdmFsaWRhdGlvbm1lc3NhZ2VyZXF1aXJlZDogc3RyaW5nID1cclxuICAgIHRoaXMudmFsaWRhdGlvbktleVNlcnZpY2UuVmFsaWRhdGlvbkVycm9yUmVxdWlyZWQ7XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlc291cmNlIEtleSBmw7xyIFZhbGlkYXRpb24gTWVzc2FnZSBSZXF1aXJlZCBpbiBWYWxpZGF0aW9uIFN1bW1hcnlcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB2YWxpZGF0aW9ubWVzc2FnZXN1bW1hcnlyZXF1aXJlZDogc3RyaW5nID1cclxuICAgIHRoaXMudmFsaWRhdGlvbktleVNlcnZpY2UuVmFsaWRhdGlvbkVycm9yU3VtbWFyeVJlcXVpcmVkO1xyXG5cclxuICAvKipcclxuICAgKiBDb25zdHJ1Y3RvclxyXG4gICAqIEBwYXJhbSBmb3JtbGF5b3V0IFNhY0Zvcm1MYXlvdXRDb21tb24gdG8gZGVmaW5lIHNjb3BlZCBsYXlvdXQgc2V0dGluZ3NcclxuICAgKiBAcGFyYW0gaW5qZWN0b3IgSW5qZWN0b3IgZm9yIGluamVjdGluZyBzZXJ2aWNlc1xyXG4gICAqIEBwYXJhbSByZW5kZXJlciBodG1sIHJlbmRlcmluZyBlbmdpbmVcclxuICAgKiBAcGFyYW0gZWxlbWVudFJlZiByZWZlcmVuY2UgdG8gaHRtbCBlbGVtZW50XHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBASG9zdCgpIGZvcm1sYXlvdXQ6IFNhY0Zvcm1MYXlvdXRDb21tb24sXHJcbiAgICBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWZcclxuICApIHtcclxuICAgIHN1cGVyKGZvcm1sYXlvdXQsIGluamVjdG9yKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIGNvbXBhcmVXaXRoLUZ1bmt0aW9uXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IGNvbXBhcmV3aXRoKGZuOiAobzE6IGFueSwgbzI6IGFueSkgPT4gYm9vbGVhbikge1xyXG4gICAgaWYgKHR5cGVvZiBmbiAhPT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXHJcbiAgICAgICAgYGNvbXBhcmVXaXRoIG11c3QgYmUgYSBmdW5jdGlvbiwgYnV0IHJlY2VpdmVkICR7SlNPTi5zdHJpbmdpZnkoZm4pfWBcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIHRoaXMuX2NvbXBhcmVXaXRoID0gZm47XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZWdpc3RyaWVydCBkYXMgT3B0aW9uSUQtQ291bnRlciBhbHMgU3RyaW5nXHJcbiAgICovXHJcbiAgcHVibGljIHJlZ2lzdGVyT3B0aW9uKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gKHRoaXMuX29wdGlvbklkQ291bnRlcisrKS50b1N0cmluZygpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0aG9kZSBkaWUgdm9uIE9wdGlvbnMgYXVmZ2VydWZlbiB3aXJkLCB1bSBkYXMgTWFwcGluZyB6d2lzY2hlbiBEcm9wZG93biBWYWx1ZSB1bmQgVmFsdWUgaGVyenVzdGVsbGVuLlxyXG4gICAqIEBwYXJhbSBpZDogSWQgYXVzIE9wdGlvbnNcclxuICAgKiBAcGFyYW0gdmFsdWU6IFZhbHVlXHJcbiAgICovXHJcbiAgcHVibGljIHNldE9wdGlvbk1hcChpZDogc3RyaW5nLCB2YWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLl9vcHRpb25NYXAuc2V0KGlkLCB2YWx1ZSk7XHJcblxyXG4gICAgLy8gU2VsZWN0ZWQgVmFsdWUgYXVmIENvbnRyb2wgYWt0dWFsaXNpZXJlbiwgd2VubiBWYWx1ZSBkZW0gU2VsZWN0ZWRWYWx1ZSBlbnRzcHJpY2h0XHJcbiAgICBpZiAodGhpcy52YWx1ZSA9PT0gdmFsdWUpIHtcclxuICAgICAgdGhpcy5zZXRTZWxlY3RlZFZhbHVlKHZhbHVlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFdlcnQgZWluc3RlbGxlblxyXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFdlcnRcclxuICAgKi9cclxuICBwdWJsaWMgc2V0VmFsdWUodmFsdWU6IHN0cmluZykge1xyXG4gICAgc3VwZXIuc2V0VmFsdWUodGhpcy5nZXRPcHRpb25WYWx1ZSh2YWx1ZSkpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVmFsaWRhdG9yXHJcbiAgICogQHBhcmFtIGMgQ29udHJvbCBJbnN0YW56XHJcbiAgICovXHJcbiAgcHVibGljIHZhbGlkYXRlRGF0YShjOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XHJcbiAgICBsZXQgZXJyb3I6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgICBpZiAodGhpcy5pc3JlcXVpcmVkKSB7XHJcbiAgICAgIGVycm9yID0gVmFsaWRhdGlvbi5yZXF1aXJlZChcclxuICAgICAgICB0aGlzLnZhbGlkYXRpb25tZXNzYWdlcmVxdWlyZWQsXHJcbiAgICAgICAgdGhpcy52YWxpZGF0aW9ubWVzc2FnZXN1bW1hcnlyZXF1aXJlZFxyXG4gICAgICApKGMpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChlcnJvcikge1xyXG4gICAgICByZXR1cm4gZXJyb3I7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuaXNyZXF1aXJlZCAmJiB0aGlzLmVtcHR5dmFsdWUgIT09IG51bGwpIHtcclxuICAgICAgZXJyb3IgPSBWYWxpZGF0aW9uLm5vdGVxdWFscyhcclxuICAgICAgICB0aGlzLmVtcHR5dmFsdWUsXHJcbiAgICAgICAgdGhpcy52YWxpZGF0aW9ubWVzc2FnZXJlcXVpcmVkLFxyXG4gICAgICAgIHRoaXMudmFsaWRhdGlvbm1lc3NhZ2VzdW1tYXJ5cmVxdWlyZWRcclxuICAgICAgKShjKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZXJyb3I7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBXZXJ0IHNjaHJlaWJlblxyXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFdlcnRcclxuICAgKi9cclxuICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLnNldFNlbGVjdGVkVmFsdWUodmFsdWUpO1xyXG4gICAgc3VwZXIud3JpdGVWYWx1ZSh2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJRCBleHRyYWhpZXJlblxyXG4gICAqIEBwYXJhbSB2YWx1ZVN0cmluZyBTdHJpbmcgYmVpIHdlbGNoZW0gZGllIElEIEV4dHJhaGllcnQgd2VyZGVuIHNvbGxcclxuICAgKi9cclxuICBwcml2YXRlIGV4dHJhY3RJZCh2YWx1ZVN0cmluZzogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB2YWx1ZVN0cmluZy5zcGxpdCgnOicpWzBdO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTmltbXQgZGFzIElEIHZvbSBPcHRpb25cclxuICAgKiBAcGFyYW0gdmFsdWVcclxuICAgKi9cclxuICBwcml2YXRlIGdldE9wdGlvbklkKHZhbHVlOiBhbnkpOiBzdHJpbmcgfCBudWxsIHtcclxuICAgIGZvciAoY29uc3QgaWQgb2YgQXJyYXkuZnJvbSh0aGlzLl9vcHRpb25NYXAua2V5cygpKSkge1xyXG4gICAgICBpZiAodGhpcy5fY29tcGFyZVdpdGgodGhpcy5fb3B0aW9uTWFwLmdldChpZCksIHZhbHVlKSkge1xyXG4gICAgICAgIHJldHVybiBpZDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBOaW1tdCBkZW4gU3RyaW5nLVdlcnQgdm9tIE9wdGlvblxyXG4gICAqIEBwYXJhbSB2YWx1ZVN0cmluZ1xyXG4gICAqL1xyXG4gIHByaXZhdGUgZ2V0T3B0aW9uVmFsdWUodmFsdWVTdHJpbmc6IHN0cmluZyk6IGFueSB7XHJcbiAgICBjb25zdCBpZDogc3RyaW5nID0gdGhpcy5leHRyYWN0SWQodmFsdWVTdHJpbmcpO1xyXG4gICAgcmV0dXJuIHRoaXMuX29wdGlvbk1hcC5oYXMoaWQpID8gdGhpcy5fb3B0aW9uTWFwLmdldChpZCkgOiB2YWx1ZVN0cmluZztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldHp0IGRlbiBTZWxlY3RlZCBWYWx1ZSBhdWYgZGVtIENvbnRyb2xcclxuICAgKiBAcGFyYW0gdmFsdWUgVmFsdWVcclxuICAgKi9cclxuICBwcml2YXRlIHNldFNlbGVjdGVkVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgLy8gU2VsZWN0IEl0ZW0gYXVzIENvbnRyb2wgbGVzZW5cclxuICAgIGNvbnN0IHNlbGVjdEl0ZW06IGFueSA9XHJcbiAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdzZWxlY3QnKVswXTtcclxuICAgIC8qKlxyXG4gICAgICogSWQgdm9tIFNlbGVjdCBJdGVtXHJcbiAgICAgKi9cclxuICAgIGNvbnN0IGlkOiBzdHJpbmcgfCBudWxsID0gdGhpcy5nZXRPcHRpb25JZCh2YWx1ZSk7XHJcbiAgICAvKipcclxuICAgICAqIFZhbHVlIFN0cmluZ1xyXG4gICAgICovXHJcbiAgICBjb25zdCB2YWx1ZVN0cmluZyA9IF9idWlsZFZhbHVlU3RyaW5nKGlkLCB2YWx1ZSk7XHJcblxyXG4gICAgaWYgKHNlbGVjdEl0ZW0gIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KHNlbGVjdEl0ZW0sICd2YWx1ZScsIHZhbHVlU3RyaW5nKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|