@acorex/components 6.5.29 → 6.5.31

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 (364) hide show
  1. package/README.md +3 -3
  2. package/acorex-components.d.ts +5 -5
  3. package/esm2020/acorex-components.mjs +4 -4
  4. package/esm2020/lib/accordion/accordion.component.mjs +44 -44
  5. package/esm2020/lib/accordion/accordion.module.mjs +20 -20
  6. package/esm2020/lib/base/base-page.class.mjs +94 -94
  7. package/esm2020/lib/base/components.class.mjs +17 -17
  8. package/esm2020/lib/base/element.class.mjs +294 -294
  9. package/esm2020/lib/base/events.class.mjs +11 -11
  10. package/esm2020/lib/button/button.component.mjs +71 -71
  11. package/esm2020/lib/button/button.module.mjs +21 -21
  12. package/esm2020/lib/calendar/calendar-box/calendar-box.component.mjs +413 -413
  13. package/esm2020/lib/calendar/calendar-box/calendar-box.module.mjs +22 -22
  14. package/esm2020/lib/calendar/scheduler/scheduler-views.property.mjs +54 -54
  15. package/esm2020/lib/calendar/scheduler/scheduler.class.mjs +18 -18
  16. package/esm2020/lib/calendar/scheduler/scheduler.component.mjs +213 -213
  17. package/esm2020/lib/calendar/scheduler/scheduler.module.mjs +68 -68
  18. package/esm2020/lib/calendar/scheduler/toolbars/scheduler-toolbar-navigator.mjs +132 -132
  19. package/esm2020/lib/calendar/scheduler/toolbars/scheduler-toolbar-views.mjs +37 -37
  20. package/esm2020/lib/calendar/scheduler/views/agenda/scheduler-agenda-view.component.mjs +47 -47
  21. package/esm2020/lib/calendar/scheduler/views/daytime/scheduler-daytime-view.component.mjs +95 -95
  22. package/esm2020/lib/calendar/scheduler/views/month/scheduler-month-view.component.mjs +204 -204
  23. package/esm2020/lib/calendar/scheduler/views/scheduler-view.component.mjs +99 -99
  24. package/esm2020/lib/calendar/scheduler/views/timeline/scheduler-timeline-view.component.mjs +77 -77
  25. package/esm2020/lib/checkbox/checkbox.component.mjs +98 -98
  26. package/esm2020/lib/checkbox/checkbox.module.mjs +20 -20
  27. package/esm2020/lib/color-picker/color-box/color-box.component.mjs +422 -422
  28. package/esm2020/lib/color-picker/color-picker.component.mjs +82 -82
  29. package/esm2020/lib/color-picker/color-picker.module.mjs +24 -24
  30. package/esm2020/lib/context-menu/context-menu.component.mjs +65 -65
  31. package/esm2020/lib/context-menu/context-menu.directive.mjs +135 -135
  32. package/esm2020/lib/context-menu/context-menu.module.mjs +20 -20
  33. package/esm2020/lib/data-filter/columns/filter-column-date.component.mjs +138 -138
  34. package/esm2020/lib/data-filter/columns/filter-column-number.component.mjs +117 -117
  35. package/esm2020/lib/data-filter/columns/filter-column-selection.component.mjs +74 -74
  36. package/esm2020/lib/data-filter/columns/filter-column-string.component.mjs +117 -117
  37. package/esm2020/lib/data-filter/filter-panel/filter-panel.component.mjs +258 -258
  38. package/esm2020/lib/data-filter/filter.class.mjs +44 -44
  39. package/esm2020/lib/data-filter/filter.module.mjs +90 -90
  40. package/esm2020/lib/data-filter/toolbar/filter-toolbar.component.mjs +166 -166
  41. package/esm2020/lib/data-list/core/data-list.component.mjs +40 -40
  42. package/esm2020/lib/data-list/list/list.component.mjs +124 -124
  43. package/esm2020/lib/data-list/list/list.module.mjs +22 -22
  44. package/esm2020/lib/data-list/list/toolbar-list-view.component.mjs +85 -85
  45. package/esm2020/lib/data-source/datasource.component.mjs +47 -47
  46. package/esm2020/lib/data-source/datasource.module.mjs +18 -18
  47. package/esm2020/lib/data-source/read-param.mjs +5 -5
  48. package/esm2020/lib/date-picker/date-picker.component.mjs +702 -702
  49. package/esm2020/lib/date-picker/date-picker.module.mjs +25 -25
  50. package/esm2020/lib/dialog/dialog.component.mjs +24 -24
  51. package/esm2020/lib/dialog/dialog.module.mjs +21 -21
  52. package/esm2020/lib/dialog/dialog.service.mjs +150 -150
  53. package/esm2020/lib/drawer/content.component.mjs +18 -18
  54. package/esm2020/lib/drawer/drawer-container.component.mjs +36 -36
  55. package/esm2020/lib/drawer/drawer.component.mjs +142 -142
  56. package/esm2020/lib/drawer/drawer.module.mjs +23 -23
  57. package/esm2020/lib/dropdown/dropdown.component.mjs +176 -176
  58. package/esm2020/lib/dropdown/dropdown.module.mjs +26 -26
  59. package/esm2020/lib/fieldset/fieldset.component.mjs +59 -59
  60. package/esm2020/lib/fieldset/fieldset.module.mjs +19 -19
  61. package/esm2020/lib/form-group/form-group.component.mjs +34 -34
  62. package/esm2020/lib/form-group/form-group.module.mjs +21 -21
  63. package/esm2020/lib/label/label.component.mjs +19 -19
  64. package/esm2020/lib/label/label.module.mjs +21 -21
  65. package/esm2020/lib/loading/loading-indicator.component.mjs +17 -17
  66. package/esm2020/lib/loading/loading-panel.component.mjs +44 -44
  67. package/esm2020/lib/loading/loading.module.mjs +21 -21
  68. package/esm2020/lib/loading/loading.service.mjs +45 -45
  69. package/esm2020/lib/menu/menu-item.component.mjs +47 -47
  70. package/esm2020/lib/menu/menu.component.mjs +86 -86
  71. package/esm2020/lib/menu/menu.module.mjs +22 -22
  72. package/esm2020/lib/menu/menu2.component.mjs +96 -96
  73. package/esm2020/lib/number-box/number-box.component.mjs +622 -622
  74. package/esm2020/lib/number-box/number-box.module.mjs +21 -21
  75. package/esm2020/lib/page/content.component.mjs +32 -32
  76. package/esm2020/lib/page/footer.component.mjs +19 -19
  77. package/esm2020/lib/page/page.component.mjs +53 -53
  78. package/esm2020/lib/page/page.module.mjs +22 -22
  79. package/esm2020/lib/panel-box/panel-box.component.mjs +88 -88
  80. package/esm2020/lib/panel-box/panel-box.module.mjs +19 -19
  81. package/esm2020/lib/password-box/password-box.component.mjs +31 -31
  82. package/esm2020/lib/password-box/password-box.module.mjs +23 -23
  83. package/esm2020/lib/popover/custom-cdk-overlay.service.mjs +48 -48
  84. package/esm2020/lib/popover/overlay.service.mjs +90 -90
  85. package/esm2020/lib/popover/popover.component.mjs +127 -127
  86. package/esm2020/lib/popover/popover.module.mjs +19 -19
  87. package/esm2020/lib/popup/popup.component.mjs +147 -147
  88. package/esm2020/lib/popup/popup.module.mjs +25 -25
  89. package/esm2020/lib/popup/popup.service.mjs +93 -93
  90. package/esm2020/lib/progress-bar/progress-bar.component.mjs +19 -19
  91. package/esm2020/lib/progress-bar/progress-bar.module.mjs +19 -19
  92. package/esm2020/lib/property-editor/editors/check-editor/check-editor.mjs +61 -61
  93. package/esm2020/lib/property-editor/editors/check-editor/check.module.mjs +22 -22
  94. package/esm2020/lib/property-editor/editors/color-editor/color.editor.mjs +38 -38
  95. package/esm2020/lib/property-editor/editors/color-editor/color.module.mjs +24 -24
  96. package/esm2020/lib/property-editor/editors/column-editor/column.editor.mjs +115 -115
  97. package/esm2020/lib/property-editor/editors/column-editor/column.module.mjs +32 -32
  98. package/esm2020/lib/property-editor/editors/conditional-color-editor/conditional-color.editor.mjs +211 -211
  99. package/esm2020/lib/property-editor/editors/conditional-color-editor/conditional-color.module.mjs +78 -78
  100. package/esm2020/lib/property-editor/editors/date-editor/date.editor.mjs +51 -51
  101. package/esm2020/lib/property-editor/editors/date-editor/date.module.mjs +24 -24
  102. package/esm2020/lib/property-editor/editors/number-editor/number.editor.mjs +63 -63
  103. package/esm2020/lib/property-editor/editors/number-editor/number.module.mjs +24 -24
  104. package/esm2020/lib/property-editor/editors/range-editor/range.editor.mjs +140 -140
  105. package/esm2020/lib/property-editor/editors/range-editor/range.module.mjs +61 -61
  106. package/esm2020/lib/property-editor/editors/searchbar-selectbox-editor/searchbar-selectbox-editor.mjs +72 -72
  107. package/esm2020/lib/property-editor/editors/selectbox-editor/selectbox.editor.mjs +71 -71
  108. package/esm2020/lib/property-editor/editors/selectbox-editor/selectbox.module.mjs +25 -25
  109. package/esm2020/lib/property-editor/editors/selection-editor/selection-editor.mjs +69 -69
  110. package/esm2020/lib/property-editor/editors/selection-editor/selection.module.mjs +22 -22
  111. package/esm2020/lib/property-editor/editors/switch-editor/number.editor.mjs +29 -29
  112. package/esm2020/lib/property-editor/editors/switch-editor/number.module.mjs +25 -25
  113. package/esm2020/lib/property-editor/editors/text-editor/text.editor.mjs +32 -32
  114. package/esm2020/lib/property-editor/editors/text-editor/text.module.mjs +24 -24
  115. package/esm2020/lib/property-editor/editors/textarea-editor/textarea.editor.mjs +32 -32
  116. package/esm2020/lib/property-editor/editors/textarea-editor/textarea.module.mjs +24 -24
  117. package/esm2020/lib/property-editor/editors/time-editor/time.editor.mjs +43 -43
  118. package/esm2020/lib/property-editor/editors/time-editor/time.module.mjs +24 -24
  119. package/esm2020/lib/property-editor/property-editor-renderer.directive.mjs +154 -154
  120. package/esm2020/lib/property-editor/property-editor.class.mjs +101 -101
  121. package/esm2020/lib/property-editor/property-editor.module.mjs +196 -196
  122. package/esm2020/lib/query-builder/query-builder-group.component.mjs +124 -124
  123. package/esm2020/lib/query-builder/query-builder-popup/query-builder-popup.component.mjs +171 -171
  124. package/esm2020/lib/query-builder/query-builder-rule.component.mjs +395 -395
  125. package/esm2020/lib/query-builder/query-builder.class.mjs +20 -20
  126. package/esm2020/lib/query-builder/query-builder.component.mjs +82 -82
  127. package/esm2020/lib/query-builder/query-builder.module.mjs +62 -62
  128. package/esm2020/lib/query-builder/query-builder.service.mjs +197 -197
  129. package/esm2020/lib/search-bar/search-bar.component.mjs +283 -283
  130. package/esm2020/lib/search-bar/search-bar.module.mjs +63 -63
  131. package/esm2020/lib/searchbox/searchbox.component.mjs +79 -79
  132. package/esm2020/lib/searchbox/searchbox.module.mjs +24 -24
  133. package/esm2020/lib/selectbox/selectbox.component.mjs +961 -961
  134. package/esm2020/lib/selectbox/selectbox.module.mjs +44 -44
  135. package/esm2020/lib/selectbox/selectbox2.component.mjs +574 -574
  136. package/esm2020/lib/selection-list/selection-list.component.mjs +108 -108
  137. package/esm2020/lib/selection-list/selection-list.module.mjs +21 -21
  138. package/esm2020/lib/switch/switch.component.mjs +51 -51
  139. package/esm2020/lib/switch/switch.module.mjs +20 -20
  140. package/esm2020/lib/tab-page/tab-page-Renderer.component.mjs +71 -71
  141. package/esm2020/lib/tab-page/tab-page-host.component.mjs +116 -116
  142. package/esm2020/lib/tab-page/tab-page.module.mjs +21 -21
  143. package/esm2020/lib/tab-page/tab-page.service.mjs +156 -156
  144. package/esm2020/lib/tab-strip/tab-strip.component.mjs +36 -36
  145. package/esm2020/lib/tab-strip/tab-strip.module.mjs +19 -19
  146. package/esm2020/lib/tab-view/dynamic-tabs.directive.mjs +24 -24
  147. package/esm2020/lib/tab-view/tab-view.component.mjs +105 -105
  148. package/esm2020/lib/tab-view/tab-view.module.mjs +21 -21
  149. package/esm2020/lib/tab-view/tab.component.mjs +30 -30
  150. package/esm2020/lib/textarea/textarea.component.mjs +26 -26
  151. package/esm2020/lib/textarea/textarea.module.mjs +21 -21
  152. package/esm2020/lib/textbox/textbox.component.mjs +39 -39
  153. package/esm2020/lib/textbox/textbox.module.mjs +24 -24
  154. package/esm2020/lib/time-picker/time-picker.component.mjs +943 -943
  155. package/esm2020/lib/time-picker/time-picker.module.mjs +22 -22
  156. package/esm2020/lib/toast/toast-message/toast-message.component.mjs +74 -74
  157. package/esm2020/lib/toast/toast-wrapper/toast-wrapper.component.mjs +13 -13
  158. package/esm2020/lib/toast/toast.module.mjs +21 -21
  159. package/esm2020/lib/toast/toast.service.mjs +44 -44
  160. package/esm2020/lib/toolbar/group-button/toolbar-group-button.component.mjs +78 -78
  161. package/esm2020/lib/toolbar/menu/toolbar-menu.component.mjs +57 -57
  162. package/esm2020/lib/toolbar/search/toolbar-search.component.mjs +54 -54
  163. package/esm2020/lib/toolbar/title/toolbar-title.component.mjs +47 -47
  164. package/esm2020/lib/toolbar/toolbar-item.mjs +6 -6
  165. package/esm2020/lib/toolbar/toolbar.component.mjs +13 -13
  166. package/esm2020/lib/toolbar/toolbar.module.mjs +40 -40
  167. package/esm2020/lib/tooltip/tooltip.directive.mjs +100 -100
  168. package/esm2020/lib/tooltip/tooltip.module.mjs +19 -19
  169. package/esm2020/lib/tree-side-menu/tree-side-menu.component.mjs +646 -646
  170. package/esm2020/lib/tree-side-menu/tree-side-menu.module.mjs +35 -35
  171. package/esm2020/lib/tree-view/tree-view.component.mjs +775 -775
  172. package/esm2020/lib/tree-view/tree-view.module.mjs +22 -22
  173. package/esm2020/lib/upload-file/upload-file.component.mjs +208 -208
  174. package/esm2020/lib/upload-file/upload-file.events.mjs +2 -2
  175. package/esm2020/lib/upload-file/upload-file.module.mjs +24 -24
  176. package/esm2020/lib/validation/validation-form.component.mjs +65 -65
  177. package/esm2020/lib/validation/validation-rule.widget.mjs +111 -111
  178. package/esm2020/lib/validation/validation.class.mjs +2 -2
  179. package/esm2020/lib/validation/validation.component.mjs +89 -89
  180. package/esm2020/lib/validation/validation.module.mjs +34 -34
  181. package/esm2020/public-api.mjs +158 -158
  182. package/fesm2015/acorex-components.mjs +15616 -15616
  183. package/fesm2015/acorex-components.mjs.map +1 -1
  184. package/fesm2020/acorex-components.mjs +15552 -15552
  185. package/fesm2020/acorex-components.mjs.map +1 -1
  186. package/lib/accordion/accordion.component.d.ts +13 -13
  187. package/lib/accordion/accordion.module.d.ts +9 -9
  188. package/lib/base/base-page.class.d.ts +46 -46
  189. package/lib/base/components.class.d.ts +10 -10
  190. package/lib/base/element.class.d.ts +106 -106
  191. package/lib/base/events.class.d.ts +18 -18
  192. package/lib/button/button.component.d.ts +21 -21
  193. package/lib/button/button.module.d.ts +8 -8
  194. package/lib/calendar/calendar-box/calendar-box.component.d.ts +81 -81
  195. package/lib/calendar/calendar-box/calendar-box.module.d.ts +11 -11
  196. package/lib/calendar/scheduler/scheduler-views.property.d.ts +19 -19
  197. package/lib/calendar/scheduler/scheduler.class.d.ts +36 -36
  198. package/lib/calendar/scheduler/scheduler.component.d.ts +39 -39
  199. package/lib/calendar/scheduler/scheduler.module.d.ts +21 -21
  200. package/lib/calendar/scheduler/toolbars/scheduler-toolbar-navigator.d.ts +25 -25
  201. package/lib/calendar/scheduler/toolbars/scheduler-toolbar-views.d.ts +14 -14
  202. package/lib/calendar/scheduler/views/agenda/scheduler-agenda-view.component.d.ts +16 -16
  203. package/lib/calendar/scheduler/views/daytime/scheduler-daytime-view.component.d.ts +26 -26
  204. package/lib/calendar/scheduler/views/month/scheduler-month-view.component.d.ts +37 -37
  205. package/lib/calendar/scheduler/views/scheduler-view.component.d.ts +28 -28
  206. package/lib/calendar/scheduler/views/timeline/scheduler-timeline-view.component.d.ts +24 -24
  207. package/lib/checkbox/checkbox.component.d.ts +30 -30
  208. package/lib/checkbox/checkbox.module.d.ts +9 -9
  209. package/lib/color-picker/color-box/color-box.component.d.ts +25 -25
  210. package/lib/color-picker/color-picker.component.d.ts +30 -30
  211. package/lib/color-picker/color-picker.module.d.ts +13 -13
  212. package/lib/context-menu/context-menu.component.d.ts +22 -22
  213. package/lib/context-menu/context-menu.directive.d.ts +38 -38
  214. package/lib/context-menu/context-menu.module.d.ts +9 -9
  215. package/lib/data-filter/columns/filter-column-date.component.d.ts +22 -22
  216. package/lib/data-filter/columns/filter-column-number.component.d.ts +15 -15
  217. package/lib/data-filter/columns/filter-column-selection.component.d.ts +18 -18
  218. package/lib/data-filter/columns/filter-column-string.component.d.ts +15 -15
  219. package/lib/data-filter/filter-panel/filter-panel.component.d.ts +45 -45
  220. package/lib/data-filter/filter.class.d.ts +40 -40
  221. package/lib/data-filter/filter.module.d.ts +24 -24
  222. package/lib/data-filter/toolbar/filter-toolbar.component.d.ts +25 -25
  223. package/lib/data-list/core/data-list.component.d.ts +15 -15
  224. package/lib/data-list/list/list.component.d.ts +40 -40
  225. package/lib/data-list/list/list.module.d.ts +11 -11
  226. package/lib/data-list/list/toolbar-list-view.component.d.ts +17 -17
  227. package/lib/data-source/datasource.component.d.ts +16 -16
  228. package/lib/data-source/datasource.module.d.ts +7 -7
  229. package/lib/data-source/read-param.d.ts +40 -40
  230. package/lib/date-picker/date-picker.component.d.ts +81 -81
  231. package/lib/date-picker/date-picker.module.d.ts +14 -14
  232. package/lib/dialog/dialog.component.d.ts +14 -14
  233. package/lib/dialog/dialog.module.d.ts +10 -10
  234. package/lib/dialog/dialog.service.d.ts +36 -36
  235. package/lib/drawer/content.component.d.ts +7 -7
  236. package/lib/drawer/drawer-container.component.d.ts +10 -10
  237. package/lib/drawer/drawer.component.d.ts +34 -34
  238. package/lib/drawer/drawer.module.d.ts +10 -10
  239. package/lib/dropdown/dropdown.component.d.ts +38 -38
  240. package/lib/dropdown/dropdown.module.d.ts +13 -13
  241. package/lib/fieldset/fieldset.component.d.ts +11 -11
  242. package/lib/fieldset/fieldset.module.d.ts +8 -8
  243. package/lib/form-group/form-group.component.d.ts +14 -14
  244. package/lib/form-group/form-group.module.d.ts +8 -8
  245. package/lib/label/label.component.d.ts +9 -9
  246. package/lib/label/label.module.d.ts +8 -8
  247. package/lib/loading/loading-indicator.component.d.ts +9 -9
  248. package/lib/loading/loading-panel.component.d.ts +13 -13
  249. package/lib/loading/loading.module.d.ts +10 -10
  250. package/lib/loading/loading.service.d.ts +13 -13
  251. package/lib/menu/menu-item.component.d.ts +18 -18
  252. package/lib/menu/menu.component.d.ts +35 -35
  253. package/lib/menu/menu.module.d.ts +11 -11
  254. package/lib/menu/menu2.component.d.ts +21 -21
  255. package/lib/number-box/number-box.component.d.ts +52 -52
  256. package/lib/number-box/number-box.module.d.ts +10 -10
  257. package/lib/page/content.component.d.ts +8 -8
  258. package/lib/page/footer.component.d.ts +5 -5
  259. package/lib/page/page.component.d.ts +16 -16
  260. package/lib/page/page.module.d.ts +11 -11
  261. package/lib/panel-box/panel-box.component.d.ts +19 -19
  262. package/lib/panel-box/panel-box.module.d.ts +8 -8
  263. package/lib/password-box/password-box.component.d.ts +12 -12
  264. package/lib/password-box/password-box.module.d.ts +10 -10
  265. package/lib/popover/custom-cdk-overlay.service.d.ts +19 -19
  266. package/lib/popover/overlay.service.d.ts +31 -31
  267. package/lib/popover/popover.component.d.ts +34 -34
  268. package/lib/popover/popover.module.d.ts +8 -8
  269. package/lib/popup/popup.component.d.ts +40 -40
  270. package/lib/popup/popup.module.d.ts +13 -13
  271. package/lib/popup/popup.service.d.ts +22 -22
  272. package/lib/progress-bar/progress-bar.component.d.ts +7 -7
  273. package/lib/progress-bar/progress-bar.module.d.ts +8 -8
  274. package/lib/property-editor/editors/check-editor/check-editor.d.ts +19 -19
  275. package/lib/property-editor/editors/check-editor/check.module.d.ts +11 -11
  276. package/lib/property-editor/editors/color-editor/color.editor.d.ts +13 -13
  277. package/lib/property-editor/editors/color-editor/color.module.d.ts +12 -12
  278. package/lib/property-editor/editors/column-editor/column.editor.d.ts +34 -34
  279. package/lib/property-editor/editors/column-editor/column.module.d.ts +20 -20
  280. package/lib/property-editor/editors/conditional-color-editor/conditional-color.editor.d.ts +44 -44
  281. package/lib/property-editor/editors/conditional-color-editor/conditional-color.module.d.ts +19 -19
  282. package/lib/property-editor/editors/date-editor/date.editor.d.ts +28 -28
  283. package/lib/property-editor/editors/date-editor/date.module.d.ts +12 -12
  284. package/lib/property-editor/editors/number-editor/number.editor.d.ts +20 -20
  285. package/lib/property-editor/editors/number-editor/number.module.d.ts +12 -12
  286. package/lib/property-editor/editors/range-editor/range.editor.d.ts +29 -29
  287. package/lib/property-editor/editors/range-editor/range.module.d.ts +18 -18
  288. package/lib/property-editor/editors/searchbar-selectbox-editor/searchbar-selectbox-editor.d.ts +29 -29
  289. package/lib/property-editor/editors/selectbox-editor/selectbox.editor.d.ts +28 -28
  290. package/lib/property-editor/editors/selectbox-editor/selectbox.module.d.ts +14 -14
  291. package/lib/property-editor/editors/selection-editor/selection-editor.d.ts +25 -25
  292. package/lib/property-editor/editors/selection-editor/selection.module.d.ts +11 -11
  293. package/lib/property-editor/editors/switch-editor/number.editor.d.ts +11 -11
  294. package/lib/property-editor/editors/switch-editor/number.module.d.ts +13 -13
  295. package/lib/property-editor/editors/text-editor/text.editor.d.ts +18 -18
  296. package/lib/property-editor/editors/text-editor/text.module.d.ts +12 -12
  297. package/lib/property-editor/editors/textarea-editor/textarea.editor.d.ts +17 -17
  298. package/lib/property-editor/editors/textarea-editor/textarea.module.d.ts +12 -12
  299. package/lib/property-editor/editors/time-editor/time.editor.d.ts +17 -17
  300. package/lib/property-editor/editors/time-editor/time.module.d.ts +12 -12
  301. package/lib/property-editor/property-editor-renderer.directive.d.ts +30 -30
  302. package/lib/property-editor/property-editor.class.d.ts +92 -92
  303. package/lib/property-editor/property-editor.module.d.ts +21 -21
  304. package/lib/query-builder/query-builder-group.component.d.ts +33 -33
  305. package/lib/query-builder/query-builder-popup/query-builder-popup.component.d.ts +35 -35
  306. package/lib/query-builder/query-builder-rule.component.d.ts +45 -45
  307. package/lib/query-builder/query-builder.class.d.ts +45 -45
  308. package/lib/query-builder/query-builder.component.d.ts +27 -27
  309. package/lib/query-builder/query-builder.module.d.ts +23 -23
  310. package/lib/query-builder/query-builder.service.d.ts +18 -18
  311. package/lib/search-bar/search-bar.component.d.ts +61 -61
  312. package/lib/search-bar/search-bar.module.d.ts +18 -18
  313. package/lib/searchbox/searchbox.component.d.ts +22 -22
  314. package/lib/searchbox/searchbox.module.d.ts +13 -13
  315. package/lib/selectbox/selectbox.component.d.ts +118 -118
  316. package/lib/selectbox/selectbox.module.d.ts +15 -15
  317. package/lib/selectbox/selectbox2.component.d.ts +103 -103
  318. package/lib/selection-list/selection-list.component.d.ts +32 -32
  319. package/lib/selection-list/selection-list.module.d.ts +10 -10
  320. package/lib/switch/switch.component.d.ts +20 -20
  321. package/lib/switch/switch.module.d.ts +9 -9
  322. package/lib/tab-page/tab-page-Renderer.component.d.ts +16 -16
  323. package/lib/tab-page/tab-page-host.component.d.ts +25 -25
  324. package/lib/tab-page/tab-page.module.d.ts +10 -10
  325. package/lib/tab-page/tab-page.service.d.ts +30 -30
  326. package/lib/tab-strip/tab-strip.component.d.ts +28 -28
  327. package/lib/tab-strip/tab-strip.module.d.ts +8 -8
  328. package/lib/tab-view/dynamic-tabs.directive.d.ts +16 -16
  329. package/lib/tab-view/tab-view.component.d.ts +26 -26
  330. package/lib/tab-view/tab-view.module.d.ts +10 -10
  331. package/lib/tab-view/tab.component.d.ts +12 -12
  332. package/lib/textarea/textarea.component.d.ts +12 -12
  333. package/lib/textarea/textarea.module.d.ts +8 -8
  334. package/lib/textbox/textbox.component.d.ts +16 -16
  335. package/lib/textbox/textbox.module.d.ts +11 -11
  336. package/lib/time-picker/time-picker.component.d.ts +52 -52
  337. package/lib/time-picker/time-picker.module.d.ts +11 -11
  338. package/lib/toast/toast-message/toast-message.component.d.ts +18 -18
  339. package/lib/toast/toast-wrapper/toast-wrapper.component.d.ts +8 -8
  340. package/lib/toast/toast.module.d.ts +9 -9
  341. package/lib/toast/toast.service.d.ts +18 -18
  342. package/lib/toolbar/group-button/toolbar-group-button.component.d.ts +12 -12
  343. package/lib/toolbar/menu/toolbar-menu.component.d.ts +24 -24
  344. package/lib/toolbar/search/toolbar-search.component.d.ts +16 -16
  345. package/lib/toolbar/title/toolbar-title.component.d.ts +9 -9
  346. package/lib/toolbar/toolbar-item.d.ts +3 -3
  347. package/lib/toolbar/toolbar.component.d.ts +8 -8
  348. package/lib/toolbar/toolbar.module.d.ts +14 -14
  349. package/lib/tooltip/tooltip.directive.d.ts +21 -21
  350. package/lib/tooltip/tooltip.module.d.ts +8 -8
  351. package/lib/tree-side-menu/tree-side-menu.component.d.ts +111 -111
  352. package/lib/tree-side-menu/tree-side-menu.module.d.ts +11 -11
  353. package/lib/tree-view/tree-view.component.d.ts +121 -121
  354. package/lib/tree-view/tree-view.module.d.ts +11 -11
  355. package/lib/upload-file/upload-file.component.d.ts +42 -42
  356. package/lib/upload-file/upload-file.events.d.ts +10 -10
  357. package/lib/upload-file/upload-file.module.d.ts +13 -13
  358. package/lib/validation/validation-form.component.d.ts +19 -19
  359. package/lib/validation/validation-rule.widget.d.ts +23 -23
  360. package/lib/validation/validation.class.d.ts +16 -16
  361. package/lib/validation/validation.component.d.ts +25 -25
  362. package/lib/validation/validation.module.d.ts +11 -11
  363. package/package.json +1 -1
  364. package/public-api.d.ts +155 -155
@@ -1,211 +1,211 @@
1
- import { Component, ChangeDetectorRef, ViewChild, TemplateRef, ChangeDetectionStrategy, Input } from '@angular/core';
2
- import { AXObjectUtil, AXTranslator } from '@acorex/core';
3
- import { AXProperyEditorComponent } from '../../property-editor.class';
4
- import { AXPopupService } from '../../../popup/popup.service';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "../../../popup/popup.service";
7
- import * as i2 from "../../../button/button.component";
8
- import * as i3 from "../../../page/page.component";
9
- import * as i4 from "../../../page/content.component";
10
- import * as i5 from "../../../validation/validation-form.component";
11
- import * as i6 from "../../../label/label.component";
12
- import * as i7 from "../../../selectbox/selectbox.component";
13
- import * as i8 from "../../../validation/validation.component";
14
- import * as i9 from "../../../validation/validation-rule.widget";
15
- import * as i10 from "../../../textbox/textbox.component";
16
- import * as i11 from "../../../number-box/number-box.component";
17
- import * as i12 from "../../../color-picker/color-picker.component";
18
- import * as i13 from "@angular/common";
19
- import * as i14 from "@acorex/core";
20
- export class AXConditionalColorPropertyEditorComponent extends AXProperyEditorComponent {
21
- constructor(cdr, popupService) {
22
- super(cdr);
23
- this.cdr = cdr;
24
- this.popupService = popupService;
25
- this.dataType = 'number';
26
- // @Input()
27
- // mode: string[] = ['color', 'title'];
28
- this.operators = [];
29
- this.ranges = [];
30
- this.showSeparator = true;
31
- this.decimalNumber = 2;
32
- this.booleanItems = [{ value: true, text: AXTranslator.get('queryBuilder.true') }, { value: false, text: AXTranslator.get('queryBuilder.false') }];
33
- }
34
- onFormInit(e) {
35
- this.form = e.component;
36
- }
37
- ngOnInit() {
38
- this.ranges = this.value ? AXObjectUtil.deepCopy(this.value) : [];
39
- this.updateOperations();
40
- }
41
- updateOperations() {
42
- this.operators = [
43
- {
44
- value: '<',
45
- text: AXTranslator.get('queryBuilder.lt'),
46
- dataTypes: ['string', 'number', 'date']
47
- },
48
- {
49
- value: '<=',
50
- text: AXTranslator.get('queryBuilder.lte'),
51
- dataTypes: ['string', 'number', 'date']
52
- },
53
- {
54
- value: '>',
55
- text: AXTranslator.get('queryBuilder.gt'),
56
- dataTypes: ['string', 'number', 'date']
57
- },
58
- {
59
- value: '>=',
60
- text: AXTranslator.get('queryBuilder.gte'),
61
- dataTypes: ['string', 'number', 'date']
62
- },
63
- {
64
- value: '==',
65
- text: AXTranslator.get('queryBuilder.equal'),
66
- dataTypes: ['string', 'boolean', 'number', 'date']
67
- },
68
- {
69
- value: '<>',
70
- text: AXTranslator.get('queryBuilder.not-equal'),
71
- dataTypes: ['string', 'boolean', 'number', 'date']
72
- }
73
- ].filter(c => c.dataTypes == null || c.dataTypes.includes(this.dataType));
74
- }
75
- ngAfterViewInit() {
76
- this.cdr.detectChanges();
77
- this.onRenderCompleted.emit();
78
- }
79
- handleEditClick(item) {
80
- this.updateOperations();
81
- this.editRow = Object.assign({}, item);
82
- const popup = this.popupService.open(this.tplEdit, {
83
- size: 'sm',
84
- footerButtons: [
85
- {
86
- name: 'confirm',
87
- text: AXTranslator.get('common.confirm'),
88
- style: 'success',
89
- submitBehavior: true,
90
- cancelBehavior: false,
91
- onClick: () => {
92
- this.form.validate().then(c => {
93
- if (c.result) {
94
- super.handleValueChange(this.ranges);
95
- Object.assign(item, this.editRow);
96
- popup.close();
97
- this.editRow = null;
98
- this.cdr.detectChanges();
99
- }
100
- });
101
- }
102
- },
103
- {
104
- name: 'cancel',
105
- text: AXTranslator.get('common.cancel'),
106
- style: 'danger blank',
107
- submitBehavior: false,
108
- cancelBehavior: true,
109
- onClick: () => {
110
- popup.close();
111
- this.editRow = null;
112
- this.cdr.detectChanges();
113
- }
114
- }
115
- ],
116
- title: AXTranslator.get('common.edit')
117
- });
118
- }
119
- handleAddClick() {
120
- this.updateOperations();
121
- this.editRow = {
122
- value: this.getDefaultValue(),
123
- color: null,
124
- operator: '=='
125
- };
126
- const popup = this.popupService.open(this.tplEdit, {
127
- title: AXTranslator.get('common.add-item'),
128
- size: 'sm',
129
- footerButtons: [
130
- {
131
- name: 'confirm',
132
- text: AXTranslator.get('common.confirm'),
133
- style: 'success',
134
- submitBehavior: true,
135
- cancelBehavior: false,
136
- onClick: () => {
137
- this.form.validate().then(c => {
138
- if (c.result) {
139
- super.handleValueChange(this.ranges);
140
- this.ranges.push(this.editRow);
141
- popup.close();
142
- this.editRow = null;
143
- this.cdr.detectChanges();
144
- }
145
- });
146
- }
147
- },
148
- {
149
- name: 'cancel',
150
- text: AXTranslator.get('common.cancel'),
151
- style: 'danger blank',
152
- submitBehavior: false,
153
- cancelBehavior: true,
154
- onClick: () => {
155
- popup.close();
156
- this.editRow = null;
157
- this.cdr.detectChanges();
158
- }
159
- }
160
- ],
161
- });
162
- }
163
- getDefaultValue() {
164
- switch (this.dataType) {
165
- case 'boolean':
166
- return true;
167
- case 'number':
168
- return 0;
169
- default:
170
- return null;
171
- }
172
- }
173
- handleRemoveClick(item) {
174
- this.ranges = this.ranges.filter(c => !(c.value === item.value && c.operator === item.operator));
175
- super.handleValueChange(this.ranges);
176
- }
177
- getTitle(opr) {
178
- const oprItem = this.operators.find(c => c.value === opr);
179
- return oprItem ? AXTranslator.get(oprItem.text) : '';
180
- }
181
- getIcon(opr) {
182
- switch (opr) {
183
- case '==':
184
- return 'fa-equals';
185
- case '<>':
186
- return 'fa-not-equal';
187
- case '<':
188
- return 'fa-less-than';
189
- case '<=':
190
- return 'fa-less-than-equal';
191
- case '>':
192
- return 'fa-greater-than';
193
- case '>=':
194
- return 'fa-greater-than-equal';
195
- default:
196
- return null;
197
- }
198
- }
199
- }
200
- AXConditionalColorPropertyEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXConditionalColorPropertyEditorComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.AXPopupService }], target: i0.ɵɵFactoryTarget.Component });
201
- AXConditionalColorPropertyEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: AXConditionalColorPropertyEditorComponent, selector: "ng-component", inputs: { dataType: "dataType" }, viewQueries: [{ propertyName: "tplEdit", first: true, predicate: ["tplEdit"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div *ngFor=\"let r of ranges\" [style.border-color]=\"r.color\" class=\"range-item\" (click)=\"handleEditClick(r)\">\r\n <div>\r\n <div [style.background-color]=\"r.color\"></div>\r\n <div>{{ r.display }}</div>\r\n </div>\r\n <div [attr.title]=\"getTitle(r.operator)\">\r\n <div class=\"value\">{{r.value}}</div>\r\n <div>\r\n <i class=\"far {{getIcon(r.operator)}}\"></i>\r\n </div>\r\n <div class=\"value-text\">{{'common.value' | trans}}</div>\r\n <div class=\"remove-button\" (click)=\"handleRemoveClick(r)\"><i class=\"far fa-trash-alt\"></i></div>\r\n </div>\r\n</div>\r\n<ax-button icon=\"far fa-plus\" type=\"success outline\" (click)=\"handleAddClick()\">{{ 'common.add-item' | trans }}\r\n</ax-button>\r\n<ng-template #tplEdit>\r\n <ax-page>\r\n <ax-page-content>\r\n <div class=\"container\">\r\n <ax-validation-form (onInit)=\"onFormInit($event)\">\r\n\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <ax-label>{{ 'common.condition' | trans }}</ax-label>\r\n <ax-select-box [(selectedValues)]=\"editRow.operator\" [allowSearch]=\"false\"\r\n [allowNull]=\"false\" [items]=\"operators\">\r\n <ax-validation>\r\n <ax-validation-rule type=\"required\"></ax-validation-rule>\r\n </ax-validation>\r\n </ax-select-box>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <ax-label>{{ 'common.value' | trans }}</ax-label>\r\n <div [ngSwitch]=\"dataType\">\r\n <ax-text-box *ngSwitchCase=\"'string'\" [(value)]=\"editRow.value\">\r\n <ax-validation>\r\n <ax-validation-rule type=\"required\"></ax-validation-rule>\r\n </ax-validation>\r\n </ax-text-box>\r\n <ax-select-box *ngSwitchCase=\"'boolean'\" [(selectedValues)]=\"editRow.value\"\r\n [allowSearch]=\"false\" [allowNull]=\"false\" [items]=\"booleanItems\">\r\n <ax-validation>\r\n <ax-validation-rule type=\"required\"></ax-validation-rule>\r\n </ax-validation>\r\n </ax-select-box>\r\n <ax-number-box *ngSwitchDefault [(value)]=\"editRow.value\"\r\n [showSeparator]=\"showSeparator\" [decimalNumber]=\"decimalNumber\">\r\n <ax-validation>\r\n <ax-validation-rule type=\"required\"></ax-validation-rule>\r\n </ax-validation>\r\n </ax-number-box>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <ax-label>{{ 'conditional-color-property-editor.replaced-color' | trans }}</ax-label>\r\n <ax-color-picker [(value)]=\"editRow.color\">\r\n <ax-validation>\r\n <ax-validation-rule type=\"required\"></ax-validation-rule>\r\n </ax-validation>\r\n </ax-color-picker>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <ax-label>{{ 'conditional-color-property-editor.replaced-title' | trans }}</ax-label>\r\n <ax-text-box [(value)]=\"editRow.display\">\r\n </ax-text-box>\r\n </div>\r\n </div>\r\n </ax-validation-form>\r\n </div>\r\n <div class=\"ax-mrg-md\"></div>\r\n </ax-page-content>\r\n </ax-page>\r\n</ng-template>", styles: [".range-item{border:1px solid var(--ax-gray-color);margin-bottom:5px;display:flex;padding:5px;border-radius:5px;justify-content:space-between;align-items:center;cursor:pointer}.range-item .remove-button{color:var(--ax-danger-color);padding:var(--ax-size-sm);display:flex;justify-content:center;cursor:pointer}.range-item .remove-button:hover{background-color:var(--ax-danger-trans-light-color)}.range-item div:first-child{display:flex;align-items:center}.range-item div:first-child div:first-child{width:25px;height:25px;border-radius:3px}.range-item div:first-child div:last-child{-webkit-margin-start:10px;margin-inline-start:10px}.range-item div:last-child{display:flex;align-items:center}.range-item div:last-child button{background-color:transparent;border:none;cursor:pointer}.range-item div:last-child button i{color:var(--ax-danger-color)}.range-item div:last-child div{min-width:40px}.range-item div:last-child div.value-text{color:var(--ax-success-color)}.range-item div:last-child div.value{color:var(--ax-danger-color)}\n"], components: [{ type: i2.AXButtonComponent, selector: "ax-button", inputs: ["type", "icon", "submitBehavior", "cancelBehavior", "block", "loading", "selected"] }, { type: i3.AXPageComponent, selector: "ax-page" }, { type: i4.AXPageContentComponent, selector: "ax-page-content" }, { type: i5.AXValidationFormComponent, selector: "ax-validation-form", inputs: ["validateOn"], outputs: ["onInit"] }, { type: i6.AXLabelComponent, selector: "ax-label", inputs: ["size"] }, { type: i7.AXSelectBoxComponent, selector: "ax-select-box", inputs: ["showDropDownButton", "rowInputTemplate", "showCheckBox", "readonly", "rtl", "disabled", "placeholder", "size", "allowNull", "textAlign", "bufferSize", "remoteOperation", "fitParent", "dropdownWidth", "dataSource", "validation", "disabledCallback", "allowSearch", "textField", "valueField", "disabledField", "mode", "items", "selectedItems", "selectedValues"], outputs: ["dropdownToggle", "itemsChange", "onBlur", "onFocus", "selectionChanged", "selectedItemsChange", "selectedValuesChange"] }, { type: i8.AXValidationComponent, selector: "ax-validation", inputs: ["rules", "validateOn"], outputs: ["rulesChange", "showMessage"] }, { type: i9.AXValidationRuleComponent, selector: "ax-validation-rule", inputs: ["type", "message", "value", "enabled"] }, { type: i10.AXTextBoxComponent, selector: "ax-text-box", inputs: ["mask", "type", "showMask", "maxLength", "maskGuid", "maskPlaceholder", "maskKeepCharPositions"] }, { type: i11.AXNumberBoxComponent, selector: "ax-number-box", inputs: ["min", "max", "showSeparator", "showCurrency", "showCounter", "scrollWeel", "showDoubleCounter", "maxLength", "intStep", "decimalNumber", "customStep"] }, { type: i12.AXColorPickerComponent, selector: "ax-color-picker", inputs: ["placeholder", "showClear", "label", "readonly", "disabled", "size", "rtl", "validation"] }], directives: [{ type: i13.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i13.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i13.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i13.NgSwitchDefault, selector: "[ngSwitchDefault]" }], pipes: { "trans": i14.AXTranslatorPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
202
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXConditionalColorPropertyEditorComponent, decorators: [{
203
- type: Component,
204
- args: [{ changeDetection: ChangeDetectionStrategy.OnPush, template: "<div *ngFor=\"let r of ranges\" [style.border-color]=\"r.color\" class=\"range-item\" (click)=\"handleEditClick(r)\">\r\n <div>\r\n <div [style.background-color]=\"r.color\"></div>\r\n <div>{{ r.display }}</div>\r\n </div>\r\n <div [attr.title]=\"getTitle(r.operator)\">\r\n <div class=\"value\">{{r.value}}</div>\r\n <div>\r\n <i class=\"far {{getIcon(r.operator)}}\"></i>\r\n </div>\r\n <div class=\"value-text\">{{'common.value' | trans}}</div>\r\n <div class=\"remove-button\" (click)=\"handleRemoveClick(r)\"><i class=\"far fa-trash-alt\"></i></div>\r\n </div>\r\n</div>\r\n<ax-button icon=\"far fa-plus\" type=\"success outline\" (click)=\"handleAddClick()\">{{ 'common.add-item' | trans }}\r\n</ax-button>\r\n<ng-template #tplEdit>\r\n <ax-page>\r\n <ax-page-content>\r\n <div class=\"container\">\r\n <ax-validation-form (onInit)=\"onFormInit($event)\">\r\n\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <ax-label>{{ 'common.condition' | trans }}</ax-label>\r\n <ax-select-box [(selectedValues)]=\"editRow.operator\" [allowSearch]=\"false\"\r\n [allowNull]=\"false\" [items]=\"operators\">\r\n <ax-validation>\r\n <ax-validation-rule type=\"required\"></ax-validation-rule>\r\n </ax-validation>\r\n </ax-select-box>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <ax-label>{{ 'common.value' | trans }}</ax-label>\r\n <div [ngSwitch]=\"dataType\">\r\n <ax-text-box *ngSwitchCase=\"'string'\" [(value)]=\"editRow.value\">\r\n <ax-validation>\r\n <ax-validation-rule type=\"required\"></ax-validation-rule>\r\n </ax-validation>\r\n </ax-text-box>\r\n <ax-select-box *ngSwitchCase=\"'boolean'\" [(selectedValues)]=\"editRow.value\"\r\n [allowSearch]=\"false\" [allowNull]=\"false\" [items]=\"booleanItems\">\r\n <ax-validation>\r\n <ax-validation-rule type=\"required\"></ax-validation-rule>\r\n </ax-validation>\r\n </ax-select-box>\r\n <ax-number-box *ngSwitchDefault [(value)]=\"editRow.value\"\r\n [showSeparator]=\"showSeparator\" [decimalNumber]=\"decimalNumber\">\r\n <ax-validation>\r\n <ax-validation-rule type=\"required\"></ax-validation-rule>\r\n </ax-validation>\r\n </ax-number-box>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <ax-label>{{ 'conditional-color-property-editor.replaced-color' | trans }}</ax-label>\r\n <ax-color-picker [(value)]=\"editRow.color\">\r\n <ax-validation>\r\n <ax-validation-rule type=\"required\"></ax-validation-rule>\r\n </ax-validation>\r\n </ax-color-picker>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <ax-label>{{ 'conditional-color-property-editor.replaced-title' | trans }}</ax-label>\r\n <ax-text-box [(value)]=\"editRow.display\">\r\n </ax-text-box>\r\n </div>\r\n </div>\r\n </ax-validation-form>\r\n </div>\r\n <div class=\"ax-mrg-md\"></div>\r\n </ax-page-content>\r\n </ax-page>\r\n</ng-template>", styles: [".range-item{border:1px solid var(--ax-gray-color);margin-bottom:5px;display:flex;padding:5px;border-radius:5px;justify-content:space-between;align-items:center;cursor:pointer}.range-item .remove-button{color:var(--ax-danger-color);padding:var(--ax-size-sm);display:flex;justify-content:center;cursor:pointer}.range-item .remove-button:hover{background-color:var(--ax-danger-trans-light-color)}.range-item div:first-child{display:flex;align-items:center}.range-item div:first-child div:first-child{width:25px;height:25px;border-radius:3px}.range-item div:first-child div:last-child{-webkit-margin-start:10px;margin-inline-start:10px}.range-item div:last-child{display:flex;align-items:center}.range-item div:last-child button{background-color:transparent;border:none;cursor:pointer}.range-item div:last-child button i{color:var(--ax-danger-color)}.range-item div:last-child div{min-width:40px}.range-item div:last-child div.value-text{color:var(--ax-success-color)}.range-item div:last-child div.value{color:var(--ax-danger-color)}\n"] }]
205
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.AXPopupService }]; }, propDecorators: { tplEdit: [{
206
- type: ViewChild,
207
- args: ['tplEdit']
208
- }], dataType: [{
209
- type: Input
210
- }] } });
211
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZGl0aW9uYWwtY29sb3IuZWRpdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvc3JjL2xpYi9wcm9wZXJ0eS1lZGl0b3IvZWRpdG9ycy9jb25kaXRpb25hbC1jb2xvci1lZGl0b3IvY29uZGl0aW9uYWwtY29sb3IuZWRpdG9yLnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvc3JjL2xpYi9wcm9wZXJ0eS1lZGl0b3IvZWRpdG9ycy9jb25kaXRpb25hbC1jb2xvci1lZGl0b3IvY29uZGl0aW9uYWwtY29sb3IuZWRpdG9yLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLHVCQUF1QixFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNySCxPQUFPLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMxRCxPQUFPLEVBQWMsd0JBQXdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNuRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7QUFvQjlELE1BQU0sT0FBTyx5Q0FBMEMsU0FBUSx3QkFBbUQ7SUF5QjlHLFlBQXNCLEdBQXNCLEVBQVUsWUFBNEI7UUFDOUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRE8sUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFBVSxpQkFBWSxHQUFaLFlBQVksQ0FBZ0I7UUFoQmxGLGFBQVEsR0FBZSxRQUFRLENBQUM7UUFFaEMsV0FBVztRQUNYLHVDQUF1QztRQUV2QyxjQUFTLEdBQWdFLEVBQUUsQ0FBQztRQUU1RSxXQUFNLEdBQThCLEVBQUUsQ0FBQztRQUl2QyxrQkFBYSxHQUFZLElB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QyxDQUFDLEVBQUUsQ0FBQztJQUN6RCxDQUFDO0lBRUQsT0FBTyxDQUFDLEdBQVc7UUFDZixRQUFRLEdBQUcsRUFBRTtZQUNULEtBQUssSUFBSTtnQkFDTCxPQUFPLFdBQVcsQ0FBQztZQUN2QixLQUFLLElBQUk7Z0JBQ0wsT0FBTyxjQUFjLENBQUM7WUFDMUIsS0FBSyxHQUFHO2dCQUNKLE9BQU8sY0FBYyxDQUFDO1lBQzFCLEtBQUssSUFBSTtnQkFDTCxPQUFPLG9CQUFvQixDQUFDO1lBQ2hDLEtBQUssR0FBRztnQkFDSixPQUFPLGlCQUFpQixDQUFDO1lBQzdCLEtBQUssSUFBSTtnQkFDTCxPQUFPLHVCQUF1QixDQUFDO1lBQ25DO2dCQUNJLE9BQU8sSUFBSSxDQUFDO1NBQ25CO0lBQ0wsQ0FBQzs7dUlBOU1RLHlDQUF5QzsySEFBekMseUNBQXlDLGlOQ3ZCdEQsczVJQStFYzs0RkR4REQseUNBQXlDO2tCQUxyRCxTQUFTO3NDQUdXLHVCQUF1QixDQUFDLE1BQU07cUlBUS9DLE9BQU87c0JBRE4sU0FBUzt1QkFBQyxTQUFTO2dCQUlwQixRQUFRO3NCQURQLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENoYW5nZURldGVjdG9yUmVmLCBWaWV3Q2hpbGQsIFRlbXBsYXRlUmVmLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQVhPYmplY3RVdGlsLCBBWFRyYW5zbGF0b3IgfSBmcm9tICdAYWNvcmV4L2NvcmUnO1xyXG5pbXBvcnQgeyBBWERhdGFUeXBlLCBBWFByb3BlcnlFZGl0b3JDb21wb25lbnQgfSBmcm9tICcuLi8uLi9wcm9wZXJ0eS1lZGl0b3IuY2xhc3MnO1xyXG5pbXBvcnQgeyBBWFBvcHVwU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3BvcHVwL3BvcHVwLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBWFZhbGlkYXRpb25Gb3JtQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vdmFsaWRhdGlvbi92YWxpZGF0aW9uLWZvcm0uY29tcG9uZW50JztcclxuXHJcblxyXG5cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQVhDb25kaXRpb25hbENvbG9yTW9kZWwge1xyXG4gICAgY29sb3I6IHN0cmluZztcclxuICAgIG9wZXJhdG9yOiBzdHJpbmc7XHJcbiAgICB2YWx1ZTogYW55O1xyXG4gICAgZGlzcGxheT86IHN0cmluZztcclxufVxyXG5cclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9jb25kaXRpb25hbC1jb2xvci5lZGl0b3IuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9jb25kaXRpb25hbC1jb2xvci5lZGl0b3Iuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIEFYQ29uZGl0aW9uYWxDb2xvclByb3BlcnR5RWRpdG9yQ29tcG9uZW50IGV4dGVuZHMgQVhQcm9wZXJ5RWRpdG9yQ29tcG9uZW50PEFYQ29uZGl0aW9uYWxDb2xvck1vZGVsW10+ICB7XHJcblxyXG5cclxuICAgIGZvcm06IEFYVmFsaWRhdGlvbkZvcm1Db21wb25lbnQ7XHJcblxyXG4gICAgQFZpZXdDaGlsZCgndHBsRWRpdCcpXHJcbiAgICB0cGxFZGl0OiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBkYXRhVHlwZTogQVhEYXRhVHlwZSA9ICdudW1iZXInO1xyXG5cclxuICAgIC8vIEBJbnB1dCgpXHJcbiAgICAvLyBtb2RlOiBzdHJpbmdbXSA9IFsnY29sb3InLCAndGl0bGUnXTtcclxuXHJcbiAgICBvcGVyYXRvcnM6IHsgdmFsdWU6IHN0cmluZywgdGV4dDogc3RyaW5nLCBkYXRhVHlwZXM/OiBBWERhdGFUeXBlW10gfVtdID0gW107XHJcblxyXG4gICAgcmFuZ2VzOiBBWENvbmRpdGlvbmFsQ29sb3JNb2RlbFtdID0gW107XHJcblxyXG4gICAgZWRpdFJvdzogQVhDb25kaXRpb25hbENvbG9yTW9kZWw7XHJcblxyXG4gICAgc2hvd1NlcGFyYXRvcjogYm9vbGVhbiA9IHRydWU7XHJcbiAgICBkZWNpbWFsTnVtYmVyOiBudW1iZXIgPSAyO1xyXG5cclxuICAgIGJvb2xlYW5JdGVtcyA9IFt7IHZhbHVlOiB0cnVlLCB0ZXh0OiBBWFRyYW5zbGF0b3IuZ2V0KCdxdWVyeUJ1aWxkZXIudHJ1ZScpIH0sIHsgdmFsdWU6IGZhbHNlLCB0ZXh0OiBBWFRyYW5zbGF0b3IuZ2V0KCdxdWVyeUJ1aWxkZXIuZmFsc2UnKSB9XTtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHJpdmF0ZSBwb3B1cFNlcnZpY2U6IEFYUG9wdXBTZXJ2aWNlKSB7XHJcbiAgICAgICAgc3VwZXIoY2RyKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgb25Gb3JtSW5pdChlKSB7XHJcbiAgICAgICAgdGhpcy5mb3JtID0gZS5jb21wb25lbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgdGhpcy5yYW5nZXMgPSB0aGlzLnZhbHVlID8gQVhPYmplY3RVdGlsLmRlZXBDb3B5KHRoaXMudmFsdWUpIDogW107XHJcbiAgICAgICAgdGhpcy51cGRhdGVPcGVyYXRpb25zKCk7XHJcbiAgICB9XHJcblxyXG5cclxuXHJcbiAgICB1cGRhdGVPcGVyYXRpb25zKCkge1xyXG4gICAgICAgIHRoaXMub3BlcmF0b3JzID0gW1xyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogJzwnLFxyXG4gICAgICAgICAgICAgICAgdGV4dDogQVhUcmFuc2xhdG9yLmdldCgncXVlcnlCdWlsZGVyLmx0JyksXHJcbiAgICAgICAgICAgICAgICBkYXRhVHlwZXM6IFsnc3RyaW5nJywgJ251bWJlcicsICdkYXRlJ11cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgdmFsdWU6ICc8PScsXHJcbiAgICAgICAgICAgICAgICB0ZXh0OiBBWFRyYW5zbGF0b3IuZ2V0KCdxdWVyeUJ1aWxkZXIubHRlJyksXHJcbiAgICAgICAgICAgICAgICBkYXRhVHlwZXM6IFsnc3RyaW5nJywgJ251bWJlcicsICdkYXRlJ11cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgdmFsdWU6ICc+JyxcclxuICAgICAgICAgICAgICAgIHRleHQ6IEFYVHJhbnNsYXRvci5nZXQoJ3F1ZXJ5QnVpbGRlci5ndCcpLFxyXG4gICAgICAgICAgICAgICAgZGF0YVR5cGVzOiBbJ3N0cmluZycsICdudW1iZXInLCAnZGF0ZSddXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHZhbHVlOiAnPj0nLFxyXG4gICAgICAgICAgICAgICAgdGV4dDogQVhUcmFuc2xhdG9yLmdldCgncXVlcnlCdWlsZGVyLmd0ZScpLFxyXG4gICAgICAgICAgICAgICAgZGF0YVR5cGVzOiBbJ3N0cmluZycsICdudW1iZXInLCAnZGF0ZSddXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHZhbHVlOiAnPT0nLFxyXG4gICAgICAgICAgICAgICAgdGV4dDogQVhUcmFuc2xhdG9yLmdldCgncXVlcnlCdWlsZGVyLmVxdWFsJyksXHJcbiAgICAgICAgICAgICAgICBkYXRhVHlwZXM6IFsnc3RyaW5nJywgJ2Jvb2xlYW4nLCAnbnVtYmVyJywgJ2RhdGUnXVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogJzw+JyxcclxuICAgICAgICAgICAgICAgIHRleHQ6IEFYVHJhbnNsYXRvci5nZXQoJ3F1ZXJ5QnVpbGRlci5ub3QtZXF1YWwnKSxcclxuICAgICAgICAgICAgICAgIGRhdGFUeXBlczogWydzdHJpbmcnLCAnYm9vbGVhbicsICdudW1iZXInLCAnZGF0ZSddXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICBdLmZpbHRlcihjID0+IGMuZGF0YVR5cGVzID09IG51bGwgfHwgYy5kYXRhVHlwZXMuaW5jbHVkZXModGhpcy5kYXRhVHlwZSkpIGFzIGFueTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICB0aGlzLm9uUmVuZGVyQ29tcGxldGVkLmVtaXQoKTtcclxuICAgIH1cclxuXHJcbiAgICBoYW5kbGVFZGl0Q2xpY2soaXRlbTogQVhDb25kaXRpb25hbENvbG9yTW9kZWwpIHtcclxuICAgICAgICB0aGlzLnVwZGF0ZU9wZXJhdGlvbnMoKTtcclxuICAgICAgICB0aGlzLmVkaXRSb3cgPSBPYmplY3QuYXNzaWduKHt9LCBpdGVtKTtcclxuICAgICAgICBjb25zdCBwb3B1cCA9IHRoaXMucG9wdXBTZXJ2aWNlLm9wZW4odGhpcy50cGxFZGl0LCB7XHJcbiAgICAgICAgICAgIHNpemU6ICdzbScsXHJcbiAgICAgICAgICAgIGZvb3RlckJ1dHRvbnM6IFtcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICBuYW1lOiAnY29uZmlybScsXHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dDogQVhUcmFuc2xhdG9yLmdldCgnY29tbW9uLmNvbmZpcm0nKSxcclxuICAgICAgICAgICAgICAgICAgICBzdHlsZTogJ3N1Y2Nlc3MnLFxyXG4gICAgICAgICAgICAgICAgICAgIHN1Ym1pdEJlaGF2aW9yOiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgICAgIGNhbmNlbEJlaGF2aW9yOiBmYWxzZSxcclxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrOiAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybS52YWxpZGF0ZSgpLnRoZW4oYyA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoYy5yZXN1bHQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdXBlci5oYW5kbGVWYWx1ZUNoYW5nZSh0aGlzLnJhbmdlcyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT2JqZWN0LmFzc2lnbihpdGVtLCB0aGlzLmVkaXRSb3cpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvcHVwLmNsb3NlKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5lZGl0Um93ID0gbnVsbDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogJ2NhbmNlbCcsXHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dDogQVhUcmFuc2xhdG9yLmdldCgnY29tbW9uLmNhbmNlbCcpLFxyXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlOiAnZGFuZ2VyIGJsYW5rJyxcclxuICAgICAgICAgICAgICAgICAgICBzdWJtaXRCZWhhdmlvcjogZmFsc2UsXHJcbiAgICAgICAgICAgICAgICAgICAgY2FuY2VsQmVoYXZpb3I6IHRydWUsXHJcbiAgICAgICAgICAgICAgICAgICAgb25DbGljazogKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3B1cC5jbG9zZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmVkaXRSb3cgPSBudWxsO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICB0aXRsZTogQVhUcmFuc2xhdG9yLmdldCgnY29tbW9uLmVkaXQnKVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGhhbmRsZUFkZENsaWNrKCkge1xyXG4gICAgICAgIHRoaXMudXBkYXRlT3BlcmF0aW9ucygpO1xyXG4gICAgICAgIHRoaXMuZWRpdFJvdyA9IHtcclxuICAgICAgICAgICAgdmFsdWU6IHRoaXMuZ2V0RGVmYXVsdFZhbHVlKCksXHJcbiAgICAgICAgICAgIGNvbG9yOiBudWxsLFxyXG4gICAgICAgICAgICBvcGVyYXRvcjogJz09J1xyXG4gICAgICAgIH07XHJcbiAgICAgICAgY29uc3QgcG9wdXAgPSB0aGlzLnBvcHVwU2VydmljZS5vcGVuKHRoaXMudHBsRWRpdCwge1xyXG4gICAgICAgICAgICB0aXRsZTogQVhUcmFuc2xhdG9yLmdldCgnY29tbW9uLmFkZC1pdGVtJyksXHJcbiAgICAgICAgICAgIHNpemU6ICdzbScsXHJcbiAgICAgICAgICAgIGZvb3RlckJ1dHRvbnM6IFtcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICBuYW1lOiAnY29uZmlybScsXHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dDogQVhUcmFuc2xhdG9yLmdldCgnY29tbW9uLmNvbmZpcm0nKSxcclxuICAgICAgICAgICAgICAgICAgICBzdHlsZTogJ3N1Y2Nlc3MnLFxyXG4gICAgICAgICAgICAgICAgICAgIHN1Ym1pdEJlaGF2aW9yOiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgICAgIGNhbmNlbEJlaGF2aW9yOiBmYWxzZSxcclxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrOiAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybS52YWxpZGF0ZSgpLnRoZW4oYyA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoYy5yZXN1bHQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdXBlci5oYW5kbGVWYWx1ZUNoYW5nZSh0aGlzLnJhbmdlcyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5yYW5nZXMucHVzaCh0aGlzLmVkaXRSb3cpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvcHVwLmNsb3NlKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5lZGl0Um93ID0gbnVsbDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogJ2NhbmNlbCcsXHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dDogQVhUcmFuc2xhdG9yLmdldCgnY29tbW9uLmNhbmNlbCcpLFxyXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlOiAnZGFuZ2VyIGJsYW5rJyxcclxuICAgICAgICAgICAgICAgICAgICBzdWJtaXRCZWhhdmlvcjogZmFsc2UsXHJcbiAgICAgICAgICAgICAgICAgICAgY2FuY2VsQmVoYXZpb3I6IHRydWUsXHJcbiAgICAgICAgICAgICAgICAgICAgb25DbGljazogKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3B1cC5jbG9zZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmVkaXRSb3cgPSBudWxsO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBdLFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgZ2V0RGVmYXVsdFZhbHVlKCk6IGFueSB7XHJcbiAgICAgICAgc3dpdGNoICh0aGlzLmRhdGFUeXBlKSB7XHJcbiAgICAgICAgICAgIGNhc2UgJ2Jvb2xlYW4nOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgICAgIGNhc2UgJ251bWJlcic6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gMDtcclxuICAgICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBoYW5kbGVSZW1vdmVDbGljayhpdGVtOiBBWENvbmRpdGlvbmFsQ29sb3JNb2RlbCkge1xyXG4gICAgICAgIHRoaXMucmFuZ2VzID0gdGhpcy5yYW5nZXMuZmlsdGVyKGMgPT4gIShjLnZhbHVlID09PSBpdGVtLnZhbHVlICYmIGMub3BlcmF0b3IgPT09IGl0ZW0ub3BlcmF0b3IpKTtcclxuICAgICAgICBzdXBlci5oYW5kbGVWYWx1ZUNoYW5nZSh0aGlzLnJhbmdlcyk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIGdldFRpdGxlKG9wcjogc3RyaW5nKSB7XHJcbiAgICAgICAgY29uc3Qgb3BySXRlbSA9IHRoaXMub3BlcmF0b3JzLmZpbmQoYyA9PiBjLnZhbHVlID09PSBvcHIpO1xyXG4gICAgICAgIHJldHVybiBvcHJJdGVtID8gQVhUcmFuc2xhdG9yLmdldChvcHJJdGVtLnRleHQpIDogJyc7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0SWNvbihvcHI6IHN0cmluZykge1xyXG4gICAgICAgIHN3aXRjaCAob3ByKSB7XHJcbiAgICAgICAgICAgIGNhc2UgJz09JzpcclxuICAgICAgICAgICAgICAgIHJldHVybiAnZmEtZXF1YWxzJztcclxuICAgICAgICAgICAgY2FzZSAnPD4nOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuICdmYS1ub3QtZXF1YWwnO1xyXG4gICAgICAgICAgICBjYXNlICc8JzpcclxuICAgICAgICAgICAgICAgIHJldHVybiAnZmEtbGVzcy10aGFuJztcclxuICAgICAgICAgICAgY2FzZSAnPD0nOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuICdmYS1sZXNzLXRoYW4tZXF1YWwnO1xyXG4gICAgICAgICAgICBjYXNlICc+JzpcclxuICAgICAgICAgICAgICAgIHJldHVybiAnZmEtZ3JlYXRlci10aGFuJztcclxuICAgICAgICAgICAgY2FzZSAnPj0nOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuICdmYS1ncmVhdGVyLXRoYW4tZXF1YWwnO1xyXG4gICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxufVxyXG4iLCI8ZGl2ICpuZ0Zvcj1cImxldCByIG9mIHJhbmdlc1wiIFtzdHlsZS5ib3JkZXItY29sb3JdPVwici5jb2xvclwiIGNsYXNzPVwicmFuZ2UtaXRlbVwiIChjbGljayk9XCJoYW5kbGVFZGl0Q2xpY2socilcIj5cclxuICAgIDxkaXY+XHJcbiAgICAgICAgPGRpdiBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJyLmNvbG9yXCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdj57eyByLmRpc3BsYXkgfX08L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBbYXR0ci50aXRsZV09XCJnZXRUaXRsZShyLm9wZXJhdG9yKVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ2YWx1ZVwiPnt7ci52YWx1ZX19PC9kaXY+XHJcbiAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgPGkgY2xhc3M9XCJmYXIge3tnZXRJY29uKHIub3BlcmF0b3IpfX1cIj48L2k+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInZhbHVlLXRleHRcIj57eydjb21tb24udmFsdWUnIHwgdHJhbnN9fTwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyZW1vdmUtYnV0dG9uXCIgKGNsaWNrKT1cImhhbmRsZVJlbW92ZUNsaWNrKHIpXCI+PGkgY2xhc3M9XCJmYXIgZmEtdHJhc2gtYWx0XCI+PC9pPjwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG48YXgtYnV0dG9uIGljb249XCJmYXIgZmEtcGx1c1wiIHR5cGU9XCJzdWNjZXNzIG91dGxpbmVcIiAoY2xpY2spPVwiaGFuZGxlQWRkQ2xpY2soKVwiPnt7ICdjb21tb24uYWRkLWl0ZW0nIHwgdHJhbnMgIH19XHJcbjwvYXgtYnV0dG9uPlxyXG48bmctdGVtcGxhdGUgI3RwbEVkaXQ+XHJcbiAgICA8YXgtcGFnZT5cclxuICAgICAgICA8YXgtcGFnZS1jb250ZW50PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgICAgICA8YXgtdmFsaWRhdGlvbi1mb3JtIChvbkluaXQpPVwib25Gb3JtSW5pdCgkZXZlbnQpXCI+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGF4LWxhYmVsPnt7ICdjb21tb24uY29uZGl0aW9uJyB8IHRyYW5zICB9fTwvYXgtbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXgtc2VsZWN0LWJveCBbKHNlbGVjdGVkVmFsdWVzKV09XCJlZGl0Um93Lm9wZXJhdG9yXCIgW2FsbG93U2VhcmNoXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWxsb3dOdWxsXT1cImZhbHNlXCIgW2l0ZW1zXT1cIm9wZXJhdG9yc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxheC12YWxpZGF0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXgtdmFsaWRhdGlvbi1ydWxlIHR5cGU9XCJyZXF1aXJlZFwiPjwvYXgtdmFsaWRhdGlvbi1ydWxlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXgtdmFsaWRhdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXgtc2VsZWN0LWJveD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXgtbGFiZWw+e3sgJ2NvbW1vbi52YWx1ZScgfCB0cmFucyAgfX08L2F4LWxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBbbmdTd2l0Y2hdPVwiZGF0YVR5cGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXgtdGV4dC1ib3ggKm5nU3dpdGNoQ2FzZT1cIidzdHJpbmcnXCIgWyh2YWx1ZSldPVwiZWRpdFJvdy52YWx1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXgtdmFsaWRhdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxheC12YWxpZGF0aW9uLXJ1bGUgdHlwZT1cInJlcXVpcmVkXCI+PC9heC12YWxpZGF0aW9uLXJ1bGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXgtdmFsaWRhdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2F4LXRleHQtYm94PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxheC1zZWxlY3QtYm94ICpuZ1N3aXRjaENhc2U9XCInYm9vbGVhbidcIiBbKHNlbGVjdGVkVmFsdWVzKV09XCJlZGl0Um93LnZhbHVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FsbG93U2VhcmNoXT1cImZhbHNlXCIgW2FsbG93TnVsbF09XCJmYWxzZVwiIFtpdGVtc109XCJib29sZWFuSXRlbXNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGF4LXZhbGlkYXRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXgtdmFsaWRhdGlvbi1ydWxlIHR5cGU9XCJyZXF1aXJlZFwiPjwvYXgtdmFsaWRhdGlvbi1ydWxlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2F4LXZhbGlkYXRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9heC1zZWxlY3QtYm94PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxheC1udW1iZXItYm94ICpuZ1N3aXRjaERlZmF1bHQgWyh2YWx1ZSldPVwiZWRpdFJvdy52YWx1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzaG93U2VwYXJhdG9yXT1cInNob3dTZXBhcmF0b3JcIiBbZGVjaW1hbE51bWJlcl09XCJkZWNpbWFsTnVtYmVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxheC12YWxpZGF0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGF4LXZhbGlkYXRpb24tcnVsZSB0eXBlPVwicmVxdWlyZWRcIj48L2F4LXZhbGlkYXRpb24tcnVsZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9heC12YWxpZGF0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXgtbnVtYmVyLWJveD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxheC1sYWJlbD57eyAnY29uZGl0aW9uYWwtY29sb3ItcHJvcGVydHktZWRpdG9yLnJlcGxhY2VkLWNvbG9yJyB8IHRyYW5zICB9fTwvYXgtbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXgtY29sb3ItcGlja2VyIFsodmFsdWUpXT1cImVkaXRSb3cuY29sb3JcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXgtdmFsaWRhdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGF4LXZhbGlkYXRpb24tcnVsZSB0eXBlPVwicmVxdWlyZWRcIj48L2F4LXZhbGlkYXRpb24tcnVsZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2F4LXZhbGlkYXRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2F4LWNvbG9yLXBpY2tlcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXgtbGFiZWw+e3sgJ2NvbmRpdGlvbmFsLWNvbG9yLXByb3BlcnR5LWVkaXRvci5yZXBsYWNlZC10aXRsZScgfCB0cmFucyAgfX08L2F4LWxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGF4LXRleHQtYm94IFsodmFsdWUpXT1cImVkaXRSb3cuZGlzcGxheVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9heC10ZXh0LWJveD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2F4LXZhbGlkYXRpb24tZm9ybT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1tcmctbWRcIj48L2Rpdj5cclxuICAgICAgICA8L2F4LXBhZ2UtY29udGVudD5cclxuICAgIDwvYXgtcGFnZT5cclxuPC9uZy10ZW1wbGF0ZT4iXX0=
1
+ import { Component, ChangeDetectorRef, ViewChild, TemplateRef, ChangeDetectionStrategy, Input } from '@angular/core';
2
+ import { AXObjectUtil, AXTranslator } from '@acorex/core';
3
+ import { AXProperyEditorComponent } from '../../property-editor.class';
4
+ import { AXPopupService } from '../../../popup/popup.service';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "../../../popup/popup.service";
7
+ import * as i2 from "../../../button/button.component";
8
+ import * as i3 from "../../../page/page.component";
9
+ import * as i4 from "../../../page/content.component";
10
+ import * as i5 from "../../../validation/validation-form.component";
11
+ import * as i6 from "../../../label/label.component";
12
+ import * as i7 from "../../../selectbox/selectbox.component";
13
+ import * as i8 from "../../../validation/validation.component";
14
+ import * as i9 from "../../../validation/validation-rule.widget";
15
+ import * as i10 from "../../../textbox/textbox.component";
16
+ import * as i11 from "../../../number-box/number-box.component";
17
+ import * as i12 from "../../../color-picker/color-picker.component";
18
+ import * as i13 from "@angular/common";
19
+ import * as i14 from "@acorex/core";
20
+ export class AXConditionalColorPropertyEditorComponent extends AXProperyEditorComponent {
21
+ constructor(cdr, popupService) {
22
+ super(cdr);
23
+ this.cdr = cdr;
24
+ this.popupService = popupService;
25
+ this.dataType = 'number';
26
+ // @Input()
27
+ // mode: string[] = ['color', 'title'];
28
+ this.operators = [];
29
+ this.ranges = [];
30
+ this.showSeparator = true;
31
+ this.decimalNumber = 2;
32
+ this.booleanItems = [{ value: true, text: AXTranslator.get('queryBuilder.true') }, { value: false, text: AXTranslator.get('queryBuilder.false') }];
33
+ }
34
+ onFormInit(e) {
35
+ this.form = e.component;
36
+ }
37
+ ngOnInit() {
38
+ this.ranges = this.value ? AXObjectUtil.deepCopy(this.value) : [];
39
+ this.updateOperations();
40
+ }
41
+ updateOperations() {
42
+ this.operators = [
43
+ {
44
+ value: '<',
45
+ text: AXTranslator.get('queryBuilder.lt'),
46
+ dataTypes: ['string', 'number', 'date']
47
+ },
48
+ {
49
+ value: '<=',
50
+ text: AXTranslator.get('queryBuilder.lte'),
51
+ dataTypes: ['string', 'number', 'date']
52
+ },
53
+ {
54
+ value: '>',
55
+ text: AXTranslator.get('queryBuilder.gt'),
56
+ dataTypes: ['string', 'number', 'date']
57
+ },
58
+ {
59
+ value: '>=',
60
+ text: AXTranslator.get('queryBuilder.gte'),
61
+ dataTypes: ['string', 'number', 'date']
62
+ },
63
+ {
64
+ value: '==',
65
+ text: AXTranslator.get('queryBuilder.equal'),
66
+ dataTypes: ['string', 'boolean', 'number', 'date']
67
+ },
68
+ {
69
+ value: '<>',
70
+ text: AXTranslator.get('queryBuilder.not-equal'),
71
+ dataTypes: ['string', 'boolean', 'number', 'date']
72
+ }
73
+ ].filter(c => c.dataTypes == null || c.dataTypes.includes(this.dataType));
74
+ }
75
+ ngAfterViewInit() {
76
+ this.cdr.detectChanges();
77
+ this.onRenderCompleted.emit();
78
+ }
79
+ handleEditClick(item) {
80
+ this.updateOperations();
81
+ this.editRow = Object.assign({}, item);
82
+ const popup = this.popupService.open(this.tplEdit, {
83
+ size: 'sm',
84
+ footerButtons: [
85
+ {
86
+ name: 'confirm',
87
+ text: AXTranslator.get('common.confirm'),
88
+ style: 'success',
89
+ submitBehavior: true,
90
+ cancelBehavior: false,
91
+ onClick: () => {
92
+ this.form.validate().then(c => {
93
+ if (c.result) {
94
+ super.handleValueChange(this.ranges);
95
+ Object.assign(item, this.editRow);
96
+ popup.close();
97
+ this.editRow = null;
98
+ this.cdr.detectChanges();
99
+ }
100
+ });
101
+ }
102
+ },
103
+ {
104
+ name: 'cancel',
105
+ text: AXTranslator.get('common.cancel'),
106
+ style: 'danger blank',
107
+ submitBehavior: false,
108
+ cancelBehavior: true,
109
+ onClick: () => {
110
+ popup.close();
111
+ this.editRow = null;
112
+ this.cdr.detectChanges();
113
+ }
114
+ }
115
+ ],
116
+ title: AXTranslator.get('common.edit')
117
+ });
118
+ }
119
+ handleAddClick() {
120
+ this.updateOperations();
121
+ this.editRow = {
122
+ value: this.getDefaultValue(),
123
+ color: null,
124
+ operator: '=='
125
+ };
126
+ const popup = this.popupService.open(this.tplEdit, {
127
+ title: AXTranslator.get('common.add-item'),
128
+ size: 'sm',
129
+ footerButtons: [
130
+ {
131
+ name: 'confirm',
132
+ text: AXTranslator.get('common.confirm'),
133
+ style: 'success',
134
+ submitBehavior: true,
135
+ cancelBehavior: false,
136
+ onClick: () => {
137
+ this.form.validate().then(c => {
138
+ if (c.result) {
139
+ super.handleValueChange(this.ranges);
140
+ this.ranges.push(this.editRow);
141
+ popup.close();
142
+ this.editRow = null;
143
+ this.cdr.detectChanges();
144
+ }
145
+ });
146
+ }
147
+ },
148
+ {
149
+ name: 'cancel',
150
+ text: AXTranslator.get('common.cancel'),
151
+ style: 'danger blank',
152
+ submitBehavior: false,
153
+ cancelBehavior: true,
154
+ onClick: () => {
155
+ popup.close();
156
+ this.editRow = null;
157
+ this.cdr.detectChanges();
158
+ }
159
+ }
160
+ ],
161
+ });
162
+ }
163
+ getDefaultValue() {
164
+ switch (this.dataType) {
165
+ case 'boolean':
166
+ return true;
167
+ case 'number':
168
+ return 0;
169
+ default:
170
+ return null;
171
+ }
172
+ }
173
+ handleRemoveClick(item) {
174
+ this.ranges = this.ranges.filter(c => !(c.value === item.value && c.operator === item.operator));
175
+ super.handleValueChange(this.ranges);
176
+ }
177
+ getTitle(opr) {
178
+ const oprItem = this.operators.find(c => c.value === opr);
179
+ return oprItem ? AXTranslator.get(oprItem.text) : '';
180
+ }
181
+ getIcon(opr) {
182
+ switch (opr) {
183
+ case '==':
184
+ return 'fa-equals';
185
+ case '<>':
186
+ return 'fa-not-equal';
187
+ case '<':
188
+ return 'fa-less-than';
189
+ case '<=':
190
+ return 'fa-less-than-equal';
191
+ case '>':
192
+ return 'fa-greater-than';
193
+ case '>=':
194
+ return 'fa-greater-than-equal';
195
+ default:
196
+ return null;
197
+ }
198
+ }
199
+ }
200
+ AXConditionalColorPropertyEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXConditionalColorPropertyEditorComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.AXPopupService }], target: i0.ɵɵFactoryTarget.Component });
201
+ AXConditionalColorPropertyEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: AXConditionalColorPropertyEditorComponent, selector: "ng-component", inputs: { dataType: "dataType" }, viewQueries: [{ propertyName: "tplEdit", first: true, predicate: ["tplEdit"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div *ngFor=\"let r of ranges\" [style.border-color]=\"r.color\" class=\"range-item\" (click)=\"handleEditClick(r)\">\n <div>\n <div [style.background-color]=\"r.color\"></div>\n <div>{{ r.display }}</div>\n </div>\n <div [attr.title]=\"getTitle(r.operator)\">\n <div class=\"value\">{{r.value}}</div>\n <div>\n <i class=\"far {{getIcon(r.operator)}}\"></i>\n </div>\n <div class=\"value-text\">{{'common.value' | trans}}</div>\n <div class=\"remove-button\" (click)=\"handleRemoveClick(r)\"><i class=\"far fa-trash-alt\"></i></div>\n </div>\n</div>\n<ax-button icon=\"far fa-plus\" type=\"success outline\" (click)=\"handleAddClick()\">{{ 'common.add-item' | trans }}\n</ax-button>\n<ng-template #tplEdit>\n <ax-page>\n <ax-page-content>\n <div class=\"container\">\n <ax-validation-form (onInit)=\"onFormInit($event)\">\n\n <div class=\"row\">\n <div class=\"col-12\">\n <ax-label>{{ 'common.condition' | trans }}</ax-label>\n <ax-select-box [(selectedValues)]=\"editRow.operator\" [allowSearch]=\"false\"\n [allowNull]=\"false\" [items]=\"operators\">\n <ax-validation>\n <ax-validation-rule type=\"required\"></ax-validation-rule>\n </ax-validation>\n </ax-select-box>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-12\">\n <ax-label>{{ 'common.value' | trans }}</ax-label>\n <div [ngSwitch]=\"dataType\">\n <ax-text-box *ngSwitchCase=\"'string'\" [(value)]=\"editRow.value\">\n <ax-validation>\n <ax-validation-rule type=\"required\"></ax-validation-rule>\n </ax-validation>\n </ax-text-box>\n <ax-select-box *ngSwitchCase=\"'boolean'\" [(selectedValues)]=\"editRow.value\"\n [allowSearch]=\"false\" [allowNull]=\"false\" [items]=\"booleanItems\">\n <ax-validation>\n <ax-validation-rule type=\"required\"></ax-validation-rule>\n </ax-validation>\n </ax-select-box>\n <ax-number-box *ngSwitchDefault [(value)]=\"editRow.value\"\n [showSeparator]=\"showSeparator\" [decimalNumber]=\"decimalNumber\">\n <ax-validation>\n <ax-validation-rule type=\"required\"></ax-validation-rule>\n </ax-validation>\n </ax-number-box>\n </div>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-12\">\n <ax-label>{{ 'conditional-color-property-editor.replaced-color' | trans }}</ax-label>\n <ax-color-picker [(value)]=\"editRow.color\">\n <ax-validation>\n <ax-validation-rule type=\"required\"></ax-validation-rule>\n </ax-validation>\n </ax-color-picker>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-12\">\n <ax-label>{{ 'conditional-color-property-editor.replaced-title' | trans }}</ax-label>\n <ax-text-box [(value)]=\"editRow.display\">\n </ax-text-box>\n </div>\n </div>\n </ax-validation-form>\n </div>\n <div class=\"ax-mrg-md\"></div>\n </ax-page-content>\n </ax-page>\n</ng-template>", styles: [".range-item{border:1px solid var(--ax-gray-color);margin-bottom:5px;display:flex;padding:5px;border-radius:5px;justify-content:space-between;align-items:center;cursor:pointer}.range-item .remove-button{color:var(--ax-danger-color);padding:var(--ax-size-sm);display:flex;justify-content:center;cursor:pointer}.range-item .remove-button:hover{background-color:var(--ax-danger-trans-light-color)}.range-item div:first-child{display:flex;align-items:center}.range-item div:first-child div:first-child{width:25px;height:25px;border-radius:3px}.range-item div:first-child div:last-child{-webkit-margin-start:10px;margin-inline-start:10px}.range-item div:last-child{display:flex;align-items:center}.range-item div:last-child button{background-color:transparent;border:none;cursor:pointer}.range-item div:last-child button i{color:var(--ax-danger-color)}.range-item div:last-child div{min-width:40px}.range-item div:last-child div.value-text{color:var(--ax-success-color)}.range-item div:last-child div.value{color:var(--ax-danger-color)}\n"], components: [{ type: i2.AXButtonComponent, selector: "ax-button", inputs: ["type", "icon", "submitBehavior", "cancelBehavior", "block", "loading", "selected"] }, { type: i3.AXPageComponent, selector: "ax-page" }, { type: i4.AXPageContentComponent, selector: "ax-page-content" }, { type: i5.AXValidationFormComponent, selector: "ax-validation-form", inputs: ["validateOn"], outputs: ["onInit"] }, { type: i6.AXLabelComponent, selector: "ax-label", inputs: ["size"] }, { type: i7.AXSelectBoxComponent, selector: "ax-select-box", inputs: ["showDropDownButton", "rowInputTemplate", "showCheckBox", "readonly", "rtl", "disabled", "placeholder", "size", "allowNull", "textAlign", "bufferSize", "remoteOperation", "fitParent", "dropdownWidth", "dataSource", "validation", "disabledCallback", "allowSearch", "textField", "valueField", "disabledField", "mode", "items", "selectedItems", "selectedValues"], outputs: ["dropdownToggle", "itemsChange", "onBlur", "onFocus", "selectionChanged", "selectedItemsChange", "selectedValuesChange"] }, { type: i8.AXValidationComponent, selector: "ax-validation", inputs: ["rules", "validateOn"], outputs: ["rulesChange", "showMessage"] }, { type: i9.AXValidationRuleComponent, selector: "ax-validation-rule", inputs: ["type", "message", "value", "enabled"] }, { type: i10.AXTextBoxComponent, selector: "ax-text-box", inputs: ["mask", "type", "showMask", "maxLength", "maskGuid", "maskPlaceholder", "maskKeepCharPositions"] }, { type: i11.AXNumberBoxComponent, selector: "ax-number-box", inputs: ["min", "max", "showSeparator", "showCurrency", "showCounter", "scrollWeel", "showDoubleCounter", "maxLength", "intStep", "decimalNumber", "customStep"] }, { type: i12.AXColorPickerComponent, selector: "ax-color-picker", inputs: ["placeholder", "showClear", "label", "readonly", "disabled", "size", "rtl", "validation"] }], directives: [{ type: i13.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i13.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i13.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i13.NgSwitchDefault, selector: "[ngSwitchDefault]" }], pipes: { "trans": i14.AXTranslatorPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
202
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXConditionalColorPropertyEditorComponent, decorators: [{
203
+ type: Component,
204
+ args: [{ changeDetection: ChangeDetectionStrategy.OnPush, template: "<div *ngFor=\"let r of ranges\" [style.border-color]=\"r.color\" class=\"range-item\" (click)=\"handleEditClick(r)\">\n <div>\n <div [style.background-color]=\"r.color\"></div>\n <div>{{ r.display }}</div>\n </div>\n <div [attr.title]=\"getTitle(r.operator)\">\n <div class=\"value\">{{r.value}}</div>\n <div>\n <i class=\"far {{getIcon(r.operator)}}\"></i>\n </div>\n <div class=\"value-text\">{{'common.value' | trans}}</div>\n <div class=\"remove-button\" (click)=\"handleRemoveClick(r)\"><i class=\"far fa-trash-alt\"></i></div>\n </div>\n</div>\n<ax-button icon=\"far fa-plus\" type=\"success outline\" (click)=\"handleAddClick()\">{{ 'common.add-item' | trans }}\n</ax-button>\n<ng-template #tplEdit>\n <ax-page>\n <ax-page-content>\n <div class=\"container\">\n <ax-validation-form (onInit)=\"onFormInit($event)\">\n\n <div class=\"row\">\n <div class=\"col-12\">\n <ax-label>{{ 'common.condition' | trans }}</ax-label>\n <ax-select-box [(selectedValues)]=\"editRow.operator\" [allowSearch]=\"false\"\n [allowNull]=\"false\" [items]=\"operators\">\n <ax-validation>\n <ax-validation-rule type=\"required\"></ax-validation-rule>\n </ax-validation>\n </ax-select-box>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-12\">\n <ax-label>{{ 'common.value' | trans }}</ax-label>\n <div [ngSwitch]=\"dataType\">\n <ax-text-box *ngSwitchCase=\"'string'\" [(value)]=\"editRow.value\">\n <ax-validation>\n <ax-validation-rule type=\"required\"></ax-validation-rule>\n </ax-validation>\n </ax-text-box>\n <ax-select-box *ngSwitchCase=\"'boolean'\" [(selectedValues)]=\"editRow.value\"\n [allowSearch]=\"false\" [allowNull]=\"false\" [items]=\"booleanItems\">\n <ax-validation>\n <ax-validation-rule type=\"required\"></ax-validation-rule>\n </ax-validation>\n </ax-select-box>\n <ax-number-box *ngSwitchDefault [(value)]=\"editRow.value\"\n [showSeparator]=\"showSeparator\" [decimalNumber]=\"decimalNumber\">\n <ax-validation>\n <ax-validation-rule type=\"required\"></ax-validation-rule>\n </ax-validation>\n </ax-number-box>\n </div>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-12\">\n <ax-label>{{ 'conditional-color-property-editor.replaced-color' | trans }}</ax-label>\n <ax-color-picker [(value)]=\"editRow.color\">\n <ax-validation>\n <ax-validation-rule type=\"required\"></ax-validation-rule>\n </ax-validation>\n </ax-color-picker>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-12\">\n <ax-label>{{ 'conditional-color-property-editor.replaced-title' | trans }}</ax-label>\n <ax-text-box [(value)]=\"editRow.display\">\n </ax-text-box>\n </div>\n </div>\n </ax-validation-form>\n </div>\n <div class=\"ax-mrg-md\"></div>\n </ax-page-content>\n </ax-page>\n</ng-template>", styles: [".range-item{border:1px solid var(--ax-gray-color);margin-bottom:5px;display:flex;padding:5px;border-radius:5px;justify-content:space-between;align-items:center;cursor:pointer}.range-item .remove-button{color:var(--ax-danger-color);padding:var(--ax-size-sm);display:flex;justify-content:center;cursor:pointer}.range-item .remove-button:hover{background-color:var(--ax-danger-trans-light-color)}.range-item div:first-child{display:flex;align-items:center}.range-item div:first-child div:first-child{width:25px;height:25px;border-radius:3px}.range-item div:first-child div:last-child{-webkit-margin-start:10px;margin-inline-start:10px}.range-item div:last-child{display:flex;align-items:center}.range-item div:last-child button{background-color:transparent;border:none;cursor:pointer}.range-item div:last-child button i{color:var(--ax-danger-color)}.range-item div:last-child div{min-width:40px}.range-item div:last-child div.value-text{color:var(--ax-success-color)}.range-item div:last-child div.value{color:var(--ax-danger-color)}\n"] }]
205
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.AXPopupService }]; }, propDecorators: { tplEdit: [{
206
+ type: ViewChild,
207
+ args: ['tplEdit']
208
+ }], dataType: [{
209
+ type: Input
210
+ }] } });
211
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZGl0aW9uYWwtY29sb3IuZWRpdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvc3JjL2xpYi9wcm9wZXJ0eS1lZGl0b3IvZWRpdG9ycy9jb25kaXRpb25hbC1jb2xvci1lZGl0b3IvY29uZGl0aW9uYWwtY29sb3IuZWRpdG9yLnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvc3JjL2xpYi9wcm9wZXJ0eS1lZGl0b3IvZWRpdG9ycy9jb25kaXRpb25hbC1jb2xvci1lZGl0b3IvY29uZGl0aW9uYWwtY29sb3IuZWRpdG9yLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLHVCQUF1QixFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNySCxPQUFPLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMxRCxPQUFPLEVBQWMsd0JBQXdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNuRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7QUFvQjlELE1BQU0sT0FBTyx5Q0FBMEMsU0FBUSx3QkFBbUQ7SUF5QjlHLFlBQXNCLEdBQXNCLEVBQVUsWUFBNEI7UUFDOUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRE8sUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFBVSxpQkFBWSxHQUFaLFlBQVksQ0FBZ0I7UUFoQmxGLGFBQVEsR0FBZSxRQUFRLENBQUM7UUFFaEMsV0FBVztRQUNYLHVDQUF1QztRQUV2QyxjQUFTLEdBQWdFLEVBQUUsQ0FBQztRQUU1RSxXQUFNLEdBQThCLEVBQUUsQ0FBQztRQUl2QyxrQkFBYSxHQUFZLElB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QyxDQUFDLEVBQUUsQ0FBQztJQUN6RCxDQUFDO0lBRUQsT0FBTyxDQUFDLEdBQVc7UUFDZixRQUFRLEdBQUcsRUFBRTtZQUNULEtBQUssSUFBSTtnQkFDTCxPQUFPLFdBQVcsQ0FBQztZQUN2QixLQUFLLElBQUk7Z0JBQ0wsT0FBTyxjQUFjLENBQUM7WUFDMUIsS0FBSyxHQUFHO2dCQUNKLE9BQU8sY0FBYyxDQUFDO1lBQzFCLEtBQUssSUFBSTtnQkFDTCxPQUFPLG9CQUFvQixDQUFDO1lBQ2hDLEtBQUssR0FBRztnQkFDSixPQUFPLGlCQUFpQixDQUFDO1lBQzdCLEtBQUssSUFBSTtnQkFDTCxPQUFPLHVCQUF1QixDQUFDO1lBQ25DO2dCQUNJLE9BQU8sSUFBSSxDQUFDO1NBQ25CO0lBQ0wsQ0FBQzs7dUlBOU1RLHlDQUF5QzsySEFBekMseUNBQXlDLGlOQ3ZCdEQsd3ZJQStFYzs0RkR4REQseUNBQXlDO2tCQUxyRCxTQUFTO3NDQUdXLHVCQUF1QixDQUFDLE1BQU07cUlBUS9DLE9BQU87c0JBRE4sU0FBUzt1QkFBQyxTQUFTO2dCQUlwQixRQUFRO3NCQURQLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENoYW5nZURldGVjdG9yUmVmLCBWaWV3Q2hpbGQsIFRlbXBsYXRlUmVmLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYT2JqZWN0VXRpbCwgQVhUcmFuc2xhdG9yIH0gZnJvbSAnQGFjb3JleC9jb3JlJztcbmltcG9ydCB7IEFYRGF0YVR5cGUsIEFYUHJvcGVyeUVkaXRvckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3Byb3BlcnR5LWVkaXRvci5jbGFzcyc7XG5pbXBvcnQgeyBBWFBvcHVwU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3BvcHVwL3BvcHVwLnNlcnZpY2UnO1xuaW1wb3J0IHsgQVhWYWxpZGF0aW9uRm9ybUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL3ZhbGlkYXRpb24vdmFsaWRhdGlvbi1mb3JtLmNvbXBvbmVudCc7XG5cblxuXG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhDb25kaXRpb25hbENvbG9yTW9kZWwge1xuICAgIGNvbG9yOiBzdHJpbmc7XG4gICAgb3BlcmF0b3I6IHN0cmluZztcbiAgICB2YWx1ZTogYW55O1xuICAgIGRpc3BsYXk/OiBzdHJpbmc7XG59XG5cblxuXG5AQ29tcG9uZW50KHtcbiAgICB0ZW1wbGF0ZVVybDogJy4vY29uZGl0aW9uYWwtY29sb3IuZWRpdG9yLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2NvbmRpdGlvbmFsLWNvbG9yLmVkaXRvci5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgQVhDb25kaXRpb25hbENvbG9yUHJvcGVydHlFZGl0b3JDb21wb25lbnQgZXh0ZW5kcyBBWFByb3BlcnlFZGl0b3JDb21wb25lbnQ8QVhDb25kaXRpb25hbENvbG9yTW9kZWxbXT4gIHtcblxuXG4gICAgZm9ybTogQVhWYWxpZGF0aW9uRm9ybUNvbXBvbmVudDtcblxuICAgIEBWaWV3Q2hpbGQoJ3RwbEVkaXQnKVxuICAgIHRwbEVkaXQ6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBASW5wdXQoKVxuICAgIGRhdGFUeXBlOiBBWERhdGFUeXBlID0gJ251bWJlcic7XG5cbiAgICAvLyBASW5wdXQoKVxuICAgIC8vIG1vZGU6IHN0cmluZ1tdID0gWydjb2xvcicsICd0aXRsZSddO1xuXG4gICAgb3BlcmF0b3JzOiB7IHZhbHVlOiBzdHJpbmcsIHRleHQ6IHN0cmluZywgZGF0YVR5cGVzPzogQVhEYXRhVHlwZVtdIH1bXSA9IFtdO1xuXG4gICAgcmFuZ2VzOiBBWENvbmRpdGlvbmFsQ29sb3JNb2RlbFtdID0gW107XG5cbiAgICBlZGl0Um93OiBBWENvbmRpdGlvbmFsQ29sb3JNb2RlbDtcblxuICAgIHNob3dTZXBhcmF0b3I6IGJvb2xlYW4gPSB0cnVlO1xuICAgIGRlY2ltYWxOdW1iZXI6IG51bWJlciA9IDI7XG5cbiAgICBib29sZWFuSXRlbXMgPSBbeyB2YWx1ZTogdHJ1ZSwgdGV4dDogQVhUcmFuc2xhdG9yLmdldCgncXVlcnlCdWlsZGVyLnRydWUnKSB9LCB7IHZhbHVlOiBmYWxzZSwgdGV4dDogQVhUcmFuc2xhdG9yLmdldCgncXVlcnlCdWlsZGVyLmZhbHNlJykgfV07XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHJpdmF0ZSBwb3B1cFNlcnZpY2U6IEFYUG9wdXBTZXJ2aWNlKSB7XG4gICAgICAgIHN1cGVyKGNkcik7XG4gICAgfVxuXG5cbiAgICBvbkZvcm1Jbml0KGUpIHtcbiAgICAgICAgdGhpcy5mb3JtID0gZS5jb21wb25lbnQ7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMucmFuZ2VzID0gdGhpcy52YWx1ZSA/IEFYT2JqZWN0VXRpbC5kZWVwQ29weSh0aGlzLnZhbHVlKSA6IFtdO1xuICAgICAgICB0aGlzLnVwZGF0ZU9wZXJhdGlvbnMoKTtcbiAgICB9XG5cblxuXG4gICAgdXBkYXRlT3BlcmF0aW9ucygpIHtcbiAgICAgICAgdGhpcy5vcGVyYXRvcnMgPSBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgdmFsdWU6ICc8JyxcbiAgICAgICAgICAgICAgICB0ZXh0OiBBWFRyYW5zbGF0b3IuZ2V0KCdxdWVyeUJ1aWxkZXIubHQnKSxcbiAgICAgICAgICAgICAgICBkYXRhVHlwZXM6IFsnc3RyaW5nJywgJ251bWJlcicsICdkYXRlJ11cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgdmFsdWU6ICc8PScsXG4gICAgICAgICAgICAgICAgdGV4dDogQVhUcmFuc2xhdG9yLmdldCgncXVlcnlCdWlsZGVyLmx0ZScpLFxuICAgICAgICAgICAgICAgIGRhdGFUeXBlczogWydzdHJpbmcnLCAnbnVtYmVyJywgJ2RhdGUnXVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogJz4nLFxuICAgICAgICAgICAgICAgIHRleHQ6IEFYVHJhbnNsYXRvci5nZXQoJ3F1ZXJ5QnVpbGRlci5ndCcpLFxuICAgICAgICAgICAgICAgIGRhdGFUeXBlczogWydzdHJpbmcnLCAnbnVtYmVyJywgJ2RhdGUnXVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogJz49JyxcbiAgICAgICAgICAgICAgICB0ZXh0OiBBWFRyYW5zbGF0b3IuZ2V0KCdxdWVyeUJ1aWxkZXIuZ3RlJyksXG4gICAgICAgICAgICAgICAgZGF0YVR5cGVzOiBbJ3N0cmluZycsICdudW1iZXInLCAnZGF0ZSddXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHZhbHVlOiAnPT0nLFxuICAgICAgICAgICAgICAgIHRleHQ6IEFYVHJhbnNsYXRvci5nZXQoJ3F1ZXJ5QnVpbGRlci5lcXVhbCcpLFxuICAgICAgICAgICAgICAgIGRhdGFUeXBlczogWydzdHJpbmcnLCAnYm9vbGVhbicsICdudW1iZXInLCAnZGF0ZSddXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHZhbHVlOiAnPD4nLFxuICAgICAgICAgICAgICAgIHRleHQ6IEFYVHJhbnNsYXRvci5nZXQoJ3F1ZXJ5QnVpbGRlci5ub3QtZXF1YWwnKSxcbiAgICAgICAgICAgICAgICBkYXRhVHlwZXM6IFsnc3RyaW5nJywgJ2Jvb2xlYW4nLCAnbnVtYmVyJywgJ2RhdGUnXVxuICAgICAgICAgICAgfVxuICAgICAgICBdLmZpbHRlcihjID0+IGMuZGF0YVR5cGVzID09IG51bGwgfHwgYy5kYXRhVHlwZXMuaW5jbHVkZXModGhpcy5kYXRhVHlwZSkpIGFzIGFueTtcbiAgICB9XG5cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB0aGlzLm9uUmVuZGVyQ29tcGxldGVkLmVtaXQoKTtcbiAgICB9XG5cbiAgICBoYW5kbGVFZGl0Q2xpY2soaXRlbTogQVhDb25kaXRpb25hbENvbG9yTW9kZWwpIHtcbiAgICAgICAgdGhpcy51cGRhdGVPcGVyYXRpb25zKCk7XG4gICAgICAgIHRoaXMuZWRpdFJvdyA9IE9iamVjdC5hc3NpZ24oe30sIGl0ZW0pO1xuICAgICAgICBjb25zdCBwb3B1cCA9IHRoaXMucG9wdXBTZXJ2aWNlLm9wZW4odGhpcy50cGxFZGl0LCB7XG4gICAgICAgICAgICBzaXplOiAnc20nLFxuICAgICAgICAgICAgZm9vdGVyQnV0dG9uczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogJ2NvbmZpcm0nLFxuICAgICAgICAgICAgICAgICAgICB0ZXh0OiBBWFRyYW5zbGF0b3IuZ2V0KCdjb21tb24uY29uZmlybScpLFxuICAgICAgICAgICAgICAgICAgICBzdHlsZTogJ3N1Y2Nlc3MnLFxuICAgICAgICAgICAgICAgICAgICBzdWJtaXRCZWhhdmlvcjogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgY2FuY2VsQmVoYXZpb3I6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm0udmFsaWRhdGUoKS50aGVuKGMgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjLnJlc3VsdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdXBlci5oYW5kbGVWYWx1ZUNoYW5nZSh0aGlzLnJhbmdlcyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9iamVjdC5hc3NpZ24oaXRlbSwgdGhpcy5lZGl0Um93KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9wdXAuY2xvc2UoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5lZGl0Um93ID0gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6ICdjYW5jZWwnLFxuICAgICAgICAgICAgICAgICAgICB0ZXh0OiBBWFRyYW5zbGF0b3IuZ2V0KCdjb21tb24uY2FuY2VsJyksXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlOiAnZGFuZ2VyIGJsYW5rJyxcbiAgICAgICAgICAgICAgICAgICAgc3VibWl0QmVoYXZpb3I6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICBjYW5jZWxCZWhhdmlvcjogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgb25DbGljazogKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9wdXAuY2xvc2UoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZWRpdFJvdyA9IG51bGw7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgdGl0bGU6IEFYVHJhbnNsYXRvci5nZXQoJ2NvbW1vbi5lZGl0JylcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgaGFuZGxlQWRkQ2xpY2soKSB7XG4gICAgICAgIHRoaXMudXBkYXRlT3BlcmF0aW9ucygpO1xuICAgICAgICB0aGlzLmVkaXRSb3cgPSB7XG4gICAgICAgICAgICB2YWx1ZTogdGhpcy5nZXREZWZhdWx0VmFsdWUoKSxcbiAgICAgICAgICAgIGNvbG9yOiBudWxsLFxuICAgICAgICAgICAgb3BlcmF0b3I6ICc9PSdcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgcG9wdXAgPSB0aGlzLnBvcHVwU2VydmljZS5vcGVuKHRoaXMudHBsRWRpdCwge1xuICAgICAgICAgICAgdGl0bGU6IEFYVHJhbnNsYXRvci5nZXQoJ2NvbW1vbi5hZGQtaXRlbScpLFxuICAgICAgICAgICAgc2l6ZTogJ3NtJyxcbiAgICAgICAgICAgIGZvb3RlckJ1dHRvbnM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6ICdjb25maXJtJyxcbiAgICAgICAgICAgICAgICAgICAgdGV4dDogQVhUcmFuc2xhdG9yLmdldCgnY29tbW9uLmNvbmZpcm0nKSxcbiAgICAgICAgICAgICAgICAgICAgc3R5bGU6ICdzdWNjZXNzJyxcbiAgICAgICAgICAgICAgICAgICAgc3VibWl0QmVoYXZpb3I6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIGNhbmNlbEJlaGF2aW9yOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgb25DbGljazogKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtLnZhbGlkYXRlKCkudGhlbihjID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoYy5yZXN1bHQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VwZXIuaGFuZGxlVmFsdWVDaGFuZ2UodGhpcy5yYW5nZXMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJhbmdlcy5wdXNoKHRoaXMuZWRpdFJvdyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvcHVwLmNsb3NlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZWRpdFJvdyA9IG51bGw7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiAnY2FuY2VsJyxcbiAgICAgICAgICAgICAgICAgICAgdGV4dDogQVhUcmFuc2xhdG9yLmdldCgnY29tbW9uLmNhbmNlbCcpLFxuICAgICAgICAgICAgICAgICAgICBzdHlsZTogJ2RhbmdlciBibGFuaycsXG4gICAgICAgICAgICAgICAgICAgIHN1Ym1pdEJlaGF2aW9yOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgY2FuY2VsQmVoYXZpb3I6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s6ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvcHVwLmNsb3NlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmVkaXRSb3cgPSBudWxsO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGdldERlZmF1bHRWYWx1ZSgpOiBhbnkge1xuICAgICAgICBzd2l0Y2ggKHRoaXMuZGF0YVR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ2Jvb2xlYW4nOlxuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgY2FzZSAnbnVtYmVyJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoYW5kbGVSZW1vdmVDbGljayhpdGVtOiBBWENvbmRpdGlvbmFsQ29sb3JNb2RlbCkge1xuICAgICAgICB0aGlzLnJhbmdlcyA9IHRoaXMucmFuZ2VzLmZpbHRlcihjID0+ICEoYy52YWx1ZSA9PT0gaXRlbS52YWx1ZSAmJiBjLm9wZXJhdG9yID09PSBpdGVtLm9wZXJhdG9yKSk7XG4gICAgICAgIHN1cGVyLmhhbmRsZVZhbHVlQ2hhbmdlKHRoaXMucmFuZ2VzKTtcbiAgICB9XG5cblxuICAgIGdldFRpdGxlKG9wcjogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IG9wckl0ZW0gPSB0aGlzLm9wZXJhdG9ycy5maW5kKGMgPT4gYy52YWx1ZSA9PT0gb3ByKTtcbiAgICAgICAgcmV0dXJuIG9wckl0ZW0gPyBBWFRyYW5zbGF0b3IuZ2V0KG9wckl0ZW0udGV4dCkgOiAnJztcbiAgICB9XG5cbiAgICBnZXRJY29uKG9wcjogc3RyaW5nKSB7XG4gICAgICAgIHN3aXRjaCAob3ByKSB7XG4gICAgICAgICAgICBjYXNlICc9PSc6XG4gICAgICAgICAgICAgICAgcmV0dXJuICdmYS1lcXVhbHMnO1xuICAgICAgICAgICAgY2FzZSAnPD4nOlxuICAgICAgICAgICAgICAgIHJldHVybiAnZmEtbm90LWVxdWFsJztcbiAgICAgICAgICAgIGNhc2UgJzwnOlxuICAgICAgICAgICAgICAgIHJldHVybiAnZmEtbGVzcy10aGFuJztcbiAgICAgICAgICAgIGNhc2UgJzw9JzpcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2ZhLWxlc3MtdGhhbi1lcXVhbCc7XG4gICAgICAgICAgICBjYXNlICc+JzpcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2ZhLWdyZWF0ZXItdGhhbic7XG4gICAgICAgICAgICBjYXNlICc+PSc6XG4gICAgICAgICAgICAgICAgcmV0dXJuICdmYS1ncmVhdGVyLXRoYW4tZXF1YWwnO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxufVxuIiwiPGRpdiAqbmdGb3I9XCJsZXQgciBvZiByYW5nZXNcIiBbc3R5bGUuYm9yZGVyLWNvbG9yXT1cInIuY29sb3JcIiBjbGFzcz1cInJhbmdlLWl0ZW1cIiAoY2xpY2spPVwiaGFuZGxlRWRpdENsaWNrKHIpXCI+XG4gICAgPGRpdj5cbiAgICAgICAgPGRpdiBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJyLmNvbG9yXCI+PC9kaXY+XG4gICAgICAgIDxkaXY+e3sgci5kaXNwbGF5IH19PC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBbYXR0ci50aXRsZV09XCJnZXRUaXRsZShyLm9wZXJhdG9yKVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidmFsdWVcIj57e3IudmFsdWV9fTwvZGl2PlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPGkgY2xhc3M9XCJmYXIge3tnZXRJY29uKHIub3BlcmF0b3IpfX1cIj48L2k+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwidmFsdWUtdGV4dFwiPnt7J2NvbW1vbi52YWx1ZScgfCB0cmFuc319PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJyZW1vdmUtYnV0dG9uXCIgKGNsaWNrKT1cImhhbmRsZVJlbW92ZUNsaWNrKHIpXCI+PGkgY2xhc3M9XCJmYXIgZmEtdHJhc2gtYWx0XCI+PC9pPjwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG48YXgtYnV0dG9uIGljb249XCJmYXIgZmEtcGx1c1wiIHR5cGU9XCJzdWNjZXNzIG91dGxpbmVcIiAoY2xpY2spPVwiaGFuZGxlQWRkQ2xpY2soKVwiPnt7ICdjb21tb24uYWRkLWl0ZW0nIHwgdHJhbnMgIH19XG48L2F4LWJ1dHRvbj5cbjxuZy10ZW1wbGF0ZSAjdHBsRWRpdD5cbiAgICA8YXgtcGFnZT5cbiAgICAgICAgPGF4LXBhZ2UtY29udGVudD5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICA8YXgtdmFsaWRhdGlvbi1mb3JtIChvbkluaXQpPVwib25Gb3JtSW5pdCgkZXZlbnQpXCI+XG5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxheC1sYWJlbD57eyAnY29tbW9uLmNvbmRpdGlvbicgfCB0cmFucyAgfX08L2F4LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxheC1zZWxlY3QtYm94IFsoc2VsZWN0ZWRWYWx1ZXMpXT1cImVkaXRSb3cub3BlcmF0b3JcIiBbYWxsb3dTZWFyY2hdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWxsb3dOdWxsXT1cImZhbHNlXCIgW2l0ZW1zXT1cIm9wZXJhdG9yc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXgtdmFsaWRhdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxheC12YWxpZGF0aW9uLXJ1bGUgdHlwZT1cInJlcXVpcmVkXCI+PC9heC12YWxpZGF0aW9uLXJ1bGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXgtdmFsaWRhdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2F4LXNlbGVjdC1ib3g+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXgtbGFiZWw+e3sgJ2NvbW1vbi52YWx1ZScgfCB0cmFucyAgfX08L2F4LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgW25nU3dpdGNoXT1cImRhdGFUeXBlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxheC10ZXh0LWJveCAqbmdTd2l0Y2hDYXNlPVwiJ3N0cmluZydcIiBbKHZhbHVlKV09XCJlZGl0Um93LnZhbHVlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXgtdmFsaWRhdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXgtdmFsaWRhdGlvbi1ydWxlIHR5cGU9XCJyZXF1aXJlZFwiPjwvYXgtdmFsaWRhdGlvbi1ydWxlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9heC12YWxpZGF0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2F4LXRleHQtYm94PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXgtc2VsZWN0LWJveCAqbmdTd2l0Y2hDYXNlPVwiJ2Jvb2xlYW4nXCIgWyhzZWxlY3RlZFZhbHVlcyldPVwiZWRpdFJvdy52YWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWxsb3dTZWFyY2hdPVwiZmFsc2VcIiBbYWxsb3dOdWxsXT1cImZhbHNlXCIgW2l0ZW1zXT1cImJvb2xlYW5JdGVtc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGF4LXZhbGlkYXRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGF4LXZhbGlkYXRpb24tcnVsZSB0eXBlPVwicmVxdWlyZWRcIj48L2F4LXZhbGlkYXRpb24tcnVsZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXgtdmFsaWRhdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9heC1zZWxlY3QtYm94PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXgtbnVtYmVyLWJveCAqbmdTd2l0Y2hEZWZhdWx0IFsodmFsdWUpXT1cImVkaXRSb3cudmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Nob3dTZXBhcmF0b3JdPVwic2hvd1NlcGFyYXRvclwiIFtkZWNpbWFsTnVtYmVyXT1cImRlY2ltYWxOdW1iZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxheC12YWxpZGF0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxheC12YWxpZGF0aW9uLXJ1bGUgdHlwZT1cInJlcXVpcmVkXCI+PC9heC12YWxpZGF0aW9uLXJ1bGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2F4LXZhbGlkYXRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXgtbnVtYmVyLWJveD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxheC1sYWJlbD57eyAnY29uZGl0aW9uYWwtY29sb3ItcHJvcGVydHktZWRpdG9yLnJlcGxhY2VkLWNvbG9yJyB8IHRyYW5zICB9fTwvYXgtbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGF4LWNvbG9yLXBpY2tlciBbKHZhbHVlKV09XCJlZGl0Um93LmNvbG9yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxheC12YWxpZGF0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGF4LXZhbGlkYXRpb24tcnVsZSB0eXBlPVwicmVxdWlyZWRcIj48L2F4LXZhbGlkYXRpb24tcnVsZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9heC12YWxpZGF0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXgtY29sb3ItcGlja2VyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGF4LWxhYmVsPnt7ICdjb25kaXRpb25hbC1jb2xvci1wcm9wZXJ0eS1lZGl0b3IucmVwbGFjZWQtdGl0bGUnIHwgdHJhbnMgIH19PC9heC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXgtdGV4dC1ib3ggWyh2YWx1ZSldPVwiZWRpdFJvdy5kaXNwbGF5XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9heC10ZXh0LWJveD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2F4LXZhbGlkYXRpb24tZm9ybT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LW1yZy1tZFwiPjwvZGl2PlxuICAgICAgICA8L2F4LXBhZ2UtY29udGVudD5cbiAgICA8L2F4LXBhZ2U+XG48L25nLXRlbXBsYXRlPiJdfQ==