mmhglobal-dynamicform 2.40.0 → 3.0.0-beta
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 +0 -11
- package/fesm2022/mmhglobal-dynamicform.mjs +15336 -0
- package/fesm2022/mmhglobal-dynamicform.mjs.map +1 -0
- package/{mmhglobal-dynamicform.d.ts → index.d.ts} +5 -5
- package/lib/animations/component-animations.d.ts +3 -3
- package/lib/components/{buttonfieldbase.component.d.ts → base/buttonfieldbase.component.d.ts} +18 -26
- package/lib/components/{containerfieldbase.component.d.ts → base/containerfieldbase.component.d.ts} +20 -25
- package/lib/components/{datalistingfieldbase.component.d.ts → base/datalistingfieldbase.component.d.ts} +45 -51
- package/lib/components/{fieldbase.component.d.ts → base/fieldbase.component.d.ts} +49 -49
- package/lib/components/{inputfieldbase.component.d.ts → base/inputfieldbase.component.d.ts} +23 -27
- package/lib/{dropdown_buttons → components/button/dropdown_buttons}/dropdown_buttons.component.d.ts +15 -21
- package/lib/components/button/zbuttons/zbuttons.component.d.ts +19 -0
- package/lib/{zchip → components/button/zchip}/zchip.component.d.ts +22 -26
- package/lib/{zmfb → components/button/zmfb}/zmfb.component.d.ts +38 -43
- package/lib/components/button/zworkflowbuttons/zworkflowbuttons.component.d.ts +29 -0
- package/lib/{zchart → components/chart/zchart}/zchart.component.d.ts +73 -71
- package/lib/{zganttchart → components/chart/zganttchart}/zganttchart.component.d.ts +40 -40
- package/lib/{zgauge → components/chart/zgauge}/zgauge.component.d.ts +67 -63
- package/lib/{zprogressbar → components/chart/zprogressbar}/zprogressbar.component.d.ts +29 -30
- package/lib/{zreport → components/chart/zreport}/zreport.component.d.ts +47 -53
- package/lib/{zscheduler → components/chart/zscheduler}/zscheduler.component.d.ts +53 -52
- package/lib/{zscheduler → components/chart/zscheduler}/zscheduler.toolbar.component.d.ts +20 -20
- package/lib/{ztrendcard → components/chart/ztrendcard}/ztrendcard.component.d.ts +40 -36
- package/lib/components/container/kcard/kcard.component.d.ts +21 -0
- package/lib/{kscrollview → components/container/kscrollview}/kscrollview.component.d.ts +19 -20
- package/lib/{ksplitter → components/container/ksplitter}/ksplitter.component.d.ts +18 -19
- package/lib/{zcard → components/container/zcard}/zcard.component.d.ts +12 -17
- package/lib/components/container/zdiv/zdiv.component.d.ts +12 -0
- package/lib/{zdiv → components/container/zdiv}/zdiv.pipe.d.ts +7 -7
- package/lib/{zloop → components/container/zloop}/zloop.component.d.ts +21 -24
- package/lib/{ztab → components/container/ztab}/ztab.component.d.ts +34 -38
- package/lib/{ztab → components/container/ztab}/ztab.pipe.d.ts +7 -7
- package/lib/{zudf → components/container/zudf}/zudf.component.d.ts +208 -212
- package/lib/{virtual-scroll → components/data-listing/virtual-scroll}/virtual-scroll.component.d.ts +40 -45
- package/lib/{zgrid → components/data-listing/zgrid}/container/zgrid-container.component.d.ts +27 -31
- package/lib/{zgrid → components/data-listing/zgrid}/date-range-cell-filter.component.d.ts +20 -19
- package/lib/{zgrid → components/data-listing/zgrid}/zgrid.binding.directive.d.ts +174 -168
- package/lib/{zgrid → components/data-listing/zgrid}/zgrid.component.d.ts +187 -186
- package/lib/{zgrid → components/data-listing/zgrid}/zgrid.popup.anchor-target.directive.d.ts +8 -8
- package/lib/{zgrid → components/data-listing/zgrid}/zgrid.service.d.ts +27 -27
- package/lib/{ztree → components/data-listing/ztree}/ztree.component.d.ts +77 -78
- package/lib/{ztreelist → components/data-listing/ztreelist}/ztreelist.component.d.ts +100 -107
- package/lib/{sfdatetimepicker → components/input/sfdatetimepicker}/sfdatetimepicker.component.d.ts +26 -31
- package/lib/{sfquerybuilder → components/input/sfquerybuilder}/sfquerybuilder.component.d.ts +71 -73
- package/lib/{zcheckbox → components/input/zcheckbox}/zcheckbox.component.d.ts +18 -20
- package/lib/components/input/zcodeeditor/zcodeeditor.component.d.ts +43 -0
- package/lib/components/input/zcodeeditor/zcodeeditor.service.d.ts +32 -0
- package/lib/{zcolorpicker → components/input/zcolorpicker}/zcolorpicker.component.d.ts +19 -25
- package/lib/{zdatetime → components/input/zdatetime}/dateIonicFormatParser.pipe.d.ts +10 -10
- package/lib/{zdatetime → components/input/zdatetime}/dateIonicMinMaxDate.pipe.d.ts +7 -7
- package/lib/{zdatetime → components/input/zdatetime}/dateKendoFormatParser.pipe.d.ts +10 -10
- package/lib/{zdatetime → components/input/zdatetime}/dateParser.pipe.d.ts +11 -11
- package/lib/{zdatetime → components/input/zdatetime}/zdatetime.component.d.ts +32 -32
- package/lib/{zimg → components/input/zimg}/zimg.component.d.ts +16 -20
- package/lib/{zinput-container → components/input/zinput-container}/zinput-container.component.d.ts +31 -38
- package/lib/{zinput-container → components/input/zinput-container}/zinput-container.pipe.d.ts +25 -25
- package/lib/{zlabel → components/input/zlabel}/zlabel.component.d.ts +20 -26
- package/lib/{znumeric → components/input/znumeric}/znumeric.component.d.ts +29 -31
- package/lib/{znumeric → components/input/znumeric}/znumeric.component.pipe.d.ts +10 -10
- package/lib/{zpostselectinput → components/input/zpostselectinput}/zpostselectinput.component.d.ts +48 -65
- package/lib/{zselectmultiple → components/input/zselectmultiple}/zselectmultiple.component.d.ts +105 -123
- package/lib/{zselectmultiple → components/input/zselectmultiple}/zselectmultiple.directive.d.ts +12 -12
- package/lib/{zselectmultiple → components/input/zselectmultiple}/zselectmultiple.pipe.d.ts +11 -11
- package/lib/{ztext → components/input/ztext}/ztext.component.d.ts +33 -33
- package/lib/{ztextarea → components/input/ztextarea}/ztextarea.component.d.ts +21 -25
- package/lib/{ztexteditor → components/input/ztexteditor}/ztexteditor.component.d.ts +44 -42
- package/lib/{zupload → components/input/zupload}/zupload.component.d.ts +45 -50
- package/lib/{embed-components → components/menu}/context-menu/context-menu.component.d.ts +24 -28
- package/lib/{kmenu → components/menu/kmenu}/kmenu.component.d.ts +13 -14
- package/lib/components/others/zform/zform.component.d.ts +30 -0
- package/lib/components/others/zformcontrol/zformcontrol.component.d.ts +21 -0
- package/lib/components/others/zformcontrol/zformcontrol.service.d.ts +12 -0
- package/lib/components/others/zmodal/zmodal-component-helper.service.d.ts +15 -0
- package/lib/components/others/zmodal/zmodal.component.d.ts +24 -0
- package/lib/components/others/zmodal/zmodal.service.d.ts +25 -0
- package/lib/components/others/zunknown/zunknown.component.d.ts +10 -0
- package/lib/components/utility/e1-root/e1-root.component.d.ts +20 -0
- package/lib/components/utility/input-error-message/input-error-message.component.d.ts +14 -0
- package/lib/{embed-components → components/utility}/input-field-addons/input-field-addons.component.d.ts +18 -23
- package/lib/{embed-components → components/utility}/page-loader/page-loader.component.d.ts +8 -8
- package/lib/{embed-components → components/utility}/processing-record-loader/processing-record-loader.component.d.ts +8 -8
- package/lib/{embed-components → components/utility}/spinner/spinner.component.d.ts +12 -14
- package/lib/components/utility/uiappmenucontent/uiappmenucontent.component.d.ts +17 -0
- package/lib/{uibulletin → components/utility/uibulletin}/uibulletin.component.d.ts +31 -36
- package/lib/{uicontainer → components/utility/uicontainer}/uicontainer.component.d.ts +16 -19
- package/lib/components/utility/uicontent/uicontent.component.d.ts +21 -0
- package/lib/components/utility/uiheader/uiheader.component.d.ts +40 -0
- package/lib/{uipage → components/utility/uipage}/uipage.component.d.ts +18 -23
- package/lib/constants/constant.d.ts +3 -3
- package/lib/directives/elementcontainer.directive.d.ts +8 -8
- package/lib/interfaces/modal.interface.d.ts +4 -0
- package/lib/pipe/htmlSanitize.pipe.d.ts +10 -10
- package/lib/pipe/panel-area.pipe.d.ts +7 -7
- package/lib/services/main.service.d.ts +136 -142
- package/lib/services/zcomponent.debug.service.d.ts +289 -68
- package/lib/services/zcomponent.service.d.ts +31 -44
- package/package.json +6 -13
- package/public-api.d.ts +93 -100
- package/styles/all.scss +643 -0
- package/styles/component.scss +0 -0
- package/styles/notificationkit.scss +53 -0
- package/esm2020/lib/animations/component-animations.mjs +0 -39
- package/esm2020/lib/components/buttonfieldbase.component.mjs +0 -80
- package/esm2020/lib/components/containerfieldbase.component.mjs +0 -50
- package/esm2020/lib/components/datalistingfieldbase.component.mjs +0 -277
- package/esm2020/lib/components/fieldbase.component.mjs +0 -178
- package/esm2020/lib/components/inputfieldbase.component.mjs +0 -202
- package/esm2020/lib/constants/constant.mjs +0 -4
- package/esm2020/lib/directives/elementcontainer.directive.mjs +0 -16
- package/esm2020/lib/directives/fieldelement.directive.mjs +0 -16
- package/esm2020/lib/directives/scrollbar.theme.directive.mjs +0 -45
- package/esm2020/lib/dropdown_buttons/dropdown_buttons.component.mjs +0 -109
- package/esm2020/lib/embed-components/context-menu/context-menu.component.mjs +0 -113
- package/esm2020/lib/embed-components/input-field-addons/input-field-addons.component.mjs +0 -93
- package/esm2020/lib/embed-components/page-loader/page-loader.component.mjs +0 -14
- package/esm2020/lib/embed-components/processing-record-loader/processing-record-loader.component.mjs +0 -14
- package/esm2020/lib/embed-components/spinner/spinner.component.mjs +0 -27
- package/esm2020/lib/ficon/ficon.component.mjs +0 -53
- package/esm2020/lib/input-error-message/input-error-message.component.mjs +0 -53
- package/esm2020/lib/kcard/kcard.component.mjs +0 -90
- package/esm2020/lib/kmenu/kmenu.component.mjs +0 -46
- package/esm2020/lib/kscrollview/kscrollview.component.mjs +0 -77
- package/esm2020/lib/ksplitter/ksplitter.component.mjs +0 -67
- package/esm2020/lib/mmhglobal-dynamicform.module.mjs +0 -657
- package/esm2020/lib/pipe/htmlSanitize.pipe.mjs +0 -18
- package/esm2020/lib/pipe/panel-area.pipe.mjs +0 -28
- package/esm2020/lib/services/main.service.mjs +0 -1307
- package/esm2020/lib/services/zcomponent.debug.service.mjs +0 -742
- package/esm2020/lib/services/zcomponent.service.mjs +0 -300
- package/esm2020/lib/sfdatetimepicker/sfdatetimepicker.component.mjs +0 -108
- package/esm2020/lib/sfquerybuilder/sfquerybuilder.component.mjs +0 -501
- package/esm2020/lib/uiactionbutton/uiactionbutton.component.mjs +0 -229
- package/esm2020/lib/uiappmenucontent/uiappmenucontent.component.mjs +0 -55
- package/esm2020/lib/uibulletin/uibulletin.component.mjs +0 -96
- package/esm2020/lib/uicontainer/uicontainer.component.mjs +0 -41
- package/esm2020/lib/uicontent/uicontent.component.mjs +0 -63
- package/esm2020/lib/uiheader/uiheader.component.mjs +0 -116
- package/esm2020/lib/uiheader/uiheader.service.mjs +0 -27
- package/esm2020/lib/uimenubutton/uimenubutton.component.mjs +0 -36
- package/esm2020/lib/uimenucontent/uimenucontent.component.mjs +0 -38
- package/esm2020/lib/uipage/uipage.component.mjs +0 -160
- package/esm2020/lib/uivalidationmessage/uivalidationmessage.component.mjs +0 -40
- package/esm2020/lib/virtual-scroll/virtual-scroll.component.mjs +0 -249
- package/esm2020/lib/zbullet/zbullet.component.mjs +0 -77
- package/esm2020/lib/zbuttons/zbuttons.component.mjs +0 -151
- package/esm2020/lib/zcard/zcard.component.mjs +0 -36
- package/esm2020/lib/zchart/zchart.component.mjs +0 -222
- package/esm2020/lib/zcheckbox/zcheckbox.component.mjs +0 -42
- package/esm2020/lib/zchip/zchip.component.mjs +0 -119
- package/esm2020/lib/zcodeeditor/zcodeeditor.component.mjs +0 -169
- package/esm2020/lib/zcodeeditor/zcodeeditor.pipe.mjs +0 -60
- package/esm2020/lib/zcolorpicker/zcolorpicker.component.mjs +0 -47
- package/esm2020/lib/zdaterange/zdaterange.component.mjs +0 -72
- package/esm2020/lib/zdatetime/dateIonicFormatParser.pipe.mjs +0 -40
- package/esm2020/lib/zdatetime/dateIonicMinMaxDate.pipe.mjs +0 -22
- package/esm2020/lib/zdatetime/dateKendoFormatParser.pipe.mjs +0 -41
- package/esm2020/lib/zdatetime/dateParser.pipe.mjs +0 -36
- package/esm2020/lib/zdatetime/zdatetime.component.mjs +0 -134
- package/esm2020/lib/zdiv/zdiv.component.mjs +0 -79
- package/esm2020/lib/zdiv/zdiv.pipe.mjs +0 -31
- package/esm2020/lib/zform/zform.component.mjs +0 -188
- package/esm2020/lib/zformcontrol/zformcontrol.component.mjs +0 -51
- package/esm2020/lib/zganttchart/zganttchart.component.mjs +0 -160
- package/esm2020/lib/zgauge/zgauge.component.mjs +0 -122
- package/esm2020/lib/zgrid/container/zgrid-container.component.mjs +0 -107
- package/esm2020/lib/zgrid/date-range-cell-filter.component.mjs +0 -146
- package/esm2020/lib/zgrid/zgrid.binding.directive.mjs +0 -881
- package/esm2020/lib/zgrid/zgrid.component.mjs +0 -1131
- package/esm2020/lib/zgrid/zgrid.popup.anchor-target.directive.mjs +0 -17
- package/esm2020/lib/zgrid/zgrid.service.mjs +0 -113
- package/esm2020/lib/zimg/zimg.component.mjs +0 -61
- package/esm2020/lib/zinput-container/zinput-container.component.mjs +0 -91
- package/esm2020/lib/zinput-container/zinput-container.pipe.mjs +0 -132
- package/esm2020/lib/zlabel/zlabel.component.mjs +0 -52
- package/esm2020/lib/zloop/zloop.component.mjs +0 -123
- package/esm2020/lib/zmfb/zmfb.component.mjs +0 -217
- package/esm2020/lib/zmodal/zmodal-mobile.component.mjs +0 -124
- package/esm2020/lib/zmodal/zmodal.component.mjs +0 -129
- package/esm2020/lib/znumeric/znumeric.component.mjs +0 -110
- package/esm2020/lib/znumeric/znumeric.component.pipe.mjs +0 -19
- package/esm2020/lib/zpostselectinput/zpostselectinput.component.mjs +0 -315
- package/esm2020/lib/zprogressbar/zprogressbar.component.mjs +0 -61
- package/esm2020/lib/zradiobutton/zradiobutton.component.mjs +0 -106
- package/esm2020/lib/zreport/zreport.component.mjs +0 -184
- package/esm2020/lib/zscheduler/zscheduler.component.mjs +0 -271
- package/esm2020/lib/zscheduler/zscheduler.toolbar.component.mjs +0 -150
- package/esm2020/lib/zselectmultiple/zselectmultiple.component.mjs +0 -689
- package/esm2020/lib/zselectmultiple/zselectmultiple.directive.mjs +0 -35
- package/esm2020/lib/zselectmultiple/zselectmultiple.pipe.mjs +0 -29
- package/esm2020/lib/ztab/ztab.component.mjs +0 -211
- package/esm2020/lib/ztab/ztab.pipe.mjs +0 -28
- package/esm2020/lib/ztext/ztext.component.mjs +0 -167
- package/esm2020/lib/ztextarea/ztextarea.component.mjs +0 -66
- package/esm2020/lib/ztexteditor/ztexteditor.component.mjs +0 -135
- package/esm2020/lib/ztree/ztree.component.mjs +0 -539
- package/esm2020/lib/ztreelist/ztreelist.component.mjs +0 -546
- package/esm2020/lib/ztrendcard/ztrendcard.component.mjs +0 -106
- package/esm2020/lib/zudf/zudf.component.mjs +0 -1016
- package/esm2020/lib/zunknown/zunknown.component.mjs +0 -20
- package/esm2020/lib/zupload/zupload.component.mjs +0 -403
- package/esm2020/lib/zworkflowbuttons/zworkflowbuttons.component.mjs +0 -244
- package/esm2020/mmhglobal-dynamicform.mjs +0 -5
- package/esm2020/public-api.mjs +0 -107
- package/fesm2015/mmhglobal-dynamicform.mjs +0 -16119
- package/fesm2015/mmhglobal-dynamicform.mjs.map +0 -1
- package/fesm2020/mmhglobal-dynamicform.mjs +0 -16079
- package/fesm2020/mmhglobal-dynamicform.mjs.map +0 -1
- package/lib/directives/fieldelement.directive.d.ts +0 -8
- package/lib/directives/scrollbar.theme.directive.d.ts +0 -10
- package/lib/ficon/ficon.component.d.ts +0 -34
- package/lib/input-error-message/input-error-message.component.d.ts +0 -19
- package/lib/kcard/kcard.component.d.ts +0 -25
- package/lib/mmhglobal-dynamicform.module.d.ts +0 -133
- package/lib/uiactionbutton/uiactionbutton.component.d.ts +0 -39
- package/lib/uiappmenucontent/uiappmenucontent.component.d.ts +0 -27
- package/lib/uicontent/uicontent.component.d.ts +0 -29
- package/lib/uiheader/uiheader.component.d.ts +0 -39
- package/lib/uiheader/uiheader.service.d.ts +0 -11
- package/lib/uimenubutton/uimenubutton.component.d.ts +0 -20
- package/lib/uimenucontent/uimenucontent.component.d.ts +0 -24
- package/lib/uivalidationmessage/uivalidationmessage.component.d.ts +0 -21
- package/lib/zbullet/zbullet.component.d.ts +0 -27
- package/lib/zbuttons/zbuttons.component.d.ts +0 -25
- package/lib/zcodeeditor/zcodeeditor.component.d.ts +0 -43
- package/lib/zcodeeditor/zcodeeditor.pipe.d.ts +0 -12
- package/lib/zdaterange/zdaterange.component.d.ts +0 -29
- package/lib/zdiv/zdiv.component.d.ts +0 -22
- package/lib/zform/zform.component.d.ts +0 -38
- package/lib/zformcontrol/zformcontrol.component.d.ts +0 -25
- package/lib/zmodal/zmodal-mobile.component.d.ts +0 -38
- package/lib/zmodal/zmodal.component.d.ts +0 -44
- package/lib/zradiobutton/zradiobutton.component.d.ts +0 -34
- package/lib/zunknown/zunknown.component.d.ts +0 -17
- package/lib/zworkflowbuttons/zworkflowbuttons.component.d.ts +0 -32
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
import { formatDate } from "@angular/common";
|
|
2
|
-
import { Pipe } from "@angular/core";
|
|
3
|
-
import { ZComponentHelper, ZGroup, ZSelectPostApiParams } from "mmhglobal-zcore";
|
|
4
|
-
import { of } from "rxjs";
|
|
5
|
-
import { map } from "rxjs/operators";
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "mmhglobal-zcore";
|
|
8
|
-
import * as i2 from "../services/zcomponent.service";
|
|
9
|
-
export class ZInputParser {
|
|
10
|
-
constructor(resourceApiService, cacheService, webApiService, componentService) {
|
|
11
|
-
this.resourceApiService = resourceApiService;
|
|
12
|
-
this.cacheService = cacheService;
|
|
13
|
-
this.webApiService = webApiService;
|
|
14
|
-
this.componentService = componentService;
|
|
15
|
-
this.zdate_type = ['zdate', 'ztime', 'zdatetime', 'zshortdate', 'zuidatetime', 'zuitime'];
|
|
16
|
-
this.sfdatetimepicker_type = ['sfdatetimepicker'];
|
|
17
|
-
this.zcheckbox_type = ['checkbox'];
|
|
18
|
-
this.zselect_type = ['zuiselectmultiple', 'zuiselectmultiple_button', 'select'];
|
|
19
|
-
this.nullValueDefaultDisplayText = "-";
|
|
20
|
-
}
|
|
21
|
-
transform(value, data, group) {
|
|
22
|
-
this.nullValueDefaultDisplayText = data.NullValueDisplayText != undefined ? data.NullValueDisplayText : '-';
|
|
23
|
-
if (!value) {
|
|
24
|
-
return of(this.nullValueDefaultDisplayText);
|
|
25
|
-
}
|
|
26
|
-
if (this.zdate_type.includes(data.Type) || this.sfdatetimepicker_type.includes(data.Type)) {
|
|
27
|
-
return of(this.transformTimeValue(value, data));
|
|
28
|
-
}
|
|
29
|
-
else if (this.zcheckbox_type.includes(data.Type)) {
|
|
30
|
-
return of(value ? "Yes" : "No");
|
|
31
|
-
}
|
|
32
|
-
else if (this.zselect_type.includes(data.Type)) {
|
|
33
|
-
const selectField = { data: {}, itemDataField: '', itemTextField: '', itemValueField: '' };
|
|
34
|
-
ZComponentHelper.setSelectMultipleTextValue(data.SelectOptions, selectField);
|
|
35
|
-
group._debug = group._debug || new ZGroup();
|
|
36
|
-
return this.loadZData(data, group, selectField).pipe(map(res => {
|
|
37
|
-
const optionData = res.dataSet || res || [];
|
|
38
|
-
const optionValue = optionData ? optionData.find(o => o[selectField.itemValueField] == value) : null;
|
|
39
|
-
if (optionValue) {
|
|
40
|
-
return this.getItemTemplate(optionValue, data, group, selectField.itemValueField, selectField.itemTextField) || this.nullValueDefaultDisplayText;
|
|
41
|
-
}
|
|
42
|
-
else {
|
|
43
|
-
return this.nullValueDefaultDisplayText;
|
|
44
|
-
}
|
|
45
|
-
}));
|
|
46
|
-
}
|
|
47
|
-
return of(value);
|
|
48
|
-
}
|
|
49
|
-
transformTimeValue(value, data) {
|
|
50
|
-
let val = value;
|
|
51
|
-
if (data.IsIgnoreTimeZone) {
|
|
52
|
-
val = this.componentService.localizeDateTimeByIgnoringTimeZone(value, data);
|
|
53
|
-
}
|
|
54
|
-
return formatDate(val, this.getDateTimeFormat(data.Type), 'en_US') || this.nullValueDefaultDisplayText;
|
|
55
|
-
}
|
|
56
|
-
// To refactor
|
|
57
|
-
getDateTimeFormat(dateType) {
|
|
58
|
-
if (dateType === "ztime") {
|
|
59
|
-
return "hh:mm";
|
|
60
|
-
}
|
|
61
|
-
else if (dateType === "zuidatetime" || dateType === "sfdatetimepicker") {
|
|
62
|
-
return "dd-MMM-yyyy h:mm a";
|
|
63
|
-
}
|
|
64
|
-
else if (dateType === "zuitime") {
|
|
65
|
-
return "hh:mm:ss";
|
|
66
|
-
}
|
|
67
|
-
else if (dateType === "zshortdate") {
|
|
68
|
-
return "MMM-yyyy";
|
|
69
|
-
}
|
|
70
|
-
return "dd-MMM-yyyy";
|
|
71
|
-
}
|
|
72
|
-
loadZData(data, group, selectField) {
|
|
73
|
-
if (data.OptionResourceURL) {
|
|
74
|
-
const resourceUrl = this.resourceApiService.getURL(data.OptionResourceURL);
|
|
75
|
-
const filterParam = new ZSelectPostApiParams();
|
|
76
|
-
filterParam.sorts = data.OptionSort;
|
|
77
|
-
filterParam.columns = data.OptionColumns;
|
|
78
|
-
filterParam.filters = data.OptionFilter;
|
|
79
|
-
return ZComponentHelper.getDataOptions(data.OptionName, filterParam, group, resourceUrl, this.cacheService, this.webApiService, false);
|
|
80
|
-
}
|
|
81
|
-
else {
|
|
82
|
-
return of(this.getItemsData(data, group, selectField.itemDataField));
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
getItemsData(data, group, itemDataField) {
|
|
86
|
-
const optionName = data.OptionName || itemDataField || 'group.zData.' + data.Name;
|
|
87
|
-
if (Array.isArray(data.SelectOptions) && !group.zData[optionName.slice(12)]) {
|
|
88
|
-
group.zData[optionName.slice(12)] = data.SelectOptions;
|
|
89
|
-
itemDataField = optionName;
|
|
90
|
-
}
|
|
91
|
-
if (optionName.startsWith('zData.')) {
|
|
92
|
-
return group.zData[optionName.slice(6)] || [];
|
|
93
|
-
}
|
|
94
|
-
if (optionName.startsWith('group.zData.')) {
|
|
95
|
-
return group.zData[optionName.slice(12)] || [];
|
|
96
|
-
}
|
|
97
|
-
if (optionName.startsWith('group.')) {
|
|
98
|
-
return group[optionName.slice(6)] || [];
|
|
99
|
-
}
|
|
100
|
-
if (optionName) {
|
|
101
|
-
return group[optionName] || [];
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
getItemTemplate(item, data, group, itemValueField, itemTextField) {
|
|
105
|
-
if (data.ItemTemplate) {
|
|
106
|
-
const getTemplateFunc = ZComponentHelper.getGroupEvalValue.call({ group: group }, data.ItemTemplate);
|
|
107
|
-
return getTemplateFunc({
|
|
108
|
-
item,
|
|
109
|
-
data,
|
|
110
|
-
group,
|
|
111
|
-
itemValueField,
|
|
112
|
-
itemTextField
|
|
113
|
-
});
|
|
114
|
-
}
|
|
115
|
-
else if (itemTextField) {
|
|
116
|
-
return item[itemTextField];
|
|
117
|
-
}
|
|
118
|
-
else {
|
|
119
|
-
return Object.values(item).join(", ");
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
ZInputParser.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: ZInputParser, deps: [{ token: i1.ResourceApiService }, { token: i1.CacheService }, { token: i1.WebApiService }, { token: i2.ZComponentService }], target: i0.ɵɵFactoryTarget.Pipe });
|
|
124
|
-
ZInputParser.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: ZInputParser, name: "inputText" });
|
|
125
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: ZInputParser, decorators: [{
|
|
126
|
-
type: Pipe,
|
|
127
|
-
args: [{
|
|
128
|
-
name: "inputText",
|
|
129
|
-
pure: true,
|
|
130
|
-
}]
|
|
131
|
-
}], ctorParameters: function () { return [{ type: i1.ResourceApiService }, { type: i1.CacheService }, { type: i1.WebApiService }, { type: i2.ZComponentService }]; } });
|
|
132
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemlucHV0LWNvbnRhaW5lci5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvemlucHV0LWNvbnRhaW5lci96aW5wdXQtY29udGFpbmVyLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sRUFBbUQsZ0JBQWdCLEVBQVUsTUFBTSxFQUFpQyxvQkFBb0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pLLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBT3JDLE1BQU0sT0FBTyxZQUFZO0lBT3ZCLFlBQ1Usa0JBQXNDLEVBQ3RDLFlBQTBCLEVBQzFCLGFBQTRCLEVBQzVCLGdCQUFtQztRQUhuQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBbUI7UUFWNUIsZUFBVSxHQUFHLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUN0RiwwQkFBcUIsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDNUMsbUJBQWMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzlCLGlCQUFZLEdBQUcsQ0FBQyxtQkFBbUIsRUFBRSwwQkFBMEIsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUNwRixnQ0FBMkIsR0FBRyxHQUFHLENBQUM7SUFRMUMsQ0FBQztJQUVELFNB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WSxFQUFFO1lBQ3JCLE1BQU0sZUFBZSxHQUFHLGdCQUFnQixDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7WUFFckcsT0FBTyxlQUFlLENBQUM7Z0JBQ3JCLElBQUk7Z0JBQ0osSUFBSTtnQkFDSixLQUFLO2dCQUNMLGNBQWM7Z0JBQ2QsYUFBYTthQUNtQixDQUFDLENBQUM7U0FDckM7YUFBTSxJQUFJLGFBQWEsRUFBRTtZQUN4QixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUM1QjthQUFNO1lBQ0wsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN2QztJQUNILENBQUM7O3lHQTdJVSxZQUFZO3VHQUFaLFlBQVk7MkZBQVosWUFBWTtrQkFKeEIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsV0FBVztvQkFDakIsSUFBSSxFQUFFLElBQUk7aUJBQ1giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmb3JtYXREYXRlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQ2FjaGVTZXJ2aWNlLCBSZXNvdXJjZUFwaVNlcnZpY2UsIFdlYkFwaVNlcnZpY2UsIFpDb21wb25lbnRIZWxwZXIsIFpGaWVsZCwgWkdyb3VwLCBaU2VsZWN0TXVsdGlwbGVUZW1wbGF0ZVBhcmFtcywgWlNlbGVjdFBvc3RBcGlQYXJhbXMgfSBmcm9tIFwibW1oZ2xvYmFsLXpjb3JlXCI7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcbmltcG9ydCB7IFpDb21wb25lbnRTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL3pjb21wb25lbnQuc2VydmljZVwiO1xyXG5cclxuQFBpcGUoe1xyXG4gIG5hbWU6IFwiaW5wdXRUZXh0XCIsXHJcbiAgcHVyZTogdHJ1ZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFpJbnB1dFBhcnNlciBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgemRhdGVfdHlwZSA9IFsnemRhdGUnLCAnenRpbWUnLCAnemRhdGV0aW1lJywgJ3pzaG9ydGRhdGUnLCAnenVpZGF0ZXRpbWUnLCAnenVpdGltZSddO1xyXG4gIHB1YmxpYyByZWFkb25seSBzZmRhdGV0aW1lcGlja2VyX3R5cGUgPSBbJ3NmZGF0ZXRpbWVwaWNrZXInXTtcclxuICBwcml2YXRlIHJlYWRvbmx5IHpjaGVja2JveF90eXBlID0gWydjaGVja2JveCddO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgenNlbGVjdF90eXBlID0gWyd6dWlzZWxlY3RtdWx0aXBsZScsICd6dWlzZWxlY3RtdWx0aXBsZV9idXR0b24nLCAnc2VsZWN0J107XHJcbiAgcHJpdmF0ZSBudWxsVmFsdWVEZWZhdWx0RGlzcGxheVRleHQgPSBcIi1cIjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlc291cmNlQXBpU2VydmljZTogUmVzb3VyY2VBcGlTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjYWNoZVNlcnZpY2U6IENhY2hlU2VydmljZSxcclxuICAgIHByaXZhdGUgd2ViQXBpU2VydmljZTogV2ViQXBpU2VydmljZSxcclxuICAgIHByaXZhdGUgY29tcG9uZW50U2VydmljZTogWkNvbXBvbmVudFNlcnZpY2VcclxuICApIHtcclxuICB9XHJcblxyXG4gIHRyYW5zZm9ybSh2YWx1ZTogYW55LCBkYXRhOiBaRmllbGQsIGdyb3VwOiBaR3JvdXApOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xyXG4gICAgdGhpcy5udWxsVmFsdWVEZWZhdWx0RGlzcGxheVRleHQgPSBkYXRhLk51bGxWYWx1ZURpc3BsYXlUZXh0ICE9IHVuZGVmaW5lZCA/IGRhdGEuTnVsbFZhbHVlRGlzcGxheVRleHQgOiAnLSc7XHJcbiAgICBpZiAoIXZhbHVlKSB7XHJcbiAgICAgIHJldHVybiBvZih0aGlzLm51bGxWYWx1ZURlZmF1bHREaXNwbGF5VGV4dCk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuemRhdGVfdHlwZS5pbmNsdWRlcyhkYXRhLlR5cGUpIHx8IHRoaXMuc2ZkYXRldGltZXBpY2tlcl90eXBlLmluY2x1ZGVzKGRhdGEuVHlwZSkpIHtcclxuICAgICAgcmV0dXJuIG9mKHRoaXMudHJhbnNmb3JtVGltZVZhbHVlKHZhbHVlLCBkYXRhKSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmICh0aGlzLnpjaGVja2JveF90eXBlLmluY2x1ZGVzKGRhdGEuVHlwZSkpIHtcclxuICAgICAgcmV0dXJuIG9mKHZhbHVlID8gXCJZZXNcIiA6IFwiTm9cIik7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmICh0aGlzLnpzZWxlY3RfdHlwZS5pbmNsdWRlcyhkYXRhLlR5cGUpKSB7XHJcbiAgICAgIGNvbnN0IHNlbGVjdEZpZWxkID0geyBkYXRhOiB7fSwgaXRlbURhdGFGaWVsZDogJycsIGl0ZW1UZXh0RmllbGQ6ICcnLCBpdGVtVmFsdWVGaWVsZDogJycgfTtcclxuICAgICAgWkNvbXBvbmVudEhlbHBlci5zZXRTZWxlY3RNdWx0aXBsZVRleHRWYWx1ZShkYXRhLlNlbGVjdE9wdGlvbnMsIHNlbGVjdEZpZWxkKTtcclxuICAgICAgZ3JvdXAuX2RlYnVnID0gZ3JvdXAuX2RlYnVnIHx8IG5ldyBaR3JvdXAoKTtcclxuICAgICAgcmV0dXJuIHRoaXMubG9hZFpEYXRhKGRhdGEsIGdyb3VwLCBzZWxlY3RGaWVsZCkucGlwZShcclxuICAgICAgICBtYXAocmVzID0+IHtcclxuICAgICAgICAgIGNvbnN0IG9wdGlvbkRhdGEgPSByZXMuZGF0YVNldCB8fCByZXMgfHwgW107XHJcbiAgICAgICAgICBjb25zdCBvcHRpb25WYWx1ZSA9IG9wdGlvbkRhdGEgPyBvcHRpb25EYXRhLmZpbmQobyA9PiBvW3NlbGVjdEZpZWxkLml0ZW1WYWx1ZUZpZWxkXSA9PSB2YWx1ZSkgOiBudWxsO1xyXG4gICAgICAgICAgaWYgKG9wdGlvblZhbHVlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldEl0ZW1UZW1wbGF0ZShvcHRpb25WYWx1ZSwgZGF0YSwgZ3JvdXAsIHNlbGVjdEZpZWxkLml0ZW1WYWx1ZUZpZWxkLCBzZWxlY3RGaWVsZC5pdGVtVGV4dEZpZWxkKSB8fCB0aGlzLm51bGxWYWx1ZURlZmF1bHREaXNwbGF5VGV4dDtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5udWxsVmFsdWVEZWZhdWx0RGlzcGxheVRleHQ7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSkpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBvZih2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHRyYW5zZm9ybVRpbWVWYWx1ZSh2YWx1ZTogYW55LCBkYXRhOiBaRmllbGQpOiBzdHJpbmcge1xyXG4gICAgbGV0IHZhbCA9IHZhbHVlO1xyXG4gICAgaWYgKGRhdGEuSXNJZ25vcmVUaW1lWm9uZSkge1xyXG4gICAgICB2YWwgPSB0aGlzLmNvbXBvbmVudFNlcnZpY2UubG9jYWxpemVEYXRlVGltZUJ5SWdub3JpbmdUaW1lWm9uZSh2YWx1ZSwgZGF0YSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZm9ybWF0RGF0ZSh2YWwsIHRoaXMuZ2V0RGF0ZVRpbWVGb3JtYXQoZGF0YS5UeXBlKSwgJ2VuX1VTJykgfHwgdGhpcy5udWxsVmFsdWVEZWZhdWx0RGlzcGxheVRleHQ7XHJcbiAgfVxyXG5cclxuICAvLyBUbyByZWZhY3RvclxyXG4gIHByaXZhdGUgZ2V0RGF0ZVRpbWVGb3JtYXQoZGF0ZVR5cGU6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBpZiAoZGF0ZVR5cGUgPT09IFwienRpbWVcIikge1xyXG4gICAgICByZXR1cm4gXCJoaDptbVwiO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoZGF0ZVR5cGUgPT09IFwienVpZGF0ZXRpbWVcIiB8fCBkYXRlVHlwZSA9PT0gXCJzZmRhdGV0aW1lcGlja2VyXCIpIHtcclxuICAgICAgcmV0dXJuIFwiZGQtTU1NLXl5eXkgaDptbSBhXCI7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChkYXRlVHlwZSA9PT0gXCJ6dWl0aW1lXCIpIHtcclxuICAgICAgcmV0dXJuIFwiaGg6bW06c3NcIjtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGRhdGVUeXBlID09PSBcInpzaG9ydGRhdGVcIikge1xyXG4gICAgICByZXR1cm4gXCJNTU0teXl5eVwiO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIFwiZGQtTU1NLXl5eXlcIjtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgbG9hZFpEYXRhKGRhdGE6IFpGaWVsZCwgZ3JvdXA6IFpHcm91cCwgc2VsZWN0RmllbGQ6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBpZiAoZGF0YS5PcHRpb25SZXNvdXJjZVVSTCkge1xyXG4gICAgICBjb25zdCByZXNvdXJjZVVybCA9IHRoaXMucmVzb3VyY2VBcGlTZXJ2aWNlLmdldFVSTChcclxuICAgICAgICBkYXRhLk9wdGlvblJlc291cmNlVVJMXHJcbiAgICAgICk7XHJcblxyXG4gICAgICBjb25zdCBmaWx0ZXJQYXJhbSA9IG5ldyBaU2VsZWN0UG9zdEFwaVBhcmFtcygpO1xyXG4gICAgICBmaWx0ZXJQYXJhbS5zb3J0cyA9IGRhdGEuT3B0aW9uU29ydDtcclxuICAgICAgZmlsdGVyUGFyYW0uY29sdW1ucyA9IGRhdGEuT3B0aW9uQ29sdW1ucztcclxuICAgICAgZmlsdGVyUGFyYW0uZmlsdGVycyA9IGRhdGEuT3B0aW9uRmlsdGVyO1xyXG5cclxuICAgICAgcmV0dXJuIFpDb21wb25lbnRIZWxwZXIuZ2V0RGF0YU9wdGlvbnMoXHJcbiAgICAgICAgZGF0YS5PcHRpb25OYW1lLFxyXG4gICAgICAgIGZpbHRlclBhcmFtLFxyXG4gICAgICAgIGdyb3VwLFxyXG4gICAgICAgIHJlc291cmNlVXJsLFxyXG4gICAgICAgIHRoaXMuY2FjaGVTZXJ2aWNlLFxyXG4gICAgICAgIHRoaXMud2ViQXBpU2VydmljZSxcclxuICAgICAgICBmYWxzZVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHJldHVybiBvZih0aGlzLmdldEl0ZW1zRGF0YShkYXRhLCBncm91cCwgc2VsZWN0RmllbGQuaXRlbURhdGFGaWVsZCkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRJdGVtc0RhdGEoZGF0YSwgZ3JvdXAsIGl0ZW1EYXRhRmllbGQpIHtcclxuICAgIGNvbnN0IG9wdGlvbk5hbWUgPSBkYXRhLk9wdGlvbk5hbWUgfHwgaXRlbURhdGFGaWVsZCB8fCAnZ3JvdXAuekRhdGEuJyArIGRhdGEuTmFtZTtcclxuICAgIGlmIChBcnJheS5pc0FycmF5KGRhdGEuU2VsZWN0T3B0aW9ucykgJiYgIWdyb3VwLnpEYXRhW29wdGlvbk5hbWUuc2xpY2UoMTIpXSkge1xyXG4gICAgICBncm91cC56RGF0YVtvcHRpb25OYW1lLnNsaWNlKDEyKV0gPSBkYXRhLlNlbGVjdE9wdGlvbnM7XHJcbiAgICAgIGl0ZW1EYXRhRmllbGQgPSBvcHRpb25OYW1lO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChvcHRpb25OYW1lLnN0YXJ0c1dpdGgoJ3pEYXRhLicpKSB7XHJcbiAgICAgIHJldHVybiBncm91cC56RGF0YVtvcHRpb25OYW1lLnNsaWNlKDYpXSB8fCBbXTtcclxuICAgIH1cclxuICAgIGlmIChvcHRpb25OYW1lLnN0YXJ0c1dpdGgoJ2dyb3VwLnpEYXRhLicpKSB7XHJcbiAgICAgIHJldHVybiBncm91cC56RGF0YVtvcHRpb25OYW1lLnNsaWNlKDEyKV0gfHwgW107XHJcbiAgICB9XHJcbiAgICBpZiAob3B0aW9uTmFtZS5zdGFydHNXaXRoKCdncm91cC4nKSkge1xyXG4gICAgICByZXR1cm4gZ3JvdXBbb3B0aW9uTmFtZS5zbGljZSg2KV0gfHwgW107XHJcbiAgICB9XHJcbiAgICBpZiAob3B0aW9uTmFtZSkge1xyXG4gICAgICByZXR1cm4gZ3JvdXBbb3B0aW9uTmFtZV0gfHwgW107XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldEl0ZW1UZW1wbGF0ZShcclxuICAgIGl0ZW06IGFueSxcclxuICAgIGRhdGE6IGFueSxcclxuICAgIGdyb3VwOiBhbnksXHJcbiAgICBpdGVtVmFsdWVGaWVsZDogc3RyaW5nLFxyXG4gICAgaXRlbVRleHRGaWVsZDogc3RyaW5nXHJcbiAgKSB7XHJcbiAgICBpZiAoZGF0YS5JdGVtVGVtcGxhdGUpIHtcclxuICAgICAgY29uc3QgZ2V0VGVtcGxhdGVGdW5jID0gWkNvbXBvbmVudEhlbHBlci5nZXRHcm91cEV2YWxWYWx1ZS5jYWxsKHsgZ3JvdXA6IGdyb3VwIH0sIGRhdGEuSXRlbVRlbXBsYXRlKTtcclxuXHJcbiAgICAgIHJldHVybiBnZXRUZW1wbGF0ZUZ1bmMoe1xyXG4gICAgICAgIGl0ZW0sXHJcbiAgICAgICAgZGF0YSxcclxuICAgICAgICBncm91cCxcclxuICAgICAgICBpdGVtVmFsdWVGaWVsZCxcclxuICAgICAgICBpdGVtVGV4dEZpZWxkXHJcbiAgICAgIH0gYXMgWlNlbGVjdE11bHRpcGxlVGVtcGxhdGVQYXJhbXMpO1xyXG4gICAgfSBlbHNlIGlmIChpdGVtVGV4dEZpZWxkKSB7XHJcbiAgICAgIHJldHVybiBpdGVtW2l0ZW1UZXh0RmllbGRdO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIE9iamVjdC52YWx1ZXMoaXRlbSkuam9pbihcIiwgXCIpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
/********** Angular **********/
|
|
2
|
-
import { Component } from "@angular/core";
|
|
3
|
-
/********** Ionic **********/
|
|
4
|
-
/********** Plugin **********/
|
|
5
|
-
/********** Component & Service **********/
|
|
6
|
-
import { InputFieldBase } from "../components/inputfieldbase.component";
|
|
7
|
-
import { ZComponentHelper } from 'mmhglobal-zcore';
|
|
8
|
-
import { tap } from "rxjs";
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
import * as i1 from "../services/zcomponent.service";
|
|
11
|
-
import * as i2 from "mmhglobal-zcore";
|
|
12
|
-
import * as i3 from "@ionic/angular";
|
|
13
|
-
import * as i4 from "@fortawesome/angular-fontawesome";
|
|
14
|
-
import * as i5 from "../embed-components/input-field-addons/input-field-addons.component";
|
|
15
|
-
import * as i6 from "../embed-components/context-menu/context-menu.component";
|
|
16
|
-
import * as i7 from "@angular/common";
|
|
17
|
-
import * as i8 from "@angular/forms";
|
|
18
|
-
import * as i9 from "@angular/flex-layout/extended";
|
|
19
|
-
import * as i10 from "../pipe/htmlSanitize.pipe";
|
|
20
|
-
export class ZlabelComponent extends InputFieldBase {
|
|
21
|
-
constructor(componentService, fontAweSomeService) {
|
|
22
|
-
super(componentService);
|
|
23
|
-
this.componentService = componentService;
|
|
24
|
-
this.fontAweSomeService = fontAweSomeService;
|
|
25
|
-
this.inputFieldAddOn = { top: {}, left: {}, right: {}, bottom: {} };
|
|
26
|
-
this.labelText = "";
|
|
27
|
-
}
|
|
28
|
-
ngOnInit() {
|
|
29
|
-
super.initComponent().pipe(tap(() => {
|
|
30
|
-
this.setupAddOnValue();
|
|
31
|
-
})).subscribe();
|
|
32
|
-
}
|
|
33
|
-
ngAfterViewInit() {
|
|
34
|
-
this.componentService.decrementComponentCounterForField(this.data);
|
|
35
|
-
}
|
|
36
|
-
setupAddOnValue(addOns) {
|
|
37
|
-
const inputFieldAddOnGroupValue = ZComponentHelper.getGroupValue(addOns || this.data.InputFieldAddOns, this.group);
|
|
38
|
-
const addOnValue = inputFieldAddOnGroupValue || addOns || this.data.InputFieldAddOns;
|
|
39
|
-
if (addOnValue && Array.isArray(addOnValue)) {
|
|
40
|
-
for (const key of Object.keys(this.inputFieldAddOn)) {
|
|
41
|
-
this.inputFieldAddOn[key] = addOnValue.find(i => i.Position === key);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
ZlabelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: ZlabelComponent, deps: [{ token: i1.ZComponentService }, { token: i2.FontAweSomeService }], target: i0.ɵɵFactoryTarget.Component });
|
|
47
|
-
ZlabelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.3", type: ZlabelComponent, selector: "app-zlabel", usesInheritance: true, ngImport: i0, template: "<ion-item [formGroup]=\"form\"\r\n *ngIf=\"(!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\"\r\n [ngClass]=\"getClass(form, data)\" [style.--min-height]=\"data.Height\"\r\n [style.cursor]=\"data.OnItemClick ? 'pointer' : 'auto'\" [style]=\"componentProperties.style.style\" class=\"e1tag-style\"\r\n (click)=\"onItemClick($event, data)\">\r\n <div #zlabelDiv class=\"main-container\">\r\n <div class=\"content-container e1tag-style1\" [style]=\"componentProperties.style.style1\"\r\n *ngIf=\"!data.InputFieldAddOns || data.InputFieldAddOns.length <= 0\">\r\n <fa-icon class=\"e1tag-style2\" [icon]=\"getFontAwesome(componentProperties.icon, fontAweSomeService)\"\r\n *ngIf=\"componentProperties.icon\" [style]=\"componentProperties.style.style2\"></fa-icon>\r\n <ion-label *ngIf=\"componentProperties.label && !data.IsHtml\" class=\"ion-text-wrap e1tag-style3\" Position=\"Fixed\"\r\n [color]=\"data.Color\" [style]=\"componentProperties.style.style3\">\r\n {{componentProperties.label}}\r\n </ion-label>\r\n <div *ngIf=\"componentProperties.label && data.IsHtml\" [innerHTML]=\"componentProperties.label | htmlSanitize\"\r\n class=\"e1tag-style3\" [style]=\"componentProperties.style.style3\"></div>\r\n </div>\r\n <div class=\"label-div-container e1tag-style5\" [style]=\"componentProperties.style.style5\"\r\n *ngIf=\"data.InputFieldAddOns && data.InputFieldAddOns.length > 0\">\r\n <app-input-field-addons class=\"addon-top e1tag-style4\" [position]=\"'top'\" [addOn]=\"inputFieldAddOn.top\"\r\n [data]=\"data\" [group]=\"group\" [form]=\"form\" [containerField]=\"containerField\"\r\n [componentProperties]=\"componentProperties\" [style]=\"componentProperties.style.style4\">\r\n </app-input-field-addons>\r\n <div class=\"content-withaddon-container e1tag-style1\" [style]=\"componentProperties.style.style1\">\r\n <app-input-field-addons class=\"addon-left e1tag-style4\" [position]=\"'left'\" [addOn]=\"inputFieldAddOn.left\"\r\n [data]=\"data\" [group]=\"group\" [form]=\"form\" [containerField]=\"containerField\"\r\n [componentProperties]=\"componentProperties\" [style]=\"componentProperties.style.style4\">\r\n </app-input-field-addons>\r\n <fa-icon class=\"e1tag-style2\" [icon]=\"getFontAwesome(componentProperties.icon, fontAweSomeService)\"\r\n *ngIf=\"componentProperties.icon\" [style]=\"componentProperties.style.style2\"></fa-icon>\r\n <ion-label *ngIf=\"componentProperties.label && !data.IsHtml\" class=\"ion-text-wrap e1tag-style3\" Position=\"Fixed\"\r\n [color]=\"data.Color\" [style]=\"componentProperties.style.style3\">\r\n {{componentProperties.label}}\r\n </ion-label>\r\n <div *ngIf=\"componentProperties.label && data.IsHtml\" [innerHTML]=\"componentProperties.label | htmlSanitize\"\r\n class=\"e1tag-style3\" [style]=\"componentProperties.style.style3\"></div>\r\n <app-input-field-addons class=\"addon-right e1tag-style4\" [position]=\"'right'\" [addOn]=\"inputFieldAddOn.right\"\r\n [data]=\"data\" [group]=\"group\" [form]=\"form\" [containerField]=\"containerField\"\r\n [componentProperties]=\"componentProperties\" [style]=\"componentProperties.style.style4\">\r\n </app-input-field-addons>\r\n </div>\r\n <app-input-field-addons class=\"addon-bottom e1tag-style4\" [position]=\"'bottom'\" [addOn]=\"inputFieldAddOn.bottom\"\r\n [data]=\"data\" [group]=\"group\" [form]=\"form\" [containerField]=\"containerField\"\r\n [componentProperties]=\"componentProperties\" [style]=\"componentProperties.style.style4\">\r\n </app-input-field-addons>\r\n </div>\r\n </div>\r\n <app-context-menu [data]=\"data\" [group]=\"group\" [form]=\"form\" [target]=\"zlabelDiv\"></app-context-menu>\r\n</ion-item>\r\n", styles: [".subtitle{font-weight:700;text-decoration:underline}.subtitle .label,.mediumFont .label{font-size:15px}.label{font-size:12px;white-space:pre-wrap!important}.boldFont .label{font-weight:700}.underlineFont .label{text-decoration:underline}.medium-list{--min-height: 20px;padding:5px 0}ion-item{font-size:var(--content-font-size)}.main-container,.content-container{width:100%}.content-withaddon-container{width:100%;display:flex;gap:5px;justify-content:space-between}.label-div-container{display:flex;flex-direction:column;width:100%}.label-div-container>.addon-top,.label-div-container>.addon-bottom{margin:auto}\n"], components: [{ type: i3.IonItem, selector: "ion-item", inputs: ["button", "color", "counter", "counterFormatter", "detail", "detailIcon", "disabled", "download", "fill", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "shape", "target", "type"] }, { type: i4.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { type: i3.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { type: i5.InputFieldAddOnsComponent, selector: "app-input-field-addons", inputs: ["position", "addOn"] }, { type: i6.ContextMenuComponent, selector: "app-context-menu", inputs: ["target", "selectedData"] }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i8.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i9.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"] }], pipes: { "htmlSanitize": i10.HtmlSanitizePipe } });
|
|
48
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: ZlabelComponent, decorators: [{
|
|
49
|
-
type: Component,
|
|
50
|
-
args: [{ selector: 'app-zlabel', template: "<ion-item [formGroup]=\"form\"\r\n *ngIf=\"(!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\"\r\n [ngClass]=\"getClass(form, data)\" [style.--min-height]=\"data.Height\"\r\n [style.cursor]=\"data.OnItemClick ? 'pointer' : 'auto'\" [style]=\"componentProperties.style.style\" class=\"e1tag-style\"\r\n (click)=\"onItemClick($event, data)\">\r\n <div #zlabelDiv class=\"main-container\">\r\n <div class=\"content-container e1tag-style1\" [style]=\"componentProperties.style.style1\"\r\n *ngIf=\"!data.InputFieldAddOns || data.InputFieldAddOns.length <= 0\">\r\n <fa-icon class=\"e1tag-style2\" [icon]=\"getFontAwesome(componentProperties.icon, fontAweSomeService)\"\r\n *ngIf=\"componentProperties.icon\" [style]=\"componentProperties.style.style2\"></fa-icon>\r\n <ion-label *ngIf=\"componentProperties.label && !data.IsHtml\" class=\"ion-text-wrap e1tag-style3\" Position=\"Fixed\"\r\n [color]=\"data.Color\" [style]=\"componentProperties.style.style3\">\r\n {{componentProperties.label}}\r\n </ion-label>\r\n <div *ngIf=\"componentProperties.label && data.IsHtml\" [innerHTML]=\"componentProperties.label | htmlSanitize\"\r\n class=\"e1tag-style3\" [style]=\"componentProperties.style.style3\"></div>\r\n </div>\r\n <div class=\"label-div-container e1tag-style5\" [style]=\"componentProperties.style.style5\"\r\n *ngIf=\"data.InputFieldAddOns && data.InputFieldAddOns.length > 0\">\r\n <app-input-field-addons class=\"addon-top e1tag-style4\" [position]=\"'top'\" [addOn]=\"inputFieldAddOn.top\"\r\n [data]=\"data\" [group]=\"group\" [form]=\"form\" [containerField]=\"containerField\"\r\n [componentProperties]=\"componentProperties\" [style]=\"componentProperties.style.style4\">\r\n </app-input-field-addons>\r\n <div class=\"content-withaddon-container e1tag-style1\" [style]=\"componentProperties.style.style1\">\r\n <app-input-field-addons class=\"addon-left e1tag-style4\" [position]=\"'left'\" [addOn]=\"inputFieldAddOn.left\"\r\n [data]=\"data\" [group]=\"group\" [form]=\"form\" [containerField]=\"containerField\"\r\n [componentProperties]=\"componentProperties\" [style]=\"componentProperties.style.style4\">\r\n </app-input-field-addons>\r\n <fa-icon class=\"e1tag-style2\" [icon]=\"getFontAwesome(componentProperties.icon, fontAweSomeService)\"\r\n *ngIf=\"componentProperties.icon\" [style]=\"componentProperties.style.style2\"></fa-icon>\r\n <ion-label *ngIf=\"componentProperties.label && !data.IsHtml\" class=\"ion-text-wrap e1tag-style3\" Position=\"Fixed\"\r\n [color]=\"data.Color\" [style]=\"componentProperties.style.style3\">\r\n {{componentProperties.label}}\r\n </ion-label>\r\n <div *ngIf=\"componentProperties.label && data.IsHtml\" [innerHTML]=\"componentProperties.label | htmlSanitize\"\r\n class=\"e1tag-style3\" [style]=\"componentProperties.style.style3\"></div>\r\n <app-input-field-addons class=\"addon-right e1tag-style4\" [position]=\"'right'\" [addOn]=\"inputFieldAddOn.right\"\r\n [data]=\"data\" [group]=\"group\" [form]=\"form\" [containerField]=\"containerField\"\r\n [componentProperties]=\"componentProperties\" [style]=\"componentProperties.style.style4\">\r\n </app-input-field-addons>\r\n </div>\r\n <app-input-field-addons class=\"addon-bottom e1tag-style4\" [position]=\"'bottom'\" [addOn]=\"inputFieldAddOn.bottom\"\r\n [data]=\"data\" [group]=\"group\" [form]=\"form\" [containerField]=\"containerField\"\r\n [componentProperties]=\"componentProperties\" [style]=\"componentProperties.style.style4\">\r\n </app-input-field-addons>\r\n </div>\r\n </div>\r\n <app-context-menu [data]=\"data\" [group]=\"group\" [form]=\"form\" [target]=\"zlabelDiv\"></app-context-menu>\r\n</ion-item>\r\n", styles: [".subtitle{font-weight:700;text-decoration:underline}.subtitle .label,.mediumFont .label{font-size:15px}.label{font-size:12px;white-space:pre-wrap!important}.boldFont .label{font-weight:700}.underlineFont .label{text-decoration:underline}.medium-list{--min-height: 20px;padding:5px 0}ion-item{font-size:var(--content-font-size)}.main-container,.content-container{width:100%}.content-withaddon-container{width:100%;display:flex;gap:5px;justify-content:space-between}.label-div-container{display:flex;flex-direction:column;width:100%}.label-div-container>.addon-top,.label-div-container>.addon-bottom{margin:auto}\n"] }]
|
|
51
|
-
}], ctorParameters: function () { return [{ type: i1.ZComponentService }, { type: i2.FontAweSomeService }]; } });
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemxhYmVsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21taGdsb2JhbC1keW5hbWljZm9ybS9zcmMvbGliL3psYWJlbC96bGFiZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvemxhYmVsL3psYWJlbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQkFBK0I7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUVsRCw2QkFBNkI7QUFFN0IsOEJBQThCO0FBRTlCLDJDQUEyQztBQUMzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFeEUsT0FBTyxFQUFrQyxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25GLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7OztBQVEzQixNQUFNLE9BQU8sZUFBZ0IsU0FBUSxjQUFjO0lBSWpELFlBQ1MsZ0JBQW1DLEVBQ25DLGtCQUFzQztRQUU3QyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtRQUhoQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQW1CO1FBQ25DLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFMeEMsb0JBQWUsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUMvRCxjQUFTLEdBQUcsRUFBRSxDQUFDO0lBT3RCLENBQUM7SUFFRCxRQUFRO1FBQ04sS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ2xDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN6QixDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGlDQUFpQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRU8sZUFBZSxDQUFDLE1BQVk7UUFDbEMsTUFBTSx5QkFBeUIsR0FBRyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQXVCLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFILE1BQU0sVUFBVSxHQUFHLHlCQUF5QixJQUFJLE1BQU0sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDO1FBQ3JGLElBQUksVUFBVSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDM0MsS0FBSyxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsRUFBRTtnQkFDbkQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsS0FBSyxHQUFHLENBQUMsQ0FBQzthQUN0RTtTQUNGO0lBQ0gsQ0FBQzs7NEdBN0JVLGVBQWU7Z0dBQWYsZUFBZSx5RUNuQjVCLG80SEFpREE7MkZEOUJhLGVBQWU7a0JBTjNCLFNBQVM7K0JBQ0UsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbIi8qKioqKioqKioqIEFuZ3VsYXIgKioqKioqKioqKi9cclxuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuLyoqKioqKioqKiogSW9uaWMgKioqKioqKioqKi9cclxuXHJcbi8qKioqKioqKioqIFBsdWdpbiAqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKiogQ29tcG9uZW50ICYgU2VydmljZSAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBJbnB1dEZpZWxkQmFzZSB9IGZyb20gXCIuLi9jb21wb25lbnRzL2lucHV0ZmllbGRiYXNlLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBaQ29tcG9uZW50U2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy96Y29tcG9uZW50LnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgRm9udEF3ZVNvbWVTZXJ2aWNlLCBaQ29tcG9uZW50LCBaQ29tcG9uZW50SGVscGVyIH0gZnJvbSAnbW1oZ2xvYmFsLXpjb3JlJztcclxuaW1wb3J0IHsgdGFwIH0gZnJvbSBcInJ4anNcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXpsYWJlbCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3psYWJlbC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vemxhYmVsLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgWmxhYmVsQ29tcG9uZW50IGV4dGVuZHMgSW5wdXRGaWVsZEJhc2UgaW1wbGVtZW50cyBaQ29tcG9uZW50LCBPbkluaXQge1xyXG4gIHB1YmxpYyBpbnB1dEZpZWxkQWRkT24gPSB7IHRvcDoge30sIGxlZnQ6IHt9LCByaWdodDoge30sIGJvdHRvbToge30gfTtcclxuICBwdWJsaWMgbGFiZWxUZXh0ID0gXCJcIjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgY29tcG9uZW50U2VydmljZTogWkNvbXBvbmVudFNlcnZpY2UsXHJcbiAgICBwdWJsaWMgZm9udEF3ZVNvbWVTZXJ2aWNlOiBGb250QXdlU29tZVNlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKGNvbXBvbmVudFNlcnZpY2UpXHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHN1cGVyLmluaXRDb21wb25lbnQoKS5waXBlKHRhcCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuc2V0dXBBZGRPblZhbHVlKCk7XHJcbiAgICB9KSkuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLmNvbXBvbmVudFNlcnZpY2UuZGVjcmVtZW50Q29tcG9uZW50Q291bnRlckZvckZpZWxkKHRoaXMuZGF0YSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldHVwQWRkT25WYWx1ZShhZGRPbnM/OiBhbnkpIHtcclxuICAgIGNvbnN0IGlucHV0RmllbGRBZGRPbkdyb3VwVmFsdWUgPSBaQ29tcG9uZW50SGVscGVyLmdldEdyb3VwVmFsdWUoYWRkT25zIHx8IHRoaXMuZGF0YS5JbnB1dEZpZWxkQWRkT25zIGFzIGFueSwgdGhpcy5ncm91cCk7XHJcbiAgICBjb25zdCBhZGRPblZhbHVlID0gaW5wdXRGaWVsZEFkZE9uR3JvdXBWYWx1ZSB8fCBhZGRPbnMgfHwgdGhpcy5kYXRhLklucHV0RmllbGRBZGRPbnM7XHJcbiAgICBpZiAoYWRkT25WYWx1ZSAmJiBBcnJheS5pc0FycmF5KGFkZE9uVmFsdWUpKSB7XHJcbiAgICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKHRoaXMuaW5wdXRGaWVsZEFkZE9uKSkge1xyXG4gICAgICAgIHRoaXMuaW5wdXRGaWVsZEFkZE9uW2tleV0gPSBhZGRPblZhbHVlLmZpbmQoaSA9PiBpLlBvc2l0aW9uID09PSBrZXkpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxpb24taXRlbSBbZm9ybUdyb3VwXT1cImZvcm1cIlxyXG4gICpuZ0lmPVwiKCEhY29tcG9uZW50UHJvcGVydGllcy5pc1Zpc2libGVGaWVsZCA/IGdyb3VwW2NvbXBvbmVudFByb3BlcnRpZXMuaXNWaXNpYmxlRmllbGRdIDogY29tcG9uZW50UHJvcGVydGllcy5pc1Zpc2libGUpXCJcclxuICBbbmdDbGFzc109XCJnZXRDbGFzcyhmb3JtLCBkYXRhKVwiIFtzdHlsZS4tLW1pbi1oZWlnaHRdPVwiZGF0YS5IZWlnaHRcIlxyXG4gIFtzdHlsZS5jdXJzb3JdPVwiZGF0YS5Pbkl0ZW1DbGljayA/ICdwb2ludGVyJyA6ICdhdXRvJ1wiIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLnN0eWxlLnN0eWxlXCIgY2xhc3M9XCJlMXRhZy1zdHlsZVwiXHJcbiAgKGNsaWNrKT1cIm9uSXRlbUNsaWNrKCRldmVudCwgZGF0YSlcIj5cclxuICA8ZGl2ICN6bGFiZWxEaXYgY2xhc3M9XCJtYWluLWNvbnRhaW5lclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbnRlbnQtY29udGFpbmVyIGUxdGFnLXN0eWxlMVwiIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLnN0eWxlLnN0eWxlMVwiXHJcbiAgICAgICpuZ0lmPVwiIWRhdGEuSW5wdXRGaWVsZEFkZE9ucyB8fCBkYXRhLklucHV0RmllbGRBZGRPbnMubGVuZ3RoIDw9IDBcIj5cclxuICAgICAgPGZhLWljb24gY2xhc3M9XCJlMXRhZy1zdHlsZTJcIiBbaWNvbl09XCJnZXRGb250QXdlc29tZShjb21wb25lbnRQcm9wZXJ0aWVzLmljb24sIGZvbnRBd2VTb21lU2VydmljZSlcIlxyXG4gICAgICAgICpuZ0lmPVwiY29tcG9uZW50UHJvcGVydGllcy5pY29uXCIgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuc3R5bGUuc3R5bGUyXCI+PC9mYS1pY29uPlxyXG4gICAgICA8aW9uLWxhYmVsICpuZ0lmPVwiY29tcG9uZW50UHJvcGVydGllcy5sYWJlbCAmJiAhZGF0YS5Jc0h0bWxcIiBjbGFzcz1cImlvbi10ZXh0LXdyYXAgZTF0YWctc3R5bGUzXCIgUG9zaXRpb249XCJGaXhlZFwiXHJcbiAgICAgICAgW2NvbG9yXT1cImRhdGEuQ29sb3JcIiBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5zdHlsZS5zdHlsZTNcIj5cclxuICAgICAgICB7e2NvbXBvbmVudFByb3BlcnRpZXMubGFiZWx9fVxyXG4gICAgICA8L2lvbi1sYWJlbD5cclxuICAgICAgPGRpdiAqbmdJZj1cImNvbXBvbmVudFByb3BlcnRpZXMubGFiZWwgJiYgZGF0YS5Jc0h0bWxcIiBbaW5uZXJIVE1MXT1cImNvbXBvbmVudFByb3BlcnRpZXMubGFiZWwgIHwgaHRtbFNhbml0aXplXCJcclxuICAgICAgICBjbGFzcz1cImUxdGFnLXN0eWxlM1wiIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLnN0eWxlLnN0eWxlM1wiPjwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwibGFiZWwtZGl2LWNvbnRhaW5lciBlMXRhZy1zdHlsZTVcIiBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5zdHlsZS5zdHlsZTVcIlxyXG4gICAgICAqbmdJZj1cImRhdGEuSW5wdXRGaWVsZEFkZE9ucyAmJiBkYXRhLklucHV0RmllbGRBZGRPbnMubGVuZ3RoID4gMFwiPlxyXG4gICAgICA8YXBwLWlucHV0LWZpZWxkLWFkZG9ucyBjbGFzcz1cImFkZG9uLXRvcCBlMXRhZy1zdHlsZTRcIiBbcG9zaXRpb25dPVwiJ3RvcCdcIiBbYWRkT25dPVwiaW5wdXRGaWVsZEFkZE9uLnRvcFwiXHJcbiAgICAgICAgW2RhdGFdPVwiZGF0YVwiIFtncm91cF09XCJncm91cFwiIFtmb3JtXT1cImZvcm1cIiBbY29udGFpbmVyRmllbGRdPVwiY29udGFpbmVyRmllbGRcIlxyXG4gICAgICAgIFtjb21wb25lbnRQcm9wZXJ0aWVzXT1cImNvbXBvbmVudFByb3BlcnRpZXNcIiBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5zdHlsZS5zdHlsZTRcIj5cclxuICAgICAgPC9hcHAtaW5wdXQtZmllbGQtYWRkb25zPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY29udGVudC13aXRoYWRkb24tY29udGFpbmVyIGUxdGFnLXN0eWxlMVwiIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLnN0eWxlLnN0eWxlMVwiPlxyXG4gICAgICAgIDxhcHAtaW5wdXQtZmllbGQtYWRkb25zIGNsYXNzPVwiYWRkb24tbGVmdCBlMXRhZy1zdHlsZTRcIiBbcG9zaXRpb25dPVwiJ2xlZnQnXCIgW2FkZE9uXT1cImlucHV0RmllbGRBZGRPbi5sZWZ0XCJcclxuICAgICAgICAgIFtkYXRhXT1cImRhdGFcIiBbZ3JvdXBdPVwiZ3JvdXBcIiBbZm9ybV09XCJmb3JtXCIgW2NvbnRhaW5lckZpZWxkXT1cImNvbnRhaW5lckZpZWxkXCJcclxuICAgICAgICAgIFtjb21wb25lbnRQcm9wZXJ0aWVzXT1cImNvbXBvbmVudFByb3BlcnRpZXNcIiBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5zdHlsZS5zdHlsZTRcIj5cclxuICAgICAgICA8L2FwcC1pbnB1dC1maWVsZC1hZGRvbnM+XHJcbiAgICAgICAgPGZhLWljb24gY2xhc3M9XCJlMXRhZy1zdHlsZTJcIiBbaWNvbl09XCJnZXRGb250QXdlc29tZShjb21wb25lbnRQcm9wZXJ0aWVzLmljb24sIGZvbnRBd2VTb21lU2VydmljZSlcIlxyXG4gICAgICAgICAgKm5nSWY9XCJjb21wb25lbnRQcm9wZXJ0aWVzLmljb25cIiBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5zdHlsZS5zdHlsZTJcIj48L2ZhLWljb24+XHJcbiAgICAgICAgPGlvbi1sYWJlbCAqbmdJZj1cImNvbXBvbmVudFByb3BlcnRpZXMubGFiZWwgJiYgIWRhdGEuSXNIdG1sXCIgY2xhc3M9XCJpb24tdGV4dC13cmFwIGUxdGFnLXN0eWxlM1wiIFBvc2l0aW9uPVwiRml4ZWRcIlxyXG4gICAgICAgICAgW2NvbG9yXT1cImRhdGEuQ29sb3JcIiBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5zdHlsZS5zdHlsZTNcIj5cclxuICAgICAgICAgIHt7Y29tcG9uZW50UHJvcGVydGllcy5sYWJlbH19XHJcbiAgICAgICAgPC9pb24tbGFiZWw+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cImNvbXBvbmVudFByb3BlcnRpZXMubGFiZWwgJiYgZGF0YS5Jc0h0bWxcIiBbaW5uZXJIVE1MXT1cImNvbXBvbmVudFByb3BlcnRpZXMubGFiZWwgIHwgaHRtbFNhbml0aXplXCJcclxuICAgICAgICAgIGNsYXNzPVwiZTF0YWctc3R5bGUzXCIgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuc3R5bGUuc3R5bGUzXCI+PC9kaXY+XHJcbiAgICAgICAgPGFwcC1pbnB1dC1maWVsZC1hZGRvbnMgY2xhc3M9XCJhZGRvbi1yaWdodCBlMXRhZy1zdHlsZTRcIiBbcG9zaXRpb25dPVwiJ3JpZ2h0J1wiIFthZGRPbl09XCJpbnB1dEZpZWxkQWRkT24ucmlnaHRcIlxyXG4gICAgICAgICAgW2RhdGFdPVwiZGF0YVwiIFtncm91cF09XCJncm91cFwiIFtmb3JtXT1cImZvcm1cIiBbY29udGFpbmVyRmllbGRdPVwiY29udGFpbmVyRmllbGRcIlxyXG4gICAgICAgICAgW2NvbXBvbmVudFByb3BlcnRpZXNdPVwiY29tcG9uZW50UHJvcGVydGllc1wiIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLnN0eWxlLnN0eWxlNFwiPlxyXG4gICAgICAgIDwvYXBwLWlucHV0LWZpZWxkLWFkZG9ucz5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxhcHAtaW5wdXQtZmllbGQtYWRkb25zIGNsYXNzPVwiYWRkb24tYm90dG9tIGUxdGFnLXN0eWxlNFwiIFtwb3NpdGlvbl09XCInYm90dG9tJ1wiIFthZGRPbl09XCJpbnB1dEZpZWxkQWRkT24uYm90dG9tXCJcclxuICAgICAgICBbZGF0YV09XCJkYXRhXCIgW2dyb3VwXT1cImdyb3VwXCIgW2Zvcm1dPVwiZm9ybVwiIFtjb250YWluZXJGaWVsZF09XCJjb250YWluZXJGaWVsZFwiXHJcbiAgICAgICAgW2NvbXBvbmVudFByb3BlcnRpZXNdPVwiY29tcG9uZW50UHJvcGVydGllc1wiIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLnN0eWxlLnN0eWxlNFwiPlxyXG4gICAgICA8L2FwcC1pbnB1dC1maWVsZC1hZGRvbnM+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8YXBwLWNvbnRleHQtbWVudSBbZGF0YV09XCJkYXRhXCIgW2dyb3VwXT1cImdyb3VwXCIgW2Zvcm1dPVwiZm9ybVwiIFt0YXJnZXRdPVwiemxhYmVsRGl2XCI+PC9hcHAtY29udGV4dC1tZW51PlxyXG48L2lvbi1pdGVtPlxyXG4iXX0=
|
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
/********** Angular **********/
|
|
2
|
-
import { Component } from "@angular/core";
|
|
3
|
-
import { ContainerFieldBase } from "../components/containerfieldbase.component";
|
|
4
|
-
import { ZComponentHelper } from 'mmhglobal-zcore';
|
|
5
|
-
import { FormControl } from "@angular/forms";
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "../services/zcomponent.service";
|
|
8
|
-
import * as i2 from "mmhglobal-zcore";
|
|
9
|
-
import * as i3 from "../zformcontrol/zformcontrol.component";
|
|
10
|
-
import * as i4 from "@angular/common";
|
|
11
|
-
import * as i5 from "@angular/flex-layout/extended";
|
|
12
|
-
export class ZloopComponent extends ContainerFieldBase {
|
|
13
|
-
constructor(componentService, fieldService) {
|
|
14
|
-
super(componentService);
|
|
15
|
-
this.componentService = componentService;
|
|
16
|
-
this.fieldService = fieldService;
|
|
17
|
-
this.originalFieldNameField = 'OriNameForZloop';
|
|
18
|
-
this.clonedFields = [];
|
|
19
|
-
this.clonedFormControlList = new Array();
|
|
20
|
-
this.initField = {};
|
|
21
|
-
this.conponentTypesToNotUpdateValue = ['zbuttons'];
|
|
22
|
-
}
|
|
23
|
-
ngOnInit() {
|
|
24
|
-
this.initField = ZComponentHelper.deepClone(this.data);
|
|
25
|
-
this.setupLoopingElement();
|
|
26
|
-
super.initComponent().subscribe(() => { this.isLoading = false; });
|
|
27
|
-
}
|
|
28
|
-
refreshFieldElement() {
|
|
29
|
-
this.data = ZComponentHelper.deepClone(this.initField);
|
|
30
|
-
this.setupLoopingElement();
|
|
31
|
-
}
|
|
32
|
-
setupLoopingElement() {
|
|
33
|
-
if (this.data.LoopingElementConfig) {
|
|
34
|
-
// Remove previously cloned fields from form controls (if any)
|
|
35
|
-
if (this.clonedFormControlList.length > 0) {
|
|
36
|
-
for (const fgName of this.clonedFormControlList) {
|
|
37
|
-
this.group.form.removeControl(fgName);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
// Clone zloop's child
|
|
41
|
-
this.clonedFields = this.cloneFieldElementChild(this.data);
|
|
42
|
-
// Append cloned fields to group.fields for error message displaying
|
|
43
|
-
this.group.clonedFields = ZComponentHelper.deepClone(this.group.clonedFields || this.group.fields);
|
|
44
|
-
const thisField = ZComponentHelper.getFieldFromFieldsByName(this.group.clonedFields, this.data[this.originalFieldNameField] || this.data.Name);
|
|
45
|
-
thisField.Value = this.clonedFields;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
cloneFieldElementChild(field) {
|
|
49
|
-
const loopingElementConfig = typeof field.LoopingElementConfig == 'string' ? ZComponentHelper.getGroupValue(field.LoopingElementConfig, this.group) : field.LoopingElementConfig;
|
|
50
|
-
if (loopingElementConfig == undefined) {
|
|
51
|
-
return field.Value;
|
|
52
|
-
}
|
|
53
|
-
let fieldToInsert = new Array();
|
|
54
|
-
for (let configIndex = 0; configIndex < loopingElementConfig.Count; configIndex++) {
|
|
55
|
-
const clonedFields = ZComponentHelper.deepClone(field.Value);
|
|
56
|
-
this.updateFieldPropertiesToMakeThemDistinct(clonedFields, loopingElementConfig, configIndex);
|
|
57
|
-
fieldToInsert = fieldToInsert.concat(clonedFields);
|
|
58
|
-
}
|
|
59
|
-
return fieldToInsert;
|
|
60
|
-
}
|
|
61
|
-
updateFieldPropertiesToMakeThemDistinct(fields, loopingElementConfig, index) {
|
|
62
|
-
for (const field of fields) {
|
|
63
|
-
const elementConfig = loopingElementConfig.ToReplace.find(x => x.ElementName == field.Name) || loopingElementConfig.ToReplace.find(x => x.ElementName == field[this.originalFieldNameField]);
|
|
64
|
-
const elementConfigProperty = elementConfig && elementConfig.Property && elementConfig.Property.length > index ? elementConfig.Property[index] : {};
|
|
65
|
-
if (field.Type !== 'zloop') {
|
|
66
|
-
field.Name = `${field.Name}_${index + 1}`;
|
|
67
|
-
if (field.Label) {
|
|
68
|
-
field.Label = `${field.Label}`;
|
|
69
|
-
}
|
|
70
|
-
if (Array.isArray(field.Value)) {
|
|
71
|
-
this.updateFieldPropertiesToMakeThemDistinct(field.Value, loopingElementConfig, index);
|
|
72
|
-
}
|
|
73
|
-
else {
|
|
74
|
-
if (elementConfigProperty.Value != undefined) {
|
|
75
|
-
field.Value = elementConfigProperty.Value;
|
|
76
|
-
}
|
|
77
|
-
else if (!this.conponentTypesToNotUpdateValue.includes(field.Type)) {
|
|
78
|
-
field.Value = `${field.Value}_${index + 1}`;
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
else {
|
|
83
|
-
field[this.originalFieldNameField] = field.Name;
|
|
84
|
-
}
|
|
85
|
-
for (const key of Object.keys(elementConfigProperty)) {
|
|
86
|
-
field[key] = elementConfigProperty[key];
|
|
87
|
-
}
|
|
88
|
-
this.setClonedFieldsToFormControls(field);
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
setClonedFieldsToFormControls(field) {
|
|
92
|
-
if (!field.SubType) {
|
|
93
|
-
this.fieldService.patchFieldProperty(field);
|
|
94
|
-
if (typeof field.Value === "string" && field.Value.indexOf(".") !== -1) {
|
|
95
|
-
if (['zgrid', 'ztree', 'textareajson', 'zganttchart'].indexOf(field.Type) === -1) {
|
|
96
|
-
console.warn("FormControl - invalid field value", field.Value);
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
else {
|
|
100
|
-
const isFormControl = ZComponentHelper.isFormControl(field);
|
|
101
|
-
const isVisible = ZComponentHelper.isVisibleFormControl(this, field);
|
|
102
|
-
const isRequired = ZComponentHelper.isRequiredFormControl(this, field);
|
|
103
|
-
if (isFormControl === true) {
|
|
104
|
-
const validators = ZComponentHelper.getValidators(field, isVisible, isRequired, this.group);
|
|
105
|
-
this.group.form.addControl(field.Value, new FormControl(this.group.zModel[field.Value], validators));
|
|
106
|
-
this.clonedFormControlList.push(field.Value);
|
|
107
|
-
if (ZComponentHelper.hasCCField(field.Type)) {
|
|
108
|
-
const ccValidators = ZComponentHelper.getCCValidators(field, isVisible, isRequired);
|
|
109
|
-
this.group.form.addControl(field.CCValue, new FormControl(this.group.zModel[field.CCValue], ccValidators));
|
|
110
|
-
this.clonedFormControlList.push(field.CCValue);
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
ZloopComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: ZloopComponent, deps: [{ token: i1.ZComponentService }, { token: i2.FieldService }], target: i0.ɵɵFactoryTarget.Component });
|
|
118
|
-
ZloopComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.3", type: ZloopComponent, selector: "app-zloop", usesInheritance: true, ngImport: i0, template: "<div [style]=\"componentProperties.containerStyle.style\" class=\"e1tag-container-style zloop-container\"\r\n *ngIf=\"(!!componentProperties.isVisibleField? group[componentProperties.isVisibleField] : componentProperties.isVisible)\">\r\n <app-zformcontrol [ngClass]=\"group[field.isVisibleField] ? field.DivClass : ((field.Visible === true) ? field.DivClass : 'flex-hide')\"\r\n *ngFor=\"let field of clonedFields\"\r\n [field]=\"field\"\r\n [containerField]=\"data\" [group]=\"group\" [form]=\"form\" id=\"{{field.Type}}-{{field.Name}}\"\r\n [style]=\"componentProperties.style.style1\" class=\"e1tag-style1\">\r\n </app-zformcontrol>\r\n</div>\r\n", styles: [".zloop-container{display:flex}@media (min-width: 357px){.zloop-container>app-zformcontrol.col-xs-1{width:8.333%}.zloop-container>app-zformcontrol.col-xs-2{width:16.666%}.zloop-container>app-zformcontrol.col-xs-3{width:25%}.zloop-container>app-zformcontrol.col-xs-4{width:33.333%}.zloop-container>app-zformcontrol.col-xs-5{width:41.666%}.zloop-container>app-zformcontrol.col-xs-6{width:50%}.zloop-container>app-zformcontrol.col-xs-8{width:66.666%}.zloop-container>app-zformcontrol.col-xs-9{width:75%}.zloop-container>app-zformcontrol.col-xs-10{width:83.333%}.zloop-container>app-zformcontrol.col-xs-11{width:91.667%}.zloop-container>app-zformcontrol.col-xs-12{width:100%}}@media (min-width: 576px){.zloop-container>app-zformcontrol.col-sm-1{width:8.333%}.zloop-container>app-zformcontrol.col-sm-2{width:16.666%}.zloop-container>app-zformcontrol.col-sm-3{width:25%}.zloop-container>app-zformcontrol.col-sm-4{width:33.333%}.zloop-container>app-zformcontrol.col-sm-5{width:41.666%}.zloop-container>app-zformcontrol.col-sm-6{width:50%}.zloop-container>app-zformcontrol.col-sm-7{width:58.333%}.zloop-container>app-zformcontrol.col-sm-8{width:66.666%}.zloop-container>app-zformcontrol.col-sm-9{width:75%}.zloop-container>app-zformcontrol.col-sm-10{width:83.333%}.zloop-container>app-zformcontrol.col-sm-11{width:91.667%}.zloop-container>app-zformcontrol.col-sm-12{width:100%}}@media (min-width: 768px){.zloop-container>app-zformcontrol.col-1,.zloop-container>app-zformcontrol.col-md-1{width:8.333%}.zloop-container>app-zformcontrol.col-2,.zloop-container>app-zformcontrol.col-md-2{width:16.666%}.zloop-container>app-zformcontrol.col-3,.zloop-container>app-zformcontrol.col-md-3{width:25%}.zloop-container>app-zformcontrol.col-4,.zloop-container>app-zformcontrol.col-md-4{width:33.333%}.zloop-container>app-zformcontrol.col-5,.zloop-container>app-zformcontrol.col-md-5{width:41.666%}.zloop-container>app-zformcontrol.col-6,.zloop-container>app-zformcontrol.col-md-6{width:50%}.zloop-container>app-zformcontrol.col-7,.zloop-container>app-zformcontrol.col-md-7{width:58.333%}.zloop-container>app-zformcontrol.col-8,.zloop-container>app-zformcontrol.col-md-8{width:66.666%}.zloop-container>app-zformcontrol.col-9,.zloop-container>app-zformcontrol.col-md-9{width:75%}.zloop-container>app-zformcontrol.col-10,.zloop-container>app-zformcontrol.col-md-10{width:83.333%}.zloop-container>app-zformcontrol.col-11,.zloop-container>app-zformcontrol.col-md-11{width:91.667%}.zloop-container>app-zformcontrol.col-12,.zloop-container>app-zformcontrol.col-md-12{width:100%}}@media (min-width: 992px){.zloop-container>app-zformcontrol.col-lg-1{width:8.333%}.zloop-container>app-zformcontrol.col-lg-2{width:16.666%}.zloop-container>app-zformcontrol.col-lg-3{width:25%}.zloop-container>app-zformcontrol.col-lg-4{width:33.333%}.zloop-container>app-zformcontrol.col-lg-5{width:41.666%}.zloop-container>app-zformcontrol.col-lg-6{width:50%}.zloop-container>app-zformcontrol.col-lg-7{width:58.333%}.zloop-container>app-zformcontrol.col-lg-8{width:66.666%}.zloop-container>app-zformcontrol.col-lg-9{width:75%}.zloop-container>app-zformcontrol.col-lg-10{width:83.333%}.zloop-container>app-zformcontrol.col-lg-11{width:91.667%}.zloop-container>app-zformcontrol.col-lg-12{width:100%}}@media (min-width: 1200px){.zloop-container>app-zformcontrol.col-xl-1{width:8.333%}.zloop-container>app-zformcontrol.col-xl-2{width:16.666%}.zloop-container>app-zformcontrol.col-xl-3{width:25%}.zloop-container>app-zformcontrol.col-xl-4{width:33.333%}.zloop-container>app-zformcontrol.col-xl-5{width:41.666%}.zloop-container>app-zformcontrol.col-xl-6{width:50%}.zloop-container>app-zformcontrol.col-xl-7{width:58.333%}.zloop-container>app-zformcontrol.col-xl-8{width:66.666%}.zloop-container>app-zformcontrol.col-xl-9{width:75%}.zloop-container>app-zformcontrol.col-xl-10{width:83.333%}.zloop-container>app-zformcontrol.col-xl-11{width:91.667%}.zloop-container>app-zformcontrol.col-xl-12{width:100%}}\n"], components: [{ type: i3.ZformcontrolComponent, selector: "app-zformcontrol", inputs: ["field", "group", "form", "containerField"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i5.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"] }] });
|
|
119
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: ZloopComponent, decorators: [{
|
|
120
|
-
type: Component,
|
|
121
|
-
args: [{ selector: 'app-zloop', template: "<div [style]=\"componentProperties.containerStyle.style\" class=\"e1tag-container-style zloop-container\"\r\n *ngIf=\"(!!componentProperties.isVisibleField? group[componentProperties.isVisibleField] : componentProperties.isVisible)\">\r\n <app-zformcontrol [ngClass]=\"group[field.isVisibleField] ? field.DivClass : ((field.Visible === true) ? field.DivClass : 'flex-hide')\"\r\n *ngFor=\"let field of clonedFields\"\r\n [field]=\"field\"\r\n [containerField]=\"data\" [group]=\"group\" [form]=\"form\" id=\"{{field.Type}}-{{field.Name}}\"\r\n [style]=\"componentProperties.style.style1\" class=\"e1tag-style1\">\r\n </app-zformcontrol>\r\n</div>\r\n", styles: [".zloop-container{display:flex}@media (min-width: 357px){.zloop-container>app-zformcontrol.col-xs-1{width:8.333%}.zloop-container>app-zformcontrol.col-xs-2{width:16.666%}.zloop-container>app-zformcontrol.col-xs-3{width:25%}.zloop-container>app-zformcontrol.col-xs-4{width:33.333%}.zloop-container>app-zformcontrol.col-xs-5{width:41.666%}.zloop-container>app-zformcontrol.col-xs-6{width:50%}.zloop-container>app-zformcontrol.col-xs-8{width:66.666%}.zloop-container>app-zformcontrol.col-xs-9{width:75%}.zloop-container>app-zformcontrol.col-xs-10{width:83.333%}.zloop-container>app-zformcontrol.col-xs-11{width:91.667%}.zloop-container>app-zformcontrol.col-xs-12{width:100%}}@media (min-width: 576px){.zloop-container>app-zformcontrol.col-sm-1{width:8.333%}.zloop-container>app-zformcontrol.col-sm-2{width:16.666%}.zloop-container>app-zformcontrol.col-sm-3{width:25%}.zloop-container>app-zformcontrol.col-sm-4{width:33.333%}.zloop-container>app-zformcontrol.col-sm-5{width:41.666%}.zloop-container>app-zformcontrol.col-sm-6{width:50%}.zloop-container>app-zformcontrol.col-sm-7{width:58.333%}.zloop-container>app-zformcontrol.col-sm-8{width:66.666%}.zloop-container>app-zformcontrol.col-sm-9{width:75%}.zloop-container>app-zformcontrol.col-sm-10{width:83.333%}.zloop-container>app-zformcontrol.col-sm-11{width:91.667%}.zloop-container>app-zformcontrol.col-sm-12{width:100%}}@media (min-width: 768px){.zloop-container>app-zformcontrol.col-1,.zloop-container>app-zformcontrol.col-md-1{width:8.333%}.zloop-container>app-zformcontrol.col-2,.zloop-container>app-zformcontrol.col-md-2{width:16.666%}.zloop-container>app-zformcontrol.col-3,.zloop-container>app-zformcontrol.col-md-3{width:25%}.zloop-container>app-zformcontrol.col-4,.zloop-container>app-zformcontrol.col-md-4{width:33.333%}.zloop-container>app-zformcontrol.col-5,.zloop-container>app-zformcontrol.col-md-5{width:41.666%}.zloop-container>app-zformcontrol.col-6,.zloop-container>app-zformcontrol.col-md-6{width:50%}.zloop-container>app-zformcontrol.col-7,.zloop-container>app-zformcontrol.col-md-7{width:58.333%}.zloop-container>app-zformcontrol.col-8,.zloop-container>app-zformcontrol.col-md-8{width:66.666%}.zloop-container>app-zformcontrol.col-9,.zloop-container>app-zformcontrol.col-md-9{width:75%}.zloop-container>app-zformcontrol.col-10,.zloop-container>app-zformcontrol.col-md-10{width:83.333%}.zloop-container>app-zformcontrol.col-11,.zloop-container>app-zformcontrol.col-md-11{width:91.667%}.zloop-container>app-zformcontrol.col-12,.zloop-container>app-zformcontrol.col-md-12{width:100%}}@media (min-width: 992px){.zloop-container>app-zformcontrol.col-lg-1{width:8.333%}.zloop-container>app-zformcontrol.col-lg-2{width:16.666%}.zloop-container>app-zformcontrol.col-lg-3{width:25%}.zloop-container>app-zformcontrol.col-lg-4{width:33.333%}.zloop-container>app-zformcontrol.col-lg-5{width:41.666%}.zloop-container>app-zformcontrol.col-lg-6{width:50%}.zloop-container>app-zformcontrol.col-lg-7{width:58.333%}.zloop-container>app-zformcontrol.col-lg-8{width:66.666%}.zloop-container>app-zformcontrol.col-lg-9{width:75%}.zloop-container>app-zformcontrol.col-lg-10{width:83.333%}.zloop-container>app-zformcontrol.col-lg-11{width:91.667%}.zloop-container>app-zformcontrol.col-lg-12{width:100%}}@media (min-width: 1200px){.zloop-container>app-zformcontrol.col-xl-1{width:8.333%}.zloop-container>app-zformcontrol.col-xl-2{width:16.666%}.zloop-container>app-zformcontrol.col-xl-3{width:25%}.zloop-container>app-zformcontrol.col-xl-4{width:33.333%}.zloop-container>app-zformcontrol.col-xl-5{width:41.666%}.zloop-container>app-zformcontrol.col-xl-6{width:50%}.zloop-container>app-zformcontrol.col-xl-7{width:58.333%}.zloop-container>app-zformcontrol.col-xl-8{width:66.666%}.zloop-container>app-zformcontrol.col-xl-9{width:75%}.zloop-container>app-zformcontrol.col-xl-10{width:83.333%}.zloop-container>app-zformcontrol.col-xl-11{width:91.667%}.zloop-container>app-zformcontrol.col-xl-12{width:100%}}\n"] }]
|
|
122
|
-
}], ctorParameters: function () { return [{ type: i1.ZComponentService }, { type: i2.FieldService }]; } });
|
|
123
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemxvb3AuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvemxvb3Avemxvb3AuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvemxvb3Avemxvb3AuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0JBQStCO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFFaEYsT0FBTyxFQUFFLGdCQUFnQixFQUFvQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3JGLE9BQU8sRUFBRSxXQUFXLEVBQWUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7OztBQVExRCxNQUFNLE9BQU8sY0FBZSxTQUFRLGtCQUFrQjtJQU9wRCxZQUNTLGdCQUFtQyxFQUNuQyxZQUEwQjtRQUVqQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUhqQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQW1CO1FBQ25DLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBUmxCLDJCQUFzQixHQUFHLGlCQUFpQixDQUFDO1FBQ3JELGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLDBCQUFxQixHQUFHLElBQUksS0FBSyxFQUFVLENBQUM7UUFDNUMsY0FBUyxHQUFHLEVBQVksQ0FBQztRQUN6QixtQ0FBOEIsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBT3RELENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFNBQVMsR0FBRyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXZELElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQzNCLEtBQUss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SUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUMzRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxJQUFJLFdBQVcsQ0FDckQsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLFVBQVUsQ0FDM0MsQ0FBQyxDQUFDO29CQUNILElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUU3QyxJQUFJLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUU7d0JBQzNDLE1BQU0sWUFBWSxHQUFrQixnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxVQUFVLENBQUMsQ0FBQzt3QkFDbkcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsSUFBSSxXQUFXLENBQ3ZELElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBRSxZQUFZLENBQy9DLENBQUMsQ0FBQzt3QkFDSCxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztxQkFDaEQ7aUJBQ0Y7YUFDRjtTQUNGO0lBQ0gsQ0FBQzs7MkdBL0hVLGNBQWM7K0ZBQWQsY0FBYyx3RUNiM0IsOHBCQVNBOzJGRElhLGNBQWM7a0JBTjFCLFNBQVM7K0JBQ0UsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbIi8qKioqKioqKioqIEFuZ3VsYXIgKioqKioqKioqKi9cclxuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBDb250YWluZXJGaWVsZEJhc2UgfSBmcm9tIFwiLi4vY29tcG9uZW50cy9jb250YWluZXJmaWVsZGJhc2UuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFpDb21wb25lbnRTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL3pjb21wb25lbnQuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBaQ29tcG9uZW50SGVscGVyLCBGaWVsZFNlcnZpY2UsIFpDb21wb25lbnQsIFpGaWVsZCB9IGZyb20gJ21taGdsb2JhbC16Y29yZSc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sLCBWYWxpZGF0b3JGbiB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtemxvb3AnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi96bG9vcC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vemxvb3AuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBabG9vcENvbXBvbmVudCBleHRlbmRzIENvbnRhaW5lckZpZWxkQmFzZSBpbXBsZW1lbnRzIFpDb21wb25lbnQsIE9uSW5pdCB7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBvcmlnaW5hbEZpZWxkTmFtZUZpZWxkID0gJ09yaU5hbWVGb3JabG9vcCc7XHJcbiAgcHVibGljIGNsb25lZEZpZWxkcyA9IFtdO1xyXG4gIHByaXZhdGUgY2xvbmVkRm9ybUNvbnRyb2xMaXN0ID0gbmV3IEFycmF5PHN0cmluZz4oKTtcclxuICBwcml2YXRlIGluaXRGaWVsZCA9IHt9IGFzIFpGaWVsZDtcclxuICBwcml2YXRlIGNvbnBvbmVudFR5cGVzVG9Ob3RVcGRhdGVWYWx1ZSA9IFsnemJ1dHRvbnMnXTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgY29tcG9uZW50U2VydmljZTogWkNvbXBvbmVudFNlcnZpY2UsXHJcbiAgICBwdWJsaWMgZmllbGRTZXJ2aWNlOiBGaWVsZFNlcnZpY2UsXHJcbiAgKSB7XHJcbiAgICBzdXBlcihjb21wb25lbnRTZXJ2aWNlKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5pbml0RmllbGQgPSBaQ29tcG9uZW50SGVscGVyLmRlZXBDbG9uZSh0aGlzLmRhdGEpO1xyXG5cclxuICAgIHRoaXMuc2V0dXBMb29waW5nRWxlbWVudCgpO1xyXG4gICAgc3VwZXIuaW5pdENvbXBvbmVudCgpLnN1YnNjcmliZSgoKSA9PiB7IHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7IH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlZnJlc2hGaWVsZEVsZW1lbnQoKSB7XHJcbiAgICB0aGlzLmRhdGEgPSBaQ29tcG9uZW50SGVscGVyLmRlZXBDbG9uZSh0aGlzLmluaXRGaWVsZCk7XHJcbiAgICB0aGlzLnNldHVwTG9vcGluZ0VsZW1lbnQoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0dXBMb29waW5nRWxlbWVudCgpIHtcclxuICAgIGlmICh0aGlzLmRhdGEuTG9vcGluZ0VsZW1lbnRDb25maWcpIHtcclxuICAgICAgLy8gUmVtb3ZlIHByZXZpb3VzbHkgY2xvbmVkIGZpZWxkcyBmcm9tIGZvcm0gY29udHJvbHMgKGlmIGFueSlcclxuICAgICAgaWYgKHRoaXMuY2xvbmVkRm9ybUNvbnRyb2xMaXN0Lmxlbmd0aCA+IDApIHtcclxuICAgICAgICBmb3IgKGNvbnN0IGZnTmFtZSBvZiB0aGlzLmNsb25lZEZvcm1Db250cm9sTGlzdCkge1xyXG4gICAgICAgICAgdGhpcy5ncm91cC5mb3JtLnJlbW92ZUNvbnRyb2woZmdOYW1lKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIENsb25lIHpsb29wJ3MgY2hpbGRcclxuICAgICAgdGhpcy5jbG9uZWRGaWVsZHMgPSB0aGlzLmNsb25lRmllbGRFbGVtZW50Q2hpbGQodGhpcy5kYXRhKTtcclxuXHJcbiAgICAgIC8vIEFwcGVuZCBjbG9uZWQgZmllbGRzIHRvIGdyb3VwLmZpZWxkcyBmb3IgZXJyb3IgbWVzc2FnZSBkaXNwbGF5aW5nXHJcbiAgICAgIHRoaXMuZ3JvdXAuY2xvbmVkRmllbGRzID0gWkNvbXBvbmVudEhlbHBlci5kZWVwQ2xvbmUodGhpcy5ncm91cC5jbG9uZWRGaWVsZHMgfHwgdGhpcy5ncm91cC5maWVsZHMpO1xyXG4gICAgICBjb25zdCB0aGlzRmllbGQgPSBaQ29tcG9uZW50SGVscGVyLmdldEZpZWxkRnJvbUZpZWxkc0J5TmFtZSh0aGlzLmdyb3VwLmNsb25lZEZpZWxkcywgdGhpcy5kYXRhW3RoaXMub3JpZ2luYWxGaWVsZE5hbWVGaWVsZF0gfHwgdGhpcy5kYXRhLk5hbWUpO1xyXG4gICAgICB0aGlzRmllbGQuVmFsdWUgPSB0aGlzLmNsb25lZEZpZWxkcztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2xvbmVGaWVsZEVsZW1lbnRDaGlsZChmaWVsZDogWkZpZWxkKTogQXJyYXk8WkZpZWxkPiB7XHJcbiAgICBjb25zdCBsb29waW5nRWxlbWVudENvbmZpZyA9IHR5cGVvZiBmaWVsZC5Mb29waW5nRWxlbWVudENvbmZpZyA9PSAnc3RyaW5nJyA/IFpDb21wb25lbnRIZWxwZXIuZ2V0R3JvdXBWYWx1ZShmaWVsZC5Mb29waW5nRWxlbWVudENvbmZpZywgdGhpcy5ncm91cCkgOiBmaWVsZC5Mb29waW5nRWxlbWVudENvbmZpZztcclxuXHJcbiAgICBpZiAobG9vcGluZ0VsZW1lbnRDb25maWcgPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHJldHVybiBmaWVsZC5WYWx1ZTtcclxuICAgIH1cclxuICAgIGxldCBmaWVsZFRvSW5zZXJ0ID0gbmV3IEFycmF5PFpGaWVsZD4oKTtcclxuICAgIGZvciAobGV0IGNvbmZpZ0luZGV4ID0gMDsgY29uZmlnSW5kZXggPCBsb29waW5nRWxlbWVudENvbmZpZy5Db3VudDsgY29uZmlnSW5kZXgrKykge1xyXG4gICAgICBjb25zdCBjbG9uZWRGaWVsZHMgPSBaQ29tcG9uZW50SGVscGVyLmRlZXBDbG9uZShmaWVsZC5WYWx1ZSk7XHJcbiAgICAgIHRoaXMudXBkYXRlRmllbGRQcm9wZXJ0aWVzVG9NYWtlVGhlbURpc3RpbmN0KGNsb25lZEZpZWxkcywgbG9vcGluZ0VsZW1lbnRDb25maWcsIGNvbmZpZ0luZGV4KTtcclxuICAgICAgZmllbGRUb0luc2VydCA9IGZpZWxkVG9JbnNlcnQuY29uY2F0KGNsb25lZEZpZWxkcyk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGZpZWxkVG9JbnNlcnQ7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZUZpZWxkUHJvcGVydGllc1RvTWFrZVRoZW1EaXN0aW5jdChmaWVsZHM6IEFycmF5PFpGaWVsZD4sIGxvb3BpbmdFbGVtZW50Q29uZmlnOiBhbnksIGluZGV4OiBudW1iZXIpIHtcclxuICAgIGZvciAoY29uc3QgZmllbGQgb2YgZmllbGRzKSB7XHJcblxyXG4gICAgICBjb25zdCBlbGVtZW50Q29uZmlnID0gbG9vcGluZ0VsZW1lbnRDb25maWcuVG9SZXBsYWNlLmZpbmQoeCA9PiB4LkVsZW1lbnROYW1lID09IGZpZWxkLk5hbWUpIHx8IGxvb3BpbmdFbGVtZW50Q29uZmlnLlRvUmVwbGFjZS5maW5kKHggPT4geC5FbGVtZW50TmFtZSA9PSBmaWVsZFt0aGlzLm9yaWdpbmFsRmllbGROYW1lRmllbGRdKTtcclxuICAgICAgY29uc3QgZWxlbWVudENvbmZpZ1Byb3BlcnR5ID0gZWxlbWVudENvbmZpZyAmJiBlbGVtZW50Q29uZmlnLlByb3BlcnR5ICYmIGVsZW1lbnRDb25maWcuUHJvcGVydHkubGVuZ3RoID4gaW5kZXggPyBlbGVtZW50Q29uZmlnLlByb3BlcnR5W2luZGV4XSA6IHt9O1xyXG5cclxuICAgICAgaWYgKGZpZWxkLlR5cGUgIT09ICd6bG9vcCcpIHtcclxuICAgICAgICBmaWVsZC5OYW1lID0gYCR7ZmllbGQuTmFtZX1fJHtpbmRleCArIDF9YDtcclxuICAgICAgICBpZiAoZmllbGQuTGFiZWwpIHtcclxuICAgICAgICAgIGZpZWxkLkxhYmVsID0gYCR7ZmllbGQuTGFiZWx9YDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGZpZWxkLlZhbHVlKSkge1xyXG4gICAgICAgICAgdGhpcy51cGRhdGVGaWVsZFByb3BlcnRpZXNUb01ha2VUaGVtRGlzdGluY3QoZmllbGQuVmFsdWUsIGxvb3BpbmdFbGVtZW50Q29uZmlnLCBpbmRleCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgaWYgKGVsZW1lbnRDb25maWdQcm9wZXJ0eS5WYWx1ZSAhPSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgZmllbGQuVmFsdWUgPSBlbGVtZW50Q29uZmlnUHJvcGVydHkuVmFsdWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBlbHNlIGlmICghdGhpcy5jb25wb25lbnRUeXBlc1RvTm90VXBkYXRlVmFsdWUuaW5jbHVkZXMoZmllbGQuVHlwZSkpIHtcclxuICAgICAgICAgICAgZmllbGQuVmFsdWUgPSBgJHtmaWVsZC5WYWx1ZX1fJHtpbmRleCArIDF9YDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgZmllbGRbdGhpcy5vcmlnaW5hbEZpZWxkTmFtZUZpZWxkXSA9IGZpZWxkLk5hbWU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKGVsZW1lbnRDb25maWdQcm9wZXJ0eSkpIHtcclxuICAgICAgICBmaWVsZFtrZXldID0gZWxlbWVudENvbmZpZ1Byb3BlcnR5W2tleV07XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuc2V0Q2xvbmVkRmllbGRzVG9Gb3JtQ29udHJvbHMoZmllbGQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRDbG9uZWRGaWVsZHNUb0Zvcm1Db250cm9scyhmaWVsZDogWkZpZWxkKSB7XHJcbiAgICBpZiAoIWZpZWxkLlN1YlR5cGUpIHtcclxuICAgICAgdGhpcy5maWVsZFNlcnZpY2UucGF0Y2hGaWVsZFByb3BlcnR5KGZpZWxkKTtcclxuXHJcbiAgICAgIGlmICh0eXBlb2YgZmllbGQuVmFsdWUgPT09IFwic3RyaW5nXCIgJiYgZmllbGQuVmFsdWUuaW5kZXhPZihcIi5cIikgIT09IC0xKSB7XHJcbiAgICAgICAgaWYgKFsnemdyaWQnLCAnenRyZWUnLCAndGV4dGFyZWFqc29uJywgJ3pnYW50dGNoYXJ0J10uaW5kZXhPZihmaWVsZC5UeXBlKSA9PT0gLTEpIHtcclxuICAgICAgICAgIGNvbnNvbGUud2FybihcIkZvcm1Db250cm9sIC0gaW52YWxpZCBmaWVsZCB2YWx1ZVwiLCBmaWVsZC5WYWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGNvbnN0IGlzRm9ybUNvbnRyb2wgPSBaQ29tcG9uZW50SGVscGVyLmlzRm9ybUNvbnRyb2woZmllbGQpO1xyXG4gICAgICAgIGNvbnN0IGlzVmlzaWJsZSA9IFpDb21wb25lbnRIZWxwZXIuaXNWaXNpYmxlRm9ybUNvbnRyb2wodGhpcywgZmllbGQpO1xyXG4gICAgICAgIGNvbnN0IGlzUmVxdWlyZWQgPSBaQ29tcG9uZW50SGVscGVyLmlzUmVxdWlyZWRGb3JtQ29udHJvbCh0aGlzLCBmaWVsZCk7XHJcblxyXG4gICAgICAgIGlmIChpc0Zvcm1Db250cm9sID09PSB0cnVlKSB7XHJcbiAgICAgICAgICBjb25zdCB2YWxpZGF0b3JzOiBWYWxpZGF0b3JGbltdID0gWkNvbXBvbmVudEhlbHBlci5nZXRWYWxpZGF0b3JzKGZpZWxkLCBpc1Zpc2libGUsIGlzUmVxdWlyZWQsIHRoaXMuZ3JvdXApO1xyXG4gICAgICAgICAgdGhpcy5ncm91cC5mb3JtLmFkZENvbnRyb2woZmllbGQuVmFsdWUsIG5ldyBGb3JtQ29udHJvbChcclxuICAgICAgICAgICAgdGhpcy5ncm91cC56TW9kZWxbZmllbGQuVmFsdWVdLCB2YWxpZGF0b3JzXHJcbiAgICAgICAgICApKTtcclxuICAgICAgICAgIHRoaXMuY2xvbmVkRm9ybUNvbnRyb2xMaXN0LnB1c2goZmllbGQuVmFsdWUpO1xyXG5cclxuICAgICAgICAgIGlmIChaQ29tcG9uZW50SGVscGVyLmhhc0NDRmllbGQoZmllbGQuVHlwZSkpIHtcclxuICAgICAgICAgICAgY29uc3QgY2NWYWxpZGF0b3JzOiBWYWxpZGF0b3JGbltdID0gWkNvbXBvbmVudEhlbHBlci5nZXRDQ1ZhbGlkYXRvcnMoZmllbGQsIGlzVmlzaWJsZSwgaXNSZXF1aXJlZCk7XHJcbiAgICAgICAgICAgIHRoaXMuZ3JvdXAuZm9ybS5hZGRDb250cm9sKGZpZWxkLkNDVmFsdWUsIG5ldyBGb3JtQ29udHJvbChcclxuICAgICAgICAgICAgICB0aGlzLmdyb3VwLnpNb2RlbFtmaWVsZC5DQ1ZhbHVlXSwgY2NWYWxpZGF0b3JzXHJcbiAgICAgICAgICAgICkpO1xyXG4gICAgICAgICAgICB0aGlzLmNsb25lZEZvcm1Db250cm9sTGlzdC5wdXNoKGZpZWxkLkNDVmFsdWUpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmNvbnRhaW5lclN0eWxlLnN0eWxlXCIgY2xhc3M9XCJlMXRhZy1jb250YWluZXItc3R5bGUgemxvb3AtY29udGFpbmVyXCJcclxuICAgICpuZ0lmPVwiKCEhY29tcG9uZW50UHJvcGVydGllcy5pc1Zpc2libGVGaWVsZD8gZ3JvdXBbY29tcG9uZW50UHJvcGVydGllcy5pc1Zpc2libGVGaWVsZF0gOiBjb21wb25lbnRQcm9wZXJ0aWVzLmlzVmlzaWJsZSlcIj5cclxuICA8YXBwLXpmb3JtY29udHJvbCBbbmdDbGFzc109XCJncm91cFtmaWVsZC5pc1Zpc2libGVGaWVsZF0gPyBmaWVsZC5EaXZDbGFzcyA6ICgoZmllbGQuVmlzaWJsZSA9PT0gdHJ1ZSkgPyAgZmllbGQuRGl2Q2xhc3MgOiAnZmxleC1oaWRlJylcIlxyXG4gICAgKm5nRm9yPVwibGV0IGZpZWxkIG9mIGNsb25lZEZpZWxkc1wiXHJcbiAgICBbZmllbGRdPVwiZmllbGRcIlxyXG4gICAgW2NvbnRhaW5lckZpZWxkXT1cImRhdGFcIiBbZ3JvdXBdPVwiZ3JvdXBcIiBbZm9ybV09XCJmb3JtXCIgaWQ9XCJ7e2ZpZWxkLlR5cGV9fS17e2ZpZWxkLk5hbWV9fVwiXHJcbiAgICBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5zdHlsZS5zdHlsZTFcIiBjbGFzcz1cImUxdGFnLXN0eWxlMVwiPlxyXG4gIDwvYXBwLXpmb3JtY29udHJvbD5cclxuPC9kaXY+XHJcbiJdfQ==
|