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.
Files changed (234) hide show
  1. package/README.md +0 -11
  2. package/fesm2022/mmhglobal-dynamicform.mjs +15336 -0
  3. package/fesm2022/mmhglobal-dynamicform.mjs.map +1 -0
  4. package/{mmhglobal-dynamicform.d.ts → index.d.ts} +5 -5
  5. package/lib/animations/component-animations.d.ts +3 -3
  6. package/lib/components/{buttonfieldbase.component.d.ts → base/buttonfieldbase.component.d.ts} +18 -26
  7. package/lib/components/{containerfieldbase.component.d.ts → base/containerfieldbase.component.d.ts} +20 -25
  8. package/lib/components/{datalistingfieldbase.component.d.ts → base/datalistingfieldbase.component.d.ts} +45 -51
  9. package/lib/components/{fieldbase.component.d.ts → base/fieldbase.component.d.ts} +49 -49
  10. package/lib/components/{inputfieldbase.component.d.ts → base/inputfieldbase.component.d.ts} +23 -27
  11. package/lib/{dropdown_buttons → components/button/dropdown_buttons}/dropdown_buttons.component.d.ts +15 -21
  12. package/lib/components/button/zbuttons/zbuttons.component.d.ts +19 -0
  13. package/lib/{zchip → components/button/zchip}/zchip.component.d.ts +22 -26
  14. package/lib/{zmfb → components/button/zmfb}/zmfb.component.d.ts +38 -43
  15. package/lib/components/button/zworkflowbuttons/zworkflowbuttons.component.d.ts +29 -0
  16. package/lib/{zchart → components/chart/zchart}/zchart.component.d.ts +73 -71
  17. package/lib/{zganttchart → components/chart/zganttchart}/zganttchart.component.d.ts +40 -40
  18. package/lib/{zgauge → components/chart/zgauge}/zgauge.component.d.ts +67 -63
  19. package/lib/{zprogressbar → components/chart/zprogressbar}/zprogressbar.component.d.ts +29 -30
  20. package/lib/{zreport → components/chart/zreport}/zreport.component.d.ts +47 -53
  21. package/lib/{zscheduler → components/chart/zscheduler}/zscheduler.component.d.ts +53 -52
  22. package/lib/{zscheduler → components/chart/zscheduler}/zscheduler.toolbar.component.d.ts +20 -20
  23. package/lib/{ztrendcard → components/chart/ztrendcard}/ztrendcard.component.d.ts +40 -36
  24. package/lib/components/container/kcard/kcard.component.d.ts +21 -0
  25. package/lib/{kscrollview → components/container/kscrollview}/kscrollview.component.d.ts +19 -20
  26. package/lib/{ksplitter → components/container/ksplitter}/ksplitter.component.d.ts +18 -19
  27. package/lib/{zcard → components/container/zcard}/zcard.component.d.ts +12 -17
  28. package/lib/components/container/zdiv/zdiv.component.d.ts +12 -0
  29. package/lib/{zdiv → components/container/zdiv}/zdiv.pipe.d.ts +7 -7
  30. package/lib/{zloop → components/container/zloop}/zloop.component.d.ts +21 -24
  31. package/lib/{ztab → components/container/ztab}/ztab.component.d.ts +34 -38
  32. package/lib/{ztab → components/container/ztab}/ztab.pipe.d.ts +7 -7
  33. package/lib/{zudf → components/container/zudf}/zudf.component.d.ts +208 -212
  34. package/lib/{virtual-scroll → components/data-listing/virtual-scroll}/virtual-scroll.component.d.ts +40 -45
  35. package/lib/{zgrid → components/data-listing/zgrid}/container/zgrid-container.component.d.ts +27 -31
  36. package/lib/{zgrid → components/data-listing/zgrid}/date-range-cell-filter.component.d.ts +20 -19
  37. package/lib/{zgrid → components/data-listing/zgrid}/zgrid.binding.directive.d.ts +174 -168
  38. package/lib/{zgrid → components/data-listing/zgrid}/zgrid.component.d.ts +187 -186
  39. package/lib/{zgrid → components/data-listing/zgrid}/zgrid.popup.anchor-target.directive.d.ts +8 -8
  40. package/lib/{zgrid → components/data-listing/zgrid}/zgrid.service.d.ts +27 -27
  41. package/lib/{ztree → components/data-listing/ztree}/ztree.component.d.ts +77 -78
  42. package/lib/{ztreelist → components/data-listing/ztreelist}/ztreelist.component.d.ts +100 -107
  43. package/lib/{sfdatetimepicker → components/input/sfdatetimepicker}/sfdatetimepicker.component.d.ts +26 -31
  44. package/lib/{sfquerybuilder → components/input/sfquerybuilder}/sfquerybuilder.component.d.ts +71 -73
  45. package/lib/{zcheckbox → components/input/zcheckbox}/zcheckbox.component.d.ts +18 -20
  46. package/lib/components/input/zcodeeditor/zcodeeditor.component.d.ts +43 -0
  47. package/lib/components/input/zcodeeditor/zcodeeditor.service.d.ts +32 -0
  48. package/lib/{zcolorpicker → components/input/zcolorpicker}/zcolorpicker.component.d.ts +19 -25
  49. package/lib/{zdatetime → components/input/zdatetime}/dateIonicFormatParser.pipe.d.ts +10 -10
  50. package/lib/{zdatetime → components/input/zdatetime}/dateIonicMinMaxDate.pipe.d.ts +7 -7
  51. package/lib/{zdatetime → components/input/zdatetime}/dateKendoFormatParser.pipe.d.ts +10 -10
  52. package/lib/{zdatetime → components/input/zdatetime}/dateParser.pipe.d.ts +11 -11
  53. package/lib/{zdatetime → components/input/zdatetime}/zdatetime.component.d.ts +32 -32
  54. package/lib/{zimg → components/input/zimg}/zimg.component.d.ts +16 -20
  55. package/lib/{zinput-container → components/input/zinput-container}/zinput-container.component.d.ts +31 -38
  56. package/lib/{zinput-container → components/input/zinput-container}/zinput-container.pipe.d.ts +25 -25
  57. package/lib/{zlabel → components/input/zlabel}/zlabel.component.d.ts +20 -26
  58. package/lib/{znumeric → components/input/znumeric}/znumeric.component.d.ts +29 -31
  59. package/lib/{znumeric → components/input/znumeric}/znumeric.component.pipe.d.ts +10 -10
  60. package/lib/{zpostselectinput → components/input/zpostselectinput}/zpostselectinput.component.d.ts +48 -65
  61. package/lib/{zselectmultiple → components/input/zselectmultiple}/zselectmultiple.component.d.ts +105 -123
  62. package/lib/{zselectmultiple → components/input/zselectmultiple}/zselectmultiple.directive.d.ts +12 -12
  63. package/lib/{zselectmultiple → components/input/zselectmultiple}/zselectmultiple.pipe.d.ts +11 -11
  64. package/lib/{ztext → components/input/ztext}/ztext.component.d.ts +33 -33
  65. package/lib/{ztextarea → components/input/ztextarea}/ztextarea.component.d.ts +21 -25
  66. package/lib/{ztexteditor → components/input/ztexteditor}/ztexteditor.component.d.ts +44 -42
  67. package/lib/{zupload → components/input/zupload}/zupload.component.d.ts +45 -50
  68. package/lib/{embed-components → components/menu}/context-menu/context-menu.component.d.ts +24 -28
  69. package/lib/{kmenu → components/menu/kmenu}/kmenu.component.d.ts +13 -14
  70. package/lib/components/others/zform/zform.component.d.ts +30 -0
  71. package/lib/components/others/zformcontrol/zformcontrol.component.d.ts +21 -0
  72. package/lib/components/others/zformcontrol/zformcontrol.service.d.ts +12 -0
  73. package/lib/components/others/zmodal/zmodal-component-helper.service.d.ts +15 -0
  74. package/lib/components/others/zmodal/zmodal.component.d.ts +24 -0
  75. package/lib/components/others/zmodal/zmodal.service.d.ts +25 -0
  76. package/lib/components/others/zunknown/zunknown.component.d.ts +10 -0
  77. package/lib/components/utility/e1-root/e1-root.component.d.ts +20 -0
  78. package/lib/components/utility/input-error-message/input-error-message.component.d.ts +14 -0
  79. package/lib/{embed-components → components/utility}/input-field-addons/input-field-addons.component.d.ts +18 -23
  80. package/lib/{embed-components → components/utility}/page-loader/page-loader.component.d.ts +8 -8
  81. package/lib/{embed-components → components/utility}/processing-record-loader/processing-record-loader.component.d.ts +8 -8
  82. package/lib/{embed-components → components/utility}/spinner/spinner.component.d.ts +12 -14
  83. package/lib/components/utility/uiappmenucontent/uiappmenucontent.component.d.ts +17 -0
  84. package/lib/{uibulletin → components/utility/uibulletin}/uibulletin.component.d.ts +31 -36
  85. package/lib/{uicontainer → components/utility/uicontainer}/uicontainer.component.d.ts +16 -19
  86. package/lib/components/utility/uicontent/uicontent.component.d.ts +21 -0
  87. package/lib/components/utility/uiheader/uiheader.component.d.ts +40 -0
  88. package/lib/{uipage → components/utility/uipage}/uipage.component.d.ts +18 -23
  89. package/lib/constants/constant.d.ts +3 -3
  90. package/lib/directives/elementcontainer.directive.d.ts +8 -8
  91. package/lib/interfaces/modal.interface.d.ts +4 -0
  92. package/lib/pipe/htmlSanitize.pipe.d.ts +10 -10
  93. package/lib/pipe/panel-area.pipe.d.ts +7 -7
  94. package/lib/services/main.service.d.ts +136 -142
  95. package/lib/services/zcomponent.debug.service.d.ts +289 -68
  96. package/lib/services/zcomponent.service.d.ts +31 -44
  97. package/package.json +6 -13
  98. package/public-api.d.ts +93 -100
  99. package/styles/all.scss +643 -0
  100. package/styles/component.scss +0 -0
  101. package/styles/notificationkit.scss +53 -0
  102. package/esm2020/lib/animations/component-animations.mjs +0 -39
  103. package/esm2020/lib/components/buttonfieldbase.component.mjs +0 -80
  104. package/esm2020/lib/components/containerfieldbase.component.mjs +0 -50
  105. package/esm2020/lib/components/datalistingfieldbase.component.mjs +0 -277
  106. package/esm2020/lib/components/fieldbase.component.mjs +0 -178
  107. package/esm2020/lib/components/inputfieldbase.component.mjs +0 -202
  108. package/esm2020/lib/constants/constant.mjs +0 -4
  109. package/esm2020/lib/directives/elementcontainer.directive.mjs +0 -16
  110. package/esm2020/lib/directives/fieldelement.directive.mjs +0 -16
  111. package/esm2020/lib/directives/scrollbar.theme.directive.mjs +0 -45
  112. package/esm2020/lib/dropdown_buttons/dropdown_buttons.component.mjs +0 -109
  113. package/esm2020/lib/embed-components/context-menu/context-menu.component.mjs +0 -113
  114. package/esm2020/lib/embed-components/input-field-addons/input-field-addons.component.mjs +0 -93
  115. package/esm2020/lib/embed-components/page-loader/page-loader.component.mjs +0 -14
  116. package/esm2020/lib/embed-components/processing-record-loader/processing-record-loader.component.mjs +0 -14
  117. package/esm2020/lib/embed-components/spinner/spinner.component.mjs +0 -27
  118. package/esm2020/lib/ficon/ficon.component.mjs +0 -53
  119. package/esm2020/lib/input-error-message/input-error-message.component.mjs +0 -53
  120. package/esm2020/lib/kcard/kcard.component.mjs +0 -90
  121. package/esm2020/lib/kmenu/kmenu.component.mjs +0 -46
  122. package/esm2020/lib/kscrollview/kscrollview.component.mjs +0 -77
  123. package/esm2020/lib/ksplitter/ksplitter.component.mjs +0 -67
  124. package/esm2020/lib/mmhglobal-dynamicform.module.mjs +0 -657
  125. package/esm2020/lib/pipe/htmlSanitize.pipe.mjs +0 -18
  126. package/esm2020/lib/pipe/panel-area.pipe.mjs +0 -28
  127. package/esm2020/lib/services/main.service.mjs +0 -1307
  128. package/esm2020/lib/services/zcomponent.debug.service.mjs +0 -742
  129. package/esm2020/lib/services/zcomponent.service.mjs +0 -300
  130. package/esm2020/lib/sfdatetimepicker/sfdatetimepicker.component.mjs +0 -108
  131. package/esm2020/lib/sfquerybuilder/sfquerybuilder.component.mjs +0 -501
  132. package/esm2020/lib/uiactionbutton/uiactionbutton.component.mjs +0 -229
  133. package/esm2020/lib/uiappmenucontent/uiappmenucontent.component.mjs +0 -55
  134. package/esm2020/lib/uibulletin/uibulletin.component.mjs +0 -96
  135. package/esm2020/lib/uicontainer/uicontainer.component.mjs +0 -41
  136. package/esm2020/lib/uicontent/uicontent.component.mjs +0 -63
  137. package/esm2020/lib/uiheader/uiheader.component.mjs +0 -116
  138. package/esm2020/lib/uiheader/uiheader.service.mjs +0 -27
  139. package/esm2020/lib/uimenubutton/uimenubutton.component.mjs +0 -36
  140. package/esm2020/lib/uimenucontent/uimenucontent.component.mjs +0 -38
  141. package/esm2020/lib/uipage/uipage.component.mjs +0 -160
  142. package/esm2020/lib/uivalidationmessage/uivalidationmessage.component.mjs +0 -40
  143. package/esm2020/lib/virtual-scroll/virtual-scroll.component.mjs +0 -249
  144. package/esm2020/lib/zbullet/zbullet.component.mjs +0 -77
  145. package/esm2020/lib/zbuttons/zbuttons.component.mjs +0 -151
  146. package/esm2020/lib/zcard/zcard.component.mjs +0 -36
  147. package/esm2020/lib/zchart/zchart.component.mjs +0 -222
  148. package/esm2020/lib/zcheckbox/zcheckbox.component.mjs +0 -42
  149. package/esm2020/lib/zchip/zchip.component.mjs +0 -119
  150. package/esm2020/lib/zcodeeditor/zcodeeditor.component.mjs +0 -169
  151. package/esm2020/lib/zcodeeditor/zcodeeditor.pipe.mjs +0 -60
  152. package/esm2020/lib/zcolorpicker/zcolorpicker.component.mjs +0 -47
  153. package/esm2020/lib/zdaterange/zdaterange.component.mjs +0 -72
  154. package/esm2020/lib/zdatetime/dateIonicFormatParser.pipe.mjs +0 -40
  155. package/esm2020/lib/zdatetime/dateIonicMinMaxDate.pipe.mjs +0 -22
  156. package/esm2020/lib/zdatetime/dateKendoFormatParser.pipe.mjs +0 -41
  157. package/esm2020/lib/zdatetime/dateParser.pipe.mjs +0 -36
  158. package/esm2020/lib/zdatetime/zdatetime.component.mjs +0 -134
  159. package/esm2020/lib/zdiv/zdiv.component.mjs +0 -79
  160. package/esm2020/lib/zdiv/zdiv.pipe.mjs +0 -31
  161. package/esm2020/lib/zform/zform.component.mjs +0 -188
  162. package/esm2020/lib/zformcontrol/zformcontrol.component.mjs +0 -51
  163. package/esm2020/lib/zganttchart/zganttchart.component.mjs +0 -160
  164. package/esm2020/lib/zgauge/zgauge.component.mjs +0 -122
  165. package/esm2020/lib/zgrid/container/zgrid-container.component.mjs +0 -107
  166. package/esm2020/lib/zgrid/date-range-cell-filter.component.mjs +0 -146
  167. package/esm2020/lib/zgrid/zgrid.binding.directive.mjs +0 -881
  168. package/esm2020/lib/zgrid/zgrid.component.mjs +0 -1131
  169. package/esm2020/lib/zgrid/zgrid.popup.anchor-target.directive.mjs +0 -17
  170. package/esm2020/lib/zgrid/zgrid.service.mjs +0 -113
  171. package/esm2020/lib/zimg/zimg.component.mjs +0 -61
  172. package/esm2020/lib/zinput-container/zinput-container.component.mjs +0 -91
  173. package/esm2020/lib/zinput-container/zinput-container.pipe.mjs +0 -132
  174. package/esm2020/lib/zlabel/zlabel.component.mjs +0 -52
  175. package/esm2020/lib/zloop/zloop.component.mjs +0 -123
  176. package/esm2020/lib/zmfb/zmfb.component.mjs +0 -217
  177. package/esm2020/lib/zmodal/zmodal-mobile.component.mjs +0 -124
  178. package/esm2020/lib/zmodal/zmodal.component.mjs +0 -129
  179. package/esm2020/lib/znumeric/znumeric.component.mjs +0 -110
  180. package/esm2020/lib/znumeric/znumeric.component.pipe.mjs +0 -19
  181. package/esm2020/lib/zpostselectinput/zpostselectinput.component.mjs +0 -315
  182. package/esm2020/lib/zprogressbar/zprogressbar.component.mjs +0 -61
  183. package/esm2020/lib/zradiobutton/zradiobutton.component.mjs +0 -106
  184. package/esm2020/lib/zreport/zreport.component.mjs +0 -184
  185. package/esm2020/lib/zscheduler/zscheduler.component.mjs +0 -271
  186. package/esm2020/lib/zscheduler/zscheduler.toolbar.component.mjs +0 -150
  187. package/esm2020/lib/zselectmultiple/zselectmultiple.component.mjs +0 -689
  188. package/esm2020/lib/zselectmultiple/zselectmultiple.directive.mjs +0 -35
  189. package/esm2020/lib/zselectmultiple/zselectmultiple.pipe.mjs +0 -29
  190. package/esm2020/lib/ztab/ztab.component.mjs +0 -211
  191. package/esm2020/lib/ztab/ztab.pipe.mjs +0 -28
  192. package/esm2020/lib/ztext/ztext.component.mjs +0 -167
  193. package/esm2020/lib/ztextarea/ztextarea.component.mjs +0 -66
  194. package/esm2020/lib/ztexteditor/ztexteditor.component.mjs +0 -135
  195. package/esm2020/lib/ztree/ztree.component.mjs +0 -539
  196. package/esm2020/lib/ztreelist/ztreelist.component.mjs +0 -546
  197. package/esm2020/lib/ztrendcard/ztrendcard.component.mjs +0 -106
  198. package/esm2020/lib/zudf/zudf.component.mjs +0 -1016
  199. package/esm2020/lib/zunknown/zunknown.component.mjs +0 -20
  200. package/esm2020/lib/zupload/zupload.component.mjs +0 -403
  201. package/esm2020/lib/zworkflowbuttons/zworkflowbuttons.component.mjs +0 -244
  202. package/esm2020/mmhglobal-dynamicform.mjs +0 -5
  203. package/esm2020/public-api.mjs +0 -107
  204. package/fesm2015/mmhglobal-dynamicform.mjs +0 -16119
  205. package/fesm2015/mmhglobal-dynamicform.mjs.map +0 -1
  206. package/fesm2020/mmhglobal-dynamicform.mjs +0 -16079
  207. package/fesm2020/mmhglobal-dynamicform.mjs.map +0 -1
  208. package/lib/directives/fieldelement.directive.d.ts +0 -8
  209. package/lib/directives/scrollbar.theme.directive.d.ts +0 -10
  210. package/lib/ficon/ficon.component.d.ts +0 -34
  211. package/lib/input-error-message/input-error-message.component.d.ts +0 -19
  212. package/lib/kcard/kcard.component.d.ts +0 -25
  213. package/lib/mmhglobal-dynamicform.module.d.ts +0 -133
  214. package/lib/uiactionbutton/uiactionbutton.component.d.ts +0 -39
  215. package/lib/uiappmenucontent/uiappmenucontent.component.d.ts +0 -27
  216. package/lib/uicontent/uicontent.component.d.ts +0 -29
  217. package/lib/uiheader/uiheader.component.d.ts +0 -39
  218. package/lib/uiheader/uiheader.service.d.ts +0 -11
  219. package/lib/uimenubutton/uimenubutton.component.d.ts +0 -20
  220. package/lib/uimenucontent/uimenucontent.component.d.ts +0 -24
  221. package/lib/uivalidationmessage/uivalidationmessage.component.d.ts +0 -21
  222. package/lib/zbullet/zbullet.component.d.ts +0 -27
  223. package/lib/zbuttons/zbuttons.component.d.ts +0 -25
  224. package/lib/zcodeeditor/zcodeeditor.component.d.ts +0 -43
  225. package/lib/zcodeeditor/zcodeeditor.pipe.d.ts +0 -12
  226. package/lib/zdaterange/zdaterange.component.d.ts +0 -29
  227. package/lib/zdiv/zdiv.component.d.ts +0 -22
  228. package/lib/zform/zform.component.d.ts +0 -38
  229. package/lib/zformcontrol/zformcontrol.component.d.ts +0 -25
  230. package/lib/zmodal/zmodal-mobile.component.d.ts +0 -38
  231. package/lib/zmodal/zmodal.component.d.ts +0 -44
  232. package/lib/zradiobutton/zradiobutton.component.d.ts +0 -34
  233. package/lib/zunknown/zunknown.component.d.ts +0 -17
  234. 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemlucHV0LWNvbnRhaW5lci5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvemlucHV0LWNvbnRhaW5lci96aW5wdXQtY29udGFpbmVyLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sRUFBbUQsZ0JBQWdCLEVBQVUsTUFBTSxFQUFpQyxvQkFBb0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pLLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBT3JDLE1BQU0sT0FBTyxZQUFZO0lBT3ZCLFlBQ1Usa0JBQXNDLEVBQ3RDLFlBQTBCLEVBQzFCLGFBQTRCLEVBQzVCLGdCQUFtQztRQUhuQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBbUI7UUFWNUIsZUFBVSxHQUFHLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUN0RiwwQkFBcUIsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDNUMsbUJBQWMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzlCLGlCQUFZLEdBQUcsQ0FBQyxtQkFBbUIsRUFBRSwwQkFBMEIsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUNwRixnQ0FBMkIsR0FBRyxHQUFHLENBQUM7SUFRMUMsQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUFVLEVBQUUsSUFBWSxFQUFFLEtBQWE7UUFDL0MsSUFBSSxDQUFDLDJCQUEyQixHQUFHLElBQUksQ0FBQyxvQkFBb0IsSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO1FBQzVHLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDVixPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsMkJBQTJCLENBQUMsQ0FBQztTQUM3QztRQUVELElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3pGLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztTQUNqRDthQUNJLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ2hELE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNqQzthQUNJLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQzlDLE1BQU0sV0FBVyxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxhQUFhLEVBQUUsRUFBRSxFQUFFLGFBQWEsRUFBRSxFQUFFLEVBQUUsY0FBYyxFQUFFLEVBQUUsRUFBRSxDQUFDO1lBQzNGLGdCQUFnQixDQUFDLDBCQUEwQixDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsV0FBVyxDQUFDLENBQUM7WUFDN0UsS0FBSyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxJQUFJLElBQUksTUFBTSxFQUFFLENBQUM7WUFDNUMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUNsRCxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ1IsTUFBTSxVQUFVLEdBQUcsR0FBRyxDQUFDLE9BQU8sSUFBSSxHQUFHLElBQUksRUFBRSxDQUFDO2dCQUM1QyxNQUFNLFdBQVcsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7Z0JBQ3JHLElBQUksV0FBVyxFQUFFO29CQUNmLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsY0FBYyxFQUFFLFdBQVcsQ0FBQyxhQUFhLENBQUMsSUFBSSxJQUFJLENBQUMsMkJBQTJCLENBQUM7aUJBQ2xKO3FCQUNJO29CQUNILE9BQU8sSUFBSSxDQUFDLDJCQUEyQixDQUFDO2lCQUN6QztZQUNILENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDUDtRQUVELE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25CLENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxLQUFVLEVBQUUsSUFBWTtRQUNqRCxJQUFJLEdBQUcsR0FBRyxLQUFLLENBQUM7UUFDaEIsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDekIsR0FBRyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxrQ0FBa0MsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDN0U7UUFDRCxPQUFPLFVBQVUsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxPQUFPLENBQUMsSUFBSSxJQUFJLENBQUMsMkJBQTJCLENBQUM7SUFDekcsQ0FBQztJQUVELGNBQWM7SUFDTixpQkFBaUIsQ0FBQyxRQUFnQjtRQUN4QyxJQUFJLFFBQVEsS0FBSyxPQUFPLEVBQUU7WUFDeEIsT0FBTyxPQUFPLENBQUM7U0FDaEI7YUFDSSxJQUFJLFFBQVEsS0FBSyxhQUFhLElBQUksUUFBUSxLQUFLLGtCQUFrQixFQUFFO1lBQ3RFLE9BQU8sb0JBQW9CLENBQUM7U0FDN0I7YUFDSSxJQUFJLFFBQVEsS0FBSyxTQUFTLEVBQUU7WUFDL0IsT0FBTyxVQUFVLENBQUM7U0FDbkI7YUFDSSxJQUFJLFFBQVEsS0FBSyxZQUFZLEVBQUU7WUFDbEMsT0FBTyxVQUFVLENBQUM7U0FDbkI7UUFDRCxPQUFPLGFBQWEsQ0FBQztJQUN2QixDQUFDO0lBRU8sU0FBUyxDQUFDLElBQVksRUFBRSxLQUFhLEVBQUUsV0FBZ0I7UUFDN0QsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDMUIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FDaEQsSUFBSSxDQUFDLGlCQUFpQixDQUN2QixDQUFDO1lBRUYsTUFBTSxXQUFXLEdBQUcsSUFBSSxvQkFBb0IsRUFBRSxDQUFDO1lBQy9DLFdBQVcsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztZQUNwQyxXQUFXLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7WUFDekMsV0FBVyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO1lBRXhDLE9BQU8sZ0JBQWdCLENBQUMsY0FBYyxDQUNwQyxJQUFJLENBQUMsVUFBVSxFQUNmLFdBQVcsRUFDWCxLQUFLLEVBQ0wsV0FBVyxFQUNYLElBQUksQ0FBQyxZQUFZLEVBQ2pCLElBQUksQ0FBQyxhQUFhLEVBQ2xCLEtBQUssQ0FDTixDQUFDO1NBQ0g7YUFDSTtZQUNILE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztTQUN0RTtJQUNILENBQUM7SUFFTyxZQUFZLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxhQUFhO1FBQzdDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLElBQUksYUFBYSxJQUFJLGNBQWMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ2xGLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRTtZQUMzRSxLQUFLLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1lBQ3ZELGFBQWEsR0FBRyxVQUFVLENBQUM7U0FDNUI7UUFFRCxJQUFJLFVBQVUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDbkMsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDL0M7UUFDRCxJQUFJLFVBQVUsQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLEVBQUU7WUFDekMsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDaEQ7UUFDRCxJQUFJLFVBQVUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDbkMsT0FBTyxLQUFLLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUN6QztRQUNELElBQUksVUFBVSxFQUFFO1lBQ2QsT0FBTyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1NBQ2hDO0lBQ0gsQ0FBQztJQUVPLGVBQWUsQ0FDckIsSUFBUyxFQUNULElBQVMsRUFDVCxLQUFVLEVBQ1YsY0FBc0IsRUFDdEIsYUFBcUI7UUFFckIsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3JCLE1BQU0sZUFBZSxHQUFHLGdCQUFnQixDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7WUFFckcsT0FBTyxlQUFlLENBQUM7Z0JBQ3JCLElBQUk7Z0JBQ0osSUFBSTtnQkFDSixLQUFLO2dCQUNMLGNBQWM7Z0JBQ2QsYUFBYTthQUNtQixDQUFDLENBQUM7U0FDckM7YUFBTSxJQUFJLGFBQWEsRUFBRTtZQUN4QixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUM1QjthQUFNO1lBQ0wsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN2QztJQUNILENBQUM7O3lHQTdJVSxZQUFZO3VHQUFaLFlBQVk7MkZBQVosWUFBWTtrQkFKeEIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsV0FBVztvQkFDakIsSUFBSSxFQUFFLElBQUk7aUJBQ1giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmb3JtYXREYXRlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQ2FjaGVTZXJ2aWNlLCBSZXNvdXJjZUFwaVNlcnZpY2UsIFdlYkFwaVNlcnZpY2UsIFpDb21wb25lbnRIZWxwZXIsIFpGaWVsZCwgWkdyb3VwLCBaU2VsZWN0TXVsdGlwbGVUZW1wbGF0ZVBhcmFtcywgWlNlbGVjdFBvc3RBcGlQYXJhbXMgfSBmcm9tIFwibW1oZ2xvYmFsLXpjb3JlXCI7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcbmltcG9ydCB7IFpDb21wb25lbnRTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL3pjb21wb25lbnQuc2VydmljZVwiO1xyXG5cclxuQFBpcGUoe1xyXG4gIG5hbWU6IFwiaW5wdXRUZXh0XCIsXHJcbiAgcHVyZTogdHJ1ZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFpJbnB1dFBhcnNlciBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgemRhdGVfdHlwZSA9IFsnemRhdGUnLCAnenRpbWUnLCAnemRhdGV0aW1lJywgJ3pzaG9ydGRhdGUnLCAnenVpZGF0ZXRpbWUnLCAnenVpdGltZSddO1xyXG4gIHB1YmxpYyByZWFkb25seSBzZmRhdGV0aW1lcGlja2VyX3R5cGUgPSBbJ3NmZGF0ZXRpbWVwaWNrZXInXTtcclxuICBwcml2YXRlIHJlYWRvbmx5IHpjaGVja2JveF90eXBlID0gWydjaGVja2JveCddO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgenNlbGVjdF90eXBlID0gWyd6dWlzZWxlY3RtdWx0aXBsZScsICd6dWlzZWxlY3RtdWx0aXBsZV9idXR0b24nLCAnc2VsZWN0J107XHJcbiAgcHJpdmF0ZSBudWxsVmFsdWVEZWZhdWx0RGlzcGxheVRleHQgPSBcIi1cIjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlc291cmNlQXBpU2VydmljZTogUmVzb3VyY2VBcGlTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjYWNoZVNlcnZpY2U6IENhY2hlU2VydmljZSxcclxuICAgIHByaXZhdGUgd2ViQXBpU2VydmljZTogV2ViQXBpU2VydmljZSxcclxuICAgIHByaXZhdGUgY29tcG9uZW50U2VydmljZTogWkNvbXBvbmVudFNlcnZpY2VcclxuICApIHtcclxuICB9XHJcblxyXG4gIHRyYW5zZm9ybSh2YWx1ZTogYW55LCBkYXRhOiBaRmllbGQsIGdyb3VwOiBaR3JvdXApOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xyXG4gICAgdGhpcy5udWxsVmFsdWVEZWZhdWx0RGlzcGxheVRleHQgPSBkYXRhLk51bGxWYWx1ZURpc3BsYXlUZXh0ICE9IHVuZGVmaW5lZCA/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==