@datarailsshared/datarailsshared 1.4.195-rocket → 1.4.202

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 (360) hide show
  1. package/_datarailsshared.styles.css +4 -4
  2. package/assets/styles/_styles.scss +2 -2
  3. package/assets/styles/mixins.scss +7 -0
  4. package/bundles/datarailsshared-datarailsshared.umd.js +8041 -0
  5. package/bundles/datarailsshared-datarailsshared.umd.js.map +1 -0
  6. package/datarailsshared-datarailsshared-1.4.202.tgz +0 -0
  7. package/datarailsshared-datarailsshared.d.ts +34 -0
  8. package/datarailsshared-datarailsshared.metadata.json +1 -0
  9. package/esm2015/datarailsshared-datarailsshared.js +35 -0
  10. package/esm2015/lib/date-tags/date-tag.component.js +73 -0
  11. package/esm2015/lib/date-tags/date-tag.module.js +36 -0
  12. package/esm2015/lib/date-tags/day-tag/day-tag.component.js +77 -0
  13. package/esm2015/lib/date-tags/forecast-tag/forecast-tag.component.js +153 -0
  14. package/esm2015/lib/date-tags/month-tag/month-tag.component.js +80 -0
  15. package/esm2015/lib/date-tags/quarter-tag/quarter-tag.component.js +105 -0
  16. package/esm2015/lib/date-tags/week-tag/week-tag.component.js +84 -0
  17. package/esm2015/lib/date-tags/year-tag/year-tag.component.js +78 -0
  18. package/esm2015/lib/dr-accordion/accordion-item-body.component.js +55 -0
  19. package/esm2015/lib/dr-accordion/accordion-item-header.component.js +77 -0
  20. package/esm2015/lib/dr-accordion/accordion-item.component.js +123 -0
  21. package/esm2015/lib/dr-accordion/accordion.component.js +43 -0
  22. package/esm2015/lib/dr-accordion/accordion.module.js +23 -0
  23. package/esm2015/lib/dr-avatar/dr-avatar.component.js +44 -0
  24. package/esm2015/lib/dr-avatar/dr-avatar.module.js +26 -0
  25. package/esm2015/lib/dr-avatar/dr-avatar.pipe.js +16 -0
  26. package/esm2015/lib/dr-badge-status/dr-badge-status.component.js +25 -0
  27. package/esm2015/lib/dr-badge-status/dr-badge-status.module.js +20 -0
  28. package/esm2015/lib/dr-chat/chat.component.js +119 -0
  29. package/esm2015/lib/dr-chat/chat.module.js +41 -0
  30. package/esm2015/lib/dr-chat/dr-chat-form/chat-form.component.js +155 -0
  31. package/esm2015/lib/dr-chat/dr-chat-message/chat-message.component.js +71 -0
  32. package/{esm2022/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.directive.mjs → esm2015/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.directive.js} +21 -21
  33. package/esm2015/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.service.js +23 -0
  34. package/esm2015/lib/dr-chat/dr-chat-message/dr-chat-message-file/chat-message-file.component.js +47 -0
  35. package/esm2015/lib/dr-chat/dr-chat-message/dr-chat-message-text/chat-message-text.component.js +18 -0
  36. package/esm2015/lib/dr-chat/dr-chat-suggestions/chat-suggestions.component.js +87 -0
  37. package/esm2015/lib/dr-chat/dr-dot-flashing/dr-dot-flashing.component.js +15 -0
  38. package/esm2015/lib/dr-details-list/dr-details-list.component.js +65 -0
  39. package/esm2015/lib/dr-details-list/dr-details-list.module.js +16 -0
  40. package/esm2015/lib/dr-dialog/components/dialog-modal-wrapper/dialog-modal-wrapper.component.js +70 -0
  41. package/esm2015/lib/dr-dialog/components/dialog-wrapper/dialog-wrapper.component.js +92 -0
  42. package/esm2015/lib/dr-dialog/dialog.module.js +34 -0
  43. package/esm2015/lib/dr-dialog/interfaces/dialog-data.js +25 -0
  44. package/esm2015/lib/dr-dialog/services/dialog.service.js +78 -0
  45. package/esm2015/lib/dr-dropdown/dr-dropdown-item-show.pipe.js +12 -0
  46. package/esm2015/lib/dr-dropdown/dr-dropdown-position.directive.js +104 -0
  47. package/esm2015/lib/dr-dropdown/dr-dropdown.component.js +114 -0
  48. package/esm2015/lib/dr-dropdown/dr-dropdown.directive.js +104 -0
  49. package/esm2015/lib/dr-dropdown/dr-dropdown.module.js +34 -0
  50. package/esm2015/lib/dr-dropdown/dr-dropdown.service.js +24 -0
  51. package/esm2015/lib/dr-dynamic-tag/dr-dynamic-tag.component.js +103 -0
  52. package/esm2015/lib/dr-dynamic-tag/dr-dynamic-tag.module.js +19 -0
  53. package/esm2015/lib/dr-error/dr-error.component.js +64 -0
  54. package/esm2015/lib/dr-error/dr-error.module.js +22 -0
  55. package/esm2015/lib/dr-inputs/button/button.component.js +39 -0
  56. package/esm2015/lib/dr-inputs/checkbox/checkbox.component.js +65 -0
  57. package/esm2015/lib/dr-inputs/date-pickers/directives/dr-date-picker-format.directive.js +47 -0
  58. package/esm2015/lib/dr-inputs/date-pickers/dr-date-picker/dr-date-picker.component.js +216 -0
  59. package/esm2015/lib/dr-inputs/date-pickers/dr-date-picker-with-timeframe/dr-date-picker-with-timeframe.component.js +180 -0
  60. package/esm2015/lib/dr-inputs/date-pickers/dr-date-picker_custom-header/dr-date-picker_custom-header.component.js +183 -0
  61. package/esm2015/lib/dr-inputs/date-pickers/dr-show-timeframe.pipe.js +12 -0
  62. package/esm2015/lib/dr-inputs/date-pickers/services/dr-date-picker.service.js +194 -0
  63. package/esm2015/lib/dr-inputs/dr-input/dr-input.component.js +194 -0
  64. package/esm2015/lib/dr-inputs/dr-inputs.module.js +66 -0
  65. package/esm2015/lib/dr-inputs/dr-model-debounce-change.directive.js +29 -0
  66. package/esm2015/lib/dr-inputs/dr-select/dr-select.component.js +119 -0
  67. package/esm2015/lib/dr-inputs/dr-select-add-item/dr-select-add-item.component.js +74 -0
  68. package/esm2015/lib/dr-inputs/dr-toggle/dr-toggle.component.js +68 -0
  69. package/esm2015/lib/dr-inputs/dr-toggle-button/dr-toggle-button.component.js +63 -0
  70. package/esm2015/lib/dr-inputs/radio-button/radio-button.component.js +73 -0
  71. package/esm2015/lib/dr-inputs/radio-button/radio-group.component.js +157 -0
  72. package/esm2015/lib/dr-layout/dr-layout-body.component.js +13 -0
  73. package/esm2015/lib/dr-layout/dr-layout-header.component.js +17 -0
  74. package/esm2015/lib/dr-layout/dr-layout.component.js +14 -0
  75. package/esm2015/lib/dr-layout/dr-layout.module.js +20 -0
  76. package/esm2015/lib/dr-popover/dr-popover-ref.js +20 -0
  77. package/esm2015/lib/dr-popover/dr-popover.component.js +106 -0
  78. package/esm2015/lib/dr-popover/dr-popover.directive.js +84 -0
  79. package/esm2015/lib/dr-popover/dr-popover.module.js +23 -0
  80. package/esm2015/lib/dr-popover/dr-popover.service.js +106 -0
  81. package/esm2015/lib/dr-scenario/components/dr-scenario-configuration/dr-scenario-configuration.component.js +102 -0
  82. package/esm2015/lib/dr-scenario/components/dr-scenario-tag-configuration/dr-scenario-tag-configuration.component.js +74 -0
  83. package/esm2015/lib/dr-scenario/consts/scenario-tags-config.js +73 -0
  84. package/esm2015/lib/dr-scenario/dr-scenario.module.js +28 -0
  85. package/esm2015/lib/dr-scenario/services/scenario.service.js +167 -0
  86. package/esm2015/lib/dr-spinner/dr-spinner.component.js +18 -0
  87. package/esm2015/lib/dr-spinner/dr-spinner.directive.js +56 -0
  88. package/esm2015/lib/dr-spinner/dr-spinner.module.js +18 -0
  89. package/esm2015/lib/dr-tabs/dr-tab.component.js +26 -0
  90. package/esm2015/lib/dr-tabs/dr-tabs.component.js +35 -0
  91. package/esm2015/lib/dr-tabs/dr-tabs.module.js +32 -0
  92. package/esm2015/lib/dr-tags/dr-tag.component.js +177 -0
  93. package/esm2015/lib/dr-tags/dr-tag.module.js +24 -0
  94. package/esm2015/lib/dr-tooltip/components/tooltip-info/tooltip-info.component.js +19 -0
  95. package/esm2015/lib/dr-tooltip/components/tooltip-info-simple/tooltip-info-simple.component.js +18 -0
  96. package/esm2015/lib/dr-tooltip/components/tooltip-no-body/tooltip-no-body.component.js +20 -0
  97. package/esm2015/lib/dr-tooltip/components/tooltip-process-default/tooltip-process-default.component.js +34 -0
  98. package/esm2015/lib/dr-tooltip/dr-tooltip.component.js +40 -0
  99. package/esm2015/lib/dr-tooltip/dr-tooltip.directive.js +147 -0
  100. package/esm2015/lib/dr-tooltip/dr-tooltip.module.js +35 -0
  101. package/esm2015/lib/dr-treeview/components/treeview/treeview.component.js +210 -0
  102. package/esm2015/lib/dr-treeview/components/treeview-item/treeview-item.component.js +58 -0
  103. package/esm2015/lib/dr-treeview/dr-tree-view.module.js +38 -0
  104. package/esm2015/lib/dr-treeview/helpers/treeview-event-parser.js +97 -0
  105. package/esm2015/lib/dr-treeview/models/treeview-config.js +22 -0
  106. package/esm2015/lib/dr-treeview/models/treeview-i18n.js +42 -0
  107. package/esm2015/lib/dr-treeview/models/treeview-item.js +155 -0
  108. package/esm2015/lib/dr-treeview/pipes/treeview.pipe.js +17 -0
  109. package/esm2015/lib/list-tags/list-tag.component.js +37 -0
  110. package/esm2015/lib/list-tags/list-tag.module.js +23 -0
  111. package/esm2015/lib/models/chat.js +36 -0
  112. package/esm2015/lib/models/datePicker.js +73 -0
  113. package/esm2015/lib/models/popover.js +27 -0
  114. package/esm2015/lib/stepper/stepper.component.js +55 -0
  115. package/esm2015/lib/stepper/stepper.module.js +17 -0
  116. package/esm2015/public-api.js +93 -0
  117. package/fesm2015/datarailsshared-datarailsshared.js +6885 -0
  118. package/fesm2015/datarailsshared-datarailsshared.js.map +1 -0
  119. package/lib/date-tags/date-tag.component.d.ts +16 -4
  120. package/lib/date-tags/date-tag.module.d.ts +2 -19
  121. package/lib/date-tags/day-tag/day-tag.component.d.ts +1 -4
  122. package/lib/date-tags/forecast-tag/forecast-tag.component.d.ts +2 -5
  123. package/lib/date-tags/month-tag/month-tag.component.d.ts +1 -4
  124. package/lib/date-tags/quarter-tag/quarter-tag.component.d.ts +1 -4
  125. package/lib/date-tags/week-tag/week-tag.component.d.ts +1 -4
  126. package/lib/date-tags/year-tag/year-tag.component.d.ts +1 -4
  127. package/lib/dr-accordion/accordion-item-body.component.d.ts +0 -3
  128. package/lib/dr-accordion/accordion-item-header.component.d.ts +0 -3
  129. package/lib/dr-accordion/accordion-item.component.d.ts +0 -3
  130. package/lib/dr-accordion/accordion.component.d.ts +0 -3
  131. package/lib/dr-accordion/accordion.module.d.ts +0 -9
  132. package/lib/dr-avatar/dr-avatar.component.d.ts +0 -3
  133. package/lib/dr-avatar/dr-avatar.module.d.ts +0 -9
  134. package/lib/dr-avatar/dr-avatar.pipe.d.ts +0 -3
  135. package/lib/dr-badge-status/dr-badge-status.component.d.ts +0 -3
  136. package/lib/dr-badge-status/dr-badge-status.module.d.ts +0 -7
  137. package/lib/dr-chat/chat.component.d.ts +0 -3
  138. package/lib/dr-chat/chat.module.d.ts +0 -17
  139. package/lib/dr-chat/dr-chat-form/chat-form.component.d.ts +0 -3
  140. package/lib/dr-chat/dr-chat-message/chat-message.component.d.ts +0 -3
  141. package/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.directive.d.ts +0 -3
  142. package/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.service.d.ts +0 -3
  143. package/lib/dr-chat/dr-chat-message/dr-chat-message-file/chat-message-file.component.d.ts +0 -3
  144. package/lib/dr-chat/dr-chat-message/dr-chat-message-text/chat-message-text.component.d.ts +0 -3
  145. package/lib/dr-chat/dr-chat-suggestions/chat-suggestions.component.d.ts +0 -3
  146. package/lib/dr-chat/dr-dot-flashing/dr-dot-flashing.component.d.ts +0 -3
  147. package/lib/dr-details-list/dr-details-list.component.d.ts +0 -3
  148. package/lib/dr-details-list/dr-details-list.module.d.ts +0 -6
  149. package/lib/dr-dialog/components/dialog-modal-wrapper/dialog-modal-wrapper.component.d.ts +1 -4
  150. package/lib/dr-dialog/components/dialog-wrapper/dialog-wrapper.component.d.ts +1 -4
  151. package/lib/dr-dialog/dialog.module.d.ts +0 -12
  152. package/lib/dr-dialog/interfaces/dialog-data.d.ts +7 -7
  153. package/lib/dr-dialog/services/dialog.service.d.ts +1 -4
  154. package/lib/dr-dropdown/dr-dropdown-item-show.pipe.d.ts +0 -3
  155. package/lib/dr-dropdown/dr-dropdown-position.directive.d.ts +0 -3
  156. package/lib/dr-dropdown/dr-dropdown.component.d.ts +0 -3
  157. package/lib/dr-dropdown/dr-dropdown.directive.d.ts +0 -3
  158. package/lib/dr-dropdown/dr-dropdown.module.d.ts +0 -10
  159. package/lib/dr-dropdown/dr-dropdown.service.d.ts +0 -3
  160. package/lib/dr-dynamic-tag/dr-dynamic-tag.component.d.ts +0 -3
  161. package/lib/dr-dynamic-tag/dr-dynamic-tag.module.d.ts +0 -8
  162. package/lib/dr-error/dr-error.component.d.ts +0 -3
  163. package/lib/dr-error/dr-error.module.d.ts +0 -8
  164. package/lib/dr-inputs/button/button.component.d.ts +1 -4
  165. package/lib/dr-inputs/checkbox/checkbox.component.d.ts +0 -3
  166. package/lib/dr-inputs/date-pickers/directives/dr-date-picker-format.directive.d.ts +0 -3
  167. package/lib/dr-inputs/date-pickers/dr-date-picker/dr-date-picker.component.d.ts +0 -3
  168. package/lib/dr-inputs/date-pickers/dr-date-picker-with-timeframe/dr-date-picker-with-timeframe.component.d.ts +0 -3
  169. package/lib/dr-inputs/date-pickers/dr-date-picker_custom-header/dr-date-picker_custom-header.component.d.ts +8 -4
  170. package/lib/dr-inputs/date-pickers/dr-show-timeframe.pipe.d.ts +2 -4
  171. package/lib/dr-inputs/date-pickers/services/dr-date-picker.service.d.ts +0 -3
  172. package/lib/dr-inputs/dr-input/dr-input.component.d.ts +0 -3
  173. package/lib/dr-inputs/dr-inputs.module.d.ts +0 -25
  174. package/lib/dr-inputs/dr-model-debounce-change.directive.d.ts +0 -3
  175. package/lib/dr-inputs/dr-select/dr-select.component.d.ts +0 -3
  176. package/lib/dr-inputs/dr-select-add-item/dr-select-add-item.component.d.ts +0 -3
  177. package/lib/dr-inputs/dr-toggle/dr-toggle.component.d.ts +0 -3
  178. package/lib/dr-inputs/dr-toggle-button/dr-toggle-button.component.d.ts +0 -3
  179. package/lib/dr-inputs/radio-button/radio-button.component.d.ts +0 -3
  180. package/lib/dr-inputs/radio-button/radio-group.component.d.ts +0 -3
  181. package/lib/dr-layout/dr-layout-body.component.d.ts +0 -3
  182. package/lib/dr-layout/dr-layout-header.component.d.ts +0 -3
  183. package/lib/dr-layout/dr-layout.component.d.ts +0 -3
  184. package/lib/dr-layout/dr-layout.module.d.ts +0 -8
  185. package/lib/dr-popover/dr-popover.component.d.ts +4 -8
  186. package/lib/dr-popover/dr-popover.directive.d.ts +0 -3
  187. package/lib/dr-popover/dr-popover.module.d.ts +0 -7
  188. package/lib/dr-popover/dr-popover.service.d.ts +0 -3
  189. package/lib/dr-scenario/components/dr-scenario-configuration/dr-scenario-configuration.component.d.ts +0 -3
  190. package/lib/dr-scenario/components/dr-scenario-tag-configuration/dr-scenario-tag-configuration.component.d.ts +0 -3
  191. package/lib/dr-scenario/dr-scenario.module.d.ts +0 -10
  192. package/lib/dr-scenario/interfaces/scenario.d.ts +3 -3
  193. package/lib/dr-scenario/services/scenario.service.d.ts +0 -3
  194. package/lib/dr-spinner/dr-spinner.component.d.ts +0 -3
  195. package/lib/dr-spinner/dr-spinner.directive.d.ts +0 -3
  196. package/lib/dr-spinner/dr-spinner.module.d.ts +0 -7
  197. package/lib/dr-tabs/dr-tab.component.d.ts +0 -3
  198. package/lib/dr-tabs/dr-tabs.component.d.ts +0 -3
  199. package/lib/dr-tabs/dr-tabs.module.d.ts +0 -11
  200. package/lib/dr-tags/dr-tag.component.d.ts +0 -3
  201. package/lib/dr-tags/dr-tag.module.d.ts +0 -9
  202. package/lib/dr-tooltip/components/tooltip-info/tooltip-info.component.d.ts +0 -3
  203. package/lib/dr-tooltip/components/tooltip-info-simple/tooltip-info-simple.component.d.ts +0 -3
  204. package/lib/dr-tooltip/components/tooltip-no-body/tooltip-no-body.component.d.ts +0 -3
  205. package/lib/dr-tooltip/components/tooltip-process-default/tooltip-process-default.component.d.ts +0 -3
  206. package/lib/dr-tooltip/dr-tooltip.component.d.ts +1 -4
  207. package/lib/dr-tooltip/dr-tooltip.directive.d.ts +0 -3
  208. package/lib/dr-tooltip/dr-tooltip.module.d.ts +0 -11
  209. package/lib/dr-tooltip/interfaces/tooltip-component-context.d.ts +1 -1
  210. package/lib/dr-treeview/components/treeview/treeview.component.d.ts +0 -3
  211. package/lib/dr-treeview/components/treeview-item/treeview-item.component.d.ts +0 -3
  212. package/lib/dr-treeview/dr-tree-view.module.d.ts +0 -9
  213. package/lib/dr-treeview/helpers/treeview-event-parser.d.ts +0 -9
  214. package/lib/dr-treeview/models/treeview-config.d.ts +0 -3
  215. package/lib/dr-treeview/models/treeview-i18n.d.ts +0 -5
  216. package/lib/dr-treeview/pipes/treeview.pipe.d.ts +0 -3
  217. package/lib/list-tags/list-tag.component.d.ts +0 -3
  218. package/lib/list-tags/list-tag.module.d.ts +0 -8
  219. package/lib/models/chat.d.ts +2 -2
  220. package/lib/models/datePicker.d.ts +3 -10
  221. package/lib/models/dropdown.d.ts +1 -1
  222. package/lib/models/popover.d.ts +1 -1
  223. package/lib/models/serverTags.d.ts +4 -4
  224. package/lib/stepper/interfaces/stepper.d.ts +1 -1
  225. package/lib/stepper/stepper.component.d.ts +0 -3
  226. package/lib/stepper/stepper.module.d.ts +0 -7
  227. package/package.json +15 -27
  228. package/public-api.d.ts +0 -27
  229. package/datarailsshared-datarailsshared-1.4.195-rocket.tgz +0 -0
  230. package/esm2022/datarailsshared-datarailsshared.mjs +0 -5
  231. package/esm2022/lib/date-tags/any-tag.component.mjs +0 -45
  232. package/esm2022/lib/date-tags/date-tag.component.mjs +0 -48
  233. package/esm2022/lib/date-tags/date-tag.module.mjs +0 -66
  234. package/esm2022/lib/date-tags/day-tag/day-tag.component.mjs +0 -83
  235. package/esm2022/lib/date-tags/forecast-tag/forecast-tag.component.mjs +0 -161
  236. package/esm2022/lib/date-tags/month-tag/month-tag.component.mjs +0 -88
  237. package/esm2022/lib/date-tags/quarter-tag/quarter-tag.component.mjs +0 -106
  238. package/esm2022/lib/date-tags/week-tag/week-tag.component.mjs +0 -90
  239. package/esm2022/lib/date-tags/year-tag/year-tag.component.mjs +0 -84
  240. package/esm2022/lib/directives/click-outside/click-outside.directive.mjs +0 -94
  241. package/esm2022/lib/directives/click-outside/click-outside.module.mjs +0 -18
  242. package/esm2022/lib/dr-accordion/accordion-item-body.component.mjs +0 -59
  243. package/esm2022/lib/dr-accordion/accordion-item-header.component.mjs +0 -109
  244. package/esm2022/lib/dr-accordion/accordion-item.component.mjs +0 -142
  245. package/esm2022/lib/dr-accordion/accordion.component.mjs +0 -41
  246. package/esm2022/lib/dr-accordion/accordion.module.mjs +0 -34
  247. package/esm2022/lib/dr-avatar/dr-avatar.component.mjs +0 -48
  248. package/esm2022/lib/dr-avatar/dr-avatar.module.mjs +0 -37
  249. package/esm2022/lib/dr-avatar/dr-avatar.pipe.mjs +0 -20
  250. package/esm2022/lib/dr-badge-status/dr-badge-status.component.mjs +0 -30
  251. package/esm2022/lib/dr-badge-status/dr-badge-status.module.mjs +0 -27
  252. package/esm2022/lib/dr-chat/chat.component.mjs +0 -147
  253. package/esm2022/lib/dr-chat/chat.module.mjs +0 -68
  254. package/esm2022/lib/dr-chat/dr-chat-form/chat-form.component.mjs +0 -169
  255. package/esm2022/lib/dr-chat/dr-chat-message/chat-message.component.mjs +0 -108
  256. package/esm2022/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.service.mjs +0 -24
  257. package/esm2022/lib/dr-chat/dr-chat-message/dr-chat-message-file/chat-message-file.component.mjs +0 -57
  258. package/esm2022/lib/dr-chat/dr-chat-message/dr-chat-message-text/chat-message-text.component.mjs +0 -23
  259. package/esm2022/lib/dr-chat/dr-chat-suggestions/chat-suggestions.component.mjs +0 -89
  260. package/esm2022/lib/dr-chat/dr-dot-flashing/dr-dot-flashing.component.mjs +0 -13
  261. package/esm2022/lib/dr-details-list/dr-details-list.component.mjs +0 -78
  262. package/esm2022/lib/dr-details-list/dr-details-list.module.mjs +0 -21
  263. package/esm2022/lib/dr-dialog/components/dialog-modal-wrapper/dialog-modal-wrapper.component.mjs +0 -79
  264. package/esm2022/lib/dr-dialog/components/dialog-wrapper/dialog-wrapper.component.mjs +0 -102
  265. package/esm2022/lib/dr-dialog/dialog.module.mjs +0 -51
  266. package/esm2022/lib/dr-dialog/interfaces/dialog-data.mjs +0 -25
  267. package/esm2022/lib/dr-dialog/services/dialog.service.mjs +0 -78
  268. package/esm2022/lib/dr-dropdown/dr-dropdown-item-show.pipe.mjs +0 -16
  269. package/esm2022/lib/dr-dropdown/dr-dropdown-position.directive.mjs +0 -108
  270. package/esm2022/lib/dr-dropdown/dr-dropdown.component.mjs +0 -124
  271. package/esm2022/lib/dr-dropdown/dr-dropdown.directive.mjs +0 -125
  272. package/esm2022/lib/dr-dropdown/dr-dropdown.module.mjs +0 -49
  273. package/esm2022/lib/dr-dropdown/dr-dropdown.service.mjs +0 -26
  274. package/esm2022/lib/dr-dynamic-tag/dr-dynamic-tag.component.mjs +0 -119
  275. package/esm2022/lib/dr-dynamic-tag/dr-dynamic-tag.module.mjs +0 -28
  276. package/esm2022/lib/dr-error/dr-error.component.mjs +0 -69
  277. package/esm2022/lib/dr-error/dr-error.module.mjs +0 -31
  278. package/esm2022/lib/dr-inputs/button/button.component.mjs +0 -70
  279. package/esm2022/lib/dr-inputs/checkbox/checkbox.component.mjs +0 -67
  280. package/esm2022/lib/dr-inputs/date-pickers/directives/dr-date-picker-format.directive.mjs +0 -67
  281. package/esm2022/lib/dr-inputs/date-pickers/dr-date-picker/dr-date-picker.component.mjs +0 -233
  282. package/esm2022/lib/dr-inputs/date-pickers/dr-date-picker-with-timeframe/dr-date-picker-with-timeframe.component.mjs +0 -194
  283. package/esm2022/lib/dr-inputs/date-pickers/dr-date-picker_custom-header/dr-date-picker_custom-header.component.mjs +0 -194
  284. package/esm2022/lib/dr-inputs/date-pickers/dr-show-timeframe.pipe.mjs +0 -16
  285. package/esm2022/lib/dr-inputs/date-pickers/services/dr-date-picker.service.mjs +0 -196
  286. package/esm2022/lib/dr-inputs/dr-input/dr-input.component.mjs +0 -232
  287. package/esm2022/lib/dr-inputs/dr-inputs.module.mjs +0 -108
  288. package/esm2022/lib/dr-inputs/dr-model-debounce-change.directive.mjs +0 -32
  289. package/esm2022/lib/dr-inputs/dr-select/dr-select.component.mjs +0 -182
  290. package/esm2022/lib/dr-inputs/dr-select-add-item/dr-select-add-item.component.mjs +0 -82
  291. package/esm2022/lib/dr-inputs/dr-toggle/dr-toggle.component.mjs +0 -77
  292. package/esm2022/lib/dr-inputs/dr-toggle-button/dr-toggle-button.component.mjs +0 -69
  293. package/esm2022/lib/dr-inputs/radio-button/radio-button.component.mjs +0 -82
  294. package/esm2022/lib/dr-inputs/radio-button/radio-group.component.mjs +0 -180
  295. package/esm2022/lib/dr-layout/dr-layout-body.component.mjs +0 -16
  296. package/esm2022/lib/dr-layout/dr-layout-header.component.mjs +0 -24
  297. package/esm2022/lib/dr-layout/dr-layout.component.mjs +0 -13
  298. package/esm2022/lib/dr-layout/dr-layout.module.mjs +0 -29
  299. package/esm2022/lib/dr-popover/dr-popover-ref.mjs +0 -23
  300. package/esm2022/lib/dr-popover/dr-popover.component.mjs +0 -141
  301. package/esm2022/lib/dr-popover/dr-popover.directive.mjs +0 -115
  302. package/esm2022/lib/dr-popover/dr-popover.module.mjs +0 -30
  303. package/esm2022/lib/dr-popover/dr-popover.service.mjs +0 -110
  304. package/esm2022/lib/dr-scenario/components/dr-scenario-configuration/dr-scenario-configuration.component.mjs +0 -110
  305. package/esm2022/lib/dr-scenario/components/dr-scenario-tag-configuration/dr-scenario-tag-configuration.component.mjs +0 -85
  306. package/esm2022/lib/dr-scenario/consts/scenario-tags-config.mjs +0 -81
  307. package/esm2022/lib/dr-scenario/dr-scenario.module.mjs +0 -41
  308. package/esm2022/lib/dr-scenario/services/scenario.service.mjs +0 -166
  309. package/esm2022/lib/dr-spinner/dr-spinner.component.mjs +0 -18
  310. package/esm2022/lib/dr-spinner/dr-spinner.directive.mjs +0 -66
  311. package/esm2022/lib/dr-spinner/dr-spinner.module.mjs +0 -23
  312. package/esm2022/lib/dr-tabs/dr-tab.component.mjs +0 -42
  313. package/esm2022/lib/dr-tabs/dr-tabs.component.mjs +0 -51
  314. package/esm2022/lib/dr-tabs/dr-tabs.module.mjs +0 -49
  315. package/esm2022/lib/dr-tags/dr-tag.component.mjs +0 -201
  316. package/esm2022/lib/dr-tags/dr-tag.module.mjs +0 -35
  317. package/esm2022/lib/dr-tooltip/components/tooltip-info/tooltip-info.component.mjs +0 -20
  318. package/esm2022/lib/dr-tooltip/components/tooltip-info-simple/tooltip-info-simple.component.mjs +0 -17
  319. package/esm2022/lib/dr-tooltip/components/tooltip-no-body/tooltip-no-body.component.mjs +0 -19
  320. package/esm2022/lib/dr-tooltip/components/tooltip-process-default/tooltip-process-default.component.mjs +0 -20
  321. package/esm2022/lib/dr-tooltip/dr-tooltip.component.mjs +0 -53
  322. package/esm2022/lib/dr-tooltip/dr-tooltip.directive.mjs +0 -165
  323. package/esm2022/lib/dr-tooltip/dr-tooltip.module.mjs +0 -48
  324. package/esm2022/lib/dr-treeview/components/treeview/treeview.component.mjs +0 -224
  325. package/esm2022/lib/dr-treeview/components/treeview-item/treeview-item.component.mjs +0 -62
  326. package/esm2022/lib/dr-treeview/dr-tree-view.module.mjs +0 -48
  327. package/esm2022/lib/dr-treeview/helpers/treeview-event-parser.mjs +0 -103
  328. package/esm2022/lib/dr-treeview/models/treeview-config.mjs +0 -23
  329. package/esm2022/lib/dr-treeview/models/treeview-i18n.mjs +0 -47
  330. package/esm2022/lib/dr-treeview/models/treeview-item.mjs +0 -158
  331. package/esm2022/lib/dr-treeview/pipes/treeview.pipe.mjs +0 -21
  332. package/esm2022/lib/list-tags/list-tag.component.mjs +0 -45
  333. package/esm2022/lib/list-tags/list-tag.module.mjs +0 -34
  334. package/esm2022/lib/models/chat.mjs +0 -49
  335. package/esm2022/lib/models/datePicker.mjs +0 -71
  336. package/esm2022/lib/models/popover.mjs +0 -27
  337. package/esm2022/lib/stepper/stepper.component.mjs +0 -66
  338. package/esm2022/lib/stepper/stepper.module.mjs +0 -24
  339. package/esm2022/public-api.mjs +0 -120
  340. package/fesm2022/datarailsshared-datarailsshared.mjs +0 -7879
  341. package/fesm2022/datarailsshared-datarailsshared.mjs.map +0 -1
  342. package/index.d.ts +0 -5
  343. package/lib/date-tags/any-tag.component.d.ts +0 -20
  344. package/lib/directives/click-outside/click-outside.directive.d.ts +0 -23
  345. package/lib/directives/click-outside/click-outside.module.d.ts +0 -8
  346. /package/{esm2022/lib/dr-inputs/dr-toggle-button/toggle-button-mode.mjs → esm2015/lib/dr-inputs/dr-toggle-button/toggle-button-mode.js} +0 -0
  347. /package/{esm2022/lib/dr-scenario/interfaces/scenario.mjs → esm2015/lib/dr-scenario/interfaces/scenario.js} +0 -0
  348. /package/{esm2022/lib/dr-tooltip/enums/tooltip-position.enum.mjs → esm2015/lib/dr-tooltip/enums/tooltip-position.enum.js} +0 -0
  349. /package/{esm2022/lib/dr-tooltip/interfaces/tooltip-component-context.mjs → esm2015/lib/dr-tooltip/interfaces/tooltip-component-context.js} +0 -0
  350. /package/{esm2022/lib/dr-treeview/helpers/treeview-helper.mjs → esm2015/lib/dr-treeview/helpers/treeview-helper.js} +0 -0
  351. /package/{esm2022/lib/dr-treeview/models/treeview-header-template-context.mjs → esm2015/lib/dr-treeview/models/treeview-header-template-context.js} +0 -0
  352. /package/{esm2022/lib/dr-treeview/models/treeview-item-template-context.mjs → esm2015/lib/dr-treeview/models/treeview-item-template-context.js} +0 -0
  353. /package/{esm2022/lib/models/badgeStatus.mjs → esm2015/lib/models/badgeStatus.js} +0 -0
  354. /package/{esm2022/lib/models/constants.mjs → esm2015/lib/models/constants.js} +0 -0
  355. /package/{esm2022/lib/models/dropdown.mjs → esm2015/lib/models/dropdown.js} +0 -0
  356. /package/{esm2022/lib/models/serverTags.mjs → esm2015/lib/models/serverTags.js} +0 -0
  357. /package/{esm2022/lib/models/spinnerOptions.mjs → esm2015/lib/models/spinnerOptions.js} +0 -0
  358. /package/{esm2022/lib/models/validationError.mjs → esm2015/lib/models/validationError.js} +0 -0
  359. /package/{esm2022/lib/stepper/interfaces/stepper.mjs → esm2015/lib/stepper/interfaces/stepper.js} +0 -0
  360. /package/{esm2022/lib/utils/dr-shared-utils.mjs → esm2015/lib/utils/dr-shared-utils.js} +0 -0
@@ -1,194 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, Inject } from "@angular/core";
2
- import { Subject } from 'rxjs';
3
- import { takeUntil } from 'rxjs/operators';
4
- import { MAT_DATE_FORMATS } from '@angular/material/core';
5
- import { CalendarView, TimeframeOption } from '../../../models/datePicker';
6
- import { DrDatePickerService } from '../services/dr-date-picker.service';
7
- import { PRESET_TAGS_LIST } from "../../../models/constants";
8
- import * as moment from 'moment';
9
- import * as i0 from "@angular/core";
10
- import * as i1 from "@angular/material/datepicker";
11
- import * as i2 from "@angular/material/core";
12
- import * as i3 from "../services/dr-date-picker.service";
13
- import * as i4 from "@angular/forms";
14
- import * as i5 from "@angular/common";
15
- import * as i6 from "../../../dr-tooltip/dr-tooltip.directive";
16
- import * as i7 from "../../dr-select/dr-select.component";
17
- import * as i8 from "../dr-show-timeframe.pipe";
18
- import * as i9 from "../../../models/datePicker";
19
- export class DrDatePickerCustomHeaderComponent {
20
- _calendar;
21
- _dateAdapter;
22
- _dateFormats;
23
- cdr;
24
- datePickerService;
25
- _destroyed = new Subject();
26
- quarters = [1, 2, 3, 4];
27
- selectedQuarter = 1;
28
- timeframeOptions = [{
29
- timeframe: TimeframeOption.DAY,
30
- title: 'Day12313',
31
- value: CalendarView.FOR_DAYS,
32
- format: this.datePickerService.formatConfig.day,
33
- periodLabel: () => this._dateAdapter.format(this._calendar.activeDate, this._dateFormats.display.monthYearLabel).toLocaleUpperCase()
34
- }, {
35
- timeframe: TimeframeOption.WEEK,
36
- title: 'Week',
37
- value: CalendarView.FOR_DAYS,
38
- format: this.datePickerService.formatConfig.week,
39
- periodLabel: () => this._dateAdapter.format(this._calendar.activeDate, this._dateFormats.display.monthYearLabel).toLocaleUpperCase()
40
- }, {
41
- timeframe: TimeframeOption.MONTH,
42
- title: 'Month',
43
- value: CalendarView.FOR_MONTHS,
44
- format: this.datePickerService.formatConfig.month,
45
- periodLabel: () => String(moment(this._calendar.activeDate).utc().year())
46
- }, {
47
- timeframe: TimeframeOption.QUARTER,
48
- title: 'Quarter',
49
- value: CalendarView.FOR_QUARTERS,
50
- format: this.datePickerService.formatConfig.quarter,
51
- periodLabel: () => String(moment(this.datePickerService.subtractFiscalYearMonthsFromDate(this._calendar.activeDate)).utc().year())
52
- }, {
53
- timeframe: TimeframeOption.YEAR,
54
- title: 'Year',
55
- value: CalendarView.FOR_YEARS,
56
- format: this.datePickerService.formatConfig.year,
57
- periodLabel: () => {
58
- const currentYear = moment(this.datePickerService.subtractFiscalYearMonthsFromDate(this._calendar.activeDate)).utc().year();
59
- const startPeriod = Math.floor(currentYear / 24) * 24;
60
- return startPeriod + '-' + (startPeriod + 23);
61
- }
62
- }];
63
- pagingSetup = {
64
- [CalendarView.FOR_MONTHS]: (forward) => this.pagingDateChange('addCalendarYears', 1, forward),
65
- [CalendarView.FOR_QUARTERS]: (forward) => this.pagingDateChange('addCalendarYears', 1, forward),
66
- [CalendarView.FOR_DAYS]: (forward) => this.pagingDateChange('addCalendarMonths', 1, forward),
67
- [CalendarView.FOR_YEARS]: (forward) => this.pagingDateChange('addCalendarYears', 24, forward)
68
- };
69
- selectedTimeframe = CalendarView.FOR_DAYS;
70
- timeframeSelection = false;
71
- periodMonthLabel = '';
72
- periodYearLabel = '';
73
- presetTagList = PRESET_TAGS_LIST;
74
- get selectedPresetTag() {
75
- return this.datePickerService.presetTag$.getValue();
76
- }
77
- ;
78
- calendarView = CalendarView;
79
- constructor(_calendar, _dateAdapter, _dateFormats, cdr, datePickerService) {
80
- this._calendar = _calendar;
81
- this._dateAdapter = _dateAdapter;
82
- this._dateFormats = _dateFormats;
83
- this.cdr = cdr;
84
- this.datePickerService = datePickerService;
85
- _calendar.stateChanges.pipe(takeUntil(this._destroyed)).subscribe(() => this.setPeriodLabels());
86
- this.datePickerService.format$.pipe(takeUntil(this._destroyed)).subscribe(value => {
87
- this.selectedTimeframe = this.timeframeOptions.filter(option => option.format === value)[0].value;
88
- _calendar.currentView = this.selectedTimeframe;
89
- this.setPeriodLabels();
90
- if (this.selectedTimeframe === CalendarView.FOR_QUARTERS) {
91
- this.selectedQuarter = this.datePickerService.getQuarterAccordingToFiscalYear(this._calendar.activeDate);
92
- }
93
- });
94
- _calendar.viewChanged.pipe(takeUntil(this._destroyed)).subscribe(() => {
95
- this.setPeriodLabels();
96
- if (_calendar.multiYearView) {
97
- this.transformDateInMultiyearViewAccordingToFY();
98
- }
99
- });
100
- _calendar._userSelection.subscribe(date => {
101
- if (!this.datePickerService.isValueUpdating) {
102
- this.datePickerService.onSameDaySelectedInCalendar$.next(date.value);
103
- }
104
- });
105
- this.datePickerService.calendarInstance = _calendar;
106
- }
107
- ngOnInit() {
108
- setTimeout(() => {
109
- if (this._calendar.multiYearView) {
110
- this.transformDateInMultiyearViewAccordingToFY();
111
- }
112
- });
113
- }
114
- ngOnDestroy() {
115
- this._destroyed.next();
116
- this._destroyed.complete();
117
- }
118
- setPeriodLabels() {
119
- const currentTimeframeOption = this.timeframeOptions.filter(option => option.value === this._calendar.currentView)[0];
120
- const fullPeriodLabel = currentTimeframeOption.periodLabel();
121
- if (this._calendar.currentView === CalendarView.FOR_DAYS) {
122
- this.periodMonthLabel = fullPeriodLabel.slice(0, 3);
123
- this.periodYearLabel = fullPeriodLabel.slice(4);
124
- }
125
- else {
126
- this.periodMonthLabel = '';
127
- this.periodYearLabel = fullPeriodLabel;
128
- }
129
- this.cdr.markForCheck();
130
- }
131
- setTimeframe(value) {
132
- if (value !== this.selectedTimeframe) {
133
- this.datePickerService.resetPresetTag();
134
- }
135
- this.selectedTimeframe = value;
136
- this.timeframeSelection = false;
137
- this._calendar.currentView = this.selectedTimeframe;
138
- const chosenTimeframeOption = this.timeframeOptions.filter(option => option.value === this.selectedTimeframe)[0];
139
- this.datePickerService.updateTimeframeAndFormat(chosenTimeframeOption.format);
140
- if (this.selectedTimeframe === CalendarView.FOR_QUARTERS) {
141
- this.selectedQuarter = this.datePickerService.getQuarterAccordingToFiscalYear(this._calendar.activeDate);
142
- }
143
- }
144
- get currentViewIsQuarter() {
145
- return ![CalendarView.FOR_DAYS, CalendarView.FOR_MONTHS, CalendarView.FOR_YEARS].includes(this._calendar.currentView);
146
- }
147
- switchViewOnClickOnPeriodLabel(view) {
148
- this._calendar.currentView = view;
149
- }
150
- onSelectQuarter(quarterNumber) {
151
- this.selectedQuarter = quarterNumber;
152
- this.datePickerService.setEndOfQuarter(this._calendar.activeDate, quarterNumber);
153
- this.datePickerService.updatedQuarter$.next(this._calendar.activeDate);
154
- this.datePickerService.datePickerInstance.close();
155
- }
156
- pagingClicked(forward) {
157
- if (this.pagingSetup[this._calendar.currentView]) {
158
- this.pagingSetup[this._calendar.currentView](forward);
159
- }
160
- }
161
- pagingDateChange(actionCall, amount, forward) {
162
- this._calendar.activeDate = this._dateAdapter[actionCall](this._calendar.activeDate, forward ? amount : -amount);
163
- this.setPeriodLabels();
164
- }
165
- transformDateInMultiyearViewAccordingToFY() {
166
- const multuYearView = this._calendar.multiYearView;
167
- multuYearView._activeDate = this.datePickerService.subtractFiscalYearMonthsFromDate(multuYearView._activeDate);
168
- multuYearView._selectedYear = multuYearView._activeDate.year();
169
- multuYearView._init();
170
- }
171
- onSelectPresetTag(tag) {
172
- if (tag.key === this.selectedPresetTag) {
173
- this.datePickerService.presetTag$.next(null);
174
- }
175
- else {
176
- this.datePickerService.presetTag$.next(tag.key);
177
- }
178
- this.datePickerService.updateDatePickerByPreset(this.selectedPresetTag, this._calendar);
179
- }
180
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DrDatePickerCustomHeaderComponent, deps: [{ token: i1.MatCalendar }, { token: i2.DateAdapter }, { token: MAT_DATE_FORMATS }, { token: i0.ChangeDetectorRef }, { token: i3.DrDatePickerService }], target: i0.ɵɵFactoryTarget.Component });
181
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.5", type: DrDatePickerCustomHeaderComponent, selector: "dr-date-picker_custom-header.component", providers: [
182
- { provide: DrDatePickerService }
183
- ], ngImport: i0, template: "<div *ngIf=\"datePickerService.isTimeframeSelectionEnabled\" class=\"dr-datepicker__timeframe-select__wrapper\">\n\n <div *ngIf=\"datePickerService.isUsingDateTagPresets\" class=\"dr-datepicker-preset-date\">\n <div class=\"dr-datepicker-preset-date__tags\">\n <div *ngFor=\"let tag of presetTagList\" \n id=\"preset_tag\" \n class=\"dr-datepicker-preset-date__tags__tag\" \n (click)=\"onSelectPresetTag(tag)\" \n [ngClass]=\"{'dr-datepicker-preset-date__tags__tag--selected': tag.key === selectedPresetTag}\"\n [drTooltip]=\"selectedPresetTag === tag.key? 'Unselect preset' : ''\"\n [drTooltipPosition]=\"'top'\">\n {{ tag.label }}\n </div>\n </div>\n </div>\n <dr-select\n class=\"dr-datepicker__timeframe-select\"\n [ngModel]=\"selectedTimeframe\"\n [items]=\"timeframeOptions | drShowTimeframePipe: datePickerService.availableTimeframes\"\n bindLabel=\"title\"\n bindValue=\"value\"\n (ngModelChange)=\"setTimeframe($event)\">\n </dr-select>\n</div>\n\n<div class=\"dr-date-paging\">\n <div class=\"dr-date-paging flip-page-button\"\n (click)=\"pagingClicked(false)\">\n <i class=\"dr-icon-arrow-left presentation_buttons-navigate_input\"></i>\n </div>\n <span class=\"example-header-label\">\n <span (click)=\"switchViewOnClickOnPeriodLabel(calendarView.FOR_MONTHS)\">{{ periodMonthLabel + ' ' }}</span>\n <span (click)=\"switchViewOnClickOnPeriodLabel(calendarView.FOR_YEARS)\">{{ periodYearLabel }}</span>\n </span>\n <div class=\"dr-date-paging flip-page-button\"\n (click)=\"pagingClicked(true)\">\n <i class=\"dr-icon-arrow-right presentation_buttons-navigate_input\"></i>\n </div>\n</div>\n<div #quarterlyDatePicker class=\"dr-quarterly-datepicker\" *ngIf=\"currentViewIsQuarter\">\n <div *ngFor=\"let quarter of quarters\"\n class=\"quarter-selector\" (click)=\"onSelectQuarter(quarter)\"\n [class]=\"quarter === selectedQuarter ? 'selected' : ''\"\n >Q{{quarter}}</div>\n</div>\n\n", styles: [":host{height:54px;align-items:center;font-family:Poppins;font-style:normal;font-weight:600;font-size:14px;line-height:22px}.dr-datepicker__timeframe-select__wrapper{background-color:#f9faff;padding:16px 32px;border-radius:18px 18px 0 0}.dr-datepicker-preset-date{display:flex;flex-direction:column}.dr-datepicker-preset-date__tags{display:flex;padding-bottom:21px;padding-top:10px;font-size:12px}.dr-datepicker-preset-date__tags__tag{cursor:pointer;font-weight:400;line-height:20px!important;padding:2px 8px;border:1px solid #9EA1AA;border-radius:18px;background:#FFFFFF;margin-right:4px}.dr-datepicker-preset-date__tags__tag--selected{color:#4646ce;background:#F2F2FB;border:1px solid #4646CE}.dr-date-paging{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:16px 32px;gap:4px}.dr-date-paging.flip-page-button{width:20px;height:20px;padding:0;color:#4e566c}.dr-date-paging.flip-page-button:hover{border-radius:50%;background:#f2f2fb;color:#4646ce}.example-header-label{cursor:pointer}.dr-quarterly-datepicker{display:flex;justify-content:space-between;padding:10px}.dr-quarterly-datepicker .quarter-selector{display:block;width:74px;height:40px;text-align:center;border-radius:40px;font-weight:400;padding-top:9px}.dr-quarterly-datepicker .quarter-selector:hover{background:#f2f2fb;color:#4646ce;font-weight:600;cursor:pointer}.dr-quarterly-datepicker .quarter-selector.selected{background-color:#4646ce;color:#f3f7ff;font-weight:600}\n"], dependencies: [{ kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.DrTooltipDirective, selector: "[drTooltip]", inputs: ["drTooltip", "drTooltipContext", "drTooltipPosition", "drTooltipClass", "drTooltipMousleaveTimeout", "drTooltipOptions", "drTooltipShow"] }, { kind: "component", type: i7.DrSelectComponent, selector: "dr-select", inputs: ["className", "items", "addTag", "appendTo", "bindLabel", "bindValue", "clearable", "searchable", "searchFn", "multiple", "hideSelected", "placeholder", "loading", "readonly", "disabled", "groupBy", "optionWithDescription", "id", "keyDownFn", "selectedItem", "dropdownClass", "closeOnSelect", "textView", "autofocus", "isOpen"], outputs: ["change", "open"] }, { kind: "pipe", type: i8.DrShowTimeframePipe, name: "drShowTimeframePipe" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
184
- }
185
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DrDatePickerCustomHeaderComponent, decorators: [{
186
- type: Component,
187
- args: [{ selector: 'dr-date-picker_custom-header.component', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
188
- { provide: DrDatePickerService }
189
- ], template: "<div *ngIf=\"datePickerService.isTimeframeSelectionEnabled\" class=\"dr-datepicker__timeframe-select__wrapper\">\n\n <div *ngIf=\"datePickerService.isUsingDateTagPresets\" class=\"dr-datepicker-preset-date\">\n <div class=\"dr-datepicker-preset-date__tags\">\n <div *ngFor=\"let tag of presetTagList\" \n id=\"preset_tag\" \n class=\"dr-datepicker-preset-date__tags__tag\" \n (click)=\"onSelectPresetTag(tag)\" \n [ngClass]=\"{'dr-datepicker-preset-date__tags__tag--selected': tag.key === selectedPresetTag}\"\n [drTooltip]=\"selectedPresetTag === tag.key? 'Unselect preset' : ''\"\n [drTooltipPosition]=\"'top'\">\n {{ tag.label }}\n </div>\n </div>\n </div>\n <dr-select\n class=\"dr-datepicker__timeframe-select\"\n [ngModel]=\"selectedTimeframe\"\n [items]=\"timeframeOptions | drShowTimeframePipe: datePickerService.availableTimeframes\"\n bindLabel=\"title\"\n bindValue=\"value\"\n (ngModelChange)=\"setTimeframe($event)\">\n </dr-select>\n</div>\n\n<div class=\"dr-date-paging\">\n <div class=\"dr-date-paging flip-page-button\"\n (click)=\"pagingClicked(false)\">\n <i class=\"dr-icon-arrow-left presentation_buttons-navigate_input\"></i>\n </div>\n <span class=\"example-header-label\">\n <span (click)=\"switchViewOnClickOnPeriodLabel(calendarView.FOR_MONTHS)\">{{ periodMonthLabel + ' ' }}</span>\n <span (click)=\"switchViewOnClickOnPeriodLabel(calendarView.FOR_YEARS)\">{{ periodYearLabel }}</span>\n </span>\n <div class=\"dr-date-paging flip-page-button\"\n (click)=\"pagingClicked(true)\">\n <i class=\"dr-icon-arrow-right presentation_buttons-navigate_input\"></i>\n </div>\n</div>\n<div #quarterlyDatePicker class=\"dr-quarterly-datepicker\" *ngIf=\"currentViewIsQuarter\">\n <div *ngFor=\"let quarter of quarters\"\n class=\"quarter-selector\" (click)=\"onSelectQuarter(quarter)\"\n [class]=\"quarter === selectedQuarter ? 'selected' : ''\"\n >Q{{quarter}}</div>\n</div>\n\n", styles: [":host{height:54px;align-items:center;font-family:Poppins;font-style:normal;font-weight:600;font-size:14px;line-height:22px}.dr-datepicker__timeframe-select__wrapper{background-color:#f9faff;padding:16px 32px;border-radius:18px 18px 0 0}.dr-datepicker-preset-date{display:flex;flex-direction:column}.dr-datepicker-preset-date__tags{display:flex;padding-bottom:21px;padding-top:10px;font-size:12px}.dr-datepicker-preset-date__tags__tag{cursor:pointer;font-weight:400;line-height:20px!important;padding:2px 8px;border:1px solid #9EA1AA;border-radius:18px;background:#FFFFFF;margin-right:4px}.dr-datepicker-preset-date__tags__tag--selected{color:#4646ce;background:#F2F2FB;border:1px solid #4646CE}.dr-date-paging{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:16px 32px;gap:4px}.dr-date-paging.flip-page-button{width:20px;height:20px;padding:0;color:#4e566c}.dr-date-paging.flip-page-button:hover{border-radius:50%;background:#f2f2fb;color:#4646ce}.example-header-label{cursor:pointer}.dr-quarterly-datepicker{display:flex;justify-content:space-between;padding:10px}.dr-quarterly-datepicker .quarter-selector{display:block;width:74px;height:40px;text-align:center;border-radius:40px;font-weight:400;padding-top:9px}.dr-quarterly-datepicker .quarter-selector:hover{background:#f2f2fb;color:#4646ce;font-weight:600;cursor:pointer}.dr-quarterly-datepicker .quarter-selector.selected{background-color:#4646ce;color:#f3f7ff;font-weight:600}\n"] }]
190
- }], ctorParameters: function () { return [{ type: i1.MatCalendar }, { type: i2.DateAdapter }, { type: i9.CustomDateFormat, decorators: [{
191
- type: Inject,
192
- args: [MAT_DATE_FORMATS]
193
- }] }, { type: i0.ChangeDetectorRef }, { type: i3.DrDatePickerService }]; } });
194
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItZGF0ZS1waWNrZXJfY3VzdG9tLWhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1pbnB1dHMvZGF0ZS1waWNrZXJzL2RyLWRhdGUtcGlja2VyX2N1c3RvbS1oZWFkZXIvZHItZGF0ZS1waWNrZXJfY3VzdG9tLWhlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1pbnB1dHMvZGF0ZS1waWNrZXJzL2RyLWRhdGUtcGlja2VyX2N1c3RvbS1oZWFkZXIvZHItZGF0ZS1waWNrZXJfY3VzdG9tLWhlYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQWdDLFNBQVMsRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDakgsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFlLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkUsT0FBTyxFQUFFLFlBQVksRUFBcUQsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUgsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDekUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxLQUFLLE1BQU0sTUFBTSxRQUFRLENBQUM7Ozs7Ozs7Ozs7O0FBWWpDLE1BQU0sT0FBTyxpQ0FBaUM7SUEwRHRCO0lBQ0E7SUFDMEI7SUFDMUI7SUFDRDtJQTdEWCxVQUFVLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUN6QyxRQUFRLEdB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LENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDL0QsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxHQUFRO1FBQ3RCLElBQUksR0FBRyxDQUFDLEdBQUcsS0FBSyxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDbkMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDakQ7YUFBTTtZQUNILElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUNuRDtRQUNELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzVGLENBQUM7dUdBM0tRLGlDQUFpQyx3RUE0RHRCLGdCQUFnQjsyRkE1RDNCLGlDQUFpQyxpRUFML0I7WUFDUCxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRTtTQUNuQywwQkNqQkwsdXBFQThDQTs7MkZEMUJhLGlDQUFpQztrQkFWN0MsU0FBUzsrQkFDSSx3Q0FBd0MsbUJBR2pDLHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1AsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUU7cUJBQ25DOzswQkErRFksTUFBTTsyQkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgT25EZXN0cm95LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbmplY3QsIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBNYXRDYWxlbmRhciwgTWF0Q2FsZW5kYXJWaWV3IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XG5pbXBvcnQgeyBEYXRlQWRhcHRlciwgTUFUX0RBVEVfRk9STUFUUyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgQ2FsZW5kYXJWaWV3LCBDdXN0b21EYXRlRm9ybWF0LCBJVGltZWZyYW1lT3B0aW9uLCBUQ2FsZW5kYXJWaWV3LCBUaW1lZnJhbWVPcHRpb24gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZGF0ZVBpY2tlcic7XG5pbXBvcnQgeyBEckRhdGVQaWNrZXJTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZHItZGF0ZS1waWNrZXIuc2VydmljZSc7XG5pbXBvcnQgeyBQUkVTRVRfVEFHU19MSVNUIH0gZnJvbSBcIi4uLy4uLy4uL21vZGVscy9jb25zdGFudHNcIjtcbmltcG9ydCAqIGFzIG1vbWVudCBmcm9tICdtb21lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2RyLWRhdGUtcGlja2VyX2N1c3RvbS1oZWFkZXIuY29tcG9uZW50JyxcbiAgICB0ZW1wbGF0ZVVybDogJ2RyLWRhdGUtcGlja2VyX2N1c3RvbS1oZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2RyLWRhdGUtcGlja2VyX2N1c3RvbS1oZWFkZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiBEckRhdGVQaWNrZXJTZXJ2aWNlIH1cbiAgICBdLFxufSlcblxuZXhwb3J0IGNsYXNzIERyRGF0ZVBpY2tlckN1c3RvbUhlYWRlckNvbXBvbmVudDxNb21lbnQ+IGltcGxlbWVudHMgT25EZXN0cm95LCBPbkluaXQge1xuICAgIHByaXZhdGUgX2Rlc3Ryb3llZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgcXVhcnRlcnMgPSBbMSwgMiwgMywgNF07XG4gICAgc2VsZWN0ZWRRdWFydGVyID0gMTtcbiAgICB0aW1lZnJhbWVPcHRpb25zOiBJVGltZWZyYW1lT3B0aW9uW10gPSBbe1xuICAgICAgICB0aW1lZnJhbWU6IFRpbWVmcmFtZU9wdGlvbi5EQVksXG4gICAgICAgIHRpdGxlOiAnRGF5MTIzMTMnLFxuICAgICAgICB2YWx1ZTogQ2FsZW5kYXJWaWV3LkZPUl9EQVlTLFxuICAgICAgICBmb3JtYXQ6IHRoaXMuZGF0ZVBpY2tlclNlcnZpY2UuZm9ybWF0Q29uZmlnLmRheSxcbiAgICAgICAgcGVyaW9kTGFiZWw6ICgpID0+IHRoaXMuX2RhdGVBZGFwdGVyLmZvcm1hdCh0aGlzLl9jYWxlbmRhci5hY3RpdmVEYXRlLCB0aGlzLl9kYXRlRm9ybWF0cy5kaXNwbGF5Lm1vbnRoWWVhckxhYmVsKS50b0xvY2FsZVVwcGVyQ2FzZSgpXG4gICAgfSwge1xuICAgICAgICB0aW1lZnJhbWU6IFRpbWVmcmFtZU9wdGlvbi5XRUVLLFxuICAgICAgICB0aXRsZTogJ1dlZWsnLFxuICAgICAgICB2YWx1ZTogQ2FsZW5kYXJWaWV3LkZPUl9EQVlTLFxuICAgICAgICBmb3JtYXQ6IHRoaXMuZGF0ZVBpY2tlclNlcnZpY2UuZm9ybWF0Q29uZmlnLndlZWssXG4gICAgICAgIHBlcmlvZExhYmVsOiAoKSA9PiB0aGlzLl9kYXRlQWRhcHRlci5mb3JtYXQodGhpcy5fY2FsZW5kYXIuYWN0aXZlRGF0ZSwgdGhpcy5fZGF0ZUZvcm1hdHMuZGlzcGxheS5tb250aFllYXJMYWJlbCkudG9Mb2NhbGVVcHBlckNhc2UoKVxuICAgIH0sIHtcbiAgICAgICAgdGltZWZyYW1lOiBUaW1lZnJhbWVPcHRpb24uTU9OVEgsXG4gICAgICAgIHRpdGxlOiAnTW9udGgnLFxuICAgICAgICB2YWx1ZTogQ2FsZW5kYXJWaWV3LkZPUl9NT05USFMsXG4gICAgICAgIGZvcm1hdDogdGhpcy5kYXRlUGlja2VyU2VydmljZS5mb3JtYXRDb25maWcubW9udGgsXG4gICAgICAgIHBlcmlvZExhYmVsOiAoKSA9PiBTdHJpbmcobW9tZW50KHRoaXMuX2NhbGVuZGFyLmFjdGl2ZURhdGUpLnV0YygpLnllYXIoKSlcbiAgICB9LCB7XG4gICAgICAgIHRpbWVmcmFtZTogVGltZWZyYW1lT3B0aW9uLlFVQVJURVIsXG4gICAgICAgIHRpdGxlOiAnUXVhcnRlcicsXG4gICAgICAgIHZhbHVlOiBDYWxlbmRhclZpZXcuRk9SX1FVQVJURVJTLFxuICAgICAgICBmb3JtYXQ6IHRoaXMuZGF0ZVBpY2tlclNlcnZpY2UuZm9ybWF0Q29uZmlnLnF1YXJ0ZXIsXG4gICAgICAgIHBlcmlvZExhYmVsOiAoKSA9PiBTdHJpbmcobW9tZW50KHRoaXMuZGF0ZVBpY2tlclNlcnZpY2Uuc3VidHJhY3RGaXNjYWxZZWFyTW9udGhzRnJvbURhdGUodGhpcy5fY2FsZW5kYXIuYWN0aXZlRGF0ZSkpLnV0YygpLnllYXIoKSlcbiAgICB9LCB7XG4gICAgICAgIHRpbWVmcmFtZTogVGltZWZyYW1lT3B0aW9uLllFQVIsXG4gICAgICAgIHRpdGxlOiAnWWVhcicsXG4gICAgICAgIHZhbHVlOiBDYWxlbmRhclZpZXcuRk9SX1lFQVJTLFxuICAgICAgICBmb3JtYXQ6IHRoaXMuZGF0ZVBpY2tlclNlcnZpY2UuZm9ybWF0Q29uZmlnLnllYXIsXG4gICAgICAgIHBlcmlvZExhYmVsOiAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjdXJyZW50WWVhciA9IG1vbWVudCh0aGlzLmRhdGVQaWNrZXJTZXJ2aWNlLnN1YnRyYWN0RmlzY2FsWWVhck1vbnRoc0Zyb21EYXRlKHRoaXMuX2NhbGVuZGFyLmFjdGl2ZURhdGUpKS51dGMoKS55ZWFyKCk7XG4gICAgICAgICAgICBjb25zdCBzdGFydFBlcmlvZCA9IE1hdGguZmxvb3IoY3VycmVudFllYXIgLyAyNCkgKiAyNDtcbiAgICAgICAgICAgIHJldHVybiBzdGFydFBlcmlvZCArICctJyArIChzdGFydFBlcmlvZCArIDIzKTtcbiAgICAgICAgfVxuICAgIH1dO1xuXG4gICAgcGFnaW5nU2V0dXAgPSB7XG4gICAgICAgIFtDYWxlbmRhclZpZXcuRk9SX01PTlRIU106IChmb3J3YXJkKSA9PiB0aGlzLnBhZ2luZ0RhdGVDaGFuZ2UoJ2FkZENhbGVuZGFyWWVhcnMnLCAxLCBmb3J3YXJkKSxcbiAgICAgICAgW0NhbGVuZGFyVmlldy5GT1JfUVVBUlRFUlNdOiAoZm9yd2FyZCkgPT4gdGhpcy5wYWdpbmdEYXRlQ2hhbmdlKCdhZGRDYWxlbmRhclllYXJzJywgMSwgZm9yd2FyZCksXG4gICAgICAgIFtDYWxlbmRhclZpZXcuRk9SX0RBWVNdOiAoZm9yd2FyZCkgPT4gdGhpcy5wYWdpbmdEYXRlQ2hhbmdlKCdhZGRDYWxlbmRhck1vbnRocycsIDEsIGZvcndhcmQpLFxuICAgICAgICBbQ2FsZW5kYXJWaWV3LkZPUl9ZRUFSU106IChmb3J3YXJkKSA9PiB0aGlzLnBhZ2luZ0RhdGVDaGFuZ2UoJ2FkZENhbGVuZGFyWWVhcnMnLCAyNCwgZm9yd2FyZClcbiAgICB9O1xuXG4gICAgc2VsZWN0ZWRUaW1lZnJhbWU6IFRDYWxlbmRhclZpZXcgPSBDYWxlbmRhclZpZXcuRk9SX0RBWVM7XG4gICAgdGltZWZyYW1lU2VsZWN0aW9uID0gZmFsc2U7XG4gICAgcGVyaW9kTW9udGhMYWJlbCA9ICcnO1xuICAgIHBlcmlvZFllYXJMYWJlbCA9ICcnO1xuICAgIHByZXNldFRhZ0xpc3QgPSBQUkVTRVRfVEFHU19MSVNUO1xuICAgIGdldCBzZWxlY3RlZFByZXNldFRhZygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0ZVBpY2tlclNlcnZpY2UucHJlc2V0VGFnJC5nZXRWYWx1ZSgpO1xuICAgIH07XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgY2FsZW5kYXJWaWV3ID0gQ2FsZW5kYXJWaWV3O1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfY2FsZW5kYXI6IE1hdENhbGVuZGFyPGFueT4sXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBfZGF0ZUFkYXB0ZXI6IERhdGVBZGFwdGVyPE1vbWVudD4sXG4gICAgICAgICAgICAgICAgQEluamVjdChNQVRfREFURV9GT1JNQVRTKSBwcml2YXRlIF9kYXRlRm9ybWF0czogQ3VzdG9tRGF0ZUZvcm1hdCxcbiAgICAgICAgICAgICAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgICAgICAgICAgcHVibGljIGRhdGVQaWNrZXJTZXJ2aWNlOiBEckRhdGVQaWNrZXJTZXJ2aWNlKSB7XG5cbiAgICAgICAgX2NhbGVuZGFyLnN0YXRlQ2hhbmdlcy5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95ZWQpKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5zZXRQZXJpb2RMYWJlbHMoKSk7XG4gICAgICAgIHRoaXMuZGF0ZVBpY2tlclNlcnZpY2UuZm9ybWF0JC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95ZWQpKS5zdWJzY3JpYmUodmFsdWUgPT4ge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFRpbWVmcmFtZSA9IHRoaXMudGltZWZyYW1lT3B0aW9ucy5maWx0ZXIob3B0aW9uID0+IG9wdGlvbi5mb3JtYXQgPT09IHZhbHVlKVswXS52YWx1ZTtcbiAgICAgICAgICAgIF9jYWxlbmRhci5jdXJyZW50VmlldyA9IHRoaXMuc2VsZWN0ZWRUaW1lZnJhbWUgYXMgTWF0Q2FsZW5kYXJWaWV3O1xuICAgICAgICAgICAgdGhpcy5zZXRQZXJpb2RMYWJlbHMoKTtcbiAgICAgICAgICAgIGlmICh0aGlzLnNlbGVjdGVkVGltZWZyYW1lID09PSBDYWxlbmRhclZpZXcuRk9SX1FVQVJURVJTKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFF1YXJ0ZXIgPSB0aGlzLmRhdGVQaWNrZXJTZXJ2aWNlLmdldFF1YXJ0ZXJBY2NvcmRpbmdUb0Zpc2NhbFllYXIodGhpcy5fY2FsZW5kYXIuYWN0aXZlRGF0ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIF9jYWxlbmRhci52aWV3Q2hhbmdlZC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95ZWQpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zZXRQZXJpb2RMYWJlbHMoKTtcbiAgICAgICAgICAgIGlmIChfY2FsZW5kYXIubXVsdGlZZWFyVmlldykge1xuICAgICAgICAgICAgICAgIHRoaXMudHJhbnNmb3JtRGF0ZUluTXVsdGl5ZWFyVmlld0FjY29yZGluZ1RvRlkoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgX2NhbGVuZGFyLl91c2VyU2VsZWN0aW9uLnN1YnNjcmliZShkYXRlID0+IHtcbiAgICAgICAgICAgIGlmICghdGhpcy5kYXRlUGlja2VyU2VydmljZS5pc1ZhbHVlVXBkYXRpbmcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRhdGVQaWNrZXJTZXJ2aWNlLm9uU2FtZURheVNlbGVjdGVkSW5DYWxlbmRhciQubmV4dChkYXRlLnZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5kYXRlUGlja2VyU2VydmljZS5jYWxlbmRhckluc3RhbmNlID0gX2NhbGVuZGFyO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLl9jYWxlbmRhci5tdWx0aVllYXJWaWV3KSB7XG4gICAgICAgICAgICAgICAgdGhpcy50cmFuc2Zvcm1EYXRlSW5NdWx0aXllYXJWaWV3QWNjb3JkaW5nVG9GWSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5fZGVzdHJveWVkLm5leHQoKTtcbiAgICAgICAgdGhpcy5fZGVzdHJveWVkLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgc2V0UGVyaW9kTGFiZWxzKCkge1xuICAgICAgICBjb25zdCBjdXJyZW50VGltZWZyYW1lT3B0aW9uID0gdGhpcy50aW1lZnJhbWVPcHRpb25zLmZpbHRlcihvcHRpb24gPT4gb3B0aW9uLnZhbHVlID09PSB0aGlzLl9jYWxlbmRhci5jdXJyZW50VmlldylbMF07XG4gICAgICAgIGNvbnN0IGZ1bGxQZXJpb2RMYWJlbCA9IGN1cnJlbnRUaW1lZnJhbWVPcHRpb24ucGVyaW9kTGFiZWwoKTtcbiAgICAgICAgaWYgKHRoaXMuX2NhbGVuZGFyLmN1cnJlbnRWaWV3ID09PSBDYWxlbmRhclZpZXcuRk9SX0RBWVMpIHtcbiAgICAgICAgICAgIHRoaXMucGVyaW9kTW9udGhMYWJlbCA9IGZ1bGxQZXJpb2RMYWJlbC5zbGljZSgwLCAzKTtcbiAgICAgICAgICAgIHRoaXMucGVyaW9kWWVhckxhYmVsID0gZnVsbFBlcmlvZExhYmVsLnNsaWNlKDQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5wZXJpb2RNb250aExhYmVsID0gJyc7XG4gICAgICAgICAgICB0aGlzLnBlcmlvZFllYXJMYWJlbCA9IGZ1bGxQZXJpb2RMYWJlbDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICBzZXRUaW1lZnJhbWUodmFsdWUpIHtcbiAgICAgICAgaWYgKHZhbHVlICE9PSB0aGlzLnNlbGVjdGVkVGltZWZyYW1lKSB7XG4gICAgICAgICAgICB0aGlzLmRhdGVQaWNrZXJTZXJ2aWNlLnJlc2V0UHJlc2V0VGFnKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZWxlY3RlZFRpbWVmcmFtZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLnRpbWVmcmFtZVNlbGVjdGlvbiA9IGZhbHNlO1xuICAgICAgICB0aGlzLl9jYWxlbmRhci5jdXJyZW50VmlldyA9IHRoaXMuc2VsZWN0ZWRUaW1lZnJhbWUgYXMgTWF0Q2FsZW5kYXJWaWV3O1xuICAgICAgICBjb25zdCBjaG9zZW5UaW1lZnJhbWVPcHRpb24gPSB0aGlzLnRpbWVmcmFtZU9wdGlvbnMuZmlsdGVyKG9wdGlvbiA9PiBvcHRpb24udmFsdWUgPT09IHRoaXMuc2VsZWN0ZWRUaW1lZnJhbWUpWzBdO1xuICAgICAgICB0aGlzLmRhdGVQaWNrZXJTZXJ2aWNlLnVwZGF0ZVRpbWVmcmFtZUFuZEZvcm1hdChjaG9zZW5UaW1lZnJhbWVPcHRpb24uZm9ybWF0KTtcblxuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZFRpbWVmcmFtZSA9PT0gQ2FsZW5kYXJWaWV3LkZPUl9RVUFSVEVSUykge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFF1YXJ0ZXIgPSB0aGlzLmRhdGVQaWNrZXJTZXJ2aWNlLmdldFF1YXJ0ZXJBY2NvcmRpbmdUb0Zpc2NhbFllYXIodGhpcy5fY2FsZW5kYXIuYWN0aXZlRGF0ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXQgY3VycmVudFZpZXdJc1F1YXJ0ZXIoKSB7XG4gICAgICAgIHJldHVybiAhW0NhbGVuZGFyVmlldy5GT1JfREFZUywgQ2FsZW5kYXJWaWV3LkZPUl9NT05USFMsIENhbGVuZGFyVmlldy5GT1JfWUVBUlNdLmluY2x1ZGVzKHRoaXMuX2NhbGVuZGFyLmN1cnJlbnRWaWV3IGFzIENhbGVuZGFyVmlldyk7XG4gICAgfVxuXG4gICAgc3dpdGNoVmlld09uQ2xpY2tPblBlcmlvZExhYmVsKHZpZXc6IENhbGVuZGFyVmlldy5GT1JfTU9OVEhTIHwgQ2FsZW5kYXJWaWV3LkZPUl9ZRUFSUykge1xuICAgICAgICB0aGlzLl9jYWxlbmRhci5jdXJyZW50VmlldyA9IHZpZXc7XG4gICAgfVxuXG4gICAgb25TZWxlY3RRdWFydGVyKHF1YXJ0ZXJOdW1iZXI6IG51bWJlcikge1xuICAgICAgICB0aGlzLnNlbGVjdGVkUXVhcnRlciA9IHF1YXJ0ZXJOdW1iZXI7XG4gICAgICAgIHRoaXMuZGF0ZVBpY2tlclNlcnZpY2Uuc2V0RW5kT2ZRdWFydGVyKHRoaXMuX2NhbGVuZGFyLmFjdGl2ZURhdGUsIHF1YXJ0ZXJOdW1iZXIpO1xuICAgICAgICB0aGlzLmRhdGVQaWNrZXJTZXJ2aWNlLnVwZGF0ZWRRdWFydGVyJC5uZXh0KHRoaXMuX2NhbGVuZGFyLmFjdGl2ZURhdGUpO1xuICAgICAgICB0aGlzLmRhdGVQaWNrZXJTZXJ2aWNlLmRhdGVQaWNrZXJJbnN0YW5jZS5jbG9zZSgpO1xuICAgIH1cblxuICAgIHBhZ2luZ0NsaWNrZWQoZm9yd2FyZCkge1xuICAgICAgICBpZiAodGhpcy5wYWdpbmdTZXR1cFt0aGlzLl9jYWxlbmRhci5jdXJyZW50Vmlld10pIHtcbiAgICAgICAgICAgIHRoaXMucGFnaW5nU2V0dXBbdGhpcy5fY2FsZW5kYXIuY3VycmVudFZpZXddKGZvcndhcmQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcGFnaW5nRGF0ZUNoYW5nZShhY3Rpb25DYWxsOiBzdHJpbmcsIGFtb3VudDogbnVtYmVyLCBmb3J3YXJkOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX2NhbGVuZGFyLmFjdGl2ZURhdGUgPSB0aGlzLl9kYXRlQWRhcHRlclthY3Rpb25DYWxsXSh0aGlzLl9jYWxlbmRhci5hY3RpdmVEYXRlLCBmb3J3YXJkID8gYW1vdW50IDogLWFtb3VudCk7XG4gICAgICAgIHRoaXMuc2V0UGVyaW9kTGFiZWxzKCk7XG4gICAgfVxuXG4gICAgdHJhbnNmb3JtRGF0ZUluTXVsdGl5ZWFyVmlld0FjY29yZGluZ1RvRlkoKSB7XG4gICAgICAgIGNvbnN0IG11bHR1WWVhclZpZXcgPSB0aGlzLl9jYWxlbmRhci5tdWx0aVllYXJWaWV3IGFzIGFueTtcbiAgICAgICAgbXVsdHVZZWFyVmlldy5fYWN0aXZlRGF0ZSA9IHRoaXMuZGF0ZVBpY2tlclNlcnZpY2Uuc3VidHJhY3RGaXNjYWxZZWFyTW9udGhzRnJvbURhdGUobXVsdHVZZWFyVmlldy5fYWN0aXZlRGF0ZSk7XG4gICAgICAgIG11bHR1WWVhclZpZXcuX3NlbGVjdGVkWWVhciA9IG11bHR1WWVhclZpZXcuX2FjdGl2ZURhdGUueWVhcigpO1xuICAgICAgICBtdWx0dVllYXJWaWV3Ll9pbml0KCk7XG4gICAgfVxuXG4gICAgb25TZWxlY3RQcmVzZXRUYWcodGFnOiBhbnkpIHtcbiAgICAgICAgaWYgKHRhZy5rZXkgPT09IHRoaXMuc2VsZWN0ZWRQcmVzZXRUYWcpIHtcbiAgICAgICAgICAgICB0aGlzLmRhdGVQaWNrZXJTZXJ2aWNlLnByZXNldFRhZyQubmV4dChudWxsKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZGF0ZVBpY2tlclNlcnZpY2UucHJlc2V0VGFnJC5uZXh0KHRhZy5rZXkpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZGF0ZVBpY2tlclNlcnZpY2UudXBkYXRlRGF0ZVBpY2tlckJ5UHJlc2V0KHRoaXMuc2VsZWN0ZWRQcmVzZXRUYWcsIHRoaXMuX2NhbGVuZGFyKTtcbiAgICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwiZGF0ZVBpY2tlclNlcnZpY2UuaXNUaW1lZnJhbWVTZWxlY3Rpb25FbmFibGVkXCIgY2xhc3M9XCJkci1kYXRlcGlja2VyX190aW1lZnJhbWUtc2VsZWN0X193cmFwcGVyXCI+XG5cbiAgICA8ZGl2ICpuZ0lmPVwiZGF0ZVBpY2tlclNlcnZpY2UuaXNVc2luZ0RhdGVUYWdQcmVzZXRzXCIgY2xhc3M9XCJkci1kYXRlcGlja2VyLXByZXNldC1kYXRlXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkci1kYXRlcGlja2VyLXByZXNldC1kYXRlX190YWdzXCI+XG4gICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCB0YWcgb2YgcHJlc2V0VGFnTGlzdFwiIFxuICAgICAgICAgICAgICAgIGlkPVwicHJlc2V0X3RhZ1wiIFxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZHItZGF0ZXBpY2tlci1wcmVzZXQtZGF0ZV9fdGFnc19fdGFnXCIgXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uU2VsZWN0UHJlc2V0VGFnKHRhZylcIiBcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2RyLWRhdGVwaWNrZXItcHJlc2V0LWRhdGVfX3RhZ3NfX3RhZy0tc2VsZWN0ZWQnOiB0YWcua2V5ID09PSBzZWxlY3RlZFByZXNldFRhZ31cIlxuICAgICAgICAgICAgICAgIFtkclRvb2x0aXBdPVwic2VsZWN0ZWRQcmVzZXRUYWcgPT09IHRhZy5rZXk/ICdVbnNlbGVjdCBwcmVzZXQnIDogJydcIlxuICAgICAgICAgICAgICAgIFtkclRvb2x0aXBQb3NpdGlvbl09XCIndG9wJ1wiPlxuICAgICAgICAgICAgICAgIHt7IHRhZy5sYWJlbCB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkci1zZWxlY3RcbiAgICAgICAgICAgIGNsYXNzPVwiZHItZGF0ZXBpY2tlcl9fdGltZWZyYW1lLXNlbGVjdFwiXG4gICAgICAgICAgICBbbmdNb2RlbF09XCJzZWxlY3RlZFRpbWVmcmFtZVwiXG4gICAgICAgICAgICBbaXRlbXNdPVwidGltZWZyYW1lT3B0aW9ucyB8IGRyU2hvd1RpbWVmcmFtZVBpcGU6IGRhdGVQaWNrZXJTZXJ2aWNlLmF2YWlsYWJsZVRpbWVmcmFtZXNcIlxuICAgICAgICAgICAgYmluZExhYmVsPVwidGl0bGVcIlxuICAgICAgICAgICAgYmluZFZhbHVlPVwidmFsdWVcIlxuICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwic2V0VGltZWZyYW1lKCRldmVudClcIj5cbiAgICA8L2RyLXNlbGVjdD5cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwiZHItZGF0ZS1wYWdpbmdcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZHItZGF0ZS1wYWdpbmcgZmxpcC1wYWdlLWJ1dHRvblwiXG4gICAgICAgICAoY2xpY2spPVwicGFnaW5nQ2xpY2tlZChmYWxzZSlcIj5cbiAgICAgICAgPGkgY2xhc3M9XCJkci1pY29uLWFycm93LWxlZnQgcHJlc2VudGF0aW9uX2J1dHRvbnMtbmF2aWdhdGVfaW5wdXRcIj48L2k+XG4gICAgPC9kaXY+XG4gICAgPHNwYW4gY2xhc3M9XCJleGFtcGxlLWhlYWRlci1sYWJlbFwiPlxuICAgICAgICA8c3BhbiAoY2xpY2spPVwic3dpdGNoVmlld09uQ2xpY2tPblBlcmlvZExhYmVsKGNhbGVuZGFyVmlldy5GT1JfTU9OVEhTKVwiPnt7IHBlcmlvZE1vbnRoTGFiZWwgKyAnICcgfX08L3NwYW4+XG4gICAgICAgIDxzcGFuIChjbGljayk9XCJzd2l0Y2hWaWV3T25DbGlja09uUGVyaW9kTGFiZWwoY2FsZW5kYXJWaWV3LkZPUl9ZRUFSUylcIj57eyBwZXJpb2RZZWFyTGFiZWwgfX08L3NwYW4+XG4gICAgPC9zcGFuPlxuICAgIDxkaXYgY2xhc3M9XCJkci1kYXRlLXBhZ2luZyBmbGlwLXBhZ2UtYnV0dG9uXCJcbiAgICAgICAgIChjbGljayk9XCJwYWdpbmdDbGlja2VkKHRydWUpXCI+XG4gICAgICAgIDxpIGNsYXNzPVwiZHItaWNvbi1hcnJvdy1yaWdodCBwcmVzZW50YXRpb25fYnV0dG9ucy1uYXZpZ2F0ZV9pbnB1dFwiPjwvaT5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuPGRpdiAjcXVhcnRlcmx5RGF0ZVBpY2tlciBjbGFzcz1cImRyLXF1YXJ0ZXJseS1kYXRlcGlja2VyXCIgKm5nSWY9XCJjdXJyZW50Vmlld0lzUXVhcnRlclwiPlxuICAgIDxkaXYgKm5nRm9yPVwibGV0IHF1YXJ0ZXIgb2YgcXVhcnRlcnNcIlxuICAgICAgICAgY2xhc3M9XCJxdWFydGVyLXNlbGVjdG9yXCIgKGNsaWNrKT1cIm9uU2VsZWN0UXVhcnRlcihxdWFydGVyKVwiXG4gICAgICAgICBbY2xhc3NdPVwicXVhcnRlciA9PT0gc2VsZWN0ZWRRdWFydGVyID8gJ3NlbGVjdGVkJyA6ICcnXCJcbiAgICA+UXt7cXVhcnRlcn19PC9kaXY+XG48L2Rpdj5cblxuIl19
@@ -1,16 +0,0 @@
1
- import { Pipe } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class DrShowTimeframePipe {
4
- transform(arr, showOptions) {
5
- return arr.filter(item => showOptions.includes(item.timeframe));
6
- }
7
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DrShowTimeframePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
8
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.5", ngImport: i0, type: DrShowTimeframePipe, name: "drShowTimeframePipe" });
9
- }
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DrShowTimeframePipe, decorators: [{
11
- type: Pipe,
12
- args: [{
13
- name: 'drShowTimeframePipe'
14
- }]
15
- }] });
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItc2hvdy10aW1lZnJhbWUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWlucHV0cy9kYXRlLXBpY2tlcnMvZHItc2hvdy10aW1lZnJhbWUucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFNcEQsTUFBTSxPQUFPLG1CQUFtQjtJQUM1QixTQUFTLENBQUMsR0FBdUIsRUFBRSxXQUE4QjtRQUM3RCxPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7dUdBSFEsbUJBQW1CO3FHQUFuQixtQkFBbUI7OzJGQUFuQixtQkFBbUI7a0JBSC9CLElBQUk7bUJBQUM7b0JBQ0YsSUFBSSxFQUFFLHFCQUFxQjtpQkFDOUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUaW1lZnJhbWVPcHRpb24sIElUaW1lZnJhbWVPcHRpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvZGF0ZVBpY2tlcic7XG5cbkBQaXBlKHtcbiAgICBuYW1lOiAnZHJTaG93VGltZWZyYW1lUGlwZSdcbn0pXG5leHBvcnQgY2xhc3MgRHJTaG93VGltZWZyYW1lUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIHRyYW5zZm9ybShhcnI6IElUaW1lZnJhbWVPcHRpb25bXSwgc2hvd09wdGlvbnM6IFRpbWVmcmFtZU9wdGlvbltdKTogSVRpbWVmcmFtZU9wdGlvbltdIHtcbiAgICAgICAgcmV0dXJuIGFyci5maWx0ZXIoaXRlbSA9PiBzaG93T3B0aW9ucy5pbmNsdWRlcyhpdGVtLnRpbWVmcmFtZSkpO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,196 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { BehaviorSubject, Subject } from 'rxjs';
3
- import { DateFromats, DateTags, TimeframeOption } from '../../../models/datePicker';
4
- import { DrSharedUtils } from '../../../utils/dr-shared-utils';
5
- import * as _ from 'lodash';
6
- import * as i0 from "@angular/core";
7
- export class DrDatePickerService {
8
- isTimeframeSelectionEnabled = false;
9
- timeframe = TimeframeOption.DAY;
10
- format$ = new BehaviorSubject(DateFromats.MAT_DEFAULT_DATE_FORMAT);
11
- updatedQuarter$ = new Subject();
12
- updatedDateAndClose$ = new Subject();
13
- datePickerInstance;
14
- isUsingDateTagPresets;
15
- presetTag$ = new BehaviorSubject('');
16
- onSameDaySelectedInCalendar$ = new Subject();
17
- keepPresetTag = false;
18
- isValueUpdating = false;
19
- availableTimeframes = [
20
- TimeframeOption.DAY,
21
- TimeframeOption.WEEK,
22
- TimeframeOption.MONTH,
23
- TimeframeOption.QUARTER,
24
- TimeframeOption.YEAR
25
- ];
26
- formatConfig = {
27
- day: DateFromats.MAT_DEFAULT_DATE_FORMAT,
28
- month: DateFromats.MONTH_YEAR_FORMAT,
29
- year: DateFromats.YEAR_FORMAT,
30
- quarter: DateFromats.QUARTER_FORMAT,
31
- week: DateFromats.WEEK_FORMAT
32
- };
33
- calendarInstance;
34
- fiscalYearMonthsModifier = 0;
35
- getDisplayPrefix() {
36
- const formatCached = this.format$.getValue();
37
- switch (true) {
38
- case formatCached?.includes('Q'):
39
- return 'Q';
40
- case formatCached?.includes('W'):
41
- return 'W';
42
- default:
43
- return '';
44
- }
45
- }
46
- getTimeframe(format) {
47
- return DrSharedUtils.getTimeframeByDateFormat(format);
48
- }
49
- getConfiguredFormat(timeframe) {
50
- return this.formatConfig[timeframe];
51
- }
52
- updateTimeframeAndFormat(format) {
53
- const normalizedFormat = this.normalizeValue(format || this.format$.getValue());
54
- this.timeframe = this.getTimeframe(normalizedFormat);
55
- this.format$.next(this.getConfiguredFormat(this.timeframe));
56
- }
57
- normalizeValue(value) {
58
- return value.replace(/d/g, 'D');
59
- }
60
- /**
61
- * Get quarter number for date according to fiscal year
62
- *
63
- * @param date
64
- */
65
- getQuarterAccordingToFiscalYear(date) {
66
- let fiscalMonth = this.fiscalYearMonthsModifier;
67
- const dateMonth = date.month();
68
- if (dateMonth < fiscalMonth) {
69
- fiscalMonth -= 12;
70
- }
71
- return Math.trunc((date.month() - fiscalMonth) / 3) + 1;
72
- }
73
- /**
74
- * Sets date to end of quarter in FY by passed quarter number
75
- *
76
- * @param date
77
- * @param quarterNumber
78
- */
79
- setEndOfQuarter(date, quarterNumber) {
80
- date
81
- .subtract(this.fiscalYearMonthsModifier, 'M')
82
- .startOf('year')
83
- .add(this.fiscalYearMonthsModifier + quarterNumber * 3 - 1, 'M')
84
- .endOf('month');
85
- }
86
- /**
87
- * Sets date to start of quarter in FY by passed quarter number
88
- *
89
- * @param date
90
- * @param quarterNumber
91
- */
92
- setStartOfQuarter(date, quarterNumber) {
93
- date
94
- .subtract(this.fiscalYearMonthsModifier, 'M')
95
- .startOf('year')
96
- .add(this.fiscalYearMonthsModifier + (quarterNumber - 1) * 3, 'M');
97
- }
98
- /**
99
- * Sets date to end of current quarter (in which date is located) according to FY
100
- *
101
- * @param date
102
- */
103
- setEndOfCurrentQuarter(date) {
104
- this.setEndOfQuarter(date, this.getQuarterAccordingToFiscalYear(date));
105
- }
106
- /**
107
- * Sets date to start of current quarter (in which date is located) according to FY
108
- *
109
- * @param date
110
- */
111
- setStartOfCurrentQuarter(date) {
112
- this.setStartOfQuarter(date, this.getQuarterAccordingToFiscalYear(date));
113
- }
114
- /**
115
- * If date selection on this timeframe depends on Fiscal Year
116
- *
117
- * @param timeframe
118
- */
119
- isTimeframeDependingOnFY(timeframe) {
120
- return _.includes([TimeframeOption.QUARTER, TimeframeOption.YEAR], timeframe);
121
- }
122
- /**
123
- * Subtract from date fiscal year shift months count
124
- *
125
- * @param date
126
- */
127
- subtractFiscalYearMonthsFromDate(date) {
128
- return this.getDateModifiedByFiscalMonths(date, true);
129
- }
130
- /**
131
- * Add to date fiscal year shift months count
132
- *
133
- * @param date
134
- */
135
- addFiscalYearMonthsToDate(date) {
136
- return this.getDateModifiedByFiscalMonths(date);
137
- }
138
- /**
139
- * Add or subtract depending on isRevert paremeter Fiscal year month shift
140
- *
141
- * @param date
142
- * @param isSubtract
143
- */
144
- getDateModifiedByFiscalMonths(date, isSubtract = false) {
145
- return date ? _.cloneDeep(date)[isSubtract ? 'subtract' : 'add'](this.fiscalYearMonthsModifier, 'month') : date;
146
- }
147
- updateDatePickerByPreset(tag, calender) {
148
- this.keepPresetTag = true;
149
- let date = null;
150
- if (tag) {
151
- date = DrSharedUtils.getDateByTag(tag);
152
- switch (tag) {
153
- case DateTags.TODAY:
154
- this.updateTimeframeAndFormat(DateFromats.MAT_DEFAULT_DATE_FORMAT);
155
- break;
156
- case DateTags.YESTERDAY:
157
- this.updateTimeframeAndFormat(DateFromats.MAT_DEFAULT_DATE_FORMAT);
158
- break;
159
- case DateTags.THIS_MONTH:
160
- this.updateTimeframeAndFormat(DateFromats.MONTH_YEAR_FORMAT);
161
- this.selectDateInCalendarMonthView(date, calender);
162
- break;
163
- case DateTags.PREV_MONTH:
164
- this.updateTimeframeAndFormat(DateFromats.MONTH_YEAR_FORMAT);
165
- this.selectDateInCalendarMonthView(date, calender);
166
- break;
167
- }
168
- }
169
- this.presetTag$.next(tag);
170
- this.updatedDateAndClose$.next(date);
171
- }
172
- selectDateInCalendarMonthView(date, calender) {
173
- setTimeout(() => {
174
- const monthView = calender.monthView;
175
- if (monthView) {
176
- monthView._activeDate = date;
177
- monthView._selected = date;
178
- monthView._init();
179
- }
180
- });
181
- }
182
- resetPresetTag() {
183
- if (!this.keepPresetTag) {
184
- this.presetTag$.next(null);
185
- }
186
- else {
187
- this.keepPresetTag = false;
188
- }
189
- }
190
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DrDatePickerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
191
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DrDatePickerService });
192
- }
193
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DrDatePickerService, decorators: [{
194
- type: Injectable
195
- }] });
196
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItZGF0ZS1waWNrZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWlucHV0cy9kYXRlLXBpY2tlcnMvc2VydmljZXMvZHItZGF0ZS1waWNrZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUEyQixlQUFlLEVBQW9CLE1BQU0sNEJBQTRCLENBQUM7QUFDL0gsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQy9ELE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDOztBQUc1QixNQUFNLE9BQU8sbUJBQW1CO0lBQzVCLDJCQUEyQixHQUFHLEtBQUssQ0FBQztJQUNwQyxTQUFTLEdBQXFCLGVBQWUsQ0FBQyxHQUFHLENBQUM7SUFDbEQsT0FBTyxHQUFHLElBQUksZUFBZSxDQUFTLFdBQVcsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBQzNFLGVBQWUsR0FBRyxJQUFJLE9BQU8sRUFBVSxDQUFDO0lBQ3hDLG9CQUFvQixHQUFHLElBQUksT0FBTyxFQUFVLENBQUM7SUFDN0Msa0JBQWtCLENBQXFCO0lBQ3ZDLHFCQUFxQixDQUFVO0lBQy9CLFVBQVUsR0FBRyxJQUFJLGVBQWUsQ0FBUyxFQUFFLENBQUMsQ0FBQztJQUM3Qyw0QkFBNEIsR0FBRyxJQUFJLE9BQU8sRUFBVSxDQUFDO0lBQ3JELGFBQWEsR0FBRyxLQUFLLENBQUM7SUFDdEIsZUFBZSxHQUFHLEtBQUssQ0FBQztJQUN4QixtQkFBbUIsR0FBRztRQUNsQixlQUFlLENBQUMsR0FBRztRQUNuQixlQUFlLENBQUMsSUFB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QUM1QyxJQUFJLFNBQVMsRUFBRTtnQkFDWCxTQUFTLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztnQkFDN0IsU0FBUyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7Z0JBQzNCLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQzthQUNyQjtRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLGNBQWM7UUFDakIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDckIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDOUI7YUFBTTtZQUNILElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1NBQzlCO0lBQ0wsQ0FBQzt1R0F4TVEsbUJBQW1COzJHQUFuQixtQkFBbUI7OzJGQUFuQixtQkFBbUI7a0JBRC9CLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRDYWxlbmRhciwgTWF0RGF0ZXBpY2tlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xuaW1wb3J0IHsgTW9tZW50IH0gZnJvbSAnbW9tZW50JztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRGF0ZUZyb21hdHMsIERhdGVUYWdzLCBJRGF0ZVBpY2tlckZvcm1hdENvbmZpZywgVGltZWZyYW1lT3B0aW9uLCBUVGltZWZyYW1lT3B0aW9uIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2RhdGVQaWNrZXInO1xuaW1wb3J0IHsgRHJTaGFyZWRVdGlscyB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2RyLXNoYXJlZC11dGlscyc7XG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBEckRhdGVQaWNrZXJTZXJ2aWNlIHtcbiAgICBpc1RpbWVmcmFtZVNlbGVjdGlvbkVuYWJsZWQgPSBmYWxzZTtcbiAgICB0aW1lZnJhbWU6IFRUaW1lZnJhbWVPcHRpb24gPSBUaW1lZnJhbWVPcHRpb24uREFZO1xuICAgIGZvcm1hdCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oRGF0ZUZyb21hdHMuTUFUX0RFRkFVTFRfREFURV9GT1JNQVQpO1xuICAgIHVwZGF0ZWRRdWFydGVyJCA9IG5ldyBTdWJqZWN0PE1vbWVudD4oKTtcbiAgICB1cGRhdGVkRGF0ZUFuZENsb3NlJCA9IG5ldyBTdWJqZWN0PE1vbWVudD4oKTtcbiAgICBkYXRlUGlja2VySW5zdGFuY2U6IE1hdERhdGVwaWNrZXI8YW55PjtcbiAgICBpc1VzaW5nRGF0ZVRhZ1ByZXNldHM6IGJvb2xlYW47XG4gICAgcHJlc2V0VGFnJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XG4gICAgb25TYW1lRGF5U2VsZWN0ZWRJbkNhbGVuZGFyJCA9IG5ldyBTdWJqZWN0PE1vbWVudD4oKTtcbiAgICBrZWVwUHJlc2V0VGFnID0gZmFsc2U7XG4gICAgaXNWYWx1ZVVwZGF0aW5nID0gZmFsc2U7XG4gICAgYXZhaWxhYmxlVGltZWZyYW1lcyA9IFtcbiAgICAgICAgVGltZWZyYW1lT3B0aW9uLkRBWSxcbiAgICAgICAgVGltZWZyYW1lT3B0aW9uLldFRUssXG4gICAgICAgIFRpbWVmcmFtZU9wdGlvbi5NT05USCxcbiAgICAgICAgVGltZWZyYW1lT3B0aW9uLlFVQVJURVIsXG4gICAgICAgIFRpbWVmcmFtZU9wdGlvbi5ZRUFSXG4gICAgXTtcblxuICAgIHB1YmxpYyBmb3JtYXRDb25maWc6IElEYXRlUGlja2VyRm9ybWF0Q29uZmlnID0ge1xuICAgICAgICBkYXk6IERhdGVGcm9tYXRzLk1BVF9ERUZBVUxUX0RBVEVfRk9STUFULFxuICAgICAgICBtb250aDogRGF0ZUZyb21hdHMuTU9OVEhfWUVBUl9GT1JNQVQsXG4gICAgICAgIHllYXI6IERhdGVGcm9tYXRzLllFQVJfRk9STUFULFxuICAgICAgICBxdWFydGVyOiBEYXRlRnJvbWF0cy5RVUFSVEVSX0ZPUk1BVCxcbiAgICAgICAgd2VlazogRGF0ZUZyb21hdHMuV0VFS19GT1JNQVRcbiAgICB9O1xuICAgIHB1YmxpYyBjYWxlbmRhckluc3RhbmNlOiBNYXRDYWxlbmRhcjxhbnk+O1xuXG4gICAgcHVibGljIGZpc2NhbFllYXJNb250aHNNb2RpZmllciA9IDA7XG5cbiAgICBnZXREaXNwbGF5UHJlZml4KCkge1xuICAgICAgICBjb25zdCBmb3JtYXRDYWNoZWQgPSB0aGlzLmZvcm1hdCQuZ2V0VmFsdWUoKTtcbiAgICAgICAgc3dpdGNoICh0cnVlKSB7XG4gICAgICAgICAgICBjYXNlIGZvcm1hdENhY2hlZD8uaW5jbHVkZXMoJ1EnKTpcbiAgICAgICAgICAgICAgICByZXR1cm4gJ1EnO1xuICAgICAgICAgICAgY2FzZSBmb3JtYXRDYWNoZWQ/LmluY2x1ZGVzKCdXJyk6XG4gICAgICAgICAgICAgICAgcmV0dXJuICdXJztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0VGltZWZyYW1lKGZvcm1hdDogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiBEclNoYXJlZFV0aWxzLmdldFRpbWVmcmFtZUJ5RGF0ZUZvcm1hdChmb3JtYXQpO1xuICAgIH1cblxuICAgIGdldENvbmZpZ3VyZWRGb3JtYXQodGltZWZyYW1lOiBUVGltZWZyYW1lT3B0aW9uKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1hdENvbmZpZ1t0aW1lZnJhbWVdO1xuICAgIH1cblxuICAgIHVwZGF0ZVRpbWVmcmFtZUFuZEZvcm1hdChmb3JtYXQ6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBjb25zdCBub3JtYWxpemVkRm9ybWF0ID0gdGhpcy5ub3JtYWxpemVWYWx1ZShmb3JtYXQgfHwgdGhpcy5mb3JtYXQkLmdldFZhbHVlKCkpO1xuICAgICAgICB0aGlzLnRpbWVmcmFtZSA9IHRoaXMuZ2V0VGltZWZyYW1lKG5vcm1hbGl6ZWRGb3JtYXQpO1xuICAgICAgICB0aGlzLmZvcm1hdCQubmV4dCh0aGlzLmdldENvbmZpZ3VyZWRGb3JtYXQodGhpcy50aW1lZnJhbWUpKTtcbiAgICB9XG5cbiAgICBub3JtYWxpemVWYWx1ZSh2YWx1ZSkge1xuICAgICAgICByZXR1cm4gdmFsdWUucmVwbGFjZSgvZC9nLCAnRCcpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCBxdWFydGVyIG51bWJlciBmb3IgZGF0ZSBhY2NvcmRpbmcgdG8gZmlzY2FsIHllYXJcbiAgICAgKlxuICAgICAqIEBwYXJhbSBkYXRlXG4gICAgICovXG4gICAgcHVibGljIGdldFF1YXJ0ZXJBY2NvcmRpbmdUb0Zpc2NhbFllYXIoZGF0ZTogTW9tZW50KTogbnVtYmVyIHtcbiAgICAgICAgbGV0IGZpc2NhbE1vbnRoID0gdGhpcy5maXNjYWxZZWFyTW9udGhzTW9kaWZpZXI7XG4gICAgICAgIGNvbnN0IGRhdGVNb250aCA9IGRhdGUubW9udGgoKTtcbiAgICAgICAgaWYgKGRhdGVNb250aCA8IGZpc2NhbE1vbnRoKSB7XG4gICAgICAgICAgICBmaXNjYWxNb250aCAtPSAxMjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gTWF0aC50cnVuYygoZGF0ZS5tb250aCgpIC0gZmlzY2FsTW9udGgpIC8gMykgKyAxO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgZGF0ZSB0byBlbmQgb2YgcXVhcnRlciBpbiBGWSBieSBwYXNzZWQgcXVhcnRlciBudW1iZXJcbiAgICAgKlxuICAgICAqIEBwYXJhbSBkYXRlXG4gICAgICogQHBhcmFtIHF1YXJ0ZXJOdW1iZXJcbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0RW5kT2ZRdWFydGVyKGRhdGU6IE1vbWVudCwgcXVhcnRlck51bWJlcjogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGRhdGVcbiAgICAgICAgICAgIC5zdWJ0cmFjdCh0aGlzLmZpc2NhbFllYXJNb250aHNNb2RpZmllciwgJ00nKVxuICAgICAgICAgICAgLnN0YXJ0T2YoJ3llYXInKVxuICAgICAgICAgICAgLmFkZCh0aGlzLmZpc2NhbFllYXJNb250aHNNb2RpZmllciArIHF1YXJ0ZXJOdW1iZXIgKiAzIC0gMSwgJ00nKVxuICAgICAgICAgICAgLmVuZE9mKCdtb250aCcpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgZGF0ZSB0byBzdGFydCBvZiBxdWFydGVyIGluIEZZIGJ5IHBhc3NlZCBxdWFydGVyIG51bWJlclxuICAgICAqXG4gICAgICogQHBhcmFtIGRhdGVcbiAgICAgKiBAcGFyYW0gcXVhcnRlck51bWJlclxuICAgICAqL1xuICAgIHB1YmxpYyBzZXRTdGFydE9mUXVhcnRlcihkYXRlOiBNb21lbnQsIHF1YXJ0ZXJOdW1iZXI6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBkYXRlXG4gICAgICAgICAgICAuc3VidHJhY3QodGhpcy5maXNjYWxZZWFyTW9udGhzTW9kaWZpZXIsICdNJylcbiAgICAgICAgICAgIC5zdGFydE9mKCd5ZWFyJylcbiAgICAgICAgICAgIC5hZGQodGhpcy5maXNjYWxZZWFyTW9udGhzTW9kaWZpZXIgKyAocXVhcnRlck51bWJlciAtIDEpICogMywgJ00nKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIGRhdGUgdG8gZW5kIG9mIGN1cnJlbnQgcXVhcnRlciAoaW4gd2hpY2ggZGF0ZSBpcyBsb2NhdGVkKSBhY2NvcmRpbmcgdG8gRllcbiAgICAgKlxuICAgICAqIEBwYXJhbSBkYXRlXG4gICAgICovXG4gICAgcHVibGljIHNldEVuZE9mQ3VycmVudFF1YXJ0ZXIoZGF0ZTogTW9tZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2V0RW5kT2ZRdWFydGVyKGRhdGUsIHRoaXMuZ2V0UXVhcnRlckFjY29yZGluZ1RvRmlzY2FsWWVhcihkYXRlKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyBkYXRlIHRvIHN0YXJ0IG9mIGN1cnJlbnQgcXVhcnRlciAoaW4gd2hpY2ggZGF0ZSBpcyBsb2NhdGVkKSBhY2NvcmRpbmcgdG8gRllcbiAgICAgKlxuICAgICAqIEBwYXJhbSBkYXRlXG4gICAgICovXG4gICAgcHVibGljIHNldFN0YXJ0T2ZDdXJyZW50UXVhcnRlcihkYXRlOiBNb21lbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRTdGFydE9mUXVhcnRlcihkYXRlLCB0aGlzLmdldFF1YXJ0ZXJBY2NvcmRpbmdUb0Zpc2NhbFllYXIoZGF0ZSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIElmIGRhdGUgc2VsZWN0aW9uIG9uIHRoaXMgdGltZWZyYW1lIGRlcGVuZHMgb24gRmlzY2FsIFllYXJcbiAgICAgKlxuICAgICAqIEBwYXJhbSB0aW1lZnJhbWVcbiAgICAgKi9cbiAgICBwdWJsaWMgaXNUaW1lZnJhbWVEZXBlbmRpbmdPbkZZKHRpbWVmcmFtZTogVGltZWZyYW1lT3B0aW9uKSB7XG4gICAgICAgIHJldHVybiBfLmluY2x1ZGVzKFtUaW1lZnJhbWVPcHRpb24uUVVBUlRFUiwgVGltZWZyYW1lT3B0aW9uLllFQVJdLCB0aW1lZnJhbWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFN1YnRyYWN0IGZyb20gZGF0ZSBmaXNjYWwgeWVhciBzaGlmdCBtb250aHMgY291bnRcbiAgICAgKlxuICAgICAqIEBwYXJhbSBkYXRlXG4gICAgICovXG4gICAgcHVibGljIHN1YnRyYWN0RmlzY2FsWWVhck1vbnRoc0Zyb21EYXRlKGRhdGU6IE1vbWVudCk6IE1vbWVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldERhdGVNb2RpZmllZEJ5RmlzY2FsTW9udGhzKGRhdGUsIHRydWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0byBkYXRlIGZpc2NhbCB5ZWFyIHNoaWZ0IG1vbnRocyBjb3VudFxuICAgICAqXG4gICAgICogQHBhcmFtIGRhdGVcbiAgICAgKi9cbiAgICBwdWJsaWMgYWRkRmlzY2FsWWVhck1vbnRoc1RvRGF0ZShkYXRlOiBNb21lbnQpOiBNb21lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXREYXRlTW9kaWZpZWRCeUZpc2NhbE1vbnRocyhkYXRlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgb3Igc3VidHJhY3QgZGVwZW5kaW5nIG9uIGlzUmV2ZXJ0IHBhcmVtZXRlciBGaXNjYWwgeWVhciBtb250aCBzaGlmdFxuICAgICAqXG4gICAgICogQHBhcmFtIGRhdGVcbiAgICAgKiBAcGFyYW0gaXNTdWJ0cmFjdFxuICAgICAqL1xuICAgIHByaXZhdGUgZ2V0RGF0ZU1vZGlmaWVkQnlGaXNjYWxNb250aHMoZGF0ZTogTW9tZW50LCBpc1N1YnRyYWN0ID0gZmFsc2UpOiBNb21lbnQge1xuICAgICAgICByZXR1cm4gZGF0ZSA/IF8uY2xvbmVEZWVwKGRhdGUpW2lzU3VidHJhY3QgPyAnc3VidHJhY3QnIDogJ2FkZCddKHRoaXMuZmlzY2FsWWVhck1vbnRoc01vZGlmaWVyLCAnbW9udGgnKSA6IGRhdGU7XG4gICAgfVxuXG4gICAgcHVibGljIHVwZGF0ZURhdGVQaWNrZXJCeVByZXNldCh0YWc6IHN0cmluZywgY2FsZW5kZXI6IGFueSkge1xuICAgICAgICB0aGlzLmtlZXBQcmVzZXRUYWcgPSB0cnVlO1xuICAgICAgICBsZXQgZGF0ZSA9IG51bGw7XG4gICAgICAgIGlmICh0YWcpIHtcbiAgICAgICAgZGF0ZSA9IERyU2hhcmVkVXRpbHMuZ2V0RGF0ZUJ5VGFnKHRhZyk7XG4gICAgICAgIHN3aXRjaCAodGFnKSB7XG4gICAgICAgICAgICBjYXNlIERhdGVUYWdzLlRPREFZOlxuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlVGltZWZyYW1lQW5kRm9ybWF0KERhdGVGcm9tYXRzLk1BVF9ERUZBVUxUX0RBVEVfRk9STUFUKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgRGF0ZVRhZ3MuWUVTVEVSREFZOlxuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlVGltZWZyYW1lQW5kRm9ybWF0KERhdGVGcm9tYXRzLk1BVF9ERUZBVUxUX0RBVEVfRk9STUFUKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgRGF0ZVRhZ3MuVEhJU19NT05USDpcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVRpbWVmcmFtZUFuZEZvcm1hdChEYXRlRnJvbWF0cy5NT05USF9ZRUFSX0ZPUk1BVCk7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3REYXRlSW5DYWxlbmRhck1vbnRoVmlldyhkYXRlLCBjYWxlbmRlcik7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIERhdGVUYWdzLlBSRVZfTU9OVEg6XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVUaW1lZnJhbWVBbmRGb3JtYXQoRGF0ZUZyb21hdHMuTU9OVEhfWUVBUl9GT1JNQVQpO1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0RGF0ZUluQ2FsZW5kYXJNb250aFZpZXcoZGF0ZSwgY2FsZW5kZXIpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMucHJlc2V0VGFnJC5uZXh0KHRhZyk7XG4gICAgICAgIHRoaXMudXBkYXRlZERhdGVBbmRDbG9zZSQubmV4dChkYXRlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2VsZWN0RGF0ZUluQ2FsZW5kYXJNb250aFZpZXcoZGF0ZTogTW9tZW50LCBjYWxlbmRlcjogYW55KTogdm9pZCB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbW9udGhWaWV3ID0gY2FsZW5kZXIubW9udGhWaWV3IGFzIGFueTtcbiAgICAgICAgICAgIGlmIChtb250aFZpZXcpIHtcbiAgICAgICAgICAgICAgICBtb250aFZpZXcuX2FjdGl2ZURhdGUgPSBkYXRlO1xuICAgICAgICAgICAgICAgIG1vbnRoVmlldy5fc2VsZWN0ZWQgPSBkYXRlO1xuICAgICAgICAgICAgICAgIG1vbnRoVmlldy5faW5pdCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVzZXRQcmVzZXRUYWcoKSB7XG4gICAgICAgIGlmICghdGhpcy5rZWVwUHJlc2V0VGFnKSB7XG4gICAgICAgICAgICB0aGlzLnByZXNldFRhZyQubmV4dChudWxsKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMua2VlcFByZXNldFRhZyA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19