@datarailsshared/datarailsshared 1.4.188 → 1.4.193-rocket

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 (359) hide show
  1. package/_datarailsshared.styles.css +4 -4
  2. package/assets/styles/_styles.scss +2 -2
  3. package/datarailsshared-datarailsshared-1.4.193-rocket.tgz +0 -0
  4. package/esm2022/datarailsshared-datarailsshared.mjs +5 -0
  5. package/esm2022/lib/date-tags/any-tag.component.mjs +45 -0
  6. package/esm2022/lib/date-tags/date-tag.component.mjs +48 -0
  7. package/esm2022/lib/date-tags/date-tag.module.mjs +66 -0
  8. package/esm2022/lib/date-tags/day-tag/day-tag.component.mjs +84 -0
  9. package/esm2022/lib/date-tags/forecast-tag/forecast-tag.component.mjs +162 -0
  10. package/esm2022/lib/date-tags/month-tag/month-tag.component.mjs +87 -0
  11. package/esm2022/lib/date-tags/quarter-tag/quarter-tag.component.mjs +107 -0
  12. package/esm2022/lib/date-tags/week-tag/week-tag.component.mjs +91 -0
  13. package/esm2022/lib/date-tags/year-tag/year-tag.component.mjs +85 -0
  14. package/esm2022/lib/directives/click-outside/click-outside.directive.mjs +94 -0
  15. package/esm2022/lib/directives/click-outside/click-outside.module.mjs +18 -0
  16. package/esm2022/lib/dr-accordion/accordion-item-body.component.mjs +59 -0
  17. package/esm2022/lib/dr-accordion/accordion-item-header.component.mjs +109 -0
  18. package/esm2022/lib/dr-accordion/accordion-item.component.mjs +142 -0
  19. package/esm2022/lib/dr-accordion/accordion.component.mjs +41 -0
  20. package/esm2022/lib/dr-accordion/accordion.module.mjs +34 -0
  21. package/esm2022/lib/dr-avatar/dr-avatar.component.mjs +48 -0
  22. package/esm2022/lib/dr-avatar/dr-avatar.module.mjs +37 -0
  23. package/esm2022/lib/dr-avatar/dr-avatar.pipe.mjs +20 -0
  24. package/esm2022/lib/dr-badge-status/dr-badge-status.component.mjs +30 -0
  25. package/esm2022/lib/dr-badge-status/dr-badge-status.module.mjs +27 -0
  26. package/esm2022/lib/dr-chat/chat.component.mjs +147 -0
  27. package/esm2022/lib/dr-chat/chat.module.mjs +68 -0
  28. package/esm2022/lib/dr-chat/dr-chat-form/chat-form.component.mjs +169 -0
  29. package/esm2022/lib/dr-chat/dr-chat-message/chat-message.component.mjs +108 -0
  30. package/{esm2015/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.directive.js → esm2022/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.directive.mjs} +21 -21
  31. package/esm2022/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.service.mjs +24 -0
  32. package/esm2022/lib/dr-chat/dr-chat-message/dr-chat-message-file/chat-message-file.component.mjs +57 -0
  33. package/esm2022/lib/dr-chat/dr-chat-message/dr-chat-message-text/chat-message-text.component.mjs +23 -0
  34. package/esm2022/lib/dr-chat/dr-chat-suggestions/chat-suggestions.component.mjs +89 -0
  35. package/esm2022/lib/dr-chat/dr-dot-flashing/dr-dot-flashing.component.mjs +13 -0
  36. package/esm2022/lib/dr-details-list/dr-details-list.component.mjs +78 -0
  37. package/esm2022/lib/dr-details-list/dr-details-list.module.mjs +21 -0
  38. package/esm2022/lib/dr-dialog/components/dialog-modal-wrapper/dialog-modal-wrapper.component.mjs +79 -0
  39. package/esm2022/lib/dr-dialog/components/dialog-wrapper/dialog-wrapper.component.mjs +102 -0
  40. package/esm2022/lib/dr-dialog/dialog.module.mjs +51 -0
  41. package/esm2022/lib/dr-dialog/interfaces/dialog-data.mjs +25 -0
  42. package/esm2022/lib/dr-dialog/services/dialog.service.mjs +78 -0
  43. package/esm2022/lib/dr-dropdown/dr-dropdown-item-show.pipe.mjs +16 -0
  44. package/esm2022/lib/dr-dropdown/dr-dropdown-position.directive.mjs +108 -0
  45. package/esm2022/lib/dr-dropdown/dr-dropdown.component.mjs +124 -0
  46. package/esm2022/lib/dr-dropdown/dr-dropdown.directive.mjs +125 -0
  47. package/esm2022/lib/dr-dropdown/dr-dropdown.module.mjs +49 -0
  48. package/esm2022/lib/dr-dropdown/dr-dropdown.service.mjs +26 -0
  49. package/esm2022/lib/dr-dynamic-tag/dr-dynamic-tag.component.mjs +119 -0
  50. package/esm2022/lib/dr-dynamic-tag/dr-dynamic-tag.module.mjs +28 -0
  51. package/esm2022/lib/dr-error/dr-error.component.mjs +69 -0
  52. package/esm2022/lib/dr-error/dr-error.module.mjs +31 -0
  53. package/esm2022/lib/dr-inputs/button/button.component.mjs +70 -0
  54. package/esm2022/lib/dr-inputs/checkbox/checkbox.component.mjs +67 -0
  55. package/esm2022/lib/dr-inputs/date-pickers/directives/dr-date-picker-format.directive.mjs +67 -0
  56. package/esm2022/lib/dr-inputs/date-pickers/dr-date-picker/dr-date-picker.component.mjs +234 -0
  57. package/esm2022/lib/dr-inputs/date-pickers/dr-date-picker-with-timeframe/dr-date-picker-with-timeframe.component.mjs +194 -0
  58. package/esm2022/lib/dr-inputs/date-pickers/dr-date-picker_custom-header/dr-date-picker_custom-header.component.mjs +190 -0
  59. package/esm2022/lib/dr-inputs/date-pickers/dr-show-timeframe.pipe.mjs +16 -0
  60. package/esm2022/lib/dr-inputs/date-pickers/services/dr-date-picker.service.mjs +198 -0
  61. package/esm2022/lib/dr-inputs/dr-input/dr-input.component.mjs +232 -0
  62. package/esm2022/lib/dr-inputs/dr-inputs.module.mjs +108 -0
  63. package/esm2022/lib/dr-inputs/dr-model-debounce-change.directive.mjs +32 -0
  64. package/esm2022/lib/dr-inputs/dr-select/dr-select.component.mjs +182 -0
  65. package/esm2022/lib/dr-inputs/dr-select-add-item/dr-select-add-item.component.mjs +82 -0
  66. package/esm2022/lib/dr-inputs/dr-toggle/dr-toggle.component.mjs +77 -0
  67. package/esm2022/lib/dr-inputs/dr-toggle-button/dr-toggle-button.component.mjs +69 -0
  68. package/esm2022/lib/dr-inputs/radio-button/radio-button.component.mjs +82 -0
  69. package/esm2022/lib/dr-inputs/radio-button/radio-group.component.mjs +180 -0
  70. package/esm2022/lib/dr-layout/dr-layout-body.component.mjs +16 -0
  71. package/esm2022/lib/dr-layout/dr-layout-header.component.mjs +24 -0
  72. package/esm2022/lib/dr-layout/dr-layout.component.mjs +13 -0
  73. package/esm2022/lib/dr-layout/dr-layout.module.mjs +29 -0
  74. package/esm2022/lib/dr-popover/dr-popover-ref.mjs +23 -0
  75. package/esm2022/lib/dr-popover/dr-popover.component.mjs +141 -0
  76. package/esm2022/lib/dr-popover/dr-popover.directive.mjs +115 -0
  77. package/esm2022/lib/dr-popover/dr-popover.module.mjs +30 -0
  78. package/esm2022/lib/dr-popover/dr-popover.service.mjs +110 -0
  79. package/esm2022/lib/dr-scenario/components/dr-scenario-configuration/dr-scenario-configuration.component.mjs +110 -0
  80. package/esm2022/lib/dr-scenario/components/dr-scenario-tag-configuration/dr-scenario-tag-configuration.component.mjs +85 -0
  81. package/esm2022/lib/dr-scenario/consts/scenario-tags-config.mjs +81 -0
  82. package/esm2022/lib/dr-scenario/dr-scenario.module.mjs +41 -0
  83. package/esm2022/lib/dr-scenario/services/scenario.service.mjs +166 -0
  84. package/esm2022/lib/dr-spinner/dr-spinner.component.mjs +18 -0
  85. package/esm2022/lib/dr-spinner/dr-spinner.directive.mjs +66 -0
  86. package/esm2022/lib/dr-spinner/dr-spinner.module.mjs +23 -0
  87. package/esm2022/lib/dr-tabs/dr-tab.component.mjs +42 -0
  88. package/esm2022/lib/dr-tabs/dr-tabs.component.mjs +51 -0
  89. package/esm2022/lib/dr-tabs/dr-tabs.module.mjs +49 -0
  90. package/esm2022/lib/dr-tags/dr-tag.component.mjs +201 -0
  91. package/esm2022/lib/dr-tags/dr-tag.module.mjs +35 -0
  92. package/esm2022/lib/dr-tooltip/components/tooltip-info/tooltip-info.component.mjs +20 -0
  93. package/esm2022/lib/dr-tooltip/components/tooltip-info-simple/tooltip-info-simple.component.mjs +17 -0
  94. package/esm2022/lib/dr-tooltip/components/tooltip-no-body/tooltip-no-body.component.mjs +19 -0
  95. package/esm2022/lib/dr-tooltip/components/tooltip-process-default/tooltip-process-default.component.mjs +20 -0
  96. package/esm2022/lib/dr-tooltip/dr-tooltip.component.mjs +53 -0
  97. package/esm2022/lib/dr-tooltip/dr-tooltip.directive.mjs +165 -0
  98. package/esm2022/lib/dr-tooltip/dr-tooltip.module.mjs +48 -0
  99. package/esm2022/lib/dr-treeview/components/treeview/treeview.component.mjs +224 -0
  100. package/esm2022/lib/dr-treeview/components/treeview-item/treeview-item.component.mjs +62 -0
  101. package/esm2022/lib/dr-treeview/dr-tree-view.module.mjs +48 -0
  102. package/esm2022/lib/dr-treeview/helpers/treeview-event-parser.mjs +103 -0
  103. package/esm2022/lib/dr-treeview/models/treeview-config.mjs +23 -0
  104. package/esm2022/lib/dr-treeview/models/treeview-i18n.mjs +47 -0
  105. package/esm2022/lib/dr-treeview/models/treeview-item.mjs +158 -0
  106. package/esm2022/lib/dr-treeview/pipes/treeview.pipe.mjs +21 -0
  107. package/esm2022/lib/list-tags/list-tag.component.mjs +45 -0
  108. package/esm2022/lib/list-tags/list-tag.module.mjs +34 -0
  109. package/esm2022/lib/models/chat.mjs +49 -0
  110. package/esm2022/lib/models/datePicker.mjs +71 -0
  111. package/esm2022/lib/models/popover.mjs +27 -0
  112. package/esm2022/lib/stepper/stepper.component.mjs +66 -0
  113. package/esm2022/lib/stepper/stepper.module.mjs +24 -0
  114. package/esm2022/public-api.mjs +120 -0
  115. package/fesm2022/datarailsshared-datarailsshared.mjs +7893 -0
  116. package/fesm2022/datarailsshared-datarailsshared.mjs.map +1 -0
  117. package/index.d.ts +5 -0
  118. package/lib/date-tags/any-tag.component.d.ts +20 -0
  119. package/lib/date-tags/date-tag.component.d.ts +4 -16
  120. package/lib/date-tags/date-tag.module.d.ts +19 -2
  121. package/lib/date-tags/day-tag/day-tag.component.d.ts +4 -1
  122. package/lib/date-tags/forecast-tag/forecast-tag.component.d.ts +5 -2
  123. package/lib/date-tags/month-tag/month-tag.component.d.ts +4 -1
  124. package/lib/date-tags/quarter-tag/quarter-tag.component.d.ts +4 -1
  125. package/lib/date-tags/week-tag/week-tag.component.d.ts +4 -1
  126. package/lib/date-tags/year-tag/year-tag.component.d.ts +4 -1
  127. package/lib/directives/click-outside/click-outside.directive.d.ts +23 -0
  128. package/lib/directives/click-outside/click-outside.module.d.ts +8 -0
  129. package/lib/dr-accordion/accordion-item-body.component.d.ts +3 -0
  130. package/lib/dr-accordion/accordion-item-header.component.d.ts +3 -0
  131. package/lib/dr-accordion/accordion-item.component.d.ts +3 -0
  132. package/lib/dr-accordion/accordion.component.d.ts +3 -0
  133. package/lib/dr-accordion/accordion.module.d.ts +9 -0
  134. package/lib/dr-avatar/dr-avatar.component.d.ts +3 -0
  135. package/lib/dr-avatar/dr-avatar.module.d.ts +9 -0
  136. package/lib/dr-avatar/dr-avatar.pipe.d.ts +3 -0
  137. package/lib/dr-badge-status/dr-badge-status.component.d.ts +3 -0
  138. package/lib/dr-badge-status/dr-badge-status.module.d.ts +7 -0
  139. package/lib/dr-chat/chat.component.d.ts +3 -0
  140. package/lib/dr-chat/chat.module.d.ts +17 -0
  141. package/lib/dr-chat/dr-chat-form/chat-form.component.d.ts +3 -0
  142. package/lib/dr-chat/dr-chat-message/chat-message.component.d.ts +3 -0
  143. package/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.directive.d.ts +3 -0
  144. package/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.service.d.ts +3 -0
  145. package/lib/dr-chat/dr-chat-message/dr-chat-message-file/chat-message-file.component.d.ts +3 -0
  146. package/lib/dr-chat/dr-chat-message/dr-chat-message-text/chat-message-text.component.d.ts +3 -0
  147. package/lib/dr-chat/dr-chat-suggestions/chat-suggestions.component.d.ts +3 -0
  148. package/lib/dr-chat/dr-dot-flashing/dr-dot-flashing.component.d.ts +3 -0
  149. package/lib/dr-details-list/dr-details-list.component.d.ts +3 -0
  150. package/lib/dr-details-list/dr-details-list.module.d.ts +6 -0
  151. package/lib/dr-dialog/components/dialog-modal-wrapper/dialog-modal-wrapper.component.d.ts +4 -1
  152. package/lib/dr-dialog/components/dialog-wrapper/dialog-wrapper.component.d.ts +4 -1
  153. package/lib/dr-dialog/dialog.module.d.ts +12 -0
  154. package/lib/dr-dialog/interfaces/dialog-data.d.ts +7 -7
  155. package/lib/dr-dialog/services/dialog.service.d.ts +4 -1
  156. package/lib/dr-dropdown/dr-dropdown-item-show.pipe.d.ts +3 -0
  157. package/lib/dr-dropdown/dr-dropdown-position.directive.d.ts +3 -0
  158. package/lib/dr-dropdown/dr-dropdown.component.d.ts +3 -0
  159. package/lib/dr-dropdown/dr-dropdown.directive.d.ts +3 -0
  160. package/lib/dr-dropdown/dr-dropdown.module.d.ts +10 -0
  161. package/lib/dr-dropdown/dr-dropdown.service.d.ts +3 -0
  162. package/lib/dr-dynamic-tag/dr-dynamic-tag.component.d.ts +3 -0
  163. package/lib/dr-dynamic-tag/dr-dynamic-tag.module.d.ts +8 -0
  164. package/lib/dr-error/dr-error.component.d.ts +3 -0
  165. package/lib/dr-error/dr-error.module.d.ts +8 -0
  166. package/lib/dr-inputs/button/button.component.d.ts +4 -1
  167. package/lib/dr-inputs/checkbox/checkbox.component.d.ts +3 -0
  168. package/lib/dr-inputs/date-pickers/directives/dr-date-picker-format.directive.d.ts +3 -0
  169. package/lib/dr-inputs/date-pickers/dr-date-picker/dr-date-picker.component.d.ts +3 -0
  170. package/lib/dr-inputs/date-pickers/dr-date-picker-with-timeframe/dr-date-picker-with-timeframe.component.d.ts +3 -0
  171. package/lib/dr-inputs/date-pickers/dr-date-picker_custom-header/dr-date-picker_custom-header.component.d.ts +4 -8
  172. package/lib/dr-inputs/date-pickers/dr-show-timeframe.pipe.d.ts +4 -2
  173. package/lib/dr-inputs/date-pickers/services/dr-date-picker.service.d.ts +3 -0
  174. package/lib/dr-inputs/dr-input/dr-input.component.d.ts +3 -0
  175. package/lib/dr-inputs/dr-inputs.module.d.ts +25 -0
  176. package/lib/dr-inputs/dr-model-debounce-change.directive.d.ts +3 -0
  177. package/lib/dr-inputs/dr-select/dr-select.component.d.ts +3 -0
  178. package/lib/dr-inputs/dr-select-add-item/dr-select-add-item.component.d.ts +3 -0
  179. package/lib/dr-inputs/dr-toggle/dr-toggle.component.d.ts +3 -0
  180. package/lib/dr-inputs/dr-toggle-button/dr-toggle-button.component.d.ts +3 -0
  181. package/lib/dr-inputs/radio-button/radio-button.component.d.ts +3 -0
  182. package/lib/dr-inputs/radio-button/radio-group.component.d.ts +3 -0
  183. package/lib/dr-layout/dr-layout-body.component.d.ts +3 -0
  184. package/lib/dr-layout/dr-layout-header.component.d.ts +3 -0
  185. package/lib/dr-layout/dr-layout.component.d.ts +3 -0
  186. package/lib/dr-layout/dr-layout.module.d.ts +8 -0
  187. package/lib/dr-popover/dr-popover.component.d.ts +8 -4
  188. package/lib/dr-popover/dr-popover.directive.d.ts +3 -0
  189. package/lib/dr-popover/dr-popover.module.d.ts +7 -0
  190. package/lib/dr-popover/dr-popover.service.d.ts +3 -0
  191. package/lib/dr-scenario/components/dr-scenario-configuration/dr-scenario-configuration.component.d.ts +3 -0
  192. package/lib/dr-scenario/components/dr-scenario-tag-configuration/dr-scenario-tag-configuration.component.d.ts +3 -0
  193. package/lib/dr-scenario/dr-scenario.module.d.ts +10 -0
  194. package/lib/dr-scenario/interfaces/scenario.d.ts +3 -3
  195. package/lib/dr-scenario/services/scenario.service.d.ts +3 -0
  196. package/lib/dr-spinner/dr-spinner.component.d.ts +3 -0
  197. package/lib/dr-spinner/dr-spinner.directive.d.ts +3 -0
  198. package/lib/dr-spinner/dr-spinner.module.d.ts +7 -0
  199. package/lib/dr-tabs/dr-tab.component.d.ts +3 -0
  200. package/lib/dr-tabs/dr-tabs.component.d.ts +3 -0
  201. package/lib/dr-tabs/dr-tabs.module.d.ts +11 -0
  202. package/lib/dr-tags/dr-tag.component.d.ts +3 -0
  203. package/lib/dr-tags/dr-tag.module.d.ts +9 -0
  204. package/lib/dr-tooltip/components/tooltip-info/tooltip-info.component.d.ts +3 -0
  205. package/lib/dr-tooltip/components/tooltip-info-simple/tooltip-info-simple.component.d.ts +3 -0
  206. package/lib/dr-tooltip/components/tooltip-no-body/tooltip-no-body.component.d.ts +3 -0
  207. package/lib/dr-tooltip/components/tooltip-process-default/tooltip-process-default.component.d.ts +3 -0
  208. package/lib/dr-tooltip/dr-tooltip.component.d.ts +4 -1
  209. package/lib/dr-tooltip/dr-tooltip.directive.d.ts +3 -0
  210. package/lib/dr-tooltip/dr-tooltip.module.d.ts +11 -0
  211. package/lib/dr-tooltip/interfaces/tooltip-component-context.d.ts +1 -1
  212. package/lib/dr-treeview/components/treeview/treeview.component.d.ts +3 -0
  213. package/lib/dr-treeview/components/treeview-item/treeview-item.component.d.ts +3 -0
  214. package/lib/dr-treeview/dr-tree-view.module.d.ts +9 -0
  215. package/lib/dr-treeview/helpers/treeview-event-parser.d.ts +9 -0
  216. package/lib/dr-treeview/models/treeview-config.d.ts +3 -0
  217. package/lib/dr-treeview/models/treeview-i18n.d.ts +5 -0
  218. package/lib/dr-treeview/pipes/treeview.pipe.d.ts +3 -0
  219. package/lib/list-tags/list-tag.component.d.ts +3 -0
  220. package/lib/list-tags/list-tag.module.d.ts +8 -0
  221. package/lib/models/chat.d.ts +2 -2
  222. package/lib/models/datePicker.d.ts +10 -3
  223. package/lib/models/dropdown.d.ts +1 -1
  224. package/lib/models/popover.d.ts +1 -1
  225. package/lib/models/serverTags.d.ts +4 -4
  226. package/lib/stepper/interfaces/stepper.d.ts +1 -1
  227. package/lib/stepper/stepper.component.d.ts +3 -0
  228. package/lib/stepper/stepper.module.d.ts +7 -0
  229. package/package.json +27 -15
  230. package/public-api.d.ts +27 -0
  231. package/bundles/datarailsshared-datarailsshared.umd.js +0 -8041
  232. package/bundles/datarailsshared-datarailsshared.umd.js.map +0 -1
  233. package/datarailsshared-datarailsshared-1.4.188.tgz +0 -0
  234. package/datarailsshared-datarailsshared.d.ts +0 -34
  235. package/datarailsshared-datarailsshared.metadata.json +0 -1
  236. package/esm2015/datarailsshared-datarailsshared.js +0 -35
  237. package/esm2015/lib/date-tags/date-tag.component.js +0 -73
  238. package/esm2015/lib/date-tags/date-tag.module.js +0 -36
  239. package/esm2015/lib/date-tags/day-tag/day-tag.component.js +0 -77
  240. package/esm2015/lib/date-tags/forecast-tag/forecast-tag.component.js +0 -153
  241. package/esm2015/lib/date-tags/month-tag/month-tag.component.js +0 -80
  242. package/esm2015/lib/date-tags/quarter-tag/quarter-tag.component.js +0 -105
  243. package/esm2015/lib/date-tags/week-tag/week-tag.component.js +0 -84
  244. package/esm2015/lib/date-tags/year-tag/year-tag.component.js +0 -78
  245. package/esm2015/lib/dr-accordion/accordion-item-body.component.js +0 -55
  246. package/esm2015/lib/dr-accordion/accordion-item-header.component.js +0 -77
  247. package/esm2015/lib/dr-accordion/accordion-item.component.js +0 -123
  248. package/esm2015/lib/dr-accordion/accordion.component.js +0 -43
  249. package/esm2015/lib/dr-accordion/accordion.module.js +0 -23
  250. package/esm2015/lib/dr-avatar/dr-avatar.component.js +0 -44
  251. package/esm2015/lib/dr-avatar/dr-avatar.module.js +0 -26
  252. package/esm2015/lib/dr-avatar/dr-avatar.pipe.js +0 -16
  253. package/esm2015/lib/dr-badge-status/dr-badge-status.component.js +0 -25
  254. package/esm2015/lib/dr-badge-status/dr-badge-status.module.js +0 -20
  255. package/esm2015/lib/dr-chat/chat.component.js +0 -119
  256. package/esm2015/lib/dr-chat/chat.module.js +0 -41
  257. package/esm2015/lib/dr-chat/dr-chat-form/chat-form.component.js +0 -155
  258. package/esm2015/lib/dr-chat/dr-chat-message/chat-message.component.js +0 -71
  259. package/esm2015/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.service.js +0 -23
  260. package/esm2015/lib/dr-chat/dr-chat-message/dr-chat-message-file/chat-message-file.component.js +0 -47
  261. package/esm2015/lib/dr-chat/dr-chat-message/dr-chat-message-text/chat-message-text.component.js +0 -18
  262. package/esm2015/lib/dr-chat/dr-chat-suggestions/chat-suggestions.component.js +0 -87
  263. package/esm2015/lib/dr-chat/dr-dot-flashing/dr-dot-flashing.component.js +0 -15
  264. package/esm2015/lib/dr-details-list/dr-details-list.component.js +0 -65
  265. package/esm2015/lib/dr-details-list/dr-details-list.module.js +0 -16
  266. package/esm2015/lib/dr-dialog/components/dialog-modal-wrapper/dialog-modal-wrapper.component.js +0 -70
  267. package/esm2015/lib/dr-dialog/components/dialog-wrapper/dialog-wrapper.component.js +0 -92
  268. package/esm2015/lib/dr-dialog/dialog.module.js +0 -34
  269. package/esm2015/lib/dr-dialog/interfaces/dialog-data.js +0 -25
  270. package/esm2015/lib/dr-dialog/services/dialog.service.js +0 -78
  271. package/esm2015/lib/dr-dropdown/dr-dropdown-item-show.pipe.js +0 -12
  272. package/esm2015/lib/dr-dropdown/dr-dropdown-position.directive.js +0 -104
  273. package/esm2015/lib/dr-dropdown/dr-dropdown.component.js +0 -114
  274. package/esm2015/lib/dr-dropdown/dr-dropdown.directive.js +0 -104
  275. package/esm2015/lib/dr-dropdown/dr-dropdown.module.js +0 -34
  276. package/esm2015/lib/dr-dropdown/dr-dropdown.service.js +0 -24
  277. package/esm2015/lib/dr-dynamic-tag/dr-dynamic-tag.component.js +0 -103
  278. package/esm2015/lib/dr-dynamic-tag/dr-dynamic-tag.module.js +0 -19
  279. package/esm2015/lib/dr-error/dr-error.component.js +0 -64
  280. package/esm2015/lib/dr-error/dr-error.module.js +0 -22
  281. package/esm2015/lib/dr-inputs/button/button.component.js +0 -39
  282. package/esm2015/lib/dr-inputs/checkbox/checkbox.component.js +0 -65
  283. package/esm2015/lib/dr-inputs/date-pickers/directives/dr-date-picker-format.directive.js +0 -47
  284. package/esm2015/lib/dr-inputs/date-pickers/dr-date-picker/dr-date-picker.component.js +0 -216
  285. package/esm2015/lib/dr-inputs/date-pickers/dr-date-picker-with-timeframe/dr-date-picker-with-timeframe.component.js +0 -180
  286. package/esm2015/lib/dr-inputs/date-pickers/dr-date-picker_custom-header/dr-date-picker_custom-header.component.js +0 -183
  287. package/esm2015/lib/dr-inputs/date-pickers/dr-show-timeframe.pipe.js +0 -12
  288. package/esm2015/lib/dr-inputs/date-pickers/services/dr-date-picker.service.js +0 -194
  289. package/esm2015/lib/dr-inputs/dr-input/dr-input.component.js +0 -194
  290. package/esm2015/lib/dr-inputs/dr-inputs.module.js +0 -66
  291. package/esm2015/lib/dr-inputs/dr-model-debounce-change.directive.js +0 -29
  292. package/esm2015/lib/dr-inputs/dr-select/dr-select.component.js +0 -119
  293. package/esm2015/lib/dr-inputs/dr-select-add-item/dr-select-add-item.component.js +0 -74
  294. package/esm2015/lib/dr-inputs/dr-toggle/dr-toggle.component.js +0 -68
  295. package/esm2015/lib/dr-inputs/dr-toggle-button/dr-toggle-button.component.js +0 -63
  296. package/esm2015/lib/dr-inputs/radio-button/radio-button.component.js +0 -73
  297. package/esm2015/lib/dr-inputs/radio-button/radio-group.component.js +0 -157
  298. package/esm2015/lib/dr-layout/dr-layout-body.component.js +0 -13
  299. package/esm2015/lib/dr-layout/dr-layout-header.component.js +0 -17
  300. package/esm2015/lib/dr-layout/dr-layout.component.js +0 -14
  301. package/esm2015/lib/dr-layout/dr-layout.module.js +0 -20
  302. package/esm2015/lib/dr-popover/dr-popover-ref.js +0 -20
  303. package/esm2015/lib/dr-popover/dr-popover.component.js +0 -106
  304. package/esm2015/lib/dr-popover/dr-popover.directive.js +0 -84
  305. package/esm2015/lib/dr-popover/dr-popover.module.js +0 -23
  306. package/esm2015/lib/dr-popover/dr-popover.service.js +0 -106
  307. package/esm2015/lib/dr-scenario/components/dr-scenario-configuration/dr-scenario-configuration.component.js +0 -102
  308. package/esm2015/lib/dr-scenario/components/dr-scenario-tag-configuration/dr-scenario-tag-configuration.component.js +0 -74
  309. package/esm2015/lib/dr-scenario/consts/scenario-tags-config.js +0 -73
  310. package/esm2015/lib/dr-scenario/dr-scenario.module.js +0 -28
  311. package/esm2015/lib/dr-scenario/services/scenario.service.js +0 -167
  312. package/esm2015/lib/dr-spinner/dr-spinner.component.js +0 -18
  313. package/esm2015/lib/dr-spinner/dr-spinner.directive.js +0 -56
  314. package/esm2015/lib/dr-spinner/dr-spinner.module.js +0 -18
  315. package/esm2015/lib/dr-tabs/dr-tab.component.js +0 -26
  316. package/esm2015/lib/dr-tabs/dr-tabs.component.js +0 -35
  317. package/esm2015/lib/dr-tabs/dr-tabs.module.js +0 -32
  318. package/esm2015/lib/dr-tags/dr-tag.component.js +0 -177
  319. package/esm2015/lib/dr-tags/dr-tag.module.js +0 -24
  320. package/esm2015/lib/dr-tooltip/components/tooltip-info/tooltip-info.component.js +0 -19
  321. package/esm2015/lib/dr-tooltip/components/tooltip-info-simple/tooltip-info-simple.component.js +0 -18
  322. package/esm2015/lib/dr-tooltip/components/tooltip-no-body/tooltip-no-body.component.js +0 -20
  323. package/esm2015/lib/dr-tooltip/components/tooltip-process-default/tooltip-process-default.component.js +0 -34
  324. package/esm2015/lib/dr-tooltip/dr-tooltip.component.js +0 -40
  325. package/esm2015/lib/dr-tooltip/dr-tooltip.directive.js +0 -147
  326. package/esm2015/lib/dr-tooltip/dr-tooltip.module.js +0 -35
  327. package/esm2015/lib/dr-treeview/components/treeview/treeview.component.js +0 -210
  328. package/esm2015/lib/dr-treeview/components/treeview-item/treeview-item.component.js +0 -58
  329. package/esm2015/lib/dr-treeview/dr-tree-view.module.js +0 -38
  330. package/esm2015/lib/dr-treeview/helpers/treeview-event-parser.js +0 -97
  331. package/esm2015/lib/dr-treeview/models/treeview-config.js +0 -22
  332. package/esm2015/lib/dr-treeview/models/treeview-i18n.js +0 -42
  333. package/esm2015/lib/dr-treeview/models/treeview-item.js +0 -155
  334. package/esm2015/lib/dr-treeview/pipes/treeview.pipe.js +0 -17
  335. package/esm2015/lib/list-tags/list-tag.component.js +0 -37
  336. package/esm2015/lib/list-tags/list-tag.module.js +0 -23
  337. package/esm2015/lib/models/chat.js +0 -36
  338. package/esm2015/lib/models/datePicker.js +0 -73
  339. package/esm2015/lib/models/popover.js +0 -27
  340. package/esm2015/lib/stepper/stepper.component.js +0 -55
  341. package/esm2015/lib/stepper/stepper.module.js +0 -17
  342. package/esm2015/public-api.js +0 -93
  343. package/fesm2015/datarailsshared-datarailsshared.js +0 -6885
  344. package/fesm2015/datarailsshared-datarailsshared.js.map +0 -1
  345. /package/{esm2015/lib/dr-inputs/dr-toggle-button/toggle-button-mode.js → esm2022/lib/dr-inputs/dr-toggle-button/toggle-button-mode.mjs} +0 -0
  346. /package/{esm2015/lib/dr-scenario/interfaces/scenario.js → esm2022/lib/dr-scenario/interfaces/scenario.mjs} +0 -0
  347. /package/{esm2015/lib/dr-tooltip/enums/tooltip-position.enum.js → esm2022/lib/dr-tooltip/enums/tooltip-position.enum.mjs} +0 -0
  348. /package/{esm2015/lib/dr-tooltip/interfaces/tooltip-component-context.js → esm2022/lib/dr-tooltip/interfaces/tooltip-component-context.mjs} +0 -0
  349. /package/{esm2015/lib/dr-treeview/helpers/treeview-helper.js → esm2022/lib/dr-treeview/helpers/treeview-helper.mjs} +0 -0
  350. /package/{esm2015/lib/dr-treeview/models/treeview-header-template-context.js → esm2022/lib/dr-treeview/models/treeview-header-template-context.mjs} +0 -0
  351. /package/{esm2015/lib/dr-treeview/models/treeview-item-template-context.js → esm2022/lib/dr-treeview/models/treeview-item-template-context.mjs} +0 -0
  352. /package/{esm2015/lib/models/badgeStatus.js → esm2022/lib/models/badgeStatus.mjs} +0 -0
  353. /package/{esm2015/lib/models/constants.js → esm2022/lib/models/constants.mjs} +0 -0
  354. /package/{esm2015/lib/models/dropdown.js → esm2022/lib/models/dropdown.mjs} +0 -0
  355. /package/{esm2015/lib/models/serverTags.js → esm2022/lib/models/serverTags.mjs} +0 -0
  356. /package/{esm2015/lib/models/spinnerOptions.js → esm2022/lib/models/spinnerOptions.mjs} +0 -0
  357. /package/{esm2015/lib/models/validationError.js → esm2022/lib/models/validationError.mjs} +0 -0
  358. /package/{esm2015/lib/stepper/interfaces/stepper.js → esm2022/lib/stepper/interfaces/stepper.mjs} +0 -0
  359. /package/{esm2015/lib/utils/dr-shared-utils.js → esm2022/lib/utils/dr-shared-utils.mjs} +0 -0
@@ -1,73 +0,0 @@
1
- import { TagsConfigSubType } from '../../models/serverTags';
2
- import { Scenario } from '../interfaces/scenario';
3
- export const allDateTags = {
4
- [TagsConfigSubType.YEAR]: {
5
- name: 'Date',
6
- toggle: false,
7
- },
8
- [TagsConfigSubType.QUARTER]: {
9
- name: 'Date',
10
- toggle: false,
11
- },
12
- [TagsConfigSubType.MONTH]: {
13
- name: 'Date',
14
- toggle: false,
15
- },
16
- [TagsConfigSubType.DAY]: {
17
- name: 'Date',
18
- toggle: false,
19
- },
20
- [TagsConfigSubType.WEEK]: {
21
- name: 'Date',
22
- toggle: false,
23
- }
24
- };
25
- export function getScenarioTagDataConfig(isMultipleDimension) {
26
- return {
27
- [Scenario.ACTUALS]: Object.assign(Object.assign({}, allDateTags), { [TagsConfigSubType.MONTH]: {
28
- name: 'Date',
29
- toggle: true,
30
- }, [TagsConfigSubType.FILE_STATUS]: {
31
- toggle: false,
32
- } }),
33
- [Scenario.BUDGET]: {
34
- [TagsConfigSubType.BUDGET_CYCLE]: {
35
- toggle: true,
36
- acceptableDateTags: [TagsConfigSubType.YEAR],
37
- hidden: !isMultipleDimension,
38
- },
39
- [TagsConfigSubType.PLAN]: {
40
- toggle: false,
41
- turnOffDateTags: true,
42
- hidden: isMultipleDimension,
43
- },
44
- [TagsConfigSubType.YEAR]: {
45
- name: 'Date',
46
- toggle: true,
47
- },
48
- [TagsConfigSubType.QUARTER]: {
49
- name: 'Date',
50
- toggle: false,
51
- },
52
- [TagsConfigSubType.FILE_STATUS]: {
53
- toggle: false,
54
- },
55
- },
56
- [Scenario.FORECAST]: {
57
- [TagsConfigSubType.FORECAST_NEW]: {
58
- toggle: true,
59
- name: 'Date',
60
- },
61
- [TagsConfigSubType.FILE_STATUS]: {
62
- toggle: false,
63
- },
64
- },
65
- [Scenario.NONE]: Object.assign(Object.assign({}, allDateTags), { [TagsConfigSubType.MONTH]: {
66
- name: 'Date',
67
- toggle: true,
68
- }, [TagsConfigSubType.FILE_STATUS]: {
69
- toggle: true,
70
- } }),
71
- };
72
- }
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NlbmFyaW8tdGFncy1jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1zY2VuYXJpby9jb25zdHMvc2NlbmFyaW8tdGFncy1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFFBQVEsRUFBNEMsTUFBTSx3QkFBd0IsQ0FBQztBQUU1RixNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUc7SUFDdkIsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUN0QixJQUFJLEVBQUUsTUFBTTtRQUNaLE1BQU0sRUFBRSxLQUFLO0tBQ2hCO0lBQ0QsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsRUFBRTtRQUN6QixJQUFJLEVBQUUsTUFBTTtRQUNaLE1BQU0sRUFBRSxLQUFLO0tBQ2hCO0lBQ0QsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsRUFBRTtRQUN2QixJQUFJLEVBQUUsTUFBTTtRQUNaLE1BQU0sRUFBRSxLQUFLO0tBQ2hCO0lBQ0QsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsRUFBRTtRQUNyQixJQUFJLEVBQUUsTUFBTTtRQUNaLE1BQU0sRUFBRSxLQUFLO0tBQ2hCO0lBQ0QsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUN0QixJQUFJLEVBQUUsTUFBTTtRQUNaLE1BQU0sRUFBRSxLQUFLO0tBQ2hCO0NBQ0osQ0FBQztBQUVGLE1BQU0sVUFBVSx3QkFBd0IsQ0FBQyxtQkFBNEI7SUFDakUsT0FBTztRQUNILENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxrQ0FDWCxXQUFXLEtBQ2QsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDdkIsSUFBSSxFQUFFLE1BQU07Z0JBQ1osTUFBTSxFQUFFLElBQUk7YUFDZixFQUNELENBQUMsaUJBQWlCLENBQUMsV0FBVyxDQUFDLEVBQUU7Z0JBQzdCLE1BQU0sRUFBRSxLQUFLO2FBQ2hCLEdBQ0o7UUFDRCxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNmLENBQUMsaUJBQWlCLENBQUMsWUFBWSxDQUFDLEVBQUU7Z0JBQzlCLE1BQU0sRUFBRSxJQUFJO2dCQUNaLGtCQUFrQixFQUFFLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDO2dCQUM1QyxNQUFNLEVBQUUsQ0FBQyxtQkFBbUI7YUFDL0I7WUFDRCxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUN0QixNQUFNLEVBQUUsS0FBSztnQkFDYixlQUFlLEVBQUUsSUFBSTtnQkFDckIsTUFBTSxFQUFFLG1CQUFtQjthQUM5QjtZQUNELENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQ3RCLElBQUksRUFBRSxNQUFNO2dCQUNaLE1BQU0sRUFBRSxJQUFJO2FBQ2Y7WUFDRCxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUN6QixJQUFJLEVBQUUsTUFBTTtnQkFDWixNQUFNLEVBQUUsS0FBSzthQUNoQjtZQUNELENBQUMsaUJBQWlCLENBQUMsV0FBVyxDQUFDLEVBQUU7Z0JBQzdCLE1BQU0sRUFBRSxLQUFLO2FBQ2hCO1NBQ0o7UUFDRCxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUNqQixDQUFDLGlCQUFpQixDQUFDLFlBQVksQ0FBQyxFQUFFO2dCQUM5QixNQUFNLEVBQUUsSUFBSTtnQkFDWixJQUFJLEVBQUUsTUFBTTthQUNmO1lBQ0QsQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsRUFBRTtnQkFDN0IsTUFBTSxFQUFFLEtBQUs7YUFDaEI7U0FDSjtRQUNELENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxrQ0FDUixXQUFXLEtBQ2QsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDdkIsSUFBSSxFQUFFLE1BQU07Z0JBQ1osTUFBTSxFQUFFLElBQUk7YUFDZixFQUNELENBQUMsaUJBQWlCLENBQUMsV0FBVyxDQUFDLEVBQUU7Z0JBQzdCLE1BQU0sRUFBRSxJQUFJO2FBQ2YsR0FDSjtLQUNKLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGFnc0NvbmZpZ1N1YlR5cGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvc2VydmVyVGFncyc7XG5pbXBvcnQgeyBTY2VuYXJpbywgVFNjZW5hcmlvVGFnQ29uZmlnRGF0YSwgVFNjZW5hcmlvVGFnRGF0YSB9IGZyb20gJy4uL2ludGVyZmFjZXMvc2NlbmFyaW8nO1xuXG5leHBvcnQgY29uc3QgYWxsRGF0ZVRhZ3MgPSB7XG4gICAgW1RhZ3NDb25maWdTdWJUeXBlLllFQVJdOiB7XG4gICAgICAgIG5hbWU6ICdEYXRlJyxcbiAgICAgICAgdG9nZ2xlOiBmYWxzZSxcbiAgICB9LFxuICAgIFtUYWdzQ29uZmlnU3ViVHlwZS5RVUFSVEVSXToge1xuICAgICAgICBuYW1lOiAnRGF0ZScsXG4gICAgICAgIHRvZ2dsZTogZmFsc2UsXG4gICAgfSxcbiAgICBbVGFnc0NvbmZpZ1N1YlR5cGUuTU9OVEhdOiB7XG4gICAgICAgIG5hbWU6ICdEYXRlJyxcbiAgICAgICAgdG9nZ2xlOiBmYWxzZSxcbiAgICB9LFxuICAgIFtUYWdzQ29uZmlnU3ViVHlwZS5EQVldOiB7XG4gICAgICAgIG5hbWU6ICdEYXRlJyxcbiAgICAgICAgdG9nZ2xlOiBmYWxzZSxcbiAgICB9LFxuICAgIFtUYWdzQ29uZmlnU3ViVHlwZS5XRUVLXToge1xuICAgICAgICBuYW1lOiAnRGF0ZScsXG4gICAgICAgIHRvZ2dsZTogZmFsc2UsXG4gICAgfVxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFNjZW5hcmlvVGFnRGF0YUNvbmZpZyhpc011bHRpcGxlRGltZW5zaW9uOiBib29sZWFuKTogVFNjZW5hcmlvVGFnRGF0YTxUU2NlbmFyaW9UYWdDb25maWdEYXRhPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgW1NjZW5hcmlvLkFDVFVBTFNdOiB7XG4gICAgICAgICAgICAuLi5hbGxEYXRlVGFncyxcbiAgICAgICAgICAgIFtUYWdzQ29uZmlnU3ViVHlwZS5NT05USF06IHtcbiAgICAgICAgICAgICAgICBuYW1lOiAnRGF0ZScsXG4gICAgICAgICAgICAgICAgdG9nZ2xlOiB0cnVlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIFtUYWdzQ29uZmlnU3ViVHlwZS5GSUxFX1NUQVRVU106IHtcbiAgICAgICAgICAgICAgICB0b2dnbGU6IGZhbHNlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgW1NjZW5hcmlvLkJVREdFVF06IHtcbiAgICAgICAgICAgIFtUYWdzQ29uZmlnU3ViVHlwZS5CVURHRVRfQ1lDTEVdOiB7XG4gICAgICAgICAgICAgICAgdG9nZ2xlOiB0cnVlLFxuICAgICAgICAgICAgICAgIGFjY2VwdGFibGVEYXRlVGFnczogW1RhZ3NDb25maWdTdWJUeXBlLllFQVJdLFxuICAgICAgICAgICAgICAgIGhpZGRlbjogIWlzTXVsdGlwbGVEaW1lbnNpb24sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgW1RhZ3NDb25maWdTdWJUeXBlLlBMQU5dOiB7XG4gICAgICAgICAgICAgICAgdG9nZ2xlOiBmYWxzZSxcbiAgICAgICAgICAgICAgICB0dXJuT2ZmRGF0ZVRhZ3M6IHRydWUsXG4gICAgICAgICAgICAgICAgaGlkZGVuOiBpc011bHRpcGxlRGltZW5zaW9uLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIFtUYWdzQ29uZmlnU3ViVHlwZS5ZRUFSXToge1xuICAgICAgICAgICAgICAgIG5hbWU6ICdEYXRlJyxcbiAgICAgICAgICAgICAgICB0b2dnbGU6IHRydWUsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgW1RhZ3NDb25maWdTdWJUeXBlLlFVQVJURVJdOiB7XG4gICAgICAgICAgICAgICAgbmFtZTogJ0RhdGUnLFxuICAgICAgICAgICAgICAgIHRvZ2dsZTogZmFsc2UsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgW1RhZ3NDb25maWdTdWJUeXBlLkZJTEVfU1RBVFVTXToge1xuICAgICAgICAgICAgICAgIHRvZ2dsZTogZmFsc2UsXG4gICAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBbU2NlbmFyaW8uRk9SRUNBU1RdOiB7XG4gICAgICAgICAgICBbVGFnc0NvbmZpZ1N1YlR5cGUuRk9SRUNBU1RfTkVXXToge1xuICAgICAgICAgICAgICAgIHRvZ2dsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBuYW1lOiAnRGF0ZScsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgW1RhZ3NDb25maWdTdWJUeXBlLkZJTEVfU1RBVFVTXToge1xuICAgICAgICAgICAgICAgIHRvZ2dsZTogZmFsc2UsXG4gICAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBbU2NlbmFyaW8uTk9ORV06IHtcbiAgICAgICAgICAgIC4uLmFsbERhdGVUYWdzLFxuICAgICAgICAgICAgW1RhZ3NDb25maWdTdWJUeXBlLk1PTlRIXToge1xuICAgICAgICAgICAgICAgIG5hbWU6ICdEYXRlJyxcbiAgICAgICAgICAgICAgICB0b2dnbGU6IHRydWUsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgW1RhZ3NDb25maWdTdWJUeXBlLkZJTEVfU1RBVFVTXToge1xuICAgICAgICAgICAgICAgIHRvZ2dsZTogdHJ1ZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgfTtcbn1cbiJdfQ==
@@ -1,28 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { ScenarioService } from './services/scenario.service';
4
- import { DrInputsModule } from '../dr-inputs/dr-inputs.module';
5
- import { FormsModule } from '@angular/forms';
6
- import { DrScenarioConfigurationComponent } from './components/dr-scenario-configuration/dr-scenario-configuration.component';
7
- import { DrScenarioTagConfigurationComponent } from './components/dr-scenario-tag-configuration/dr-scenario-tag-configuration.component';
8
- import { DrTagModule } from '../dr-tags/dr-tag.module';
9
- const COMPONENTS = [
10
- DrScenarioConfigurationComponent,
11
- DrScenarioTagConfigurationComponent,
12
- ];
13
- export class DrScenarioModule {
14
- }
15
- DrScenarioModule.decorators = [
16
- { type: NgModule, args: [{
17
- declarations: [...COMPONENTS],
18
- providers: [ScenarioService],
19
- imports: [
20
- CommonModule,
21
- DrInputsModule,
22
- FormsModule,
23
- DrTagModule
24
- ],
25
- exports: [...COMPONENTS],
26
- },] }
27
- ];
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItc2NlbmFyaW8ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItc2NlbmFyaW8vZHItc2NlbmFyaW8ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLDRFQUE0RSxDQUFDO0FBQzlILE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLG9GQUFvRixDQUFDO0FBQ3pJLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUd2RCxNQUFNLFVBQVUsR0FBRztJQUNmLGdDQUFnQztJQUNoQyxtQ0FBbUM7Q0FDdEMsQ0FBQTtBQWFELE1BQU0sT0FBTyxnQkFBZ0I7OztZQVg1QixRQUFRLFNBQUM7Z0JBQ04sWUFBWSxFQUFFLENBQUMsR0FBRyxVQUFVLENBQUM7Z0JBQzdCLFNBQVMsRUFBRSxDQUFDLGVBQWUsQ0FBQztnQkFDNUIsT0FBTyxFQUFFO29CQUNMLFlBQVk7b0JBQ1osY0FBYztvQkFDZCxXQUFXO29CQUNYLFdBQVc7aUJBQ2Q7Z0JBQ0QsT0FBTyxFQUFFLENBQUMsR0FBRyxVQUFVLENBQUM7YUFDM0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFNjZW5hcmlvU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvc2NlbmFyaW8uc2VydmljZSc7XG5pbXBvcnQgeyBEcklucHV0c01vZHVsZSB9IGZyb20gJy4uL2RyLWlucHV0cy9kci1pbnB1dHMubW9kdWxlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRHJTY2VuYXJpb0NvbmZpZ3VyYXRpb25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZHItc2NlbmFyaW8tY29uZmlndXJhdGlvbi9kci1zY2VuYXJpby1jb25maWd1cmF0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEclNjZW5hcmlvVGFnQ29uZmlndXJhdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9kci1zY2VuYXJpby10YWctY29uZmlndXJhdGlvbi9kci1zY2VuYXJpby10YWctY29uZmlndXJhdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHJUYWdNb2R1bGUgfSBmcm9tICcuLi9kci10YWdzL2RyLXRhZy5tb2R1bGUnO1xuXG5cbmNvbnN0IENPTVBPTkVOVFMgPSBbXG4gICAgRHJTY2VuYXJpb0NvbmZpZ3VyYXRpb25Db21wb25lbnQsXG4gICAgRHJTY2VuYXJpb1RhZ0NvbmZpZ3VyYXRpb25Db21wb25lbnQsXG5dXG5cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbLi4uQ09NUE9ORU5UU10sXG4gICAgcHJvdmlkZXJzOiBbU2NlbmFyaW9TZXJ2aWNlXSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgRHJJbnB1dHNNb2R1bGUsXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgICAgICBEclRhZ01vZHVsZVxuICAgIF0sXG4gICAgZXhwb3J0czogWy4uLkNPTVBPTkVOVFNdLFxufSlcbmV4cG9ydCBjbGFzcyBEclNjZW5hcmlvTW9kdWxlIHtcbn1cbiJdfQ==
@@ -1,167 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { TagsConfigSubType, TagTypes } from '../../models/serverTags';
3
- import { Scenario } from '../interfaces/scenario';
4
- import { cloneDeep as _cloneDeep, filter as _filter, find as _find, forEach as _forEach, orderBy as _orderBy, indexOf as _indexOf, reduce as _reduce, some as _some, } from 'lodash';
5
- import { getScenarioTagDataConfig } from '../consts/scenario-tags-config';
6
- export class ScenarioService {
7
- constructor() {
8
- this.DEFAULT_FORECAST_DATE_TAG = 'Month';
9
- }
10
- get scenarios() {
11
- return _orderBy(Object.values(Scenario), (scenario) => scenario === Scenario.NONE ? 1 : 0);
12
- }
13
- get areExistingTagsConfig() {
14
- return !!this.currentTagsConfig;
15
- }
16
- initScenarioTags(wholeTagsConfig, currentTagsConfig, isMultipleDimension) {
17
- if (!(wholeTagsConfig === null || wholeTagsConfig === void 0 ? void 0 : wholeTagsConfig.length))
18
- return;
19
- this.wholeTagsConfig = _cloneDeep(wholeTagsConfig);
20
- this.currentTagsConfig = currentTagsConfig;
21
- this.isMultipleDimension = isMultipleDimension;
22
- }
23
- getTagsConfigByScenarioTags(scenarioTags, tagsConfig) {
24
- const scenarioTagsConfig = _filter(tagsConfig, (tagConfig) => _some(scenarioTags, (scenarioTag) => scenarioTag.toggle && scenarioTag.selectedTagSubType === tagConfig.options.sub_type));
25
- return this.sortScenarioTags(scenarioTagsConfig);
26
- }
27
- getScenarioTagsByScenario(scenario) {
28
- const scenarioTagsConfig = this.getScenarioTagsConfig(scenario, this.wholeTagsConfig);
29
- const scenarioTagsUi = [];
30
- _forEach(scenarioTagsConfig, (scenarioTag) => {
31
- const isTagWithSubTags = scenarioTag.type === TagTypes.DATE;
32
- const tagWithSubTags = isTagWithSubTags && _find(scenarioTagsUi, { type: scenarioTag.type });
33
- const tag = tagWithSubTags || this.prepareScenarioTag(scenarioTagsConfig, scenarioTag, scenario, isTagWithSubTags);
34
- if (isTagWithSubTags) {
35
- this.updateScenarioSubTags(tag, scenarioTag);
36
- tag.subTags = this.sortedScenarioSubTags(tag);
37
- }
38
- if (tagWithSubTags)
39
- return;
40
- scenarioTagsUi.push(tag);
41
- });
42
- if (this.areExistingTagsConfig) {
43
- this.initExistingTagsConfig(scenario, scenarioTagsUi);
44
- }
45
- const isTagNotSupportingDates = _some(scenarioTagsUi, { turnOffDateTags: true, toggle: true });
46
- if (isTagNotSupportingDates) {
47
- this.turnOffDateTag(scenarioTagsUi);
48
- }
49
- const tagWithSpecificDateTags = _find(scenarioTagsUi, (tag) => { var _a; return tag.toggle && !!((_a = tag.acceptableDateTags) === null || _a === void 0 ? void 0 : _a.length); });
50
- if (tagWithSpecificDateTags) {
51
- this.hideNotAvailableTags(tagWithSpecificDateTags, scenarioTagsUi);
52
- }
53
- return this.sortScenarioTags(scenarioTagsUi);
54
- }
55
- sortScenarioTags(scenarioTagsUi) {
56
- return _orderBy(scenarioTagsUi, [
57
- (tag) => (tag.type === TagTypes.DATE ? 0 : 1),
58
- (tag) => (tag.name === 'File Status')
59
- ]);
60
- }
61
- initExistingTagsConfig(scenario, scenarioTagsUi) {
62
- _forEach(this.currentTagsConfig, (tagConfig) => {
63
- var _a;
64
- const tagSubType = (_a = tagConfig === null || tagConfig === void 0 ? void 0 : tagConfig.options) === null || _a === void 0 ? void 0 : _a.sub_type;
65
- const scenarioTagDataConfig = getScenarioTagDataConfig(this.isMultipleDimension);
66
- if (!scenarioTagDataConfig || !scenarioTagDataConfig[scenario] || !scenarioTagDataConfig[scenario][tagSubType]) {
67
- return;
68
- }
69
- const scenarioTagUi = tagConfig.type === TagTypes.DATE
70
- ? _find(scenarioTagsUi, { type: tagConfig.type })
71
- : _find(scenarioTagsUi, { selectedTagSubType: tagSubType });
72
- scenarioTagUi.toggle = true;
73
- scenarioTagUi.selectedTagSubType = tagSubType;
74
- });
75
- }
76
- prepareScenarioTag(scenarioTagsConfig, scenarioTag, scenario, isDateTag) {
77
- const toggleStatus = isDateTag
78
- ? _some(scenarioTagsConfig, (tag) => tag.type === TagTypes.DATE && tag.scenarioData.toggle)
79
- : scenarioTag.scenarioData.toggle;
80
- const selectedTagSubType = isDateTag
81
- ? this.getScenarioSelectedDateTag(scenario, scenarioTagsConfig)
82
- : scenarioTag.options.sub_type;
83
- const tag = {
84
- toggle: this.areExistingTagsConfig ? false : toggleStatus,
85
- name: scenarioTag.scenarioData.name || scenarioTag.name,
86
- description: scenarioTag.scenarioData.description || scenarioTag.description,
87
- type: scenarioTag.type,
88
- selectedTagSubType,
89
- };
90
- if (scenarioTag.scenarioData.turnOffDateTags) {
91
- tag.turnOffDateTags = scenarioTag.scenarioData.turnOffDateTags;
92
- }
93
- if (scenarioTag.scenarioData.acceptableDateTags) {
94
- tag.acceptableDateTags = scenarioTag.scenarioData.acceptableDateTags;
95
- }
96
- return tag;
97
- }
98
- sortedScenarioSubTags(tag) {
99
- const SUB_TAGS_ORDER = [TagsConfigSubType.DAY, TagsConfigSubType.WEEK, TagsConfigSubType.MONTH, TagsConfigSubType.QUARTER, TagsConfigSubType.YEAR];
100
- return _orderBy(tag.subTags, (subTag) => _indexOf(SUB_TAGS_ORDER, subTag.subType));
101
- }
102
- updateScenarioSubTags(tag, scenarioTag) {
103
- if (!tag.subTags) {
104
- tag.subTags = [];
105
- }
106
- const tagSubType = scenarioTag.options.sub_type;
107
- tag.subTags.push({
108
- subType: tagSubType,
109
- name: tagSubType === TagsConfigSubType.FORECAST_NEW ? this.DEFAULT_FORECAST_DATE_TAG : scenarioTag.name,
110
- });
111
- }
112
- turnOffDateTag(scenarioTags) {
113
- const dateTag = _find(scenarioTags, { type: TagTypes.DATE });
114
- if (!dateTag)
115
- return;
116
- dateTag.toggle = false;
117
- }
118
- hideNotAvailableTags(tagWithSpecificDateTags, scenarioTags) {
119
- var _a;
120
- const subTags = (_a = _find(scenarioTags, { type: TagTypes.DATE })) === null || _a === void 0 ? void 0 : _a.subTags;
121
- if (!subTags.length)
122
- return;
123
- _forEach(scenarioTags, (tag) => {
124
- var _a;
125
- if (!((_a = tag.acceptableDateTags) === null || _a === void 0 ? void 0 : _a.length))
126
- return;
127
- if (tag !== tagWithSpecificDateTags) {
128
- tag.toggle = false;
129
- }
130
- });
131
- _forEach(subTags, (subTag) => {
132
- subTag.hidden = !tagWithSpecificDateTags.acceptableDateTags.includes(subTag.subType);
133
- });
134
- }
135
- getScenarioSelectedDateTag(scenario, dateTags) {
136
- var _a, _b;
137
- const monthSubType = (_b = (_a = _find(dateTags, (tag) => tag.options.sub_type === TagsConfigSubType.MONTH)) === null || _a === void 0 ? void 0 : _a.options) === null || _b === void 0 ? void 0 : _b.sub_type;
138
- const scenarioSelectedDateTag = {
139
- [Scenario.ACTUALS]: () => monthSubType,
140
- [Scenario.BUDGET]: () => { var _a, _b; return (_b = (_a = _find(dateTags, (tag) => tag.options.sub_type === TagsConfigSubType.YEAR)) === null || _a === void 0 ? void 0 : _a.options) === null || _b === void 0 ? void 0 : _b.sub_type; },
141
- [Scenario.FORECAST]: () => { var _a, _b; return (_b = (_a = _find(dateTags, (tag) => tag.options.sub_type === TagsConfigSubType.FORECAST_NEW)) === null || _a === void 0 ? void 0 : _a.options) === null || _b === void 0 ? void 0 : _b.sub_type; },
142
- [Scenario.NONE]: () => monthSubType,
143
- };
144
- if (!scenarioSelectedDateTag[scenario])
145
- return;
146
- return scenarioSelectedDateTag[scenario]();
147
- }
148
- getScenarioTagsConfig(scenario, tagsConfig) {
149
- return _reduce(tagsConfig, (acc, tagConfig) => {
150
- var _a;
151
- const tagSubType = (_a = tagConfig === null || tagConfig === void 0 ? void 0 : tagConfig.options) === null || _a === void 0 ? void 0 : _a.sub_type;
152
- const scenarioTagDataConfig = getScenarioTagDataConfig(this.isMultipleDimension);
153
- const scenarioTagConfig = scenarioTagDataConfig && scenarioTagDataConfig[scenario] ?
154
- scenarioTagDataConfig[scenario][tagSubType] : null;
155
- if (!scenarioTagConfig || scenarioTagConfig.hidden)
156
- return acc;
157
- const clonedTagConfig = _cloneDeep(tagConfig);
158
- const scenarioTag = Object.assign(Object.assign({}, clonedTagConfig), { scenarioData: scenarioTagConfig });
159
- acc.push(scenarioTag);
160
- return acc;
161
- }, []);
162
- }
163
- }
164
- ScenarioService.decorators = [
165
- { type: Injectable }
166
- ];
167
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NlbmFyaW8uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLXNjZW5hcmlvL3NlcnZpY2VzL3NjZW5hcmlvLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQVEsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDNUUsT0FBTyxFQUE0RCxRQUFRLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RyxPQUFPLEVBQ0gsU0FBUyxJQUFJLFVBQVUsRUFDdkIsTUFBTSxJQUFJLE9BQU8sRUFDakIsSUFBSSxJQUFJLEtBQUssRUFDYixPQUFPLElBQUksUUFBUSxFQUNuQixPQUFPLElBQUksUUFBUSxFQUNuQixPQUFPLElBQUksUUFBUSxFQUNuQixNQUFNLElBQUksT0FBTyxFQUNqQixJQUFJLElBQUksS0FBSyxHQUNoQixNQUFNLFFBQVEsQ0FBQztBQUNoQixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUcxRSxNQUFNLE9BQU8sZUFBZTtJQUQ1QjtRQUVZLDhCQUF5QixHQUFHLE9BQU8sQ0FBQztJQTRMaEQsQ0FBQztJQXRMRyxJQUFXLFNBQVM7UUFDaEIsT0FBTyxRQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsUUFBUSxLQUFLLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDL0YsQ0FBQztJQUVELElBQVkscUJBQXFCO1FBQzdCLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztJQUNwQyxDQUFDO0lBRU0sZ0JBQWdC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LFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUM5QyxNQUFNLFdBQVcsbUNBQXNCLGVBQWUsS0FBRSxZQUFZLEVBQUUsaUJBQWlCLEdBQUUsQ0FBQztZQUUxRixHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3RCLE9BQU8sR0FBRyxDQUFDO1FBQ2YsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ1gsQ0FBQzs7O1lBN0xKLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJVGFnLCBUYWdzQ29uZmlnU3ViVHlwZSwgVGFnVHlwZXMgfSBmcm9tICcuLi8uLi9tb2RlbHMvc2VydmVyVGFncyc7XG5pbXBvcnQgeyBJU2NlbmFyaW8sIElTY2VuYXJpb1N1YlRhZywgSVNjZW5hcmlvVGFnLCBJU2NlbmFyaW9UYWdVaSwgU2NlbmFyaW8gfSBmcm9tICcuLi9pbnRlcmZhY2VzL3NjZW5hcmlvJztcbmltcG9ydCB7XG4gICAgY2xvbmVEZWVwIGFzIF9jbG9uZURlZXAsXG4gICAgZmlsdGVyIGFzIF9maWx0ZXIsXG4gICAgZmluZCBhcyBfZmluZCxcbiAgICBmb3JFYWNoIGFzIF9mb3JFYWNoLFxuICAgIG9yZGVyQnkgYXMgX29yZGVyQnksXG4gICAgaW5kZXhPZiBhcyBfaW5kZXhPZixcbiAgICByZWR1Y2UgYXMgX3JlZHVjZSxcbiAgICBzb21lIGFzIF9zb21lLFxufSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgZ2V0U2NlbmFyaW9UYWdEYXRhQ29uZmlnIH0gZnJvbSAnLi4vY29uc3RzL3NjZW5hcmlvLXRhZ3MtY29uZmlnJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNjZW5hcmlvU2VydmljZSB7XG4gICAgcHJpdmF0ZSBERUZBVUxUX0ZPUkVDQVNUX0RBVEVfVEFHID0gJ01vbnRoJztcblxuICAgIHByaXZhdGUgd2hvbGVUYWdzQ29uZmlnOiBJVGFnW107XG4gICAgcHJpdmF0ZSBjdXJyZW50VGFnc0NvbmZpZzogSVRhZ1tdO1xuICAgIHByaXZhdGUgaXNNdWx0aXBsZURpbWVuc2lvbjogYm9vbGVhbjtcblxuICAgIHB1YmxpYyBnZXQgc2NlbmFyaW9zKCk6IFNjZW5hcmlvW10ge1xuICAgICAgICByZXR1cm4gX29yZGVyQnkoT2JqZWN0LnZhbHVlcyhTY2VuYXJpbyksIChzY2VuYXJpbykgPT4gc2NlbmFyaW8gPT09IFNjZW5hcmlvLk5PTkUgPyAxIDogMCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgYXJlRXhpc3RpbmdUYWdzQ29uZmlnKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLmN1cnJlbnRUYWdzQ29uZmlnO1xuICAgIH1cblxuICAgIHB1YmxpYyBpbml0U2NlbmFyaW9UYWdzKHdob2xlVGFnc0NvbmZpZzogSVRhZ1tdLCBjdXJyZW50VGFnc0NvbmZpZzogSVRhZ1tdLCBpc011bHRpcGxlRGltZW5zaW9uOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGlmICghd2hvbGVUYWdzQ29uZmlnPy5sZW5ndGgpIHJldHVybjtcblxuICAgICAgICB0aGlzLndob2xlVGFnc0NvbmZpZyA9IF9jbG9uZURlZXAod2hvbGVUYWdzQ29uZmlnKTtcbiAgICAgICAgdGhpcy5jdXJyZW50VGFnc0NvbmZpZyA9IGN1cnJlbnRUYWdzQ29uZmlnO1xuICAgICAgICB0aGlzLmlzTXVsdGlwbGVEaW1lbnNpb24gPSBpc011bHRpcGxlRGltZW5zaW9uO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRUYWdzQ29uZmlnQnlTY2VuYXJpb1RhZ3Moc2NlbmFyaW9UYWdzOiBJU2NlbmFyaW9UYWdVaVtdLCB0YWdzQ29uZmlnOiBJVGFnW10pOiBJVGFnW10ge1xuICAgICAgICBjb25zdCBzY2VuYXJpb1RhZ3NDb25maWcgPSBfZmlsdGVyKHRhZ3NDb25maWcsICh0YWdDb25maWcpID0+XG4gICAgICAgICAgICBfc29tZShzY2VuYXJpb1RhZ3MsIChzY2VuYXJpb1RhZykgPT4gc2NlbmFyaW9UYWcudG9nZ2xlICYmIHNjZW5hcmlvVGFnLnNlbGVjdGVkVGFnU3ViVHlwZSA9PT0gdGFnQ29uZmlnLm9wdGlvbnMuc3ViX3R5cGUpKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5zb3J0U2NlbmFyaW9UYWdzKHNjZW5hcmlvVGFnc0NvbmZpZyk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFNjZW5hcmlvVGFnc0J5U2NlbmFyaW8oc2NlbmFyaW86IFNjZW5hcmlvKSB7XG4gICAgICAgIGNvbnN0IHNjZW5hcmlvVGFnc0NvbmZpZzogSVNjZW5hcmlvVGFnW10gPSB0aGlzLmdldFNjZW5hcmlvVGFnc0NvbmZpZyhzY2VuYXJpbywgdGhpcy53aG9sZVRhZ3NDb25maWcpO1xuICAgICAgICBjb25zdCBzY2VuYXJpb1RhZ3NVaTogSVNjZW5hcmlvVGFnVWlbXSA9IFtdO1xuXG4gICAgICAgIF9mb3JFYWNoKHNjZW5hcmlvVGFnc0NvbmZpZywgKHNjZW5hcmlvVGFnOiBJU2NlbmFyaW9UYWcpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGlzVGFnV2l0aFN1YlRhZ3MgPSBzY2VuYXJpb1RhZy50eXBlID09PSBUYWdUeXBlcy5EQVRFO1xuICAgICAgICAgICAgY29uc3QgdGFnV2l0aFN1YlRhZ3MgPSBpc1RhZ1dpdGhTdWJUYWdzICYmIF9maW5kKHNjZW5hcmlvVGFnc1VpLCB7IHR5cGU6IHNjZW5hcmlvVGFnLnR5cGUgfSk7XG5cbiAgICAgICAgICAgIGNvbnN0IHRhZzogSVNjZW5hcmlvVGFnVWkgPSB0YWdXaXRoU3ViVGFncyB8fCB0aGlzLnByZXBhcmVTY2VuYXJpb1RhZyhzY2VuYXJpb1RhZ3NDb25maWcsIHNjZW5hcmlvVGFnLCBzY2VuYXJpbywgaXNUYWdXaXRoU3ViVGFncyk7XG5cbiAgICAgICAgICAgIGlmIChpc1RhZ1dpdGhTdWJUYWdzKSB7XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVTY2VuYXJpb1N1YlRhZ3ModGFnLCBzY2VuYXJpb1RhZyk7XG4gICAgICAgICAgICAgICAgdGFnLnN1YlRhZ3MgPSB0aGlzLnNvcnRlZFNjZW5hcmlvU3ViVGFncyh0YWcpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodGFnV2l0aFN1YlRhZ3MpIHJldHVybjtcbiAgICAgICAgICAgIHNjZW5hcmlvVGFnc1VpLnB1c2godGFnKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKHRoaXMuYXJlRXhpc3RpbmdUYWdzQ29uZmlnKSB7XG4gICAgICAgICAgICB0aGlzLmluaXRFeGlzdGluZ1RhZ3NDb25maWcoc2NlbmFyaW8sIHNjZW5hcmlvVGFnc1VpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGlzVGFnTm90U3VwcG9ydGluZ0RhdGVzID0gX3NvbWUoc2NlbmFyaW9UYWdzVWksIHsgdHVybk9mZkRhdGVUYWdzOiB0cnVlLCB0b2dnbGU6IHRydWUgfSk7XG4gICAgICAgIGlmIChpc1RhZ05vdFN1cHBvcnRpbmdEYXRlcykge1xuICAgICAgICAgICAgdGhpcy50dXJuT2ZmRGF0ZVRhZyhzY2VuYXJpb1RhZ3NVaSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB0YWdXaXRoU3BlY2lmaWNEYXRlVGFnczogSVNjZW5hcmlvVGFnVWkgPSBfZmluZChzY2VuYXJpb1RhZ3NVaSwgKHRhZykgPT4gdGFnLnRvZ2dsZSAmJiAhIXRhZy5hY2NlcHRhYmxlRGF0ZVRhZ3M/Lmxlbmd0aCk7XG4gICAgICAgIGlmICh0YWdXaXRoU3BlY2lmaWNEYXRlVGFncykge1xuICAgICAgICAgICAgdGhpcy5oaWRlTm90QXZhaWxhYmxlVGFncyh0YWdXaXRoU3BlY2lmaWNEYXRlVGFncywgc2NlbmFyaW9UYWdzVWkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuc29ydFNjZW5hcmlvVGFncyhzY2VuYXJpb1RhZ3NVaSk7XG4gICAgfVxuXG4gICAgcHVibGljIHNvcnRTY2VuYXJpb1RhZ3Moc2NlbmFyaW9UYWdzVWk6IGFueVtdKTogYW55W10ge1xuICAgICAgICByZXR1cm4gX29yZGVyQnkoc2NlbmFyaW9UYWdzVWksIFtcbiAgICAgICAgICAgICh0YWcpID0+ICh0YWcudHlwZSA9PT0gVGFnVHlwZXMuREFURSA/IDAgOiAxKSxcbiAgICAgICAgICAgICh0YWcpID0+ICh0YWcubmFtZSA9PT0gJ0ZpbGUgU3RhdHVzJylcbiAgICAgICAgXSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0RXhpc3RpbmdUYWdzQ29uZmlnKHNjZW5hcmlvOiBTY2VuYXJpbywgc2NlbmFyaW9UYWdzVWk6IElTY2VuYXJpb1RhZ1VpW10pIHtcbiAgICAgICAgX2ZvckVhY2godGhpcy5jdXJyZW50VGFnc0NvbmZpZywgKHRhZ0NvbmZpZykgPT4ge1xuICAgICAgICAgICAgY29uc3QgdGFnU3ViVHlwZSA9IHRhZ0NvbmZpZz8ub3B0aW9ucz8uc3ViX3R5cGU7XG4gICAgICAgICAgICBjb25zdCBzY2VuYXJpb1RhZ0RhdGFDb25maWcgPSBnZXRTY2VuYXJpb1RhZ0RhdGFDb25maWcodGhpcy5pc011bHRpcGxlRGltZW5zaW9uKTtcbiAgICAgICAgICAgIGlmICghc2NlbmFyaW9UYWdEYXRhQ29uZmlnIHx8ICFzY2VuYXJpb1RhZ0RhdGFDb25maWdbc2NlbmFyaW9dIHx8ICFzY2VuYXJpb1RhZ0RhdGFDb25maWdbc2NlbmFyaW9dW3RhZ1N1YlR5cGVdKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBzY2VuYXJpb1RhZ1VpID0gdGFnQ29uZmlnLnR5cGUgPT09IFRhZ1R5cGVzLkRBVEVcbiAgICAgICAgICAgICAgICA/IF9maW5kKHNjZW5hcmlvVGFnc1VpLCB7IHR5cGU6IHRhZ0NvbmZpZy50eXBlIH0pXG4gICAgICAgICAgICAgICAgOiBfZmluZChzY2VuYXJpb1RhZ3NVaSwgeyBzZWxlY3RlZFRhZ1N1YlR5cGU6IHRhZ1N1YlR5cGUgfSk7XG5cbiAgICAgICAgICAgIHNjZW5hcmlvVGFnVWkudG9nZ2xlID0gdHJ1ZTtcbiAgICAgICAgICAgIHNjZW5hcmlvVGFnVWkuc2VsZWN0ZWRUYWdTdWJUeXBlID0gdGFnU3ViVHlwZTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwcmVwYXJlU2NlbmFyaW9UYWcoc2NlbmFyaW9UYWdzQ29uZmlnOiBJU2NlbmFyaW9UYWdbXSwgc2NlbmFyaW9UYWc6IElTY2VuYXJpb1RhZywgc2NlbmFyaW86IFNjZW5hcmlvLCBpc0RhdGVUYWc6IGJvb2xlYW4pOiBJU2NlbmFyaW9UYWdVaSB7XG4gICAgICAgIGNvbnN0IHRvZ2dsZVN0YXR1cyA9IGlzRGF0ZVRhZ1xuICAgICAgICAgICAgPyBfc29tZShzY2VuYXJpb1RhZ3NDb25maWcsICh0YWcpID0+IHRhZy50eXBlID09PSBUYWdUeXBlcy5EQVRFICYmIHRhZy5zY2VuYXJpb0RhdGEudG9nZ2xlKVxuICAgICAgICAgICAgOiBzY2VuYXJpb1RhZy5zY2VuYXJpb0RhdGEudG9nZ2xlO1xuXG4gICAgICAgIGNvbnN0IHNlbGVjdGVkVGFnU3ViVHlwZSA9ICBpc0RhdGVUYWdcbiAgICAgICAgICAgICAgICA/IHRoaXMuZ2V0U2NlbmFyaW9TZWxlY3RlZERhdGVUYWcoc2NlbmFyaW8sIHNjZW5hcmlvVGFnc0NvbmZpZylcbiAgICAgICAgICAgICAgICA6IHNjZW5hcmlvVGFnLm9wdGlvbnMuc3ViX3R5cGU7XG5cbiAgICAgICAgY29uc3QgdGFnOiBJU2NlbmFyaW9UYWdVaSA9IHtcbiAgICAgICAgICAgIHRvZ2dsZTogdGhpcy5hcmVFeGlzdGluZ1RhZ3NDb25maWcgPyBmYWxzZSA6IHRvZ2dsZVN0YXR1cyxcbiAgICAgICAgICAgIG5hbWU6IHNjZW5hcmlvVGFnLnNjZW5hcmlvRGF0YS5uYW1lIHx8IHNjZW5hcmlvVGFnLm5hbWUsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogc2NlbmFyaW9UYWcuc2NlbmFyaW9EYXRhLmRlc2NyaXB0aW9uIHx8IHNjZW5hcmlvVGFnLmRlc2NyaXB0aW9uLFxuICAgICAgICAgICAgdHlwZTogc2NlbmFyaW9UYWcudHlwZSxcbiAgICAgICAgICAgIHNlbGVjdGVkVGFnU3ViVHlwZSxcbiAgICAgICAgfTtcblxuICAgICAgICBpZiAoc2NlbmFyaW9UYWcuc2NlbmFyaW9EYXRhLnR1cm5PZmZEYXRlVGFncykge1xuICAgICAgICAgICAgdGFnLnR1cm5PZmZEYXRlVGFncyA9IHNjZW5hcmlvVGFnLnNjZW5hcmlvRGF0YS50dXJuT2ZmRGF0ZVRhZ3M7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc2NlbmFyaW9UYWcuc2NlbmFyaW9EYXRhLmFjY2VwdGFibGVEYXRlVGFncykge1xuICAgICAgICAgICAgdGFnLmFjY2VwdGFibGVEYXRlVGFncyA9IHNjZW5hcmlvVGFnLnNjZW5hcmlvRGF0YS5hY2NlcHRhYmxlRGF0ZVRhZ3M7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGFnO1xuICAgIH1cblxuICAgIHByaXZhdGUgc29ydGVkU2NlbmFyaW9TdWJUYWdzKHRhZzogSVNjZW5hcmlvVGFnVWkpOiBJU2NlbmFyaW9TdWJUYWdbXSB7XG4gICAgICAgIGNvbnN0IFNVQl9UQUdTX09SREVSID0gW1RhZ3NDb25maWdTdWJUeXBlLkRBWSwgVGFnc0NvbmZpZ1N1YlR5cGUuV0VFSywgVGFnc0NvbmZpZ1N1YlR5cGUuTU9OVEgsIFRhZ3NDb25maWdTdWJUeXBlLlFVQVJURVIsIFRhZ3NDb25maWdTdWJUeXBlLllFQVJdO1xuICAgICAgICByZXR1cm4gX29yZGVyQnkodGFnLnN1YlRhZ3MsIChzdWJUYWcpID0+IF9pbmRleE9mKFNVQl9UQUdTX09SREVSLCBzdWJUYWcuc3ViVHlwZSkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlU2NlbmFyaW9TdWJUYWdzKHRhZzogSVNjZW5hcmlvVGFnVWksIHNjZW5hcmlvVGFnOiBJU2NlbmFyaW9UYWcpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0YWcuc3ViVGFncykge1xuICAgICAgICAgICAgdGFnLnN1YlRhZ3MgPSBbXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHRhZ1N1YlR5cGUgPSBzY2VuYXJpb1RhZy5vcHRpb25zLnN1Yl90eXBlO1xuXG4gICAgICAgIHRhZy5zdWJUYWdzLnB1c2goe1xuICAgICAgICAgICAgc3ViVHlwZTogdGFnU3ViVHlwZSxcbiAgICAgICAgICAgIG5hbWU6IHRhZ1N1YlR5cGUgPT09IFRhZ3NDb25maWdTdWJUeXBlLkZPUkVDQVNUX05FVyA/IHRoaXMuREVGQVVMVF9GT1JFQ0FTVF9EQVRFX1RBRyA6IHNjZW5hcmlvVGFnLm5hbWUsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgdHVybk9mZkRhdGVUYWcoc2NlbmFyaW9UYWdzOiBJU2NlbmFyaW9UYWdVaVtdKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGRhdGVUYWcgPSBfZmluZChzY2VuYXJpb1RhZ3MsIHsgdHlwZTogVGFnVHlwZXMuREFURSB9KTtcblxuICAgICAgICBpZiAoIWRhdGVUYWcpIHJldHVybjtcbiAgICAgICAgZGF0ZVRhZy50b2dnbGU9IGZhbHNlO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGlkZU5vdEF2YWlsYWJsZVRhZ3ModGFnV2l0aFNwZWNpZmljRGF0ZVRhZ3M6IElTY2VuYXJpb1RhZ1VpLCBzY2VuYXJpb1RhZ3M6IElTY2VuYXJpb1RhZ1VpW10pOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgc3ViVGFncyA9IF9maW5kKHNjZW5hcmlvVGFncywgeyB0eXBlOiBUYWdUeXBlcy5EQVRFIH0pPy5zdWJUYWdzO1xuICAgICAgICBpZiAoIXN1YlRhZ3MubGVuZ3RoKSByZXR1cm47XG5cbiAgICAgICAgX2ZvckVhY2goc2NlbmFyaW9UYWdzLCAodGFnKSA9PiB7XG4gICAgICAgICAgICBpZiAoIXRhZy5hY2NlcHRhYmxlRGF0ZVRhZ3M/Lmxlbmd0aCkgcmV0dXJuO1xuICAgICAgICAgICAgaWYgKHRhZyAhPT0gdGFnV2l0aFNwZWNpZmljRGF0ZVRhZ3MpIHtcbiAgICAgICAgICAgICAgICB0YWcudG9nZ2xlID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIF9mb3JFYWNoKHN1YlRhZ3MsIChzdWJUYWcpID0+IHtcbiAgICAgICAgICAgIHN1YlRhZy5oaWRkZW4gPSAhdGFnV2l0aFNwZWNpZmljRGF0ZVRhZ3MuYWNjZXB0YWJsZURhdGVUYWdzLmluY2x1ZGVzKHN1YlRhZy5zdWJUeXBlKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRTY2VuYXJpb1NlbGVjdGVkRGF0ZVRhZyhzY2VuYXJpbzogU2NlbmFyaW8sIGRhdGVUYWdzOiBJU2NlbmFyaW9UYWdbXSk6IFRhZ3NDb25maWdTdWJUeXBlIHtcbiAgICAgICAgY29uc3QgbW9udGhTdWJUeXBlID0gX2ZpbmQoZGF0ZVRhZ3MsICh0YWc6IElTY2VuYXJpb1RhZykgPT4gdGFnLm9wdGlvbnMuc3ViX3R5cGUgPT09IFRhZ3NDb25maWdTdWJUeXBlLk1PTlRIKT8ub3B0aW9ucz8uc3ViX3R5cGU7XG5cbiAgICAgICAgY29uc3Qgc2NlbmFyaW9TZWxlY3RlZERhdGVUYWcgPSB7XG4gICAgICAgICAgICBbU2NlbmFyaW8uQUNUVUFMU106ICgpID0+IG1vbnRoU3ViVHlwZSxcbiAgICAgICAgICAgIFtTY2VuYXJpby5CVURHRVRdOiAoKSA9PiBfZmluZChkYXRlVGFncywgKHRhZzogSVNjZW5hcmlvVGFnKSA9PiB0YWcub3B0aW9ucy5zdWJfdHlwZSA9PT0gVGFnc0NvbmZpZ1N1YlR5cGUuWUVBUik/Lm9wdGlvbnM/LnN1Yl90eXBlLFxuICAgICAgICAgICAgW1NjZW5hcmlvLkZPUkVDQVNUXTogKCkgPT4gX2ZpbmQoZGF0ZVRhZ3MsICh0YWc6IElTY2VuYXJpb1RhZykgPT4gdGFnLm9wdGlvbnMuc3ViX3R5cGUgPT09IFRhZ3NDb25maWdTdWJUeXBlLkZPUkVDQVNUX05FVyk/Lm9wdGlvbnM/LnN1Yl90eXBlLFxuICAgICAgICAgICAgW1NjZW5hcmlvLk5PTkVdOiAoKSA9PiBtb250aFN1YlR5cGUsXG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXNjZW5hcmlvU2VsZWN0ZWREYXRlVGFnW3NjZW5hcmlvXSkgcmV0dXJuO1xuICAgICAgICByZXR1cm4gc2NlbmFyaW9TZWxlY3RlZERhdGVUYWdbc2NlbmFyaW9dKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRTY2VuYXJpb1RhZ3NDb25maWcoc2NlbmFyaW86IFNjZW5hcmlvLCB0YWdzQ29uZmlnOiBJVGFnW10pOiBJU2NlbmFyaW9UYWdbXSB7XG4gICAgICAgIHJldHVybiBfcmVkdWNlKHRhZ3NDb25maWcsIChhY2M6IElTY2VuYXJpb1RhZ1tdLCB0YWdDb25maWc6IElUYWcpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHRhZ1N1YlR5cGUgPSB0YWdDb25maWc/Lm9wdGlvbnM/LnN1Yl90eXBlO1xuXG4gICAgICAgICAgICBjb25zdCBzY2VuYXJpb1RhZ0RhdGFDb25maWcgPSBnZXRTY2VuYXJpb1RhZ0RhdGFDb25maWcodGhpcy5pc011bHRpcGxlRGltZW5zaW9uKTtcbiAgICAgICAgICAgIGNvbnN0IHNjZW5hcmlvVGFnQ29uZmlnOiBJU2NlbmFyaW8gPSBzY2VuYXJpb1RhZ0RhdGFDb25maWcgJiYgc2NlbmFyaW9UYWdEYXRhQ29uZmlnW3NjZW5hcmlvXSA/XG4gICAgICAgICAgICAgICAgc2NlbmFyaW9UYWdEYXRhQ29uZmlnW3NjZW5hcmlvXVt0YWdTdWJUeXBlXSA6IG51bGw7XG4gICAgICAgICAgICBpZiAoIXNjZW5hcmlvVGFnQ29uZmlnIHx8IHNjZW5hcmlvVGFnQ29uZmlnLmhpZGRlbikgcmV0dXJuIGFjYztcblxuICAgICAgICAgICAgY29uc3QgY2xvbmVkVGFnQ29uZmlnID0gX2Nsb25lRGVlcCh0YWdDb25maWcpO1xuICAgICAgICAgICAgY29uc3Qgc2NlbmFyaW9UYWc6IElTY2VuYXJpb1RhZyA9IHsgLi4uY2xvbmVkVGFnQ29uZmlnLCBzY2VuYXJpb0RhdGE6IHNjZW5hcmlvVGFnQ29uZmlnIH07XG5cbiAgICAgICAgICAgIGFjYy5wdXNoKHNjZW5hcmlvVGFnKTtcbiAgICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgIH0sIFtdKTtcbiAgICB9XG59XG4iXX0=