mmhglobal-dynamicform 2.0.0-beta.9 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +323 -0
- package/esm2020/lib/components/buttonfieldbase.component.mjs +20 -13
- package/esm2020/lib/components/containerfieldbase.component.mjs +5 -5
- package/esm2020/lib/components/datalistingfieldbase.component.mjs +27 -13
- package/esm2020/lib/components/fieldbase.component.mjs +8 -5
- package/esm2020/lib/components/inputfieldbase.component.mjs +144 -15
- package/esm2020/lib/constants/constant.mjs +4 -0
- package/esm2020/lib/directives/elementcontainer.directive.mjs +3 -3
- package/esm2020/lib/directives/fieldelement.directive.mjs +3 -3
- package/esm2020/lib/directives/scrollbar.theme.directive.mjs +3 -3
- package/esm2020/lib/embed-components/input-field-addons/input-field-addons.component.mjs +34 -15
- package/esm2020/lib/embed-components/page-loader/page-loader.component.mjs +14 -0
- package/esm2020/lib/embed-components/processing-record-loader/processing-record-loader.component.mjs +14 -0
- package/esm2020/lib/input-error-message/input-error-message.component.mjs +20 -9
- package/esm2020/lib/kcard/kcard.component.mjs +5 -5
- package/esm2020/lib/mmhglobal-dynamicform.module.mjs +65 -12
- package/esm2020/lib/pipe/htmlSanitize.pipe.mjs +3 -3
- package/esm2020/lib/services/component-error-handler.service.mjs +68 -31
- package/esm2020/lib/services/main.service.mjs +399 -199
- package/esm2020/lib/services/signalr.service.mjs +126 -0
- package/esm2020/lib/services/zcomponent.debug.service.mjs +11 -5
- package/esm2020/lib/services/zcomponent.service.mjs +72 -20
- package/esm2020/lib/uiactionbutton/uiactionbutton.component.mjs +34 -74
- package/esm2020/lib/uiappmenucontent/uiappmenucontent.component.mjs +13 -6
- package/esm2020/lib/uibulletin/uibulletin.component.mjs +91 -0
- package/esm2020/lib/uicontainer/uicontainer.component.mjs +10 -9
- package/esm2020/lib/uicontent/uicontent.component.mjs +20 -13
- package/esm2020/lib/uiheader/uiheader.component.mjs +14 -11
- package/esm2020/lib/uimenubutton/uimenubutton.component.mjs +4 -4
- package/esm2020/lib/uimenucontent/uimenucontent.component.mjs +3 -3
- package/esm2020/lib/uipage/uipage.component.mjs +8 -5
- package/esm2020/lib/uivalidationmessage/uivalidationmessage.component.mjs +3 -3
- package/esm2020/lib/zbullet/zbullet.component.mjs +3 -3
- package/esm2020/lib/zbuttons/zbuttons.component.mjs +19 -33
- package/esm2020/lib/zcard/zcard.component.mjs +12 -5
- package/esm2020/lib/zchart/zchart.component.mjs +94 -77
- package/esm2020/lib/zcheckbox/zcheckbox.component.mjs +18 -7
- package/esm2020/lib/zchip/zchip.component.mjs +3 -3
- package/esm2020/lib/zcodeeditor/zcodeeditor.component.mjs +3 -3
- package/esm2020/lib/zcodeeditor/zcodeeditor.pipe.mjs +3 -3
- package/esm2020/lib/zdaterange/zdaterange.component.mjs +3 -3
- package/esm2020/lib/zdatetime/dateIonicFormatParser.pipe.mjs +40 -0
- package/esm2020/lib/zdatetime/dateIonicMinMaxDate.pipe.mjs +22 -0
- package/esm2020/lib/zdatetime/dateKendoFormatParser.pipe.mjs +40 -0
- package/esm2020/lib/zdatetime/dateParser.pipe.mjs +16 -10
- package/esm2020/lib/zdatetime/zdatetime.component.mjs +78 -187
- package/esm2020/lib/zdiv/zdiv.component.mjs +5 -8
- package/esm2020/lib/zdiv/zdiv.pipe.mjs +3 -3
- package/esm2020/lib/zform/zform.component.mjs +40 -38
- package/esm2020/lib/zformcontrol/zformcontrol.component.mjs +3 -3
- package/esm2020/lib/zgauge/zgauge.component.mjs +13 -7
- package/esm2020/lib/zgrid/container/zgrid-container.component.mjs +99 -0
- package/esm2020/lib/zgrid/date-range-cell-filter.component.mjs +22 -11
- package/esm2020/lib/zgrid/zgrid.binding.directive.mjs +65 -25
- package/esm2020/lib/zgrid/zgrid.component.mjs +434 -336
- package/esm2020/lib/zgrid/zgrid.popup.anchor-target.directive.mjs +3 -3
- package/esm2020/lib/zimg/zimg.component.mjs +3 -3
- package/esm2020/lib/zinput-container/zinput-container.component.mjs +39 -24
- package/esm2020/lib/zinput-container/zinput-container.pipe.mjs +22 -11
- package/esm2020/lib/zkcard/zkcard.component.mjs +3 -3
- package/esm2020/lib/zlabel/zlabel.component.mjs +5 -5
- package/esm2020/lib/zmfb/zmfb.component.mjs +4 -8
- package/esm2020/lib/zmodal/zmodal-mobile.component.mjs +3 -3
- package/esm2020/lib/zmodal/zmodal.component.mjs +3 -3
- package/esm2020/lib/znumeric/znumeric.component.mjs +33 -23
- package/esm2020/lib/znumeric/znumeric.component.pipe.mjs +19 -0
- package/esm2020/lib/zpostselectinput/zpostselectinput.component.mjs +17 -6
- package/esm2020/lib/zprogressbar/zprogressbar.component.mjs +3 -3
- package/esm2020/lib/zquerybuilder/zquerybuilder.component.mjs +11 -5
- package/esm2020/lib/zreport/zreport.component.mjs +3 -3
- package/esm2020/lib/zscheduler/zscheduler.component.mjs +3 -3
- package/esm2020/lib/zscheduler/zscheduler.toolbar.component.mjs +4 -4
- package/esm2020/lib/zselectmultiple/zselectmultiple.component.mjs +73 -34
- package/esm2020/lib/zselectmultiple/zselectmultiple.directive.mjs +3 -3
- package/esm2020/lib/zselectmultiple/zselectmultiple.pipe.mjs +29 -0
- package/esm2020/lib/ztab/ztab.component.mjs +57 -15
- package/esm2020/lib/ztab/ztab.pipe.mjs +3 -3
- package/esm2020/lib/ztext/ztext.component.mjs +18 -7
- package/esm2020/lib/ztextarea/ztextarea.component.mjs +18 -7
- package/esm2020/lib/ztexteditor/ztexteditor.component.mjs +46 -42
- package/esm2020/lib/ztree/ztree.component.mjs +95 -32
- package/esm2020/lib/ztreelist/ztreelist.component.mjs +34 -12
- package/esm2020/lib/ztrendcard/ztrendcard.component.mjs +3 -3
- package/esm2020/lib/zudf/zudf.component.mjs +758 -119
- package/esm2020/lib/zunknown/zunknown.component.mjs +3 -3
- package/esm2020/lib/zupload/zupload.component.mjs +3 -3
- package/esm2020/lib/zworkflowbuttons/zworkflowbuttons.component.mjs +70 -20
- package/esm2020/public-api.mjs +10 -1
- package/fesm2015/mmhglobal-dynamicform.mjs +4054 -2132
- package/fesm2015/mmhglobal-dynamicform.mjs.map +1 -1
- package/fesm2020/mmhglobal-dynamicform.mjs +4056 -2135
- package/fesm2020/mmhglobal-dynamicform.mjs.map +1 -1
- package/lib/components/buttonfieldbase.component.d.ts +1 -0
- package/lib/components/datalistingfieldbase.component.d.ts +5 -1
- package/lib/components/fieldbase.component.d.ts +1 -0
- package/lib/components/inputfieldbase.component.d.ts +7 -2
- package/lib/constants/constant.d.ts +3 -0
- package/lib/embed-components/input-field-addons/input-field-addons.component.d.ts +6 -4
- package/lib/embed-components/page-loader/page-loader.component.d.ts +8 -0
- package/lib/embed-components/processing-record-loader/processing-record-loader.component.d.ts +8 -0
- package/lib/input-error-message/input-error-message.component.d.ts +3 -2
- package/lib/mmhglobal-dynamicform.module.d.ts +93 -82
- package/lib/services/component-error-handler.service.d.ts +8 -3
- package/lib/services/main.service.d.ts +33 -9
- package/lib/services/signalr.service.d.ts +40 -0
- package/lib/services/zcomponent.service.d.ts +5 -1
- package/lib/uiactionbutton/uiactionbutton.component.d.ts +8 -14
- package/lib/uibulletin/uibulletin.component.d.ts +37 -0
- package/lib/uicontent/uicontent.component.d.ts +3 -2
- package/lib/uiheader/uiheader.component.d.ts +1 -0
- package/lib/zbuttons/zbuttons.component.d.ts +2 -3
- package/lib/zcard/zcard.component.d.ts +1 -0
- package/lib/zchart/zchart.component.d.ts +21 -14
- package/lib/zcheckbox/zcheckbox.component.d.ts +3 -0
- package/lib/zdatetime/dateIonicFormatParser.pipe.d.ts +10 -0
- package/lib/zdatetime/dateIonicMinMaxDate.pipe.d.ts +7 -0
- package/lib/zdatetime/dateKendoFormatParser.pipe.d.ts +10 -0
- package/lib/zdatetime/dateParser.pipe.d.ts +5 -1
- package/lib/zdatetime/zdatetime.component.d.ts +15 -16
- package/lib/zform/zform.component.d.ts +3 -2
- package/lib/zgrid/container/zgrid-container.component.d.ts +28 -0
- package/lib/zgrid/date-range-cell-filter.component.d.ts +5 -1
- package/lib/zgrid/zgrid.binding.directive.d.ts +3 -0
- package/lib/zgrid/zgrid.component.d.ts +43 -23
- package/lib/zinput-container/zinput-container.component.d.ts +13 -7
- package/lib/zinput-container/zinput-container.pipe.d.ts +5 -1
- package/lib/zmfb/zmfb.component.d.ts +0 -1
- package/lib/znumeric/znumeric.component.d.ts +8 -1
- package/lib/znumeric/znumeric.component.pipe.d.ts +10 -0
- package/lib/zpostselectinput/zpostselectinput.component.d.ts +3 -0
- package/lib/zquerybuilder/zquerybuilder.component.d.ts +1 -0
- package/lib/zselectmultiple/zselectmultiple.component.d.ts +8 -5
- package/lib/zselectmultiple/zselectmultiple.pipe.d.ts +11 -0
- package/lib/ztab/ztab.component.d.ts +7 -2
- package/lib/ztext/ztext.component.d.ts +3 -0
- package/lib/ztextarea/ztextarea.component.d.ts +3 -0
- package/lib/ztexteditor/ztexteditor.component.d.ts +14 -22
- package/lib/ztree/ztree.component.d.ts +14 -5
- package/lib/ztreelist/ztreelist.component.d.ts +7 -2
- package/lib/zudf/zudf.component.d.ts +183 -15
- package/lib/zworkflowbuttons/zworkflowbuttons.component.d.ts +6 -2
- package/package.json +1 -1
- package/public-api.d.ts +9 -0
|
@@ -36,6 +36,9 @@ export class FieldBase {
|
|
|
36
36
|
this.data.ComponentStyleType = this.data.ComponentStyleType || "style1";
|
|
37
37
|
return forkJoin([this.compService.translateComponentField(this.data, this.group), this.compService.translateComponentProperties(this.componentProperties, this.group)]);
|
|
38
38
|
}
|
|
39
|
+
setupInnerField() {
|
|
40
|
+
ZComponentHelper.registerComponent(this);
|
|
41
|
+
}
|
|
39
42
|
isMobileScreen() {
|
|
40
43
|
const v = ZComponentHelper.isMobileScreen();
|
|
41
44
|
return v;
|
|
@@ -66,12 +69,12 @@ export class FieldBase {
|
|
|
66
69
|
return iconName;
|
|
67
70
|
}
|
|
68
71
|
toggleEditMode() {
|
|
69
|
-
this.data.
|
|
72
|
+
this.data[`_EditMode`].value = !this.data[`_EditMode`].value;
|
|
70
73
|
}
|
|
71
74
|
}
|
|
72
|
-
FieldBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.
|
|
73
|
-
FieldBase.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.
|
|
74
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.
|
|
75
|
+
FieldBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FieldBase, deps: [{ token: i1.ZComponentService }], target: i0.ɵɵFactoryTarget.Component });
|
|
76
|
+
FieldBase.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: FieldBase, selector: "ng-component", inputs: { data: "data", group: "group", form: "form", containerField: "containerField", componentProperties: "componentProperties" }, ngImport: i0, template: ``, isInline: true });
|
|
77
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FieldBase, decorators: [{
|
|
75
78
|
type: Component,
|
|
76
79
|
args: [{
|
|
77
80
|
template: ``,
|
|
@@ -87,4 +90,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
87
90
|
}], componentProperties: [{
|
|
88
91
|
type: Input
|
|
89
92
|
}] } });
|
|
90
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGRiYXNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21taGdsb2JhbC1keW5hbWljZm9ybS9zcmMvbGliL2NvbXBvbmVudHMvZmllbGRiYXNlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQkFBK0I7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxvQkFBb0IsRUFBa0IsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RixPQUFPLEVBQUUsUUFBUSxFQUFjLE1BQU0sTUFBTSxDQUFDOzs7QUFPNUMsZ0RBQWdEO0FBQ2hELE1BQU0sT0FBTyxTQUFTO0lBUXBCLFlBQW1CLFdBQThCO1FBQTlCLGdCQUFXLEdBQVgsV0FBVyxDQUFtQjtRQUQxQyxjQUFTLEdBQUcsSUFBSSxDQUFDO1FBK0NqQixjQUFTLEdBQUcsQ0FBQyxNQUFlLEVBQUUsRUFBRTtZQUNyQyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN2RCxJQUFJLEVBQUUsRUFBRTtnQkFDTixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO2FBQ3JDO1lBQ0QsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsR0FBRyxDQUFDLE1BQU0sQ0FBQztRQUNoRCxDQUFDLENBQUE7UUFFTSxlQUFVLEdBQUcsQ0FBQyxNQUFlLEVBQUUsRUFBRTtZQUN0QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQztZQUM1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LENBQUM7UUFDM0UsSUFBSSxhQUFhLEVBQUU7WUFDakIsT0FBTyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDdkQ7UUFDRCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRU0sY0FBYztRQUNuQixJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQy9ELENBQUM7O3VHQWxGVSxTQUFTOzJGQUFULFNBQVMsMExBSlYsRUFBRTs0RkFJRCxTQUFTO2tCQUxyQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxFQUFFO2lCQUNiO3dHQUlVLElBQUk7c0JBQVosS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyoqKioqKioqKiogQW5ndWxhciAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IFpDb21wb25lbnRIZWxwZXIsIFpDb21wb25lbnRQcm9wZXJ0aWVzLCBaRmllbGQsIFpHcm91cCB9IGZyb20gXCJtbWhnbG9iYWwtemNvcmVcIjtcclxuaW1wb3J0IHsgZm9ya0pvaW4sIE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBaQ29tcG9uZW50U2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy96Y29tcG9uZW50LnNlcnZpY2VcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHRlbXBsYXRlOiBgYCxcclxufSlcclxuXHJcbi8vIEZvcjogYXBwLWVycm9yLCB6Z2F1Z2UsIHpwcm9ncmVzc2JhciwgenJlcG9ydFxyXG5leHBvcnQgY2xhc3MgRmllbGRCYXNlIHtcclxuICBASW5wdXQoKSBkYXRhOiBaRmllbGQ7XHJcbiAgQElucHV0KCkgZ3JvdXA6IFpHcm91cDtcclxuICBASW5wdXQoKSBmb3JtOiBGb3JtR3JvdXA7XHJcbiAgQElucHV0KCkgY29udGFpbmVyRmllbGQ6IFpGaWVsZDtcclxuICBASW5wdXQoKSBjb21wb25lbnRQcm9wZXJ0aWVzOiBaQ29tcG9uZW50UHJvcGVydGllcztcclxuXHJcbiAgcHVibGljIGlzTG9hZGluZyA9IHRydWU7XHJcbiAgY29uc3RydWN0b3IocHVibGljIGNvbXBTZXJ2aWNlOiBaQ29tcG9uZW50U2VydmljZSkgeyB9XHJcblxyXG4gIHB1YmxpYyBpbml0Q29tcG9uZW50KCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLmNvbXBvbmVudFByb3BlcnRpZXMgPSB0aGlzLmNvbXBvbmVudFByb3BlcnRpZXMgfHwgbmV3IFpDb21wb25lbnRQcm9wZXJ0aWVzKCk7XHJcbiAgICBaQ29tcG9uZW50SGVscGVyLnNldENvbXBvbmVudFByb3BlcnRpZXModGhpcyk7XHJcbiAgICBaQ29tcG9uZW50SGVscGVyLnJlZ2lzdGVyQ29tcG9uZW50KHRoaXMpO1xyXG4gICAgdGhpcy5jb21wU2VydmljZS5zZXRDb21wb25lbnRBZGRpdGlvbmFsUHJvcGVydGllcyh0aGlzKTtcclxuICAgIHRoaXMuY29tcFNlcnZpY2Uuc2V0Q29tcFN0eWxlc0J5SW5kZXgodGhpcyk7XHJcbiAgICB0aGlzLmRhdGEuQ29tcG9uZW50U3R5bGVUeXBlID0gdGhpcy5kYXRhLkNvbXBvbmVudFN0eWxlVHlwZSB8fCBcInN0eWxlMVwiO1xyXG4gICAgcmV0dXJuIGZvcmtKb2luKFt0aGlzLmNvbXBTZXJ2aWNlLnRyYW5zbGF0ZUNvbXBvbmVudEZpZWxkKHRoaXMuZGF0YSwgdGhpcy5ncm91cCksIHRoaXMuY29tcFNlcnZpY2UudHJhbnNsYXRlQ29tcG9uZW50UHJvcGVydGllcyh0aGlzLmNvbXBvbmVudFByb3BlcnRpZXMsIHRoaXMuZ3JvdXApXSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0dXBJbm5lckZpZWxkKCkge1xyXG4gICAgWkNvbXBvbmVudEhlbHBlci5yZWdpc3RlckNvbXBvbmVudCh0aGlzKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpc01vYmlsZVNjcmVlbigpIHtcclxuICAgIGNvbnN0IHYgPSBaQ29tcG9uZW50SGVscGVyLmlzTW9iaWxlU2NyZWVuKCk7XHJcbiAgICByZXR1cm4gdjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRDbGFzcyhmb3JtOiBGb3JtR3JvdXAsIGRhdGE6IFpGaWVsZCkge1xyXG4gICAgcmV0dXJuIGAke1pDb21wb25lbnRIZWxwZXIuZ2V0SW9uX0ludmFsaWRDbGFzcyhmb3JtLCBkYXRhKX0gJHtkYXRhLkRpdkNsYXNzfSAke2RhdGEuQ2xhc3N9YDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRJb25fSW52YWxpZENsYXNzKGZvcm06IEZvcm1Hcm91cCwgZGF0YTogWkZpZWxkKSB7XHJcbiAgICByZXR1cm4gWkNvbXBvbmVudEhlbHBlci5nZXRJb25fSW52YWxpZENsYXNzKGZvcm0sIGRhdGEpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldFN0eWxlKHN0eWxlOiBzdHJpbmcsIGluZDogc3RyaW5nID0gXCJcIikge1xyXG4gICAgdGhpcy5jb21wU2VydmljZS5zZXRTdHlsZUJ5SW5kZXgodGhpcywgaW5kLCBzdHlsZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0SWNvbihpY29uOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuY29tcG9uZW50UHJvcGVydGllcy5pY29uID0gaWNvbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRMYWJlbFRleHQobGFiZWw6IHN0cmluZykge1xyXG4gICAgdGhpcy5jb21wb25lbnRQcm9wZXJ0aWVzLmxhYmVsID0gbGFiZWw7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0Q29udGFpbmVyU3R5bGUoc3R5bGU6IHN0cmluZywgaW5kOiBzdHJpbmcgPSBcIlwiKSB7XHJcbiAgICB0aGlzLmNvbXBTZXJ2aWNlLnNldENvbnRhaW5lclN0eWxlQnlJbmRleCh0aGlzLCBpbmQsIHN0eWxlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRFbmFibGUgPSAoc3RhdHVzOiBib29sZWFuKSA9PiB7XHJcbiAgICBjb25zdCBmYyA9IHRoaXMuZ3JvdXA/LmZvcm0/LmNvbnRyb2xzW3RoaXMuZGF0YS5WYWx1ZV07XHJcbiAgICBpZiAoZmMpIHtcclxuICAgICAgc3RhdHVzID8gZmMuZW5hYmxlKCkgOiBmYy5kaXNhYmxlKCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmNvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seSA9ICFzdGF0dXM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0VmlzaWJsZSA9IChzdGF0dXM6IGJvb2xlYW4pID0+IHtcclxuICAgIHRoaXMuY29tcG9uZW50UHJvcGVydGllcy5pc1Zpc2libGUgPSBzdGF0dXM7XHJcbiAgICB0aGlzLmRhdGEuVmlzaWJsZSA9IHN0YXR1cztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRSZXF1aXJlID0gKHN0YXR1czogYm9vbGVhbikgPT4ge1xyXG4gICAgdGhpcy5jb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVxdWlyZWQgPSBzdGF0dXM7XHJcbiAgICBaQ29tcG9uZW50SGVscGVyLmNoYW5nZVZhbGlkYXRvcihzdGF0dXMsIHRoaXMuZ3JvdXAsIHRoaXMuZGF0YS5WYWx1ZSwgdGhpcy5jb21wb25lbnRQcm9wZXJ0aWVzLCBWYWxpZGF0b3JzLnJlcXVpcmVkKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRGb250QXdlc29tZShpY29uTmFtZTogYW55KSB7XHJcbiAgICBjb25zdCBpY29uTmFtZVZhbHVlID0gWkNvbXBvbmVudEhlbHBlci5nZXRHcm91cFZhbHVlKGljb25OYW1lLCB0aGlzLmdyb3VwKTtcclxuICAgIGlmIChpY29uTmFtZVZhbHVlKSB7XHJcbiAgICAgIHJldHVybiBaQ29tcG9uZW50SGVscGVyLmdldEZvbnRBd2Vzb21lKGljb25OYW1lVmFsdWUpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGljb25OYW1lO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHRvZ2dsZUVkaXRNb2RlKCkge1xyXG4gICAgdGhpcy5kYXRhW2BfRWRpdE1vZGVgXS52YWx1ZSA9ICF0aGlzLmRhdGFbYF9FZGl0TW9kZWBdLnZhbHVlO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,15 +1,14 @@
|
|
|
1
|
-
import { Component } from "@angular/core";
|
|
1
|
+
import { Component, EventEmitter, Output } from "@angular/core";
|
|
2
2
|
import { ZComponentHelper } from "mmhglobal-zcore";
|
|
3
3
|
import { FieldBase } from "./fieldbase.component";
|
|
4
|
+
import { interval, of, switchMap, takeWhile, tap } from "rxjs";
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
6
|
import * as i1 from "../services/zcomponent.service";
|
|
6
7
|
// For: zcheckbox, zchip, zdatetime, zimg, zinput-container, zlabel, znumeric, zpostselectinput, zselectmultiple, ztext, ztextarea, zupload
|
|
7
8
|
export class InputFieldBase extends FieldBase {
|
|
8
9
|
constructor(compService) {
|
|
9
10
|
super(compService);
|
|
10
|
-
|
|
11
|
-
setupInnerField() {
|
|
12
|
-
ZComponentHelper.registerComponent(this);
|
|
11
|
+
this.triggerContainerEvent = new EventEmitter();
|
|
13
12
|
}
|
|
14
13
|
onClick(event, fieldValue) {
|
|
15
14
|
this.triggerEvent("inputfield-onClick", this.data.OnClick, event, fieldValue || event['OnClick']);
|
|
@@ -19,17 +18,19 @@ export class InputFieldBase extends FieldBase {
|
|
|
19
18
|
this.triggerEvent("inputfield-onChangeCC", this.data.CCOnChange, event, fieldValue);
|
|
20
19
|
}
|
|
21
20
|
onChange(event, fieldValue) {
|
|
22
|
-
|
|
23
|
-
|
|
21
|
+
if (this.data.SubType && this.data.SubType === 'zudf') {
|
|
22
|
+
this.handleZudfChange(event, fieldValue);
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
ZComponentHelper.setComponentModelValue(this.data, this.getFieldValue(event, fieldValue), this.group);
|
|
26
|
+
this.triggerEvent("inputfield-onChange", this.data.OnChange, event, fieldValue);
|
|
27
|
+
}
|
|
24
28
|
}
|
|
25
29
|
onItemClick(event, fieldValue) {
|
|
26
30
|
this.triggerEvent("inputfield-onItemClick", this.data.OnItemClick, event, fieldValue);
|
|
27
31
|
}
|
|
28
32
|
onIconClick(clickActionExpr) {
|
|
29
|
-
|
|
30
|
-
if (clickActionValue) {
|
|
31
|
-
this.triggerEvent("inputfield-onIconClick", clickActionValue, null, this.group.zModel[this.data.Value]);
|
|
32
|
-
}
|
|
33
|
+
this.triggerEvent("inputfield-onIconClick", clickActionExpr, null, this.group.zModel[this.data.Value]);
|
|
33
34
|
}
|
|
34
35
|
getReadOnlyValue() {
|
|
35
36
|
const readOnlyValue = ZComponentHelper.getGroupEvalValue.call(this, this.data.ReadOnly);
|
|
@@ -50,6 +51,9 @@ export class InputFieldBase extends FieldBase {
|
|
|
50
51
|
setValue(value) {
|
|
51
52
|
ZComponentHelper.setComponentModelValue(this.data, value, this.group);
|
|
52
53
|
}
|
|
54
|
+
setAddOnValue(addOns) {
|
|
55
|
+
this.triggerContainerEvent.emit({ type: 'setAddOnValue', data: addOns });
|
|
56
|
+
}
|
|
53
57
|
triggerEvent(type, target, event, fieldValue) {
|
|
54
58
|
if (target) {
|
|
55
59
|
this.group.subject.next({
|
|
@@ -66,13 +70,138 @@ export class InputFieldBase extends FieldBase {
|
|
|
66
70
|
}
|
|
67
71
|
return fieldValue;
|
|
68
72
|
}
|
|
73
|
+
handleZudfChange(event, fieldValue) {
|
|
74
|
+
const zudfFieldValue = this.getFieldValue(event, fieldValue);
|
|
75
|
+
const zudfScope = ZComponentHelper.getZudfScope(this.group, this.data.Value);
|
|
76
|
+
if (!zudfScope) {
|
|
77
|
+
console.log('zudf scope is null for field onchange.');
|
|
78
|
+
}
|
|
79
|
+
zudfScope.zModel[this.data.Value] = zudfFieldValue;
|
|
80
|
+
of({}).pipe(tap(res => {
|
|
81
|
+
if (zudfScope.linkedComponent) {
|
|
82
|
+
this.cascadingHandling(zudfScope, this.data.Value, fieldValue);
|
|
83
|
+
}
|
|
84
|
+
}), tap(res => {
|
|
85
|
+
if (this.data['AutoPopulateChildFieldValue']) {
|
|
86
|
+
// ZUDF. Auto Populate child field value
|
|
87
|
+
const childFields = this.data['ChildFields'];
|
|
88
|
+
if (childFields) {
|
|
89
|
+
let selectedDataOption = null;
|
|
90
|
+
if (fieldValue) {
|
|
91
|
+
// get the selected data full info
|
|
92
|
+
const dataOption = this.group.zData[this.data['ZDataOptionName']];
|
|
93
|
+
if (dataOption) {
|
|
94
|
+
dataOption.forEach(option => {
|
|
95
|
+
if (option.Id === fieldValue) {
|
|
96
|
+
selectedDataOption = Object.assign({}, option);
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
// set to all related zMode of the dropdown
|
|
103
|
+
let fg = zudfScope.form;
|
|
104
|
+
childFields.forEach(childField => {
|
|
105
|
+
// remove symbol.
|
|
106
|
+
let childFieldName = encodeURI(childField.replace(/[^a-z0-9]/gi, ""));
|
|
107
|
+
const fieldModelName = this.data.Name + childFieldName;
|
|
108
|
+
const zModels = zudfScope.zModel;
|
|
109
|
+
const childComponent = ZComponentHelper.getComponent(this.group, 'text_' + fieldModelName);
|
|
110
|
+
if (childComponent['data']['ReadOnly'] && !fieldValue) {
|
|
111
|
+
// clear child field if only readonly is true.
|
|
112
|
+
zModels[fieldModelName] = !fieldValue ? null : selectedDataOption ? selectedDataOption[childFieldName] : null;
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
if (selectedDataOption) {
|
|
116
|
+
zModels[fieldModelName] = selectedDataOption[childFieldName];
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
fg.patchValue(zModels);
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}), switchMap(res => {
|
|
124
|
+
const eventName = 'triggerValidation';
|
|
125
|
+
if (this.group) {
|
|
126
|
+
if (this.group[eventName]) {
|
|
127
|
+
return this.group[eventName](this.group, event, fieldValue);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
return of({});
|
|
131
|
+
})).subscribe(res => {
|
|
132
|
+
this.triggerEvent("inputfield-onChange", this.data.OnChange, event, fieldValue);
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
cascadingHandling(zudfScope, fieldName, fieldValue) {
|
|
136
|
+
const linkedComponentScope = zudfScope.linkedComponent;
|
|
137
|
+
// #1 check is the onchange component linked to other component.
|
|
138
|
+
// #2 if linked to other component(lets call it child component),
|
|
139
|
+
// base on the linkedComponentScope value, find the child component.
|
|
140
|
+
// #3 keep the original SelectOptions in the component.
|
|
141
|
+
// #4 clear the child zmodel and filter the child component options.
|
|
142
|
+
// #5 auto select default zmodel if only have 1 option and is required.
|
|
143
|
+
// #6 handle child nested linked component.
|
|
144
|
+
linkedComponentScope.forEach(item => {
|
|
145
|
+
const dataValueSegments = fieldName.split('_');
|
|
146
|
+
const linkedComponentSegments = item.linkedComponent.split('_');
|
|
147
|
+
let isLinkedComponent = false;
|
|
148
|
+
// check is it linkedcomponent
|
|
149
|
+
if (linkedComponentSegments.length > 1 && dataValueSegments.length > 3) {
|
|
150
|
+
const lastTwoSegments = dataValueSegments.slice(-2).join('_');
|
|
151
|
+
if (linkedComponentSegments.join('_') === lastTwoSegments) {
|
|
152
|
+
isLinkedComponent = true;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
else if (linkedComponentSegments.length === 1) {
|
|
156
|
+
const lastSegment = dataValueSegments[dataValueSegments.length - 1];
|
|
157
|
+
if (linkedComponentSegments[0] === lastSegment) {
|
|
158
|
+
isLinkedComponent = true;
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
if (isLinkedComponent) {
|
|
162
|
+
const childComponent = ZComponentHelper.getComponentByValue(this.group, item.value);
|
|
163
|
+
const originalSelectOptions = childComponent.data['originalSelectOptions'] ?? Object.assign([], childComponent.data.SelectOptions);
|
|
164
|
+
const filteredSelectionOptions = originalSelectOptions.filter(option => option.parentExpression == fieldValue);
|
|
165
|
+
//childComponent.clearData(); //unable to use clearData. not handled for zudf type
|
|
166
|
+
// manuall patch the component formcontrol value
|
|
167
|
+
const zudfForm = zudfScope.form;
|
|
168
|
+
const componentFormControl = zudfForm.controls[item.value];
|
|
169
|
+
zudfScope.zModel[item.value] = null;
|
|
170
|
+
componentFormControl.patchValue(zudfScope.zModel[item.value]);
|
|
171
|
+
childComponent.data['originalSelectOptions'] = originalSelectOptions;
|
|
172
|
+
childComponent.setSelectOption(filteredSelectionOptions);
|
|
173
|
+
// set dropdown selected value if only 1 option.
|
|
174
|
+
const childComponentType = childComponent.data.Type;
|
|
175
|
+
if (filteredSelectionOptions.length === 1 && childComponent.data.IsRequired && (childComponentType === 'zuiselectmultiple' || childComponentType === 'zselectmultiple')) {
|
|
176
|
+
zudfScope.zModel[item.value] = filteredSelectionOptions[0][childComponent.itemValueField];
|
|
177
|
+
componentFormControl.patchValue(zudfScope.zModel[item.value]);
|
|
178
|
+
}
|
|
179
|
+
// loop children incase of nested child.
|
|
180
|
+
const childComponentValueSegments = childComponent.data.Value.split('_');
|
|
181
|
+
this.cascadingHandling(zudfScope, childComponentValueSegments[childComponentValueSegments.length - 1], zudfScope.zModel[item.value]);
|
|
182
|
+
}
|
|
183
|
+
});
|
|
184
|
+
}
|
|
185
|
+
focusOnDefault(focusFunction) {
|
|
186
|
+
if (this.data.IsFocus) {
|
|
187
|
+
let counter = 0;
|
|
188
|
+
let isFocused = false;
|
|
189
|
+
interval(500).pipe(takeWhile(x => counter < 5 && !isFocused), tap(() => {
|
|
190
|
+
isFocused = focusFunction();
|
|
191
|
+
counter++;
|
|
192
|
+
})).subscribe();
|
|
193
|
+
}
|
|
194
|
+
}
|
|
69
195
|
}
|
|
70
|
-
InputFieldBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.
|
|
71
|
-
InputFieldBase.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.
|
|
72
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.
|
|
196
|
+
InputFieldBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: InputFieldBase, deps: [{ token: i1.ZComponentService }], target: i0.ɵɵFactoryTarget.Component });
|
|
197
|
+
InputFieldBase.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: InputFieldBase, selector: "ng-component", outputs: { triggerContainerEvent: "triggerContainerEvent" }, usesInheritance: true, ngImport: i0, template: ``, isInline: true });
|
|
198
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: InputFieldBase, decorators: [{
|
|
73
199
|
type: Component,
|
|
74
200
|
args: [{
|
|
75
201
|
template: ``,
|
|
76
202
|
}]
|
|
77
|
-
}], ctorParameters: function () { return [{ type: i1.ZComponentService }]; }
|
|
78
|
-
|
|
203
|
+
}], ctorParameters: function () { return [{ type: i1.ZComponentService }]; }, propDecorators: { triggerContainerEvent: [{
|
|
204
|
+
type: Output,
|
|
205
|
+
args: ['triggerContainerEvent']
|
|
206
|
+
}] } });
|
|
207
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXRmaWVsZGJhc2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvY29tcG9uZW50cy9pbnB1dGZpZWxkYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBeUIsTUFBTSxpQkFBaUIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFbEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7OztBQU8vRCwySUFBMkk7QUFDM0ksTUFBTSxPQUFPLGNBQWUsU0FBUSxTQUFTO0lBRTNDLFlBQVksV0FBOEI7UUFDeEMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRlksMEJBQXFCLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7SUFHL0YsQ0FBQztJQUVNLE9BQU8sQ0FBQyxLQUFVLEVBQUUsVUFBZ0I7UUFDekMsSUFBSSxDQUFDLFlBQVksQ0FBQyxvQkFBb0IsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxJQUFJLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ3BHLENBQUM7SUFFTSxVQUFVLENBQUMsS0FBVSxFQUFFLFVBQWdCO1FBQzVDLGdCQUFnQixDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RHLElBQUksQ0FBQyxZQUFZ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d0dBSWtDLHFCQUFxQjtzQkFBckQsTUFBTTt1QkFBQyx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgT3V0cHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgWkNvbXBvbmVudEhlbHBlciwgWkNvbXBvbmVudE91dHB1dEV2ZW50IH0gZnJvbSBcIm1taGdsb2JhbC16Y29yZVwiO1xyXG5pbXBvcnQgeyBGaWVsZEJhc2UgfSBmcm9tIFwiLi9maWVsZGJhc2UuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFpDb21wb25lbnRTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL3pjb21wb25lbnQuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBpbnRlcnZhbCwgb2YsIHN3aXRjaE1hcCwgdGFrZVdoaWxlLCB0YXAgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZTogYGAsXHJcbn0pXHJcblxyXG4vLyBGb3I6IHpjaGVja2JveCwgemNoaXAsIHpkYXRldGltZSwgemltZywgemlucHV0LWNvbnRhaW5lciwgemxhYmVsLCB6bnVtZXJpYywgenBvc3RzZWxlY3RpbnB1dCwgenNlbGVjdG11bHRpcGxlLCB6dGV4dCwgenRleHRhcmVhLCB6dXBsb2FkXHJcbmV4cG9ydCBjbGFzcyBJbnB1dEZpZWxkQmFzZSBleHRlbmRzIEZpZWxkQmFzZSB7XHJcbiAgQE91dHB1dCgndHJpZ2dlckNvbnRhaW5lckV2ZW50JykgdHJpZ2dlckNvbnRhaW5lckV2ZW50OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBjb25zdHJ1Y3Rvcihjb21wU2VydmljZTogWkNvbXBvbmVudFNlcnZpY2UpIHtcclxuICAgIHN1cGVyKGNvbXBTZXJ2aWNlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkNsaWNrKGV2ZW50OiBhbnksIGZpZWxkVmFsdWU/OiBhbnkpIHtcclxuICAgIHRoaXMudHJpZ2dlckV2ZW50KFwiaW5wdXRmaWVsZC1vbkNsaWNrXCIsIHRoaXMuZGF0YS5PbkNsaWNrLCBldmVudCwgZmllbGRWYWx1ZSB8fCBldmVudFsnT25DbGljayddKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkNoYW5nZUNDKGV2ZW50OiBhbnksIGZpZWxkVmFsdWU/OiBhbnkpIHtcclxuICAgIFpDb21wb25lbnRIZWxwZXIuc2V0Q29tcG9uZW50TW9kZWxWYWx1ZSh0aGlzLmRhdGEsIHRoaXMuZ2V0RmllbGRWYWx1ZShldmVudCwgZmllbGRWYWx1ZSksIHRoaXMuZ3JvdXApO1xyXG4gICAgdGhpcy50cmlnZ2VyRXZlbnQoXCJpbnB1dGZpZWxkLW9uQ2hhbmdlQ0NcIiwgdGhpcy5kYXRhLkNDT25DaGFuZ2UsIGV2ZW50LCBmaWVsZFZhbHVlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkNoYW5nZShldmVudDogYW55LCBmaWVsZFZhbHVlPzogYW55KSB7XHJcbiAgICBpZiAodGhpcy5kYXRhLlN1YlR5cGUgJiYgdGhpcy5kYXRhLlN1YlR5cGUgPT09ICd6dWRmJykge1xyXG4gICAgICB0aGlzLmhhbmRsZVp1ZGZDaGFuZ2UoZXZlbnQsIGZpZWxkVmFsdWUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgWkNvbXBvbmVudEhlbHBlci5zZXRDb21wb25lbnRNb2RlbFZhbHVlKHRoaXMuZGF0YSwgdGhpcy5nZXRGaWVsZFZhbHVlKGV2ZW50LCBmaWVsZFZhbHVlKSwgdGhpcy5ncm91cCk7XHJcbiAgICAgIHRoaXMudHJpZ2dlckV2ZW50KFwiaW5wdXRmaWVsZC1vbkNoYW5nZVwiLCB0aGlzLmRhdGEuT25DaGFuZ2UsIGV2ZW50LCBmaWVsZFZhbHVlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkl0ZW1DbGljayhldmVudDogYW55LCBmaWVsZFZhbHVlPzogYW55KSB7XHJcbiAgICB0aGlzLnRyaWdnZXJFdmVudChcImlucHV0ZmllbGQtb25JdGVtQ2xpY2tcIiwgdGhpcy5kYXRhLk9uSXRlbUNsaWNrLCBldmVudCwgZmllbGRWYWx1ZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25JY29uQ2xpY2soY2xpY2tBY3Rpb25FeHByOiBzdHJpbmcpIHtcclxuICAgIHRoaXMudHJpZ2dlckV2ZW50KFwiaW5wdXRmaWVsZC1vbkljb25DbGlja1wiLCBjbGlja0FjdGlvbkV4cHIsIG51bGwsIHRoaXMuZ3JvdXAuek1vZGVsW3RoaXMuZGF0YS5WYWx1ZV0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFJlYWRPbmx5VmFsdWUoKSB7XHJcbiAgICBjb25zdCByZWFkT25seVZhbHVlID0gWkNvbXBvbmVudEhlbHBlci5nZXRHcm91cEV2YWxWYWx1ZS5jYWxsKHRoaXMsIHRoaXMuZGF0YS5SZWFkT25seSk7XHJcbiAgICBpZiAodHlwZW9mIHJlYWRPbmx5VmFsdWUgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgY29uc3QgY2FsbEZ1bmMgPSByZWFkT25seVZhbHVlLmJpbmQodGhpcy5ncm91cC5jdHJsU2NvcGUpO1xyXG4gICAgICByZXR1cm4gY2FsbEZ1bmModGhpcy5ncm91cCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVhZE9ubHlWYWx1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRJc1JlcXVpcmVkVmFsdWUoKSB7XHJcbiAgICBjb25zdCBJc1JlcXVpcmVkVmFsdWUgPSBaQ29tcG9uZW50SGVscGVyLmdldEdyb3VwRXZhbFZhbHVlLmNhbGwodGhpcywgdGhpcy5kYXRhLklzUmVxdWlyZWQpO1xyXG4gICAgaWYgKHR5cGVvZiBJc1JlcXVpcmVkVmFsdWUgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgY29uc3QgY2FsbEZ1bmMgPSBJc1JlcXVpcmVkVmFsdWUuYmluZCh0aGlzLmdyb3VwLmN0cmxTY29wZSk7XHJcbiAgICAgIHJldHVybiBjYWxsRnVuYyh0aGlzLmdyb3VwKTtcclxuXHJcbiAgICB9XHJcbiAgICByZXR1cm4gSXNSZXF1aXJlZFZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldFZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIFpDb21wb25lbnRIZWxwZXIuc2V0Q29tcG9uZW50TW9kZWxWYWx1ZSh0aGlzLmRhdGEsIHZhbHVlLCB0aGlzLmdyb3VwKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRBZGRPblZhbHVlKGFkZE9ucz86IGFueSkge1xyXG4gICAgdGhpcy50cmlnZ2VyQ29udGFpbmVyRXZlbnQuZW1pdCh7IHR5cGU6ICdzZXRBZGRPblZhbHVlJywgZGF0YTogYWRkT25zIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIHRyaWdnZXJFdmVudCh0eXBlOiBzdHJpbmcsIHRhcmdldDogYW55LCBldmVudDogYW55LCBmaWVsZFZhbHVlPzogYW55KSB7XHJcbiAgICBpZiAodGFyZ2V0KSB7XHJcbiAgICAgIHRoaXMuZ3JvdXAuc3ViamVjdC5uZXh0KHtcclxuICAgICAgICB0eXBlOiB0eXBlLFxyXG4gICAgICAgIHRhcmdldDogdGFyZ2V0LFxyXG4gICAgICAgIGV2ZW50LFxyXG4gICAgICAgIGRhdGE6IHsgdmFsdWU6IHRoaXMuZ2V0RmllbGRWYWx1ZShldmVudCwgZmllbGRWYWx1ZSksIGZpZWxkOiB0aGlzLmRhdGEsIGNvbXA6IHRoaXMgfVxyXG4gICAgICB9IGFzIFpDb21wb25lbnRPdXRwdXRFdmVudCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldEZpZWxkVmFsdWUoZXZlbnQ6IGFueSwgZmllbGRWYWx1ZT86IGFueSkge1xyXG4gICAgaWYgKGZpZWxkVmFsdWUgPT0gbnVsbCB8fCBmaWVsZFZhbHVlID09IHVuZGVmaW5lZCkge1xyXG4gICAgICByZXR1cm4gZXZlbnQ/LnZhbHVlIHx8IGV2ZW50Py50YXJnZXQ/LnZhbHVlXHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmllbGRWYWx1ZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaGFuZGxlWnVkZkNoYW5nZShldmVudDogYW55LCBmaWVsZFZhbHVlPzogYW55KSB7XHJcbiAgICBjb25zdCB6dWRmRmllbGRWYWx1ZSA9IHRoaXMuZ2V0RmllbGRWYWx1ZShldmVudCwgZmllbGRWYWx1ZSk7XHJcbiAgICBjb25zdCB6dWRmU2NvcGUgPSBaQ29tcG9uZW50SGVscGVyLmdldFp1ZGZTY29wZSh0aGlzLmdyb3VwLCB0aGlzLmRhdGEuVmFsdWUpO1xyXG5cclxuICAgIGlmICghenVkZlNjb3BlKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKCd6dWRmIHNjb3BlIGlzIG51bGwgZm9yIGZpZWxkIG9uY2hhbmdlLicpO1xyXG4gICAgfVxyXG5cclxuICAgIHp1ZGZTY29wZS56TW9kZWxbdGhpcy5kYXRhLlZhbHVlXSA9IHp1ZGZGaWVsZFZhbHVlO1xyXG4gICAgb2Yoe30pLnBpcGUoXHJcbiAgICAgIHRhcChyZXMgPT4ge1xyXG4gICAgICAgIGlmICh6dWRmU2NvcGUubGlua2VkQ29tcG9uZW50KSB7XHJcbiAgICAgICAgICB0aGlzLmNhc2NhZGluZ0hhbmRsaW5nKHp1ZGZTY29wZSwgdGhpcy5kYXRhLlZhbHVlLCBmaWVsZFZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pLFxyXG4gICAgICB0YXAocmVzID0+IHtcclxuICAgICAgICBpZiAodGhpcy5kYXRhWydBdXRvUG9wdWxhdGVDaGlsZEZpZWxkVmFsdWUnXSkge1xyXG4gICAgICAgICAgLy8gWlVERi4gQXV0byBQb3B1bGF0ZSBjaGlsZCBmaWVsZCB2YWx1ZVxyXG4gICAgICAgICAgY29uc3QgY2hpbGRGaWVsZHMgPSB0aGlzLmRhdGFbJ0NoaWxkRmllbGRzJ107XHJcbiAgICAgICAgICBpZiAoY2hpbGRGaWVsZHMpIHtcclxuICAgICAgICAgICAgbGV0IHNlbGVjdGVkRGF0YU9wdGlvbiA9IG51bGw7XHJcbiAgICAgICAgICAgIGlmIChmaWVsZFZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgLy8gZ2V0IHRoZSBzZWxlY3RlZCBkYXRhIGZ1bGwgaW5mb1xyXG4gICAgICAgICAgICAgIGNvbnN0IGRhdGFPcHRpb24gPSB0aGlzLmdyb3VwLnpEYXRhW3RoaXMuZGF0YVsnWkRhdGFPcHRpb25OYW1lJ11dO1xyXG5cclxuICAgICAgICAgICAgICBpZiAoZGF0YU9wdGlvbikge1xyXG4gICAgICAgICAgICAgICAgZGF0YU9wdGlvbi5mb3JFYWNoKG9wdGlvbiA9PiB7XHJcbiAgICAgICAgICAgICAgICAgIGlmIChvcHRpb24uSWQgPT09IGZpZWxkVmFsdWUpIHtcclxuICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZERhdGFPcHRpb24gPSBPYmplY3QuYXNzaWduKHt9LCBvcHRpb24pO1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAvLyBzZXQgdG8gYWxsIHJlbGF0ZWQgek1vZGUgb2YgdGhlIGRyb3Bkb3duXHJcbiAgICAgICAgICAgIGxldCBmZzogRm9ybUdyb3VwID0genVkZlNjb3BlLmZvcm0gYXMgRm9ybUdyb3VwO1xyXG4gICAgICAgICAgICBjaGlsZEZpZWxkcy5mb3JFYWNoKGNoaWxkRmllbGQgPT4ge1xyXG4gICAgICAgICAgICAgIC8vIHJlbW92ZSBzeW1ib2wuXHJcbiAgICAgICAgICAgICAgbGV0IGNoaWxkRmllbGROYW1lID0gZW5jb2RlVVJJKGNoaWxkRmllbGQucmVwbGFjZSgvW15hLXowLTldL2dpLCBcIlwiKSk7XHJcbiAgICAgICAgICAgICAgY29uc3QgZmllbGRNb2RlbE5hbWUgPSB0aGlzLmRhdGEuTmFtZSArIGNoaWxkRmllbGROYW1lO1xyXG4gICAgICAgICAgICAgIGNvbnN0IHpNb2RlbHMgPSB6dWRmU2NvcGUuek1vZGVsO1xyXG5cclxuICAgICAgICAgICAgICBjb25zdCBjaGlsZENvbXBvbmVudCA9IFpDb21wb25lbnRIZWxwZXIuZ2V0Q29tcG9uZW50KHRoaXMuZ3JvdXAsICd0ZXh0XycgKyBmaWVsZE1vZGVsTmFtZSk7XHJcbiAgICAgICAgICAgICAgaWYgKGNoaWxkQ29tcG9uZW50WydkYXRhJ11bJ1JlYWRPbmx5J10gJiYgIWZpZWxkVmFsdWUpIHtcclxuICAgICAgICAgICAgICAgIC8vIGNsZWFyIGNoaWxkIGZpZWxkIGlmIG9ubHkgcmVhZG9ubHkgaXMgdHJ1ZS5cclxuICAgICAgICAgICAgICAgIHpNb2RlbHNbZmllbGRNb2RlbE5hbWVdID0gIWZpZWxkVmFsdWUgPyBudWxsIDogc2VsZWN0ZWREYXRhT3B0aW9uID8gc2VsZWN0ZWREYXRhT3B0aW9uW2NoaWxkRmllbGROYW1lXSA6IG51bGw7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgaWYgKHNlbGVjdGVkRGF0YU9wdGlvbikge1xyXG4gICAgICAgICAgICAgICAgICB6TW9kZWxzW2ZpZWxkTW9kZWxOYW1lXSA9IHNlbGVjdGVkRGF0YU9wdGlvbltjaGlsZEZpZWxkTmFtZV07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIGZnLnBhdGNoVmFsdWUoek1vZGVscyk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSksXHJcbiAgICAgIHN3aXRjaE1hcChyZXMgPT4ge1xyXG4gICAgICAgIGNvbnN0IGV2ZW50TmFtZSA9ICd0cmlnZ2VyVmFsaWRhdGlvbic7XHJcbiAgICAgICAgaWYgKHRoaXMuZ3JvdXApIHtcclxuICAgICAgICAgIGlmICh0aGlzLmdyb3VwW2V2ZW50TmFtZV0pIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ3JvdXBbZXZlbnROYW1lXSh0aGlzLmdyb3VwLCBldmVudCwgZmllbGRWYWx1ZSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBvZih7fSk7XHJcbiAgICAgIH0pXHJcbiAgICApLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICB0aGlzLnRyaWdnZXJFdmVudChcImlucHV0ZmllbGQtb25DaGFuZ2VcIiwgdGhpcy5kYXRhLk9uQ2hhbmdlLCBldmVudCwgZmllbGRWYWx1ZSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2FzY2FkaW5nSGFuZGxpbmcoenVkZlNjb3BlOiBhbnksIGZpZWxkTmFtZTogYW55LCBmaWVsZFZhbHVlPzogYW55KSB7XHJcbiAgICBjb25zdCBsaW5rZWRDb21wb25lbnRTY29wZSA9IHp1ZGZTY29wZS5saW5rZWRDb21wb25lbnQ7XHJcbiAgICAvLyAjMSBjaGVjayBpcyB0aGUgb25jaGFuZ2UgY29tcG9uZW50IGxpbmtlZCB0byBvdGhlciBjb21wb25lbnQuXHJcbiAgICAvLyAjMiBpZiBsaW5rZWQgdG8gb3RoZXIgY29tcG9uZW50KGxldHMgY2FsbCBpdCBjaGlsZCBjb21wb25lbnQpLFxyXG4gICAgLy8gICAgYmFzZSBvbiB0aGUgbGlua2VkQ29tcG9uZW50U2NvcGUgdmFsdWUsIGZpbmQgdGhlIGNoaWxkIGNvbXBvbmVudC5cclxuICAgIC8vICMzIGtlZXAgdGhlIG9yaWdpbmFsIFNlbGVjdE9wdGlvbnMgaW4gdGhlIGNvbXBvbmVudC5cclxuICAgIC8vICM0IGNsZWFyIHRoZSBjaGlsZCB6bW9kZWwgYW5kIGZpbHRlciB0aGUgY2hpbGQgY29tcG9uZW50IG9wdGlvbnMuXHJcbiAgICAvLyAjNSBhdXRvIHNlbGVjdCBkZWZhdWx0IHptb2RlbCBpZiBvbmx5IGhhdmUgMSBvcHRpb24gYW5kIGlzIHJlcXVpcmVkLlxyXG4gICAgLy8gIzYgaGFuZGxlIGNoaWxkIG5lc3RlZCBsaW5rZWQgY29tcG9uZW50LlxyXG4gICAgbGlua2VkQ29tcG9uZW50U2NvcGUuZm9yRWFjaChpdGVtID0+IHtcclxuICAgICAgY29uc3QgZGF0YVZhbHVlU2VnbWVudHMgPSBmaWVsZE5hbWUuc3BsaXQoJ18nKTtcclxuICAgICAgY29uc3QgbGlua2VkQ29tcG9uZW50U2VnbWVudHMgPSBpdGVtLmxpbmtlZENvbXBvbmVudC5zcGxpdCgnXycpO1xyXG4gICAgICBsZXQgaXNMaW5rZWRDb21wb25lbnQgPSBmYWxzZTtcclxuXHJcbiAgICAgIC8vIGNoZWNrIGlzIGl0IGxpbmtlZGNvbXBvbmVudFxyXG4gICAgICBpZiAobGlua2VkQ29tcG9uZW50U2VnbWVudHMubGVuZ3RoID4gMSAmJiBkYXRhVmFsdWVTZWdtZW50cy5sZW5ndGggPiAzKSB7XHJcbiAgICAgICAgY29uc3QgbGFzdFR3b1NlZ21lbnRzID0gZGF0YVZhbHVlU2VnbWVudHMuc2xpY2UoLTIpLmpvaW4oJ18nKTtcclxuICAgICAgICBpZiAobGlua2VkQ29tcG9uZW50U2VnbWVudHMuam9pbignXycpID09PSBsYXN0VHdvU2VnbWVudHMpIHtcclxuICAgICAgICAgIGlzTGlua2VkQ29tcG9uZW50ID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSBpZiAobGlua2VkQ29tcG9uZW50U2VnbWVudHMubGVuZ3RoID09PSAxKSB7XHJcbiAgICAgICAgY29uc3QgbGFzdFNlZ21lbnQgPSBkYXRhVmFsdWVTZWdtZW50c1tkYXRhVmFsdWVTZWdtZW50cy5sZW5ndGggLSAxXTtcclxuICAgICAgICBpZiAobGlua2VkQ29tcG9uZW50U2VnbWVudHNbMF0gPT09IGxhc3RTZWdtZW50KSB7XHJcbiAgICAgICAgICBpc0xpbmtlZENvbXBvbmVudCA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoaXNMaW5rZWRDb21wb25lbnQpIHtcclxuICAgICAgICBjb25zdCBjaGlsZENvbXBvbmVudCA9IFpDb21wb25lbnRIZWxwZXIuZ2V0Q29tcG9uZW50QnlWYWx1ZSh0aGlzLmdyb3VwLCBpdGVtLnZhbHVlKTtcclxuICAgICAgICBjb25zdCBvcmlnaW5hbFNlbGVjdE9wdGlvbnMgPSBjaGlsZENvbXBvbmVudC5kYXRhWydvcmlnaW5hbFNlbGVjdE9wdGlvbnMnXSA/PyBPYmplY3QuYXNzaWduKFtdLCBjaGlsZENvbXBvbmVudC5kYXRhLlNlbGVjdE9wdGlvbnMpO1xyXG4gICAgICAgIGNvbnN0IGZpbHRlcmVkU2VsZWN0aW9uT3B0aW9ucyA9IG9yaWdpbmFsU2VsZWN0T3B0aW9ucy5maWx0ZXIob3B0aW9uID0+IG9wdGlvbi5wYXJlbnRFeHByZXNzaW9uID09IGZpZWxkVmFsdWUpO1xyXG5cclxuICAgICAgICAvL2NoaWxkQ29tcG9uZW50LmNsZWFyRGF0YSgpOyAvL3VuYWJsZSB0byB1c2UgY2xlYXJEYXRhLiBub3QgaGFuZGxlZCBmb3IgenVkZiB0eXBlXHJcbiAgICAgICAgLy8gbWFudWFsbCBwYXRjaCB0aGUgY29tcG9uZW50IGZvcm1jb250cm9sIHZhbHVlXHJcbiAgICAgICAgY29uc3QgenVkZkZvcm0gPSB6dWRmU2NvcGUuZm9ybSBhcyBGb3JtR3JvdXA7XHJcbiAgICAgICAgY29uc3QgY29tcG9uZW50Rm9ybUNvbnRyb2wgPSB6dWRmRm9ybS5jb250cm9sc1tpdGVtLnZhbHVlXSBhcyBGb3JtQ29udHJvbDtcclxuICAgICAgICB6dWRmU2NvcGUuek1vZGVsW2l0ZW0udmFsdWVdID0gbnVsbDtcclxuICAgICAgICBjb21wb25lbnRGb3JtQ29udHJvbC5wYXRjaFZhbHVlKHp1ZGZTY29wZS56TW9kZWxbaXRlbS52YWx1ZV0pO1xyXG5cclxuICAgICAgICBjaGlsZENvbXBvbmVudC5kYXRhWydvcmlnaW5hbFNlbGVjdE9wdGlvbnMnXSA9IG9yaWdpbmFsU2VsZWN0T3B0aW9ucztcclxuICAgICAgICBjaGlsZENvbXBvbmVudC5zZXRTZWxlY3RPcHRpb24oZmlsdGVyZWRTZWxlY3Rpb25PcHRpb25zKTtcclxuXHJcbiAgICAgICAgLy8gc2V0IGRyb3Bkb3duIHNlbGVjdGVkIHZhbHVlIGlmIG9ubHkgMSBvcHRpb24uXHJcbiAgICAgICAgY29uc3QgY2hpbGRDb21wb25lbnRUeXBlID0gY2hpbGRDb21wb25lbnQuZGF0YS5UeXBlO1xyXG4gICAgICAgIGlmIChmaWx0ZXJlZFNlbGVjdGlvbk9wdGlvbnMubGVuZ3RoID09PSAxICYmIGNoaWxkQ29tcG9uZW50LmRhdGEuSXNSZXF1aXJlZCAmJiAoY2hpbGRDb21wb25lbnRUeXBlID09PSAnenVpc2VsZWN0bXVsdGlwbGUnIHx8IGNoaWxkQ29tcG9uZW50VHlwZSA9PT0gJ3pzZWxlY3RtdWx0aXBsZScpKSB7XHJcbiAgICAgICAgICB6dWRmU2NvcGUuek1vZGVsW2l0ZW0udmFsdWVdID0gZmlsdGVyZWRTZWxlY3Rpb25PcHRpb25zWzBdW2NoaWxkQ29tcG9uZW50Lml0ZW1WYWx1ZUZpZWxkXTtcclxuICAgICAgICAgIGNvbXBvbmVudEZvcm1Db250cm9sLnBhdGNoVmFsdWUoenVkZlNjb3BlLnpNb2RlbFtpdGVtLnZhbHVlXSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBsb29wIGNoaWxkcmVuIGluY2FzZSBvZiBuZXN0ZWQgY2hpbGQuXHJcbiAgICAgICAgY29uc3QgY2hpbGRDb21wb25lbnRWYWx1ZVNlZ21lbnRzID0gY2hpbGRDb21wb25lbnQuZGF0YS5WYWx1ZS5zcGxpdCgnXycpO1xyXG4gICAgICAgIHRoaXMuY2FzY2FkaW5nSGFuZGxpbmcoenVkZlNjb3BlLCBjaGlsZENvbXBvbmVudFZhbHVlU2VnbWVudHNbY2hpbGRDb21wb25lbnRWYWx1ZVNlZ21lbnRzLmxlbmd0aCAtIDFdLCB6dWRmU2NvcGUuek1vZGVsW2l0ZW0udmFsdWVdKTtcclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBmb2N1c09uRGVmYXVsdChmb2N1c0Z1bmN0aW9uOiBhbnkpIHtcclxuICAgIGlmICh0aGlzLmRhdGEuSXNGb2N1cykge1xyXG4gICAgICBsZXQgY291bnRlciA9IDA7XHJcbiAgICAgIGxldCBpc0ZvY3VzZWQgPSBmYWxzZTtcclxuICAgICAgaW50ZXJ2YWwoNTAwKS5waXBlKFxyXG4gICAgICAgIHRha2VXaGlsZSh4ID0+IGNvdW50ZXIgPCA1ICYmICFpc0ZvY3VzZWQpLFxyXG4gICAgICAgIHRhcCgoKSA9PiB7XHJcbiAgICAgICAgICBpc0ZvY3VzZWQgPSBmb2N1c0Z1bmN0aW9uKCk7XHJcbiAgICAgICAgICBjb3VudGVyKys7XHJcbiAgICAgICAgfSlcclxuICAgICAgKS5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export class ComponentConstant {
|
|
2
|
+
}
|
|
3
|
+
ComponentConstant.GridColDateFilterSuffix = "_GridFilter";
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tbWhnbG9iYWwtZHluYW1pY2Zvcm0vc3JjL2xpYi9jb25zdGFudHMvY29uc3RhbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsTUFBTSxPQUFRLGlCQUFpQjs7QUFDZix5Q0FBdUIsR0FBRyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuZXhwb3J0ICBjbGFzcyBDb21wb25lbnRDb25zdGFudCB7XHJcbiAgcHVibGljIHN0YXRpYyBHcmlkQ29sRGF0ZUZpbHRlclN1ZmZpeCA9IFwiX0dyaWRGaWx0ZXJcIjtcclxufVxyXG4iXX0=
|
|
@@ -5,9 +5,9 @@ export class ElementContainerDirective {
|
|
|
5
5
|
this.viewContainerRef = viewContainerRef;
|
|
6
6
|
}
|
|
7
7
|
}
|
|
8
|
-
ElementContainerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.
|
|
9
|
-
ElementContainerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.
|
|
8
|
+
ElementContainerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ElementContainerDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
9
|
+
ElementContainerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: ElementContainerDirective, selector: "[elementcontainer]", ngImport: i0 });
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ElementContainerDirective, decorators: [{
|
|
11
11
|
type: Directive,
|
|
12
12
|
args: [{
|
|
13
13
|
selector: '[elementcontainer]'
|
|
@@ -5,9 +5,9 @@ export class FieldElementDirective {
|
|
|
5
5
|
this.viewContainerRef = viewContainerRef;
|
|
6
6
|
}
|
|
7
7
|
}
|
|
8
|
-
FieldElementDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.
|
|
9
|
-
FieldElementDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.
|
|
8
|
+
FieldElementDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FieldElementDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
9
|
+
FieldElementDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: FieldElementDirective, selector: "[fieldelement]", ngImport: i0 });
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FieldElementDirective, decorators: [{
|
|
11
11
|
type: Directive,
|
|
12
12
|
args: [{
|
|
13
13
|
selector: '[fieldelement]'
|
|
@@ -34,9 +34,9 @@ export class ScrollbarThemeDirective {
|
|
|
34
34
|
// }
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
|
-
ScrollbarThemeDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.
|
|
38
|
-
ScrollbarThemeDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.
|
|
39
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.
|
|
37
|
+
ScrollbarThemeDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ScrollbarThemeDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
38
|
+
ScrollbarThemeDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: ScrollbarThemeDirective, selector: "[appScrollbarTheme]", ngImport: i0 });
|
|
39
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ScrollbarThemeDirective, decorators: [{
|
|
40
40
|
type: Directive,
|
|
41
41
|
args: [{
|
|
42
42
|
selector: '[appScrollbarTheme]'
|
|
@@ -3,25 +3,31 @@ import { ZComponentHelper } from 'mmhglobal-zcore';
|
|
|
3
3
|
import { InputFieldBase } from "../../components/inputfieldbase.component";
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
import * as i1 from "../../services/zcomponent.service";
|
|
6
|
-
import * as i2 from "
|
|
7
|
-
import * as i3 from "@
|
|
8
|
-
import * as i4 from "@angular
|
|
9
|
-
import * as i5 from "@
|
|
6
|
+
import * as i2 from "mmhglobal-zcore";
|
|
7
|
+
import * as i3 from "@fortawesome/angular-fontawesome";
|
|
8
|
+
import * as i4 from "@ionic/angular";
|
|
9
|
+
import * as i5 from "@angular/common";
|
|
10
|
+
import * as i6 from "@progress/kendo-angular-tooltip";
|
|
11
|
+
import * as i7 from "@angular/flex-layout/extended";
|
|
10
12
|
export class InputFieldAddOnsComponent extends InputFieldBase {
|
|
11
|
-
constructor(compService) {
|
|
12
|
-
|
|
13
|
-
|
|
13
|
+
constructor(compService, translationService) {
|
|
14
|
+
super(compService);
|
|
15
|
+
this.translationService = translationService;
|
|
16
|
+
}
|
|
14
17
|
ngOnInit() {
|
|
15
|
-
|
|
16
|
-
|
|
18
|
+
}
|
|
19
|
+
ngOnChanges(changes) {
|
|
17
20
|
if (this.addOn) {
|
|
21
|
+
this.position = this.position || 'top';
|
|
18
22
|
this.setupIconList();
|
|
19
23
|
this.setupButtonList();
|
|
24
|
+
this.setupTextList();
|
|
20
25
|
}
|
|
21
26
|
}
|
|
22
27
|
setupIconList() {
|
|
23
28
|
// this.addOn.IconList = [{ Icon: "user", Click: null, Style: "color:blue;", ToolTipText: "text" }]; // For Testing
|
|
24
29
|
if (this.addOn.IconList) {
|
|
30
|
+
this.addOn.IconList = this.addOn.IconList.filter(x => x);
|
|
25
31
|
this.addOn.IconList.forEach((i) => {
|
|
26
32
|
if (i.ToolTipText === undefined) {
|
|
27
33
|
i.ToolTipText = "";
|
|
@@ -29,22 +35,31 @@ export class InputFieldAddOnsComponent extends InputFieldBase {
|
|
|
29
35
|
else if (i.ToolTipText.indexOf("group.") !== -1) {
|
|
30
36
|
i.ToolTipText = ZComponentHelper.getGroupEvalValue.call(this, i.ToolTipText);
|
|
31
37
|
}
|
|
38
|
+
this.translationService.$translateText(i.ToolTipText, { elementName: this.group.fieldName, group: this.group }).subscribe();
|
|
32
39
|
// Default position top. right | bottom | top | left
|
|
33
40
|
i.Position = i.Position || "top";
|
|
34
41
|
});
|
|
42
|
+
this.translationService.$translateItemList(this.addOn.IconList, "ToolTipText", { elementName: this.group.fieldName, group: this.group }).subscribe();
|
|
35
43
|
}
|
|
36
44
|
}
|
|
37
45
|
setupButtonList() {
|
|
38
46
|
// this.addOn.ButtonList = [{ Text: 'test', Icon: 'user', Style: '', Click: null }]; // For Testing
|
|
39
47
|
if (this.addOn.ButtonList) {
|
|
48
|
+
this.addOn.ButtonList = this.addOn.ButtonList.filter(x => x);
|
|
40
49
|
this.addOn.ButtonList.forEach(button => {
|
|
50
|
+
const isUseCustomClass = button.Color ? false : true;
|
|
51
|
+
button['color'] = isUseCustomClass ? '' : (button.Color || 'primary');
|
|
52
|
+
button['fill'] = isUseCustomClass ? '' : (button.Fill || 'solid');
|
|
53
|
+
button['class'] = isUseCustomClass ? `${button.Class} useCustomClass` : button.Class;
|
|
41
54
|
button.Visible = ZComponentHelper.isNullUndefinedEmpty(button.Visible) ? 'true' : button.Visible;
|
|
42
55
|
});
|
|
56
|
+
this.translationService.$translateItemList(this.addOn.ButtonList, "Text", { elementName: this.group.fieldName, group: this.group }).subscribe();
|
|
43
57
|
}
|
|
44
58
|
}
|
|
45
59
|
setupTextList() {
|
|
46
60
|
// this.addOn.TextList = [{ Text: 'test', Style: '', TooltipText: 'test' }]; // For Testing
|
|
47
61
|
if (this.addOn.TextList) {
|
|
62
|
+
this.addOn.TextList = this.addOn.TextList.filter(x => x);
|
|
48
63
|
this.addOn.TextList.forEach((i) => {
|
|
49
64
|
if (i.ToolTipText === undefined) {
|
|
50
65
|
i.ToolTipText = "";
|
|
@@ -55,15 +70,19 @@ export class InputFieldAddOnsComponent extends InputFieldBase {
|
|
|
55
70
|
// Default position top. right | bottom | top | left
|
|
56
71
|
i.Position = i.Position || "top";
|
|
57
72
|
});
|
|
73
|
+
this.translationService.$translateItemList(this.addOn.TextList, "Text", { elementName: this.group.fieldName, group: this.group }).subscribe();
|
|
74
|
+
this.translationService.$translateItemList(this.addOn.TextList, "ToolTipText", { elementName: this.group.fieldName, group: this.group }).subscribe();
|
|
58
75
|
}
|
|
59
76
|
}
|
|
60
77
|
}
|
|
61
|
-
InputFieldAddOnsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.
|
|
62
|
-
InputFieldAddOnsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.
|
|
63
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.
|
|
78
|
+
InputFieldAddOnsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: InputFieldAddOnsComponent, deps: [{ token: i1.ZComponentService }, { token: i2.TranslationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
79
|
+
InputFieldAddOnsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: InputFieldAddOnsComponent, selector: "app-input-field-addons", inputs: { position: "position", addOn: "addOn" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div [class]=\"'addons-container ' + position\" *ngIf=\"addOn\">\r\n <div class=\"addons-icon\" *ngIf=\"addOn.IconList\">\r\n <div *ngFor=\"let item of addOn.IconList\">\r\n <div kendoTooltip class=\"icon-button\" showOn=\"hover\" [tooltipWidth]=\"item.Width\" [position]=\"item.Position\">\r\n <span (click)=\"onIconClick(item.Click)\" [title]=\"item.ToolTipText\" [style]=\"item.Style\">\r\n <fa-icon [icon]=\"item.Icon\">\r\n </fa-icon>\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"addons-text\" *ngIf=\"addOn.TextList\">\r\n <div *ngFor=\"let item of addOn.TextList\">\r\n <div kendoTooltip class=\"icon-button\" showOn=\"hover\" [tooltipWidth]=\"item.Width\" [position]=\"item.Position\">\r\n <span (click)=\"onIconClick(item.Click)\" [title]=\"item.ToolTipText\" [style]=\"item.Style\">\r\n {{item.Text}}\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"addons-buttons\" *ngIf=\"addOn.ButtonList\">\r\n <ion-button *ngFor=\"let button of addOn.ButtonList; let i = button\" [fill]=\"button.fill\" [ngClass]=\"button.class\"\r\n [color]=\"button.color\" [size]=\"button.Size || 'small'\" strong=\"false\" (click)=\"onIconClick(button.Click)\"\r\n [hidden]=\"!button.Visible\" [disabled]=\"group.isTriggered || button.Disabled\" [style]=\"button.Style\">\r\n <fa-icon *ngIf=\"button.Icon\" [icon]=\"getFontAwesome(button.Icon)\"\r\n [style.padding-right]=\"button.Text ? '5px' : '0px'\"></fa-icon>\r\n <span class=\"ion-text-capitalize\">{{ button.Text }}</span>\r\n </ion-button>\r\n </div>\r\n</div>\r\n", styles: [".addons-container{display:flex}.addons-container .addons-icon{display:flex;flex-direction:row}.addons-container .addons-icon fa-icon{padding:4px 6px;font-size:calc(var(--content-font-size) - 2px)}.addons-container .addons-buttons>ion-button{margin:0 0 0 5px;height:20px;font-size:calc(var(--content-font-size) - 2px)}.addons-container .addons-text{padding-left:6px;padding-top:3px;font-size:calc(var(--content-font-size) - 2px)}.addons-container.top .addons-buttons>ion-button{top:-3px;position:relative}.addons-container.left .addons-buttons>ion-button{margin:0 5px 0 0}.addons-buttons ion-button{font-size:var(--button-font-size);margin-left:10px;--border-radius: var(--button-border-radius);--box-shadow: 1px 2px 4px 0px rgba(0, 0, 0, .25)}.addons-buttons ion-button.useCustomClass{--background-hover-opacity: 1;--border-width: 2px;--border-style: solid;--background: #fff;--background-hover: rgba(var(--ion-color-primary-rgb), .05);--color: var(--ion-color-primary);--border-color: var(--ion-color-primary)}.addons-buttons ion-button.primary-light{--background: rgba(var(--ion-color-primary-rgb), .05);--background-hover: #fff;--color: var(--ion-color-primary);--border-color: var(--ion-color-primary)}.addons-buttons ion-button.primary{--background: var(--ion-color-primary);--background-hover: var(--ion-color-primary-tint);--color: var(--ion-color-primary-contrast);--border-color: var(--ion-color-primary-shade)}.addons-buttons ion-button.success{--background: var(--ion-color-success);--background-hover: var(--ion-color-success-tint);--color: var(--ion-color-success-contrast);--border-color: var(--ion-color-success-shade)}.addons-buttons ion-button.danger{--background: var(--ion-color-danger);--background-hover: var(--ion-color-danger-tint2);--color: var(--ion-color-danger-contrast);--border-color: var(--ion-color-danger-shade)}.addons-buttons ion-button.warning{--background: var(--ion-color-warning);--background-hover: var(--ion-color-warning-tint);--color: #000;--border-color: var(--ion-color-warning-shade)}.addons-buttons ion-button.no-shadow{--box-shadow: none}\n"], components: [{ type: i3.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { type: i4.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.TooltipDirective, selector: "[kendoTooltip]", inputs: ["filter", "position", "titleTemplate", "showOn", "showAfter", "callout", "closable", "offset", "tooltipWidth", "tooltipHeight", "tooltipClass", "collision", "closeTitle", "tooltipTemplate"], exportAs: ["kendoTooltip"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i7.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }] });
|
|
80
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: InputFieldAddOnsComponent, decorators: [{
|
|
64
81
|
type: Component,
|
|
65
|
-
args: [{ selector: "app-input-field-addons", template: "<div [class]=\"'addons-container ' + position\" *ngIf=\"
|
|
66
|
-
}], ctorParameters: function () { return [{ type: i1.ZComponentService }]; }, propDecorators: { position: [{
|
|
82
|
+
args: [{ selector: "app-input-field-addons", template: "<div [class]=\"'addons-container ' + position\" *ngIf=\"addOn\">\r\n <div class=\"addons-icon\" *ngIf=\"addOn.IconList\">\r\n <div *ngFor=\"let item of addOn.IconList\">\r\n <div kendoTooltip class=\"icon-button\" showOn=\"hover\" [tooltipWidth]=\"item.Width\" [position]=\"item.Position\">\r\n <span (click)=\"onIconClick(item.Click)\" [title]=\"item.ToolTipText\" [style]=\"item.Style\">\r\n <fa-icon [icon]=\"item.Icon\">\r\n </fa-icon>\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"addons-text\" *ngIf=\"addOn.TextList\">\r\n <div *ngFor=\"let item of addOn.TextList\">\r\n <div kendoTooltip class=\"icon-button\" showOn=\"hover\" [tooltipWidth]=\"item.Width\" [position]=\"item.Position\">\r\n <span (click)=\"onIconClick(item.Click)\" [title]=\"item.ToolTipText\" [style]=\"item.Style\">\r\n {{item.Text}}\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"addons-buttons\" *ngIf=\"addOn.ButtonList\">\r\n <ion-button *ngFor=\"let button of addOn.ButtonList; let i = button\" [fill]=\"button.fill\" [ngClass]=\"button.class\"\r\n [color]=\"button.color\" [size]=\"button.Size || 'small'\" strong=\"false\" (click)=\"onIconClick(button.Click)\"\r\n [hidden]=\"!button.Visible\" [disabled]=\"group.isTriggered || button.Disabled\" [style]=\"button.Style\">\r\n <fa-icon *ngIf=\"button.Icon\" [icon]=\"getFontAwesome(button.Icon)\"\r\n [style.padding-right]=\"button.Text ? '5px' : '0px'\"></fa-icon>\r\n <span class=\"ion-text-capitalize\">{{ button.Text }}</span>\r\n </ion-button>\r\n </div>\r\n</div>\r\n", styles: [".addons-container{display:flex}.addons-container .addons-icon{display:flex;flex-direction:row}.addons-container .addons-icon fa-icon{padding:4px 6px;font-size:calc(var(--content-font-size) - 2px)}.addons-container .addons-buttons>ion-button{margin:0 0 0 5px;height:20px;font-size:calc(var(--content-font-size) - 2px)}.addons-container .addons-text{padding-left:6px;padding-top:3px;font-size:calc(var(--content-font-size) - 2px)}.addons-container.top .addons-buttons>ion-button{top:-3px;position:relative}.addons-container.left .addons-buttons>ion-button{margin:0 5px 0 0}.addons-buttons ion-button{font-size:var(--button-font-size);margin-left:10px;--border-radius: var(--button-border-radius);--box-shadow: 1px 2px 4px 0px rgba(0, 0, 0, .25)}.addons-buttons ion-button.useCustomClass{--background-hover-opacity: 1;--border-width: 2px;--border-style: solid;--background: #fff;--background-hover: rgba(var(--ion-color-primary-rgb), .05);--color: var(--ion-color-primary);--border-color: var(--ion-color-primary)}.addons-buttons ion-button.primary-light{--background: rgba(var(--ion-color-primary-rgb), .05);--background-hover: #fff;--color: var(--ion-color-primary);--border-color: var(--ion-color-primary)}.addons-buttons ion-button.primary{--background: var(--ion-color-primary);--background-hover: var(--ion-color-primary-tint);--color: var(--ion-color-primary-contrast);--border-color: var(--ion-color-primary-shade)}.addons-buttons ion-button.success{--background: var(--ion-color-success);--background-hover: var(--ion-color-success-tint);--color: var(--ion-color-success-contrast);--border-color: var(--ion-color-success-shade)}.addons-buttons ion-button.danger{--background: var(--ion-color-danger);--background-hover: var(--ion-color-danger-tint2);--color: var(--ion-color-danger-contrast);--border-color: var(--ion-color-danger-shade)}.addons-buttons ion-button.warning{--background: var(--ion-color-warning);--background-hover: var(--ion-color-warning-tint);--color: #000;--border-color: var(--ion-color-warning-shade)}.addons-buttons ion-button.no-shadow{--box-shadow: none}\n"] }]
|
|
83
|
+
}], ctorParameters: function () { return [{ type: i1.ZComponentService }, { type: i2.TranslationService }]; }, propDecorators: { position: [{
|
|
84
|
+
type: Input
|
|
85
|
+
}], addOn: [{
|
|
67
86
|
type: Input
|
|
68
87
|
}] } });
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZmllbGQtYWRkb25zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21taGdsb2JhbC1keW5hbWljZm9ybS9zcmMvbGliL2VtYmVkLWNvbXBvbmVudHMvaW5wdXQtZmllbGQtYWRkb25zL2lucHV0LWZpZWxkLWFkZG9ucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tbWhnbG9iYWwtZHluYW1pY2Zvcm0vc3JjL2xpYi9lbWJlZC1jb21wb25lbnRzL2lucHV0LWZpZWxkLWFkZG9ucy9pbnB1dC1maWVsZC1hZGRvbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFnRCxnQkFBZ0IsRUFBeUIsTUFBTSxpQkFBaUIsQ0FBQztBQUN4SCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkNBQTJDLENBQUM7Ozs7Ozs7QUFRM0UsTUFBTSxPQUFPLHlCQUEwQixTQUFRLGNBQWM7SUFFM0QsWUFBWSxXQUE4QixJQUFJLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQSxDQUFDLENBQUM7SUFHbEUscUNBQXFDO0lBQ3JDLHFCQUFxQjtJQUVyQixRQUFRO1FBQ04sSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxJQUFJLEtBQUssQ0FBQztRQUN2QyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ2pJLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNkLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7U0FDeEI7SUFDSCxDQUFDO0lBRU8sYUFBYTtRQUNuQixtSEFBbUg7UUFFbkgsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRTtZQUN2QixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRTtnQkFDckMsSUFBSSxDQUFDLENBQUMsV0FBVyxLQUFLLFNBQVMsRUFBRTtvQkFDL0IsQ0FBQyxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7aUJBQ3BCO3FCQUFNLElBQUksQ0FBQyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7b0JBQ2pELENBQUMsQ0FBQyxXQUFXLEdBQUcsZ0JBQWdCLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUM7aUJBQzlFO2dCQUVELG9EQUFvRDtnQkFDcEQsQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsUUFBUSxJQUFJLEtBQUssQ0FBQztZQUNuQyxDQUFDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQztJQUVPLGVBQWU7UUFDckIsb0dBQW9HO1FBRXBHLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUU7WUFDekIsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUNyQyxNQUFNLENBQUMsT0FBTyxHQUFHLGdCQUFnQixDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO1lBQ25HLENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRU8sYUFBYTtRQUNuQiw0RkFBNEY7UUFFNUYsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRTtZQUN2QixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRTtnQkFDckMsSUFBSSxDQUFDLENBQUMsV0FBVyxLQUFLLFNBQVMsRUFBRTtvQkFDL0IsQ0FBQyxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7aUJBQ3BCO3FCQUFNLElBQUksQ0FBQyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7b0JBQ2pELENBQUMsQ0FBQyxXQUFXLEdBQUcsZ0JBQWdCLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUM7aUJBQzlFO2dCQUVELG9EQUFvRDtnQkFDcEQsQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsUUFBUSxJQUFJLEtBQUssQ0FBQztZQUNuQyxDQUFDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQzs7dUhBM0RVLHlCQUF5QjsyR0FBekIseUJBQXlCLHVIQ1Z0Qyx3ckRBaUNBOzRGRHZCYSx5QkFBeUI7a0JBTHJDLFNBQVM7K0JBQ0Usd0JBQXdCO3dHQUt6QixRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQ2xpY2thYmxlSWNvbnMsIElucHV0RmllbGRBZGRPbnMsIFpDb21wb25lbnQsIFpDb21wb25lbnRIZWxwZXIsIFpDb21wb25lbnRPdXRwdXRFdmVudCB9IGZyb20gJ21taGdsb2JhbC16Y29yZSc7XHJcbmltcG9ydCB7IElucHV0RmllbGRCYXNlIH0gZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvaW5wdXRmaWVsZGJhc2UuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFpDb21wb25lbnRTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL3pjb21wb25lbnQuc2VydmljZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiYXBwLWlucHV0LWZpZWxkLWFkZG9uc1wiLFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4vaW5wdXQtZmllbGQtYWRkb25zLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmxzOiBbXCIuL2lucHV0LWZpZWxkLWFkZG9ucy5jb21wb25lbnQuc2Nzc1wiXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW5wdXRGaWVsZEFkZE9uc0NvbXBvbmVudCBleHRlbmRzIElucHV0RmllbGRCYXNlIGltcGxlbWVudHMgWkNvbXBvbmVudCwgT25Jbml0IHtcclxuICBASW5wdXQoKSBwb3NpdGlvbjogJ3RvcCcgfCAnbGVmdCcgfCAncmlnaHQnIHwgJ2JvdHRvbSc7IC8vIGRlZmF1bHQgdG9wXHJcbiAgY29uc3RydWN0b3IoY29tcFNlcnZpY2U6IFpDb21wb25lbnRTZXJ2aWNlKSB7IHN1cGVyKGNvbXBTZXJ2aWNlKSB9XHJcblxyXG4gIHB1YmxpYyBhZGRPbjogSW5wdXRGaWVsZEFkZE9ucztcclxuICAvLyBwdWJsaWMgaWNvbkxpc3Q6IENsaWNrYWJsZUljb25zW107XHJcbiAgLy8gcHVibGljIGJ1dHRvbkxpc3Q7XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5wb3NpdGlvbiA9IHRoaXMucG9zaXRpb24gfHwgJ3RvcCc7XHJcbiAgICB0aGlzLmFkZE9uID0gdGhpcy5kYXRhICYmIHRoaXMuZGF0YS5JbnB1dEZpZWxkQWRkT25zID8gdGhpcy5kYXRhLklucHV0RmllbGRBZGRPbnMuZmluZChpID0+IGkuUG9zaXRpb24gPT09IHRoaXMucG9zaXRpb24pIDogbnVsbDtcclxuICAgIGlmICh0aGlzLmFkZE9uKSB7XHJcbiAgICAgIHRoaXMuc2V0dXBJY29uTGlzdCgpO1xyXG4gICAgICB0aGlzLnNldHVwQnV0dG9uTGlzdCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXR1cEljb25MaXN0KCkge1xyXG4gICAgLy8gdGhpcy5hZGRPbi5JY29uTGlzdCA9IFt7IEljb246IFwidXNlclwiLCBDbGljazogbnVsbCwgU3R5bGU6IFwiY29sb3I6Ymx1ZTtcIiwgVG9vbFRpcFRleHQ6IFwidGV4dFwiIH1dOyAvLyBGb3IgVGVzdGluZ1xyXG5cclxuICAgIGlmICh0aGlzLmFkZE9uLkljb25MaXN0KSB7XHJcbiAgICAgIHRoaXMuYWRkT24uSWNvbkxpc3QuZm9yRWFjaCgoaTogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKGkuVG9vbFRpcFRleHQgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgaS5Ub29sVGlwVGV4dCA9IFwiXCI7XHJcbiAgICAgICAgfSBlbHNlIGlmIChpLlRvb2xUaXBUZXh0LmluZGV4T2YoXCJncm91cC5cIikgIT09IC0xKSB7XHJcbiAgICAgICAgICBpLlRvb2xUaXBUZXh0ID0gWkNvbXBvbmVudEhlbHBlci5nZXRHcm91cEV2YWxWYWx1ZS5jYWxsKHRoaXMsIGkuVG9vbFRpcFRleHQpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gRGVmYXVsdCBwb3NpdGlvbiB0b3AuIHJpZ2h0IHwgYm90dG9tIHwgdG9wIHwgbGVmdFxyXG4gICAgICAgIGkuUG9zaXRpb24gPSBpLlBvc2l0aW9uIHx8IFwidG9wXCI7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXR1cEJ1dHRvbkxpc3QoKSB7XHJcbiAgICAvLyB0aGlzLmFkZE9uLkJ1dHRvbkxpc3QgPSBbeyBUZXh0OiAndGVzdCcsIEljb246ICd1c2VyJywgU3R5bGU6ICcnLCBDbGljazogbnVsbCB9XTsgIC8vIEZvciBUZXN0aW5nXHJcblxyXG4gICAgaWYgKHRoaXMuYWRkT24uQnV0dG9uTGlzdCkge1xyXG4gICAgICB0aGlzLmFkZE9uLkJ1dHRvbkxpc3QuZm9yRWFjaChidXR0b24gPT4ge1xyXG4gICAgICAgIGJ1dHRvbi5WaXNpYmxlID0gWkNvbXBvbmVudEhlbHBlci5pc051bGxVbmRlZmluZWRFbXB0eShidXR0b24uVmlzaWJsZSkgPyAndHJ1ZScgOiBidXR0b24uVmlzaWJsZTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldHVwVGV4dExpc3QoKSB7XHJcbiAgICAvLyB0aGlzLmFkZE9uLlRleHRMaXN0ID0gW3sgVGV4dDogJ3Rlc3QnLCBTdHlsZTogJycsIFRvb2x0aXBUZXh0OiAndGVzdCcgfV07ICAvLyBGb3IgVGVzdGluZ1xyXG5cclxuICAgIGlmICh0aGlzLmFkZE9uLlRleHRMaXN0KSB7XHJcbiAgICAgIHRoaXMuYWRkT24uVGV4dExpc3QuZm9yRWFjaCgoaTogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKGkuVG9vbFRpcFRleHQgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgaS5Ub29sVGlwVGV4dCA9IFwiXCI7XHJcbiAgICAgICAgfSBlbHNlIGlmIChpLlRvb2xUaXBUZXh0LmluZGV4T2YoXCJncm91cC5cIikgIT09IC0xKSB7XHJcbiAgICAgICAgICBpLlRvb2xUaXBUZXh0ID0gWkNvbXBvbmVudEhlbHBlci5nZXRHcm91cEV2YWxWYWx1ZS5jYWxsKHRoaXMsIGkuVG9vbFRpcFRleHQpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gRGVmYXVsdCBwb3NpdGlvbiB0b3AuIHJpZ2h0IHwgYm90dG9tIHwgdG9wIHwgbGVmdFxyXG4gICAgICAgIGkuUG9zaXRpb24gPSBpLlBvc2l0aW9uIHx8IFwidG9wXCI7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IFtjbGFzc109XCInYWRkb25zLWNvbnRhaW5lciAnICsgcG9zaXRpb25cIiAqbmdJZj1cInRoaXMuYWRkT25cIj5cclxuICA8ZGl2IGNsYXNzPVwiYWRkb25zLWljb25cIiAqbmdJZj1cImFkZE9uLkljb25MaXN0XCI+XHJcbiAgICA8ZGl2ICpuZ0Zvcj1cImxldCBpdGVtIG9mIGFkZE9uLkljb25MaXN0XCI+XHJcbiAgICAgIDxkaXYga2VuZG9Ub29sdGlwIGNsYXNzPVwiaWNvbi1idXR0b25cIiBzaG93T249XCJob3ZlclwiIFt0b29sdGlwV2lkdGhdPVwiaXRlbS5XaWR0aFwiIFtwb3NpdGlvbl09XCJpdGVtLlBvc2l0aW9uXCI+XHJcbiAgICAgICAgPHNwYW4gKm5nSWY9XCIhIWl0ZW0gXCIgKGNsaWNrKT1cIm9uSWNvbkNsaWNrKGl0ZW0uQ2xpY2spXCIgW3RpdGxlXT1cIml0ZW0uVG9vbFRpcFRleHRcIiBbc3R5bGVdPVwiaXRlbS5TdHlsZVwiPlxyXG4gICAgICAgICAgPGZhLWljb24gW2ljb25dPVwiaXRlbS5JY29uXCI+XHJcbiAgICAgICAgICA8L2ZhLWljb24+XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG5cclxuICA8ZGl2IGNsYXNzPVwiYWRkb25zLXRleHRcIiAqbmdJZj1cImFkZE9uLlRleHRMaXN0XCI+XHJcbiAgICA8ZGl2ICpuZ0Zvcj1cImxldCBpdGVtIG9mIGFkZE9uLlRleHRMaXN0XCI+XHJcbiAgICAgIDxkaXYga2VuZG9Ub29sdGlwIGNsYXNzPVwiaWNvbi1idXR0b25cIiBzaG93T249XCJob3ZlclwiIFt0b29sdGlwV2lkdGhdPVwiaXRlbS5XaWR0aFwiIFtwb3NpdGlvbl09XCJpdGVtLlBvc2l0aW9uXCI+XHJcbiAgICAgICAgPHNwYW4gKm5nSWY9XCIhIWl0ZW0gXCIgKGNsaWNrKT1cIm9uSWNvbkNsaWNrKGl0ZW0uQ2xpY2spXCIgW3RpdGxlXT1cIml0ZW0uVG9vbFRpcFRleHRcIiBbc3R5bGVdPVwiaXRlbS5TdHlsZVwiPlxyXG4gICAgICAgICAge3tpdGVtLlRleHR9fVxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cImFkZG9ucy1idXR0b25zXCIgKm5nSWY9XCJhZGRPbi5CdXR0b25MaXN0XCI+XHJcbiAgICA8aW9uLWJ1dHRvbiAqbmdGb3I9XCJsZXQgYnV0dG9uIG9mIGFkZE9uLkJ1dHRvbkxpc3Q7IGxldCBpID0gYnV0dG9uXCIgW2ZpbGxdPVwiYnV0dG9uLmZpbGwgfHwgJ291dGxpbmUnXCJcclxuICAgICAgW2NvbG9yXT1cImJ1dHRvbi5jb2xvciB8fCAnZGFyaydcIiBbc2l6ZV09XCJidXR0b24uc2l6ZSB8fCAnc21hbGwnXCIgc3Ryb25nPVwiZmFsc2VcIlxyXG4gICAgICAoY2xpY2spPVwib25JY29uQ2xpY2soYnV0dG9uLkNsaWNrKVwiIFtoaWRkZW5dPVwiIWJ1dHRvbi5WaXNpYmxlXCIgW2Rpc2FibGVkXT1cImdyb3VwLmlzVHJpZ2dlcmVkIHx8IGJ1dHRvbi5EaXNhYmxlZFwiXHJcbiAgICAgIFtzdHlsZV09XCJidXR0b24uU3R5bGVcIj5cclxuICAgICAgPGZhLWljb24gKm5nSWY9XCJidXR0b24uSWNvblwiIFtpY29uXT1cImdldEZvbnRBd2Vzb21lKGJ1dHRvbi5JY29uKVwiXHJcbiAgICAgICAgW3N0eWxlLnBhZGRpbmctcmlnaHRdPVwiYnV0dG9uLlRleHQgPyAnNXB4JyA6ICcwcHgnXCI+PC9mYS1pY29uPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cImlvbi10ZXh0LWNhcGl0YWxpemVcIj57eyBidXR0b24uVGV4dCB9fTwvc3Bhbj5cclxuICAgIDwvaW9uLWJ1dHRvbj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZmllbGQtYWRkb25zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21taGdsb2JhbC1keW5hbWljZm9ybS9zcmMvbGliL2VtYmVkLWNvbXBvbmVudHMvaW5wdXQtZmllbGQtYWRkb25zL2lucHV0LWZpZWxkLWFkZG9ucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tbWhnbG9iYWwtZHluYW1pY2Zvcm0vc3JjL2xpYi9lbWJlZC1jb21wb25lbnRzL2lucHV0LWZpZWxkLWFkZG9ucy9pbnB1dC1maWVsZC1hZGRvbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXlCLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFBb0QsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkNBQTJDLENBQUM7Ozs7Ozs7OztBQVEzRSxNQUFNLE9BQU8seUJBQTBCLFNBQVEsY0FBYztJQUczRCxZQUFZLFdBQThCLEVBQVUsa0JBQXNDO1FBQUksS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFBO1FBQTVELHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7SUFBdUIsQ0FBQztJQUVsSCxRQUFRO0lBQ1IsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDZCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLElBQUksS0FBSyxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1NBQ3RCO0lBQ0gsQ0FBQztJQUVPLGFBQWE7UUFDbkIsbUhB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QUFDO1lBQzlJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxhQUFhLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO1NBQ3RKO0lBQ0gsQ0FBQzs7dUhBNUVVLHlCQUF5QjsyR0FBekIseUJBQXlCLDRKQ1Z0Qywwb0RBZ0NBOzRGRHRCYSx5QkFBeUI7a0JBTHJDLFNBQVM7K0JBQ0Usd0JBQXdCO3lJQUt6QixRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IElucHV0RmllbGRBZGRPbnMsIFRyYW5zbGF0aW9uU2VydmljZSwgWkNvbXBvbmVudCwgWkNvbXBvbmVudEhlbHBlciB9IGZyb20gJ21taGdsb2JhbC16Y29yZSc7XHJcbmltcG9ydCB7IElucHV0RmllbGRCYXNlIH0gZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvaW5wdXRmaWVsZGJhc2UuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFpDb21wb25lbnRTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL3pjb21wb25lbnQuc2VydmljZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiYXBwLWlucHV0LWZpZWxkLWFkZG9uc1wiLFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4vaW5wdXQtZmllbGQtYWRkb25zLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmxzOiBbXCIuL2lucHV0LWZpZWxkLWFkZG9ucy5jb21wb25lbnQuc2Nzc1wiXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW5wdXRGaWVsZEFkZE9uc0NvbXBvbmVudCBleHRlbmRzIElucHV0RmllbGRCYXNlIGltcGxlbWVudHMgWkNvbXBvbmVudCwgT25Jbml0IHtcclxuICBASW5wdXQoKSBwb3NpdGlvbjogJ3RvcCcgfCAnbGVmdCcgfCAncmlnaHQnIHwgJ2JvdHRvbSc7IC8vIGRlZmF1bHQgdG9wXHJcbiAgQElucHV0KCkgYWRkT246IElucHV0RmllbGRBZGRPbnM7XHJcbiAgY29uc3RydWN0b3IoY29tcFNlcnZpY2U6IFpDb21wb25lbnRTZXJ2aWNlLCBwcml2YXRlIHRyYW5zbGF0aW9uU2VydmljZTogVHJhbnNsYXRpb25TZXJ2aWNlKSB7IHN1cGVyKGNvbXBTZXJ2aWNlKSB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgaWYgKHRoaXMuYWRkT24pIHtcclxuICAgICAgdGhpcy5wb3NpdGlvbiA9IHRoaXMucG9zaXRpb24gfHwgJ3RvcCc7XHJcbiAgICAgIHRoaXMuc2V0dXBJY29uTGlzdCgpO1xyXG4gICAgICB0aGlzLnNldHVwQnV0dG9uTGlzdCgpO1xyXG4gICAgICB0aGlzLnNldHVwVGV4dExpc3QoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0dXBJY29uTGlzdCgpIHtcclxuICAgIC8vIHRoaXMuYWRkT24uSWNvbkxpc3QgPSBbeyBJY29uOiBcInVzZXJcIiwgQ2xpY2s6IG51bGwsIFN0eWxlOiBcImNvbG9yOmJsdWU7XCIsIFRvb2xUaXBUZXh0OiBcInRleHRcIiB9XTsgLy8gRm9yIFRlc3RpbmdcclxuXHJcbiAgICBpZiAodGhpcy5hZGRPbi5JY29uTGlzdCkge1xyXG4gICAgICB0aGlzLmFkZE9uLkljb25MaXN0ID0gdGhpcy5hZGRPbi5JY29uTGlzdC5maWx0ZXIoeCA9PiB4KTtcclxuICAgICAgdGhpcy5hZGRPbi5JY29uTGlzdC5mb3JFYWNoKChpOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAoaS5Ub29sVGlwVGV4dCA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICBpLlRvb2xUaXBUZXh0ID0gXCJcIjtcclxuICAgICAgICB9IGVsc2UgaWYgKGkuVG9vbFRpcFRleHQuaW5kZXhPZihcImdyb3VwLlwiKSAhPT0gLTEpIHtcclxuICAgICAgICAgIGkuVG9vbFRpcFRleHQgPSBaQ29tcG9uZW50SGVscGVyLmdldEdyb3VwRXZhbFZhbHVlLmNhbGwodGhpcywgaS5Ub29sVGlwVGV4dCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS4kdHJhbnNsYXRlVGV4dChpLlRvb2xUaXBUZXh0LCB7IGVsZW1lbnROYW1lOiB0aGlzLmdyb3VwLmZpZWxkTmFtZSwgZ3JvdXA6IHRoaXMuZ3JvdXAgfSkuc3Vic2NyaWJlKCk7XHJcblxyXG4gICAgICAgIC8vIERlZmF1bHQgcG9zaXRpb24gdG9wLiByaWdodCB8IGJvdHRvbSB8IHRvcCB8IGxlZnRcclxuICAgICAgICBpLlBvc2l0aW9uID0gaS5Qb3NpdGlvbiB8fCBcInRvcFwiO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLiR0cmFuc2xhdGVJdGVtTGlzdCh0aGlzLmFkZE9uLkljb25MaXN0LCBcIlRvb2xUaXBUZXh0XCIsIHsgZWxlbWVudE5hbWU6IHRoaXMuZ3JvdXAuZmllbGROYW1lLCBncm91cDogdGhpcy5ncm91cCB9KS5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0dXBCdXR0b25MaXN0KCkge1xyXG4gICAgLy8gdGhpcy5hZGRPbi5CdXR0b25MaXN0ID0gW3sgVGV4dDogJ3Rlc3QnLCBJY29uOiAndXNlcicsIFN0eWxlOiAnJywgQ2xpY2s6IG51bGwgfV07ICAvLyBGb3IgVGVzdGluZ1xyXG5cclxuICAgIGlmICh0aGlzLmFkZE9uLkJ1dHRvbkxpc3QpIHtcclxuICAgICAgdGhpcy5hZGRPbi5CdXR0b25MaXN0ID0gdGhpcy5hZGRPbi5CdXR0b25MaXN0LmZpbHRlcih4ID0+IHgpO1xyXG4gICAgICB0aGlzLmFkZE9uLkJ1dHRvbkxpc3QuZm9yRWFjaChidXR0b24gPT4ge1xyXG4gICAgICAgIGNvbnN0IGlzVXNlQ3VzdG9tQ2xhc3MgPSBidXR0b24uQ29sb3IgPyBmYWxzZSA6IHRydWU7XHJcbiAgICAgICAgYnV0dG9uWydjb2xvciddID0gaXNVc2VDdXN0b21DbGFzcyA/ICcnIDogKGJ1dHRvbi5Db2xvciB8fCAncHJpbWFyeScpO1xyXG4gICAgICAgIGJ1dHRvblsnZmlsbCddID0gaXNVc2VDdXN0b21DbGFzcyA/ICcnIDogKGJ1dHRvbi5GaWxsIHx8ICdzb2xpZCcpO1xyXG4gICAgICAgIGJ1dHRvblsnY2xhc3MnXSA9IGlzVXNlQ3VzdG9tQ2xhc3MgPyBgJHtidXR0b24uQ2xhc3N9IHVzZUN1c3RvbUNsYXNzYCA6IGJ1dHRvbi5DbGFzcztcclxuXHJcbiAgICAgICAgYnV0dG9uLlZpc2libGUgPSBaQ29tcG9uZW50SGVscGVyLmlzTnVsbFVuZGVmaW5lZEVtcHR5KGJ1dHRvbi5WaXNpYmxlKSA/ICd0cnVlJyA6IGJ1dHRvbi5WaXNpYmxlO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLiR0cmFuc2xhdGVJdGVtTGlzdCh0aGlzLmFkZE9uLkJ1dHRvbkxpc3QsIFwiVGV4dFwiLCB7IGVsZW1lbnROYW1lOiB0aGlzLmdyb3VwLmZpZWxkTmFtZSwgZ3JvdXA6IHRoaXMuZ3JvdXAgfSkuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldHVwVGV4dExpc3QoKSB7XHJcbiAgICAvLyB0aGlzLmFkZE9uLlRleHRMaXN0ID0gW3sgVGV4dDogJ3Rlc3QnLCBTdHlsZTogJycsIFRvb2x0aXBUZXh0OiAndGVzdCcgfV07ICAvLyBGb3IgVGVzdGluZ1xyXG5cclxuICAgIGlmICh0aGlzLmFkZE9uLlRleHRMaXN0KSB7XHJcbiAgICAgIHRoaXMuYWRkT24uVGV4dExpc3QgPSB0aGlzLmFkZE9uLlRleHRMaXN0LmZpbHRlcih4ID0+IHgpO1xyXG4gICAgICB0aGlzLmFkZE9uLlRleHRMaXN0LmZvckVhY2goKGk6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChpLlRvb2xUaXBUZXh0ID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgIGkuVG9vbFRpcFRleHQgPSBcIlwiO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoaS5Ub29sVGlwVGV4dC5pbmRleE9mKFwiZ3JvdXAuXCIpICE9PSAtMSkge1xyXG4gICAgICAgICAgaS5Ub29sVGlwVGV4dCA9IFpDb21wb25lbnRIZWxwZXIuZ2V0R3JvdXBFdmFsVmFsdWUuY2FsbCh0aGlzLCBpLlRvb2xUaXBUZXh0KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIERlZmF1bHQgcG9zaXRpb24gdG9wLiByaWdodCB8IGJvdHRvbSB8IHRvcCB8IGxlZnRcclxuICAgICAgICBpLlBvc2l0aW9uID0gaS5Qb3NpdGlvbiB8fCBcInRvcFwiO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLiR0cmFuc2xhdGVJdGVtTGlzdCh0aGlzLmFkZE9uLlRleHRMaXN0LCBcIlRleHRcIiwgeyBlbGVtZW50TmFtZTogdGhpcy5ncm91cC5maWVsZE5hbWUsIGdyb3VwOiB0aGlzLmdyb3VwIH0pLnN1YnNjcmliZSgpO1xyXG4gICAgICB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS4kdHJhbnNsYXRlSXRlbUxpc3QodGhpcy5hZGRPbi5UZXh0TGlzdCwgXCJUb29sVGlwVGV4dFwiLCB7IGVsZW1lbnROYW1lOiB0aGlzLmdyb3VwLmZpZWxkTmFtZSwgZ3JvdXA6IHRoaXMuZ3JvdXAgfSkuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgW2NsYXNzXT1cIidhZGRvbnMtY29udGFpbmVyICcgKyBwb3NpdGlvblwiICpuZ0lmPVwiYWRkT25cIj5cclxuICA8ZGl2IGNsYXNzPVwiYWRkb25zLWljb25cIiAqbmdJZj1cImFkZE9uLkljb25MaXN0XCI+XHJcbiAgICA8ZGl2ICpuZ0Zvcj1cImxldCBpdGVtIG9mIGFkZE9uLkljb25MaXN0XCI+XHJcbiAgICAgIDxkaXYga2VuZG9Ub29sdGlwIGNsYXNzPVwiaWNvbi1idXR0b25cIiBzaG93T249XCJob3ZlclwiIFt0b29sdGlwV2lkdGhdPVwiaXRlbS5XaWR0aFwiIFtwb3NpdGlvbl09XCJpdGVtLlBvc2l0aW9uXCI+XHJcbiAgICAgICAgPHNwYW4gKGNsaWNrKT1cIm9uSWNvbkNsaWNrKGl0ZW0uQ2xpY2spXCIgW3RpdGxlXT1cIml0ZW0uVG9vbFRpcFRleHRcIiBbc3R5bGVdPVwiaXRlbS5TdHlsZVwiPlxyXG4gICAgICAgICAgPGZhLWljb24gW2ljb25dPVwiaXRlbS5JY29uXCI+XHJcbiAgICAgICAgICA8L2ZhLWljb24+XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG5cclxuICA8ZGl2IGNsYXNzPVwiYWRkb25zLXRleHRcIiAqbmdJZj1cImFkZE9uLlRleHRMaXN0XCI+XHJcbiAgICA8ZGl2ICpuZ0Zvcj1cImxldCBpdGVtIG9mIGFkZE9uLlRleHRMaXN0XCI+XHJcbiAgICAgIDxkaXYga2VuZG9Ub29sdGlwIGNsYXNzPVwiaWNvbi1idXR0b25cIiBzaG93T249XCJob3ZlclwiIFt0b29sdGlwV2lkdGhdPVwiaXRlbS5XaWR0aFwiIFtwb3NpdGlvbl09XCJpdGVtLlBvc2l0aW9uXCI+XHJcbiAgICAgICAgPHNwYW4gKGNsaWNrKT1cIm9uSWNvbkNsaWNrKGl0ZW0uQ2xpY2spXCIgW3RpdGxlXT1cIml0ZW0uVG9vbFRpcFRleHRcIiBbc3R5bGVdPVwiaXRlbS5TdHlsZVwiPlxyXG4gICAgICAgICAge3tpdGVtLlRleHR9fVxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cImFkZG9ucy1idXR0b25zXCIgKm5nSWY9XCJhZGRPbi5CdXR0b25MaXN0XCI+XHJcbiAgICA8aW9uLWJ1dHRvbiAqbmdGb3I9XCJsZXQgYnV0dG9uIG9mIGFkZE9uLkJ1dHRvbkxpc3Q7IGxldCBpID0gYnV0dG9uXCIgW2ZpbGxdPVwiYnV0dG9uLmZpbGxcIiBbbmdDbGFzc109XCJidXR0b24uY2xhc3NcIlxyXG4gICAgICBbY29sb3JdPVwiYnV0dG9uLmNvbG9yXCIgW3NpemVdPVwiYnV0dG9uLlNpemUgfHwgJ3NtYWxsJ1wiIHN0cm9uZz1cImZhbHNlXCIgKGNsaWNrKT1cIm9uSWNvbkNsaWNrKGJ1dHRvbi5DbGljaylcIlxyXG4gICAgICBbaGlkZGVuXT1cIiFidXR0b24uVmlzaWJsZVwiIFtkaXNhYmxlZF09XCJncm91cC5pc1RyaWdnZXJlZCB8fCBidXR0b24uRGlzYWJsZWRcIiBbc3R5bGVdPVwiYnV0dG9uLlN0eWxlXCI+XHJcbiAgICAgIDxmYS1pY29uICpuZ0lmPVwiYnV0dG9uLkljb25cIiBbaWNvbl09XCJnZXRGb250QXdlc29tZShidXR0b24uSWNvbilcIlxyXG4gICAgICAgIFtzdHlsZS5wYWRkaW5nLXJpZ2h0XT1cImJ1dHRvbi5UZXh0ID8gJzVweCcgOiAnMHB4J1wiPjwvZmEtaWNvbj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJpb24tdGV4dC1jYXBpdGFsaXplXCI+e3sgYnV0dG9uLlRleHQgfX08L3NwYW4+XHJcbiAgICA8L2lvbi1idXR0b24+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Component } from "@angular/core";
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class PageLoaderComponent {
|
|
4
|
+
constructor() { }
|
|
5
|
+
ngOnInit() {
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
PageLoaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PageLoaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
9
|
+
PageLoaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: PageLoaderComponent, selector: "app-page-loader", ngImport: i0, template: "<div class=\"loader\"></div>\r\n", styles: [".loader{animation:rotate 1s infinite;height:50px;width:50px;margin:auto;margin-top:10vh}.loader:before,.loader:after{border-radius:50%;content:\"\";display:block;height:20px;width:20px}.loader:before{animation:ball1 1s infinite;background-color:#38c22e;box-shadow:30px 0 #f37932;margin-bottom:10px}.loader:after{animation:ball2 1s infinite;background-color:#f26a1b;box-shadow:30px 0 #3db93d}@keyframes rotate{0%{-webkit-transform:rotate(0deg) scale(.8);-moz-transform:rotate(0deg) scale(.8)}50%{-webkit-transform:rotate(360deg) scale(1.2);-moz-transform:rotate(360deg) scale(1.2)}to{-webkit-transform:rotate(720deg) scale(.8);-moz-transform:rotate(720deg) scale(.8)}}@keyframes ball1{0%{box-shadow:30px 0 #f37932}50%{box-shadow:0 0 #f37932;margin-bottom:0;-webkit-transform:translate(15px,15px);-moz-transform:translate(15px,15px)}to{box-shadow:30px 0 #f37932;margin-bottom:10px}}@keyframes ball2{0%{box-shadow:30px 0 #3db93d}50%{box-shadow:0 0 #3db93d;margin-top:-20px;-webkit-transform:translate(15px,15px);-moz-transform:translate(15px,15px)}to{box-shadow:30px 0 #3db93d;margin-top:0}}\n"] });
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PageLoaderComponent, decorators: [{
|
|
11
|
+
type: Component,
|
|
12
|
+
args: [{ selector: "app-page-loader", template: "<div class=\"loader\"></div>\r\n", styles: [".loader{animation:rotate 1s infinite;height:50px;width:50px;margin:auto;margin-top:10vh}.loader:before,.loader:after{border-radius:50%;content:\"\";display:block;height:20px;width:20px}.loader:before{animation:ball1 1s infinite;background-color:#38c22e;box-shadow:30px 0 #f37932;margin-bottom:10px}.loader:after{animation:ball2 1s infinite;background-color:#f26a1b;box-shadow:30px 0 #3db93d}@keyframes rotate{0%{-webkit-transform:rotate(0deg) scale(.8);-moz-transform:rotate(0deg) scale(.8)}50%{-webkit-transform:rotate(360deg) scale(1.2);-moz-transform:rotate(360deg) scale(1.2)}to{-webkit-transform:rotate(720deg) scale(.8);-moz-transform:rotate(720deg) scale(.8)}}@keyframes ball1{0%{box-shadow:30px 0 #f37932}50%{box-shadow:0 0 #f37932;margin-bottom:0;-webkit-transform:translate(15px,15px);-moz-transform:translate(15px,15px)}to{box-shadow:30px 0 #f37932;margin-bottom:10px}}@keyframes ball2{0%{box-shadow:30px 0 #3db93d}50%{box-shadow:0 0 #3db93d;margin-top:-20px;-webkit-transform:translate(15px,15px);-moz-transform:translate(15px,15px)}to{box-shadow:30px 0 #3db93d;margin-top:0}}\n"] }]
|
|
13
|
+
}], ctorParameters: function () { return []; } });
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1sb2FkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvZW1iZWQtY29tcG9uZW50cy9wYWdlLWxvYWRlci9wYWdlLWxvYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tbWhnbG9iYWwtZHluYW1pY2Zvcm0vc3JjL2xpYi9lbWJlZC1jb21wb25lbnRzL3BhZ2UtbG9hZGVyL3BhZ2UtbG9hZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7O0FBT2xELE1BQU0sT0FBTyxtQkFBbUI7SUFDOUIsZ0JBQWdCLENBQUM7SUFFakIsUUFBUTtJQUNSLENBQUM7O2lIQUpVLG1CQUFtQjtxR0FBbkIsbUJBQW1CLHVEQ1BoQyxrQ0FDQTs0RkRNYSxtQkFBbUI7a0JBTC9CLFNBQVM7K0JBQ0UsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiYXBwLXBhZ2UtbG9hZGVyXCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9wYWdlLWxvYWRlci5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsczogW1wiLi9wYWdlLWxvYWRlci5jb21wb25lbnQuc2Nzc1wiXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGFnZUxvYWRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJsb2FkZXJcIj48L2Rpdj5cclxuIl19
|