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,63 +0,0 @@
1
- /********** Angular **********/
2
- import { Component, Input } from '@angular/core';
3
- import { DebuggerFieldElementName } from 'mmhglobal-zcore';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "mmhglobal-zcore";
6
- import * as i2 from "@angular/router";
7
- import * as i3 from "../services/main.service";
8
- import * as i4 from "../services/zcomponent.service";
9
- import * as i5 from "../embed-components/page-loader/page-loader.component";
10
- import * as i6 from "@ionic/angular";
11
- import * as i7 from "@progress/kendo-angular-navigation";
12
- import * as i8 from "@fortawesome/angular-fontawesome";
13
- import * as i9 from "../zform/zform.component";
14
- import * as i10 from "@angular/common";
15
- import * as i11 from "@angular/flex-layout/extended";
16
- export class UicontentComponent {
17
- constructor(zcoreService, router, mainService, cacheService, componentService) {
18
- this.zcoreService = zcoreService;
19
- this.router = router;
20
- this.mainService = mainService;
21
- this.cacheService = cacheService;
22
- this.componentService = componentService;
23
- this.debuggerSectionFieldElementName = DebuggerFieldElementName.DebuggerSection;
24
- }
25
- ngOnInit() {
26
- console.log(this.group);
27
- }
28
- isSITEnvironment() {
29
- // return environment.e1OauthUrl.startsWith('https://oauthdev.');
30
- return this.zcoreService.isDebugSession() && !this.isFieldElement();
31
- }
32
- isFieldElement() {
33
- return this.group.fieldName === 'field';
34
- // return false;
35
- }
36
- isMobileScreen() {
37
- return this.componentService.isMobileScreen();
38
- }
39
- onNavItemClick(navItem) {
40
- if (navItem.route) {
41
- // clear cloneNewModel cache(if have)
42
- if (this.cacheService.getCache("cloneNewModel")) {
43
- this.cacheService.clearCache("cloneNewModel");
44
- }
45
- this.mainService.removeLastRouteParam();
46
- if (navItem.routeParam) {
47
- this.mainService.setRouteParam(navItem.routeParam);
48
- }
49
- this.router.navigateByUrl(navItem.route, { replaceUrl: true });
50
- }
51
- }
52
- }
53
- UicontentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: UicontentComponent, deps: [{ token: i1.ZCoreService }, { token: i2.Router }, { token: i3.MainService }, { token: i1.CacheService }, { token: i4.ZComponentService }], target: i0.ɵɵFactoryTarget.Component });
54
- UicontentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.3", type: UicontentComponent, selector: "app-uicontent", inputs: { group: "group", cssClass: "cssClass" }, ngImport: i0, template: "<div *ngIf=\"group.isLoading\" class=\"spinner-container\">\r\n <app-page-loader></app-page-loader>\r\n</div>\r\n<ion-grid [class]=\"cssClass\">\r\n <ion-row *ngIf=\"!group.isLoading && !isMobileScreen() && group && group.navItems\">\r\n <kendo-breadcrumb [items]=\"group.navItems\" class=\"nav-bar\" (itemClick)=\"onNavItemClick($event)\">\r\n <ng-template kendoBreadCrumbItemTemplate let-item let-index=\"index\">\r\n <div class=\"nav-bar-item\" [class.current]=\"!item.route\">\r\n <fa-icon *ngIf=\"item.icon\" [icon]=\"item.icon\" class=\"zcard-header-icon\"\r\n [ngClass]=\"{'icon-with-text': item.text}\"></fa-icon>\r\n <span>{{ item.text }}</span>\r\n </div>\r\n </ng-template>\r\n </kendo-breadcrumb>\r\n </ion-row>\r\n <ion-row *ngIf=\"!group.isLoading\" class=\"main-content-row\">\r\n <ion-col class=\"main-content-col\">\r\n <app-zform [group]=\"group\"></app-zform>\r\n </ion-col>\r\n <!-- <pre style=\"font-size: x-small;\">{{group.zModel | json}}</pre> -->\r\n </ion-row>\r\n <ion-row *ngIf=\"isSITEnvironment() && !group.isLoading\" style=\"padding-top: 50px;\" class=\"main-content-row style1\">\r\n <ion-col class=\"main-content-col\">\r\n <app-zform [group]=\"group\" [fieldName]=\"debuggerSectionFieldElementName\"></app-zform>\r\n </ion-col>\r\n </ion-row>\r\n <!-- require for mobile screen -->\r\n <div *ngIf=\"!isSITEnvironment() && !group.isLoading && isMobileScreen()\" style=\"height: 150px;\"></div>\r\n</ion-grid>\r\n", styles: [":host ::ng-deep kendo-breadcrumb.nav-bar{margin-left:15px;background:transparent;border-radius:5px}:host ::ng-deep kendo-breadcrumb.nav-bar .k-breadcrumb-delimiter,:host ::ng-deep kendo-breadcrumb.nav-bar .k-breadcrumb-delimiter-icon{color:var(--ion-color-primary-shade);font-size:calc(var(--nav-bar-font-size) * 1.2);opacity:1;font-weight:900}:host ::ng-deep kendo-breadcrumb.nav-bar .nav-bar-item{font-size:var(--nav-bar-font-size);color:var(--ion-color-primary-shade);cursor:pointer;justify-content:center;text-align:center;font-weight:600;border-radius:15px;padding:5px 8px}:host ::ng-deep kendo-breadcrumb.nav-bar .nav-bar-item:hover{background:rgba(var(--ion-color-primary-rgb),.15)}:host ::ng-deep kendo-breadcrumb.nav-bar .icon-with-text{padding:0 10px 0 0}:host ::ng-deep kendo-breadcrumb.nav-bar .nav-bar-item.current{cursor:default;background:transparent;color:#787878;padding-right:10px}\n"], components: [{ type: i5.PageLoaderComponent, selector: "app-page-loader" }, { type: i6.IonGrid, selector: "ion-grid", inputs: ["fixed"] }, { type: i6.IonRow, selector: "ion-row" }, { type: i7.BreadCrumbComponent, selector: "kendo-breadcrumb", inputs: ["items", "separatorIcon", "collapseMode"], outputs: ["itemClick"], exportAs: ["kendoBreadCrumb"] }, { type: i8.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { type: i6.IonCol, selector: "ion-col", inputs: ["offset", "offsetLg", "offsetMd", "offsetSm", "offsetXl", "offsetXs", "pull", "pullLg", "pullMd", "pullSm", "pullXl", "pullXs", "push", "pushLg", "pushMd", "pushSm", "pushXl", "pushXs", "size", "sizeLg", "sizeMd", "sizeSm", "sizeXl", "sizeXs"] }, { type: i9.ZformComponent, selector: "app-zform", inputs: ["group", "fieldName"] }], directives: [{ type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.BreadCrumbItemTemplateDirective, selector: "[kendoBreadCrumbItemTemplate]" }, { type: i10.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i11.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"] }] });
55
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: UicontentComponent, decorators: [{
56
- type: Component,
57
- args: [{ selector: 'app-uicontent', template: "<div *ngIf=\"group.isLoading\" class=\"spinner-container\">\r\n <app-page-loader></app-page-loader>\r\n</div>\r\n<ion-grid [class]=\"cssClass\">\r\n <ion-row *ngIf=\"!group.isLoading && !isMobileScreen() && group && group.navItems\">\r\n <kendo-breadcrumb [items]=\"group.navItems\" class=\"nav-bar\" (itemClick)=\"onNavItemClick($event)\">\r\n <ng-template kendoBreadCrumbItemTemplate let-item let-index=\"index\">\r\n <div class=\"nav-bar-item\" [class.current]=\"!item.route\">\r\n <fa-icon *ngIf=\"item.icon\" [icon]=\"item.icon\" class=\"zcard-header-icon\"\r\n [ngClass]=\"{'icon-with-text': item.text}\"></fa-icon>\r\n <span>{{ item.text }}</span>\r\n </div>\r\n </ng-template>\r\n </kendo-breadcrumb>\r\n </ion-row>\r\n <ion-row *ngIf=\"!group.isLoading\" class=\"main-content-row\">\r\n <ion-col class=\"main-content-col\">\r\n <app-zform [group]=\"group\"></app-zform>\r\n </ion-col>\r\n <!-- <pre style=\"font-size: x-small;\">{{group.zModel | json}}</pre> -->\r\n </ion-row>\r\n <ion-row *ngIf=\"isSITEnvironment() && !group.isLoading\" style=\"padding-top: 50px;\" class=\"main-content-row style1\">\r\n <ion-col class=\"main-content-col\">\r\n <app-zform [group]=\"group\" [fieldName]=\"debuggerSectionFieldElementName\"></app-zform>\r\n </ion-col>\r\n </ion-row>\r\n <!-- require for mobile screen -->\r\n <div *ngIf=\"!isSITEnvironment() && !group.isLoading && isMobileScreen()\" style=\"height: 150px;\"></div>\r\n</ion-grid>\r\n", styles: [":host ::ng-deep kendo-breadcrumb.nav-bar{margin-left:15px;background:transparent;border-radius:5px}:host ::ng-deep kendo-breadcrumb.nav-bar .k-breadcrumb-delimiter,:host ::ng-deep kendo-breadcrumb.nav-bar .k-breadcrumb-delimiter-icon{color:var(--ion-color-primary-shade);font-size:calc(var(--nav-bar-font-size) * 1.2);opacity:1;font-weight:900}:host ::ng-deep kendo-breadcrumb.nav-bar .nav-bar-item{font-size:var(--nav-bar-font-size);color:var(--ion-color-primary-shade);cursor:pointer;justify-content:center;text-align:center;font-weight:600;border-radius:15px;padding:5px 8px}:host ::ng-deep kendo-breadcrumb.nav-bar .nav-bar-item:hover{background:rgba(var(--ion-color-primary-rgb),.15)}:host ::ng-deep kendo-breadcrumb.nav-bar .icon-with-text{padding:0 10px 0 0}:host ::ng-deep kendo-breadcrumb.nav-bar .nav-bar-item.current{cursor:default;background:transparent;color:#787878;padding-right:10px}\n"] }]
58
- }], ctorParameters: function () { return [{ type: i1.ZCoreService }, { type: i2.Router }, { type: i3.MainService }, { type: i1.CacheService }, { type: i4.ZComponentService }]; }, propDecorators: { group: [{
59
- type: Input
60
- }], cssClass: [{
61
- type: Input
62
- }] } });
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWljb250ZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21taGdsb2JhbC1keW5hbWljZm9ybS9zcmMvbGliL3VpY29udGVudC91aWNvbnRlbnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvdWljb250ZW50L3VpY29udGVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQkFBK0I7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFZekQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7Ozs7Ozs7QUFTM0QsTUFBTSxPQUFPLGtCQUFrQjtJQUs3QixZQUNVLFlBQTBCLEVBQzFCLE1BQWMsRUFDZCxXQUF3QixFQUN4QixZQUEwQixFQUMxQixnQkFBbUM7UUFKbkMsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBbUI7UUFQdEMsb0NBQStCLEdBQUcsd0JBQXdCLENBQUMsZUFBZSxDQUFDO0lBUTlFLENBQUM7SUFFTCxRQUFRO1FBQ04sT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELGdCQUFnQjtRQUNkLGlFQUFpRTtRQUNqRSxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDdEUsQ0FBQztJQUVELGNBQWM7UUFDWixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxLQUFLLE9BQU8sQ0FBQztRQUN4QyxnQkFBZ0I7SUFDbEIsQ0FBQztJQUVELGNBQWM7UUFDWixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUNoRCxDQUFDO0lBRU0sY0FBYyxDQUFDLE9BQVk7UUFDaEMsSUFBSSxPQUFPLENBQUMsS0FBSyxFQUFFO1lBQ2pCLHFDQUFxQztZQUNyQyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxFQUFFO2dCQUMvQyxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsQ0FBQzthQUMvQztZQUVELElBQUksQ0FBQyxXQUFXLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztZQUV4QyxJQUFJLE9BQU8sQ0FBQyxVQUFVLEVBQUU7Z0JBQ3RCLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUNwRDtZQUVELElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztTQUNoRTtJQUNILENBQUM7OytHQTlDVSxrQkFBa0I7bUdBQWxCLGtCQUFrQix1R0N0Qi9CLHFnREE2QkE7MkZEUGEsa0JBQWtCO2tCQU45QixTQUFTOytCQUNFLGVBQWU7Nk1BTWhCLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyoqKioqKioqKiogQW5ndWxhciAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuXHJcbi8qKioqKioqKioqIElvbmljICoqKioqKioqKiovXHJcblxyXG4vKioqKioqKioqKiBQbHVnaW4gKioqKioqKioqKi9cclxuXHJcbi8qKioqKioqKioqIENvbXBvbmVudCAmIFNlcnZpY2UgKioqKioqKioqKi9cclxuLy8gaW1wb3J0IHsgWkNvbXBvbmVudERlYnVnU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3pjb21wb25lbnQuZGVidWcuc2VydmljZSc7XHJcbmltcG9ydCB7IE1haW5TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvbWFpbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgWkdyb3VwLCBaQ29yZVNlcnZpY2UsIENhY2hlU2VydmljZSB9IGZyb20gJ21taGdsb2JhbC16Y29yZSc7XHJcbmltcG9ydCB7IFpDb21wb25lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvemNvbXBvbmVudC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRGVidWdnZXJGaWVsZEVsZW1lbnROYW1lIH0gZnJvbSAnbW1oZ2xvYmFsLXpjb3JlJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC11aWNvbnRlbnQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi91aWNvbnRlbnQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3VpY29udGVudC5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIFVpY29udGVudENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgZ3JvdXA6IFpHcm91cDtcclxuICBASW5wdXQoKSBjc3NDbGFzczogc3RyaW5nO1xyXG4gIHB1YmxpYyBkZWJ1Z2dlclNlY3Rpb25GaWVsZEVsZW1lbnROYW1lID0gRGVidWdnZXJGaWVsZEVsZW1lbnROYW1lLkRlYnVnZ2VyU2VjdGlvbjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHpjb3JlU2VydmljZTogWkNvcmVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgIHByaXZhdGUgbWFpblNlcnZpY2U6IE1haW5TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjYWNoZVNlcnZpY2U6IENhY2hlU2VydmljZSxcclxuICAgIHByaXZhdGUgY29tcG9uZW50U2VydmljZTogWkNvbXBvbmVudFNlcnZpY2VcclxuICApIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGNvbnNvbGUubG9nKHRoaXMuZ3JvdXApO1xyXG4gIH1cclxuXHJcbiAgaXNTSVRFbnZpcm9ubWVudCgpIHtcclxuICAgIC8vIHJldHVybiBlbnZpcm9ubWVudC5lMU9hdXRoVXJsLnN0YXJ0c1dpdGgoJ2h0dHBzOi8vb2F1dGhkZXYuJyk7XHJcbiAgICByZXR1cm4gdGhpcy56Y29yZVNlcnZpY2UuaXNEZWJ1Z1Nlc3Npb24oKSAmJiAhdGhpcy5pc0ZpZWxkRWxlbWVudCgpO1xyXG4gIH1cclxuXHJcbiAgaXNGaWVsZEVsZW1lbnQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5ncm91cC5maWVsZE5hbWUgPT09ICdmaWVsZCc7XHJcbiAgICAvLyByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBpc01vYmlsZVNjcmVlbigpIHtcclxuICAgIHJldHVybiB0aGlzLmNvbXBvbmVudFNlcnZpY2UuaXNNb2JpbGVTY3JlZW4oKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbk5hdkl0ZW1DbGljayhuYXZJdGVtOiBhbnkpIHtcclxuICAgIGlmIChuYXZJdGVtLnJvdXRlKSB7XHJcbiAgICAgIC8vIGNsZWFyIGNsb25lTmV3TW9kZWwgY2FjaGUoaWYgaGF2ZSlcclxuICAgICAgaWYgKHRoaXMuY2FjaGVTZXJ2aWNlLmdldENhY2hlKFwiY2xvbmVOZXdNb2RlbFwiKSkge1xyXG4gICAgICAgIHRoaXMuY2FjaGVTZXJ2aWNlLmNsZWFyQ2FjaGUoXCJjbG9uZU5ld01vZGVsXCIpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLm1haW5TZXJ2aWNlLnJlbW92ZUxhc3RSb3V0ZVBhcmFtKCk7XHJcblxyXG4gICAgICBpZiAobmF2SXRlbS5yb3V0ZVBhcmFtKSB7XHJcbiAgICAgICAgdGhpcy5tYWluU2VydmljZS5zZXRSb3V0ZVBhcmFtKG5hdkl0ZW0ucm91dGVQYXJhbSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwobmF2SXRlbS5yb3V0ZSwgeyByZXBsYWNlVXJsOiB0cnVlIH0pO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2ICpuZ0lmPVwiZ3JvdXAuaXNMb2FkaW5nXCIgY2xhc3M9XCJzcGlubmVyLWNvbnRhaW5lclwiPlxyXG4gIDxhcHAtcGFnZS1sb2FkZXI+PC9hcHAtcGFnZS1sb2FkZXI+XHJcbjwvZGl2PlxyXG48aW9uLWdyaWQgW2NsYXNzXT1cImNzc0NsYXNzXCI+XHJcbiAgPGlvbi1yb3cgKm5nSWY9XCIhZ3JvdXAuaXNMb2FkaW5nICYmICFpc01vYmlsZVNjcmVlbigpICYmIGdyb3VwICYmIGdyb3VwLm5hdkl0ZW1zXCI+XHJcbiAgICA8a2VuZG8tYnJlYWRjcnVtYiBbaXRlbXNdPVwiZ3JvdXAubmF2SXRlbXNcIiBjbGFzcz1cIm5hdi1iYXJcIiAoaXRlbUNsaWNrKT1cIm9uTmF2SXRlbUNsaWNrKCRldmVudClcIj5cclxuICAgICAgPG5nLXRlbXBsYXRlIGtlbmRvQnJlYWRDcnVtYkl0ZW1UZW1wbGF0ZSBsZXQtaXRlbSBsZXQtaW5kZXg9XCJpbmRleFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJuYXYtYmFyLWl0ZW1cIiBbY2xhc3MuY3VycmVudF09XCIhaXRlbS5yb3V0ZVwiPlxyXG4gICAgICAgICAgPGZhLWljb24gKm5nSWY9XCJpdGVtLmljb25cIiBbaWNvbl09XCJpdGVtLmljb25cIiBjbGFzcz1cInpjYXJkLWhlYWRlci1pY29uXCJcclxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieydpY29uLXdpdGgtdGV4dCc6IGl0ZW0udGV4dH1cIj48L2ZhLWljb24+XHJcbiAgICAgICAgICA8c3Bhbj57eyBpdGVtLnRleHQgfX08L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8L2tlbmRvLWJyZWFkY3J1bWI+XHJcbiAgPC9pb24tcm93PlxyXG4gIDxpb24tcm93ICpuZ0lmPVwiIWdyb3VwLmlzTG9hZGluZ1wiIGNsYXNzPVwibWFpbi1jb250ZW50LXJvd1wiPlxyXG4gICAgPGlvbi1jb2wgY2xhc3M9XCJtYWluLWNvbnRlbnQtY29sXCI+XHJcbiAgICAgIDxhcHAtemZvcm0gW2dyb3VwXT1cImdyb3VwXCI+PC9hcHAtemZvcm0+XHJcbiAgICA8L2lvbi1jb2w+XHJcbiAgICA8IS0tIDxwcmUgc3R5bGU9XCJmb250LXNpemU6IHgtc21hbGw7XCI+e3tncm91cC56TW9kZWwgfCBqc29ufX08L3ByZT4gLS0+XHJcbiAgPC9pb24tcm93PlxyXG4gIDxpb24tcm93ICpuZ0lmPVwiaXNTSVRFbnZpcm9ubWVudCgpICYmICFncm91cC5pc0xvYWRpbmdcIiBzdHlsZT1cInBhZGRpbmctdG9wOiA1MHB4O1wiIGNsYXNzPVwibWFpbi1jb250ZW50LXJvdyBzdHlsZTFcIj5cclxuICAgIDxpb24tY29sIGNsYXNzPVwibWFpbi1jb250ZW50LWNvbFwiPlxyXG4gICAgICA8YXBwLXpmb3JtIFtncm91cF09XCJncm91cFwiIFtmaWVsZE5hbWVdPVwiZGVidWdnZXJTZWN0aW9uRmllbGRFbGVtZW50TmFtZVwiPjwvYXBwLXpmb3JtPlxyXG4gICAgPC9pb24tY29sPlxyXG4gIDwvaW9uLXJvdz5cclxuICA8IS0tIHJlcXVpcmUgZm9yIG1vYmlsZSBzY3JlZW4gLS0+XHJcbiAgPGRpdiAqbmdJZj1cIiFpc1NJVEVudmlyb25tZW50KCkgJiYgIWdyb3VwLmlzTG9hZGluZyAmJiBpc01vYmlsZVNjcmVlbigpXCIgc3R5bGU9XCJoZWlnaHQ6IDE1MHB4O1wiPjwvZGl2PlxyXG48L2lvbi1ncmlkPlxyXG4iXX0=
@@ -1,116 +0,0 @@
1
- /********** Angular **********/ import { Component, Input } from "@angular/core";
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/router";
4
- import * as i2 from "mmhglobal-zcore";
5
- import * as i3 from "../services/zcomponent.service";
6
- import * as i4 from "./uiheader.service";
7
- import * as i5 from "@ionic/angular";
8
- import * as i6 from "../uimenubutton/uimenubutton.component";
9
- import * as i7 from "../uibulletin/uibulletin.component";
10
- import * as i8 from "@progress/kendo-angular-buttons";
11
- import * as i9 from "@progress/kendo-angular-layout";
12
- import * as i10 from "@fortawesome/angular-fontawesome";
13
- import * as i11 from "../uiactionbutton/uiactionbutton.component";
14
- import * as i12 from "@angular/common";
15
- export class UiheaderComponent {
16
- // backNavigate = null;
17
- constructor(router, zcoreService, authService, fontAweSomeService, componentService, uiHeaderService) {
18
- this.router = router;
19
- this.zcoreService = zcoreService;
20
- this.authService = authService;
21
- this.fontAweSomeService = fontAweSomeService;
22
- this.componentService = componentService;
23
- this.uiHeaderService = uiHeaderService;
24
- this.isloading = true;
25
- this.showBulletinIcon = false;
26
- this.userPanelItems = [
27
- {
28
- icon: 'user',
29
- text: "Profile",
30
- onClick: this.navToUserProfile.bind(this),
31
- },
32
- {
33
- icon: 'sign-out-alt',
34
- text: "Log Out",
35
- onClick: this.navLogout.bind(this),
36
- }
37
- ];
38
- this.loadedEnvironmentProfileMenu = false;
39
- }
40
- ;
41
- ngOnInit() {
42
- this.isloading = true;
43
- this.environment = this.zcoreService.getEnvironment();
44
- if (this.environment.profileMenu && this.environment.profileMenu.length > 0 && !this.loadedEnvironmentProfileMenu) {
45
- // Based on the text characters, might required width adjustment for user-panel-dial.k-fab-items in global.scss.
46
- this.environment.profileMenu.forEach(item => {
47
- const newItem = {
48
- icon: item.icon,
49
- text: item.text,
50
- onClick: () => {
51
- this.router.navigateByUrl(item.url);
52
- }
53
- };
54
- this.userPanelItems.splice(0, 0, newItem);
55
- });
56
- this.loadedEnvironmentProfileMenu = true;
57
- }
58
- this.authService.userIsAuthenticated.subscribe(isAuth => {
59
- if (isAuth) {
60
- this.setUserProfile();
61
- this.uiHeaderService.getTranslatedUserMenu(this.group, this.userPanelItems).subscribe(resp => {
62
- if (resp && resp.length > 0) {
63
- this.userPanelItems = resp;
64
- }
65
- });
66
- this.showBulletinIcon = this.zcoreService.getEnvironment().bulletinUrl ? true : false;
67
- }
68
- this.isloading = false;
69
- });
70
- }
71
- setUserProfile() {
72
- if (this.authService.e1Token) {
73
- const _myProfile = this.authService.e1Token.myProfile;
74
- if (_myProfile) {
75
- this.username = _myProfile.UserName;
76
- this.userDisplayName = _myProfile.LastName;
77
- this.usernameInitial = this.authService.getUsernameInitial();
78
- this.authService.getUserProfileImage().subscribe(img => { this.profileImgUrl = img; });
79
- }
80
- }
81
- }
82
- onDialItemClick(event) {
83
- if (event.item.onClick) {
84
- event.item.onClick();
85
- }
86
- }
87
- navToUserProfile() {
88
- this.router.navigateByUrl('/userProfile');
89
- }
90
- navLogout() {
91
- this.authService.logout();
92
- this.router.navigateByUrl('/auth');
93
- }
94
- navHome() {
95
- this.router.navigateByUrl(this.environment.startUpPage.replace("_", ""));
96
- }
97
- isMobileScreen() {
98
- return this.componentService.isMobileScreen();
99
- }
100
- onNavItemClick(navItem) {
101
- if (navItem.route) {
102
- this.router.navigateByUrl(navItem.route);
103
- }
104
- }
105
- }
106
- UiheaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: UiheaderComponent, deps: [{ token: i1.Router }, { token: i2.ZCoreService }, { token: i2.AuthService }, { token: i2.FontAweSomeService }, { token: i3.ZComponentService }, { token: i4.UiheaderService }], target: i0.ɵɵFactoryTarget.Component });
107
- UiheaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.3", type: UiheaderComponent, selector: "app-uiheader", inputs: { group: "group", topFormHeader: "topFormHeader" }, ngImport: i0, template: "<ion-header>\r\n <ion-toolbar>\r\n <div class=\"toolbar-container\" *ngIf=\"!isloading\">\r\n <div class=\"toolbar-first-row\">\r\n <app-uimenubutton slot=\"start\" [group]=\"group\"></app-uimenubutton>\r\n\r\n <ion-title class=\"toolbar-title\">\r\n <div *ngIf=\"topFormHeader || (group && !group.isLoading && group.formHeader)\">\r\n <ion-label class=\"toolbar-title-label\">{{ topFormHeader ? topFormHeader : group.formHeader }}</ion-label>\r\n </div>\r\n </ion-title>\r\n\r\n <div slot=\"end\" *ngIf=\"!isMobileScreen()\" class=\"end-panel hoverable\">\r\n <app-uibulletin *ngIf=\"showBulletinIcon\" [group]=\"group\"></app-uibulletin>\r\n <div class=\"profile-vl\" *ngIf=\"showBulletinIcon\"></div>\r\n\r\n <kendo-floatingactionbutton [dialItems]=\"userPanelItems\" [offset]=\"{x:'-5px', y:'-5px'}\"\r\n [align]=\"{ vertical: 'top', horizontal: 'end' }\" [dialItemAnimation]=true buttonClass=\"user-panel-button\"\r\n dialClass=\"user-panel-dial\" (dialItemClick)=\"onDialItemClick($event)\">\r\n <ng-template kendoFloatingActionButtonTemplate>\r\n <kendo-avatar *ngIf=\"!!profileImgUrl\" shape=\"circle\" [imageSrc]=\"profileImgUrl\"></kendo-avatar>\r\n <ng-container *ngIf=\"!profileImgUrl\">\r\n <kendo-avatar *ngIf=\"!!usernameInitial\" class=\"username-initial-avatar\" shape=\"circle\" [initials]=\"usernameInitial\"></kendo-avatar>\r\n <kendo-avatar *ngIf=\"!usernameInitial\" class=\"username-initial-avatar\" shape=\"circle\" icon=\"user\"></kendo-avatar>\r\n </ng-container>\r\n <ion-label class=\"profile-username\">{{ userDisplayName }}</ion-label>\r\n </ng-template>\r\n <ng-template kendoDialItemTemplate let-item let-isFocused=\"isFocused\">\r\n <span [class.custom-focused-class]=\"isFocused\" class=\"user-panel-item\">\r\n <fa-icon [icon]=\"item.icon\" class=\"user-panel-item-icon\"></fa-icon>\r\n <span class=\"user-panel-option-text\">{{ item.text }}</span>\r\n </span>\r\n </ng-template>\r\n </kendo-floatingactionbutton>\r\n </div>\r\n <div *ngIf=\"group && isMobileScreen()\">\r\n <ion-buttons slot=\"primary\" *ngIf=\"!group.isLoading\">\r\n <app-uiactionbutton [group]=\"group\"></app-uiactionbutton>\r\n </ion-buttons>\r\n </div>\r\n </div>\r\n\r\n <!-- Design 1 -->\r\n <!-- <div class=\"toolbar-second-row\" *ngIf=\"!isMobileScreen() && group && group.navItems\">\r\n <div class=\"nav-bar-container\">\r\n <kendo-breadcrumb [items]=\"group.navItems\" class=\"nav-bar\" (itemClick)=\"onNavItemClick($event)\">\r\n <ng-template kendoBreadCrumbItemTemplate let-item let-index=\"index\">\r\n <div class=\"nav-bar-item\" [class.current]=\"!item.route\">\r\n <fa-icon [icon]=\"item.icon\" class=\"zcard-header-icon\"></fa-icon>\r\n <span>{{ item.text }}</span>\r\n </div>\r\n </ng-template>\r\n </kendo-breadcrumb>\r\n </div>\r\n </div> -->\r\n <!-- Design 2 -->\r\n <!-- <div class=\"toolbar-second-row\" *ngIf=\"!isMobileScreen() && group && group.navItems\">\r\n <kendo-breadcrumb [items]=\"group.navItems\" class=\"nav-bar\" (itemClick)=\"onNavItemClick($event)\">\r\n <ng-template kendoBreadCrumbItemTemplate let-item let-index=\"index\">\r\n <div class=\"nav-bar-item\" [class.current]=\"!item.route\">\r\n <fa-icon *ngIf=\"item.icon\" [icon]=\"item.icon\" class=\"zcard-header-icon\" [ngClass]=\"{'icon-with-text': item.text}\"></fa-icon>\r\n <span>{{ item.text }}</span>\r\n </div>\r\n </ng-template>\r\n </kendo-breadcrumb>\r\n </div> -->\r\n </div>\r\n </ion-toolbar>\r\n</ion-header>\r\n", styles: ["ion-toolbar{--background: var(--ion-color-primary-shade);--color: var(--ion-color-primary-contrast);--min-height: var(--ion-header-height);box-shadow:0 2px 9px #ababab}app-uimenubutton{margin:auto}.toolbar-first-row{display:flex}.toolbar-second-row{margin-left:50px}.end-panel{display:flex;align-items:stretch;cursor:pointer}.username-initial-avatar{background:var(--ion-color-primary-contrast);color:var(--ion-color-primary)}.profile-username{padding-right:10px;margin:auto auto auto 15px;font-size:var(--page-user-profile-font-size)}.toolbar-title-label{text-shadow:.5px .5px rgba(255,255,255,.48);font-size:var(--page-title-font-size)}.toolbar-title{margin-bottom:2px}.hoverable:hover{background:#ffffff24}:host ::ng-deep kendo-floatingactionbutton{max-height:60px;border-radius:10px}:host ::ng-deep kendo-floatingactionbutton .user-panel-button{background:transparent!important;border:none!important;outline:none}:host ::ng-deep kendo-floatingactionbutton:hover{background:rgba(0,0,0,.3)}:host ::ng-deep kendo-floatingactionbutton .k-fab{box-shadow:none;padding:12px}:host ::ng-deep kendo-floatingactionbutton .k-avatar-md{width:var(--ion-header-avatar-size);height:var(--ion-header-avatar-size);flex-basis:var(--ion-header-avatar-size)}\n"], components: [{ type: i5.IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { type: i5.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { type: i6.UimenubuttonComponent, selector: "app-uimenubutton", inputs: ["group"] }, { type: i5.IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { type: i5.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { type: i7.UibulletinComponent, selector: "app-uibulletin", inputs: ["group"] }, { type: i8.FloatingActionButtonComponent, selector: "kendo-floatingactionbutton", inputs: ["themeColor", "size", "rounded", "disabled", "align", "offset", "positionMode", "icon", "iconClass", "buttonClass", "dialClass", "text", "dialItemAnimation", "tabIndex", "dialItems"], outputs: ["blur", "focus", "dialItemClick", "open", "close"] }, { type: i9.AvatarComponent, selector: "kendo-avatar", inputs: ["shape", "size", "rounded", "themeColor", "fillMode", "fill", "border", "iconClass", "width", "height", "cssStyle", "initials", "icon", "imageSrc"] }, { type: i10.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { type: i5.IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { type: i11.UiactionbuttonComponent, selector: "app-uiactionbutton" }], directives: [{ type: i12.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.FloatingActionButtonTemplateDirective, selector: "[kendoFloatingActionButtonTemplate]" }, { type: i8.DialItemTemplateDirective, selector: "[kendoDialItemTemplate]" }] });
108
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: UiheaderComponent, decorators: [{
109
- type: Component,
110
- args: [{ selector: "app-uiheader", template: "<ion-header>\r\n <ion-toolbar>\r\n <div class=\"toolbar-container\" *ngIf=\"!isloading\">\r\n <div class=\"toolbar-first-row\">\r\n <app-uimenubutton slot=\"start\" [group]=\"group\"></app-uimenubutton>\r\n\r\n <ion-title class=\"toolbar-title\">\r\n <div *ngIf=\"topFormHeader || (group && !group.isLoading && group.formHeader)\">\r\n <ion-label class=\"toolbar-title-label\">{{ topFormHeader ? topFormHeader : group.formHeader }}</ion-label>\r\n </div>\r\n </ion-title>\r\n\r\n <div slot=\"end\" *ngIf=\"!isMobileScreen()\" class=\"end-panel hoverable\">\r\n <app-uibulletin *ngIf=\"showBulletinIcon\" [group]=\"group\"></app-uibulletin>\r\n <div class=\"profile-vl\" *ngIf=\"showBulletinIcon\"></div>\r\n\r\n <kendo-floatingactionbutton [dialItems]=\"userPanelItems\" [offset]=\"{x:'-5px', y:'-5px'}\"\r\n [align]=\"{ vertical: 'top', horizontal: 'end' }\" [dialItemAnimation]=true buttonClass=\"user-panel-button\"\r\n dialClass=\"user-panel-dial\" (dialItemClick)=\"onDialItemClick($event)\">\r\n <ng-template kendoFloatingActionButtonTemplate>\r\n <kendo-avatar *ngIf=\"!!profileImgUrl\" shape=\"circle\" [imageSrc]=\"profileImgUrl\"></kendo-avatar>\r\n <ng-container *ngIf=\"!profileImgUrl\">\r\n <kendo-avatar *ngIf=\"!!usernameInitial\" class=\"username-initial-avatar\" shape=\"circle\" [initials]=\"usernameInitial\"></kendo-avatar>\r\n <kendo-avatar *ngIf=\"!usernameInitial\" class=\"username-initial-avatar\" shape=\"circle\" icon=\"user\"></kendo-avatar>\r\n </ng-container>\r\n <ion-label class=\"profile-username\">{{ userDisplayName }}</ion-label>\r\n </ng-template>\r\n <ng-template kendoDialItemTemplate let-item let-isFocused=\"isFocused\">\r\n <span [class.custom-focused-class]=\"isFocused\" class=\"user-panel-item\">\r\n <fa-icon [icon]=\"item.icon\" class=\"user-panel-item-icon\"></fa-icon>\r\n <span class=\"user-panel-option-text\">{{ item.text }}</span>\r\n </span>\r\n </ng-template>\r\n </kendo-floatingactionbutton>\r\n </div>\r\n <div *ngIf=\"group && isMobileScreen()\">\r\n <ion-buttons slot=\"primary\" *ngIf=\"!group.isLoading\">\r\n <app-uiactionbutton [group]=\"group\"></app-uiactionbutton>\r\n </ion-buttons>\r\n </div>\r\n </div>\r\n\r\n <!-- Design 1 -->\r\n <!-- <div class=\"toolbar-second-row\" *ngIf=\"!isMobileScreen() && group && group.navItems\">\r\n <div class=\"nav-bar-container\">\r\n <kendo-breadcrumb [items]=\"group.navItems\" class=\"nav-bar\" (itemClick)=\"onNavItemClick($event)\">\r\n <ng-template kendoBreadCrumbItemTemplate let-item let-index=\"index\">\r\n <div class=\"nav-bar-item\" [class.current]=\"!item.route\">\r\n <fa-icon [icon]=\"item.icon\" class=\"zcard-header-icon\"></fa-icon>\r\n <span>{{ item.text }}</span>\r\n </div>\r\n </ng-template>\r\n </kendo-breadcrumb>\r\n </div>\r\n </div> -->\r\n <!-- Design 2 -->\r\n <!-- <div class=\"toolbar-second-row\" *ngIf=\"!isMobileScreen() && group && group.navItems\">\r\n <kendo-breadcrumb [items]=\"group.navItems\" class=\"nav-bar\" (itemClick)=\"onNavItemClick($event)\">\r\n <ng-template kendoBreadCrumbItemTemplate let-item let-index=\"index\">\r\n <div class=\"nav-bar-item\" [class.current]=\"!item.route\">\r\n <fa-icon *ngIf=\"item.icon\" [icon]=\"item.icon\" class=\"zcard-header-icon\" [ngClass]=\"{'icon-with-text': item.text}\"></fa-icon>\r\n <span>{{ item.text }}</span>\r\n </div>\r\n </ng-template>\r\n </kendo-breadcrumb>\r\n </div> -->\r\n </div>\r\n </ion-toolbar>\r\n</ion-header>\r\n", styles: ["ion-toolbar{--background: var(--ion-color-primary-shade);--color: var(--ion-color-primary-contrast);--min-height: var(--ion-header-height);box-shadow:0 2px 9px #ababab}app-uimenubutton{margin:auto}.toolbar-first-row{display:flex}.toolbar-second-row{margin-left:50px}.end-panel{display:flex;align-items:stretch;cursor:pointer}.username-initial-avatar{background:var(--ion-color-primary-contrast);color:var(--ion-color-primary)}.profile-username{padding-right:10px;margin:auto auto auto 15px;font-size:var(--page-user-profile-font-size)}.toolbar-title-label{text-shadow:.5px .5px rgba(255,255,255,.48);font-size:var(--page-title-font-size)}.toolbar-title{margin-bottom:2px}.hoverable:hover{background:#ffffff24}:host ::ng-deep kendo-floatingactionbutton{max-height:60px;border-radius:10px}:host ::ng-deep kendo-floatingactionbutton .user-panel-button{background:transparent!important;border:none!important;outline:none}:host ::ng-deep kendo-floatingactionbutton:hover{background:rgba(0,0,0,.3)}:host ::ng-deep kendo-floatingactionbutton .k-fab{box-shadow:none;padding:12px}:host ::ng-deep kendo-floatingactionbutton .k-avatar-md{width:var(--ion-header-avatar-size);height:var(--ion-header-avatar-size);flex-basis:var(--ion-header-avatar-size)}\n"] }]
111
- }], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.ZCoreService }, { type: i2.AuthService }, { type: i2.FontAweSomeService }, { type: i3.ZComponentService }, { type: i4.UiheaderService }]; }, propDecorators: { group: [{
112
- type: Input
113
- }], topFormHeader: [{
114
- type: Input
115
- }] } });
116
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWloZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvdWloZWFkZXIvdWloZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvdWloZWFkZXIvdWloZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0JBQStCLENBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7Ozs7Ozs7O0FBc0J4RixNQUFNLE9BQU8saUJBQWlCO0lBd0I1Qix1QkFBdUI7SUFFdkIsWUFDVSxNQUFjLEVBQ2QsWUFBMEIsRUFDMUIsV0FBd0IsRUFDekIsa0JBQXNDLEVBQ3JDLGdCQUFtQyxFQUNuQyxlQUFnQztRQUxoQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDekIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUNyQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQW1CO1FBQ25DLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQTNCbkMsY0FBUyxHQUFHLElBQUksQ0FBQztRQUtqQixxQkFBZ0IsR0FBWSxLQUFLLENBQUM7UUFDbEMsbUJBQWMsR0FBUTtZQUMzQjtnQkFDRSxJQUFJLEVBQUUsTUFBTTtnQkFDWixJQUFJLEVBQUUsU0FBUztnQkFDZixPQUFPLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7YUFDMUM7WUFDRDtnQkFDRSxJQUFJLEVBQUUsY0FBYztnQkFDcEIsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsT0FBTyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQzthQUNuQztTQUNGLENBQUM7UUFDTSxpQ0FBNEIsR0FBWSxLQUFLLENBQUM7SUFVbEQsQ0FBQztJQTVCbUIsQ0FBQztJQThCekIsUUFBUTtRQUNOLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUV0RCxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsNEJBQTRCLEVBQUU7WUFDakgsZ0hBQWdIO1lBQ2hILElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDMUMsTUFBTSxPQUFPLEdBQUc7b0JBQ2QsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO29CQUNmLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtvQkFDZixPQUFPLEVBQUUsR0FBRyxFQUFFO3dCQUNaLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDdEMsQ0FBQztpQkFDRixDQUFDO2dCQUVGLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDNUMsQ0FBQyxDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsNEJBQTRCLEdBQUcsSUFBSSxDQUFDO1NBQzFDO1FBRUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDdEQsSUFBSSxNQUFNLEVBQUU7Z0JBQ1YsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUN0QixJQUFJLENBQUMsZUFBZSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRTtvQkFDM0YsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7d0JBQzNCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO3FCQUM1QjtnQkFDSCxDQUFDLENBQUMsQ0FBQztnQkFDSCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO2FBQ3ZGO1lBQ0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sY0FBYztRQUNwQixJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFO1lBQzVCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQztZQUN0RCxJQUFJLFVBQVUsRUFBRTtnQkFDZCxJQUFJLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUM7Z0JBQ3BDLElBQUksQ0FBQyxlQUFlLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQztnQkFDM0MsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGtCQUFrQixFQUFFLENBQUM7Z0JBQzdELElBQUksQ0FBQyxXQUFXLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsYUFBYSxHQUFHLEdBQUcsQ0FBQSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ3ZGO1NBQ0Y7SUFDSCxDQUFDO0lBRU0sZUFBZSxDQUFDLEtBQVU7UUFDL0IsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUN0QixLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQ3RCO0lBQ0gsQ0FBQztJQUVPLGdCQUFnQjtRQUN0QixJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRU8sU0FBUztRQUNmLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVNLE9BQU87UUFDWixJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVNLGNBQWM7UUFDbkIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDaEQsQ0FBQztJQUVNLGNBQWMsQ0FBQyxPQUFZO1FBQ2hDLElBQUksT0FBTyxDQUFDLEtBQUssRUFBRTtZQUNqQixJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDMUM7SUFDSCxDQUFDOzs4R0E1R1UsaUJBQWlCO2tHQUFqQixpQkFBaUIsZ0hDdEI5QixpK0hBcUVBOzJGRC9DYSxpQkFBaUI7a0JBTjdCLFNBQVM7K0JBQ0UsY0FBYztpUEFNZixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qKioqKioqKioqIEFuZ3VsYXIgKioqKioqKioqKi9pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5cclxuLyoqKioqKioqKiogSW9uaWMgKioqKioqKioqKi9cclxuXHJcbi8qKioqKioqKioqIFBsdWdpbiAqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKiogQ29tcG9uZW50ICYgU2VydmljZSAqKioqKioqKioqL1xyXG5pbXBvcnQge1xyXG4gIFpDb3JlU2VydmljZSwgQXV0aFNlcnZpY2UsIEZvbnRBd2VTb21lU2VydmljZSxcclxuICBaR3JvdXBcclxufSBmcm9tICdtbWhnbG9iYWwtemNvcmUnO1xyXG5pbXBvcnQgeyBaQ29tcG9uZW50U2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy96Y29tcG9uZW50LnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgVWloZWFkZXJTZXJ2aWNlIH0gZnJvbSBcIi4vdWloZWFkZXIuc2VydmljZVwiO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImFwcC11aWhlYWRlclwiLFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4vdWloZWFkZXIuY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybHM6IFtcIi4vdWloZWFkZXIuY29tcG9uZW50LnNjc3NcIl1cclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBVaWhlYWRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgZ3JvdXA6IFpHcm91cDtcclxuICBASW5wdXQoKSB0b3BGb3JtSGVhZGVyOiBzdHJpbmc7XHJcblxyXG4gIHByaXZhdGUgZW52aXJvbm1lbnQ7XHJcbiAgcHVibGljIGlzbG9hZGluZyA9IHRydWU7O1xyXG4gIHB1YmxpYyBwcm9maWxlSW1nVXJsOiBzdHJpbmc7XHJcbiAgcHVibGljIHVzZXJuYW1lSW5pdGlhbDogc3RyaW5nO1xyXG4gIHB1YmxpYyB1c2VybmFtZTogc3RyaW5nO1xyXG4gIHB1YmxpYyB1c2VyRGlzcGxheU5hbWU6IHN0cmluZztcclxuICBwdWJsaWMgc2hvd0J1bGxldGluSWNvbjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyB1c2VyUGFuZWxJdGVtczogYW55ID0gW1xyXG4gICAge1xyXG4gICAgICBpY29uOiAndXNlcicsXHJcbiAgICAgIHRleHQ6IFwiUHJvZmlsZVwiLFxyXG4gICAgICBvbkNsaWNrOiB0aGlzLm5hdlRvVXNlclByb2ZpbGUuYmluZCh0aGlzKSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGljb246ICdzaWduLW91dC1hbHQnLFxyXG4gICAgICB0ZXh0OiBcIkxvZyBPdXRcIixcclxuICAgICAgb25DbGljazogdGhpcy5uYXZMb2dvdXQuYmluZCh0aGlzKSxcclxuICAgIH1cclxuICBdO1xyXG4gIHByaXZhdGUgbG9hZGVkRW52aXJvbm1lbnRQcm9maWxlTWVudTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIC8vIGJhY2tOYXZpZ2F0ZSA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgIHByaXZhdGUgemNvcmVTZXJ2aWNlOiBaQ29yZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSxcclxuICAgIHB1YmxpYyBmb250QXdlU29tZVNlcnZpY2U6IEZvbnRBd2VTb21lU2VydmljZSxcclxuICAgIHByaXZhdGUgY29tcG9uZW50U2VydmljZTogWkNvbXBvbmVudFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHVpSGVhZGVyU2VydmljZTogVWloZWFkZXJTZXJ2aWNlLFxyXG4gICkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5pc2xvYWRpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5lbnZpcm9ubWVudCA9IHRoaXMuemNvcmVTZXJ2aWNlLmdldEVudmlyb25tZW50KCk7XHJcblxyXG4gICAgaWYgKHRoaXMuZW52aXJvbm1lbnQucHJvZmlsZU1lbnUgJiYgdGhpcy5lbnZpcm9ubWVudC5wcm9maWxlTWVudS5sZW5ndGggPiAwICYmICF0aGlzLmxvYWRlZEVudmlyb25tZW50UHJvZmlsZU1lbnUpIHtcclxuICAgICAgLy8gQmFzZWQgb24gdGhlIHRleHQgY2hhcmFjdGVycywgbWlnaHQgcmVxdWlyZWQgd2lkdGggYWRqdXN0bWVudCBmb3IgdXNlci1wYW5lbC1kaWFsLmstZmFiLWl0ZW1zIGluIGdsb2JhbC5zY3NzLlxyXG4gICAgICB0aGlzLmVudmlyb25tZW50LnByb2ZpbGVNZW51LmZvckVhY2goaXRlbSA9PiB7XHJcbiAgICAgICAgY29uc3QgbmV3SXRlbSA9IHtcclxuICAgICAgICAgIGljb246IGl0ZW0uaWNvbixcclxuICAgICAgICAgIHRleHQ6IGl0ZW0udGV4dCxcclxuICAgICAgICAgIG9uQ2xpY2s6ICgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybChpdGVtLnVybCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgdGhpcy51c2VyUGFuZWxJdGVtcy5zcGxpY2UoMCwgMCwgbmV3SXRlbSk7XHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLmxvYWRlZEVudmlyb25tZW50UHJvZmlsZU1lbnUgPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuYXV0aFNlcnZpY2UudXNlcklzQXV0aGVudGljYXRlZC5zdWJzY3JpYmUoaXNBdXRoID0+IHtcclxuICAgICAgaWYgKGlzQXV0aCkge1xyXG4gICAgICAgIHRoaXMuc2V0VXNlclByb2ZpbGUoKTtcclxuICAgICAgICB0aGlzLnVpSGVhZGVyU2VydmljZS5nZXRUcmFuc2xhdGVkVXNlck1lbnUodGhpcy5ncm91cCwgdGhpcy51c2VyUGFuZWxJdGVtcykuc3Vic2NyaWJlKHJlc3AgPT4ge1xyXG4gICAgICAgICAgaWYgKHJlc3AgJiYgcmVzcC5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMudXNlclBhbmVsSXRlbXMgPSByZXNwO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuc2hvd0J1bGxldGluSWNvbiA9IHRoaXMuemNvcmVTZXJ2aWNlLmdldEVudmlyb25tZW50KCkuYnVsbGV0aW5VcmwgPyB0cnVlIDogZmFsc2U7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5pc2xvYWRpbmcgPSBmYWxzZTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRVc2VyUHJvZmlsZSgpIHtcclxuICAgIGlmICh0aGlzLmF1dGhTZXJ2aWNlLmUxVG9rZW4pIHtcclxuICAgICAgY29uc3QgX215UHJvZmlsZSA9IHRoaXMuYXV0aFNlcnZpY2UuZTFUb2tlbi5teVByb2ZpbGU7XHJcbiAgICAgIGlmIChfbXlQcm9maWxlKSB7XHJcbiAgICAgICAgdGhpcy51c2VybmFtZSA9IF9teVByb2ZpbGUuVXNlck5hbWU7XHJcbiAgICAgICAgdGhpcy51c2VyRGlzcGxheU5hbWUgPSBfbXlQcm9maWxlLkxhc3ROYW1lO1xyXG4gICAgICAgIHRoaXMudXNlcm5hbWVJbml0aWFsID0gdGhpcy5hdXRoU2VydmljZS5nZXRVc2VybmFtZUluaXRpYWwoKTtcclxuICAgICAgICB0aGlzLmF1dGhTZXJ2aWNlLmdldFVzZXJQcm9maWxlSW1hZ2UoKS5zdWJzY3JpYmUoaW1nID0+IHsgdGhpcy5wcm9maWxlSW1nVXJsID0gaW1nIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25EaWFsSXRlbUNsaWNrKGV2ZW50OiBhbnkpOiB2b2lkIHtcclxuICAgIGlmIChldmVudC5pdGVtLm9uQ2xpY2spIHtcclxuICAgICAgZXZlbnQuaXRlbS5vbkNsaWNrKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG5hdlRvVXNlclByb2ZpbGUoKSB7XHJcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKCcvdXNlclByb2ZpbGUnKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgbmF2TG9nb3V0KCkge1xyXG4gICAgdGhpcy5hdXRoU2VydmljZS5sb2dvdXQoKTtcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoJy9hdXRoJyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmF2SG9tZSgpIHtcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwodGhpcy5lbnZpcm9ubWVudC5zdGFydFVwUGFnZS5yZXBsYWNlKFwiX1wiLCBcIlwiKSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaXNNb2JpbGVTY3JlZW4oKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jb21wb25lbnRTZXJ2aWNlLmlzTW9iaWxlU2NyZWVuKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25OYXZJdGVtQ2xpY2sobmF2SXRlbTogYW55KSB7XHJcbiAgICBpZiAobmF2SXRlbS5yb3V0ZSkge1xyXG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKG5hdkl0ZW0ucm91dGUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gVG8gc3RpbXVsYXRlIG5ldmVyIGNsb3NlXHJcbiAgLy8gcHVibGljIG9uQ2xvc2UoZXZlbnQ6IGFueSk6IHZvaWQge1xyXG4gIC8vICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAvLyB9XHJcbn1cclxuIiwiPGlvbi1oZWFkZXI+XHJcbiAgPGlvbi10b29sYmFyPlxyXG4gICAgPGRpdiBjbGFzcz1cInRvb2xiYXItY29udGFpbmVyXCIgKm5nSWY9XCIhaXNsb2FkaW5nXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0b29sYmFyLWZpcnN0LXJvd1wiPlxyXG4gICAgICAgIDxhcHAtdWltZW51YnV0dG9uIHNsb3Q9XCJzdGFydFwiIFtncm91cF09XCJncm91cFwiPjwvYXBwLXVpbWVudWJ1dHRvbj5cclxuXHJcbiAgICAgICAgPGlvbi10aXRsZSBjbGFzcz1cInRvb2xiYXItdGl0bGVcIj5cclxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJ0b3BGb3JtSGVhZGVyIHx8IChncm91cCAmJiAhZ3JvdXAuaXNMb2FkaW5nICYmIGdyb3VwLmZvcm1IZWFkZXIpXCI+XHJcbiAgICAgICAgICAgIDxpb24tbGFiZWwgY2xhc3M9XCJ0b29sYmFyLXRpdGxlLWxhYmVsXCI+e3sgdG9wRm9ybUhlYWRlciA/IHRvcEZvcm1IZWFkZXIgOiBncm91cC5mb3JtSGVhZGVyIH19PC9pb24tbGFiZWw+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2lvbi10aXRsZT5cclxuXHJcbiAgICAgICAgPGRpdiBzbG90PVwiZW5kXCIgKm5nSWY9XCIhaXNNb2JpbGVTY3JlZW4oKVwiIGNsYXNzPVwiZW5kLXBhbmVsIGhvdmVyYWJsZVwiPlxyXG4gICAgICAgICAgPGFwcC11aWJ1bGxldGluICpuZ0lmPVwic2hvd0J1bGxldGluSWNvblwiIFtncm91cF09XCJncm91cFwiPjwvYXBwLXVpYnVsbGV0aW4+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJvZmlsZS12bFwiICpuZ0lmPVwic2hvd0J1bGxldGluSWNvblwiPjwvZGl2PlxyXG5cclxuICAgICAgICAgIDxrZW5kby1mbG9hdGluZ2FjdGlvbmJ1dHRvbiBbZGlhbEl0ZW1zXT1cInVzZXJQYW5lbEl0ZW1zXCIgW29mZnNldF09XCJ7eDonLTVweCcsIHk6Jy01cHgnfVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FsaWduXT1cInsgdmVydGljYWw6ICd0b3AnLCBob3Jpem9udGFsOiAnZW5kJyB9XCIgW2RpYWxJdGVtQW5pbWF0aW9uXT10cnVlIGJ1dHRvbkNsYXNzPVwidXNlci1wYW5lbC1idXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpYWxDbGFzcz1cInVzZXItcGFuZWwtZGlhbFwiIChkaWFsSXRlbUNsaWNrKT1cIm9uRGlhbEl0ZW1DbGljaygkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBrZW5kb0Zsb2F0aW5nQWN0aW9uQnV0dG9uVGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgPGtlbmRvLWF2YXRhciAqbmdJZj1cIiEhcHJvZmlsZUltZ1VybFwiIHNoYXBlPVwiY2lyY2xlXCIgW2ltYWdlU3JjXT1cInByb2ZpbGVJbWdVcmxcIj48L2tlbmRvLWF2YXRhcj5cclxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXByb2ZpbGVJbWdVcmxcIj5cclxuICAgICAgICAgICAgICAgIDxrZW5kby1hdmF0YXIgKm5nSWY9XCIhIXVzZXJuYW1lSW5pdGlhbFwiIGNsYXNzPVwidXNlcm5hbWUtaW5pdGlhbC1hdmF0YXJcIiBzaGFwZT1cImNpcmNsZVwiIFtpbml0aWFsc109XCJ1c2VybmFtZUluaXRpYWxcIj48L2tlbmRvLWF2YXRhcj5cclxuICAgICAgICAgICAgICAgIDxrZW5kby1hdmF0YXIgKm5nSWY9XCIhdXNlcm5hbWVJbml0aWFsXCIgY2xhc3M9XCJ1c2VybmFtZS1pbml0aWFsLWF2YXRhclwiIHNoYXBlPVwiY2lyY2xlXCIgaWNvbj1cInVzZXJcIj48L2tlbmRvLWF2YXRhcj5cclxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICA8aW9uLWxhYmVsIGNsYXNzPVwicHJvZmlsZS11c2VybmFtZVwiPnt7IHVzZXJEaXNwbGF5TmFtZSB9fTwvaW9uLWxhYmVsPlxyXG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUga2VuZG9EaWFsSXRlbVRlbXBsYXRlIGxldC1pdGVtIGxldC1pc0ZvY3VzZWQ9XCJpc0ZvY3VzZWRcIj5cclxuICAgICAgICAgICAgICA8c3BhbiBbY2xhc3MuY3VzdG9tLWZvY3VzZWQtY2xhc3NdPVwiaXNGb2N1c2VkXCIgY2xhc3M9XCJ1c2VyLXBhbmVsLWl0ZW1cIj5cclxuICAgICAgICAgICAgICAgIDxmYS1pY29uIFtpY29uXT1cIml0ZW0uaWNvblwiIGNsYXNzPVwidXNlci1wYW5lbC1pdGVtLWljb25cIj48L2ZhLWljb24+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInVzZXItcGFuZWwtb3B0aW9uLXRleHRcIj57eyBpdGVtLnRleHQgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgPC9rZW5kby1mbG9hdGluZ2FjdGlvbmJ1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwiZ3JvdXAgJiYgaXNNb2JpbGVTY3JlZW4oKVwiPlxyXG4gICAgICAgICAgPGlvbi1idXR0b25zIHNsb3Q9XCJwcmltYXJ5XCIgKm5nSWY9XCIhZ3JvdXAuaXNMb2FkaW5nXCI+XHJcbiAgICAgICAgICAgIDxhcHAtdWlhY3Rpb25idXR0b24gW2dyb3VwXT1cImdyb3VwXCI+PC9hcHAtdWlhY3Rpb25idXR0b24+XHJcbiAgICAgICAgICA8L2lvbi1idXR0b25zPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDwhLS0gRGVzaWduIDEgLS0+XHJcbiAgICAgIDwhLS0gPGRpdiBjbGFzcz1cInRvb2xiYXItc2Vjb25kLXJvd1wiICpuZ0lmPVwiIWlzTW9iaWxlU2NyZWVuKCkgJiYgZ3JvdXAgJiYgZ3JvdXAubmF2SXRlbXNcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibmF2LWJhci1jb250YWluZXJcIj5cclxuICAgICAgICAgIDxrZW5kby1icmVhZGNydW1iIFtpdGVtc109XCJncm91cC5uYXZJdGVtc1wiIGNsYXNzPVwibmF2LWJhclwiIChpdGVtQ2xpY2spPVwib25OYXZJdGVtQ2xpY2soJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUga2VuZG9CcmVhZENydW1iSXRlbVRlbXBsYXRlIGxldC1pdGVtIGxldC1pbmRleD1cImluZGV4XCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5hdi1iYXItaXRlbVwiIFtjbGFzcy5jdXJyZW50XT1cIiFpdGVtLnJvdXRlXCI+XHJcbiAgICAgICAgICAgICAgICA8ZmEtaWNvbiBbaWNvbl09XCJpdGVtLmljb25cIiBjbGFzcz1cInpjYXJkLWhlYWRlci1pY29uXCI+PC9mYS1pY29uPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4+e3sgaXRlbS50ZXh0IH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgPC9rZW5kby1icmVhZGNydW1iPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgIDwhLS0gRGVzaWduIDIgLS0+XHJcbiAgICAgIDwhLS0gPGRpdiBjbGFzcz1cInRvb2xiYXItc2Vjb25kLXJvd1wiICpuZ0lmPVwiIWlzTW9iaWxlU2NyZWVuKCkgJiYgZ3JvdXAgJiYgZ3JvdXAubmF2SXRlbXNcIj5cclxuICAgICAgICA8a2VuZG8tYnJlYWRjcnVtYiBbaXRlbXNdPVwiZ3JvdXAubmF2SXRlbXNcIiBjbGFzcz1cIm5hdi1iYXJcIiAoaXRlbUNsaWNrKT1cIm9uTmF2SXRlbUNsaWNrKCRldmVudClcIj5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBrZW5kb0JyZWFkQ3J1bWJJdGVtVGVtcGxhdGUgbGV0LWl0ZW0gbGV0LWluZGV4PVwiaW5kZXhcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5hdi1iYXItaXRlbVwiIFtjbGFzcy5jdXJyZW50XT1cIiFpdGVtLnJvdXRlXCI+XHJcbiAgICAgICAgICAgICAgPGZhLWljb24gKm5nSWY9XCJpdGVtLmljb25cIiBbaWNvbl09XCJpdGVtLmljb25cIiBjbGFzcz1cInpjYXJkLWhlYWRlci1pY29uXCIgW25nQ2xhc3NdPVwieydpY29uLXdpdGgtdGV4dCc6IGl0ZW0udGV4dH1cIj48L2ZhLWljb24+XHJcbiAgICAgICAgICAgICAgPHNwYW4+e3sgaXRlbS50ZXh0IH19PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9rZW5kby1icmVhZGNydW1iPlxyXG4gICAgICA8L2Rpdj4gLS0+XHJcbiAgICA8L2Rpdj5cclxuICA8L2lvbi10b29sYmFyPlxyXG48L2lvbi1oZWFkZXI+XHJcbiJdfQ==
@@ -1,27 +0,0 @@
1
- import { Injectable } from "@angular/core";
2
- import { map, of } from "rxjs";
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "mmhglobal-zcore";
5
- export class UiheaderService {
6
- constructor(translationService) {
7
- this.translationService = translationService;
8
- }
9
- getTranslatedUserMenu(group, userPanelItems) {
10
- if (this.translatedMenuItems && this.translatedMenuItems.length > 0) {
11
- return of(this.translatedMenuItems);
12
- }
13
- return this.translationService.$translateItemList(userPanelItems, "text", { elementName: 'menu', group: group }).pipe(map(() => {
14
- this.translatedMenuItems = userPanelItems;
15
- return this.translatedMenuItems;
16
- }));
17
- }
18
- }
19
- UiheaderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: UiheaderService, deps: [{ token: i1.TranslationService }], target: i0.ɵɵFactoryTarget.Injectable });
20
- UiheaderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: UiheaderService, providedIn: 'root' });
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: UiheaderService, decorators: [{
22
- type: Injectable,
23
- args: [{
24
- providedIn: 'root'
25
- }]
26
- }], ctorParameters: function () { return [{ type: i1.TranslationService }]; } });
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWloZWFkZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21taGdsb2JhbC1keW5hbWljZm9ybS9zcmMvbGliL3VpaGVhZGVyL3VpaGVhZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsR0FBRyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7O0FBSzNDLE1BQU0sT0FBTyxlQUFlO0lBRzFCLFlBQW9CLGtCQUFzQztRQUF0Qyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO0lBQzFELENBQUM7SUFFTSxxQkFBcUIsQ0FBQyxLQUFhLEVBQUUsY0FBMEI7UUFDcEUsSUFBSSxJQUFJLENBQUMsbUJBQW1CLElBQUksSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDbkUsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7U0FDckM7UUFFRCxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLEVBQUUsTUFBTSxFQUFFLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQ25ILEdBQUcsQ0FBQyxHQUFHLEVBQUU7WUFDUCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsY0FBYyxDQUFDO1lBQzFDLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDO1FBQ2xDLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDOzs0R0FqQlUsZUFBZTtnSEFBZixlQUFlLGNBRmQsTUFBTTsyRkFFUCxlQUFlO2tCQUgzQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGlvblNlcnZpY2UsIFpHcm91cCB9IGZyb20gXCJtbWhnbG9iYWwtemNvcmVcIjtcclxuaW1wb3J0IHsgbWFwLCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gXCJyeGpzXCI7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVaWhlYWRlclNlcnZpY2Uge1xyXG4gIHByaXZhdGUgdHJhbnNsYXRlZE1lbnVJdGVtcztcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0cmFuc2xhdGlvblNlcnZpY2U6IFRyYW5zbGF0aW9uU2VydmljZSkge1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFRyYW5zbGF0ZWRVc2VyTWVudShncm91cDogWkdyb3VwLCB1c2VyUGFuZWxJdGVtczogQXJyYXk8YW55Pik6IE9ic2VydmFibGU8QXJyYXk8YW55Pj4ge1xyXG4gICAgaWYgKHRoaXMudHJhbnNsYXRlZE1lbnVJdGVtcyAmJiB0aGlzLnRyYW5zbGF0ZWRNZW51SXRlbXMubGVuZ3RoID4gMCkge1xyXG4gICAgICByZXR1cm4gb2YodGhpcy50cmFuc2xhdGVkTWVudUl0ZW1zKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGhpcy50cmFuc2xhdGlvblNlcnZpY2UuJHRyYW5zbGF0ZUl0ZW1MaXN0KHVzZXJQYW5lbEl0ZW1zLCBcInRleHRcIiwgeyBlbGVtZW50TmFtZTogJ21lbnUnLCBncm91cDogZ3JvdXAgfSkucGlwZShcclxuICAgICAgbWFwKCgpID0+IHtcclxuICAgICAgICB0aGlzLnRyYW5zbGF0ZWRNZW51SXRlbXMgPSB1c2VyUGFuZWxJdGVtcztcclxuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVkTWVudUl0ZW1zO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,36 +0,0 @@
1
- /********** Angular **********/
2
- import { Component, Input } from "@angular/core";
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@ionic/angular";
5
- import * as i2 from "@angular/router";
6
- import * as i3 from "@fortawesome/angular-fontawesome";
7
- export class UimenubuttonComponent {
8
- constructor(menuCtrl, router) {
9
- this.menuCtrl = menuCtrl;
10
- this.router = router;
11
- }
12
- ngOnInit() {
13
- }
14
- toggleMenu() {
15
- this.menuCtrl.toggle();
16
- }
17
- backNavigate() {
18
- if (this.group.beforeBackNavigationPage) {
19
- this.group.beforeBackNavigationPage(this.group).subscribe(() => {
20
- this.router.navigate([this.group.backNavigationPage]);
21
- });
22
- }
23
- else {
24
- this.router.navigate([this.group.backNavigationPage]);
25
- }
26
- }
27
- }
28
- UimenubuttonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: UimenubuttonComponent, deps: [{ token: i1.MenuController }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Component });
29
- UimenubuttonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.3", type: UimenubuttonComponent, selector: "app-uimenubutton", inputs: { group: "group" }, ngImport: i0, template: "<!--<ion-buttons *ngIf=\"!group || !group.backNavigationPage\" (click)=\"toggleMenu()\" class=\"ion-activatable ripple-parent\">\r\n <fa-icon [icon]=\"'bars'\"></fa-icon>\r\n <ion-ripple-effect type=\"unbounded\"></ion-ripple-effect>\r\n</ion-buttons>\r\n<ion-buttons *ngIf=\"group && group.backNavigationPage\" (click)=\"backNavigate()\" class=\"ion-activatable ripple-parent\">\r\n <fa-icon [icon]=\"'arrow-left'\"></fa-icon>\r\n <ion-ripple-effect type=\"unbounded\"></ion-ripple-effect>\r\n</ion-buttons>-->\r\n\r\n<ion-buttons (click)=\"toggleMenu()\" class=\"ion-activatable ripple-parent\">\r\n <fa-icon [icon]=\"'bars'\"></fa-icon>\r\n <ion-ripple-effect type=\"unbounded\"></ion-ripple-effect>\r\n</ion-buttons>\r\n", styles: [":host ion-buttons{width:48px;justify-content:center;cursor:pointer}:host ion-buttons fa-icon{text-align:center;justify-content:center;text-overflow:ellipsis;text-transform:none;white-space:nowrap;font-kerning:none;text-decoration:none;font-size:var(--ion-header-icon-height)}:host ion-buttons:hover{color:#fff;background-color:#0006;border-radius:5px;padding:8px}\n"], components: [{ type: i1.IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { type: i3.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { type: i1.IonRippleEffect, selector: "ion-ripple-effect", inputs: ["type"] }] });
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: UimenubuttonComponent, decorators: [{
31
- type: Component,
32
- args: [{ selector: 'app-uimenubutton', template: "<!--<ion-buttons *ngIf=\"!group || !group.backNavigationPage\" (click)=\"toggleMenu()\" class=\"ion-activatable ripple-parent\">\r\n <fa-icon [icon]=\"'bars'\"></fa-icon>\r\n <ion-ripple-effect type=\"unbounded\"></ion-ripple-effect>\r\n</ion-buttons>\r\n<ion-buttons *ngIf=\"group && group.backNavigationPage\" (click)=\"backNavigate()\" class=\"ion-activatable ripple-parent\">\r\n <fa-icon [icon]=\"'arrow-left'\"></fa-icon>\r\n <ion-ripple-effect type=\"unbounded\"></ion-ripple-effect>\r\n</ion-buttons>-->\r\n\r\n<ion-buttons (click)=\"toggleMenu()\" class=\"ion-activatable ripple-parent\">\r\n <fa-icon [icon]=\"'bars'\"></fa-icon>\r\n <ion-ripple-effect type=\"unbounded\"></ion-ripple-effect>\r\n</ion-buttons>\r\n", styles: [":host ion-buttons{width:48px;justify-content:center;cursor:pointer}:host ion-buttons fa-icon{text-align:center;justify-content:center;text-overflow:ellipsis;text-transform:none;white-space:nowrap;font-kerning:none;text-decoration:none;font-size:var(--ion-header-icon-height)}:host ion-buttons:hover{color:#fff;background-color:#0006;border-radius:5px;padding:8px}\n"] }]
33
- }], ctorParameters: function () { return [{ type: i1.MenuController }, { type: i2.Router }]; }, propDecorators: { group: [{
34
- type: Input
35
- }] } });
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWltZW51YnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21taGdsb2JhbC1keW5hbWljZm9ybS9zcmMvbGliL3VpbWVudWJ1dHRvbi91aW1lbnVidXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvdWltZW51YnV0dG9uL3VpbWVudWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQkFBK0I7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7O0FBbUJ6RCxNQUFNLE9BQU8scUJBQXFCO0lBR2hDLFlBQ1MsUUFBd0IsRUFDdkIsTUFBYztRQURmLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBQ3ZCLFdBQU0sR0FBTixNQUFNLENBQVE7SUFFeEIsQ0FBQztJQUVELFFBQVE7SUFDUixDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsd0JBQXdCLEVBQUU7WUFDdkMsSUFBSSxDQUFDLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDN0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQztZQUN4RCxDQUFDLENBQUMsQ0FBQTtTQUNIO2FBQ0k7WUFDSCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDO1NBQ3ZEO0lBQ0gsQ0FBQzs7a0hBekJVLHFCQUFxQjtzR0FBckIscUJBQXFCLG9GQ3BCbEMsNHRCQWFBOzJGRE9hLHFCQUFxQjtrQkFOakMsU0FBUzsrQkFDRSxrQkFBa0I7MEhBTW5CLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qKioqKioqKioqIEFuZ3VsYXIgKioqKioqKioqKi9cclxuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuXHJcbi8qKioqKioqKioqIElvbmljICoqKioqKioqKiovXHJcbmltcG9ydCB7IE1lbnVDb250cm9sbGVyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xyXG5cclxuLyoqKioqKioqKiogUGx1Z2luICoqKioqKioqKiovXHJcbi8vIGltcG9ydCB7IEFzeW5jU3ViamVjdCwgb2YgfSBmcm9tICdyeGpzJztcclxuXHJcbi8qKioqKioqKioqIENvbXBvbmVudCAmIFNlcnZpY2UgKioqKioqKioqKi9cclxuaW1wb3J0IHsgWkdyb3VwIH0gZnJvbSAnbW1oZ2xvYmFsLXpjb3JlJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC11aW1lbnVidXR0b24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi91aW1lbnVidXR0b24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3VpbWVudWJ1dHRvbi5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIFVpbWVudWJ1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgZ3JvdXA6IFpHcm91cDtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgbWVudUN0cmw6IE1lbnVDb250cm9sbGVyLFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlclxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgfVxyXG5cclxuICB0b2dnbGVNZW51KCkge1xyXG4gICAgdGhpcy5tZW51Q3RybC50b2dnbGUoKTtcclxuICB9XHJcblxyXG4gIGJhY2tOYXZpZ2F0ZSgpIHtcclxuICAgIGlmICh0aGlzLmdyb3VwLmJlZm9yZUJhY2tOYXZpZ2F0aW9uUGFnZSkge1xyXG4gICAgICB0aGlzLmdyb3VwLmJlZm9yZUJhY2tOYXZpZ2F0aW9uUGFnZSh0aGlzLmdyb3VwKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFt0aGlzLmdyb3VwLmJhY2tOYXZpZ2F0aW9uUGFnZV0pO1xyXG4gICAgICB9KVxyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFt0aGlzLmdyb3VwLmJhY2tOYXZpZ2F0aW9uUGFnZV0pO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8IS0tPGlvbi1idXR0b25zICpuZ0lmPVwiIWdyb3VwIHx8ICFncm91cC5iYWNrTmF2aWdhdGlvblBhZ2VcIiAoY2xpY2spPVwidG9nZ2xlTWVudSgpXCIgY2xhc3M9XCJpb24tYWN0aXZhdGFibGUgcmlwcGxlLXBhcmVudFwiPlxyXG4gIDxmYS1pY29uIFtpY29uXT1cIidiYXJzJ1wiPjwvZmEtaWNvbj5cclxuICA8aW9uLXJpcHBsZS1lZmZlY3QgdHlwZT1cInVuYm91bmRlZFwiPjwvaW9uLXJpcHBsZS1lZmZlY3Q+XHJcbjwvaW9uLWJ1dHRvbnM+XHJcbjxpb24tYnV0dG9ucyAqbmdJZj1cImdyb3VwICYmIGdyb3VwLmJhY2tOYXZpZ2F0aW9uUGFnZVwiIChjbGljayk9XCJiYWNrTmF2aWdhdGUoKVwiIGNsYXNzPVwiaW9uLWFjdGl2YXRhYmxlIHJpcHBsZS1wYXJlbnRcIj5cclxuICA8ZmEtaWNvbiBbaWNvbl09XCInYXJyb3ctbGVmdCdcIj48L2ZhLWljb24+XHJcbiAgPGlvbi1yaXBwbGUtZWZmZWN0IHR5cGU9XCJ1bmJvdW5kZWRcIj48L2lvbi1yaXBwbGUtZWZmZWN0PlxyXG48L2lvbi1idXR0b25zPi0tPlxyXG5cclxuPGlvbi1idXR0b25zIChjbGljayk9XCJ0b2dnbGVNZW51KClcIiBjbGFzcz1cImlvbi1hY3RpdmF0YWJsZSByaXBwbGUtcGFyZW50XCI+XHJcbiAgPGZhLWljb24gW2ljb25dPVwiJ2JhcnMnXCI+PC9mYS1pY29uPlxyXG4gIDxpb24tcmlwcGxlLWVmZmVjdCB0eXBlPVwidW5ib3VuZGVkXCI+PC9pb24tcmlwcGxlLWVmZmVjdD5cclxuPC9pb24tYnV0dG9ucz5cclxuIl19
@@ -1,38 +0,0 @@
1
- /********** Angular **********/
2
- import { Component, Input } from "@angular/core";
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@ionic/angular";
5
- import * as i2 from "@progress/kendo-angular-layout";
6
- import * as i3 from "@fortawesome/angular-fontawesome";
7
- import * as i4 from "@angular/common";
8
- import * as i5 from "@angular/router";
9
- export class UimenucontentComponent {
10
- constructor() {
11
- }
12
- ngOnInit() {
13
- if (this.items && this.items.length > 0) {
14
- console.error('Pls stop use hardcode submenu. Now the submenu can define in e1 Menu Relationship.');
15
- }
16
- }
17
- CheckisCategory(e) {
18
- return e.category !== undefined;
19
- }
20
- isCategory() {
21
- let v = false;
22
- if (this.items.length > 0) {
23
- if (this.CheckisCategory(this.items[0])) {
24
- v = true;
25
- }
26
- }
27
- return v;
28
- }
29
- }
30
- UimenucontentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: UimenucontentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
31
- UimenucontentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.3", type: UimenucontentComponent, selector: "app-uimenucontent", inputs: { items: "items" }, ngImport: i0, template: "<div *ngIf=\"this.isCategory()\">\r\n <ion-row *ngFor=\"let cat of items\">\r\n <kendo-panelbar keepItemContent=\"true\" style=\"width: 100%;padding:10px;\">\r\n <kendo-panelbar-item [title]=\"[cat.category]\" [expanded]=\"true\" icon=\"folder\">\r\n <ng-template kendoPanelBarContent>\r\n <div class=\"ion-row\" style=\"padding: 6px 12px;\">\r\n <ion-grid>\r\n <ion-row>\r\n <ion-col class=\"menu-col\" sizeXs=\"4\" sizeMd=\"3\" sizeXl=\"2\" *ngFor=\"let item of cat.content\">\r\n <div class=\"menu-btn ion-activatable ripple-parent\" [routerLink]=\"[item.url]\">\r\n <ion-label class=\"menu-btn-label menu-btn-icon\">\r\n <!-- <ion-icon [name]=\"item.icon\"></ion-icon> -->\r\n <fa-icon [icon]=\"item.icon\"></fa-icon>\r\n </ion-label>\r\n <ion-label class=\"menu-btn-label\">{{item.title}}</ion-label>\r\n <ion-ripple-effect></ion-ripple-effect>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n </ion-grid>\r\n </div>\r\n </ng-template>\r\n </kendo-panelbar-item>\r\n </kendo-panelbar>\r\n </ion-row>\r\n</div>\r\n<ion-grid *ngIf=\"!this.isCategory()\">\r\n <ion-row>\r\n <ion-col class=\"menu-col\" sizeXs=\"4\" sizeMd=\"3\" sizeXl=\"2\" *ngFor=\"let item of items\">\r\n <div class=\"menu-btn ion-activatable ripple-parent\" [routerLink]=\"[item.url]\">\r\n <ion-label class=\"menu-btn-label menu-btn-icon\">\r\n <!-- <ion-icon [name]=\"item.icon\"></ion-icon> -->\r\n <fa-icon [icon]=\"item.icon\"></fa-icon>\r\n </ion-label>\r\n <ion-label class=\"menu-btn-label\">{{item.title}}</ion-label>\r\n <ion-ripple-effect></ion-ripple-effect>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n</ion-grid>\r\n\r\n\r\n\r\n\r\n", styles: [".menu-btn{display:flex;flex-flow:column;justify-content:center;align-items:stretch;background-color:#fff;padding:10px 5px;border:1px solid #ccc;border-radius:5px;min-height:100px;cursor:pointer}.menu-btn:hover{color:#fff;background-color:#0006}.ripple-parent{position:relative;overflow:hidden}.menu-btn-label{flex:1;text-align:center}.menu-btn-icon{zoom:2}\n"], components: [{ type: i1.IonRow, selector: "ion-row" }, { type: i2.PanelBarComponent, selector: "kendo-panelbar", inputs: ["expandMode", "selectable", "animate", "height", "keepItemContent", "items"], outputs: ["stateChange", "select", "expand", "collapse"], exportAs: ["kendoPanelbar"] }, { type: i2.PanelBarItemComponent, selector: "kendo-panelbar-item", inputs: ["title", "id", "icon", "iconClass", "imageUrl", "disabled", "expanded", "selected", "content", "items", "template"], exportAs: ["kendoPanelbarItem"] }, { type: i1.IonGrid, selector: "ion-grid", inputs: ["fixed"] }, { type: i1.IonCol, selector: "ion-col", inputs: ["offset", "offsetLg", "offsetMd", "offsetSm", "offsetXl", "offsetXs", "pull", "pullLg", "pullMd", "pullSm", "pullXl", "pullXs", "push", "pushLg", "pushMd", "pushSm", "pushXl", "pushXs", "size", "sizeLg", "sizeMd", "sizeSm", "sizeXl", "sizeXs"] }, { type: i1.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { type: i3.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { type: i1.IonRippleEffect, selector: "ion-ripple-effect", inputs: ["type"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.PanelBarContentDirective, selector: "[kendoPanelBarContent]" }, { type: i1.RouterLinkDelegate, selector: ":not(a):not(area)[routerLink]", inputs: ["routerDirection", "routerAnimation"] }, { type: i5.RouterLink, selector: ":not(a):not(area)[routerLink]", inputs: ["queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }] });
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: UimenucontentComponent, decorators: [{
33
- type: Component,
34
- args: [{ selector: 'app-uimenucontent', template: "<div *ngIf=\"this.isCategory()\">\r\n <ion-row *ngFor=\"let cat of items\">\r\n <kendo-panelbar keepItemContent=\"true\" style=\"width: 100%;padding:10px;\">\r\n <kendo-panelbar-item [title]=\"[cat.category]\" [expanded]=\"true\" icon=\"folder\">\r\n <ng-template kendoPanelBarContent>\r\n <div class=\"ion-row\" style=\"padding: 6px 12px;\">\r\n <ion-grid>\r\n <ion-row>\r\n <ion-col class=\"menu-col\" sizeXs=\"4\" sizeMd=\"3\" sizeXl=\"2\" *ngFor=\"let item of cat.content\">\r\n <div class=\"menu-btn ion-activatable ripple-parent\" [routerLink]=\"[item.url]\">\r\n <ion-label class=\"menu-btn-label menu-btn-icon\">\r\n <!-- <ion-icon [name]=\"item.icon\"></ion-icon> -->\r\n <fa-icon [icon]=\"item.icon\"></fa-icon>\r\n </ion-label>\r\n <ion-label class=\"menu-btn-label\">{{item.title}}</ion-label>\r\n <ion-ripple-effect></ion-ripple-effect>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n </ion-grid>\r\n </div>\r\n </ng-template>\r\n </kendo-panelbar-item>\r\n </kendo-panelbar>\r\n </ion-row>\r\n</div>\r\n<ion-grid *ngIf=\"!this.isCategory()\">\r\n <ion-row>\r\n <ion-col class=\"menu-col\" sizeXs=\"4\" sizeMd=\"3\" sizeXl=\"2\" *ngFor=\"let item of items\">\r\n <div class=\"menu-btn ion-activatable ripple-parent\" [routerLink]=\"[item.url]\">\r\n <ion-label class=\"menu-btn-label menu-btn-icon\">\r\n <!-- <ion-icon [name]=\"item.icon\"></ion-icon> -->\r\n <fa-icon [icon]=\"item.icon\"></fa-icon>\r\n </ion-label>\r\n <ion-label class=\"menu-btn-label\">{{item.title}}</ion-label>\r\n <ion-ripple-effect></ion-ripple-effect>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n</ion-grid>\r\n\r\n\r\n\r\n\r\n", styles: [".menu-btn{display:flex;flex-flow:column;justify-content:center;align-items:stretch;background-color:#fff;padding:10px 5px;border:1px solid #ccc;border-radius:5px;min-height:100px;cursor:pointer}.menu-btn:hover{color:#fff;background-color:#0006}.ripple-parent{position:relative;overflow:hidden}.menu-btn-label{flex:1;text-align:center}.menu-btn-icon{zoom:2}\n"] }]
35
- }], ctorParameters: function () { return []; }, propDecorators: { items: [{
36
- type: Input
37
- }] } });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWltZW51Y29udGVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tbWhnbG9iYWwtZHluYW1pY2Zvcm0vc3JjL2xpYi91aW1lbnVjb250ZW50L3VpbWVudWNvbnRlbnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvdWltZW51Y29udGVudC91aW1lbnVjb250ZW50LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtCQUErQjtBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7OztBQTJCekQsTUFBTSxPQUFPLHNCQUFzQjtJQUdqQztJQUVBLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUN2QyxPQUFPLENBQUMsS0FBSyxDQUFDLG9GQUFvRixDQUFDLENBQUM7U0FDckc7SUFDSCxDQUFDO0lBRUQsZUFBZSxDQUFDLENBQTRDO1FBQzFELE9BQStCLENBQUUsQ0FBQyxRQUFRLEtBQUssU0FBUyxDQUFDO0lBQzNELENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDO1FBQ2QsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDekIsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDdkMsQ0FBQyxHQUFHLElBQUksQ0FBQzthQUNWO1NBQ0Y7UUFDRCxPQUFPLENBQUMsQ0FBQztJQUNYLENBQUM7O21IQXpCVSxzQkFBc0I7dUdBQXRCLHNCQUFzQixxRkM1Qm5DLHk2REE0Q0E7MkZEaEJhLHNCQUFzQjtrQkFObEMsU0FBUzsrQkFDRSxtQkFBbUI7MEVBTXBCLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qKioqKioqKioqIEFuZ3VsYXIgKioqKioqKioqKi9cclxuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuXHJcbi8qKioqKioqKioqIElvbmljICoqKioqKioqKiovXHJcblxyXG4vKioqKioqKioqKiBQbHVnaW4gKioqKioqKioqKi9cclxuXHJcbi8qKioqKioqKioqIENvbXBvbmVudCAmIFNlcnZpY2UgKioqKioqKioqKi9cclxuXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFVpTWVudUNvbnRlbnRJdGVtIHtcclxuICB1cmw6IHN0cmluZztcclxuICBpY29uOiBzdHJpbmcgfCBBcnJheTxzdHJpbmc+O1xyXG4gIHRpdGxlOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVWlNZW51Q29udGVudENhdGVnb3J5IHtcclxuICBjYXRlZ29yeTpzdHJpbmc7XHJcbiAgY29udGVudDpBcnJheTxVaU1lbnVDb250ZW50SXRlbT5cclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtdWltZW51Y29udGVudCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3VpbWVudWNvbnRlbnQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3VpbWVudWNvbnRlbnQuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBVaW1lbnVjb250ZW50Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSBpdGVtczogQXJyYXk8VWlNZW51Q29udGVudENhdGVnb3J5PiB8IEFycmF5PFVpTWVudUNvbnRlbnRJdGVtPjtcclxuICAgIFxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBpZiAodGhpcy5pdGVtcyAmJiB0aGlzLml0ZW1zLmxlbmd0aCA+IDApIHtcclxuICAgICAgY29uc29sZS5lcnJvcignUGxzIHN0b3AgdXNlIGhhcmRjb2RlIHN1Ym1lbnUuIE5vdyB0aGUgc3VibWVudSBjYW4gZGVmaW5lIGluIGUxIE1lbnUgUmVsYXRpb25zaGlwLicpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQ2hlY2tpc0NhdGVnb3J5KGU6IFVpTWVudUNvbnRlbnRDYXRlZ29yeSB8IFVpTWVudUNvbnRlbnRJdGVtKTogZSBpcyBVaU1lbnVDb250ZW50Q2F0ZWdvcnkgeyBcclxuICAgIHJldHVybiAoPFVpTWVudUNvbnRlbnRDYXRlZ29yeT5lKS5jYXRlZ29yeSAhPT0gdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbiAgaXNDYXRlZ29yeSgpe1xyXG4gICAgbGV0IHYgPSBmYWxzZTtcclxuICAgIGlmICh0aGlzLml0ZW1zLmxlbmd0aCA+IDApIHtcclxuICAgICAgaWYgKHRoaXMuQ2hlY2tpc0NhdGVnb3J5KHRoaXMuaXRlbXNbMF0pKSB7XHJcbiAgICAgICAgdiA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiB2OyAgXHJcbiAgfVxyXG5cclxufVxyXG4iLCI8ZGl2ICpuZ0lmPVwidGhpcy5pc0NhdGVnb3J5KClcIj5cclxuICA8aW9uLXJvdyAqbmdGb3I9XCJsZXQgY2F0IG9mIGl0ZW1zXCI+XHJcbiAgICA8a2VuZG8tcGFuZWxiYXIga2VlcEl0ZW1Db250ZW50PVwidHJ1ZVwiIHN0eWxlPVwid2lkdGg6IDEwMCU7cGFkZGluZzoxMHB4O1wiPlxyXG4gICAgICA8a2VuZG8tcGFuZWxiYXItaXRlbSBbdGl0bGVdPVwiW2NhdC5jYXRlZ29yeV1cIiBbZXhwYW5kZWRdPVwidHJ1ZVwiIGljb249XCJmb2xkZXJcIj5cclxuICAgICAgICA8bmctdGVtcGxhdGUga2VuZG9QYW5lbEJhckNvbnRlbnQ+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW9uLXJvd1wiIHN0eWxlPVwicGFkZGluZzogNnB4IDEycHg7XCI+XHJcbiAgICAgICAgICAgIDxpb24tZ3JpZD5cclxuICAgICAgICAgICAgICA8aW9uLXJvdz5cclxuICAgICAgICAgICAgICAgIDxpb24tY29sIGNsYXNzPVwibWVudS1jb2xcIiBzaXplWHM9XCI0XCIgc2l6ZU1kPVwiM1wiIHNpemVYbD1cIjJcIiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBjYXQuY29udGVudFwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWVudS1idG4gaW9uLWFjdGl2YXRhYmxlIHJpcHBsZS1wYXJlbnRcIiBbcm91dGVyTGlua109XCJbaXRlbS51cmxdXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlvbi1sYWJlbCBjbGFzcz1cIm1lbnUtYnRuLWxhYmVsIG1lbnUtYnRuLWljb25cIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGlvbi1pY29uIFtuYW1lXT1cIml0ZW0uaWNvblwiPjwvaW9uLWljb24+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGZhLWljb24gW2ljb25dPVwiaXRlbS5pY29uXCI+PC9mYS1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvaW9uLWxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpb24tbGFiZWwgY2xhc3M9XCJtZW51LWJ0bi1sYWJlbFwiPnt7aXRlbS50aXRsZX19PC9pb24tbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlvbi1yaXBwbGUtZWZmZWN0PjwvaW9uLXJpcHBsZS1lZmZlY3Q+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgICAgICAgPC9pb24tZ3JpZD5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDwva2VuZG8tcGFuZWxiYXItaXRlbT5cclxuICAgIDwva2VuZG8tcGFuZWxiYXI+XHJcbiAgPC9pb24tcm93PlxyXG48L2Rpdj5cclxuPGlvbi1ncmlkICpuZ0lmPVwiIXRoaXMuaXNDYXRlZ29yeSgpXCI+XHJcbiAgPGlvbi1yb3c+XHJcbiAgICA8aW9uLWNvbCBjbGFzcz1cIm1lbnUtY29sXCIgc2l6ZVhzPVwiNFwiIHNpemVNZD1cIjNcIiBzaXplWGw9XCIyXCIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXNcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cIm1lbnUtYnRuIGlvbi1hY3RpdmF0YWJsZSByaXBwbGUtcGFyZW50XCIgW3JvdXRlckxpbmtdPVwiW2l0ZW0udXJsXVwiPlxyXG4gICAgICAgIDxpb24tbGFiZWwgY2xhc3M9XCJtZW51LWJ0bi1sYWJlbCBtZW51LWJ0bi1pY29uXCI+XHJcbiAgICAgICAgICA8IS0tIDxpb24taWNvbiBbbmFtZV09XCJpdGVtLmljb25cIj48L2lvbi1pY29uPiAtLT5cclxuICAgICAgICAgIDxmYS1pY29uIFtpY29uXT1cIml0ZW0uaWNvblwiPjwvZmEtaWNvbj5cclxuICAgICAgICA8L2lvbi1sYWJlbD5cclxuICAgICAgICA8aW9uLWxhYmVsIGNsYXNzPVwibWVudS1idG4tbGFiZWxcIj57e2l0ZW0udGl0bGV9fTwvaW9uLWxhYmVsPlxyXG4gICAgICAgIDxpb24tcmlwcGxlLWVmZmVjdD48L2lvbi1yaXBwbGUtZWZmZWN0PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvaW9uLWNvbD5cclxuICA8L2lvbi1yb3c+XHJcbjwvaW9uLWdyaWQ+XHJcblxyXG5cclxuXHJcblxyXG4iXX0=