@energycap/components 0.31.5 → 0.32.0

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 (292) hide show
  1. package/energycap-components.min.css +2 -2
  2. package/energycap-email.min.css +1 -1
  3. package/esm2020/energycap-components.mjs +5 -0
  4. package/esm2020/lib/components.module.mjs +386 -0
  5. package/esm2020/lib/controls/banner/banner.component.mjs +106 -0
  6. package/esm2020/lib/controls/button/button.component.mjs +106 -0
  7. package/esm2020/lib/controls/button/copy-button.directive.mjs +65 -0
  8. package/esm2020/lib/controls/checkbox/checkbox.component.mjs +139 -0
  9. package/esm2020/lib/controls/collapsible-toggle/collapsible-toggle.component.mjs +38 -0
  10. package/esm2020/lib/controls/combobox/combobox.component.mjs +841 -0
  11. package/esm2020/lib/controls/dropdown/dropdown.component.mjs +237 -0
  12. package/esm2020/lib/controls/file-upload/file-upload.component.mjs +169 -0
  13. package/esm2020/lib/controls/form-control/form-control.component.mjs +86 -0
  14. package/esm2020/lib/controls/form-control-base.mjs +143 -0
  15. package/esm2020/lib/controls/form-control-label/form-control-label.component.mjs +136 -0
  16. package/esm2020/lib/controls/form-group/form-group.component.mjs +252 -0
  17. package/esm2020/lib/controls/help-popover/help-popover.component.mjs +28 -0
  18. package/esm2020/lib/controls/item-picker/item-picker.component.mjs +233 -0
  19. package/esm2020/lib/controls/link-button/link-button.component.mjs +11 -0
  20. package/esm2020/lib/controls/menu/menu.component.mjs +443 -0
  21. package/{esm2015/lib/controls/navigation/link-item.js → esm2020/lib/controls/navigation/link-item.mjs} +0 -0
  22. package/{esm2015/lib/controls/navigation/nav-group.js → esm2020/lib/controls/navigation/nav-group.mjs} +0 -0
  23. package/esm2020/lib/controls/navigation/nav-item-active.directive.mjs +92 -0
  24. package/{esm2015/lib/controls/navigation/nav-item.js → esm2020/lib/controls/navigation/nav-item.mjs} +0 -0
  25. package/esm2020/lib/controls/numericbox/numericbox.component.mjs +371 -0
  26. package/esm2020/lib/controls/popover/popover.component.mjs +84 -0
  27. package/{esm2015/lib/controls/radio-button/radio-button-option.js → esm2020/lib/controls/radio-button/radio-button-option.mjs} +0 -0
  28. package/esm2020/lib/controls/radio-button/radio-button.component.mjs +81 -0
  29. package/esm2020/lib/controls/select/select.component.mjs +87 -0
  30. package/esm2020/lib/controls/tabs/tabs.component.mjs +47 -0
  31. package/esm2020/lib/controls/textbox/textbox.component.mjs +154 -0
  32. package/{esm2015/lib/core/cache.service.js → esm2020/lib/core/cache.service.mjs} +9 -8
  33. package/{esm2015/lib/core/custom-validators.js → esm2020/lib/core/custom-validators.mjs} +0 -0
  34. package/{esm2015/lib/core/date-time-helper.js → esm2020/lib/core/date-time-helper.mjs} +0 -0
  35. package/esm2020/lib/core/error.service.mjs +57 -0
  36. package/esm2020/lib/core/scroll.service.mjs +89 -0
  37. package/esm2020/lib/core/telemetry-tracker.service.mjs +16 -0
  38. package/esm2020/lib/core/telemetry.service.mjs +38 -0
  39. package/esm2020/lib/core/validation-message.service.mjs +181 -0
  40. package/{esm2015/lib/core/validation-patterns.js → esm2020/lib/core/validation-patterns.mjs} +0 -0
  41. package/esm2020/lib/core/window.service.mjs +182 -0
  42. package/esm2020/lib/display/app-bar/app-bar.component.mjs +46 -0
  43. package/esm2020/lib/display/avatar/avatar.component.mjs +67 -0
  44. package/{esm2015/lib/display/avatar/avatar.service.js → esm2020/lib/display/avatar/avatar.service.mjs} +9 -7
  45. package/esm2020/lib/display/confirm/confirm.component.mjs +131 -0
  46. package/{esm2015/lib/display/dialog/dialog-content.js → esm2020/lib/display/dialog/dialog-content.mjs} +0 -0
  47. package/esm2020/lib/display/dialog/dialog-group/dialog-group.component.mjs +63 -0
  48. package/{esm2015/lib/display/dialog/dialog-types.js → esm2020/lib/display/dialog/dialog-types.mjs} +0 -0
  49. package/esm2020/lib/display/dialog/dialog.component.mjs +242 -0
  50. package/esm2020/lib/display/dialog/dialog.service.mjs +71 -0
  51. package/{esm2015/lib/display/help/help-types.js → esm2020/lib/display/help/help-types.mjs} +0 -0
  52. package/esm2020/lib/display/hierarchy/hierarchy-base.mjs +106 -0
  53. package/{esm2015/lib/display/hierarchy/hierarchy-mocks.spec.js → esm2020/lib/display/hierarchy/hierarchy-mocks.spec.mjs} +5 -9
  54. package/esm2020/lib/display/hierarchy/hierarchy-tree/hierarchy-tree.component.mjs +59 -0
  55. package/esm2020/lib/display/item-display/item-display.component.mjs +67 -0
  56. package/esm2020/lib/display/json-display/json-display.component.mjs +47 -0
  57. package/esm2020/lib/display/resizable/resizable-base.mjs +120 -0
  58. package/esm2020/lib/display/resizable/resizable.component.mjs +57 -0
  59. package/esm2020/lib/display/spinner/spinner.component.mjs +12 -0
  60. package/esm2020/lib/display/splash/splash.component.mjs +42 -0
  61. package/esm2020/lib/display/splash/splash.service.mjs +35 -0
  62. package/esm2020/lib/display/table/resizable-column.component.mjs +20 -0
  63. package/esm2020/lib/display/table/resizable-table.directive.mjs +227 -0
  64. package/esm2020/lib/display/table/searchable-table.component.mjs +338 -0
  65. package/esm2020/lib/display/table/table-detail-row.component.mjs +27 -0
  66. package/esm2020/lib/display/table/table-locked-column.component.mjs +58 -0
  67. package/esm2020/lib/display/table/table-master-header-row.component.mjs +11 -0
  68. package/esm2020/lib/display/table/table-master-row.component.mjs +150 -0
  69. package/esm2020/lib/display/table/table-pagination.component.mjs +150 -0
  70. package/esm2020/lib/display/table/table-selectable-row.component.mjs +235 -0
  71. package/esm2020/lib/display/table/table.component.mjs +244 -0
  72. package/esm2020/lib/display/tags/tag.mjs +15 -0
  73. package/esm2020/lib/display/tags/tags.component.mjs +77 -0
  74. package/esm2020/lib/display/toast/toast/toast.component.mjs +77 -0
  75. package/{esm2015/lib/display/toast/toast-types.js → esm2020/lib/display/toast/toast-types.mjs} +0 -0
  76. package/esm2020/lib/display/toast/toast.service.mjs +35 -0
  77. package/esm2020/lib/display/toast/toaster/toaster.component.mjs +114 -0
  78. package/esm2020/lib/display/tooltip/tooltip.component.mjs +25 -0
  79. package/esm2020/lib/display/tooltip/tooltip.service.mjs +63 -0
  80. package/esm2020/lib/display/tree/tree.component.mjs +125 -0
  81. package/esm2020/lib/display/view-overlay/view-overlay.component.mjs +58 -0
  82. package/esm2020/lib/shared/directives/click-area-for/click-area-for.directive.mjs +32 -0
  83. package/esm2020/lib/shared/directives/if-viewport-width/if-viewport-width.directive.mjs +111 -0
  84. package/esm2020/lib/shared/directives/popup/popup-container.directive.mjs +163 -0
  85. package/esm2020/lib/shared/display/pipes/date-display.pipe.mjs +50 -0
  86. package/esm2020/lib/shared/display/pipes/highlight-text.pipe.mjs +30 -0
  87. package/esm2020/lib/shared/display/pipes/relative-date.pipe.mjs +48 -0
  88. package/esm2020/lib/shared/display/pipes/row-count.pipe.mjs +48 -0
  89. package/esm2020/lib/shared/display/pipes/time-display.pipe.mjs +41 -0
  90. package/{esm2015/lib/shared/display.js → esm2020/lib/shared/display.mjs} +0 -0
  91. package/esm2020/lib/shared/form-group.helper.mjs +67 -0
  92. package/{esm2015/lib/shared/json-helper.js → esm2020/lib/shared/json-helper.mjs} +0 -0
  93. package/{esm2015/lib/shared/lodash-helper.js → esm2020/lib/shared/lodash-helper.mjs} +0 -0
  94. package/esm2020/lib/shared/page/page-base/page-base.component.mjs +339 -0
  95. package/{esm2015/lib/shared/page/page-statuses.js → esm2020/lib/shared/page/page-statuses.mjs} +0 -0
  96. package/esm2020/lib/shared/page/page-title/page-title.component.mjs +23 -0
  97. package/esm2020/lib/shared/page/page-view/page-view.component.mjs +121 -0
  98. package/{esm2015/lib/shared/testing/hierarchy-base-test-injector-factory.spec.js → esm2020/lib/shared/testing/hierarchy-base-test-injector-factory.spec.mjs} +0 -0
  99. package/esm2020/lib/shared/testing/page-base-component-test-helper.spec.mjs +30 -0
  100. package/{esm2015/lib/shared/testing/page-base-component-test-injector-factory.spec.js → esm2020/lib/shared/testing/page-base-component-test-injector-factory.spec.mjs} +0 -0
  101. package/esm2020/lib/shared/testing/public-mocks.spec.mjs +132 -0
  102. package/{esm2015/lib/shared/testing/spy-factory.spec.js → esm2020/lib/shared/testing/spy-factory.spec.mjs} +0 -0
  103. package/{esm2015/lib/shared/testing/translation-mocks.spec.js → esm2020/lib/shared/testing/translation-mocks.spec.mjs} +0 -0
  104. package/esm2020/lib/shared/user-preference.service.mjs +17 -0
  105. package/esm2020/lib/shared/wizard/wizard-base/wizard-base.component.mjs +246 -0
  106. package/esm2020/lib/shared/wizard/wizard-buttons/wizard-buttons.component.mjs +68 -0
  107. package/esm2020/lib/shared/wizard/wizard-progress/wizard-progress.component.mjs +18 -0
  108. package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
  109. package/fesm2015/energycap-components.mjs +10090 -0
  110. package/fesm2015/energycap-components.mjs.map +1 -0
  111. package/fesm2020/energycap-components.mjs +9999 -0
  112. package/fesm2020/energycap-components.mjs.map +1 -0
  113. package/index.d.ts +5 -0
  114. package/lib/components.module.d.ts +72 -0
  115. package/lib/controls/banner/banner.component.d.ts +3 -0
  116. package/lib/controls/button/button.component.d.ts +3 -0
  117. package/lib/controls/button/copy-button.directive.d.ts +3 -0
  118. package/lib/controls/checkbox/checkbox.component.d.ts +3 -0
  119. package/lib/controls/collapsible-toggle/collapsible-toggle.component.d.ts +3 -0
  120. package/lib/controls/combobox/combobox.component.d.ts +5 -2
  121. package/lib/controls/dropdown/dropdown.component.d.ts +3 -0
  122. package/lib/controls/file-upload/file-upload.component.d.ts +5 -2
  123. package/lib/controls/form-control/form-control.component.d.ts +3 -0
  124. package/lib/controls/form-control-base.d.ts +3 -0
  125. package/lib/controls/form-control-label/form-control-label.component.d.ts +3 -0
  126. package/lib/controls/form-group/form-group.component.d.ts +6 -3
  127. package/lib/controls/help-popover/help-popover.component.d.ts +3 -0
  128. package/lib/controls/item-picker/item-picker.component.d.ts +5 -2
  129. package/lib/controls/link-button/link-button.component.d.ts +3 -0
  130. package/lib/controls/menu/menu.component.d.ts +3 -0
  131. package/lib/controls/navigation/nav-item-active.directive.d.ts +3 -0
  132. package/lib/controls/numericbox/numericbox.component.d.ts +5 -2
  133. package/lib/controls/popover/popover.component.d.ts +3 -0
  134. package/lib/controls/radio-button/radio-button.component.d.ts +3 -0
  135. package/lib/controls/select/select.component.d.ts +3 -0
  136. package/lib/controls/tabs/tabs.component.d.ts +3 -0
  137. package/lib/controls/textbox/textbox.component.d.ts +3 -0
  138. package/lib/core/cache.service.d.ts +3 -0
  139. package/lib/core/error.service.d.ts +3 -0
  140. package/lib/core/scroll.service.d.ts +3 -0
  141. package/lib/core/telemetry-tracker.service.d.ts +3 -0
  142. package/lib/core/telemetry.service.d.ts +3 -0
  143. package/lib/core/validation-message.service.d.ts +3 -0
  144. package/lib/core/window.service.d.ts +3 -0
  145. package/lib/display/app-bar/app-bar.component.d.ts +3 -0
  146. package/lib/display/avatar/avatar.component.d.ts +3 -0
  147. package/lib/display/avatar/avatar.service.d.ts +3 -0
  148. package/lib/display/confirm/confirm.component.d.ts +5 -2
  149. package/lib/display/dialog/dialog-group/dialog-group.component.d.ts +3 -0
  150. package/lib/display/dialog/dialog.component.d.ts +3 -0
  151. package/lib/display/dialog/dialog.service.d.ts +3 -0
  152. package/lib/display/hierarchy/hierarchy-base.d.ts +3 -0
  153. package/lib/display/hierarchy/hierarchy-tree/hierarchy-tree.component.d.ts +3 -0
  154. package/lib/display/item-display/item-display.component.d.ts +3 -0
  155. package/lib/display/json-display/json-display.component.d.ts +5 -2
  156. package/lib/display/resizable/resizable-base.d.ts +3 -0
  157. package/lib/display/resizable/resizable.component.d.ts +3 -0
  158. package/lib/display/spinner/spinner.component.d.ts +3 -0
  159. package/lib/display/splash/splash.component.d.ts +3 -0
  160. package/lib/display/splash/splash.service.d.ts +3 -0
  161. package/lib/display/table/resizable-column.component.d.ts +3 -0
  162. package/lib/display/table/resizable-table.directive.d.ts +3 -0
  163. package/lib/display/table/searchable-table.component.d.ts +6 -3
  164. package/lib/display/table/table-detail-row.component.d.ts +3 -0
  165. package/lib/display/table/table-locked-column.component.d.ts +3 -0
  166. package/lib/display/table/table-master-header-row.component.d.ts +3 -0
  167. package/lib/display/table/table-master-row.component.d.ts +3 -0
  168. package/lib/display/table/table-pagination.component.d.ts +3 -0
  169. package/lib/display/table/table-selectable-row.component.d.ts +5 -2
  170. package/lib/display/table/table.component.d.ts +3 -0
  171. package/lib/display/tags/tags.component.d.ts +3 -0
  172. package/lib/display/toast/toast/toast.component.d.ts +3 -0
  173. package/lib/display/toast/toast.service.d.ts +3 -0
  174. package/lib/display/toast/toaster/toaster.component.d.ts +3 -0
  175. package/lib/display/tooltip/tooltip.component.d.ts +3 -0
  176. package/lib/display/tooltip/tooltip.service.d.ts +3 -0
  177. package/lib/display/tree/tree.component.d.ts +3 -0
  178. package/lib/display/view-overlay/view-overlay.component.d.ts +3 -0
  179. package/lib/shared/directives/click-area-for/click-area-for.directive.d.ts +3 -0
  180. package/lib/shared/directives/if-viewport-width/if-viewport-width.directive.d.ts +3 -0
  181. package/lib/shared/directives/popup/popup-container.directive.d.ts +3 -0
  182. package/lib/shared/display/pipes/date-display.pipe.d.ts +3 -0
  183. package/lib/shared/display/pipes/highlight-text.pipe.d.ts +3 -0
  184. package/lib/shared/display/pipes/relative-date.pipe.d.ts +3 -0
  185. package/lib/shared/display/pipes/row-count.pipe.d.ts +3 -0
  186. package/lib/shared/display/pipes/time-display.pipe.d.ts +3 -0
  187. package/lib/shared/form-group.helper.d.ts +5 -2
  188. package/lib/shared/page/page-base/page-base.component.d.ts +5 -2
  189. package/lib/shared/page/page-title/page-title.component.d.ts +3 -0
  190. package/lib/shared/page/page-view/page-view.component.d.ts +3 -0
  191. package/lib/shared/testing/public-mocks.spec.d.ts +7 -0
  192. package/lib/shared/user-preference.service.d.ts +3 -0
  193. package/lib/shared/wizard/wizard-base/wizard-base.component.d.ts +3 -0
  194. package/lib/shared/wizard/wizard-buttons/wizard-buttons.component.d.ts +3 -0
  195. package/lib/shared/wizard/wizard-progress/wizard-progress.component.d.ts +3 -0
  196. package/package.json +27 -15
  197. package/src/styles/_functions.scss +6 -4
  198. package/src/styles/_icons.scss +1 -1
  199. package/src/styles/mixins/_control-base.scss +2 -2
  200. package/src/styles/mixins/_form-control-base.scss +3 -1
  201. package/src/styles/mixins/_spinner-base.scss +3 -1
  202. package/bundles/energycap-components.umd.js +0 -10646
  203. package/bundles/energycap-components.umd.js.map +0 -1
  204. package/bundles/energycap-components.umd.min.js +0 -17
  205. package/bundles/energycap-components.umd.min.js.map +0 -1
  206. package/energycap-components.d.ts +0 -7
  207. package/energycap-components.metadata.json +0 -1
  208. package/esm2015/energycap-components.js +0 -8
  209. package/esm2015/lib/components.module.js +0 -238
  210. package/esm2015/lib/controls/banner/banner.component.js +0 -94
  211. package/esm2015/lib/controls/button/button.component.js +0 -89
  212. package/esm2015/lib/controls/button/copy-button.directive.js +0 -63
  213. package/esm2015/lib/controls/checkbox/checkbox.component.js +0 -137
  214. package/esm2015/lib/controls/collapsible-toggle/collapsible-toggle.component.js +0 -35
  215. package/esm2015/lib/controls/combobox/combobox.component.js +0 -819
  216. package/esm2015/lib/controls/dropdown/dropdown.component.js +0 -207
  217. package/esm2015/lib/controls/file-upload/file-upload.component.js +0 -172
  218. package/esm2015/lib/controls/form-control/form-control.component.js +0 -65
  219. package/esm2015/lib/controls/form-control-base.js +0 -140
  220. package/esm2015/lib/controls/form-control-label/form-control-label.component.js +0 -139
  221. package/esm2015/lib/controls/form-group/form-group.component.js +0 -254
  222. package/esm2015/lib/controls/help-popover/help-popover.component.js +0 -22
  223. package/esm2015/lib/controls/item-picker/item-picker.component.js +0 -216
  224. package/esm2015/lib/controls/link-button/link-button.component.js +0 -12
  225. package/esm2015/lib/controls/menu/menu.component.js +0 -424
  226. package/esm2015/lib/controls/navigation/nav-item-active.directive.js +0 -86
  227. package/esm2015/lib/controls/numericbox/numericbox.component.js +0 -362
  228. package/esm2015/lib/controls/popover/popover.component.js +0 -85
  229. package/esm2015/lib/controls/radio-button/radio-button.component.js +0 -78
  230. package/esm2015/lib/controls/select/select.component.js +0 -89
  231. package/esm2015/lib/controls/tabs/tabs.component.js +0 -42
  232. package/esm2015/lib/controls/textbox/textbox.component.js +0 -149
  233. package/esm2015/lib/core/error.service.js +0 -56
  234. package/esm2015/lib/core/scroll.service.js +0 -88
  235. package/esm2015/lib/core/telemetry-tracker.service.js +0 -14
  236. package/esm2015/lib/core/telemetry.service.js +0 -40
  237. package/esm2015/lib/core/validation-message.service.js +0 -185
  238. package/esm2015/lib/core/window.service.js +0 -191
  239. package/esm2015/lib/display/app-bar/app-bar.component.js +0 -42
  240. package/esm2015/lib/display/avatar/avatar.component.js +0 -73
  241. package/esm2015/lib/display/confirm/confirm.component.js +0 -127
  242. package/esm2015/lib/display/dialog/dialog-group/dialog-group.component.js +0 -65
  243. package/esm2015/lib/display/dialog/dialog.component.js +0 -229
  244. package/esm2015/lib/display/dialog/dialog.service.js +0 -69
  245. package/esm2015/lib/display/hierarchy/hierarchy-base.js +0 -106
  246. package/esm2015/lib/display/hierarchy/hierarchy-tree/hierarchy-tree.component.js +0 -58
  247. package/esm2015/lib/display/item-display/item-display.component.js +0 -57
  248. package/esm2015/lib/display/json-display/json-display.component.js +0 -44
  249. package/esm2015/lib/display/resizable/resizable-base.js +0 -119
  250. package/esm2015/lib/display/resizable/resizable.component.js +0 -57
  251. package/esm2015/lib/display/spinner/spinner.component.js +0 -12
  252. package/esm2015/lib/display/splash/splash.component.js +0 -45
  253. package/esm2015/lib/display/splash/splash.service.js +0 -34
  254. package/esm2015/lib/display/table/resizable-column.component.js +0 -23
  255. package/esm2015/lib/display/table/resizable-table.directive.js +0 -223
  256. package/esm2015/lib/display/table/searchable-table.component.js +0 -303
  257. package/esm2015/lib/display/table/table-detail-row.component.js +0 -21
  258. package/esm2015/lib/display/table/table-locked-column.component.js +0 -53
  259. package/esm2015/lib/display/table/table-master-header-row.component.js +0 -11
  260. package/esm2015/lib/display/table/table-master-row.component.js +0 -141
  261. package/esm2015/lib/display/table/table-pagination.component.js +0 -146
  262. package/esm2015/lib/display/table/table-selectable-row.component.js +0 -216
  263. package/esm2015/lib/display/table/table.component.js +0 -210
  264. package/esm2015/lib/display/tags/tag.js +0 -15
  265. package/esm2015/lib/display/tags/tags.component.js +0 -73
  266. package/esm2015/lib/display/toast/toast/toast.component.js +0 -70
  267. package/esm2015/lib/display/toast/toast.service.js +0 -34
  268. package/esm2015/lib/display/toast/toaster/toaster.component.js +0 -117
  269. package/esm2015/lib/display/tooltip/tooltip.component.js +0 -24
  270. package/esm2015/lib/display/tooltip/tooltip.service.js +0 -64
  271. package/esm2015/lib/display/tree/tree.component.js +0 -100
  272. package/esm2015/lib/display/view-overlay/view-overlay.component.js +0 -50
  273. package/esm2015/lib/shared/directives/click-area-for/click-area-for.directive.js +0 -25
  274. package/esm2015/lib/shared/directives/if-viewport-width/if-viewport-width.directive.js +0 -112
  275. package/esm2015/lib/shared/directives/popup/popup-container.directive.js +0 -160
  276. package/esm2015/lib/shared/display/pipes/date-display.pipe.js +0 -49
  277. package/esm2015/lib/shared/display/pipes/highlight-text.pipe.js +0 -26
  278. package/esm2015/lib/shared/display/pipes/relative-date.pipe.js +0 -49
  279. package/esm2015/lib/shared/display/pipes/row-count.pipe.js +0 -47
  280. package/esm2015/lib/shared/display/pipes/time-display.pipe.js +0 -40
  281. package/esm2015/lib/shared/form-group.helper.js +0 -65
  282. package/esm2015/lib/shared/page/page-base/page-base.component.js +0 -356
  283. package/esm2015/lib/shared/page/page-title/page-title.component.js +0 -19
  284. package/esm2015/lib/shared/page/page-view/page-view.component.js +0 -94
  285. package/esm2015/lib/shared/testing/page-base-component-test-helper.spec.js +0 -35
  286. package/esm2015/lib/shared/testing/public-mocks.spec.js +0 -126
  287. package/esm2015/lib/shared/user-preference.service.js +0 -15
  288. package/esm2015/lib/shared/wizard/wizard-base/wizard-base.component.js +0 -260
  289. package/esm2015/lib/shared/wizard/wizard-buttons/wizard-buttons.component.js +0 -54
  290. package/esm2015/lib/shared/wizard/wizard-progress/wizard-progress.component.js +0 -18
  291. package/fesm2015/energycap-components.js +0 -9638
  292. package/fesm2015/energycap-components.js.map +0 -1
@@ -1,140 +0,0 @@
1
- import { __awaiter } from "tslib";
2
- import { Input, Directive } from '@angular/core';
3
- import { AbstractControl } from "@angular/forms";
4
- import { Subject } from "rxjs";
5
- import { ValidationMessageService } from "../core/validation-message.service";
6
- import { FormGroupHelper } from '../shared/form-group.helper';
7
- import { takeUntil } from 'rxjs/operators';
8
- /**
9
- * Base class for Reactive Form Controls, containing ECI-specific shared properties
10
- */
11
- export class FormControlBase {
12
- /**
13
- * Creates an instance of FormControlBase.
14
- */
15
- constructor(validationMessageService, formGroupHelper) {
16
- this.validationMessageService = validationMessageService;
17
- this.formGroupHelper = formGroupHelper;
18
- /**
19
- * If true, will focus the control's input when the view is intialized
20
- */
21
- this.autofocus = false;
22
- /**
23
- * The position of the form control label (top|bottom)
24
- */
25
- this.labelPosition = "top";
26
- /**
27
- * The id of the component. We use this to identify a control on focus events and help.
28
- */
29
- this.id = '';
30
- /**
31
- * The pending status of the control, can be used to tell the user the control is
32
- * awaiting data via a spinner or animation
33
- */
34
- this.pending = false;
35
- /**
36
- * Whether the input is a required field or not
37
- * @todo: Sometime in the future Angular makes it sound like this will be handled via the Reactive form When that happens this property can be removed
38
- */
39
- this.required = false;
40
- /**
41
- * The tabindex of the control
42
- */
43
- this.tabindex = 0;
44
- /**
45
- * All current validation errors
46
- */
47
- this.validationErrors = "";
48
- /**
49
- * The id of the form controls input, getnerated from the components id.
50
- */
51
- this.inputId = '';
52
- /**
53
- * Notifies component subscriptions that component is destroyed.
54
- * Use with `takeUntil()` when subscribing to complete subscriptions
55
- * automatically.
56
- *
57
- * See:
58
- * [RxJs]{@link http://reactivex.io/rxjs/class/es6/Observable.js~Observable.html#instance-method-takeUntil}
59
- * [and this]{@link https://medium.com/@benlesh/rxjs-dont-unsubscribe-6753ed4fda87}
60
- * [and this]{@link https://netbasal.com/when-to-unsubscribe-in-angular-d61c6b21bad3}
61
- * [and this]{@link http://brianflove.com/2016/12/11/anguar-2-unsubscribe-observables/}
62
- */
63
- this.componentDestroyed = new Subject();
64
- }
65
- /**
66
- * Angular onChange lifecyle hook
67
- */
68
- ngOnChanges(changes) {
69
- if (changes.readonly && changes.readonly.currentValue !== undefined) {
70
- if (changes.readonly.currentValue === true) {
71
- this.formModel.disable();
72
- }
73
- else if (changes.readonly.currentValue === false) {
74
- this.formModel.enable();
75
- }
76
- }
77
- if (changes.id && changes.id.currentValue !== undefined) {
78
- this.inputId = this.formGroupHelper.getInputId(this.id);
79
- }
80
- }
81
- /**
82
- * Angular onInit lifecycle hook.
83
- */
84
- ngOnInit() {
85
- this.inputId = this.formGroupHelper.getInputId(this.id);
86
- // subscribe to valueChanges Observable to take any erros and translate them
87
- this.formModel.statusChanges.pipe(takeUntil(this.componentDestroyed)).subscribe(data => {
88
- this.translateValidationMessages(data);
89
- });
90
- // (re)set validation messages
91
- this.translateValidationMessages();
92
- }
93
- /**
94
- * Angular onDestroy lifecyle hook.
95
- * Unsubscribe from any observables
96
- */
97
- ngOnDestroy() {
98
- this.componentDestroyed.next();
99
- this.componentDestroyed.unsubscribe();
100
- }
101
- /**
102
- * Function that subscribes to the formModel's valueChanges Observable
103
- * to take any erros and translate them
104
- */
105
- translateValidationMessages(data) {
106
- return __awaiter(this, void 0, void 0, function* () {
107
- if (!this.formModel) {
108
- return;
109
- }
110
- const form = this.formModel;
111
- this.validationErrors = '';
112
- if (!form.valid) {
113
- let messages = yield this.validationMessageService.getErrorMessages(form.errors);
114
- if (messages) {
115
- this.validationErrors = messages.join('; ');
116
- }
117
- }
118
- });
119
- }
120
- }
121
- FormControlBase.decorators = [
122
- { type: Directive }
123
- ];
124
- FormControlBase.ctorParameters = () => [
125
- { type: ValidationMessageService },
126
- { type: FormGroupHelper }
127
- ];
128
- FormControlBase.propDecorators = {
129
- autofocus: [{ type: Input }],
130
- formModel: [{ type: Input }],
131
- label: [{ type: Input }],
132
- labelPosition: [{ type: Input }],
133
- id: [{ type: Input }],
134
- pending: [{ type: Input }],
135
- required: [{ type: Input }],
136
- tabindex: [{ type: Input }],
137
- readonly: [{ type: Input }],
138
- tooltip: [{ type: Input }]
139
- };
140
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1jb250cm9sLWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvY29udHJvbHMvZm9ybS1jb250cm9sLWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQStDLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBTzNDOztHQUVHO0FBRUgsTUFBTSxPQUFnQixlQUFlO0lBNEZuQzs7T0FFRztJQUNILFlBQ1ksd0JBQWtELEVBQ2xELGVBQWdDO1FBRGhDLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBMEI7UUFDbEQsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBOUY1Qzs7V0FFRztRQUNhLGNBQVMsR0FBYSxLQUFLLENBQUM7UUFnQjVDOztXQUVHO1FBQ2Esa0JBQWEsR0FBMEIsS0FBSyxDQUFDO1FBRzdEOztXQUVHO1FBQ2EsT0FBRSxHQUFXLEVBQUUsQ0FBQztRQUdoQzs7O1dBR0c7UUFDYSxZQUFPLEdBQWEsS0FBSyxDQUFDO1FBRzFDOzs7V0FHRztRQUNhLGFBQVEsR0FBYSxLQUFLLENBQUM7UUFHM0M7O1dBRUc7UUFDYSxhQUFRLEdBQVksQ0FBQyxDQUFDO1FBZXRDOztXQUVHO1FBQ0kscUJBQWdCLEdBQVcsRUFBRSxDQUFDO1FBR3JDOztXQUVHO1FBQ0ksWUFBTyxHQUFXLEVBQUUsQ0FBQztRQUc3Qjs7Ozs7Ozs7OztXQVVHO1FBQ1EsdUJBQWtCLEdBQWlCLElBQUksT0FBTyxFQUFPLENBQUM7SUFTNUQsQ0FBQztJQUVMOztPQUVHO0lBQ0ksV0FBVyxDQUFDLE9BQXFCO1FBQ3RDLElBQUksT0FBTyxDQUFDLFFBQVEsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLFlBQVksS0FBSyxTQUFTLEVBQUU7WUFDbkUsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLFlBQVksS0FBSyxJQUFJLEVBQUU7Z0JBQzFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUM7YUFDMUI7aUJBQU0sSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLFlBQVksS0FBSyxLQUFLLEVBQUU7Z0JBQ2xELElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUM7YUFDekI7U0FDRjtRQUVELElBQUksT0FBTyxDQUFDLEVBQUUsSUFBSSxPQUFPLENBQUMsRUFBRSxDQUFDLFlBQVksS0FBSyxTQUFTLEVBQUM7WUFDdEQsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDekQ7SUFDSCxDQUFDO0lBR0Q7O09BRUc7SUFDSSxRQUFRO1FBQ2IsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFeEQsNEVBQTRFO1FBQzVFLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLElBQUksQ0FDL0IsU0FBUyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUNuQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNqQixJQUFJLENBQUMsMkJBQTJCLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDeEMsQ0FBQyxDQUFDLENBQUM7UUFFSCw4QkFBOEI7UUFDOUIsSUFBSSxDQUFDLDJCQUEyQixFQUFFLENBQUM7SUFHckMsQ0FBQztJQUdEOzs7T0FHRztJQUNJLFdBQVc7UUFDaEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksRUFBRSxDQUFDO1FBQy9CLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBR0Q7OztPQUdHO0lBQ2EsMkJBQTJCLENBQUMsSUFBVTs7WUFDcEQsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7Z0JBQUUsT0FBTzthQUFFO1lBQ2hDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7WUFFNUIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztZQUUzQixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtnQkFDZixJQUFJLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ2pGLElBQUksUUFBUSxFQUFFO29CQUNaLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2lCQUM3QzthQUNGO1FBQ0gsQ0FBQztLQUFBOzs7WUFyS0YsU0FBUzs7O1lBWkQsd0JBQXdCO1lBQ3hCLGVBQWU7Ozt3QkFrQnJCLEtBQUs7d0JBT0wsS0FBSztvQkFNTCxLQUFLOzRCQU1MLEtBQUs7aUJBTUwsS0FBSztzQkFPTCxLQUFLO3VCQU9MLEtBQUs7dUJBTUwsS0FBSzt1QkFNTCxLQUFLO3NCQU1MLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbnB1dCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE9uSW5pdCwgU2ltcGxlQ2hhbmdlcywgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgVmFsaWRhdGlvbk1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSBcIi4uL2NvcmUvdmFsaWRhdGlvbi1tZXNzYWdlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgRm9ybUdyb3VwSGVscGVyIH0gZnJvbSAnLi4vc2hhcmVkL2Zvcm0tZ3JvdXAuaGVscGVyJztcclxuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuXHJcblxyXG5leHBvcnQgdHlwZSBDb250cm9sTGFiZWxQb3NpdGlvbiA9IFwidG9wXCIgfCBcImJvdHRvbVwiIHwgXCJsZWZ0XCI7XHJcblxyXG5cclxuLyoqXHJcbiAqIEJhc2UgY2xhc3MgZm9yIFJlYWN0aXZlIEZvcm0gQ29udHJvbHMsIGNvbnRhaW5pbmcgRUNJLXNwZWNpZmljIHNoYXJlZCBwcm9wZXJ0aWVzXHJcbiAqL1xyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEZvcm1Db250cm9sQmFzZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBPbkNoYW5nZXMge1xyXG4gIFxyXG4gIFxyXG4gIC8qKlxyXG4gICAqIElmIHRydWUsIHdpbGwgZm9jdXMgdGhlIGNvbnRyb2wncyBpbnB1dCB3aGVuIHRoZSB2aWV3IGlzIGludGlhbGl6ZWRcclxuICAgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgYXV0b2ZvY3VzPzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuXHJcbiAgLyoqXHJcbiAgICogVUktb3JpZW50ZWQgZm9ybSBtb2RlbCB0aGF0IHJldGFpbnMgdGhlIHN0YXRlcyBhbmQgdmFsdWVzIG9mIHRoZSBIVE1MIGNvbnRyb2xzIG9uIHNjcmVlbi5cclxuICAgKiBDYW4gYmUgYSB7QGxpbmsgRm9ybUNvbnRyb2x9IG9yIGEge0BsaW5rIEZvcm1Hcm91cH1cclxuICAgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgZm9ybU1vZGVsITogQWJzdHJhY3RDb250cm9sO1xyXG5cclxuXHJcbiAgLyoqXHJcbiAgICogVGhlIGZvcm0gY29udHJvbCBsYWJlbFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBsYWJlbD86IHN0cmluZztcclxuXHJcblxyXG4gIC8qKlxyXG4gICAqIFRoZSBwb3NpdGlvbiBvZiB0aGUgZm9ybSBjb250cm9sIGxhYmVsICh0b3B8Ym90dG9tKVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBsYWJlbFBvc2l0aW9uPzogQ29udHJvbExhYmVsUG9zaXRpb24gPSBcInRvcFwiO1xyXG5cclxuXHJcbiAgLyoqXHJcbiAgICogVGhlIGlkIG9mIHRoZSBjb21wb25lbnQuIFdlIHVzZSB0aGlzIHRvIGlkZW50aWZ5IGEgY29udHJvbCBvbiBmb2N1cyBldmVudHMgYW5kIGhlbHAuXHJcbiAgICovXHJcbiAgQElucHV0KCkgcHVibGljIGlkOiBzdHJpbmcgPSAnJztcclxuXHJcblxyXG4gIC8qKlxyXG4gICAqIFRoZSBwZW5kaW5nIHN0YXR1cyBvZiB0aGUgY29udHJvbCwgY2FuIGJlIHVzZWQgdG8gdGVsbCB0aGUgdXNlciB0aGUgY29udHJvbCBpc1xyXG4gICAqIGF3YWl0aW5nIGRhdGEgdmlhIGEgc3Bpbm5lciBvciBhbmltYXRpb25cclxuICAgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgcGVuZGluZz86IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZXRoZXIgdGhlIGlucHV0IGlzIGEgcmVxdWlyZWQgZmllbGQgb3Igbm90XHJcbiAgICogQHRvZG86IFNvbWV0aW1lIGluIHRoZSBmdXR1cmUgQW5ndWxhciBtYWtlcyBpdCBzb3VuZCBsaWtlIHRoaXMgd2lsbCBiZSBoYW5kbGVkIHZpYSB0aGUgUmVhY3RpdmUgZm9ybSBXaGVuIHRoYXQgaGFwcGVucyB0aGlzIHByb3BlcnR5IGNhbiBiZSByZW1vdmVkXHJcbiAgICovXHJcbiAgQElucHV0KCkgcHVibGljIHJlcXVpcmVkPzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuXHJcbiAgLyoqXHJcbiAgICogVGhlIHRhYmluZGV4IG9mIHRoZSBjb250cm9sXHJcbiAgICovXHJcbiAgQElucHV0KCkgcHVibGljIHRhYmluZGV4PzogbnVtYmVyID0gMDtcclxuXHJcblxyXG4gIC8qKlxyXG4gICAqIERpc2FibGUgdGhlIGNvbnRyb2wgYW5kIGRpc3BsYXkgdGhlIHZhbHVlXHJcbiAgICovXHJcbiAgQElucHV0KCkgcHVibGljIHJlYWRvbmx5PzogYm9vbGVhbjtcclxuXHJcblxyXG4gIC8qKlxyXG4gICAqIENvbmRpdGlvbmFsbHkgc2hvdyBhIHRvb2x0aXAgb24gdGhlIGZvcm0gY29udHJvbCdzIGlucHV0LlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyB0b29sdGlwPzogc3RyaW5nO1xyXG5cclxuXHJcbiAgLyoqXHJcbiAgICogQWxsIGN1cnJlbnQgdmFsaWRhdGlvbiBlcnJvcnNcclxuICAgKi9cclxuICBwdWJsaWMgdmFsaWRhdGlvbkVycm9yczogc3RyaW5nID0gXCJcIjtcclxuXHJcblxyXG4gIC8qKlxyXG4gICAqIFRoZSBpZCBvZiB0aGUgZm9ybSBjb250cm9scyBpbnB1dCwgZ2V0bmVyYXRlZCBmcm9tIHRoZSBjb21wb25lbnRzIGlkLlxyXG4gICAqL1xyXG4gIHB1YmxpYyBpbnB1dElkOiBzdHJpbmcgPSAnJztcclxuXHJcblxyXG4gLyoqXHJcbiAgKiBOb3RpZmllcyBjb21wb25lbnQgc3Vic2NyaXB0aW9ucyB0aGF0IGNvbXBvbmVudCBpcyBkZXN0cm95ZWQuXHJcbiAgKiBVc2Ugd2l0aCBgdGFrZVVudGlsKClgIHdoZW4gc3Vic2NyaWJpbmcgdG8gY29tcGxldGUgc3Vic2NyaXB0aW9uc1xyXG4gICogYXV0b21hdGljYWxseS5cclxuICAqXHJcbiAgKiBTZWU6XHJcbiAgKiBbUnhKc117QGxpbmsgaHR0cDovL3JlYWN0aXZleC5pby9yeGpzL2NsYXNzL2VzNi9PYnNlcnZhYmxlLmpzfk9ic2VydmFibGUuaHRtbCNpbnN0YW5jZS1tZXRob2QtdGFrZVVudGlsfVxyXG4gICogW2FuZCB0aGlzXXtAbGluayBodHRwczovL21lZGl1bS5jb20vQGJlbmxlc2gvcnhqcy1kb250LXVuc3Vic2NyaWJlLTY3NTNlZDRmZGE4N31cclxuICAqIFthbmQgdGhpc117QGxpbmsgaHR0cHM6Ly9uZXRiYXNhbC5jb20vd2hlbi10by11bnN1YnNjcmliZS1pbi1hbmd1bGFyLWQ2MWM2YjIxYmFkM31cclxuICAqIFthbmQgdGhpc117QGxpbmsgaHR0cDovL2JyaWFuZmxvdmUuY29tLzIwMTYvMTIvMTEvYW5ndWFyLTItdW5zdWJzY3JpYmUtb2JzZXJ2YWJsZXMvfVxyXG4gICovXHJcbiAgcHJvdGVjdGVkIGNvbXBvbmVudERlc3Ryb3llZDogU3ViamVjdDxhbnk+ID0gbmV3IFN1YmplY3Q8YW55PigpO1xyXG5cclxuXHJcbiAgLyoqXHJcbiAgICogQ3JlYXRlcyBhbiBpbnN0YW5jZSBvZiBGb3JtQ29udHJvbEJhc2UuXHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcm90ZWN0ZWQgdmFsaWRhdGlvbk1lc3NhZ2VTZXJ2aWNlOiBWYWxpZGF0aW9uTWVzc2FnZVNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgZm9ybUdyb3VwSGVscGVyOiBGb3JtR3JvdXBIZWxwZXJcclxuICApIHsgfVxyXG5cclxuICAvKipcclxuICAgKiBBbmd1bGFyIG9uQ2hhbmdlIGxpZmVjeWxlIGhvb2tcclxuICAgKi9cclxuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczpTaW1wbGVDaGFuZ2VzKTp2b2lkIHtcclxuICAgIGlmIChjaGFuZ2VzLnJlYWRvbmx5ICYmIGNoYW5nZXMucmVhZG9ubHkuY3VycmVudFZhbHVlICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgaWYgKGNoYW5nZXMucmVhZG9ubHkuY3VycmVudFZhbHVlID09PSB0cnVlKSB7XHJcbiAgICAgICAgdGhpcy5mb3JtTW9kZWwuZGlzYWJsZSgpO1xyXG4gICAgICB9IGVsc2UgaWYgKGNoYW5nZXMucmVhZG9ubHkuY3VycmVudFZhbHVlID09PSBmYWxzZSkge1xyXG4gICAgICAgIHRoaXMuZm9ybU1vZGVsLmVuYWJsZSgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGNoYW5nZXMuaWQgJiYgY2hhbmdlcy5pZC5jdXJyZW50VmFsdWUgIT09IHVuZGVmaW5lZCl7XHJcbiAgICAgIHRoaXMuaW5wdXRJZCA9IHRoaXMuZm9ybUdyb3VwSGVscGVyLmdldElucHV0SWQodGhpcy5pZCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBcclxuICAvKipcclxuICAgKiBBbmd1bGFyIG9uSW5pdCBsaWZlY3ljbGUgaG9vay5cclxuICAgKi9cclxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmlucHV0SWQgPSB0aGlzLmZvcm1Hcm91cEhlbHBlci5nZXRJbnB1dElkKHRoaXMuaWQpO1xyXG4gICAgXHJcbiAgICAvLyBzdWJzY3JpYmUgdG8gdmFsdWVDaGFuZ2VzIE9ic2VydmFibGUgdG8gdGFrZSBhbnkgZXJyb3MgYW5kIHRyYW5zbGF0ZSB0aGVtXHJcbiAgICB0aGlzLmZvcm1Nb2RlbC5zdGF0dXNDaGFuZ2VzLnBpcGUoXHJcbiAgICAgIHRha2VVbnRpbCh0aGlzLmNvbXBvbmVudERlc3Ryb3llZClcclxuICAgICkuc3Vic2NyaWJlKGRhdGEgPT4ge1xyXG4gICAgICB0aGlzLnRyYW5zbGF0ZVZhbGlkYXRpb25NZXNzYWdlcyhkYXRhKVxyXG4gICAgfSk7XHJcblxyXG4gICAgLy8gKHJlKXNldCB2YWxpZGF0aW9uIG1lc3NhZ2VzXHJcbiAgICB0aGlzLnRyYW5zbGF0ZVZhbGlkYXRpb25NZXNzYWdlcygpO1xyXG5cclxuICAgIFxyXG4gIH1cclxuICAgIFxyXG5cclxuICAvKipcclxuICAgKiBBbmd1bGFyIG9uRGVzdHJveSBsaWZlY3lsZSBob29rLiBcclxuICAgKiBVbnN1YnNjcmliZSBmcm9tIGFueSBvYnNlcnZhYmxlc1xyXG4gICAqL1xyXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuY29tcG9uZW50RGVzdHJveWVkLm5leHQoKTtcclxuICAgIHRoaXMuY29tcG9uZW50RGVzdHJveWVkLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgLyoqXHJcbiAgICogRnVuY3Rpb24gdGhhdCBzdWJzY3JpYmVzIHRvIHRoZSBmb3JtTW9kZWwncyB2YWx1ZUNoYW5nZXMgT2JzZXJ2YWJsZVxyXG4gICAqIHRvIHRha2UgYW55IGVycm9zIGFuZCB0cmFuc2xhdGUgdGhlbVxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBhc3luYyB0cmFuc2xhdGVWYWxpZGF0aW9uTWVzc2FnZXMoZGF0YT86IGFueSkge1xyXG4gICAgaWYgKCF0aGlzLmZvcm1Nb2RlbCkgeyByZXR1cm47IH1cclxuICAgIGNvbnN0IGZvcm0gPSB0aGlzLmZvcm1Nb2RlbDtcclxuXHJcbiAgICB0aGlzLnZhbGlkYXRpb25FcnJvcnMgPSAnJztcclxuXHJcbiAgICBpZiAoIWZvcm0udmFsaWQpIHtcclxuICAgICAgbGV0IG1lc3NhZ2VzID0gYXdhaXQgdGhpcy52YWxpZGF0aW9uTWVzc2FnZVNlcnZpY2UuZ2V0RXJyb3JNZXNzYWdlcyhmb3JtLmVycm9ycyk7XHJcbiAgICAgIGlmIChtZXNzYWdlcykge1xyXG4gICAgICAgIHRoaXMudmFsaWRhdGlvbkVycm9ycyA9IG1lc3NhZ2VzLmpvaW4oJzsgJyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG59Il19
@@ -1,139 +0,0 @@
1
- import { __awaiter } from "tslib";
2
- import { Component, HostBinding, Input } from '@angular/core';
3
- import { AbstractControl } from '@angular/forms';
4
- import { TranslateService } from '@ngx-translate/core';
5
- import { Subject } from 'rxjs';
6
- import { takeUntil } from 'rxjs/operators';
7
- import { ValidationMessageService } from '../../core/validation-message.service';
8
- import { forEachFormControl } from '../form-group/form-group.component';
9
- export class FormControlLabelComponent {
10
- constructor(validationMessageService, translateService) {
11
- this.validationMessageService = validationMessageService;
12
- this.translateService = translateService;
13
- /**
14
- * The form control label
15
- */
16
- this.label = '';
17
- /**
18
- * The position of the form control label (top|bottom|left)
19
- */
20
- this.labelPosition = "top";
21
- /**An optional string to show if any of the underlying controls has an error. If falsy, one of the
22
- * errors from the underlying controls will be used.
23
- */
24
- this.overrideValidationError = "";
25
- /**An optional flag to hide the validation messages.
26
- */
27
- this.hideValidationMessage = false;
28
- /**
29
- * All current validation errors
30
- *
31
- * @type {string}
32
- * @memberof FormControlBase
33
- */
34
- this.validationErrors = "";
35
- this.allControlsTouched = false;
36
- this.componentDestroyed = new Subject();
37
- }
38
- ngOnInit() {
39
- return __awaiter(this, void 0, void 0, function* () {
40
- // subscribe to statusChanges Observable to take any errors and translate them
41
- if (this.control) {
42
- this.control.statusChanges
43
- .pipe(takeUntil(this.componentDestroyed))
44
- .subscribe(() => {
45
- this.translateValidationMessages(this.getErrors(this.control));
46
- });
47
- // (re)set validation messages
48
- this.translateValidationMessages(this.getErrors(this.control));
49
- }
50
- if (this.id) {
51
- this.attrId = this.id;
52
- }
53
- });
54
- }
55
- /**
56
- * Angular onDestroy lifecyle hook.
57
- * Unsubscribe from any observables
58
- *
59
- * @see https://angular.io/guide/lifecycle-hooks
60
- * @memberof FormControlBase
61
- */
62
- ngOnDestroy() {
63
- this.componentDestroyed.next();
64
- this.componentDestroyed.unsubscribe();
65
- }
66
- getErrors(control) {
67
- control.markAsUntouched();
68
- let errors = null;
69
- let allTouched = true;
70
- let controlFound = false;
71
- forEachFormControl(control, (control) => {
72
- errors = this.assignErrors(control, errors);
73
- if (control.untouched) {
74
- allTouched = false;
75
- }
76
- controlFound = true;
77
- });
78
- if (control.errors) {
79
- errors = Object.assign(errors || {}, control.errors);
80
- }
81
- if (allTouched && controlFound) {
82
- control.markAsTouched();
83
- }
84
- return errors;
85
- }
86
- assignErrors(control, errors) {
87
- if (control.errors) {
88
- errors = Object.assign(errors || {}, control.errors);
89
- }
90
- return errors;
91
- }
92
- /**
93
- * Function that subscribes to the controls valueChanges Observable
94
- * to take any erros and translate them
95
- *
96
- * @param {*} [data]
97
- * @returns
98
- * @memberof FormControlBase
99
- */
100
- translateValidationMessages(errors) {
101
- return __awaiter(this, void 0, void 0, function* () {
102
- if (errors) {
103
- if (this.overrideValidationError) {
104
- this.validationErrors = this.translateService.instant(this.overrideValidationError);
105
- }
106
- else {
107
- let messages = yield this.validationMessageService.getErrorMessages(errors);
108
- if (messages) {
109
- this.validationErrors = messages.join('; ');
110
- }
111
- }
112
- }
113
- else {
114
- this.validationErrors = '';
115
- }
116
- });
117
- }
118
- }
119
- FormControlLabelComponent.decorators = [
120
- { type: Component, args: [{
121
- selector: 'ec-form-control-label',
122
- template: "<div class=\"control control-label-{{labelPosition}}\" [class.ec-untouched]=\"control?.untouched\">\r\n <label *ngIf=\"label\" ngPreserveWhitespaces>\r\n\r\n <span id=\"{{id}}_label\">{{label | translate}}</span>\r\n\r\n <span *ngIf=\"!hideValidationMessage && validationErrors && control?.touched && control?.invalid\">{{validationErrors | translate}}</span>\r\n </label>\r\n</div>",
123
- styles: [":root{--ec-color-icon:rgba(26,26,35,0.66);--ec-font-size-icon:1rem}@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:host{color:var(--ec-color-primary-dark);display:block;font-family:var(--ec-font-family);font-size:var(--ec-font-size-body);margin-bottom:1rem;width:100%}:host :host-context(.form-condensed){margin-bottom:.5rem}:host .control{display:flex;flex-direction:column;width:100%}:host .control.control-label-bottom{flex-direction:column-reverse}:host .control.control-label-left{flex-direction:row}:host .control.control-label-left label{margin-right:.25rem}:host .control.control-label-right{flex-direction:row-reverse}:host .control.control-label-right label{margin-left:.25rem}:host .control.control-label-left,:host .control.control-label-right{align-items:center}:host .control.control-label-left label,:host .control.control-label-right label{flex:1 1;margin-bottom:0;margin-top:0}:host .control.control-label-left .control-input,:host .control.control-label-right .control-input{flex:2 2}:host .control.is-readonly input,:host .control.is-readonly select{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;background-clip:border-box;background-color:rgba(26,26,35,.12);background-image:none;border-color:transparent;color:var(--ec-color-primary-dark);opacity:1;overflow:hidden;pointer-events:none;user-select:none;white-space:nowrap}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid{background-color:var(--ec-background-color-caution);background-image:url('data:image/svg+xml;charset=utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 32\"><path fill=\"rgba(26, 26, 35, 0.66)\" d=\"M20.21 20.21h-8.42L10.95 0h10.1l-.84 20.21zm-8.42 3.37h8.42V32h-8.42z\"/></svg>');background-position:.25rem;background-repeat:no-repeat;background-size:1rem,1rem;padding-left:1.5rem}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:not(:focus),:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:not(:focus){border-color:var(--ec-color-caution)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button{background-color:var(--ec-background-color-caution)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:not(:focus){border-color:var(--ec-color-caution)}:host .textbox-group{display:flex;position:relative}:host input:focus,:host select:focus,:host textarea:focus{outline:none}label{color:var(--ec-color-secondary-dark);display:block;font-size:var(--ec-font-size-label);line-height:1;margin:calc(var(--ec-font-size-label)/2) 0}.control.ec-untouched ::ng-deep input.ng-invalid.ng-touched{background-image:none;padding-left:.5rem}.control.ec-untouched ::ng-deep input.ng-invalid.ng-touched:not(.is-empty)~.units-left{left:0}.control.ec-untouched ::ng-deep input:required:not(:disabled).is-empty{background-color:var(--ec-background-color);background-image:url('data:image/svg+xml;charset=utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 32\"><path fill=\"%23ffe433\" d=\"M31.32 21.69l-.09.18-2.48 4.35c-.36.54-.77.62-1.25.27-.12 0-.2 0-.2-.09L19.53 22v9.37a1.26 1.26 0 0 1-.72.67h-5.26c-.59 0-.83-.3-.83-.89 0-.12.15-.21.15-.27V22l-8 4.71h-.12c-.42.66-.8.21-1.16-.27L1 21.82a.82.82 0 0 1 .35-1.26l.18-.1L9 16 .87 11.47v-.09c0-.36-.39-.74-.09-1.16l2.75-4.35v-.09c0-.42.82-.54 1.29-.36l8 4.62V.89c0-.59.18-.89.77-.89h5c.65 0 .91.3.91.89V10l7.94-4.53c.48-.29.72-.21 1.08.27l2.32 4.35v.09c.66.48.45.89-.08 1.25L23 16l7.91 4.53v.09c-.04.18.53.54.41 1.07z\"/></svg>');background-position:.25rem;background-repeat:no-repeat;background-size:1rem,1rem;border-color:var(--ec-border-color-legacy);padding-left:1.5rem}.control.ec-untouched ::ng-deep input:required:not(:disabled).is-empty:focus{border-color:var(--ec-color-interactive);box-shadow:0 0 0 .0625rem var(--ec-color-interactive);position:relative;z-index:1}.control-label-left{display:flex}"]
124
- },] }
125
- ];
126
- FormControlLabelComponent.ctorParameters = () => [
127
- { type: ValidationMessageService },
128
- { type: TranslateService }
129
- ];
130
- FormControlLabelComponent.propDecorators = {
131
- id: [{ type: Input }],
132
- attrId: [{ type: HostBinding, args: ['attr.id',] }],
133
- label: [{ type: Input }],
134
- control: [{ type: Input }],
135
- labelPosition: [{ type: Input }],
136
- overrideValidationError: [{ type: Input }],
137
- hideValidationMessage: [{ type: Input }]
138
- };
139
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1jb250cm9sLWxhYmVsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9jb250cm9scy9mb3JtLWNvbnRyb2wtbGFiZWwvZm9ybS1jb250cm9sLWxhYmVsLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxlQUFlLEVBQW9CLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFFakYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFPeEUsTUFBTSxPQUFPLHlCQUF5QjtJQW9EcEMsWUFDWSx3QkFBa0QsRUFDcEQsZ0JBQWtDO1FBRGhDLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBMEI7UUFDcEQscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQTFDNUM7O1dBRUc7UUFDYSxVQUFLLEdBQVcsRUFBRSxDQUFDO1FBV25DOzthQUVLO1FBQ1csa0JBQWEsR0FBMEIsS0FBSyxDQUFDO1FBRzdEOztXQUVHO1FBQ2EsNEJBQXVCLEdBQVksRUFBRSxDQUFDO1FBRXREO1dBQ0c7UUFDYSwwQkFBcUIsR0FBWSxLQUFLLENBQUM7UUFDdkQ7Ozs7O1dBS0c7UUFDSSxxQkFBZ0IsR0FBVyxFQUFFLENBQUM7UUFFOUIsdUJBQWtCLEdBQVksS0FBSyxDQUFDO1FBRW5DLHVCQUFrQixHQUFpQixJ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QUNILENBQUM7S0FBQTs7O1lBbkpGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsdUJBQXVCO2dCQUNqQyxrWkFBa0Q7O2FBRW5EOzs7WUFSUSx3QkFBd0I7WUFIeEIsZ0JBQWdCOzs7aUJBaUJ0QixLQUFLO3FCQUtMLFdBQVcsU0FBQyxTQUFTO29CQUtyQixLQUFLO3NCQVNMLEtBQUs7NEJBS0wsS0FBSztzQ0FNTCxLQUFLO29DQUlMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgVmFsaWRhdGlvbk1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS92YWxpZGF0aW9uLW1lc3NhZ2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IENvbnRyb2xMYWJlbFBvc2l0aW9uIH0gZnJvbSAnLi4vZm9ybS1jb250cm9sLWJhc2UnO1xyXG5pbXBvcnQgeyBmb3JFYWNoRm9ybUNvbnRyb2wgfSBmcm9tICcuLi9mb3JtLWdyb3VwL2Zvcm0tZ3JvdXAuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZWMtZm9ybS1jb250cm9sLWxhYmVsJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZm9ybS1jb250cm9sLWxhYmVsLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9mb3JtLWNvbnRyb2wtbGFiZWwuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRm9ybUNvbnRyb2xMYWJlbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIC8qKlxyXG4gICAqIElkXHJcbiAgICovXHJcbiAgQElucHV0KCkgcHVibGljIGlkPzogc3RyaW5nO1xyXG5cclxuICAvKipcclxuICAgKiBCaW5kIGlkIHRvIGhvc3QgZWxlbWVudFxyXG4gICAqL1xyXG4gIEBIb3N0QmluZGluZygnYXR0ci5pZCcpIHB1YmxpYyBhdHRySWQ/OiBzdHJpbmc7XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoZSBmb3JtIGNvbnRyb2wgbGFiZWxcclxuICAgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgbGFiZWw6IHN0cmluZyA9ICcnO1xyXG5cclxuICAvKipcclxuICAgKiBVSS1vcmllbnRlZCBmb3JtIG1vZGVsIHRoYXQgcmV0YWlucyB0aGUgc3RhdGVzIGFuZCB2YWx1ZXMgb2YgdGhlIEhUTUwgY29udHJvbHMgb24gc2NyZWVuLlxyXG4gICAqIENhbiBiZSBhIHtAbGluayBGb3JtQ29udHJvbH0sIGEge0BsaW5rIEZvcm1Hcm91cH0gb3IgYSB7QGxpbmsgRm9ybUFycmF5fVxyXG4gICAqXHJcbiAgICogQHR5cGUge0Fic3RyYWN0Q29udHJvbH1cclxuICAgKiBAbWVtYmVyb2YgRm9ybUNvbnRyb2xCYXNlXHJcbiAgICovXHJcbiAgQElucHV0KCkgcHVibGljIGNvbnRyb2w/OiBBYnN0cmFjdENvbnRyb2w7XHJcblxyXG4gIC8qKlxyXG4gICAgICogVGhlIHBvc2l0aW9uIG9mIHRoZSBmb3JtIGNvbnRyb2wgbGFiZWwgKHRvcHxib3R0b218bGVmdClcclxuICAgICAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBsYWJlbFBvc2l0aW9uPzogQ29udHJvbExhYmVsUG9zaXRpb24gPSBcInRvcFwiO1xyXG5cclxuXHJcbiAgLyoqQW4gb3B0aW9uYWwgc3RyaW5nIHRvIHNob3cgaWYgYW55IG9mIHRoZSB1bmRlcmx5aW5nIGNvbnRyb2xzIGhhcyBhbiBlcnJvci4gSWYgZmFsc3ksIG9uZSBvZiB0aGVcclxuICAgKiBlcnJvcnMgZnJvbSB0aGUgdW5kZXJseWluZyBjb250cm9scyB3aWxsIGJlIHVzZWQuXHJcbiAgICovXHJcbiAgQElucHV0KCkgcHVibGljIG92ZXJyaWRlVmFsaWRhdGlvbkVycm9yPzogc3RyaW5nID0gXCJcIjtcclxuXHJcbiAgLyoqQW4gb3B0aW9uYWwgZmxhZyB0byBoaWRlIHRoZSB2YWxpZGF0aW9uIG1lc3NhZ2VzLlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBoaWRlVmFsaWRhdGlvbk1lc3NhZ2U/OmJvb2xlYW4gPSBmYWxzZTtcclxuICAvKipcclxuICAgKiBBbGwgY3VycmVudCB2YWxpZGF0aW9uIGVycm9yc1xyXG4gICAqXHJcbiAgICogQHR5cGUge3N0cmluZ31cclxuICAgKiBAbWVtYmVyb2YgRm9ybUNvbnRyb2xCYXNlXHJcbiAgICovXHJcbiAgcHVibGljIHZhbGlkYXRpb25FcnJvcnM6IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gIHB1YmxpYyBhbGxDb250cm9sc1RvdWNoZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgcHJpdmF0ZSBjb21wb25lbnREZXN0cm95ZWQ6IFN1YmplY3Q8YW55PiA9IG5ldyBTdWJqZWN0PGFueT4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcm90ZWN0ZWQgdmFsaWRhdGlvbk1lc3NhZ2VTZXJ2aWNlOiBWYWxpZGF0aW9uTWVzc2FnZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2VcclxuICApIHsgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgbmdPbkluaXQoKSB7XHJcbiAgICAvLyBzdWJzY3JpYmUgdG8gc3RhdHVzQ2hhbmdlcyBPYnNlcnZhYmxlIHRvIHRha2UgYW55IGVycm9ycyBhbmQgdHJhbnNsYXRlIHRoZW1cclxuICAgIGlmICh0aGlzLmNvbnRyb2wpIHtcclxuICAgICAgdGhpcy5jb250cm9sLnN0YXR1c0NoYW5nZXNcclxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5jb21wb25lbnREZXN0cm95ZWQpKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy50cmFuc2xhdGVWYWxpZGF0aW9uTWVzc2FnZXModGhpcy5nZXRFcnJvcnModGhpcy5jb250cm9sISkpXHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAvLyAocmUpc2V0IHZhbGlkYXRpb24gbWVzc2FnZXNcclxuICAgICAgdGhpcy50cmFuc2xhdGVWYWxpZGF0aW9uTWVzc2FnZXModGhpcy5nZXRFcnJvcnModGhpcy5jb250cm9sKSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuaWQpIHtcclxuICAgICAgdGhpcy5hdHRySWQgPSB0aGlzLmlkO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQW5ndWxhciBvbkRlc3Ryb3kgbGlmZWN5bGUgaG9vay5cclxuICAgKiBVbnN1YnNjcmliZSBmcm9tIGFueSBvYnNlcnZhYmxlc1xyXG4gICAqXHJcbiAgICogQHNlZSBodHRwczovL2FuZ3VsYXIuaW8vZ3VpZGUvbGlmZWN5Y2xlLWhvb2tzXHJcbiAgICogQG1lbWJlcm9mIEZvcm1Db250cm9sQmFzZVxyXG4gICAqL1xyXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuY29tcG9uZW50RGVzdHJveWVkLm5leHQoKTtcclxuICAgIHRoaXMuY29tcG9uZW50RGVzdHJveWVkLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldEVycm9ycyhjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XHJcbiAgICBjb250cm9sLm1hcmtBc1VudG91Y2hlZCgpO1xyXG5cclxuICAgIGxldCBlcnJvcnM6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0gbnVsbDtcclxuICAgIGxldCBhbGxUb3VjaGVkOiBib29sZWFuID0gdHJ1ZTtcclxuICAgIGxldCBjb250cm9sRm91bmQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBmb3JFYWNoRm9ybUNvbnRyb2woY29udHJvbCwgKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCkgPT4ge1xyXG4gICAgICBlcnJvcnMgPSB0aGlzLmFzc2lnbkVycm9ycyhjb250cm9sLCBlcnJvcnMpO1xyXG4gICAgICBpZiAoY29udHJvbC51bnRvdWNoZWQpIHtcclxuICAgICAgICBhbGxUb3VjaGVkID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgICAgY29udHJvbEZvdW5kID0gdHJ1ZTtcclxuICAgIH0pO1xyXG5cclxuICAgIGlmIChjb250cm9sLmVycm9ycykge1xyXG4gICAgICBlcnJvcnMgPSBPYmplY3QuYXNzaWduKGVycm9ycyB8fCB7fSwgY29udHJvbC5lcnJvcnMpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChhbGxUb3VjaGVkICYmIGNvbnRyb2xGb3VuZCkge1xyXG4gICAgICBjb250cm9sLm1hcmtBc1RvdWNoZWQoKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZXJyb3JzO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3NpZ25FcnJvcnMoY29udHJvbDogQWJzdHJhY3RDb250cm9sLCBlcnJvcnM6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xyXG4gICAgaWYgKGNvbnRyb2wuZXJyb3JzKSB7XHJcbiAgICAgIGVycm9ycyA9IE9iamVjdC5hc3NpZ24oZXJyb3JzIHx8IHt9LCBjb250cm9sLmVycm9ycyk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGVycm9yc1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRnVuY3Rpb24gdGhhdCBzdWJzY3JpYmVzIHRvIHRoZSBjb250cm9scyB2YWx1ZUNoYW5nZXMgT2JzZXJ2YWJsZVxyXG4gICAqIHRvIHRha2UgYW55IGVycm9zIGFuZCB0cmFuc2xhdGUgdGhlbVxyXG4gICAqXHJcbiAgICogQHBhcmFtIHsqfSBbZGF0YV1cclxuICAgKiBAcmV0dXJuc1xyXG4gICAqIEBtZW1iZXJvZiBGb3JtQ29udHJvbEJhc2VcclxuICAgKi9cclxuICBwcml2YXRlIGFzeW5jIHRyYW5zbGF0ZVZhbGlkYXRpb25NZXNzYWdlcyhlcnJvcnM6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsKSB7XHJcbiAgICBpZiAoZXJyb3JzKSB7XHJcbiAgICAgIGlmKHRoaXMub3ZlcnJpZGVWYWxpZGF0aW9uRXJyb3Ipe1xyXG4gICAgICAgIHRoaXMudmFsaWRhdGlvbkVycm9ycyA9IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KHRoaXMub3ZlcnJpZGVWYWxpZGF0aW9uRXJyb3IpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGxldCBtZXNzYWdlcyA9IGF3YWl0IHRoaXMudmFsaWRhdGlvbk1lc3NhZ2VTZXJ2aWNlLmdldEVycm9yTWVzc2FnZXMoZXJyb3JzKTtcclxuICAgICAgICBpZiAobWVzc2FnZXMpIHtcclxuICAgICAgICAgIHRoaXMudmFsaWRhdGlvbkVycm9ycyA9IG1lc3NhZ2VzLmpvaW4oJzsgJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnZhbGlkYXRpb25FcnJvcnMgPSAnJztcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
@@ -1,254 +0,0 @@
1
- import { __awaiter } from "tslib";
2
- import { Component, Input, HostBinding } from "@angular/core";
3
- import { FormGroup, FormArray, FormControl } from "@angular/forms";
4
- import { TranslateService } from "@ngx-translate/core";
5
- import { cloneDeep } from "lodash";
6
- import { Subject } from "rxjs";
7
- import { takeUntil } from "rxjs/operators";
8
- import { ValidationMessageService } from "../../core/validation-message.service";
9
- /** Function to iterate over form controls and
10
- * ensure they contain unique values. If any are duplicated all offending
11
- * form controls will be marked as invalid
12
- *
13
- * @param valueProperty - the sub-property of the object represented by each form control
14
- * it is dereferenced as formGroup.control.value[valueProperty].
15
- * defaults to "value", which matches the form controls used to back comboboxes
16
- * if explicitly null, this function assumes value is not a complex object and just extracts
17
- * formGroup.control.value
18
- */
19
- export const validateFormGroupValuesAreUnique = (fg, valueProperty = "value", subProperty) => {
20
- let formControlValues = {};
21
- // First get all of the values and if they have been found already,
22
- // increment the number of times found
23
- forEachFormControl(fg, (control) => {
24
- let controlValue = getControlValue(control, valueProperty, subProperty);
25
- if (controlValue !== null && controlValue !== '') {
26
- if (typeof controlValue === 'string') {
27
- controlValue = controlValue.toLowerCase();
28
- }
29
- if (formControlValues.hasOwnProperty(controlValue)) {
30
- formControlValues[controlValue] = formControlValues[controlValue] + 1;
31
- }
32
- else {
33
- formControlValues[controlValue] = 1;
34
- }
35
- }
36
- });
37
- // Now go back over the controls and if their value was found more than once flag them as invalid
38
- forEachFormControl(fg, (control) => {
39
- let controlValue = getControlValue(control, valueProperty, subProperty);
40
- // If the control value is null we will let any required validators handle them
41
- if (controlValue !== null && controlValue !== '') {
42
- if (typeof controlValue === 'string') {
43
- controlValue = controlValue.toLowerCase();
44
- }
45
- if (formControlValues[controlValue] > 1) {
46
- control.setErrors(Object.assign({ notUnique: true }, control.errors));
47
- }
48
- else {
49
- // Get a copy of the existing form control errors, if any
50
- let errors = cloneDeep(control.errors);
51
- // If there are errors and previously had the notUnique error we want to remove
52
- // that property
53
- if (errors && errors.hasOwnProperty("notUnique")) {
54
- delete errors.notUnique;
55
- }
56
- // If that was the only error in the object, set to null so validation passes
57
- if (errors && Object.keys(errors).length === 0) {
58
- errors = null;
59
- }
60
- control.setErrors(errors);
61
- }
62
- }
63
- });
64
- };
65
- /**
66
- * Function to iterate over for controls and invoke the callback function when they are found.
67
- * Recursively calls itself when it encounters sub form groups and iterates over form arrays.
68
- * @param c
69
- * @param callback
70
- */
71
- export const forEachFormControl = (c, callback) => {
72
- let controls = [];
73
- // Normalize to an array for ease of processing
74
- if (c instanceof FormControl) {
75
- controls.push(c);
76
- }
77
- else if (c instanceof FormGroup) {
78
- for (var key in c.controls) {
79
- controls.push(c.controls[key]);
80
- }
81
- }
82
- else if (c instanceof FormArray) {
83
- controls = c.controls;
84
- }
85
- controls.forEach(control => {
86
- if (control instanceof FormArray) {
87
- control.controls.forEach(ctrl => {
88
- if (ctrl instanceof FormGroup || ctrl instanceof FormArray) {
89
- forEachFormControl(ctrl, callback);
90
- }
91
- else {
92
- callback(ctrl);
93
- }
94
- });
95
- }
96
- else if (control instanceof FormGroup) {
97
- forEachFormControl(control, callback);
98
- }
99
- else {
100
- callback(control);
101
- }
102
- });
103
- };
104
- /**
105
- * Function to return the value if it is enabled and set
106
- * @param control
107
- */
108
- export const getControlValue = (control, valueProperty = "value", subProperty) => {
109
- if (control.enabled && (control.value !== null && control.value !== undefined)) {
110
- if (valueProperty === null) {
111
- return control.value;
112
- }
113
- else if (subProperty) {
114
- return control.value[valueProperty][subProperty];
115
- }
116
- else {
117
- return control.value[valueProperty];
118
- }
119
- }
120
- else {
121
- return null;
122
- }
123
- };
124
- export class FormGroupComponent {
125
- constructor(validationMessageService, translateService) {
126
- this.validationMessageService = validationMessageService;
127
- this.translateService = translateService;
128
- /**
129
- * The form control label
130
- */
131
- this.label = '';
132
- /**
133
- * The position of the form control label (top|bottom|left)
134
- */
135
- this.labelPosition = "top";
136
- /**An optional string to show if any of the underlying controls has an error. If falsy, one of the
137
- * errors from the underlying controls will be used.
138
- */
139
- this.overrideValidationError = "";
140
- /**An optional flag to hide the validation messages.
141
- */
142
- this.hideValidationMessage = false;
143
- /**
144
- * All current validation errors
145
- *
146
- * @type {string}
147
- * @memberof FormControlBase
148
- */
149
- this.validationErrors = "";
150
- this.allControlsTouched = false;
151
- this.componentDestroyed = new Subject();
152
- }
153
- ngOnInit() {
154
- return __awaiter(this, void 0, void 0, function* () {
155
- // subscribe to statusChanges Observable to take any errors and translate them
156
- if (this.formGroup) {
157
- this.formGroup.statusChanges
158
- .pipe(takeUntil(this.componentDestroyed))
159
- .subscribe(() => {
160
- this.translateValidationMessages(this.getErrors(this.formGroup));
161
- });
162
- // (re)set validation messages
163
- this.translateValidationMessages(this.getErrors(this.formGroup));
164
- }
165
- if (this.id) {
166
- this.attrId = this.id;
167
- }
168
- });
169
- }
170
- /**
171
- * Angular onDestroy lifecyle hook.
172
- * Unsubscribe from any observables
173
- *
174
- * @see https://angular.io/guide/lifecycle-hooks
175
- * @memberof FormControlBase
176
- */
177
- ngOnDestroy() {
178
- this.componentDestroyed.next();
179
- this.componentDestroyed.unsubscribe();
180
- }
181
- getErrors(formGroup) {
182
- formGroup.markAsUntouched();
183
- let errors = null;
184
- let allTouched = true;
185
- let controlFound = false;
186
- forEachFormControl(formGroup, (control) => {
187
- errors = this.assignErrors(control, errors);
188
- if (control.untouched) {
189
- allTouched = false;
190
- }
191
- controlFound = true;
192
- });
193
- if (formGroup.errors) {
194
- errors = Object.assign(errors || {}, formGroup.errors);
195
- }
196
- if (allTouched && controlFound) {
197
- formGroup.markAsTouched();
198
- }
199
- return errors;
200
- }
201
- assignErrors(control, errors) {
202
- if (control.errors) {
203
- errors = Object.assign(errors || {}, control.errors);
204
- }
205
- return errors;
206
- }
207
- /**
208
- * Function that subscribes to the formGroup's valueChanges Observable
209
- * to take any erros and translate them
210
- *
211
- * @param {*} [data]
212
- * @returns
213
- * @memberof FormControlBase
214
- */
215
- translateValidationMessages(errors) {
216
- return __awaiter(this, void 0, void 0, function* () {
217
- if (errors) {
218
- if (this.overrideValidationError) {
219
- this.validationErrors = this.translateService.instant(this.overrideValidationError);
220
- }
221
- else {
222
- let messages = yield this.validationMessageService.getErrorMessages(errors);
223
- if (messages) {
224
- this.validationErrors = messages.join('; ');
225
- }
226
- }
227
- }
228
- else {
229
- this.validationErrors = '';
230
- }
231
- });
232
- }
233
- }
234
- FormGroupComponent.decorators = [
235
- { type: Component, args: [{
236
- selector: 'ec-form-group',
237
- template: "<div class=\"control control-label-{{labelPosition}}\" [class.ec-untouched]=\"formGroup?.untouched\">\r\n <label *ngIf=\"label\" ngPreserveWhitespaces>\r\n\r\n <span id=\"{{id}}_label\">{{label | translate}}</span>\r\n\r\n <span *ngIf=\"!hideValidationMessage && validationErrors && formGroup?.touched && formGroup?.invalid\">{{validationErrors | translate}}</span>\r\n </label>\r\n <ng-content></ng-content>\r\n</div>",
238
- styles: [":root{--ec-color-icon:rgba(26,26,35,0.66);--ec-font-size-icon:1rem}@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:host{color:var(--ec-color-primary-dark);display:block;font-family:var(--ec-font-family);font-size:var(--ec-font-size-body);margin-bottom:1rem;width:100%}:host :host-context(.form-condensed){margin-bottom:.5rem}:host .control{display:flex;flex-direction:column;width:100%}:host .control.control-label-bottom{flex-direction:column-reverse}:host .control.control-label-left{flex-direction:row}:host .control.control-label-left label{margin-right:.25rem}:host .control.control-label-right{flex-direction:row-reverse}:host .control.control-label-right label{margin-left:.25rem}:host .control.control-label-left,:host .control.control-label-right{align-items:center}:host .control.control-label-left label,:host .control.control-label-right label{flex:1 1;margin-bottom:0;margin-top:0}:host .control.control-label-left .control-input,:host .control.control-label-right .control-input{flex:2 2}:host .control.is-readonly input,:host .control.is-readonly select{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;background-clip:border-box;background-color:rgba(26,26,35,.12);background-image:none;border-color:transparent;color:var(--ec-color-primary-dark);opacity:1;overflow:hidden;pointer-events:none;user-select:none;white-space:nowrap}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid{background-color:var(--ec-background-color-caution);background-image:url('data:image/svg+xml;charset=utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 32\"><path fill=\"rgba(26, 26, 35, 0.66)\" d=\"M20.21 20.21h-8.42L10.95 0h10.1l-.84 20.21zm-8.42 3.37h8.42V32h-8.42z\"/></svg>');background-position:.25rem;background-repeat:no-repeat;background-size:1rem,1rem;padding-left:1.5rem}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:not(:focus),:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:not(:focus){border-color:var(--ec-color-caution)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button{background-color:var(--ec-background-color-caution)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:not(:focus){border-color:var(--ec-color-caution)}:host .textbox-group{display:flex;position:relative}:host input:focus,:host select:focus,:host textarea:focus{outline:none}label{color:var(--ec-color-secondary-dark);display:block;font-size:var(--ec-font-size-label);line-height:1;margin:calc(var(--ec-font-size-label)/2) 0}.control.ec-untouched ::ng-deep input.ng-invalid.ng-touched{background-image:none;padding-left:.5rem}.control.ec-untouched ::ng-deep input.ng-invalid.ng-touched:not(.is-empty)~.units-left{left:0}.control.ec-untouched ::ng-deep input:required:not(:disabled).is-empty{background-color:var(--ec-background-color);background-image:url('data:image/svg+xml;charset=utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 32\"><path fill=\"%23ffe433\" d=\"M31.32 21.69l-.09.18-2.48 4.35c-.36.54-.77.62-1.25.27-.12 0-.2 0-.2-.09L19.53 22v9.37a1.26 1.26 0 0 1-.72.67h-5.26c-.59 0-.83-.3-.83-.89 0-.12.15-.21.15-.27V22l-8 4.71h-.12c-.42.66-.8.21-1.16-.27L1 21.82a.82.82 0 0 1 .35-1.26l.18-.1L9 16 .87 11.47v-.09c0-.36-.39-.74-.09-1.16l2.75-4.35v-.09c0-.42.82-.54 1.29-.36l8 4.62V.89c0-.59.18-.89.77-.89h5c.65 0 .91.3.91.89V10l7.94-4.53c.48-.29.72-.21 1.08.27l2.32 4.35v.09c.66.48.45.89-.08 1.25L23 16l7.91 4.53v.09c-.04.18.53.54.41 1.07z\"/></svg>');background-position:.25rem;background-repeat:no-repeat;background-size:1rem,1rem;border-color:var(--ec-border-color-legacy);padding-left:1.5rem}.control.ec-untouched ::ng-deep input:required:not(:disabled).is-empty:focus{border-color:var(--ec-color-interactive);box-shadow:0 0 0 .0625rem var(--ec-color-interactive);position:relative;z-index:1}.control-label-left{display:flex}"]
239
- },] }
240
- ];
241
- FormGroupComponent.ctorParameters = () => [
242
- { type: ValidationMessageService },
243
- { type: TranslateService }
244
- ];
245
- FormGroupComponent.propDecorators = {
246
- id: [{ type: Input }],
247
- attrId: [{ type: HostBinding, args: ['attr.id',] }],
248
- label: [{ type: Input }],
249
- formGroup: [{ type: Input }],
250
- labelPosition: [{ type: Input }],
251
- overrideValidationError: [{ type: Input }],
252
- hideValidationMessage: [{ type: Input }]
253
- };
254
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1ncm91cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvY29udHJvbHMvZm9ybS1ncm91cC9mb3JtLWdyb3VwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFtQixXQUFXLEVBQW9CLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNuQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUlqRjs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFNLENBQUMsTUFBTSxnQ0FBZ0MsR0FBRyxDQUFDLEVBQXlCLEVBQUUsZ0JBQStCLE9BQU8sRUFBRSxXQUFvQixFQUFRLEVBQUU7SUFDaEosSUFBSSxpQkFBaUIsR0FBNEIsRUFBRSxDQUFDO0lBRXBELG1FQUFtRTtJQUNuRSxzQ0FBc0M7SUFDdEMsa0JBQWtCLENBQUMsRUFBRSxFQUFFLENBQUMsT0FBd0IsRUFBRSxFQUFFO1FBQ2xELElBQUksWUFBWSxHQUFRLGVBQWUsQ0FBQyxPQUFPLEVBQUUsYUFBYSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBRTdFLElBQUksWUFBWSxLQUFLLElBQUksSUFBSSxZQUFZLEtBQUssRUFBRSxFQUFFO1lBQ2hELElBQUksT0FBTyxZQUFZLEtBQUssUUFBUSxFQUFFO2dCQUNwQyxZ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Q0FBQyxDQUFDO3FCQUM3QztpQkFDRjthQUNGO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxFQUFFLENBQUM7YUFDNUI7UUFDSCxDQUFDO0tBQUE7OztZQW5KRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGVBQWU7Z0JBQ3pCLHViQUEwQzs7YUFFM0M7OztZQTdIUSx3QkFBd0I7WUFKeEIsZ0JBQWdCOzs7aUJBdUl0QixLQUFLO3FCQUtMLFdBQVcsU0FBQyxTQUFTO29CQUtyQixLQUFLO3dCQVNMLEtBQUs7NEJBS0wsS0FBSztzQ0FNTCxLQUFLO29DQUlMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIEhvc3RCaW5kaW5nIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgRm9ybUdyb3VwLCBGb3JtQXJyYXksIEFic3RyYWN0Q29udHJvbCwgRm9ybUNvbnRyb2wsIFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XHJcbmltcG9ydCB7IGNsb25lRGVlcCB9IGZyb20gXCJsb2Rhc2hcIjtcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xyXG5pbXBvcnQgeyBWYWxpZGF0aW9uTWVzc2FnZVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vY29yZS92YWxpZGF0aW9uLW1lc3NhZ2Uuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBDb250cm9sTGFiZWxQb3NpdGlvbiB9IGZyb20gXCIuLi9mb3JtLWNvbnRyb2wtYmFzZVwiO1xyXG5cclxuXHJcbi8qKiBGdW5jdGlvbiB0byBpdGVyYXRlIG92ZXIgZm9ybSBjb250cm9scyBhbmRcclxuICogIGVuc3VyZSB0aGV5IGNvbnRhaW4gdW5pcXVlIHZhbHVlcy4gIElmIGFueSBhcmUgZHVwbGljYXRlZCBhbGwgb2ZmZW5kaW5nXHJcbiAqICBmb3JtIGNvbnRyb2xzIHdpbGwgYmUgbWFya2VkIGFzIGludmFsaWRcclxuICpcclxuICogQHBhcmFtIHZhbHVlUHJvcGVydHkgLSB0aGUgc3ViLXByb3BlcnR5IG9mIHRoZSBvYmplY3QgcmVwcmVzZW50ZWQgYnkgZWFjaCBmb3JtIGNvbnRyb2xcclxuICogICAgICAgIGl0IGlzIGRlcmVmZXJlbmNlZCBhcyBmb3JtR3JvdXAuY29udHJvbC52YWx1ZVt2YWx1ZVByb3BlcnR5XS5cclxuICogICAgICAgIGRlZmF1bHRzIHRvIFwidmFsdWVcIiwgd2hpY2ggbWF0Y2hlcyB0aGUgZm9ybSBjb250cm9scyB1c2VkIHRvIGJhY2sgY29tYm9ib3hlc1xyXG4gKiAgICAgICAgaWYgZXhwbGljaXRseSBudWxsLCB0aGlzIGZ1bmN0aW9uIGFzc3VtZXMgdmFsdWUgaXMgbm90IGEgY29tcGxleCBvYmplY3QgYW5kIGp1c3QgZXh0cmFjdHNcclxuICogICAgICAgIGZvcm1Hcm91cC5jb250cm9sLnZhbHVlXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgdmFsaWRhdGVGb3JtR3JvdXBWYWx1ZXNBcmVVbmlxdWUgPSAoZmc6IEZvcm1Hcm91cCB8IEZvcm1BcnJheSwgdmFsdWVQcm9wZXJ0eTogc3RyaW5nIHwgbnVsbCA9IFwidmFsdWVcIiwgc3ViUHJvcGVydHk/OiBzdHJpbmcpOiB2b2lkID0+IHtcclxuICBsZXQgZm9ybUNvbnRyb2xWYWx1ZXM6IHtba2V5OiBzdHJpbmddOiBudW1iZXJ9ID0ge307XHJcblxyXG4gIC8vIEZpcnN0IGdldCBhbGwgb2YgdGhlIHZhbHVlcyBhbmQgaWYgdGhleSBoYXZlIGJlZW4gZm91bmQgYWxyZWFkeSxcclxuICAvLyBpbmNyZW1lbnQgdGhlIG51bWJlciBvZiB0aW1lcyBmb3VuZFxyXG4gIGZvckVhY2hGb3JtQ29udHJvbChmZywgKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCkgPT4ge1xyXG4gICAgbGV0IGNvbnRyb2xWYWx1ZTogYW55ID0gZ2V0Q29udHJvbFZhbHVlKGNvbnRyb2wsIHZhbHVlUHJvcGVydHksIHN1YlByb3BlcnR5KTtcclxuXHJcbiAgICBpZiAoY29udHJvbFZhbHVlICE9PSBudWxsICYmIGNvbnRyb2xWYWx1ZSAhPT0gJycpIHtcclxuICAgICAgaWYgKHR5cGVvZiBjb250cm9sVmFsdWUgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgY29udHJvbFZhbHVlID0gY29udHJvbFZhbHVlLnRvTG93ZXJDYXNlKCk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGZvcm1Db250cm9sVmFsdWVzLmhhc093blByb3BlcnR5KGNvbnRyb2xWYWx1ZSkpIHtcclxuICAgICAgICBmb3JtQ29udHJvbFZhbHVlc1tjb250cm9sVmFsdWVdID0gZm9ybUNvbnRyb2xWYWx1ZXNbY29udHJvbFZhbHVlXSArIDE7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgZm9ybUNvbnRyb2xWYWx1ZXNbY29udHJvbFZhbHVlXSA9IDE7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9KTtcclxuXHJcbiAgLy8gTm93IGdvIGJhY2sgb3ZlciB0aGUgY29udHJvbHMgYW5kIGlmIHRoZWlyIHZhbHVlIHdhcyBmb3VuZCBtb3JlIHRoYW4gb25jZSBmbGFnIHRoZW0gYXMgaW52YWxpZFxyXG4gIGZvckVhY2hGb3JtQ29udHJvbChmZywgKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCkgPT4ge1xyXG4gICAgbGV0IGNvbnRyb2xWYWx1ZTogYW55ID0gZ2V0Q29udHJvbFZhbHVlKGNvbnRyb2wsIHZhbHVlUHJvcGVydHksIHN1YlByb3BlcnR5KTtcclxuXHJcbiAgICAvLyBJZiB0aGUgY29udHJvbCB2YWx1ZSBpcyBudWxsIHdlIHdpbGwgbGV0IGFueSByZXF1aXJlZCB2YWxpZGF0b3JzIGhhbmRsZSB0aGVtXHJcbiAgICBpZiAoY29udHJvbFZhbHVlICE9PSBudWxsICYmIGNvbnRyb2xWYWx1ZSAhPT0gJycpIHtcclxuICAgICAgaWYgKHR5cGVvZiBjb250cm9sVmFsdWUgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgY29udHJvbFZhbHVlID0gY29udHJvbFZhbHVlLnRvTG93ZXJDYXNlKCk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGZvcm1Db250cm9sVmFsdWVzW2NvbnRyb2xWYWx1ZV0gPiAxKSB7XHJcbiAgICAgICAgY29udHJvbC5zZXRFcnJvcnMoT2JqZWN0LmFzc2lnbih7IG5vdFVuaXF1ZTogdHJ1ZSB9LCBjb250cm9sLmVycm9ycykpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIC8vIEdldCBhIGNvcHkgb2YgdGhlIGV4aXN0aW5nIGZvcm0gY29udHJvbCBlcnJvcnMsIGlmIGFueVxyXG4gICAgICAgIGxldCBlcnJvcnMgPSBjbG9uZURlZXAoY29udHJvbC5lcnJvcnMpO1xyXG5cclxuICAgICAgICAvLyBJZiB0aGVyZSBhcmUgZXJyb3JzIGFuZCBwcmV2aW91c2x5IGhhZCB0aGUgbm90VW5pcXVlIGVycm9yIHdlIHdhbnQgdG8gcmVtb3ZlXHJcbiAgICAgICAgLy8gdGhhdCBwcm9wZXJ0eVxyXG4gICAgICAgIGlmIChlcnJvcnMgJiYgZXJyb3JzLmhhc093blByb3BlcnR5KFwibm90VW5pcXVlXCIpKSB7XHJcbiAgICAgICAgICBkZWxldGUgZXJyb3JzLm5vdFVuaXF1ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIElmIHRoYXQgd2FzIHRoZSBvbmx5IGVycm9yIGluIHRoZSBvYmplY3QsIHNldCB0byBudWxsIHNvIHZhbGlkYXRpb24gcGFzc2VzXHJcbiAgICAgICAgaWYgKGVycm9ycyAmJiBPYmplY3Qua2V5cyhlcnJvcnMpLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgICAgZXJyb3JzID0gbnVsbDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnRyb2wuc2V0RXJyb3JzKGVycm9ycyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9KTtcclxufTtcclxuXHJcbi8qKlxyXG4gKiBGdW5jdGlvbiB0byBpdGVyYXRlIG92ZXIgZm9yIGNvbnRyb2xzIGFuZCBpbnZva2UgdGhlIGNhbGxiYWNrIGZ1bmN0aW9uIHdoZW4gdGhleSBhcmUgZm91bmQuXHJcbiAqIFJlY3Vyc2l2ZWx5IGNhbGxzIGl0c2VsZiB3aGVuIGl0IGVuY291bnRlcnMgc3ViIGZvcm0gZ3JvdXBzIGFuZCBpdGVyYXRlcyBvdmVyIGZvcm0gYXJyYXlzLlxyXG4gKiBAcGFyYW0gY1xyXG4gKiBAcGFyYW0gY2FsbGJhY2tcclxuICovXHJcbmV4cG9ydCBjb25zdCBmb3JFYWNoRm9ybUNvbnRyb2wgPSAoYzogQWJzdHJhY3RDb250cm9sLCBjYWxsYmFjazogKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCkgPT4gdm9pZCk6IHZvaWQgPT4ge1xyXG4gIGxldCBjb250cm9sczogQWJzdHJhY3RDb250cm9sW10gPSBbXTtcclxuXHJcbiAgLy8gTm9ybWFsaXplIHRvIGFuIGFycmF5IGZvciBlYXNlIG9mIHByb2Nlc3NpbmdcclxuICBpZiAoYyBpbnN0YW5jZW9mIEZvcm1Db250cm9sKSB7XHJcbiAgICBjb250cm9scy5wdXNoKGMpO1xyXG4gIH0gZWxzZSBpZiAoYyBpbnN0YW5jZW9mIEZvcm1Hcm91cCkge1xyXG4gICAgZm9yICh2YXIga2V5IGluIGMuY29udHJvbHMpIHtcclxuICAgICAgY29udHJvbHMucHVzaChjLmNvbnRyb2xzW2tleV0pO1xyXG4gICAgfVxyXG4gIH0gZWxzZSBpZiAoYyBpbnN0YW5jZW9mIEZvcm1BcnJheSkge1xyXG4gICAgY29udHJvbHMgPSBjLmNvbnRyb2xzO1xyXG4gIH1cclxuXHJcbiAgY29udHJvbHMuZm9yRWFjaChjb250cm9sID0+IHtcclxuICAgIGlmIChjb250cm9sIGluc3RhbmNlb2YgRm9ybUFycmF5KSB7XHJcbiAgICAgIGNvbnRyb2wuY29udHJvbHMuZm9yRWFjaChjdHJsID0+IHtcclxuICAgICAgICBpZiAoY3RybCBpbnN0YW5jZW9mIEZvcm1Hcm91cCB8fCBjdHJsIGluc3RhbmNlb2YgRm9ybUFycmF5KSB7XHJcbiAgICAgICAgICBmb3JFYWNoRm9ybUNvbnRyb2woY3RybCwgY2FsbGJhY2spO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBjYWxsYmFjayhjdHJsKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIGlmIChjb250cm9sIGluc3RhbmNlb2YgRm9ybUdyb3VwKSB7XHJcbiAgICAgIGZvckVhY2hGb3JtQ29udHJvbChjb250cm9sLGNhbGxiYWNrKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNhbGxiYWNrKGNvbnRyb2wpO1xyXG4gICAgfVxyXG4gIH0pO1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIEZ1bmN0aW9uIHRvIHJldHVybiB0aGUgdmFsdWUgaWYgaXQgaXMgZW5hYmxlZCBhbmQgc2V0XHJcbiAqIEBwYXJhbSBjb250cm9sXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgZ2V0Q29udHJvbFZhbHVlID0gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCwgdmFsdWVQcm9wZXJ0eTogc3RyaW5nIHwgbnVsbCA9IFwidmFsdWVcIiwgc3ViUHJvcGVydHk/OiBzdHJpbmcpOiBhbnkgfCBudWxsID0+IHtcclxuICBpZiAoY29udHJvbC5lbmFibGVkICYmIChjb250cm9sLnZhbHVlICE9PSBudWxsICYmIGNvbnRyb2wudmFsdWUgIT09IHVuZGVmaW5lZCkpIHtcclxuICAgIGlmICh2YWx1ZVByb3BlcnR5ID09PSBudWxsKSB7XHJcbiAgICAgIHJldHVybiBjb250cm9sLnZhbHVlO1xyXG4gICAgfSBlbHNlIGlmIChzdWJQcm9wZXJ0eSkge1xyXG4gICAgICByZXR1cm4gY29udHJvbC52YWx1ZVt2YWx1ZVByb3BlcnR5XVtzdWJQcm9wZXJ0eV07XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gY29udHJvbC52YWx1ZVt2YWx1ZVByb3BlcnR5XTtcclxuICAgIH1cclxuICB9IGVsc2Uge1xyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2VjLWZvcm0tZ3JvdXAnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9mb3JtLWdyb3VwLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9mb3JtLWdyb3VwLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEZvcm1Hcm91cENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIC8qKlxyXG4gICAqIElkXHJcbiAgICovXHJcbiAgQElucHV0KCkgcHVibGljIGlkPzogc3RyaW5nO1xyXG5cclxuICAvKipcclxuICAgKiBCaW5kIGlkIHRvIGhvc3QgZWxlbWVudFxyXG4gICAqL1xyXG4gIEBIb3N0QmluZGluZygnYXR0ci5pZCcpIHB1YmxpYyBhdHRySWQ/OiBzdHJpbmc7XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoZSBmb3JtIGNvbnRyb2wgbGFiZWxcclxuICAgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgbGFiZWw6IHN0cmluZyA9ICcnO1xyXG5cclxuICAvKipcclxuICAgKiBVSS1vcmllbnRlZCBmb3JtIG1vZGVsIHRoYXQgcmV0YWlucyB0aGUgc3RhdGVzIGFuZCB2YWx1ZXMgb2YgdGhlIEhUTUwgY29udHJvbHMgb24gc2NyZWVuLlxyXG4gICAqIENhbiBiZSBhIHtAbGluayBGb3JtQ29udHJvbH0gb3IgYSB7QGxpbmsgRm9ybUdyb3VwfVxyXG4gICAqXHJcbiAgICogQHR5cGUge0Zvcm1Hcm91cH1cclxuICAgKiBAbWVtYmVyb2YgRm9ybUNvbnRyb2xCYXNlXHJcbiAgICovXHJcbiAgQElucHV0KCkgcHVibGljIGZvcm1Hcm91cD86IEZvcm1Hcm91cDtcclxuXHJcbiAgLyoqXHJcbiAgICAgKiBUaGUgcG9zaXRpb24gb2YgdGhlIGZvcm0gY29udHJvbCBsYWJlbCAodG9wfGJvdHRvbXxsZWZ0KVxyXG4gICAgICovXHJcbiAgQElucHV0KCkgcHVibGljIGxhYmVsUG9zaXRpb24/OiBDb250cm9sTGFiZWxQb3NpdGlvbiA9IFwidG9wXCI7XHJcblxyXG5cclxuICAvKipBbiBvcHRpb25hbCBzdHJpbmcgdG8gc2hvdyBpZiBhbnkgb2YgdGhlIHVuZGVybHlpbmcgY29udHJvbHMgaGFzIGFuIGVycm9yLiBJZiBmYWxzeSwgb25lIG9mIHRoZVxyXG4gICAqIGVycm9ycyBmcm9tIHRoZSB1bmRlcmx5aW5nIGNvbnRyb2xzIHdpbGwgYmUgdXNlZC5cclxuICAgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgb3ZlcnJpZGVWYWxpZGF0aW9uRXJyb3I/OiBzdHJpbmcgPSBcIlwiO1xyXG5cclxuICAvKipBbiBvcHRpb25hbCBmbGFnIHRvIGhpZGUgdGhlIHZhbGlkYXRpb24gbWVzc2FnZXMuXHJcbiAgICovXHJcbiAgQElucHV0KCkgcHVibGljIGhpZGVWYWxpZGF0aW9uTWVzc2FnZT86Ym9vbGVhbiA9IGZhbHNlO1xyXG4gIC8qKlxyXG4gICAqIEFsbCBjdXJyZW50IHZhbGlkYXRpb24gZXJyb3JzXHJcbiAgICpcclxuICAgKiBAdHlwZSB7c3RyaW5nfVxyXG4gICAqIEBtZW1iZXJvZiBGb3JtQ29udHJvbEJhc2VcclxuICAgKi9cclxuICBwdWJsaWMgdmFsaWRhdGlvbkVycm9yczogc3RyaW5nID0gXCJcIjtcclxuXHJcbiAgcHVibGljIGFsbENvbnRyb2xzVG91Y2hlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBwcml2YXRlIGNvbXBvbmVudERlc3Ryb3llZDogU3ViamVjdDxhbnk+ID0gbmV3IFN1YmplY3Q8YW55PigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByb3RlY3RlZCB2YWxpZGF0aW9uTWVzc2FnZVNlcnZpY2U6IFZhbGlkYXRpb25NZXNzYWdlU2VydmljZSxcclxuICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZVxyXG4gICkgeyB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBuZ09uSW5pdCgpIHtcclxuICAgIC8vIHN1YnNjcmliZSB0byBzdGF0dXNDaGFuZ2VzIE9ic2VydmFibGUgdG8gdGFrZSBhbnkgZXJyb3JzIGFuZCB0cmFuc2xhdGUgdGhlbVxyXG4gICAgaWYgKHRoaXMuZm9ybUdyb3VwKSB7XHJcbiAgICAgIHRoaXMuZm9ybUdyb3VwLnN0YXR1c0NoYW5nZXNcclxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5jb21wb25lbnREZXN0cm95ZWQpKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy50cmFuc2xhdGVWYWxpZGF0aW9uTWVzc2FnZXModGhpcy5nZXRFcnJvcnModGhpcy5mb3JtR3JvdXAhKSlcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgIC8vIChyZSlzZXQgdmFsaWRhdGlvbiBtZXNzYWdlc1xyXG4gICAgICB0aGlzLnRyYW5zbGF0ZVZhbGlkYXRpb25NZXNzYWdlcyh0aGlzLmdldEVycm9ycyh0aGlzLmZvcm1Hcm91cCkpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmlkKSB7XHJcbiAgICAgIHRoaXMuYXR0cklkID0gdGhpcy5pZDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFuZ3VsYXIgb25EZXN0cm95IGxpZmVjeWxlIGhvb2suXHJcbiAgICogVW5zdWJzY3JpYmUgZnJvbSBhbnkgb2JzZXJ2YWJsZXNcclxuICAgKlxyXG4gICAqIEBzZWUgaHR0cHM6Ly9hbmd1bGFyLmlvL2d1aWRlL2xpZmVjeWNsZS1ob29rc1xyXG4gICAqIEBtZW1iZXJvZiBGb3JtQ29udHJvbEJhc2VcclxuICAgKi9cclxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmNvbXBvbmVudERlc3Ryb3llZC5uZXh0KCk7XHJcbiAgICB0aGlzLmNvbXBvbmVudERlc3Ryb3llZC51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRFcnJvcnMoZm9ybUdyb3VwOiBGb3JtR3JvdXApOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XHJcbiAgICBmb3JtR3JvdXAubWFya0FzVW50b3VjaGVkKCk7XHJcblxyXG4gICAgbGV0IGVycm9yczogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPSBudWxsO1xyXG4gICAgbGV0IGFsbFRvdWNoZWQ6IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgbGV0IGNvbnRyb2xGb3VuZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIGZvckVhY2hGb3JtQ29udHJvbChmb3JtR3JvdXAsIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpID0+IHtcclxuICAgICAgZXJyb3JzID0gdGhpcy5hc3NpZ25FcnJvcnMoY29udHJvbCwgZXJyb3JzKTtcclxuICAgICAgaWYgKGNvbnRyb2wudW50b3VjaGVkKSB7XHJcbiAgICAgICAgYWxsVG91Y2hlZCA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnRyb2xGb3VuZCA9IHRydWU7XHJcbiAgICB9KTtcclxuXHJcbiAgICBpZiAoZm9ybUdyb3VwLmVycm9ycykge1xyXG4gICAgICBlcnJvcnMgPSBPYmplY3QuYXNzaWduKGVycm9ycyB8fCB7fSwgZm9ybUdyb3VwLmVycm9ycyk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGFsbFRvdWNoZWQgJiYgY29udHJvbEZvdW5kKSB7XHJcbiAgICAgIGZvcm1Hcm91cC5tYXJrQXNUb3VjaGVkKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGVycm9ycztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXNzaWduRXJyb3JzKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCwgZXJyb3JzOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcclxuICAgIGlmIChjb250cm9sLmVycm9ycykge1xyXG4gICAgICBlcnJvcnMgPSBPYmplY3QuYXNzaWduKGVycm9ycyB8fCB7fSwgY29udHJvbC5lcnJvcnMpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBlcnJvcnNcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZ1bmN0aW9uIHRoYXQgc3Vic2NyaWJlcyB0byB0aGUgZm9ybUdyb3VwJ3MgdmFsdWVDaGFuZ2VzIE9ic2VydmFibGVcclxuICAgKiB0byB0YWtlIGFueSBlcnJvcyBhbmQgdHJhbnNsYXRlIHRoZW1cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7Kn0gW2RhdGFdXHJcbiAgICogQHJldHVybnNcclxuICAgKiBAbWVtYmVyb2YgRm9ybUNvbnRyb2xCYXNlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBhc3luYyB0cmFuc2xhdGVWYWxpZGF0aW9uTWVzc2FnZXMoZXJyb3JzOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCkge1xyXG4gICAgaWYgKGVycm9ycykge1xyXG4gICAgICBpZih0aGlzLm92ZXJyaWRlVmFsaWRhdGlvbkVycm9yKXtcclxuICAgICAgICB0aGlzLnZhbGlkYXRpb25FcnJvcnMgPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCh0aGlzLm92ZXJyaWRlVmFsaWRhdGlvbkVycm9yKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBsZXQgbWVzc2FnZXMgPSBhd2FpdCB0aGlzLnZhbGlkYXRpb25NZXNzYWdlU2VydmljZS5nZXRFcnJvck1lc3NhZ2VzKGVycm9ycyk7XHJcbiAgICAgICAgaWYgKG1lc3NhZ2VzKSB7XHJcbiAgICAgICAgICB0aGlzLnZhbGlkYXRpb25FcnJvcnMgPSBtZXNzYWdlcy5qb2luKCc7ICcpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy52YWxpZGF0aW9uRXJyb3JzID0gJyc7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,22 +0,0 @@
1
- import { Component, HostBinding, Input } from '@angular/core';
2
- export class HelpPopoverComponent {
3
- constructor() {
4
- this.id = '';
5
- this.text = '';
6
- this.contentPosition = 'top-left';
7
- }
8
- }
9
- HelpPopoverComponent.decorators = [
10
- { type: Component, args: [{
11
- selector: 'ec-help-popover',
12
- template: "<ec-popover id=\"{{id}}_popover\"\r\n icon=\"icon-help-circle\"\r\n [contentPosition]=\"contentPosition\"\r\n iconHoverClass=\"font-color-primary-light\">\r\n <div id=\"{{id}}_popoverContent\"\r\n class=\"help-popover-content text-body-1\"\r\n [class.is-right]=\"contentPosition == 'top-right' || contentPosition == 'bottom-right'\">\r\n <div *ngIf=\"text\"\r\n [innerHTML]=\"text | translate\"></div>\r\n <ng-content></ng-content>\r\n </div>\r\n</ec-popover>",
13
- styles: [".help-popover-content{background-color:#162f3b;color:var(--ec-color-primary-light);max-width:15rem;padding:.375rem .5rem .375rem 1.75rem}.help-popover-content.is-right{padding:.375rem 1.75rem .375rem .5rem}"]
14
- },] }
15
- ];
16
- HelpPopoverComponent.ctorParameters = () => [];
17
- HelpPopoverComponent.propDecorators = {
18
- id: [{ type: Input }, { type: HostBinding, args: ['attr.id',] }],
19
- text: [{ type: Input }],
20
- contentPosition: [{ type: Input }]
21
- };
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscC1wb3BvdmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9jb250cm9scy9oZWxwLXBvcG92ZXIvaGVscC1wb3BvdmVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFROUQsTUFBTSxPQUFPLG9CQUFvQjtJQU0vQjtRQUppQyxPQUFFLEdBQVcsRUFBRSxDQUFDO1FBQ3hDLFNBQUksR0FBVyxFQUFFLENBQUM7UUFDbEIsb0JBQWUsR0FBMkIsVUFBVSxDQUFDO0lBRTlDLENBQUM7OztZQVhsQixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtnQkFDM0Isb2hCQUE0Qzs7YUFFN0M7Ozs7aUJBR0UsS0FBSyxZQUFJLFdBQVcsU0FBQyxTQUFTO21CQUM5QixLQUFLOzhCQUNMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBQb3BvdmVyQ29udGVudFBvc2l0aW9uIH0gZnJvbSAnLi4vcG9wb3Zlci9wb3BvdmVyLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2VjLWhlbHAtcG9wb3ZlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2hlbHAtcG9wb3Zlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vaGVscC1wb3BvdmVyLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEhlbHBQb3BvdmVyQ29tcG9uZW50IHtcclxuXHJcbiAgQElucHV0KCkgQEhvc3RCaW5kaW5nKCdhdHRyLmlkJykgaWQ6IHN0cmluZyA9ICcnO1xyXG4gIEBJbnB1dCgpIHRleHQ6IHN0cmluZyA9ICcnO1xyXG4gIEBJbnB1dCgpIGNvbnRlbnRQb3NpdGlvbjogUG9wb3ZlckNvbnRlbnRQb3NpdGlvbiA9ICd0b3AtbGVmdCc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG59XHJcbiJdfQ==