@energycap/components 0.41.1-ECAP-26841-date-input-features.20250108-1149 → 0.42.1

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 (357) hide show
  1. package/{esm2020 → esm2022}/energycap-components.mjs +4 -4
  2. package/{esm2020 → esm2022}/lib/components.module.mjs +423 -423
  3. package/esm2022/lib/controls/banner/banner.component.mjs +109 -0
  4. package/esm2022/lib/controls/button/button.component.mjs +106 -0
  5. package/esm2022/lib/controls/button/copy-button-base.directive.mjs +67 -0
  6. package/{esm2020 → esm2022}/lib/controls/button/copy-button.directive.mjs +28 -28
  7. package/esm2022/lib/controls/button/copy-table-button.directive.mjs +43 -0
  8. package/esm2022/lib/controls/calendar/calendar-item.component.mjs +91 -0
  9. package/esm2022/lib/controls/calendar/calendar.component.mjs +248 -0
  10. package/{esm2020 → esm2022}/lib/controls/calendar/calendar.types.mjs +1 -1
  11. package/esm2022/lib/controls/checkbox/checkbox.component.mjs +140 -0
  12. package/{esm2020 → esm2022}/lib/controls/collapsible-toggle/collapsible-toggle.component.mjs +38 -38
  13. package/esm2022/lib/controls/combobox/combobox.component.mjs +879 -0
  14. package/esm2022/lib/controls/date-input/date-input-selection-strategies/date-input-selection-strategy-base.mjs +57 -0
  15. package/esm2022/lib/controls/date-input/date-input-selection-strategies/day-selection-strategy.mjs +62 -0
  16. package/esm2022/lib/controls/date-input/date-input-selection-strategies/last-28-days-selection-strategy.mjs +100 -0
  17. package/esm2022/lib/controls/date-input/date-input-selection-strategies/last-7-days-selection-strategy.mjs +101 -0
  18. package/esm2022/lib/controls/date-input/date-input-selection-strategies/month-selection-strategy.mjs +76 -0
  19. package/esm2022/lib/controls/date-input/date-input-selection-strategies/quarter-selection-strategy.mjs +79 -0
  20. package/esm2022/lib/controls/date-input/date-input-selection-strategies/range-selection-strategy.mjs +210 -0
  21. package/esm2022/lib/controls/date-input/date-input-selection-strategies/year-selection-strategy.mjs +81 -0
  22. package/esm2022/lib/controls/date-input/date-input.component.mjs +465 -0
  23. package/{esm2020 → esm2022}/lib/controls/date-input/date-input.types.mjs +44 -44
  24. package/esm2022/lib/controls/dropdown/dropdown.component.mjs +243 -0
  25. package/esm2022/lib/controls/file-upload/file-upload.component.mjs +261 -0
  26. package/esm2022/lib/controls/form-control/form-control.component.mjs +98 -0
  27. package/esm2022/lib/controls/form-control-base.mjs +151 -0
  28. package/esm2022/lib/controls/form-control-label/form-control-label.component.mjs +136 -0
  29. package/esm2022/lib/controls/form-group/form-group.component.mjs +261 -0
  30. package/{esm2020 → esm2022}/lib/controls/help-popover/help-popover.component.mjs +31 -31
  31. package/esm2022/lib/controls/item-picker/item-picker.component.mjs +329 -0
  32. package/{esm2020 → esm2022}/lib/controls/link-button/link-button.component.mjs +11 -11
  33. package/esm2022/lib/controls/menu/menu.component.mjs +485 -0
  34. package/{esm2020 → esm2022}/lib/controls/navigation/link-item.mjs +1 -1
  35. package/esm2022/lib/controls/navigation/nav-group.mjs +39 -0
  36. package/esm2022/lib/controls/navigation/nav-item-active.directive.mjs +92 -0
  37. package/{esm2020 → esm2022}/lib/controls/navigation/nav-item.mjs +1 -1
  38. package/esm2022/lib/controls/numericbox/numericbox.component.mjs +372 -0
  39. package/esm2022/lib/controls/popover/popover.component.mjs +117 -0
  40. package/{esm2020 → esm2022}/lib/controls/radio-button/radio-button-option.mjs +2 -2
  41. package/esm2022/lib/controls/radio-button/radio-button.component.mjs +82 -0
  42. package/esm2022/lib/controls/select/select.component.mjs +88 -0
  43. package/esm2022/lib/controls/tabs/tabs.component.mjs +47 -0
  44. package/esm2022/lib/controls/textbox/textbox.component.mjs +155 -0
  45. package/esm2022/lib/core/cache.service.mjs +105 -0
  46. package/esm2022/lib/core/custom-validators.mjs +29 -0
  47. package/esm2022/lib/core/date-time-helper.mjs +228 -0
  48. package/esm2022/lib/core/error.service.mjs +61 -0
  49. package/esm2022/lib/core/router-helper.service.mjs +111 -0
  50. package/esm2022/lib/core/scroll.service.mjs +89 -0
  51. package/{esm2020 → esm2022}/lib/core/telemetry-tracker.service.mjs +16 -16
  52. package/{esm2020 → esm2022}/lib/core/telemetry.service.mjs +38 -38
  53. package/esm2022/lib/core/validation-message.service.mjs +185 -0
  54. package/{esm2020 → esm2022}/lib/core/validation-patterns.mjs +30 -30
  55. package/esm2022/lib/core/window.service.mjs +186 -0
  56. package/esm2022/lib/display/app-bar/app-bar.component.mjs +46 -0
  57. package/esm2022/lib/display/avatar/avatar.component.mjs +67 -0
  58. package/esm2022/lib/display/avatar/avatar.service.mjs +64 -0
  59. package/esm2022/lib/display/confirm/confirm.component.mjs +168 -0
  60. package/{esm2020 → esm2022}/lib/display/dialog/dialog-content.mjs +1 -1
  61. package/esm2022/lib/display/dialog/dialog-group/dialog-group.component.mjs +63 -0
  62. package/{esm2020 → esm2022}/lib/display/dialog/dialog-types.mjs +76 -76
  63. package/esm2022/lib/display/dialog/dialog.component.mjs +281 -0
  64. package/{esm2020 → esm2022}/lib/display/dialog/dialog.service.mjs +71 -71
  65. package/{esm2020 → esm2022}/lib/display/help/help-types.mjs +1 -1
  66. package/esm2022/lib/display/hierarchy/hierarchy-base.mjs +111 -0
  67. package/{esm2020 → esm2022}/lib/display/hierarchy/hierarchy-mocks.spec.mjs +53 -53
  68. package/esm2022/lib/display/hierarchy/hierarchy-tree/hierarchy-tree.component.mjs +61 -0
  69. package/esm2022/lib/display/item-display/item-display.component.mjs +81 -0
  70. package/esm2022/lib/display/json-display/json-display.component.mjs +47 -0
  71. package/esm2022/lib/display/resizable/resizable-base.mjs +120 -0
  72. package/{esm2020 → esm2022}/lib/display/resizable/resizable.component.mjs +52 -52
  73. package/{esm2020 → esm2022}/lib/display/spinner/spinner.component.mjs +12 -12
  74. package/esm2022/lib/display/splash/splash.component.mjs +42 -0
  75. package/{esm2020 → esm2022}/lib/display/splash/splash.service.mjs +35 -35
  76. package/{esm2020 → esm2022}/lib/display/table/resizable-column.component.mjs +20 -20
  77. package/esm2022/lib/display/table/resizable-table.directive.mjs +227 -0
  78. package/esm2022/lib/display/table/searchable-table.component.mjs +342 -0
  79. package/{esm2020 → esm2022}/lib/display/table/table-detail-row.component.mjs +19 -19
  80. package/esm2022/lib/display/table/table-locked-column.component.mjs +58 -0
  81. package/{esm2020 → esm2022}/lib/display/table/table-master-header-row.component.mjs +14 -14
  82. package/esm2022/lib/display/table/table-master-row.component.mjs +163 -0
  83. package/esm2022/lib/display/table/table-pagination.component.mjs +155 -0
  84. package/esm2022/lib/display/table/table-selectable-row.component.mjs +235 -0
  85. package/esm2022/lib/display/table/table.component.mjs +249 -0
  86. package/esm2022/lib/display/tags/tag.mjs +18 -0
  87. package/esm2022/lib/display/tags/tags.component.mjs +77 -0
  88. package/esm2022/lib/display/toast/toast/toast.component.mjs +77 -0
  89. package/{esm2020 → esm2022}/lib/display/toast/toast-types.mjs +7 -7
  90. package/{esm2020 → esm2022}/lib/display/toast/toast.service.mjs +35 -35
  91. package/esm2022/lib/display/toast/toaster/toaster.component.mjs +114 -0
  92. package/{esm2020 → esm2022}/lib/display/tooltip/tooltip.component.mjs +28 -28
  93. package/{esm2020 → esm2022}/lib/display/tooltip/tooltip.service.mjs +78 -78
  94. package/esm2022/lib/display/tooltip-directive/tooltip.directive.mjs +173 -0
  95. package/{esm2020 → esm2022}/lib/display/tour/tour-types.mjs +33 -33
  96. package/esm2022/lib/display/tour/tour.component.mjs +398 -0
  97. package/esm2022/lib/display/tour/tour.service.mjs +75 -0
  98. package/esm2022/lib/display/tree/tree.component.mjs +135 -0
  99. package/esm2022/lib/display/view-overlay/view-overlay.component.mjs +58 -0
  100. package/esm2022/lib/shared/directives/click-area-for/click-area-for.directive.mjs +32 -0
  101. package/esm2022/lib/shared/directives/if-viewport-width/if-viewport-width.directive.mjs +111 -0
  102. package/{esm2020 → esm2022}/lib/shared/directives/keyboard-nav-container/keyboard-nav-container.directive.mjs +100 -100
  103. package/esm2022/lib/shared/directives/popup/popup-container.directive.mjs +166 -0
  104. package/esm2022/lib/shared/display/pipes/date-display.pipe.mjs +50 -0
  105. package/esm2022/lib/shared/display/pipes/highlight-text.pipe.mjs +30 -0
  106. package/esm2022/lib/shared/display/pipes/relative-date.pipe.mjs +62 -0
  107. package/esm2022/lib/shared/display/pipes/row-count.pipe.mjs +48 -0
  108. package/esm2022/lib/shared/display/pipes/time-display.pipe.mjs +41 -0
  109. package/esm2022/lib/shared/display.mjs +6 -0
  110. package/esm2022/lib/shared/form-group.helper.mjs +67 -0
  111. package/esm2022/lib/shared/json-helper.mjs +19 -0
  112. package/esm2022/lib/shared/lodash-helper.mjs +52 -0
  113. package/esm2022/lib/shared/page/page-base/page-base.component.mjs +387 -0
  114. package/{esm2020 → esm2022}/lib/shared/page/page-statuses.mjs +22 -22
  115. package/{esm2020 → esm2022}/lib/shared/page/page-title/page-title.component.mjs +23 -23
  116. package/esm2022/lib/shared/page/page-view/page-view.component.mjs +147 -0
  117. package/{esm2020 → esm2022}/lib/shared/testing/copy-button-base-test-injector-factory.spec.mjs +16 -16
  118. package/{esm2020 → esm2022}/lib/shared/testing/hierarchy-base-test-injector-factory.spec.mjs +16 -16
  119. package/{esm2020 → esm2022}/lib/shared/testing/page-base-component-test-helper.spec.mjs +37 -37
  120. package/esm2022/lib/shared/testing/page-base-component-test-injector-factory.spec.mjs +98 -0
  121. package/{esm2020 → esm2022}/lib/shared/testing/public-mocks.spec.mjs +148 -148
  122. package/{esm2020 → esm2022}/lib/shared/testing/spy-factory.spec.mjs +39 -39
  123. package/{esm2020 → esm2022}/lib/shared/testing/translation-mocks.spec.mjs +56 -56
  124. package/{esm2020 → esm2022}/lib/shared/user-preference.service.mjs +17 -17
  125. package/esm2022/lib/shared/wizard/wizard-base/wizard-base.component.mjs +246 -0
  126. package/{esm2020 → esm2022}/lib/shared/wizard/wizard-buttons/wizard-buttons.component.mjs +68 -68
  127. package/{esm2020 → esm2022}/lib/shared/wizard/wizard-progress/wizard-progress.component.mjs +18 -18
  128. package/{esm2020 → esm2022}/public-api.mjs +116 -116
  129. package/{fesm2020 → fesm2022}/energycap-components.mjs +12956 -12952
  130. package/fesm2022/energycap-components.mjs.map +1 -0
  131. package/index.d.ts +5 -5
  132. package/lib/components.module.d.ts +92 -92
  133. package/lib/controls/banner/banner.component.d.ts +50 -50
  134. package/lib/controls/button/button.component.d.ts +78 -78
  135. package/lib/controls/button/copy-button-base.directive.d.ts +20 -20
  136. package/lib/controls/button/copy-button.directive.d.ts +14 -14
  137. package/lib/controls/button/copy-table-button.directive.d.ts +19 -19
  138. package/lib/controls/calendar/calendar-item.component.d.ts +22 -22
  139. package/lib/controls/calendar/calendar.component.d.ts +52 -52
  140. package/lib/controls/calendar/calendar.types.d.ts +11 -11
  141. package/lib/controls/checkbox/checkbox.component.d.ts +65 -65
  142. package/lib/controls/collapsible-toggle/collapsible-toggle.component.d.ts +25 -25
  143. package/lib/controls/combobox/combobox.component.d.ts +418 -418
  144. package/lib/controls/date-input/date-input-selection-strategies/date-input-selection-strategy-base.d.ts +42 -42
  145. package/lib/controls/date-input/date-input-selection-strategies/day-selection-strategy.d.ts +21 -21
  146. package/lib/controls/date-input/date-input-selection-strategies/last-28-days-selection-strategy.d.ts +21 -21
  147. package/lib/controls/date-input/date-input-selection-strategies/last-7-days-selection-strategy.d.ts +21 -21
  148. package/lib/controls/date-input/date-input-selection-strategies/month-selection-strategy.d.ts +18 -18
  149. package/lib/controls/date-input/date-input-selection-strategies/quarter-selection-strategy.d.ts +18 -18
  150. package/lib/controls/date-input/date-input-selection-strategies/range-selection-strategy.d.ts +21 -21
  151. package/lib/controls/date-input/date-input-selection-strategies/year-selection-strategy.d.ts +20 -20
  152. package/lib/controls/date-input/date-input.component.d.ts +115 -115
  153. package/lib/controls/date-input/date-input.types.d.ts +62 -62
  154. package/lib/controls/dropdown/dropdown.component.d.ts +161 -161
  155. package/lib/controls/file-upload/file-upload.component.d.ts +124 -124
  156. package/lib/controls/form-control/form-control.component.d.ts +28 -28
  157. package/lib/controls/form-control-base.d.ts +110 -110
  158. package/lib/controls/form-control-label/form-control-label.component.d.ts +73 -73
  159. package/lib/controls/form-group/form-group.component.d.ts +105 -105
  160. package/lib/controls/help-popover/help-popover.component.d.ts +11 -11
  161. package/lib/controls/item-picker/item-picker.component.d.ts +164 -164
  162. package/lib/controls/link-button/link-button.component.d.ts +5 -5
  163. package/lib/controls/menu/menu.component.d.ts +255 -255
  164. package/lib/controls/navigation/link-item.d.ts +32 -32
  165. package/lib/controls/navigation/nav-group.d.ts +18 -18
  166. package/lib/controls/navigation/nav-item-active.directive.d.ts +42 -42
  167. package/lib/controls/navigation/nav-item.d.ts +31 -31
  168. package/lib/controls/numericbox/numericbox.component.d.ts +148 -148
  169. package/lib/controls/popover/popover.component.d.ts +51 -51
  170. package/lib/controls/radio-button/radio-button-option.d.ts +19 -19
  171. package/lib/controls/radio-button/radio-button.component.d.ts +53 -53
  172. package/lib/controls/select/select.component.d.ts +44 -44
  173. package/lib/controls/tabs/tabs.component.d.ts +30 -30
  174. package/lib/controls/textbox/textbox.component.d.ts +107 -107
  175. package/lib/core/cache.service.d.ts +33 -33
  176. package/lib/core/custom-validators.d.ts +20 -20
  177. package/lib/core/date-time-helper.d.ts +101 -101
  178. package/lib/core/error.service.d.ts +20 -20
  179. package/lib/core/router-helper.service.d.ts +48 -48
  180. package/lib/core/scroll.service.d.ts +36 -36
  181. package/lib/core/telemetry-tracker.service.d.ts +13 -13
  182. package/lib/core/telemetry.service.d.ts +31 -31
  183. package/lib/core/validation-message.service.d.ts +26 -26
  184. package/lib/core/validation-patterns.d.ts +22 -22
  185. package/lib/core/window.service.d.ts +116 -116
  186. package/lib/display/app-bar/app-bar.component.d.ts +20 -20
  187. package/lib/display/avatar/avatar.component.d.ts +35 -35
  188. package/lib/display/avatar/avatar.service.d.ts +24 -24
  189. package/lib/display/confirm/confirm.component.d.ts +123 -123
  190. package/lib/display/dialog/dialog-content.d.ts +19 -19
  191. package/lib/display/dialog/dialog-group/dialog-group.component.d.ts +32 -32
  192. package/lib/display/dialog/dialog-types.d.ts +130 -130
  193. package/lib/display/dialog/dialog.component.d.ts +120 -120
  194. package/lib/display/dialog/dialog.service.d.ts +48 -48
  195. package/lib/display/help/help-types.d.ts +33 -33
  196. package/lib/display/hierarchy/hierarchy-base.d.ts +97 -97
  197. package/lib/display/hierarchy/hierarchy-mocks.spec.d.ts +53 -53
  198. package/lib/display/hierarchy/hierarchy-tree/hierarchy-tree.component.d.ts +34 -34
  199. package/lib/display/item-display/item-display.component.d.ts +43 -43
  200. package/lib/display/json-display/json-display.component.d.ts +16 -16
  201. package/lib/display/resizable/resizable-base.d.ts +67 -67
  202. package/lib/display/resizable/resizable.component.d.ts +31 -31
  203. package/lib/display/spinner/spinner.component.d.ts +5 -5
  204. package/lib/display/splash/splash.component.d.ts +16 -16
  205. package/lib/display/splash/splash.service.d.ts +22 -22
  206. package/lib/display/table/resizable-column.component.d.ts +10 -10
  207. package/lib/display/table/resizable-table.directive.d.ts +93 -93
  208. package/lib/display/table/searchable-table.component.d.ts +206 -206
  209. package/lib/display/table/table-detail-row.component.d.ts +8 -8
  210. package/lib/display/table/table-locked-column.component.d.ts +20 -20
  211. package/lib/display/table/table-master-header-row.component.d.ts +9 -9
  212. package/lib/display/table/table-master-row.component.d.ts +113 -113
  213. package/lib/display/table/table-pagination.component.d.ts +91 -91
  214. package/lib/display/table/table-selectable-row.component.d.ts +102 -102
  215. package/lib/display/table/table.component.d.ts +121 -121
  216. package/lib/display/tags/tag.d.ts +18 -18
  217. package/lib/display/tags/tags.component.d.ts +48 -48
  218. package/lib/display/toast/toast/toast.component.d.ts +23 -23
  219. package/lib/display/toast/toast-types.d.ts +24 -24
  220. package/lib/display/toast/toast.service.d.ts +20 -20
  221. package/lib/display/toast/toaster/toaster.component.d.ts +35 -35
  222. package/lib/display/tooltip/tooltip.component.d.ts +70 -70
  223. package/lib/display/tooltip/tooltip.service.d.ts +16 -16
  224. package/lib/display/tooltip-directive/tooltip.directive.d.ts +44 -44
  225. package/lib/display/tour/tour-types.d.ts +70 -70
  226. package/lib/display/tour/tour.component.d.ts +147 -147
  227. package/lib/display/tour/tour.service.d.ts +38 -38
  228. package/lib/display/tree/tree.component.d.ts +75 -75
  229. package/lib/display/view-overlay/view-overlay.component.d.ts +38 -38
  230. package/lib/shared/directives/click-area-for/click-area-for.directive.d.ts +14 -14
  231. package/lib/shared/directives/if-viewport-width/if-viewport-width.directive.d.ts +60 -60
  232. package/lib/shared/directives/keyboard-nav-container/keyboard-nav-container.directive.d.ts +23 -23
  233. package/lib/shared/directives/popup/popup-container.directive.d.ts +101 -101
  234. package/lib/shared/display/pipes/date-display.pipe.d.ts +21 -21
  235. package/lib/shared/display/pipes/highlight-text.pipe.d.ts +9 -9
  236. package/lib/shared/display/pipes/relative-date.pipe.d.ts +36 -36
  237. package/lib/shared/display/pipes/row-count.pipe.d.ts +23 -23
  238. package/lib/shared/display/pipes/time-display.pipe.d.ts +18 -18
  239. package/lib/shared/display.d.ts +42 -42
  240. package/lib/shared/form-group.helper.d.ts +31 -31
  241. package/lib/shared/json-helper.d.ts +7 -7
  242. package/lib/shared/lodash-helper.d.ts +18 -18
  243. package/lib/shared/page/page-base/page-base.component.d.ts +259 -259
  244. package/lib/shared/page/page-statuses.d.ts +13 -13
  245. package/lib/shared/page/page-title/page-title.component.d.ts +9 -9
  246. package/lib/shared/page/page-view/page-view.component.d.ts +102 -102
  247. package/lib/shared/testing/copy-button-base-test-injector-factory.spec.d.ts +4 -4
  248. package/lib/shared/testing/hierarchy-base-test-injector-factory.spec.d.ts +4 -4
  249. package/lib/shared/testing/page-base-component-test-helper.spec.d.ts +30 -30
  250. package/lib/shared/testing/page-base-component-test-injector-factory.spec.d.ts +28 -28
  251. package/lib/shared/testing/public-mocks.spec.d.ts +90 -90
  252. package/lib/shared/testing/spy-factory.spec.d.ts +27 -27
  253. package/lib/shared/testing/translation-mocks.spec.d.ts +30 -30
  254. package/lib/shared/user-preference.service.d.ts +13 -13
  255. package/lib/shared/wizard/wizard-base/wizard-base.component.d.ts +134 -134
  256. package/lib/shared/wizard/wizard-buttons/wizard-buttons.component.d.ts +27 -27
  257. package/lib/shared/wizard/wizard-progress/wizard-progress.component.d.ts +10 -10
  258. package/package.json +12 -18
  259. package/public-api.d.ts +113 -113
  260. package/schematics/rxjs-7-upgrade/index.d.ts +3 -3
  261. package/schematics/rxjs-7-upgrade/index.js +67 -67
  262. package/schematics/rxjs-7-upgrade/index.js.map +1 -1
  263. package/schematics/rxjs-7-upgrade/schema.d.ts +4 -4
  264. package/schematics/rxjs-7-upgrade/schema.js +2 -2
  265. package/schematics/utilities/typescript.d.ts +7 -7
  266. package/schematics/utilities/typescript.js +41 -41
  267. package/schematics/utilities/workspace.d.ts +8 -8
  268. package/schematics/utilities/workspace.js +71 -71
  269. package/schematics/utilities/workspace.js.map +1 -1
  270. package/esm2020/lib/controls/banner/banner.component.mjs +0 -109
  271. package/esm2020/lib/controls/button/button.component.mjs +0 -106
  272. package/esm2020/lib/controls/button/copy-button-base.directive.mjs +0 -67
  273. package/esm2020/lib/controls/button/copy-table-button.directive.mjs +0 -43
  274. package/esm2020/lib/controls/calendar/calendar-item.component.mjs +0 -91
  275. package/esm2020/lib/controls/calendar/calendar.component.mjs +0 -248
  276. package/esm2020/lib/controls/checkbox/checkbox.component.mjs +0 -140
  277. package/esm2020/lib/controls/combobox/combobox.component.mjs +0 -879
  278. package/esm2020/lib/controls/date-input/date-input-selection-strategies/date-input-selection-strategy-base.mjs +0 -57
  279. package/esm2020/lib/controls/date-input/date-input-selection-strategies/day-selection-strategy.mjs +0 -62
  280. package/esm2020/lib/controls/date-input/date-input-selection-strategies/last-28-days-selection-strategy.mjs +0 -100
  281. package/esm2020/lib/controls/date-input/date-input-selection-strategies/last-7-days-selection-strategy.mjs +0 -101
  282. package/esm2020/lib/controls/date-input/date-input-selection-strategies/month-selection-strategy.mjs +0 -76
  283. package/esm2020/lib/controls/date-input/date-input-selection-strategies/quarter-selection-strategy.mjs +0 -79
  284. package/esm2020/lib/controls/date-input/date-input-selection-strategies/range-selection-strategy.mjs +0 -210
  285. package/esm2020/lib/controls/date-input/date-input-selection-strategies/year-selection-strategy.mjs +0 -81
  286. package/esm2020/lib/controls/date-input/date-input.component.mjs +0 -465
  287. package/esm2020/lib/controls/dropdown/dropdown.component.mjs +0 -243
  288. package/esm2020/lib/controls/file-upload/file-upload.component.mjs +0 -261
  289. package/esm2020/lib/controls/form-control/form-control.component.mjs +0 -98
  290. package/esm2020/lib/controls/form-control-base.mjs +0 -151
  291. package/esm2020/lib/controls/form-control-label/form-control-label.component.mjs +0 -136
  292. package/esm2020/lib/controls/form-group/form-group.component.mjs +0 -261
  293. package/esm2020/lib/controls/item-picker/item-picker.component.mjs +0 -329
  294. package/esm2020/lib/controls/menu/menu.component.mjs +0 -485
  295. package/esm2020/lib/controls/navigation/nav-group.mjs +0 -39
  296. package/esm2020/lib/controls/navigation/nav-item-active.directive.mjs +0 -92
  297. package/esm2020/lib/controls/numericbox/numericbox.component.mjs +0 -372
  298. package/esm2020/lib/controls/popover/popover.component.mjs +0 -117
  299. package/esm2020/lib/controls/radio-button/radio-button.component.mjs +0 -82
  300. package/esm2020/lib/controls/select/select.component.mjs +0 -88
  301. package/esm2020/lib/controls/tabs/tabs.component.mjs +0 -47
  302. package/esm2020/lib/controls/textbox/textbox.component.mjs +0 -155
  303. package/esm2020/lib/core/cache.service.mjs +0 -105
  304. package/esm2020/lib/core/custom-validators.mjs +0 -29
  305. package/esm2020/lib/core/date-time-helper.mjs +0 -228
  306. package/esm2020/lib/core/error.service.mjs +0 -61
  307. package/esm2020/lib/core/router-helper.service.mjs +0 -111
  308. package/esm2020/lib/core/scroll.service.mjs +0 -89
  309. package/esm2020/lib/core/validation-message.service.mjs +0 -185
  310. package/esm2020/lib/core/window.service.mjs +0 -186
  311. package/esm2020/lib/display/app-bar/app-bar.component.mjs +0 -46
  312. package/esm2020/lib/display/avatar/avatar.component.mjs +0 -67
  313. package/esm2020/lib/display/avatar/avatar.service.mjs +0 -64
  314. package/esm2020/lib/display/confirm/confirm.component.mjs +0 -168
  315. package/esm2020/lib/display/dialog/dialog-group/dialog-group.component.mjs +0 -63
  316. package/esm2020/lib/display/dialog/dialog.component.mjs +0 -281
  317. package/esm2020/lib/display/hierarchy/hierarchy-base.mjs +0 -111
  318. package/esm2020/lib/display/hierarchy/hierarchy-tree/hierarchy-tree.component.mjs +0 -61
  319. package/esm2020/lib/display/item-display/item-display.component.mjs +0 -81
  320. package/esm2020/lib/display/json-display/json-display.component.mjs +0 -47
  321. package/esm2020/lib/display/resizable/resizable-base.mjs +0 -120
  322. package/esm2020/lib/display/splash/splash.component.mjs +0 -42
  323. package/esm2020/lib/display/table/resizable-table.directive.mjs +0 -227
  324. package/esm2020/lib/display/table/searchable-table.component.mjs +0 -342
  325. package/esm2020/lib/display/table/table-locked-column.component.mjs +0 -58
  326. package/esm2020/lib/display/table/table-master-row.component.mjs +0 -163
  327. package/esm2020/lib/display/table/table-pagination.component.mjs +0 -155
  328. package/esm2020/lib/display/table/table-selectable-row.component.mjs +0 -235
  329. package/esm2020/lib/display/table/table.component.mjs +0 -249
  330. package/esm2020/lib/display/tags/tag.mjs +0 -18
  331. package/esm2020/lib/display/tags/tags.component.mjs +0 -77
  332. package/esm2020/lib/display/toast/toast/toast.component.mjs +0 -77
  333. package/esm2020/lib/display/toast/toaster/toaster.component.mjs +0 -114
  334. package/esm2020/lib/display/tooltip-directive/tooltip.directive.mjs +0 -173
  335. package/esm2020/lib/display/tour/tour.component.mjs +0 -398
  336. package/esm2020/lib/display/tour/tour.service.mjs +0 -75
  337. package/esm2020/lib/display/tree/tree.component.mjs +0 -135
  338. package/esm2020/lib/display/view-overlay/view-overlay.component.mjs +0 -58
  339. package/esm2020/lib/shared/directives/click-area-for/click-area-for.directive.mjs +0 -32
  340. package/esm2020/lib/shared/directives/if-viewport-width/if-viewport-width.directive.mjs +0 -111
  341. package/esm2020/lib/shared/directives/popup/popup-container.directive.mjs +0 -163
  342. package/esm2020/lib/shared/display/pipes/date-display.pipe.mjs +0 -50
  343. package/esm2020/lib/shared/display/pipes/highlight-text.pipe.mjs +0 -30
  344. package/esm2020/lib/shared/display/pipes/relative-date.pipe.mjs +0 -62
  345. package/esm2020/lib/shared/display/pipes/row-count.pipe.mjs +0 -48
  346. package/esm2020/lib/shared/display/pipes/time-display.pipe.mjs +0 -41
  347. package/esm2020/lib/shared/display.mjs +0 -6
  348. package/esm2020/lib/shared/form-group.helper.mjs +0 -67
  349. package/esm2020/lib/shared/json-helper.mjs +0 -19
  350. package/esm2020/lib/shared/lodash-helper.mjs +0 -51
  351. package/esm2020/lib/shared/page/page-base/page-base.component.mjs +0 -387
  352. package/esm2020/lib/shared/page/page-view/page-view.component.mjs +0 -147
  353. package/esm2020/lib/shared/testing/page-base-component-test-injector-factory.spec.mjs +0 -98
  354. package/esm2020/lib/shared/wizard/wizard-base/wizard-base.component.mjs +0 -246
  355. package/fesm2015/energycap-components.mjs +0 -13373
  356. package/fesm2015/energycap-components.mjs.map +0 -1
  357. package/fesm2020/energycap-components.mjs.map +0 -1
@@ -1,50 +0,0 @@
1
- import { Pipe } from '@angular/core';
2
- import { DateTimeHelper } from '../../../core/date-time-helper';
3
- import moment from 'moment';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "../../user-preference.service";
6
- /**
7
- * Format a date to the user's preference for display
8
- */
9
- export class DateDisplayPipe {
10
- constructor(userPreferenceService) {
11
- this.userPreferenceService = userPreferenceService;
12
- this.lastFormatString = 'MM/DD/YYYY';
13
- }
14
- /**
15
- * Format a date for display, accounting for user's display preferences.
16
- *
17
- * If {@see date} is null or undefined, or the end of time, returns empty string
18
- */
19
- transform(date, showEndOfTime, showTime, showSeconds) {
20
- let display = '';
21
- let formatString = '';
22
- if (date && moment(date).isValid() && (showEndOfTime || !DateTimeHelper.isEndOfTime(date))) {
23
- // use user-preferred formats
24
- this.userPreferenceService.getPreferences().subscribe(result => {
25
- //if preferences exist then format date to users preference
26
- //otherwise use the last user preference
27
- if (result.preference) {
28
- formatString = result.preference.dateFormat;
29
- if (showTime) {
30
- let timeFormat = result.preference.timeFormat;
31
- if (!showSeconds) {
32
- timeFormat = timeFormat.replace(':ss', '');
33
- }
34
- formatString += ` ${timeFormat}`;
35
- }
36
- this.lastFormatString = formatString;
37
- }
38
- });
39
- display = moment(date).format(this.lastFormatString);
40
- }
41
- return display;
42
- }
43
- }
44
- DateDisplayPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DateDisplayPipe, deps: [{ token: i1.UserPreferenceService }], target: i0.ɵɵFactoryTarget.Pipe });
45
- DateDisplayPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: DateDisplayPipe, name: "dateDisplay" });
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DateDisplayPipe, decorators: [{
47
- type: Pipe,
48
- args: [{ name: 'dateDisplay' }]
49
- }], ctorParameters: function () { return [{ type: i1.UserPreferenceService }]; } });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1kaXNwbGF5LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvc2hhcmVkL2Rpc3BsYXkvcGlwZXMvZGF0ZS1kaXNwbGF5LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRWhFLE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQzs7O0FBSTVCOztHQUVHO0FBRUgsTUFBTSxPQUFPLGVBQWU7SUFFMUIsWUFBb0IscUJBQTRDO1FBQTVDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFFeEQscUJBQWdCLEdBQVcsWUFBWSxDQUFDO0lBRm9CLENBQUM7SUFJckU7Ozs7T0FJRztJQUNILFNBQVMsQ0FBQyxJQUFrQixFQUFFLGFBQXVCLEVBQUUsUUFBa0IsRUFBRSxXQUFxQjtRQUM5RixJQUFJLE9BQU8sR0FBVyxFQUFFLENBQUM7UUFDekIsSUFBSSxZQUFZLEdBQVcsRUFBRSxDQUFDO1FBRTlCLElBQUksSUFBSSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLGFBQWEsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRTtZQUUxRiw2QkFBNkI7WUFDN0IsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGNBQWMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFFN0QsNERBQTREO2dCQUM1RCx3Q0FBd0M7Z0JBQ3hDLElBQUksTUFBTSxDQUFDLFVBQVUsRUFBRTtvQkFDckIsWUFBWSxHQUFHLE1BQU0sQ0FBQyxVQUFXLENBQUMsVUFBVyxDQUFDO29CQUM5QyxJQUFJLFFBQVEsRUFBRTt3QkFDWixJQUFJLFVBQVUsR0FBVyxNQUFNLENBQUMsVUFBVyxDQUFDLFVBQVcsQ0FBQzt3QkFDeEQsSUFBSSxDQUFDLFdBQVcsRUFBRTs0QkFDaEIsVUFBVSxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO3lCQUM1Qzt3QkFDRCxZQUFZLElBQUksSUFBSSxVQUFVLEVBQUUsQ0FBQztxQkFDbEM7b0JBQ0QsSUFBSSxDQUFDLGdCQUFnQixHQUFHLFlBQVksQ0FBQztpQkFDdEM7WUFDSCxDQUFDLENBQUMsQ0FBQztZQUNILE9BQU8sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1NBQ3REO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQzs7NEdBckNVLGVBQWU7MEdBQWYsZUFBZTsyRkFBZixlQUFlO2tCQUQzQixJQUFJO21CQUFDLEVBQUMsSUFBSSxFQUFFLGFBQWEsRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRGF0ZVRpbWVIZWxwZXIgfSBmcm9tICcuLi8uLi8uLi9jb3JlL2RhdGUtdGltZS1oZWxwZXInO1xyXG5pbXBvcnQgeyBVc2VyUHJlZmVyZW5jZVNlcnZpY2UgfSBmcm9tICcuLi8uLi91c2VyLXByZWZlcmVuY2Uuc2VydmljZSc7XHJcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JztcclxuXHJcbmV4cG9ydCB0eXBlIERhdGVEaXNwbGF5ID0gRGF0ZSB8IG1vbWVudC5Nb21lbnQgfCBzdHJpbmcgfCBudWxsO1xyXG5cclxuLyoqXHJcbiAqIEZvcm1hdCBhIGRhdGUgdG8gdGhlIHVzZXIncyBwcmVmZXJlbmNlIGZvciBkaXNwbGF5XHJcbiAqL1xyXG5AUGlwZSh7bmFtZTogJ2RhdGVEaXNwbGF5J30pXHJcbmV4cG9ydCBjbGFzcyBEYXRlRGlzcGxheVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSB1c2VyUHJlZmVyZW5jZVNlcnZpY2U6IFVzZXJQcmVmZXJlbmNlU2VydmljZSkgeyB9XHJcblxyXG4gIHByaXZhdGUgbGFzdEZvcm1hdFN0cmluZzogc3RyaW5nID0gJ01NL0REL1lZWVknO1xyXG5cclxuICAvKipcclxuICAgKiBGb3JtYXQgYSBkYXRlIGZvciBkaXNwbGF5LCBhY2NvdW50aW5nIGZvciB1c2VyJ3MgZGlzcGxheSBwcmVmZXJlbmNlcy5cclxuICAgKiBcclxuICAgKiBJZiB7QHNlZSBkYXRlfSBpcyBudWxsIG9yIHVuZGVmaW5lZCwgb3IgdGhlIGVuZCBvZiB0aW1lLCByZXR1cm5zIGVtcHR5IHN0cmluZ1xyXG4gICAqL1xyXG4gIHRyYW5zZm9ybShkYXRlPzogRGF0ZURpc3BsYXksIHNob3dFbmRPZlRpbWU/OiBib29sZWFuLCBzaG93VGltZT86IGJvb2xlYW4sIHNob3dTZWNvbmRzPzogYm9vbGVhbik6IHN0cmluZyB7XHJcbiAgICBsZXQgZGlzcGxheTogc3RyaW5nID0gJyc7XHJcbiAgICBsZXQgZm9ybWF0U3RyaW5nOiBzdHJpbmcgPSAnJztcclxuICAgIFxyXG4gICAgaWYgKGRhdGUgJiYgbW9tZW50KGRhdGUpLmlzVmFsaWQoKSAmJiAoc2hvd0VuZE9mVGltZSB8fCAhRGF0ZVRpbWVIZWxwZXIuaXNFbmRPZlRpbWUoZGF0ZSkpKSB7XHJcblxyXG4gICAgICAvLyB1c2UgdXNlci1wcmVmZXJyZWQgZm9ybWF0c1xyXG4gICAgICB0aGlzLnVzZXJQcmVmZXJlbmNlU2VydmljZS5nZXRQcmVmZXJlbmNlcygpLnN1YnNjcmliZShyZXN1bHQgPT4ge1xyXG5cclxuICAgICAgICAvL2lmIHByZWZlcmVuY2VzIGV4aXN0IHRoZW4gZm9ybWF0IGRhdGUgdG8gdXNlcnMgcHJlZmVyZW5jZSBcclxuICAgICAgICAvL290aGVyd2lzZSB1c2UgdGhlIGxhc3QgdXNlciBwcmVmZXJlbmNlXHJcbiAgICAgICAgaWYgKHJlc3VsdC5wcmVmZXJlbmNlKSB7XHJcbiAgICAgICAgICBmb3JtYXRTdHJpbmcgPSByZXN1bHQucHJlZmVyZW5jZSEuZGF0ZUZvcm1hdCE7XHJcbiAgICAgICAgICBpZiAoc2hvd1RpbWUpIHtcclxuICAgICAgICAgICAgbGV0IHRpbWVGb3JtYXQ6IHN0cmluZyA9IHJlc3VsdC5wcmVmZXJlbmNlIS50aW1lRm9ybWF0ITtcclxuICAgICAgICAgICAgaWYgKCFzaG93U2Vjb25kcykge1xyXG4gICAgICAgICAgICAgIHRpbWVGb3JtYXQgPSB0aW1lRm9ybWF0LnJlcGxhY2UoJzpzcycsICcnKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBmb3JtYXRTdHJpbmcgKz0gYCAke3RpbWVGb3JtYXR9YDtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMubGFzdEZvcm1hdFN0cmluZyA9IGZvcm1hdFN0cmluZztcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICBkaXNwbGF5ID0gbW9tZW50KGRhdGUpLmZvcm1hdCh0aGlzLmxhc3RGb3JtYXRTdHJpbmcpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGRpc3BsYXk7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
@@ -1,30 +0,0 @@
1
- import { Pipe } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class HighlightTextPipe {
4
- transform(value, searchText) {
5
- let transformedValue = '';
6
- if (value && searchText) {
7
- const regex = new RegExp(this.escapeRegex(searchText), 'gi');
8
- transformedValue = value.replace(regex, this.strongWrap);
9
- }
10
- else {
11
- transformedValue = value;
12
- }
13
- return transformedValue;
14
- }
15
- strongWrap(match) {
16
- return `<strong class="text-highlight">${match}</strong>`;
17
- }
18
- escapeRegex(value) {
19
- return value.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
20
- }
21
- }
22
- HighlightTextPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HighlightTextPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
23
- HighlightTextPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: HighlightTextPipe, name: "highlightText" });
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HighlightTextPipe, decorators: [{
25
- type: Pipe,
26
- args: [{
27
- name: 'highlightText'
28
- }]
29
- }] });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlnaGxpZ2h0LXRleHQucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9zaGFyZWQvZGlzcGxheS9waXBlcy9oaWdobGlnaHQtdGV4dC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQUtwRCxNQUFNLE9BQU8saUJBQWlCO0lBRTVCLFNBQVMsQ0FBQyxLQUFhLEVBQUUsVUFBa0I7UUFDekMsSUFBSSxnQkFBZ0IsR0FBRyxFQUFFLENBQUM7UUFDMUIsSUFBSSxLQUFLLElBQUksVUFBVSxFQUFFO1lBQ3ZCLE1BQU0sS0FBSyxHQUFHLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDN0QsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQzFEO2FBQU07WUFDTCxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7U0FDMUI7UUFFRCxPQUFPLGdCQUFnQixDQUFDO0lBQzFCLENBQUM7SUFFTyxVQUFVLENBQUMsS0FBYTtRQUM5QixPQUFPLGtDQUFrQyxLQUFLLFdBQVcsQ0FBQztJQUM1RCxDQUFDO0lBRU8sV0FBVyxDQUFDLEtBQWE7UUFDL0IsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLHdCQUF3QixFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3pELENBQUM7OzhHQXBCVSxpQkFBaUI7NEdBQWpCLGlCQUFpQjsyRkFBakIsaUJBQWlCO2tCQUg3QixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxlQUFlO2lCQUN0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBQaXBlKHtcclxuICBuYW1lOiAnaGlnaGxpZ2h0VGV4dCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEhpZ2hsaWdodFRleHRQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcblxyXG4gIHRyYW5zZm9ybSh2YWx1ZTogc3RyaW5nLCBzZWFyY2hUZXh0OiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgbGV0IHRyYW5zZm9ybWVkVmFsdWUgPSAnJztcclxuICAgIGlmICh2YWx1ZSAmJiBzZWFyY2hUZXh0KSB7XHJcbiAgICAgIGNvbnN0IHJlZ2V4ID0gbmV3IFJlZ0V4cCh0aGlzLmVzY2FwZVJlZ2V4KHNlYXJjaFRleHQpLCAnZ2knKTtcclxuICAgICAgdHJhbnNmb3JtZWRWYWx1ZSA9IHZhbHVlLnJlcGxhY2UocmVnZXgsIHRoaXMuc3Ryb25nV3JhcCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0cmFuc2Zvcm1lZFZhbHVlID0gdmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRyYW5zZm9ybWVkVmFsdWU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN0cm9uZ1dyYXAobWF0Y2g6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIGA8c3Ryb25nIGNsYXNzPVwidGV4dC1oaWdobGlnaHRcIj4ke21hdGNofTwvc3Ryb25nPmA7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGVzY2FwZVJlZ2V4KHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiB2YWx1ZS5yZXBsYWNlKC9bLVxcL1xcXFxeJCorPy4oKXxbXFxde31dL2csICdcXFxcJCYnKTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,62 +0,0 @@
1
- import { Pipe } from '@angular/core';
2
- import moment from 'moment';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "./date-display.pipe";
5
- import * as i2 from "./time-display.pipe";
6
- import * as i3 from "@ngx-translate/core";
7
- export class RelativeDatePipe {
8
- constructor(dateDisplayPipe, timeDisplayPipe, translateService) {
9
- this.dateDisplayPipe = dateDisplayPipe;
10
- this.timeDisplayPipe = timeDisplayPipe;
11
- this.translateService = translateService;
12
- }
13
- /**
14
- * If dateOnly is true, returns timeSelected formatted according to the user's date preference.
15
- * If dateOnly is true and showTimeForToday is false and timeSelected is today, returns 'today' or todayLabel
16
- * If dateOnly and showTimeForToday is true and timeSelected is today, returns timeSelected formatted according to the user's time preference.
17
- * If dateOnly is false, returns timeSelected formatted according to the user's time preference.
18
- * If dateOnly is false and timeSelected is not today/yesterday, returns timeSelected formatted according to the user's date plus time preference.
19
- * If any of todayLabel, yesterdayLabel is supplied, use the supplied label.
20
- */
21
- transform(timeSelected, options) {
22
- const selected = moment(timeSelected);
23
- const today = moment();
24
- const yesterday = moment().subtract(1, 'day');
25
- const timeDisplay = options?.dateOnly ? `` : ` ${this.timeDisplayPipe.transform(timeSelected)}`;
26
- let displayValue = null;
27
- let prefixValue = '';
28
- if (selected.isSame(today, 'day') && !options?.showTimeForToday) {
29
- displayValue = this.translateService.instant(options?.todayLabel ? options?.todayLabel : 'today');
30
- prefixValue = options?.todayPrefix ?? '';
31
- }
32
- else if (selected.isSame(today, 'day') && options?.showTimeForToday && !timeDisplay) {
33
- displayValue = this.timeDisplayPipe.transform(timeSelected);
34
- prefixValue = options?.todayTimePrefix ?? '';
35
- }
36
- else if (selected.isSame(yesterday, 'day')) {
37
- displayValue = this.translateService.instant(options?.yesterdayLabel ? options?.yesterdayLabel : 'yesterday');
38
- prefixValue = options?.yesterdayPrefix ?? '';
39
- }
40
- else {
41
- displayValue = this.dateDisplayPipe.transform(timeSelected);
42
- }
43
- // If we have a default prefix and no specific ones were set earlier apply the default prefix
44
- if (options?.defaultPrefix && prefixValue === '') {
45
- prefixValue = options.defaultPrefix;
46
- }
47
- // Add a space after our prefix if defined
48
- if (prefixValue !== '') {
49
- prefixValue = `${prefixValue} `;
50
- }
51
- return `${prefixValue}${displayValue}${timeDisplay}`;
52
- }
53
- }
54
- RelativeDatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RelativeDatePipe, deps: [{ token: i1.DateDisplayPipe }, { token: i2.TimeDisplayPipe }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Pipe });
55
- RelativeDatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: RelativeDatePipe, name: "relativeDate" });
56
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RelativeDatePipe, decorators: [{
57
- type: Pipe,
58
- args: [{
59
- name: 'relativeDate'
60
- }]
61
- }], ctorParameters: function () { return [{ type: i1.DateDisplayPipe }, { type: i2.TimeDisplayPipe }, { type: i3.TranslateService }]; } });
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRpdmUtZGF0ZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL3NoYXJlZC9kaXNwbGF5L3BpcGVzL3JlbGF0aXZlLWRhdGUucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUVwRCxPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7Ozs7O0FBMEI1QixNQUFNLE9BQU8sZ0JBQWdCO0lBRTNCLFlBQ1UsZUFBZ0MsRUFDaEMsZUFBZ0MsRUFDaEMsZ0JBQWtDO1FBRmxDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtJQUN4QyxDQUFDO0lBRUw7Ozs7Ozs7T0FPRztJQUNILFNBQVMsQ0FDUCxZQUFvQixFQUNwQixPQUE2QjtRQUU3QixNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDdEMsTUFBTSxLQUFLLEdBQUcsTUFBTSxFQUFFLENBQUM7UUFDdkIsTUFBTSxTQUFTLEdBQUcsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM5QyxNQUFNLFdBQVcsR0FBRyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQztRQUVoRyxJQUFJLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDeEIsSUFBSSxXQUFXLEdBQUcsRUFBRSxDQUFDO1FBRXJCLElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUU7WUFDL0QsWUFBWSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDbEcsV0FBVyxHQUFHLE9BQU8sRUFBRSxXQUFXLElBQUksRUFBRSxDQUFDO1NBQzFDO2FBQU0sSUFBSSxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsSUFBSSxPQUFPLEVBQUUsZ0JBQWdCLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDckYsWUFBWSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQzVELFdBQVcsR0FBRyxPQUFPLEVBQUUsZUFBZSxJQUFJLEVBQUUsQ0FBQTtTQUM3QzthQUFNLElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLEVBQUU7WUFDNUMsWUFBWSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDOUcsV0FBVyxHQUFHLE9BQU8sRUFBRSxlQUFlLElBQUksRUFBRSxDQUFDO1NBQzlDO2FBQU07WUFDTCxZQUFZLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDN0Q7UUFFRCw2RkFBNkY7UUFDN0YsSUFBSSxPQUFPLEVBQUUsYUFBYSxJQUFJLFdBQVcsS0FBSyxFQUFFLEVBQUU7WUFDaEQsV0FBVyxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUM7U0FDckM7UUFFRCwwQ0FBMEM7UUFDMUMsSUFBSSxXQUFXLEtBQUssRUFBRSxFQUFFO1lBQ3RCLFdBQVcsR0FBRyxHQUFHLFdBQVcsR0FBRyxDQUFDO1NBQ2pDO1FBRUQsT0FBTyxHQUFHLFdBQVcsR0FBRyxZQUFZLEdBQUcsV0FBVyxFQUFFLENBQUM7SUFDdkQsQ0FBQzs7NkdBcERVLGdCQUFnQjsyR0FBaEIsZ0JBQWdCOzJGQUFoQixnQkFBZ0I7a0JBSDVCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLGNBQWM7aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JztcclxuaW1wb3J0IHsgRGF0ZURpc3BsYXlQaXBlIH0gZnJvbSAnLi9kYXRlLWRpc3BsYXkucGlwZSc7XHJcbmltcG9ydCB7IFRpbWVEaXNwbGF5UGlwZSB9IGZyb20gJy4vdGltZS1kaXNwbGF5LnBpcGUnO1xyXG5cclxuZXhwb3J0IHR5cGUgUmVsYXRpdmVEYXRlT3B0aW9ucyA9IHtcclxuICBkYXRlT25seT86IGJvb2xlYW4sIFxyXG4gIHNob3dUaW1lRm9yVG9kYXk/IDogYm9vbGVhbixcclxuICB0b2RheUxhYmVsPzogc3RyaW5nLCBcclxuICB5ZXN0ZXJkYXlMYWJlbD86IHN0cmluZywgXHJcblxyXG4gIC8qKiBQcmVmaXggZm9yIHdoZW4gc2hvd2luZyB0b2RheSBhcyB0aW1lIGZvciB0aGUgdmFsdWUgKi9cclxuICB0b2RheVRpbWVQcmVmaXg/OiBzdHJpbmcsXHJcblxyXG4gIC8qKiBQcmVmaXggZm9yIHdoZW4gZGlzcGxheWluZyBcInRvZGF5XCIgYXMgdGhlIHZhbHVlICovXHJcbiAgdG9kYXlQcmVmaXg/OiBzdHJpbmcsXHJcblxyXG4gIC8qKiBQcmVmaXggZm9yIHdoZW4gZGlzcGxheWluZyBcInllc3RlcmRheVwiIGFzIHRoZSB2YWx1ZSAqL1xyXG4gIHllc3RlcmRheVByZWZpeD86IHN0cmluZyxcclxuXHJcbiAgLyoqIERlZmF1bHQgcHJlZml4LiBXaWxsIGJlIGFwcGxpZWQgdG8gYWxsIGRpc3BsYXkgb3B0aW9ucyBpZiBkZWZpbmVkIGFuZCBvdGhlcnMgYXJlIG5vdCAqL1xyXG4gIGRlZmF1bHRQcmVmaXg/OiBzdHJpbmdcclxufVxyXG5cclxuQFBpcGUoe1xyXG4gIG5hbWU6ICdyZWxhdGl2ZURhdGUnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZWxhdGl2ZURhdGVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBkYXRlRGlzcGxheVBpcGU6IERhdGVEaXNwbGF5UGlwZSwgXHJcbiAgICBwcml2YXRlIHRpbWVEaXNwbGF5UGlwZTogVGltZURpc3BsYXlQaXBlLFxyXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlXHJcbiAgKSB7IH1cclxuXHJcbiAgLyoqXHJcbiAgICogSWYgZGF0ZU9ubHkgaXMgdHJ1ZSwgcmV0dXJucyB0aW1lU2VsZWN0ZWQgZm9ybWF0dGVkIGFjY29yZGluZyB0byB0aGUgdXNlcidzIGRhdGUgcHJlZmVyZW5jZS5cclxuICAgKiBJZiBkYXRlT25seSBpcyB0cnVlIGFuZCBzaG93VGltZUZvclRvZGF5IGlzIGZhbHNlIGFuZCB0aW1lU2VsZWN0ZWQgaXMgdG9kYXksIHJldHVybnMgJ3RvZGF5JyBvciB0b2RheUxhYmVsXHJcbiAgICogSWYgZGF0ZU9ubHkgYW5kIHNob3dUaW1lRm9yVG9kYXkgaXMgdHJ1ZSBhbmQgdGltZVNlbGVjdGVkIGlzIHRvZGF5LCByZXR1cm5zIHRpbWVTZWxlY3RlZCBmb3JtYXR0ZWQgYWNjb3JkaW5nIHRvIHRoZSB1c2VyJ3MgdGltZSBwcmVmZXJlbmNlLlxyXG4gICAqIElmIGRhdGVPbmx5IGlzIGZhbHNlLCByZXR1cm5zIHRpbWVTZWxlY3RlZCBmb3JtYXR0ZWQgYWNjb3JkaW5nIHRvIHRoZSB1c2VyJ3MgdGltZSBwcmVmZXJlbmNlLlxyXG4gICAqIElmIGRhdGVPbmx5IGlzIGZhbHNlIGFuZCB0aW1lU2VsZWN0ZWQgaXMgbm90IHRvZGF5L3llc3RlcmRheSwgcmV0dXJucyB0aW1lU2VsZWN0ZWQgZm9ybWF0dGVkIGFjY29yZGluZyB0byB0aGUgdXNlcidzIGRhdGUgcGx1cyB0aW1lIHByZWZlcmVuY2UuXHJcbiAgICogSWYgYW55IG9mIHRvZGF5TGFiZWwsIHllc3RlcmRheUxhYmVsIGlzIHN1cHBsaWVkLCB1c2UgdGhlIHN1cHBsaWVkIGxhYmVsLlxyXG4gICAqL1xyXG4gIHRyYW5zZm9ybShcclxuICAgIHRpbWVTZWxlY3RlZDogc3RyaW5nLCBcclxuICAgIG9wdGlvbnM/OiBSZWxhdGl2ZURhdGVPcHRpb25zXHJcbiAgKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IHNlbGVjdGVkID0gbW9tZW50KHRpbWVTZWxlY3RlZCk7XHJcbiAgICBjb25zdCB0b2RheSA9IG1vbWVudCgpO1xyXG4gICAgY29uc3QgeWVzdGVyZGF5ID0gbW9tZW50KCkuc3VidHJhY3QoMSwgJ2RheScpO1xyXG4gICAgY29uc3QgdGltZURpc3BsYXkgPSBvcHRpb25zPy5kYXRlT25seSA/IGBgIDogYCAke3RoaXMudGltZURpc3BsYXlQaXBlLnRyYW5zZm9ybSh0aW1lU2VsZWN0ZWQpfWA7XHJcblxyXG4gICAgbGV0IGRpc3BsYXlWYWx1ZSA9IG51bGw7XHJcbiAgICBsZXQgcHJlZml4VmFsdWUgPSAnJztcclxuXHJcbiAgICBpZiAoc2VsZWN0ZWQuaXNTYW1lKHRvZGF5LCAnZGF5JykgJiYgIW9wdGlvbnM/LnNob3dUaW1lRm9yVG9kYXkpIHtcclxuICAgICAgZGlzcGxheVZhbHVlID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQob3B0aW9ucz8udG9kYXlMYWJlbCA/IG9wdGlvbnM/LnRvZGF5TGFiZWwgOiAndG9kYXknKTtcclxuICAgICAgcHJlZml4VmFsdWUgPSBvcHRpb25zPy50b2RheVByZWZpeCA/PyAnJztcclxuICAgIH0gZWxzZSBpZiAoc2VsZWN0ZWQuaXNTYW1lKHRvZGF5LCAnZGF5JykgJiYgb3B0aW9ucz8uc2hvd1RpbWVGb3JUb2RheSAmJiAhdGltZURpc3BsYXkpIHtcclxuICAgICAgZGlzcGxheVZhbHVlID0gdGhpcy50aW1lRGlzcGxheVBpcGUudHJhbnNmb3JtKHRpbWVTZWxlY3RlZCk7XHJcbiAgICAgIHByZWZpeFZhbHVlID0gb3B0aW9ucz8udG9kYXlUaW1lUHJlZml4ID8/ICcnXHJcbiAgICB9IGVsc2UgaWYgKHNlbGVjdGVkLmlzU2FtZSh5ZXN0ZXJkYXksICdkYXknKSkge1xyXG4gICAgICBkaXNwbGF5VmFsdWUgPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChvcHRpb25zPy55ZXN0ZXJkYXlMYWJlbCA/IG9wdGlvbnM/Lnllc3RlcmRheUxhYmVsIDogJ3llc3RlcmRheScpO1xyXG4gICAgICBwcmVmaXhWYWx1ZSA9IG9wdGlvbnM/Lnllc3RlcmRheVByZWZpeCA/PyAnJztcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGRpc3BsYXlWYWx1ZSA9IHRoaXMuZGF0ZURpc3BsYXlQaXBlLnRyYW5zZm9ybSh0aW1lU2VsZWN0ZWQpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIElmIHdlIGhhdmUgYSBkZWZhdWx0IHByZWZpeCBhbmQgbm8gc3BlY2lmaWMgb25lcyB3ZXJlIHNldCBlYXJsaWVyIGFwcGx5IHRoZSBkZWZhdWx0IHByZWZpeFxyXG4gICAgaWYgKG9wdGlvbnM/LmRlZmF1bHRQcmVmaXggJiYgcHJlZml4VmFsdWUgPT09ICcnKSB7XHJcbiAgICAgIHByZWZpeFZhbHVlID0gb3B0aW9ucy5kZWZhdWx0UHJlZml4O1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEFkZCBhIHNwYWNlIGFmdGVyIG91ciBwcmVmaXggaWYgZGVmaW5lZFxyXG4gICAgaWYgKHByZWZpeFZhbHVlICE9PSAnJykge1xyXG4gICAgICBwcmVmaXhWYWx1ZSA9IGAke3ByZWZpeFZhbHVlfSBgO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICByZXR1cm4gYCR7cHJlZml4VmFsdWV9JHtkaXNwbGF5VmFsdWV9JHt0aW1lRGlzcGxheX1gO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,48 +0,0 @@
1
- import { Pipe } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@ngx-translate/core";
4
- export class RowCountPipe {
5
- constructor(translateService) {
6
- this.translateService = translateService;
7
- }
8
- /**
9
- * Get the formatted row count for the results.
10
- *
11
- * Provide maxItemCount if the normal row count is needed.
12
- * Provide pagingInfo if the paged row count is needed.
13
- */
14
- //Note that totalPagedItemCount is not necessarily equal to pagingInfo.pageSize since the last page could have less than pageSize rows.
15
- transform(results, objectType, maxItemCount, pagingInfo) {
16
- let translated = this.translateService.instant(objectType || 'results');
17
- if (maxItemCount !== undefined) {
18
- return this.getResultsCount(results, translated, maxItemCount);
19
- }
20
- else if (pagingInfo) {
21
- return this.getPagedResultsCount(results, translated, pagingInfo);
22
- }
23
- return '';
24
- }
25
- getResultsCount(results, objectType, maxItemCount) {
26
- // If the filtered results count of rows is greater than the maximum number
27
- // of results we want to show, we have already pared the results down,
28
- // so tell user we are displaying the first `maxItemCount` results out of the total
29
- // count of filtered results.
30
- if (results.totalItems > maxItemCount) {
31
- return `${maxItemCount} ${this.translateService.instant('of')} ${results.totalItems}`;
32
- }
33
- return `${results.totalItems} ${objectType}`;
34
- }
35
- getPagedResultsCount(results, objectType, pagingInfo) {
36
- let prefix = `${pagingInfo.skip + 1}` + (results.totalItems > 1 ? `-${pagingInfo.skip + results.totalItems} ` : ' ');
37
- return prefix + `${this.translateService.instant('of')} ${results.totalItemsBeforePaging} ${objectType}`;
38
- }
39
- }
40
- RowCountPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RowCountPipe, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Pipe });
41
- RowCountPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: RowCountPipe, name: "rowCount" });
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RowCountPipe, decorators: [{
43
- type: Pipe,
44
- args: [{
45
- name: 'rowCount'
46
- }]
47
- }], ctorParameters: function () { return [{ type: i1.TranslateService }]; } });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LWNvdW50LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvc2hhcmVkL2Rpc3BsYXkvcGlwZXMvcm93LWNvdW50LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7OztBQVlwRCxNQUFNLE9BQU8sWUFBWTtJQUV2QixZQUFvQixnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtJQUFHLENBQUM7SUFFMUQ7Ozs7O09BS0c7SUFDSCx1SUFBdUk7SUFDdkksU0FBUyxDQUFDLE9BQXFCLEVBQUUsVUFBa0IsRUFBRSxZQUFxQixFQUFFLFVBQXVCO1FBQ2pHLElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsVUFBVSxJQUFJLFNBQVMsQ0FBQyxDQUFDO1FBQ3hFLElBQUcsWUFBWSxLQUFLLFNBQVMsRUFBRTtZQUM3QixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxZQUFZLENBQUMsQ0FBQztTQUNoRTthQUFNLElBQUcsVUFBVSxFQUFFO1lBQ3BCLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7U0FDbkU7UUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFHTyxlQUFlLENBQUMsT0FBcUIsRUFBRSxVQUFrQixFQUFFLFlBQW9CO1FBQ3JGLDJFQUEyRTtRQUMzRSxzRUFBc0U7UUFDdEUsbUZBQW1GO1FBQ25GLDZCQUE2QjtRQUM3QixJQUFJLE9BQU8sQ0FBQyxVQUFVLEdBQUcsWUFBWSxFQUFFO1lBQ3JDLE9BQU8sR0FBRyxZQUFZLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUM7U0FDdkY7UUFDRCxPQUFPLEdBQUcsT0FBTyxDQUFDLFVBQVUsSUFBSSxVQUFVLEVBQUUsQ0FBQztJQUMvQyxDQUFDO0lBRU8sb0JBQW9CLENBQUMsT0FBcUIsRUFBRSxVQUFrQixFQUFFLFVBQXNCO1FBQzVGLElBQUksTUFBTSxHQUFHLEdBQUcsVUFBVSxDQUFDLElBQUksR0FBRyxDQUFDLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNySCxPQUFPLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksT0FBTyxDQUFDLHNCQUFzQixJQUFJLFVBQVUsRUFBRSxDQUFDO0lBQzNHLENBQUM7O3lHQXBDVSxZQUFZO3VHQUFaLFlBQVk7MkZBQVosWUFBWTtrQkFIeEIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsVUFBVTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgUGFnaW5nSW5mbyB9IGZyb20gJy4uLy4uLy4uL2Rpc3BsYXkvdGFibGUvdGFibGUtcGFnaW5hdGlvbi5jb21wb25lbnQnO1xyXG5cclxuZXhwb3J0IHR5cGUgUm93Q291bnRJbmZvID0geyBcclxuICB0b3RhbEl0ZW1zOiBudW1iZXIsXHJcbiAgdG90YWxJdGVtc0JlZm9yZVBhZ2luZz86IG51bWJlcixcclxufVxyXG5cclxuQFBpcGUoe1xyXG4gIG5hbWU6ICdyb3dDb3VudCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFJvd0NvdW50UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UpIHt9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldCB0aGUgZm9ybWF0dGVkIHJvdyBjb3VudCBmb3IgdGhlIHJlc3VsdHMuXHJcbiAgICogXHJcbiAgICogUHJvdmlkZSBtYXhJdGVtQ291bnQgaWYgdGhlIG5vcm1hbCByb3cgY291bnQgaXMgbmVlZGVkLlxyXG4gICAqIFByb3ZpZGUgcGFnaW5nSW5mbyBpZiB0aGUgcGFnZWQgcm93IGNvdW50IGlzIG5lZWRlZC5cclxuICAgKi9cclxuICAvL05vdGUgdGhhdCB0b3RhbFBhZ2VkSXRlbUNvdW50IGlzIG5vdCBuZWNlc3NhcmlseSBlcXVhbCB0byBwYWdpbmdJbmZvLnBhZ2VTaXplIHNpbmNlIHRoZSBsYXN0IHBhZ2UgY291bGQgaGF2ZSBsZXNzIHRoYW4gcGFnZVNpemUgcm93cy5cclxuICB0cmFuc2Zvcm0ocmVzdWx0czogUm93Q291bnRJbmZvLCBvYmplY3RUeXBlOiBzdHJpbmcsIG1heEl0ZW1Db3VudD86IG51bWJlciwgcGFnaW5nSW5mbz86IFBhZ2luZ0luZm8pOiBzdHJpbmcge1xyXG4gICAgbGV0IHRyYW5zbGF0ZWQgPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChvYmplY3RUeXBlIHx8ICdyZXN1bHRzJyk7XHJcbiAgICBpZihtYXhJdGVtQ291bnQgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5nZXRSZXN1bHRzQ291bnQocmVzdWx0cywgdHJhbnNsYXRlZCwgbWF4SXRlbUNvdW50KTtcclxuICAgIH0gZWxzZSBpZihwYWdpbmdJbmZvKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmdldFBhZ2VkUmVzdWx0c0NvdW50KHJlc3VsdHMsIHRyYW5zbGF0ZWQsIHBhZ2luZ0luZm8pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuICcnO1xyXG4gIH1cclxuXHJcblxyXG4gIHByaXZhdGUgZ2V0UmVzdWx0c0NvdW50KHJlc3VsdHM6IFJvd0NvdW50SW5mbywgb2JqZWN0VHlwZTogc3RyaW5nLCBtYXhJdGVtQ291bnQ6IG51bWJlcik6IHN0cmluZyB7XHJcbiAgICAvLyBJZiB0aGUgZmlsdGVyZWQgcmVzdWx0cyBjb3VudCBvZiByb3dzIGlzIGdyZWF0ZXIgdGhhbiB0aGUgbWF4aW11bSBudW1iZXJcclxuICAgIC8vIG9mIHJlc3VsdHMgd2Ugd2FudCB0byBzaG93LCB3ZSBoYXZlIGFscmVhZHkgcGFyZWQgdGhlIHJlc3VsdHMgZG93bixcclxuICAgIC8vIHNvIHRlbGwgdXNlciB3ZSBhcmUgZGlzcGxheWluZyB0aGUgZmlyc3QgYG1heEl0ZW1Db3VudGAgcmVzdWx0cyBvdXQgb2YgdGhlIHRvdGFsXHJcbiAgICAvLyBjb3VudCBvZiBmaWx0ZXJlZCByZXN1bHRzLlxyXG4gICAgaWYgKHJlc3VsdHMudG90YWxJdGVtcyA+IG1heEl0ZW1Db3VudCkge1xyXG4gICAgICByZXR1cm4gYCR7bWF4SXRlbUNvdW50fSAke3RoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdvZicpfSAke3Jlc3VsdHMudG90YWxJdGVtc31gO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGAke3Jlc3VsdHMudG90YWxJdGVtc30gJHtvYmplY3RUeXBlfWA7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldFBhZ2VkUmVzdWx0c0NvdW50KHJlc3VsdHM6IFJvd0NvdW50SW5mbywgb2JqZWN0VHlwZTogc3RyaW5nLCBwYWdpbmdJbmZvOiBQYWdpbmdJbmZvKTogc3RyaW5nIHtcclxuICAgIGxldCBwcmVmaXggPSBgJHtwYWdpbmdJbmZvLnNraXAgKyAxfWAgKyAocmVzdWx0cy50b3RhbEl0ZW1zID4gMSA/IGAtJHtwYWdpbmdJbmZvLnNraXAgKyByZXN1bHRzLnRvdGFsSXRlbXN9IGAgOiAnICcpO1xyXG4gICAgcmV0dXJuIHByZWZpeCArIGAke3RoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdvZicpfSAke3Jlc3VsdHMudG90YWxJdGVtc0JlZm9yZVBhZ2luZ30gJHtvYmplY3RUeXBlfWA7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
@@ -1,41 +0,0 @@
1
- import { Pipe } from '@angular/core';
2
- import moment from 'moment';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "../../user-preference.service";
5
- /**
6
- * Format a time to the user's preference for display
7
- */
8
- export class TimeDisplayPipe {
9
- constructor(userPreferenceService) {
10
- this.userPreferenceService = userPreferenceService;
11
- this.lastFormatString = 'HH:mm:ss';
12
- }
13
- /**
14
- * Format a time for display, accounting for user's display preferences.
15
- */
16
- transform(time, showSeconds) {
17
- let display = '';
18
- let formatString = '';
19
- // use user-preferred formats
20
- this.userPreferenceService.getPreferences().subscribe(result => {
21
- //if preferences exist then format time to users preference
22
- //otherwise use the last user preference
23
- if (result.preference) {
24
- formatString = result.preference.timeFormat;
25
- if (!showSeconds) {
26
- formatString = formatString.replace(':ss', '');
27
- }
28
- this.lastFormatString = formatString;
29
- }
30
- });
31
- display = moment(time).format(this.lastFormatString);
32
- return display;
33
- }
34
- }
35
- TimeDisplayPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TimeDisplayPipe, deps: [{ token: i1.UserPreferenceService }], target: i0.ɵɵFactoryTarget.Pipe });
36
- TimeDisplayPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: TimeDisplayPipe, name: "timeDisplay" });
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TimeDisplayPipe, decorators: [{
38
- type: Pipe,
39
- args: [{ name: 'timeDisplay' }]
40
- }], ctorParameters: function () { return [{ type: i1.UserPreferenceService }]; } });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1kaXNwbGF5LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvc2hhcmVkL2Rpc3BsYXkvcGlwZXMvdGltZS1kaXNwbGF5LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFFcEQsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDOzs7QUFHNUI7O0dBRUc7QUFFSCxNQUFNLE9BQU8sZUFBZTtJQUUxQixZQUFvQixxQkFBNEM7UUFBNUMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUV4RCxxQkFBZ0IsR0FBVyxVQUFVLENBQUM7SUFGc0IsQ0FBQztJQUlyRTs7T0FFRztJQUNILFNBQVMsQ0FBQyxJQUFrQixFQUFFLFdBQXFCO1FBQ2pELElBQUksT0FBTyxHQUFXLEVBQUUsQ0FBQztRQUN6QixJQUFJLFlBQVksR0FBVyxFQUFFLENBQUM7UUFFOUIsNkJBQTZCO1FBQzdCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDN0QsNERBQTREO1lBQzVELHdDQUF3QztZQUN4QyxJQUFJLE1BQU0sQ0FBQyxVQUFVLEVBQUU7Z0JBQ3JCLFlBQVksR0FBRyxNQUFNLENBQUMsVUFBVyxDQUFDLFVBQVcsQ0FBQztnQkFDOUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtvQkFDaEIsWUFBWSxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2lCQUNoRDtnQkFDRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsWUFBWSxDQUFDO2FBQ3RDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNyRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDOzs0R0EzQlUsZUFBZTswR0FBZixlQUFlOzJGQUFmLGVBQWU7a0JBRDNCLElBQUk7bUJBQUMsRUFBQyxJQUFJLEVBQUUsYUFBYSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBVc2VyUHJlZmVyZW5jZVNlcnZpY2UgfSBmcm9tICcuLi8uLi91c2VyLXByZWZlcmVuY2Uuc2VydmljZSc7XHJcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JztcclxuaW1wb3J0IHsgRGF0ZURpc3BsYXkgfSBmcm9tICcuL2RhdGUtZGlzcGxheS5waXBlJztcclxuXHJcbi8qKlxyXG4gKiBGb3JtYXQgYSB0aW1lIHRvIHRoZSB1c2VyJ3MgcHJlZmVyZW5jZSBmb3IgZGlzcGxheVxyXG4gKi9cclxuQFBpcGUoe25hbWU6ICd0aW1lRGlzcGxheSd9KVxyXG5leHBvcnQgY2xhc3MgVGltZURpc3BsYXlQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdXNlclByZWZlcmVuY2VTZXJ2aWNlOiBVc2VyUHJlZmVyZW5jZVNlcnZpY2UpIHsgfVxyXG5cclxuICBwcml2YXRlIGxhc3RGb3JtYXRTdHJpbmc6IHN0cmluZyA9ICdISDptbTpzcyc7XHJcblxyXG4gIC8qKlxyXG4gICAqIEZvcm1hdCBhIHRpbWUgZm9yIGRpc3BsYXksIGFjY291bnRpbmcgZm9yIHVzZXIncyBkaXNwbGF5IHByZWZlcmVuY2VzLlxyXG4gICAqL1xyXG4gIHRyYW5zZm9ybSh0aW1lPzogRGF0ZURpc3BsYXksIHNob3dTZWNvbmRzPzogYm9vbGVhbik6IHN0cmluZyB7XHJcbiAgICBsZXQgZGlzcGxheTogc3RyaW5nID0gJyc7XHJcbiAgICBsZXQgZm9ybWF0U3RyaW5nOiBzdHJpbmcgPSAnJztcclxuICAgIFxyXG4gICAgLy8gdXNlIHVzZXItcHJlZmVycmVkIGZvcm1hdHNcclxuICAgIHRoaXMudXNlclByZWZlcmVuY2VTZXJ2aWNlLmdldFByZWZlcmVuY2VzKCkuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XHJcbiAgICAgIC8vaWYgcHJlZmVyZW5jZXMgZXhpc3QgdGhlbiBmb3JtYXQgdGltZSB0byB1c2VycyBwcmVmZXJlbmNlIFxyXG4gICAgICAvL290aGVyd2lzZSB1c2UgdGhlIGxhc3QgdXNlciBwcmVmZXJlbmNlXHJcbiAgICAgIGlmIChyZXN1bHQucHJlZmVyZW5jZSkge1xyXG4gICAgICAgIGZvcm1hdFN0cmluZyA9IHJlc3VsdC5wcmVmZXJlbmNlIS50aW1lRm9ybWF0ITtcclxuICAgICAgICBpZiAoIXNob3dTZWNvbmRzKSB7XHJcbiAgICAgICAgICBmb3JtYXRTdHJpbmcgPSBmb3JtYXRTdHJpbmcucmVwbGFjZSgnOnNzJywgJycpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmxhc3RGb3JtYXRTdHJpbmcgPSBmb3JtYXRTdHJpbmc7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgZGlzcGxheSA9IG1vbWVudCh0aW1lKS5mb3JtYXQodGhpcy5sYXN0Rm9ybWF0U3RyaW5nKTtcclxuICAgIHJldHVybiBkaXNwbGF5O1xyXG4gIH1cclxufVxyXG5cclxuIl19
@@ -1,6 +0,0 @@
1
- /** Common unicode strings */
2
- export class UnicodeStrings {
3
- }
4
- /** Equivalent of &ndash; */
5
- UnicodeStrings.ndash = '\u2013';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzcGxheS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9zaGFyZWQvZGlzcGxheS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFTQSw2QkFBNkI7QUFDN0IsTUFBTSxPQUFPLGNBQWM7O0FBRXZCLDRCQUE0QjtBQUNkLG9CQUFLLEdBQVcsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmF2SXRlbSB9IGZyb20gJy4uL2NvbnRyb2xzL25hdmlnYXRpb24vbmF2LWl0ZW0nO1xyXG5cclxuXHJcbi8qKlxyXG4gKiBUaGUgc3RhdHVzIG9mIGFueSBjb21wb25lbnQgdGhhdCBkaXNwbGF5cyBjb250ZW50XHJcbiAqL1xyXG5leHBvcnQgdHlwZSBWaWV3U3RhdHVzID0gJ3BlbmRpbmcnIHwgJ2hhc0RhdGEnIHwgJ25vRGF0YScgfCAnZXJyb3InO1xyXG5cclxuLyoqIENvbW1vbiB1bmljb2RlIHN0cmluZ3MgKi9cclxuZXhwb3J0IGNsYXNzIFVuaWNvZGVTdHJpbmdzIHtcclxuXHJcbiAgICAvKiogRXF1aXZhbGVudCBvZiAmbmRhc2g7ICovXHJcbiAgICBwdWJsaWMgc3RhdGljIG5kYXNoOiBzdHJpbmcgPSAnXFx1MjAxMyc7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogVGhlIERpc3BsYXkgaW50ZXJmYWNlIGRlZmluZXMgY29tbW9uIHByb3BlcnRpZXMgZm9yIGFueSBjb21wb25lbnQgdGhhdCB3b3VsZFxyXG4gKiBkaXNwbGF5IGNvbnRlbnRcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgRGlzcGxheVN0YXR1cyB7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgc3RhdHVzIG9mIHRoZSBkaXNwbGF5XHJcbiAgICAgKi9cclxuICAgIHN0YXR1czogVmlld1N0YXR1cztcclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBBbiBvcHRpb25hbCBtZXNzYWdlIHRvIGRpc3BsYXkgd2hlbiBzdGF0dXMgaXMgbm90ICdoYXNEYXRhJ1xyXG4gICAgICovXHJcbiAgICBtZXNzYWdlPzogc3RyaW5nO1xyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBwcm9wZXJ0aWVzIG9mIGFuIGFjdGlvbiBidXR0b24gdGhhdCBjYW4gYmUgc2hvd24gd2hlbiBzdGF0dXMgaXMgbm90ICdoYXNEYXRhJ1xyXG4gICAgICogQGRlcHJlY2F0ZWQgRGVwcmVjYXRlZCBkdWUgdG8gbm9EYXRhVGVtcGxhdGUgYmVpbmcgcHJlZmVyZWRcclxuICAgICAqL1xyXG4gICAgYWN0aW9uPzogTmF2SXRlbTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRlbXBsYXRlIHRvIHNob3cgd2hlbiB0aGUgc3RhdHVzIGlzIG5vRGF0YVxyXG4gICAgICovXHJcbiAgICBub0RhdGFUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBNYXNrIChub3QgcmVtb3ZlKSB0aGUgdHJhbnNjbHVkZWQgY29udGVudCBmcm9tIHRoZSBkb20gd2hpbGUgbm90IGhhc0RhdGEgc3RhdHVzLlxyXG4gICAgICovXHJcbiAgICBkaXNwbGF5QXNNYXNrPzogYm9vbGVhbjtcclxuXHJcbiAgICAvKiogXHJcbiAgICAgKiBBZGRpdGlvbmFsIGNzcyBjbGFzc2VzIHRvIGFwcGx5IHRvIHRoZSAub3ZlcmxheSBlbGVtZW50IFxyXG4gICAgICovXHJcbiAgICBvdmVybGF5Q2xhc3NMaXN0Pzogc3RyaW5nO1xyXG59XHJcbiJdfQ==
@@ -1,67 +0,0 @@
1
- import { Validators } from '@angular/forms';
2
- import { Injectable } from '@angular/core';
3
- import * as i0 from "@angular/core";
4
- /**
5
- * Helper for Form Groups
6
- */
7
- export class FormGroupHelper {
8
- /**
9
- * Call patchValue on the formGroup with only the properties
10
- * that actually have values in updates. This method will ignore
11
- * any value that is either null or undefined
12
- */
13
- patchValueSafely(formGroup, updates) {
14
- let safeUpdates = {};
15
- Object.keys(updates).forEach(function (propName) {
16
- let rawValue = updates[propName];
17
- if (rawValue !== null && rawValue !== undefined) {
18
- safeUpdates[propName] = rawValue;
19
- }
20
- });
21
- formGroup.patchValue(safeUpdates);
22
- }
23
- /**
24
- * Get an id for the form controls input
25
- */
26
- getInputId(id) {
27
- return id + '_input';
28
- }
29
- /**
30
- * Takes in a control and returns a function that sets the control's required validator based on
31
- * whether the value provided is empty or not. Adds the required validator if the value provided is
32
- * not empty, otherwise removes the required validator. Useful for dynamically setting the requiredness
33
- * of a control based on whether another control has a value or not.
34
- *
35
- * @param control
36
- * @param keepValidators - Array of Validators to leave configured on the control. Any existing
37
- * validators on the control will be lost if this is left empty.
38
- * @param isZeroEmpty - If true, a numeric zero will be considered an empty value. Default is false.
39
- */
40
- setRequiredFn(control, keepValidators = [], isZeroEmpty = false) {
41
- return (value) => {
42
- let validators = [...keepValidators];
43
- // If the value is not empty, add the required validator.
44
- if (value || (!isZeroEmpty ? value === 0 : false)) {
45
- validators.push(Validators.required);
46
- }
47
- if (validators.length > 0) {
48
- control.setValidators(validators);
49
- }
50
- else {
51
- control.clearValidators();
52
- }
53
- // Recalculating the value is required when changing the validators, otherwise
54
- // the validator won't take effect until the value is changed in the control.
55
- control.updateValueAndValidity({ emitEvent: false });
56
- };
57
- }
58
- }
59
- FormGroupHelper.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FormGroupHelper, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
60
- FormGroupHelper.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FormGroupHelper, providedIn: 'root' });
61
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FormGroupHelper, decorators: [{
62
- type: Injectable,
63
- args: [{
64
- providedIn: 'root'
65
- }]
66
- }] });
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1ncm91cC5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvc2hhcmVkL2Zvcm0tZ3JvdXAuaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUMsVUFBVSxFQUFlLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFM0M7O0dBRUc7QUFJSCxNQUFNLE9BQU8sZUFBZTtJQUV4Qjs7OztPQUlHO0lBQ0ksZ0JBQWdCLENBQUMsU0FBMkIsRUFBRSxPQUFZO1FBQzdELElBQUksV0FBVyxHQUFHLEVBQUUsQ0FBQztRQUNyQixNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLFFBQVE7WUFDM0MsSUFBSSxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBRWpDLElBQUcsUUFBUSxLQUFLLElBQUksSUFBSSxRQUFRLEtBQUssU0FBUyxFQUFDO2dCQUMzQyxXQUFXLENBQUMsUUFBUSxDQUFDLEdBQUcsUUFBUSxDQUFDO2FBQ3BDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDSCxTQUFTLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRDs7T0FFRztJQUNJLFVBQVUsQ0FBQyxFQUFVO1FBQ3hCLE9BQU8sRUFBRSxHQUFHLFFBQVEsQ0FBQztJQUN6QixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7T0FVRztJQUNJLGFBQWEsQ0FBQyxPQUF3QixFQUFFLGlCQUFnQyxFQUFFLEVBQUUsY0FBdUIsS0FBSztRQUMzRyxPQUFPLENBQUMsS0FBOEIsRUFBRSxFQUFFO1lBQ3RDLElBQUksVUFBVSxHQUFHLENBQUMsR0FBRyxjQUFjLENBQUMsQ0FBQztZQUVyQyx5REFBeUQ7WUFDekQsSUFBSSxLQUFLLElBQUksQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQy9DLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQ3hDO1lBRUQsSUFBSSxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDdkIsT0FBTyxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUNyQztpQkFBTTtnQkFDSCxPQUFPLENBQUMsZUFBZSxFQUFFLENBQUM7YUFDN0I7WUFDRCw4RUFBOEU7WUFDOUUsNkVBQTZFO1lBQzdFLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDO1FBQ3ZELENBQUMsQ0FBQTtJQUNMLENBQUM7OzRHQXZEUSxlQUFlO2dIQUFmLGVBQWUsY0FGWixNQUFNOzJGQUVULGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVW50eXBlZEZvcm1Hcm91cCwgQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0b3JzLCBWYWxpZGF0b3JGbiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuLyoqXHJcbiAqIEhlbHBlciBmb3IgRm9ybSBHcm91cHNcclxuICovXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRm9ybUdyb3VwSGVscGVyIHtcclxuXHJcbiAgICAvKipcclxuICAgICAqIENhbGwgcGF0Y2hWYWx1ZSBvbiB0aGUgZm9ybUdyb3VwIHdpdGggb25seSB0aGUgcHJvcGVydGllc1xyXG4gICAgICogdGhhdCBhY3R1YWxseSBoYXZlIHZhbHVlcyBpbiB1cGRhdGVzLiBUaGlzIG1ldGhvZCB3aWxsIGlnbm9yZVxyXG4gICAgICogYW55IHZhbHVlIHRoYXQgaXMgZWl0aGVyIG51bGwgb3IgdW5kZWZpbmVkXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBwYXRjaFZhbHVlU2FmZWx5KGZvcm1Hcm91cDogVW50eXBlZEZvcm1Hcm91cCwgdXBkYXRlczogYW55KXtcclxuICAgICAgICBsZXQgc2FmZVVwZGF0ZXMgPSB7fTtcclxuICAgICAgICBPYmplY3Qua2V5cyh1cGRhdGVzKS5mb3JFYWNoKGZ1bmN0aW9uIChwcm9wTmFtZSkge1xyXG4gICAgICAgICAgICBsZXQgcmF3VmFsdWUgPSB1cGRhdGVzW3Byb3BOYW1lXTtcclxuXHJcbiAgICAgICAgICAgIGlmKHJhd1ZhbHVlICE9PSBudWxsICYmIHJhd1ZhbHVlICE9PSB1bmRlZmluZWQpe1xyXG4gICAgICAgICAgICAgICAgc2FmZVVwZGF0ZXNbcHJvcE5hbWVdID0gcmF3VmFsdWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICBmb3JtR3JvdXAucGF0Y2hWYWx1ZShzYWZlVXBkYXRlcyk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXQgYW4gaWQgZm9yIHRoZSBmb3JtIGNvbnRyb2xzIGlucHV0XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXRJbnB1dElkKGlkOiBzdHJpbmcpOnN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIGlkICsgJ19pbnB1dCc7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUYWtlcyBpbiBhIGNvbnRyb2wgYW5kIHJldHVybnMgYSBmdW5jdGlvbiB0aGF0IHNldHMgdGhlIGNvbnRyb2wncyByZXF1aXJlZCB2YWxpZGF0b3IgYmFzZWQgb25cclxuICAgICAqIHdoZXRoZXIgdGhlIHZhbHVlIHByb3ZpZGVkIGlzIGVtcHR5IG9yIG5vdC4gQWRkcyB0aGUgcmVxdWlyZWQgdmFsaWRhdG9yIGlmIHRoZSB2YWx1ZSBwcm92aWRlZCBpc1xyXG4gICAgICogbm90IGVtcHR5LCBvdGhlcndpc2UgcmVtb3ZlcyB0aGUgcmVxdWlyZWQgdmFsaWRhdG9yLiBVc2VmdWwgZm9yIGR5bmFtaWNhbGx5IHNldHRpbmcgdGhlIHJlcXVpcmVkbmVzc1xyXG4gICAgICogb2YgYSBjb250cm9sIGJhc2VkIG9uIHdoZXRoZXIgYW5vdGhlciBjb250cm9sIGhhcyBhIHZhbHVlIG9yIG5vdC5cclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIGNvbnRyb2xcclxuICAgICAqIEBwYXJhbSBrZWVwVmFsaWRhdG9ycyAtIEFycmF5IG9mIFZhbGlkYXRvcnMgdG8gbGVhdmUgY29uZmlndXJlZCBvbiB0aGUgY29udHJvbC4gQW55IGV4aXN0aW5nXHJcbiAgICAgKiB2YWxpZGF0b3JzIG9uIHRoZSBjb250cm9sIHdpbGwgYmUgbG9zdCBpZiB0aGlzIGlzIGxlZnQgZW1wdHkuXHJcbiAgICAgKiBAcGFyYW0gaXNaZXJvRW1wdHkgLSBJZiB0cnVlLCBhIG51bWVyaWMgemVybyB3aWxsIGJlIGNvbnNpZGVyZWQgYW4gZW1wdHkgdmFsdWUuIERlZmF1bHQgaXMgZmFsc2UuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzZXRSZXF1aXJlZEZuKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCwga2VlcFZhbGlkYXRvcnM6IFZhbGlkYXRvckZuW10gPSBbXSwgaXNaZXJvRW1wdHk6IGJvb2xlYW4gPSBmYWxzZSkge1xyXG4gICAgICAgIHJldHVybiAodmFsdWU/OiBudW1iZXIgfCBzdHJpbmcgfCBudWxsKSA9PiB7XHJcbiAgICAgICAgICAgIGxldCB2YWxpZGF0b3JzID0gWy4uLmtlZXBWYWxpZGF0b3JzXTtcclxuXHJcbiAgICAgICAgICAgIC8vIElmIHRoZSB2YWx1ZSBpcyBub3QgZW1wdHksIGFkZCB0aGUgcmVxdWlyZWQgdmFsaWRhdG9yLlxyXG4gICAgICAgICAgICBpZiAodmFsdWUgfHwgKCFpc1plcm9FbXB0eSA/IHZhbHVlID09PSAwIDogZmFsc2UpKSB7XHJcbiAgICAgICAgICAgICAgICB2YWxpZGF0b3JzLnB1c2goVmFsaWRhdG9ycy5yZXF1aXJlZCk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmICh2YWxpZGF0b3JzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICAgIGNvbnRyb2wuc2V0VmFsaWRhdG9ycyh2YWxpZGF0b3JzKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRyb2wuY2xlYXJWYWxpZGF0b3JzKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gUmVjYWxjdWxhdGluZyB0aGUgdmFsdWUgaXMgcmVxdWlyZWQgd2hlbiBjaGFuZ2luZyB0aGUgdmFsaWRhdG9ycywgb3RoZXJ3aXNlXHJcbiAgICAgICAgICAgIC8vIHRoZSB2YWxpZGF0b3Igd29uJ3QgdGFrZSBlZmZlY3QgdW50aWwgdGhlIHZhbHVlIGlzIGNoYW5nZWQgaW4gdGhlIGNvbnRyb2wuXHJcbiAgICAgICAgICAgIGNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSh7ZW1pdEV2ZW50OiBmYWxzZX0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSJdfQ==
@@ -1,19 +0,0 @@
1
- export class JsonHelper {
2
- /**
3
- * Parse given JSON text into an object.
4
- * Returns undefined if text cannot be parsed as JSON.
5
- */
6
- static tryParseJSON(text) {
7
- if (!text) {
8
- return undefined;
9
- }
10
- try {
11
- const result = JSON.parse(text);
12
- return result;
13
- }
14
- catch (err) {
15
- return undefined;
16
- }
17
- }
18
- }
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi1oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvc2hhcmVkL2pzb24taGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxVQUFVO0lBRXJCOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBK0I7UUFDeEQsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNULE9BQU8sU0FBUyxDQUFDO1NBQ2xCO1FBRUQsSUFBSTtZQUNGLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDaEMsT0FBTyxNQUFNLENBQUM7U0FDZjtRQUFDLE9BQU8sR0FBRyxFQUFFO1lBQ1osT0FBTyxTQUFTLENBQUM7U0FDbEI7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgSnNvbkhlbHBlciB7XHJcblxyXG4gIC8qKlxyXG4gICAqIFBhcnNlIGdpdmVuIEpTT04gdGV4dCBpbnRvIGFuIG9iamVjdC5cclxuICAgKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0ZXh0IGNhbm5vdCBiZSBwYXJzZWQgYXMgSlNPTi5cclxuICAgKi9cclxuICBwdWJsaWMgc3RhdGljIHRyeVBhcnNlSlNPTih0ZXh0OiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkKTogdW5rbm93biB8IHVuZGVmaW5lZCB7XHJcbiAgICBpZiAoIXRleHQpIHtcclxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgIH1cclxuXHJcbiAgICB0cnkge1xyXG4gICAgICBjb25zdCByZXN1bHQgPSBKU09OLnBhcnNlKHRleHQpO1xyXG4gICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgfSBjYXRjaCAoZXJyKSB7XHJcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICB9XHJcbiAgfVxyXG59Il19
@@ -1,51 +0,0 @@
1
- import { sortBy, get, orderBy } from "lodash";
2
- /** A wrapper around the lodash sortBy that supports treating upper case and lower case text as the same.
3
- * If the underlying property value is not a string (or is null or undefined) this function will behave just like lodash's original
4
- * The original array is not modified, and the result is a newly created array to avoid any side effects (just like the lodash implementation)
5
- * String properties are normalized by case for comparisons to prevent sorting AbC as ACb
6
- * @param items - the set of items to sort. Expected to be a set of complex objects to sort by the given properties
7
- * @param properties - a list of values, each of which can be number, date, string, etc property types.
8
- * Can be the name or path to the property to look at, passed to the lodash get function so "address.line1" works if item is
9
- * a meter object like {meterName: 'name', addres: { line1: '100 Factory Street' } }
10
- * @see https://lodash.com/docs/4.17.10#get
11
- */
12
- export function sortByIgnoreCase(items, properties) {
13
- let iteratees = [];
14
- iteratees = properties.map(prop => {
15
- return (item) => safeToLower(item, prop);
16
- });
17
- return sortBy(items, iteratees);
18
- }
19
- /**
20
- * A wrapper around the lodash orderBy that supports treating upper case and lower case text as the same.
21
- * @param items - the set of items to sort. Expected to be a set of complex objects to sort by the given properties
22
- * @param properties - a list of values, each of which can be number, date, string, etc property types.
23
- * @param direction - the direction in which to sort, the pass in an array of directions to match an array of properties
24
- */
25
- export function orderByIgnoreCase(items, properties, direction) {
26
- let iteratees = [];
27
- iteratees = properties.map(prop => {
28
- // Treat nulls as empty string to sort them at the bottom when decending, helpful when looking at dates
29
- return (item) => safeToLower(item, prop) || '';
30
- });
31
- return orderBy(items, iteratees, direction);
32
- }
33
- /**
34
- * Convert the provided item's property to the lowercase version of it if that property
35
- * has a value and the value is a string. Non-string or null/undefined values are kept exactly as they were
36
- * @param item - the object on which the value will be read and interpreted
37
- * @param prop - the name or path to the property to look at, passed to the lodash get function so "address.line1" works if item is
38
- * a meter object like {meterName: 'name', address: { line1: '100 Factory Street' } }
39
- * @see https://lodash.com/docs/4.17.10#get
40
- */
41
- function safeToLower(item, prop) {
42
- let value = get(item, prop);
43
- if (item && typeof value === 'string') {
44
- return value.toLowerCase();
45
- }
46
- else {
47
- return item[prop];
48
- }
49
- }
50
- ;
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9kYXNoLWhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9zaGFyZWQvbG9kYXNoLWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFOUM7Ozs7Ozs7OztFQVNFO0FBQ0YsTUFBTSxVQUFVLGdCQUFnQixDQUFJLEtBQVUsRUFBRSxVQUFvQjtJQUNsRSxJQUFJLFNBQVMsR0FBZ0UsRUFBRSxDQUFDO0lBRWhGLFNBQVMsR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQSxFQUFFO1FBQy9CLE9BQU8sQ0FBQyxJQUFPLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDOUMsQ0FBQyxDQUFDLENBQUM7SUFFSCxPQUFPLE1BQU0sQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUM7QUFFbEMsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLGlCQUFpQixDQUFJLEtBQVUsRUFBRSxVQUFvQixFQUFFLFNBQStCO0lBQ3BHLElBQUksU0FBUyxHQUFnRSxFQUFFLENBQUM7SUFFaEYsU0FBUyxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDaEMsdUdBQXVHO1FBQ3ZHLE9BQU8sQ0FBQyxJQUFPLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3BELENBQUMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxPQUFPLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQztBQUM5QyxDQUFDO0FBRUQ7Ozs7Ozs7R0FPRztBQUNILFNBQVMsV0FBVyxDQUFJLElBQU8sRUFBRSxJQUFZO0lBQzNDLElBQUksS0FBSyxHQUFHLEdBQUcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDNUIsSUFBRyxJQUFJLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFDO1FBQ25DLE9BQWdCLEtBQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQztLQUN0QztTQUFNO1FBQ0wsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDbkI7QUFDSCxDQUFDO0FBQUEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHNvcnRCeSwgZ2V0LCBvcmRlckJ5IH0gZnJvbSBcImxvZGFzaFwiO1xyXG5cclxuLyoqIEEgd3JhcHBlciBhcm91bmQgdGhlIGxvZGFzaCBzb3J0QnkgdGhhdCBzdXBwb3J0cyB0cmVhdGluZyB1cHBlciBjYXNlIGFuZCBsb3dlciBjYXNlIHRleHQgYXMgdGhlIHNhbWUuICBcclxuICogSWYgdGhlIHVuZGVybHlpbmcgcHJvcGVydHkgdmFsdWUgaXMgbm90IGEgc3RyaW5nIChvciBpcyBudWxsIG9yIHVuZGVmaW5lZCkgdGhpcyBmdW5jdGlvbiB3aWxsIGJlaGF2ZSBqdXN0IGxpa2UgbG9kYXNoJ3Mgb3JpZ2luYWxcclxuICogVGhlIG9yaWdpbmFsIGFycmF5IGlzIG5vdCBtb2RpZmllZCwgYW5kIHRoZSByZXN1bHQgaXMgYSBuZXdseSBjcmVhdGVkIGFycmF5IHRvIGF2b2lkIGFueSBzaWRlIGVmZmVjdHMgKGp1c3QgbGlrZSB0aGUgbG9kYXNoIGltcGxlbWVudGF0aW9uKVxyXG4gKiBTdHJpbmcgcHJvcGVydGllcyBhcmUgbm9ybWFsaXplZCBieSBjYXNlIGZvciBjb21wYXJpc29ucyB0byBwcmV2ZW50IHNvcnRpbmcgQWJDIGFzIEFDYlxyXG4gKiBAcGFyYW0gaXRlbXMgLSB0aGUgc2V0IG9mIGl0ZW1zIHRvIHNvcnQuIEV4cGVjdGVkIHRvIGJlIGEgc2V0IG9mIGNvbXBsZXggb2JqZWN0cyB0byBzb3J0IGJ5IHRoZSBnaXZlbiBwcm9wZXJ0aWVzXHJcbiAqIEBwYXJhbSBwcm9wZXJ0aWVzIC0gYSBsaXN0IG9mIHZhbHVlcywgZWFjaCBvZiB3aGljaCBjYW4gYmUgbnVtYmVyLCBkYXRlLCBzdHJpbmcsIGV0YyBwcm9wZXJ0eSB0eXBlcy4gXHJcbiAqICAgICAgICBDYW4gYmUgdGhlIG5hbWUgb3IgcGF0aCB0byB0aGUgcHJvcGVydHkgdG8gbG9vayBhdCwgcGFzc2VkIHRvIHRoZSBsb2Rhc2ggZ2V0IGZ1bmN0aW9uIHNvIFwiYWRkcmVzcy5saW5lMVwiIHdvcmtzIGlmIGl0ZW0gaXNcclxuICogICAgICAgIGEgbWV0ZXIgb2JqZWN0IGxpa2Uge21ldGVyTmFtZTogJ25hbWUnLCBhZGRyZXM6IHsgbGluZTE6ICcxMDAgRmFjdG9yeSBTdHJlZXQnIH0gfVxyXG4gKiBAc2VlIGh0dHBzOi8vbG9kYXNoLmNvbS9kb2NzLzQuMTcuMTAjZ2V0XHJcbiovXHJcbmV4cG9ydCBmdW5jdGlvbiBzb3J0QnlJZ25vcmVDYXNlPFQ+KGl0ZW1zOiBUW10sIHByb3BlcnRpZXM6IHN0cmluZ1tdKSA6IFRbXSB7XHJcbiAgbGV0IGl0ZXJhdGVlczogKCh2YWx1ZTogVCwgaW5kZXg6IG51bWJlciwgY29sbGVjdGlvbjogQXJyYXlMaWtlPFQ+KT0+IFQpW10gPSBbXTtcclxuXHJcbiAgaXRlcmF0ZWVzID0gcHJvcGVydGllcy5tYXAocHJvcD0+e1xyXG4gICAgcmV0dXJuIChpdGVtOiBUKSA9PiBzYWZlVG9Mb3dlcihpdGVtLCBwcm9wKTtcclxuICB9KTtcclxuXHJcbiAgcmV0dXJuIHNvcnRCeShpdGVtcywgaXRlcmF0ZWVzKTtcclxuICBcclxufVxyXG5cclxuLyoqXHJcbiAqIEEgd3JhcHBlciBhcm91bmQgdGhlIGxvZGFzaCBvcmRlckJ5IHRoYXQgc3VwcG9ydHMgdHJlYXRpbmcgdXBwZXIgY2FzZSBhbmQgbG93ZXIgY2FzZSB0ZXh0IGFzIHRoZSBzYW1lLlxyXG4gKiBAcGFyYW0gaXRlbXMgLSB0aGUgc2V0IG9mIGl0ZW1zIHRvIHNvcnQuIEV4cGVjdGVkIHRvIGJlIGEgc2V0IG9mIGNvbXBsZXggb2JqZWN0cyB0byBzb3J0IGJ5IHRoZSBnaXZlbiBwcm9wZXJ0aWVzXHJcbiAqIEBwYXJhbSBwcm9wZXJ0aWVzIC0gYSBsaXN0IG9mIHZhbHVlcywgZWFjaCBvZiB3aGljaCBjYW4gYmUgbnVtYmVyLCBkYXRlLCBzdHJpbmcsIGV0YyBwcm9wZXJ0eSB0eXBlcy4gXHJcbiAqIEBwYXJhbSBkaXJlY3Rpb24gLSB0aGUgZGlyZWN0aW9uIGluIHdoaWNoIHRvIHNvcnQsIHRoZSBwYXNzIGluIGFuIGFycmF5IG9mIGRpcmVjdGlvbnMgdG8gbWF0Y2ggYW4gYXJyYXkgb2YgcHJvcGVydGllc1xyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIG9yZGVyQnlJZ25vcmVDYXNlPFQ+KGl0ZW1zOiBUW10sIHByb3BlcnRpZXM6IHN0cmluZ1tdLCBkaXJlY3Rpb24/OiBBcnJheTxcImFzY1wifFwiZGVzY1wiPik6IFRbXSB7XHJcbiAgbGV0IGl0ZXJhdGVlczogKCh2YWx1ZTogVCwgaW5kZXg6IG51bWJlciwgY29sbGVjdGlvbjogQXJyYXlMaWtlPFQ+KT0+IFQpW10gPSBbXTtcclxuXHJcbiAgaXRlcmF0ZWVzID0gcHJvcGVydGllcy5tYXAocHJvcCA9PiB7XHJcbiAgICAvLyBUcmVhdCBudWxscyBhcyBlbXB0eSBzdHJpbmcgdG8gc29ydCB0aGVtIGF0IHRoZSBib3R0b20gd2hlbiBkZWNlbmRpbmcsIGhlbHBmdWwgd2hlbiBsb29raW5nIGF0IGRhdGVzXHJcbiAgICByZXR1cm4gKGl0ZW06IFQpID0+IHNhZmVUb0xvd2VyKGl0ZW0sIHByb3ApIHx8ICcnO1xyXG4gIH0pO1xyXG5cclxuICByZXR1cm4gb3JkZXJCeShpdGVtcywgaXRlcmF0ZWVzLCBkaXJlY3Rpb24pO1xyXG59XHJcblxyXG4vKipcclxuICogQ29udmVydCB0aGUgcHJvdmlkZWQgaXRlbSdzIHByb3BlcnR5IHRvIHRoZSBsb3dlcmNhc2UgdmVyc2lvbiBvZiBpdCBpZiB0aGF0IHByb3BlcnR5XHJcbiAqIGhhcyBhIHZhbHVlIGFuZCB0aGUgdmFsdWUgaXMgYSBzdHJpbmcuIE5vbi1zdHJpbmcgb3IgbnVsbC91bmRlZmluZWQgdmFsdWVzIGFyZSBrZXB0IGV4YWN0bHkgYXMgdGhleSB3ZXJlXHJcbiAqIEBwYXJhbSBpdGVtIC0gdGhlIG9iamVjdCBvbiB3aGljaCB0aGUgdmFsdWUgd2lsbCAgYmUgcmVhZCBhbmQgaW50ZXJwcmV0ZWRcclxuICogQHBhcmFtIHByb3AgLSB0aGUgbmFtZSBvciBwYXRoIHRvIHRoZSBwcm9wZXJ0eSB0byBsb29rIGF0LCBwYXNzZWQgdG8gdGhlIGxvZGFzaCBnZXQgZnVuY3Rpb24gc28gXCJhZGRyZXNzLmxpbmUxXCIgd29ya3MgaWYgaXRlbSBpc1xyXG4gKiBhIG1ldGVyIG9iamVjdCBsaWtlIHttZXRlck5hbWU6ICduYW1lJywgYWRkcmVzczogeyBsaW5lMTogJzEwMCBGYWN0b3J5IFN0cmVldCcgfSB9XHJcbiAqIEBzZWUgaHR0cHM6Ly9sb2Rhc2guY29tL2RvY3MvNC4xNy4xMCNnZXRcclxuICovXHJcbmZ1bmN0aW9uIHNhZmVUb0xvd2VyPFQ+KGl0ZW06IFQsIHByb3A6IHN0cmluZyl7XHJcbiAgbGV0IHZhbHVlID0gZ2V0KGl0ZW0sIHByb3ApO1xyXG4gIGlmKGl0ZW0gJiYgdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyl7XHJcbiAgICByZXR1cm4gKDxzdHJpbmc+dmFsdWUpLnRvTG93ZXJDYXNlKCk7XHJcbiAgfSBlbHNlIHtcclxuICAgIHJldHVybiBpdGVtW3Byb3BdO1xyXG4gIH1cclxufTsiXX0=