@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,106 +0,0 @@
1
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ComponentFactoryResolver, ElementRef, EventEmitter, HostBinding, HostListener, Input, Output, TemplateRef, ViewChild, ViewContainerRef, } from '@angular/core';
2
- import { trigger } from '@angular/animations';
3
- import { POPUP_ANIMATION } from '../models/constants';
4
- import { DrPopoverRef } from './dr-popover-ref';
5
- import { getAlignmentDimension } from '../models/popover';
6
- export class DrPopoverComponent {
7
- constructor(cdr, componentFactoryResolver, viewContainerRef, elementRef, popoverRef) {
8
- this.cdr = cdr;
9
- this.componentFactoryResolver = componentFactoryResolver;
10
- this.viewContainerRef = viewContainerRef;
11
- this.elementRef = elementRef;
12
- this.popoverRef = popoverRef;
13
- this.popoverOpened = new EventEmitter();
14
- this.class = '';
15
- this.isContentTemplate = false;
16
- this.popover = true;
17
- }
18
- clickOutside(e) {
19
- const isTargetHost = this.hostRef instanceof ElementRef && (this.hostRef.nativeElement === e.target || this.hostRef.nativeElement.contains(e.target));
20
- const isTargetInPopover = this.elementRef.nativeElement.contains(e.target);
21
- const isTargetInDatepicker = e.target.closest('mat-datepicker-popup');
22
- const isTargetInSelect = e.target.closest('ng-dropdown-panel');
23
- const isTargetInDatepickerContent = e.target.closest('mat-datepicker-content');
24
- if (!isTargetHost
25
- && !isTargetInPopover
26
- && !isTargetInDatepicker
27
- && !isTargetInSelect
28
- && !isTargetInDatepickerContent
29
- && !this.manualClosing.enabled) {
30
- this.popoverRef.close();
31
- }
32
- }
33
- ngOnInit() {
34
- this.isContentTemplate = this.content instanceof TemplateRef;
35
- if (!this.isContentTemplate) {
36
- this.componentRef = this.viewContainerRef.createComponent(this.componentFactoryResolver.resolveComponentFactory(this.content));
37
- Object.assign(this.componentRef.instance, this.contentContext);
38
- this.popoverContainer.nativeElement.appendChild(this.componentRef.location.nativeElement);
39
- }
40
- if (this.alignment === 'host') {
41
- this[getAlignmentDimension(this.position)] = '100%';
42
- }
43
- this.popoverOpened.emit();
44
- this.repositionToNewContainerAndFreeze();
45
- this.cdr.detectChanges();
46
- }
47
- /**
48
- * Removing popover element from cdk-overlay and attach to provided container after element is positioned
49
- * is required for specific case of preserving popover at same position on document while scroll (not fixed)
50
- *
51
- * TODO: implement more neat, transparent and Angular way solution: i.e. create another service (or extend existiong one)
52
- * without attaching component to cdk Overlay and instead positioning it to element passed in directive input parameter
53
- */
54
- repositionToNewContainerAndFreeze() {
55
- const newContainer = !!this.freezeToContainerSelector && document.querySelector(this.freezeToContainerSelector);
56
- if (newContainer) {
57
- // waiting until element is positioned on overlay
58
- setTimeout(() => {
59
- const element = this.elementRef.nativeElement;
60
- if (!element.closest('.cdk-overlay-container'))
61
- return;
62
- const position = element.getBoundingClientRect();
63
- const newContainerPosition = newContainer.getBoundingClientRect();
64
- element.style.position = 'absolute';
65
- element.style.top = `${newContainer.scrollTop + position.top - newContainerPosition.top}px`;
66
- element.style.left = `${newContainerPosition.left + position.left}px`;
67
- newContainer.appendChild(element);
68
- });
69
- }
70
- }
71
- }
72
- DrPopoverComponent.decorators = [
73
- { type: Component, args: [{
74
- selector: 'dr-popover',
75
- template: "<div class=\"dr-popover\" [class]=\"class\" #popoverContainer>\n <ng-container *ngIf=\"isContentTemplate\">\n <ng-container *ngTemplateOutlet=\"content; context: contentContext\"></ng-container>\n </ng-container>\n</div>\n",
76
- animations: [
77
- trigger('popover', POPUP_ANIMATION),
78
- ],
79
- changeDetection: ChangeDetectionStrategy.OnPush,
80
- styles: [".dr-popover{display:flex;background:#fff;border:1px solid #e5e5e5;border-radius:5px;box-sizing:border-box;box-shadow:0 4px 14px #0003;font-size:12px;color:#545a6b;max-height:100vh;max-width:100vw;overflow:auto}::ng-deep .dr-popover-transparent-backdrop{background-color:transparent}\n"]
81
- },] }
82
- ];
83
- DrPopoverComponent.ctorParameters = () => [
84
- { type: ChangeDetectorRef },
85
- { type: ComponentFactoryResolver },
86
- { type: ViewContainerRef },
87
- { type: ElementRef },
88
- { type: DrPopoverRef }
89
- ];
90
- DrPopoverComponent.propDecorators = {
91
- popoverOpened: [{ type: Output }],
92
- content: [{ type: Input }],
93
- contentContext: [{ type: Input }],
94
- class: [{ type: Input }],
95
- hostRef: [{ type: Input }],
96
- manualClosing: [{ type: Input }],
97
- alignment: [{ type: Input }],
98
- position: [{ type: Input }],
99
- freezeToContainerSelector: [{ type: Input }],
100
- popoverContainer: [{ type: ViewChild, args: ['popoverContainer', { read: ElementRef, static: true },] }],
101
- width: [{ type: HostBinding, args: ['style.width',] }],
102
- height: [{ type: HostBinding, args: ['style.height',] }],
103
- popover: [{ type: HostBinding, args: ['@popover',] }],
104
- clickOutside: [{ type: HostListener, args: ['document:mouseup', ['$event'],] }]
105
- };
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItcG9wb3Zlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1wb3BvdmVyL2RyLXBvcG92ZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCx3QkFBd0IsRUFFeEIsVUFBVSxFQUNWLFlBQVksRUFDWixXQUFXLEVBQ1gsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sV0FBVyxFQUVYLFNBQVMsRUFDVCxnQkFBZ0IsR0FDbkIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsT0FBTyxFQUFzQixxQkFBcUIsRUFBZ0MsTUFBTSxtQkFBbUIsQ0FBQztBQVc1RyxNQUFNLE9BQU8sa0JBQWtCO0lBeUMzQixZQUNZLEdBQXNCLEVBQ3RCLHdCQUFrRCxFQUNsRCxnQkFBa0MsRUFDbEMsVUFBc0IsRUFDdEIsVUFBMkI7UUFKM0IsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUNsRCxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsZUFBVSxHQUFWLFVBQVUsQ0FBaUI7UUE1QzdCLGtCQUFhLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFJOUQsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQVFwQixzQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFNTSxZQUFPLEdBQUcsSUFBSSxDQUFDO0lBNEIvQyxDQUFDO0lBekJE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QUFHLEdBQUcsR0FBSSxZQUFZLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEdBQUcsb0JBQW9CLENBQUMsR0FBSSxJQUFJLENBQUM7Z0JBQzlGLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLEdBQUksb0JBQW9CLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQyxJQUFLLElBQUksQ0FBQztnQkFFeEUsWUFBWSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN0QyxDQUFDLENBQUMsQ0FBQztTQUNOO0lBQ0wsQ0FBQzs7O1lBdkdKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsWUFBWTtnQkFDdEIsdVBBQTBDO2dCQUUxQyxVQUFVLEVBQUU7b0JBQ1IsT0FBTyxDQUFDLFNBQVMsRUFBRSxlQUFlLENBQUM7aUJBQ3RDO2dCQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOzthQUNsRDs7O1lBN0JHLGlCQUFpQjtZQUVqQix3QkFBd0I7WUFZeEIsZ0JBQWdCO1lBVmhCLFVBQVU7WUFjTCxZQUFZOzs7NEJBY2hCLE1BQU07c0JBRU4sS0FBSzs2QkFDTCxLQUFLO29CQUNMLEtBQUs7c0JBQ0wsS0FBSzs0QkFDTCxLQUFLO3dCQUNMLEtBQUs7dUJBQ0wsS0FBSzt3Q0FDTCxLQUFLOytCQUVMLFNBQVMsU0FBQyxrQkFBa0IsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtvQkFJaEUsV0FBVyxTQUFDLGFBQWE7cUJBQ3pCLFdBQVcsU0FBQyxjQUFjO3NCQUUxQixXQUFXLFNBQUMsVUFBVTsyQkFFdEIsWUFBWSxTQUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgIENvbXBvbmVudFJlZixcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5wdXQsXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBUeXBlLFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IFBPUFVQX0FOSU1BVElPTiB9IGZyb20gJy4uL21vZGVscy9jb25zdGFudHMnO1xuaW1wb3J0IHsgRHJQb3BvdmVyUmVmIH0gZnJvbSAnLi9kci1wb3BvdmVyLXJlZic7XG5pbXBvcnQgeyBEclBvcG92ZXJBbGlnbm1lbnQsIGdldEFsaWdubWVudERpbWVuc2lvbiwgSVBvcG92ZXJNYW51YWxDbG9zaW5nLCBQb2ludCB9IGZyb20gJy4uL21vZGVscy9wb3BvdmVyJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdkci1wb3BvdmVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZHItcG9wb3Zlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZHItcG9wb3Zlci5jb21wb25lbnQuc2NzcyddLFxuICAgIGFuaW1hdGlvbnM6IFtcbiAgICAgICAgdHJpZ2dlcigncG9wb3ZlcicsIFBPUFVQX0FOSU1BVElPTiksXG4gICAgXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRHJQb3BvdmVyQ29tcG9uZW50PFQ+IGltcGxlbWVudHMgT25Jbml0IHtcblxuICAgIEBPdXRwdXQoKSBwb3BvdmVyT3BlbmVkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICBASW5wdXQoKSBjb250ZW50OiBUZW1wbGF0ZVJlZjxhbnk+IHwgVHlwZTxUPjtcbiAgICBASW5wdXQoKSBjb250ZW50Q29udGV4dDogYW55O1xuICAgIEBJbnB1dCgpIGNsYXNzID0gJyc7XG4gICAgQElucHV0KCkgaG9zdFJlZjogRWxlbWVudFJlZjx1bmtub3duPiB8IEhUTUxFbGVtZW50IHwgUG9pbnQ7XG4gICAgQElucHV0KCkgbWFudWFsQ2xvc2luZzogSVBvcG92ZXJNYW51YWxDbG9zaW5nO1xuICAgIEBJbnB1dCgpIGFsaWdubWVudDogRHJQb3BvdmVyQWxpZ25tZW50O1xuICAgIEBJbnB1dCgpIHBvc2l0aW9uOiBzdHJpbmc7XG4gICAgQElucHV0KCkgZnJlZXplVG9Db250YWluZXJTZWxlY3Rvcjogc3RyaW5nO1xuXG4gICAgQFZpZXdDaGlsZCgncG9wb3ZlckNvbnRhaW5lcicsIHsgcmVhZDogRWxlbWVudFJlZiwgc3RhdGljOiB0cnVlIH0pIHBvcG92ZXJDb250YWluZXI6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuICAgIGlzQ29udGVudFRlbXBsYXRlID0gZmFsc2U7XG4gICAgY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8VD47XG5cbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLndpZHRoJykgd2lkdGg6IHN0cmluZztcbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLmhlaWdodCcpIGhlaWdodDogc3RyaW5nO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdAcG9wb3ZlcicpIHB1YmxpYyBwb3BvdmVyID0gdHJ1ZTtcblxuICAgIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50Om1vdXNldXAnLCBbJyRldmVudCddKVxuICAgIGNsaWNrT3V0c2lkZShlKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGlzVGFyZ2V0SG9zdCA9IHRoaXMuaG9zdFJlZiBpbnN0YW5jZW9mIEVsZW1lbnRSZWYgJiYgKHRoaXMuaG9zdFJlZi5uYXRpdmVFbGVtZW50ID09PSBlLnRhcmdldCB8fCAodGhpcy5ob3N0UmVmLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpLmNvbnRhaW5zKGUudGFyZ2V0KSk7XG4gICAgICAgIGNvbnN0IGlzVGFyZ2V0SW5Qb3BvdmVyID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZS50YXJnZXQpO1xuICAgICAgICBjb25zdCBpc1RhcmdldEluRGF0ZXBpY2tlciA9IGUudGFyZ2V0LmNsb3Nlc3QoJ21hdC1kYXRlcGlja2VyLXBvcHVwJyk7XG4gICAgICAgIGNvbnN0IGlzVGFyZ2V0SW5TZWxlY3QgPSBlLnRhcmdldC5jbG9zZXN0KCduZy1kcm9wZG93bi1wYW5lbCcpO1xuICAgICAgICBjb25zdCBpc1RhcmdldEluRGF0ZXBpY2tlckNvbnRlbnQgPSBlLnRhcmdldC5jbG9zZXN0KCdtYXQtZGF0ZXBpY2tlci1jb250ZW50Jyk7XG5cbiAgICAgICAgaWYgKCFpc1RhcmdldEhvc3RcbiAgICAgICAgICAgICYmICFpc1RhcmdldEluUG9wb3ZlclxuICAgICAgICAgICAgJiYgIWlzVGFyZ2V0SW5EYXRlcGlja2VyXG4gICAgICAgICAgICAmJiAhaXNUYXJnZXRJblNlbGVjdFxuICAgICAgICAgICAgJiYgIWlzVGFyZ2V0SW5EYXRlcGlja2VyQ29udGVudFxuICAgICAgICAgICAgJiYgIXRoaXMubWFudWFsQ2xvc2luZy5lbmFibGVkXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5wb3BvdmVyUmVmLmNsb3NlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgICAgICBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSBwb3BvdmVyUmVmOiBEclBvcG92ZXJSZWY8VD4sXG4gICAgKSB7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNDb250ZW50VGVtcGxhdGUgPSB0aGlzLmNvbnRlbnQgaW5zdGFuY2VvZiBUZW1wbGF0ZVJlZjtcblxuICAgICAgICBpZiAoIXRoaXMuaXNDb250ZW50VGVtcGxhdGUpIHtcbiAgICAgICAgICAgIHRoaXMuY29tcG9uZW50UmVmID0gdGhpcy52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudCh0aGlzLmNvbXBvbmVudEZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeSh0aGlzLmNvbnRlbnQgYXMgVHlwZTxUPikpO1xuICAgICAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZSwgdGhpcy5jb250ZW50Q29udGV4dCk7XG4gICAgICAgICAgICB0aGlzLnBvcG92ZXJDb250YWluZXIubmF0aXZlRWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLmNvbXBvbmVudFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5hbGlnbm1lbnQgPT09ICdob3N0Jykge1xuICAgICAgICAgICAgdGhpc1tnZXRBbGlnbm1lbnREaW1lbnNpb24odGhpcy5wb3NpdGlvbildID0gJzEwMCUnO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5wb3BvdmVyT3BlbmVkLmVtaXQoKTtcbiAgICAgICAgdGhpcy5yZXBvc2l0aW9uVG9OZXdDb250YWluZXJBbmRGcmVlemUoKTtcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92aW5nIHBvcG92ZXIgZWxlbWVudCBmcm9tIGNkay1vdmVybGF5IGFuZCBhdHRhY2ggdG8gcHJvdmlkZWQgY29udGFpbmVyIGFmdGVyIGVsZW1lbnQgaXMgcG9zaXRpb25lZFxuICAgICAqIGlzIHJlcXVpcmVkIGZvciBzcGVjaWZpYyBjYXNlIG9mIHByZXNlcnZpbmcgcG9wb3ZlciBhdCBzYW1lIHBvc2l0aW9uIG9uIGRvY3VtZW50IHdoaWxlIHNjcm9sbCAobm90IGZpeGVkKVxuICAgICAqXG4gICAgICogVE9ETzogaW1wbGVtZW50IG1vcmUgbmVhdCwgdHJhbnNwYXJlbnQgYW5kIEFuZ3VsYXIgd2F5IHNvbHV0aW9uOiBpLmUuIGNyZWF0ZSBhbm90aGVyIHNlcnZpY2UgKG9yIGV4dGVuZCBleGlzdGlvbmcgb25lKVxuICAgICAqIHdpdGhvdXQgYXR0YWNoaW5nIGNvbXBvbmVudCB0byBjZGsgT3ZlcmxheSBhbmQgaW5zdGVhZCBwb3NpdGlvbmluZyBpdCB0byBlbGVtZW50IHBhc3NlZCBpbiBkaXJlY3RpdmUgaW5wdXQgcGFyYW1ldGVyXG4gICAgICovXG4gICAgcHJpdmF0ZSByZXBvc2l0aW9uVG9OZXdDb250YWluZXJBbmRGcmVlemUoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IG5ld0NvbnRhaW5lciA9ICEhdGhpcy5mcmVlemVUb0NvbnRhaW5lclNlbGVjdG9yICYmIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IodGhpcy5mcmVlemVUb0NvbnRhaW5lclNlbGVjdG9yKTtcbiAgICAgICAgaWYgKG5ld0NvbnRhaW5lcikge1xuXG4gICAgICAgICAgICAvLyB3YWl0aW5nIHVudGlsIGVsZW1lbnQgaXMgcG9zaXRpb25lZCBvbiBvdmVybGF5XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBlbGVtZW50OiBIVE1MRWxlbWVudCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuXG4gICAgICAgICAgICAgICAgaWYgKCFlbGVtZW50LmNsb3Nlc3QoJy5jZGstb3ZlcmxheS1jb250YWluZXInKSkgcmV0dXJuO1xuXG4gICAgICAgICAgICAgICAgY29uc3QgcG9zaXRpb24gPSBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICAgICAgICAgIGNvbnN0IG5ld0NvbnRhaW5lclBvc2l0aW9uID0gbmV3Q29udGFpbmVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgICAgICAgICAgICAgZWxlbWVudC5zdHlsZS5wb3NpdGlvbiA9ICdhYnNvbHV0ZSc7XG4gICAgICAgICAgICAgICAgZWxlbWVudC5zdHlsZS50b3AgPSBgJHsgbmV3Q29udGFpbmVyLnNjcm9sbFRvcCArIHBvc2l0aW9uLnRvcCAtIG5ld0NvbnRhaW5lclBvc2l0aW9uLnRvcCB9cHhgO1xuICAgICAgICAgICAgICAgIGVsZW1lbnQuc3R5bGUubGVmdCA9IGAkeyBuZXdDb250YWluZXJQb3NpdGlvbi5sZWZ0ICsgcG9zaXRpb24ubGVmdCB9cHhgO1xuXG4gICAgICAgICAgICAgICAgbmV3Q29udGFpbmVyLmFwcGVuZENoaWxkKGVsZW1lbnQpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbiJdfQ==
@@ -1,84 +0,0 @@
1
- import { Directive, ElementRef, EventEmitter, HostListener, Input, Output, } from '@angular/core';
2
- import { first } from 'rxjs/operators';
3
- import { DrPopoverService } from './dr-popover.service';
4
- export class DrPopoverDirective {
5
- constructor(elementRef, drPopoverService) {
6
- this.elementRef = elementRef;
7
- this.drPopoverService = drPopoverService;
8
- this.contentContext = {};
9
- this.position = 'bottom';
10
- this.class = '';
11
- this.overlayConfig = {};
12
- this.manualClosing = { enabled: false };
13
- // eslint-disable-next-line
14
- this.popoverClose = new EventEmitter();
15
- this.popoverOpened = new EventEmitter();
16
- // eslint-disable-next-line
17
- this.showStateChange = new EventEmitter();
18
- }
19
- togglePopover() {
20
- if (this.disabled)
21
- return;
22
- if (this.popoverRef) {
23
- this.closePopover();
24
- }
25
- else {
26
- this.renderPopover();
27
- this.showStateChange.emit({ isShown: !!this.popoverRef });
28
- }
29
- }
30
- closePopover(res) {
31
- if (this.popoverRef) {
32
- this.popoverRef.close(res);
33
- this.popoverRef = null;
34
- }
35
- }
36
- renderPopover() {
37
- const popoverRef = this.popoverRef = this.drPopoverService.open(this.content, {
38
- hostRef: this.elementRef,
39
- overlayConfig: this.overlayConfig,
40
- class: this.class,
41
- manualClosing: this.manualClosing,
42
- position: this.position,
43
- contentContext: this.contentContext,
44
- alignment: this.alignment,
45
- freezeToContainerSelector: this.freezeToContainerSelector
46
- });
47
- popoverRef.onClose.pipe(first()).subscribe((res) => {
48
- this.closePopover();
49
- this.popoverClose.emit(res);
50
- this.showStateChange.emit({ isShown: !!this.popoverRef });
51
- });
52
- popoverRef.componentRef.instance.popoverOpened.pipe(first()).subscribe(() => {
53
- this.popoverOpened.emit();
54
- });
55
- }
56
- ngOnDestroy() {
57
- this.closePopover();
58
- }
59
- }
60
- DrPopoverDirective.decorators = [
61
- { type: Directive, args: [{
62
- selector: '[drPopover]'
63
- },] }
64
- ];
65
- DrPopoverDirective.ctorParameters = () => [
66
- { type: ElementRef },
67
- { type: DrPopoverService }
68
- ];
69
- DrPopoverDirective.propDecorators = {
70
- content: [{ type: Input, args: ['drPopover',] }],
71
- contentContext: [{ type: Input, args: ['drPopoverContext',] }],
72
- position: [{ type: Input, args: ['drPopoverPosition',] }],
73
- class: [{ type: Input, args: ['drPopoverClass',] }],
74
- overlayConfig: [{ type: Input, args: ['drPopoverOverlayConfig',] }],
75
- manualClosing: [{ type: Input, args: ['drPopoverManualClosing',] }],
76
- alignment: [{ type: Input, args: ['drPopoverAlignment',] }],
77
- disabled: [{ type: Input, args: ['drPopoverDisabled',] }],
78
- freezeToContainerSelector: [{ type: Input, args: ['drPopoverFreezeToContainerSelector',] }],
79
- popoverClose: [{ type: Output, args: ['drPopoverClose',] }],
80
- popoverOpened: [{ type: Output, args: ['drPopoverOpened',] }],
81
- showStateChange: [{ type: Output, args: ['drPopoverShowStateChange',] }],
82
- togglePopover: [{ type: HostListener, args: ['click',] }]
83
- };
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItcG9wb3Zlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1wb3BvdmVyL2RyLXBvcG92ZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sR0FHVCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHdkMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFNeEQsTUFBTSxPQUFPLGtCQUFrQjtJQThCM0IsWUFBb0IsVUFBc0IsRUFDdEIsZ0JBQWtDO1FBRGxDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQTNCM0IsbUJBQWMsR0FBUSxFQUFFLENBQUM7UUFFeEIsYUFBUSxHQUFlLFFBQVEsQ0FBQztRQUVuQyxVQUFLLEdBQUcsRUFBRSxDQUFDO1FBRUgsa0JBQWEsR0FBa0IsRUFBRSxDQUFDO1FBRWxDLGtCQUFhLEdBQTBCLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDO1FBUTNGLDJCQUEyQjtRQUNELGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUV0QyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFFcEUsMkJBQTJCO1FBQ1Msb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBd0IsQ0FBQztJQU8vRixDQUFDO0lBR0QsYUFBYTtRQUNULElBQUksSUFBSSxDQUFDLFFBQVE7WUFBRSxPQUFPO1FBRTFCLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNqQixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDdkI7YUFBTTtZQUNILElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7U0FDN0Q7SUFDTCxDQUFDO0lBRUQsWUFBWSxDQUFDLEdBQVM7UUFDbEIsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzNCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1NBQzFCO0lBQ0wsQ0FBQztJQUVPLGFBQWE7UUFDakIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDMUUsT0FBTyxFQUFFLElBQUksQ0FBQyxVQUFVO1lBQ3hCLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYTtZQUNqQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDakIsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhO1lBQ2pDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN2QixjQUFjLEVBQUUsSUFBSSxDQUFDLGNBQWM7WUFDbkMsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3pCLHlCQUF5QixFQUFFLElBQUksQ0FBQyx5QkFBeUI7U0FDNUQsQ0FBQyxDQUFDO1FBRUgsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUMvQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDNUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBQzlELENBQUMsQ0FBQyxDQUFDO1FBRUgsVUFBVSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDeEUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM5QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3hCLENBQUM7OztZQWxGSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLGFBQWE7YUFDMUI7OztZQWxCRyxVQUFVO1lBYUwsZ0JBQWdCOzs7c0JBUXBCLEtBQUssU0FBQyxXQUFXOzZCQUVqQixLQUFLLFNBQUMsa0JBQWtCO3VCQUV4QixLQUFLLFNBQUMsbUJBQW1CO29CQUV6QixLQUFLLFNBQUMsZ0JBQWdCOzRCQUV0QixLQUFLLFNBQUMsd0JBQXdCOzRCQUU5QixLQUFLLFNBQUMsd0JBQXdCO3dCQUU5QixLQUFLLFNBQUMsb0JBQW9CO3VCQUUxQixLQUFLLFNBQUMsbUJBQW1CO3dDQUV6QixLQUFLLFNBQUMsb0NBQW9DOzJCQUcxQyxNQUFNLFNBQUMsZ0JBQWdCOzRCQUV2QixNQUFNLFNBQUMsaUJBQWlCOzhCQUd4QixNQUFNLFNBQUMsMEJBQTBCOzRCQVNqQyxZQUFZLFNBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbnB1dCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT3V0cHV0LFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFR5cGUsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT3ZlcmxheUNvbmZpZyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IGZpcnN0IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRWxQb3NpdGlvbiB9IGZyb20gJy4vLi4vbW9kZWxzL2Ryb3Bkb3duJztcbmltcG9ydCB7IERyUG9wb3ZlclJlZiB9IGZyb20gJy4vZHItcG9wb3Zlci1yZWYnO1xuaW1wb3J0IHsgRHJQb3BvdmVyU2VydmljZSB9IGZyb20gJy4vZHItcG9wb3Zlci5zZXJ2aWNlJztcbmltcG9ydCB7IERyUG9wb3ZlckFsaWdubWVudCwgSVBvcG92ZXJNYW51YWxDbG9zaW5nIH0gZnJvbSAnLi4vbW9kZWxzL3BvcG92ZXInO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tkclBvcG92ZXJdJ1xufSlcbmV4cG9ydCBjbGFzcyBEclBvcG92ZXJEaXJlY3RpdmU8VD4gaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuXG4gICAgQElucHV0KCdkclBvcG92ZXInKSBjb250ZW50OiBUZW1wbGF0ZVJlZjxhbnk+IHwgVHlwZTxUPjtcblxuICAgIEBJbnB1dCgnZHJQb3BvdmVyQ29udGV4dCcpIGNvbnRlbnRDb250ZXh0OiBhbnkgPSB7fTtcblxuICAgIEBJbnB1dCgnZHJQb3BvdmVyUG9zaXRpb24nKSBwb3NpdGlvbjogRWxQb3NpdGlvbiA9ICdib3R0b20nO1xuXG4gICAgQElucHV0KCdkclBvcG92ZXJDbGFzcycpIGNsYXNzID0gJyc7XG5cbiAgICBASW5wdXQoJ2RyUG9wb3Zlck92ZXJsYXlDb25maWcnKSBvdmVybGF5Q29uZmlnOiBPdmVybGF5Q29uZmlnID0ge307XG5cbiAgICBASW5wdXQoJ2RyUG9wb3Zlck1hbnVhbENsb3NpbmcnKSBtYW51YWxDbG9zaW5nOiBJUG9wb3Zlck1hbnVhbENsb3NpbmcgPSB7IGVuYWJsZWQ6IGZhbHNlIH07XG5cbiAgICBASW5wdXQoJ2RyUG9wb3ZlckFsaWdubWVudCcpIGFsaWdubWVudDogRHJQb3BvdmVyQWxpZ25tZW50O1xuXG4gICAgQElucHV0KCdkclBvcG92ZXJEaXNhYmxlZCcpIGRpc2FibGVkOiBib29sZWFuO1xuXG4gICAgQElucHV0KCdkclBvcG92ZXJGcmVlemVUb0NvbnRhaW5lclNlbGVjdG9yJykgZnJlZXplVG9Db250YWluZXJTZWxlY3Rvcjogc3RyaW5nO1xuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gICAgQE91dHB1dCgnZHJQb3BvdmVyQ2xvc2UnKSBwb3BvdmVyQ2xvc2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICAgIEBPdXRwdXQoJ2RyUG9wb3Zlck9wZW5lZCcpIHBvcG92ZXJPcGVuZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgICBAT3V0cHV0KCdkclBvcG92ZXJTaG93U3RhdGVDaGFuZ2UnKSBzaG93U3RhdGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHsgaXNTaG93bjogYm9vbGVhbiB9PigpO1xuXG4gICAgcHJpdmF0ZSBwb3BvdmVyUmVmOiBEclBvcG92ZXJSZWY8VD47XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBkclBvcG92ZXJTZXJ2aWNlOiBEclBvcG92ZXJTZXJ2aWNlLFxuICAgICkge1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcbiAgICB0b2dnbGVQb3BvdmVyKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCkgcmV0dXJuO1xuXG4gICAgICAgIGlmICh0aGlzLnBvcG92ZXJSZWYpIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2VQb3BvdmVyKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlclBvcG92ZXIoKTtcbiAgICAgICAgICAgIHRoaXMuc2hvd1N0YXRlQ2hhbmdlLmVtaXQoeyBpc1Nob3duOiAhIXRoaXMucG9wb3ZlclJlZiB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNsb3NlUG9wb3ZlcihyZXM/OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMucG9wb3ZlclJlZikge1xuICAgICAgICAgICAgdGhpcy5wb3BvdmVyUmVmLmNsb3NlKHJlcyk7XG4gICAgICAgICAgICB0aGlzLnBvcG92ZXJSZWYgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZW5kZXJQb3BvdmVyKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBwb3BvdmVyUmVmID0gdGhpcy5wb3BvdmVyUmVmID0gdGhpcy5kclBvcG92ZXJTZXJ2aWNlLm9wZW4odGhpcy5jb250ZW50LCB7XG4gICAgICAgICAgICBob3N0UmVmOiB0aGlzLmVsZW1lbnRSZWYsXG4gICAgICAgICAgICBvdmVybGF5Q29uZmlnOiB0aGlzLm92ZXJsYXlDb25maWcsXG4gICAgICAgICAgICBjbGFzczogdGhpcy5jbGFzcyxcbiAgICAgICAgICAgIG1hbnVhbENsb3Npbmc6IHRoaXMubWFudWFsQ2xvc2luZyxcbiAgICAgICAgICAgIHBvc2l0aW9uOiB0aGlzLnBvc2l0aW9uLFxuICAgICAgICAgICAgY29udGVudENvbnRleHQ6IHRoaXMuY29udGVudENvbnRleHQsXG4gICAgICAgICAgICBhbGlnbm1lbnQ6IHRoaXMuYWxpZ25tZW50LFxuICAgICAgICAgICAgZnJlZXplVG9Db250YWluZXJTZWxlY3RvcjogdGhpcy5mcmVlemVUb0NvbnRhaW5lclNlbGVjdG9yXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHBvcG92ZXJSZWYub25DbG9zZS5waXBlKGZpcnN0KCkpLnN1YnNjcmliZSgocmVzKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlUG9wb3ZlcigpO1xuICAgICAgICAgICAgdGhpcy5wb3BvdmVyQ2xvc2UuZW1pdChyZXMpO1xuICAgICAgICAgICAgdGhpcy5zaG93U3RhdGVDaGFuZ2UuZW1pdCh7IGlzU2hvd246ICEhdGhpcy5wb3BvdmVyUmVmIH0pO1xuICAgICAgICB9KTtcblxuICAgICAgICBwb3BvdmVyUmVmLmNvbXBvbmVudFJlZi5pbnN0YW5jZS5wb3BvdmVyT3BlbmVkLnBpcGUoZmlyc3QoKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMucG9wb3Zlck9wZW5lZC5lbWl0KCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNsb3NlUG9wb3ZlcigpO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,23 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { DrPopoverDirective } from './dr-popover.directive';
3
- import { CommonModule } from '@angular/common';
4
- import { DrPopoverComponent } from './dr-popover.component';
5
- export class DrPopoverModule {
6
- }
7
- DrPopoverModule.decorators = [
8
- { type: NgModule, args: [{
9
- imports: [
10
- CommonModule,
11
- ],
12
- exports: [
13
- DrPopoverDirective,
14
- DrPopoverComponent,
15
- ],
16
- providers: [],
17
- declarations: [
18
- DrPopoverDirective,
19
- DrPopoverComponent,
20
- ],
21
- },] }
22
- ];
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItcG9wb3Zlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1wb3BvdmVyL2RyLXBvcG92ZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBaUI1RCxNQUFNLE9BQU8sZUFBZTs7O1lBZjNCLFFBQVEsU0FBQztnQkFDTixPQUFPLEVBQUU7b0JBQ0wsWUFBWTtpQkFDZjtnQkFDRCxPQUFPLEVBQUU7b0JBQ0wsa0JBQWtCO29CQUNsQixrQkFBa0I7aUJBQ3JCO2dCQUNELFNBQVMsRUFBRSxFQUFFO2dCQUNiLFlBQVksRUFBRTtvQkFDVixrQkFBa0I7b0JBQ2xCLGtCQUFrQjtpQkFDckI7YUFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEclBvcG92ZXJEaXJlY3RpdmUgfSBmcm9tICcuL2RyLXBvcG92ZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBEclBvcG92ZXJDb21wb25lbnQgfSBmcm9tICcuL2RyLXBvcG92ZXIuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgRHJQb3BvdmVyRGlyZWN0aXZlLFxuICAgICAgICBEclBvcG92ZXJDb21wb25lbnQsXG4gICAgXSxcbiAgICBwcm92aWRlcnM6IFtdLFxuICAgIGRlY2xhcmF0aW9uczogW1xuICAgICAgICBEclBvcG92ZXJEaXJlY3RpdmUsXG4gICAgICAgIERyUG9wb3ZlckNvbXBvbmVudCxcbiAgICBdLFxufSlcblxuZXhwb3J0IGNsYXNzIERyUG9wb3Zlck1vZHVsZSB7XG59XG4iXX0=
@@ -1,106 +0,0 @@
1
- import { first } from 'rxjs/operators';
2
- import { DrPopoverRef } from './dr-popover-ref';
3
- import { DrPopoverComponent } from './dr-popover.component';
4
- import { ComponentPortal } from '@angular/cdk/portal';
5
- import { Injectable, Injector } from '@angular/core';
6
- import { Overlay, OverlayConfig, OverlayPositionBuilder } from '@angular/cdk/overlay';
7
- import { POPUP_POSITIONS } from '../models/constants';
8
- import { DEFAULT_CONFIG, DEFAULT_MODEL, getAlignmentDimension } from '../models/popover';
9
- import * as i0 from "@angular/core";
10
- import * as i1 from "@angular/cdk/overlay";
11
- export class DrPopoverService {
12
- constructor(overlay, overlayPositionBuilder, injector) {
13
- this.overlay = overlay;
14
- this.overlayPositionBuilder = overlayPositionBuilder;
15
- this.injector = injector;
16
- }
17
- open(content, popoverModel) {
18
- if (!content)
19
- return;
20
- const model = Object.assign(Object.assign({}, DEFAULT_MODEL), popoverModel);
21
- const overlayRef = this.createOverlay(model);
22
- const popoverRef = new DrPopoverRef(overlayRef);
23
- this.attachOverlayContainer(content, model, overlayRef, popoverRef);
24
- this.registerListeners(model, overlayRef, popoverRef);
25
- return popoverRef;
26
- }
27
- attachOverlayContainer(content, { contentContext, position, class: elementClass, manualClosing, hostRef, alignment, freezeToContainerSelector }, overlayRef, popoverRef) {
28
- const componentPortal = new ComponentPortal(DrPopoverComponent, null, this.createInjector(popoverRef));
29
- const contentRef = overlayRef.attach(componentPortal);
30
- popoverRef.componentRef = contentRef;
31
- contentRef.instance.content = content;
32
- contentRef.instance.contentContext = Object.assign(Object.assign({}, contentContext), { closePopover: popoverRef.close.bind(popoverRef) });
33
- contentRef.instance.class = elementClass + ' ' + position;
34
- contentRef.instance.manualClosing = manualClosing;
35
- contentRef.instance.hostRef = hostRef;
36
- contentRef.instance.alignment = alignment;
37
- contentRef.instance.position = position;
38
- contentRef.instance.freezeToContainerSelector = freezeToContainerSelector;
39
- }
40
- createOverlay(popoverModel) {
41
- const overlayConfig = this.getOverlayConfig(popoverModel);
42
- return this.overlay.create(overlayConfig);
43
- }
44
- getOverlayConfig(popoverModel) {
45
- if (!POPUP_POSITIONS[popoverModel.position])
46
- throw new Error(`DrPopover does not support the '${popoverModel === null || popoverModel === void 0 ? void 0 : popoverModel.position}' position!`);
47
- const position = Object.assign({}, POPUP_POSITIONS[popoverModel.position]);
48
- if (popoverModel.overlayConfig.noPadding) {
49
- position.offsetY = 0;
50
- position.offsetX = 0;
51
- }
52
- const config = Object.assign(Object.assign({}, DEFAULT_CONFIG), popoverModel.overlayConfig || {});
53
- const hostElement = this.getHostElement(popoverModel.hostRef);
54
- const positionStrategy = this.overlayPositionBuilder.flexibleConnectedTo(popoverModel.hostRef).withPositions([position]);
55
- const overlayConfig = new OverlayConfig(Object.assign({ scrollStrategy: this.overlay.scrollStrategies.noop(), positionStrategy }, config));
56
- if (popoverModel.alignment === 'host' && hostElement) {
57
- const alignmentDimension = getAlignmentDimension(popoverModel.position);
58
- overlayConfig[alignmentDimension] = hostElement.getBoundingClientRect()[alignmentDimension];
59
- }
60
- return overlayConfig;
61
- }
62
- createInjector(popoverRef) {
63
- const injectionTokens = [
64
- { provide: DrPopoverRef, useValue: popoverRef },
65
- ];
66
- return Injector.create({ providers: injectionTokens, parent: this.injector });
67
- }
68
- registerListeners(popoverModel, overlayRef, popoverRef) {
69
- const config = popoverModel.overlayConfig || {};
70
- const targetElement = popoverModel.targetElement;
71
- const hostElement = this.getHostElement(popoverModel.hostRef);
72
- if ((config === null || config === void 0 ? void 0 : config.closeOnBackdropClick) && (config === null || config === void 0 ? void 0 : config.hasBackdrop)) {
73
- overlayRef.backdropClick().subscribe(() => popoverRef.close());
74
- }
75
- if (targetElement) {
76
- targetElement.addEventListener('mouseup', () => popoverRef.close(), { once: true });
77
- }
78
- if (popoverModel.alignment === 'host' && hostElement) {
79
- const alignmentDimension = getAlignmentDimension(popoverModel.position);
80
- const resizeObserver = new ResizeObserver(entries => {
81
- entries.forEach(host => overlayRef.updateSize({ [alignmentDimension]: host.target.getBoundingClientRect()[alignmentDimension] }));
82
- });
83
- resizeObserver.observe(hostElement);
84
- popoverRef.onClose.pipe(first()).subscribe(() => resizeObserver.unobserve(hostElement));
85
- }
86
- }
87
- getHostElement(hostRef) {
88
- if (!hostRef || hostRef.x)
89
- return null;
90
- if (hostRef.nativeElement)
91
- return hostRef.nativeElement;
92
- return hostRef;
93
- }
94
- }
95
- DrPopoverService.ɵprov = i0.ɵɵdefineInjectable({ factory: function DrPopoverService_Factory() { return new DrPopoverService(i0.ɵɵinject(i1.Overlay), i0.ɵɵinject(i1.OverlayPositionBuilder), i0.ɵɵinject(i0.INJECTOR)); }, token: DrPopoverService, providedIn: "root" });
96
- DrPopoverService.decorators = [
97
- { type: Injectable, args: [{
98
- providedIn: 'root',
99
- },] }
100
- ];
101
- DrPopoverService.ctorParameters = () => [
102
- { type: Overlay },
103
- { type: OverlayPositionBuilder },
104
- { type: Injector }
105
- ];
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItcG9wb3Zlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItcG9wb3Zlci9kci1wb3BvdmVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFjLFVBQVUsRUFBRSxRQUFRLEVBQXFDLE1BQU0sZUFBZSxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLHNCQUFzQixFQUFjLE1BQU0sc0JBQXNCLENBQUM7QUFDbEcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFDSCxjQUFjLEVBQ2QsYUFBYSxFQUNiLHFCQUFxQixFQUd4QixNQUFNLG1CQUFtQixDQUFDOzs7QUFLM0IsTUFBTSxPQUFPLGdCQUFnQjtJQUV6QixZQUNZLE9BQWdCLEVBQ2hCLHNCQUE4QyxFQUM5QyxRQUFrQjtRQUZsQixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQ2hCLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFDOUMsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUU5QixDQUFDO0lBRUQsSUFBSSxDQUFJLE9BQTJDLEVBQUUsWUFBc0M7UUFDdkYsSUFBSSxDQUFDLE9BQU87WUFBRSxPQUFPO1FBRXJCLE1BQU0sS0FBSyxtQ0FBUSxhQUFhLEdBQUssWUFBWSxDQUFFLENBQUM7UUFFcEQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMs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QUFpQixzQkFBc0I7WUFEdEIsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZpcnN0IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRHJQb3BvdmVyUmVmIH0gZnJvbSAnLi9kci1wb3BvdmVyLXJlZic7XG5pbXBvcnQgeyBEclBvcG92ZXJDb21wb25lbnQgfSBmcm9tICcuL2RyLXBvcG92ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IENvbXBvbmVudFBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgRWxlbWVudFJlZiwgSW5qZWN0YWJsZSwgSW5qZWN0b3IsIFN0YXRpY1Byb3ZpZGVyLCBUZW1wbGF0ZVJlZiwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT3ZlcmxheSwgT3ZlcmxheUNvbmZpZywgT3ZlcmxheVBvc2l0aW9uQnVpbGRlciwgT3ZlcmxheVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IFBPUFVQX1BPU0lUSU9OUyB9IGZyb20gJy4uL21vZGVscy9jb25zdGFudHMnO1xuaW1wb3J0IHtcbiAgICBERUZBVUxUX0NPTkZJRyxcbiAgICBERUZBVUxUX01PREVMLFxuICAgIGdldEFsaWdubWVudERpbWVuc2lvbixcbiAgICBJRHJQb3BvdmVyQ29tcG9uZW50TW9kZWwsXG4gICAgUG9pbnRcbn0gZnJvbSAnLi4vbW9kZWxzL3BvcG92ZXInO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBEclBvcG92ZXJTZXJ2aWNlIHtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIG92ZXJsYXk6IE92ZXJsYXksXG4gICAgICAgIHByaXZhdGUgb3ZlcmxheVBvc2l0aW9uQnVpbGRlcjogT3ZlcmxheVBvc2l0aW9uQnVpbGRlcixcbiAgICAgICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgKSB7XG4gICAgfVxuXG4gICAgb3BlbjxUPihjb250ZW50OiBUeXBlPFQ+IHwgVGVtcGxhdGVSZWY8SFRNTEVsZW1lbnQ+LCBwb3BvdmVyTW9kZWw6IElEclBvcG92ZXJDb21wb25lbnRNb2RlbCk6IERyUG9wb3ZlclJlZjxUPiB7XG4gICAgICAgIGlmICghY29udGVudCkgcmV0dXJuO1xuXG4gICAgICAgIGNvbnN0IG1vZGVsID0geyAuLi5ERUZBVUxUX01PREVMLCAuLi5wb3BvdmVyTW9kZWwgfTtcblxuICAgICAgICBjb25zdCBvdmVybGF5UmVmID0gdGhpcy5jcmVhdGVPdmVybGF5KG1vZGVsKTtcblxuICAgICAgICBjb25zdCBwb3BvdmVyUmVmID0gbmV3IERyUG9wb3ZlclJlZjxUPihvdmVybGF5UmVmKTtcblxuICAgICAgICB0aGlzLmF0dGFjaE92ZXJsYXlDb250YWluZXIoY29udGVudCwgbW9kZWwsIG92ZXJsYXlSZWYsIHBvcG92ZXJSZWYpO1xuXG4gICAgICAgIHRoaXMucmVnaXN0ZXJMaXN0ZW5lcnMobW9kZWwsIG92ZXJsYXlSZWYsIHBvcG92ZXJSZWYpO1xuXG4gICAgICAgIHJldHVybiBwb3BvdmVyUmVmO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXR0YWNoT3ZlcmxheUNvbnRhaW5lcjxUPihcbiAgICAgICAgY29udGVudDogVHlwZTxUPiB8IFRlbXBsYXRlUmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgeyBjb250ZW50Q29udGV4dCwgcG9zaXRpb24sIGNsYXNzOiBlbGVtZW50Q2xhc3MsIG1hbnVhbENsb3NpbmcsIGhvc3RSZWYsIGFsaWdubWVudCwgZnJlZXplVG9Db250YWluZXJTZWxlY3Rvcn06IElEclBvcG92ZXJDb21wb25lbnRNb2RlbCxcbiAgICAgICAgb3ZlcmxheVJlZjogT3ZlcmxheVJlZixcbiAgICAgICAgcG9wb3ZlclJlZjogRHJQb3BvdmVyUmVmPFQ+XG4gICAgKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudFBvcnRhbCA9IG5ldyBDb21wb25lbnRQb3J0YWw8RHJQb3BvdmVyQ29tcG9uZW50PFQ+PihEclBvcG92ZXJDb21wb25lbnQsIG51bGwsIHRoaXMuY3JlYXRlSW5qZWN0b3IocG9wb3ZlclJlZikpO1xuICAgICAgICBjb25zdCBjb250ZW50UmVmID0gb3ZlcmxheVJlZi5hdHRhY2g8RHJQb3BvdmVyQ29tcG9uZW50PFQ+Pihjb21wb25lbnRQb3J0YWwpO1xuXG4gICAgICAgIHBvcG92ZXJSZWYuY29tcG9uZW50UmVmID0gY29udGVudFJlZjtcblxuICAgICAgICBjb250ZW50UmVmLmluc3RhbmNlLmNvbnRlbnQgPSBjb250ZW50O1xuICAgICAgICBjb250ZW50UmVmLmluc3RhbmNlLmNvbnRlbnRDb250ZXh0ID0geyAuLi5jb250ZW50Q29udGV4dCwgY2xvc2VQb3BvdmVyOiBwb3BvdmVyUmVmLmNsb3NlLmJpbmQocG9wb3ZlclJlZikgfTtcbiAgICAgICAgY29udGVudFJlZi5pbnN0YW5jZS5jbGFzcyA9IGVsZW1lbnRDbGFzcyArICcgJyArIHBvc2l0aW9uO1xuICAgICAgICBjb250ZW50UmVmLmluc3RhbmNlLm1hbnVhbENsb3NpbmcgPSBtYW51YWxDbG9zaW5nO1xuICAgICAgICBjb250ZW50UmVmLmluc3RhbmNlLmhvc3RSZWYgPSBob3N0UmVmO1xuICAgICAgICBjb250ZW50UmVmLmluc3RhbmNlLmFsaWdubWVudCA9IGFsaWdubWVudDtcbiAgICAgICAgY29udGVudFJlZi5pbnN0YW5jZS5wb3NpdGlvbiA9IHBvc2l0aW9uO1xuICAgICAgICBjb250ZW50UmVmLmluc3RhbmNlLmZyZWV6ZVRvQ29udGFpbmVyU2VsZWN0b3IgPSBmcmVlemVUb0NvbnRhaW5lclNlbGVjdG9yO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlT3ZlcmxheShwb3BvdmVyTW9kZWw6IElEclBvcG92ZXJDb21wb25lbnRNb2RlbCk6IE92ZXJsYXlSZWYge1xuICAgICAgICBjb25zdCBvdmVybGF5Q29uZmlnID0gdGhpcy5nZXRPdmVybGF5Q29uZmlnKHBvcG92ZXJNb2RlbCk7XG4gICAgICAgIHJldHVybiB0aGlzLm92ZXJsYXkuY3JlYXRlKG92ZXJsYXlDb25maWcpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0T3ZlcmxheUNvbmZpZyhwb3BvdmVyTW9kZWw6IElEclBvcG92ZXJDb21wb25lbnRNb2RlbCk6IE92ZXJsYXlDb25maWcge1xuICAgICAgICBpZiAoIVBPUFVQX1BPU0lUSU9OU1twb3BvdmVyTW9kZWwucG9zaXRpb25dKSB0aHJvdyBuZXcgRXJyb3IoYERyUG9wb3ZlciBkb2VzIG5vdCBzdXBwb3J0IHRoZSAnJHsgcG9wb3Zlck1vZGVsPy5wb3NpdGlvbiB9JyBwb3NpdGlvbiFgKTtcblxuICAgICAgICBjb25zdCBwb3NpdGlvbiA9IHsgLi4uIFBPUFVQX1BPU0lUSU9OU1twb3BvdmVyTW9kZWwucG9zaXRpb25dIH07XG4gICAgICAgIGlmIChwb3BvdmVyTW9kZWwub3ZlcmxheUNvbmZpZy5ub1BhZGRpbmcpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uLm9mZnNldFkgPSAwO1xuICAgICAgICAgICAgcG9zaXRpb24ub2Zmc2V0WCA9IDA7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgY29uZmlnID0geyAuLi5ERUZBVUxUX0NPTkZJRywgLi4ucG9wb3Zlck1vZGVsLm92ZXJsYXlDb25maWcgfHwge30gfTtcbiAgICAgICAgY29uc3QgaG9zdEVsZW1lbnQgPSB0aGlzLmdldEhvc3RFbGVtZW50KHBvcG92ZXJNb2RlbC5ob3N0UmVmKTtcblxuICAgICAgICBjb25zdCBwb3NpdGlvblN0cmF0ZWd5ID0gdGhpcy5vdmVybGF5UG9zaXRpb25CdWlsZGVyLmZsZXhpYmxlQ29ubmVjdGVkVG8ocG9wb3Zlck1vZGVsLmhvc3RSZWYpLndpdGhQb3NpdGlvbnMoW3Bvc2l0aW9uXSk7XG5cbiAgICAgICAgY29uc3Qgb3ZlcmxheUNvbmZpZyA9IG5ldyBPdmVybGF5Q29uZmlnKHtcbiAgICAgICAgICAgIHNjcm9sbFN0cmF0ZWd5OiB0aGlzLm92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5ub29wKCksXG4gICAgICAgICAgICBwb3NpdGlvblN0cmF0ZWd5LFxuICAgICAgICAgICAgLi4uY29uZmlnLFxuICAgICAgICB9KTtcblxuICAgICAgICBpZiAocG9wb3Zlck1vZGVsLmFsaWdubWVudCA9PT0gJ2hvc3QnICYmIGhvc3RFbGVtZW50KSB7XG4gICAgICAgICAgICBjb25zdCBhbGlnbm1lbnREaW1lbnNpb24gPSBnZXRBbGlnbm1lbnREaW1lbnNpb24ocG9wb3Zlck1vZGVsLnBvc2l0aW9uKTtcbiAgICAgICAgICAgIG92ZXJsYXlDb25maWdbYWxpZ25tZW50RGltZW5zaW9uXSA9IGhvc3RFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpW2FsaWdubWVudERpbWVuc2lvbl07XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gb3ZlcmxheUNvbmZpZztcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZUluamVjdG9yPFQ+KHBvcG92ZXJSZWY6IERyUG9wb3ZlclJlZjxUPik6IEluamVjdG9yIHtcbiAgICAgICAgY29uc3QgaW5qZWN0aW9uVG9rZW5zOiBTdGF0aWNQcm92aWRlcltdID0gW1xuICAgICAgICAgICAgeyBwcm92aWRlOiBEclBvcG92ZXJSZWYsIHVzZVZhbHVlOiBwb3BvdmVyUmVmIH0sXG4gICAgICAgIF07XG5cbiAgICAgICAgcmV0dXJuIEluamVjdG9yLmNyZWF0ZSh7IHByb3ZpZGVyczogaW5qZWN0aW9uVG9rZW5zLCBwYXJlbnQ6IHRoaXMuaW5qZWN0b3IgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZWdpc3Rlckxpc3RlbmVyczxUPihwb3BvdmVyTW9kZWw6IElEclBvcG92ZXJDb21wb25lbnRNb2RlbCwgb3ZlcmxheVJlZjogT3ZlcmxheVJlZiwgcG9wb3ZlclJlZjogRHJQb3BvdmVyUmVmPFQ+KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGNvbmZpZyA9IHBvcG92ZXJNb2RlbC5vdmVybGF5Q29uZmlnIHx8IHt9O1xuICAgICAgICBjb25zdCB0YXJnZXRFbGVtZW50ID0gcG9wb3Zlck1vZGVsLnRhcmdldEVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IGhvc3RFbGVtZW50ID0gdGhpcy5nZXRIb3N0RWxlbWVudChwb3BvdmVyTW9kZWwuaG9zdFJlZik7XG5cbiAgICAgICAgaWYgKGNvbmZpZz8uY2xvc2VPbkJhY2tkcm9wQ2xpY2sgJiYgY29uZmlnPy5oYXNCYWNrZHJvcCkge1xuICAgICAgICAgICAgb3ZlcmxheVJlZi5iYWNrZHJvcENsaWNrKCkuc3Vic2NyaWJlKCgpID0+IHBvcG92ZXJSZWYuY2xvc2UoKSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGFyZ2V0RWxlbWVudCkge1xuICAgICAgICAgICAgdGFyZ2V0RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgKCkgPT4gcG9wb3ZlclJlZi5jbG9zZSgpLCB7IG9uY2U6IHRydWUgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocG9wb3Zlck1vZGVsLmFsaWdubWVudCA9PT0gJ2hvc3QnICYmIGhvc3RFbGVtZW50KSB7XG4gICAgICAgICAgICBjb25zdCBhbGlnbm1lbnREaW1lbnNpb24gPSBnZXRBbGlnbm1lbnREaW1lbnNpb24ocG9wb3Zlck1vZGVsLnBvc2l0aW9uKTtcbiAgICAgICAgICAgIGNvbnN0IHJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKGVudHJpZXMgPT4ge1xuICAgICAgICAgICAgICAgIGVudHJpZXMuZm9yRWFjaChob3N0ID0+IG92ZXJsYXlSZWYudXBkYXRlU2l6ZSh7IFthbGlnbm1lbnREaW1lbnNpb25dOiBob3N0LnRhcmdldC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKVthbGlnbm1lbnREaW1lbnNpb25dIH0pKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZShob3N0RWxlbWVudCk7XG4gICAgICAgICAgICBwb3BvdmVyUmVmLm9uQ2xvc2UucGlwZShmaXJzdCgpKS5zdWJzY3JpYmUoKCkgPT4gcmVzaXplT2JzZXJ2ZXIudW5vYnNlcnZlKGhvc3RFbGVtZW50KSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEhvc3RFbGVtZW50PFQ+KGhvc3RSZWY6IFBvaW50IHwgSFRNTEVsZW1lbnQgfCBFbGVtZW50UmVmPFQ+KTogSFRNTEVsZW1lbnQge1xuICAgICAgICBpZiAoIWhvc3RSZWYgfHwgKDxQb2ludD5ob3N0UmVmKS54KSByZXR1cm4gbnVsbDtcbiAgICAgICAgaWYgKCg8RWxlbWVudFJlZj5ob3N0UmVmKS5uYXRpdmVFbGVtZW50KSByZXR1cm4gKDxFbGVtZW50UmVmPmhvc3RSZWYpLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIHJldHVybiA8SFRNTEVsZW1lbnQ+aG9zdFJlZjtcbiAgICB9XG5cbn1cbiJdfQ==
@@ -1,102 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
2
- import { Scenario } from '../../interfaces/scenario';
3
- import { ScenarioService } from '../../services/scenario.service';
4
- import { TagTypes } from '../../../models/serverTags';
5
- import { find as _find, includes as _includes, map as _map } from 'lodash';
6
- import { ToggleButtonMode } from '../../../dr-inputs/dr-toggle-button/toggle-button-mode';
7
- export class DrScenarioConfigurationComponent {
8
- constructor(scenarioService) {
9
- this.scenarioService = scenarioService;
10
- this.toggleButtonMode = ToggleButtonMode;
11
- this._scenarioTags = [];
12
- this.wholeTagsConfig = [];
13
- this.isMultipleDimension = false;
14
- this.scenarioDataChanged = new EventEmitter();
15
- }
16
- set selectedScenario(scenario) {
17
- if (!Object.values(Scenario).includes(scenario)) {
18
- this._selectedScenario = Scenario.ACTUALS;
19
- return;
20
- }
21
- this._selectedScenario = scenario;
22
- }
23
- get selectedScenario() {
24
- return this._selectedScenario || Scenario.ACTUALS;
25
- }
26
- get scenarioTags() {
27
- return this._scenarioTags;
28
- }
29
- set scenarioTags(tags) {
30
- this._scenarioTags = tags;
31
- this.tagNotSupportingDates = _find(tags, { turnOffDateTags: true });
32
- }
33
- get dateTag() {
34
- return _find(this.scenarioTags, { type: TagTypes.DATE });
35
- }
36
- ngOnInit() {
37
- this.scenarios = this.scenarioService.scenarios;
38
- this.scenarioService.initScenarioTags(this.wholeTagsConfig, this.currentTagsConfig, this.isMultipleDimension);
39
- this.scenarioTags = this.scenarioService.getScenarioTagsByScenario(this.selectedScenario);
40
- }
41
- onScenarioChange(scenario) {
42
- this.scenarioTags = this.scenarioService.getScenarioTagsByScenario(scenario);
43
- this.onScenarioDataChange();
44
- }
45
- onScenarioTagToggle(tag) {
46
- this.tagNotSupportingDatesHandler(tag);
47
- this.tagAcceptableDateHandler(tag);
48
- this.onScenarioDataChange();
49
- }
50
- onScenarioDataChange() {
51
- this.scenarioDataChanged.emit({
52
- scenario: this.selectedScenario,
53
- tagsConfig: this.scenarioService.getTagsConfigByScenarioTags(this.scenarioTags, this.wholeTagsConfig),
54
- });
55
- }
56
- tagNotSupportingDatesHandler(tag) {
57
- if (!this.tagNotSupportingDates || !tag.toggle)
58
- return;
59
- if (tag.type === TagTypes.DATE) {
60
- this.tagNotSupportingDates.toggle = false;
61
- }
62
- if (tag === this.tagNotSupportingDates) {
63
- const dateTag = this.dateTag;
64
- if (dateTag) {
65
- dateTag.toggle = false;
66
- }
67
- }
68
- }
69
- tagAcceptableDateHandler(tag) {
70
- var _a;
71
- if (!((_a = tag.acceptableDateTags) === null || _a === void 0 ? void 0 : _a.length))
72
- return;
73
- const dateTag = this.dateTag;
74
- if (!dateTag)
75
- return;
76
- dateTag.subTags = _map(dateTag.subTags, (subTag) => {
77
- subTag.hidden = tag.toggle && !_includes(tag.acceptableDateTags, subTag.subType);
78
- return subTag;
79
- });
80
- dateTag.selectedTagSubType = tag.acceptableDateTags[0];
81
- }
82
- }
83
- DrScenarioConfigurationComponent.decorators = [
84
- { type: Component, args: [{
85
- selector: 'dr-scenario-configuration',
86
- template: "<div class=\"scenario\">\n <div class=\"scenario__list\">\n <p class=\"scenario__title scenario__title-list\">Scenario</p>\n <dr-select [(ngModel)]=\"selectedScenario\"\n placeholder=\"Select\"\n [items]=\"scenarios\"\n (ngModelChange)=\"onScenarioChange($event)\"></dr-select>\n </div>\n <div class=\"scenario__tags\">\n <p class=\"scenario__title--extra scenario__tags__title\">Tags</p>\n <div class=\"scenario__tag\" *ngFor=\"let tag of scenarioTags\">\n <div class=\"scenario__tag__header\">\n <p class=\"scenario__title\">{{ tag.name }}</p>\n <dr-toggle [(ngModel)]=\"tag.toggle\"\n (ngModelChange)=\"onScenarioTagToggle(tag)\"></dr-toggle>\n </div>\n <div class=\"scenario__tag__description\">\n <p class=\"scenario__text\">{{ tag.description }}</p>\n </div>\n <div *ngIf=\"tag.toggle\" class=\"scenario__tag__body\">\n <div *ngIf=\"tag.subTags?.length\" class=\"scenario__sub-tag\">\n <dr-toggle-button [(ngModel)]=\"tag.selectedTagSubType\"\n bindHidden=\"hidden\"\n bindLabel=\"name\"\n bindValue=\"subType\"\n [items]=\"tag.subTags\"\n [mode]=\"toggleButtonMode.DOTTED\"\n (ngModelChange)=\"onScenarioDataChange()\"></dr-toggle-button>\n </div>\n </div>\n </div>\n </div>\n</div>\n",
87
- changeDetection: ChangeDetectionStrategy.OnPush,
88
- providers: [ScenarioService],
89
- styles: [".scenario__text,.scenario__title,.scenario__title--extra{padding:0;margin:0;color:#0c142b;font-weight:400;font-size:14px;line-height:22px}.scenario__title{font-weight:600}.scenario__title--extra{font-weight:700}.scenario__tags{margin-top:24px}.scenario__tags__title{margin-bottom:16px}.scenario__title-list{margin-bottom:4px}.scenario__tag{margin-bottom:24px;padding-top:16px;border-top:1px solid #dfe0e3}.scenario__tag__description{margin-top:5px}.scenario__tag__header{display:flex;justify-content:space-between}.scenario__sub-tag{margin-top:8px}:host::ng-deep .toggle-container__item{padding:2px 8px!important}\n"]
90
- },] }
91
- ];
92
- DrScenarioConfigurationComponent.ctorParameters = () => [
93
- { type: ScenarioService }
94
- ];
95
- DrScenarioConfigurationComponent.propDecorators = {
96
- currentTagsConfig: [{ type: Input }],
97
- wholeTagsConfig: [{ type: Input }],
98
- selectedScenario: [{ type: Input }],
99
- isMultipleDimension: [{ type: Input }],
100
- scenarioDataChanged: [{ type: Output }]
101
- };
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItc2NlbmFyaW8tY29uZmlndXJhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1zY2VuYXJpby9jb21wb25lbnRzL2RyLXNjZW5hcmlvLWNvbmZpZ3VyYXRpb24vZHItc2NlbmFyaW8tY29uZmlndXJhdGlvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RyxPQUFPLEVBQWtCLFFBQVEsRUFBd0IsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbEUsT0FBTyxFQUFRLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFBRSxJQUFJLElBQUksS0FBSyxFQUFFLFFBQVEsSUFBSSxTQUFTLEVBQUUsR0FBRyxJQUFJLElBQUksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUMzRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQVMxRixNQUFNLE9BQU8sZ0NBQWdDO0lBdUN6QyxZQUFvQixlQUFnQztRQUFoQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUF0QzdDLHFCQUFnQixHQUFHLGdCQUFnQixDQUFDO1FBR25DLGtCQUFhLEdBQXFCLEVBQUUsQ0FBQztRQUs3QixvQkFBZSxHQUFXLEVBQUUsQ0FBQztRQVM3Qix3QkFBbUIsR0FBWSxLQUFLLENBQUM7UUFFcEMsd0JBQW1CLEdBQXVDLElBQUksWUFBWSxFQUF3QixDQUFDO0lBb0JwSCxDQUFDO0lBOUJELElBQW9CLGdCQUFnQixDQUFDLFFBQWtCO1FBQ25ELElBQUksQ0FBQyxNQUFNLENBQUMsTUFB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QUMsT0FBTyxDQUFDO1FBRTdCLElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTztRQUVyQixPQUFPLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDL0MsTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUMsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDakYsT0FBTyxNQUFNLENBQUM7UUFDbEIsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLENBQUMsa0JBQWtCLEdBQUcsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzNELENBQUM7OztZQXJHSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLDJCQUEyQjtnQkFDckMsZ3JEQUF5RDtnQkFFekQsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07Z0JBQy9DLFNBQVMsRUFBRSxDQUFDLGVBQWUsQ0FBQzs7YUFDL0I7OztZQVhRLGVBQWU7OztnQ0FvQm5CLEtBQUs7OEJBQ0wsS0FBSzsrQkFDTCxLQUFLO2tDQVFMLEtBQUs7a0NBRUwsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJU2NlbmFyaW9UYWdVaSwgU2NlbmFyaW8sIFRTY2VuYXJpb0RhdGFDaGFuZ2VkIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9zY2VuYXJpbyc7XG5pbXBvcnQgeyBTY2VuYXJpb1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zY2VuYXJpby5zZXJ2aWNlJztcbmltcG9ydCB7IElUYWcsIFRhZ1R5cGVzIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3NlcnZlclRhZ3MnO1xuaW1wb3J0IHsgZmluZCBhcyBfZmluZCwgaW5jbHVkZXMgYXMgX2luY2x1ZGVzLCBtYXAgYXMgX21hcCB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBUb2dnbGVCdXR0b25Nb2RlIH0gZnJvbSAnLi4vLi4vLi4vZHItaW5wdXRzL2RyLXRvZ2dsZS1idXR0b24vdG9nZ2xlLWJ1dHRvbi1tb2RlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdkci1zY2VuYXJpby1jb25maWd1cmF0aW9uJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZHItc2NlbmFyaW8tY29uZmlndXJhdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZHItc2NlbmFyaW8tY29uZmlndXJhdGlvbi5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1NjZW5hcmlvU2VydmljZV1cbn0pXG5leHBvcnQgY2xhc3MgRHJTY2VuYXJpb0NvbmZpZ3VyYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIHB1YmxpYyB0b2dnbGVCdXR0b25Nb2RlID0gVG9nZ2xlQnV0dG9uTW9kZTtcbiAgICBwdWJsaWMgc2NlbmFyaW9zOiBTY2VuYXJpb1tdO1xuXG4gICAgcHJpdmF0ZSBfc2NlbmFyaW9UYWdzOiBJU2NlbmFyaW9UYWdVaVtdID0gW107XG4gICAgcHJpdmF0ZSBfc2VsZWN0ZWRTY2VuYXJpbzogU2NlbmFyaW87XG4gICAgcHJpdmF0ZSB0YWdOb3RTdXBwb3J0aW5nRGF0ZXM6IElTY2VuYXJpb1RhZ1VpO1xuXG4gICAgQElucHV0KCkgcHVibGljIGN1cnJlbnRUYWdzQ29uZmlnOiBJVGFnW107XG4gICAgQElucHV0KCkgcHVibGljIHdob2xlVGFnc0NvbmZpZzogSVRhZ1tdID0gW107XG4gICAgQElucHV0KCkgcHVibGljIHNldCBzZWxlY3RlZFNjZW5hcmlvKHNjZW5hcmlvOiBTY2VuYXJpbykge1xuICAgICAgICBpZiAoIU9iamVjdC52YWx1ZXMoU2NlbmFyaW8pLmluY2x1ZGVzKHNjZW5hcmlvKSkge1xuICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWRTY2VuYXJpbyA9IFNjZW5hcmlvLkFDVFVBTFM7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9zZWxlY3RlZFNjZW5hcmlvID0gc2NlbmFyaW87XG4gICAgfVxuICAgIEBJbnB1dCgpIHB1YmxpYyBpc011bHRpcGxlRGltZW5zaW9uOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBAT3V0cHV0KCkgcHVibGljIHNjZW5hcmlvRGF0YUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxUU2NlbmFyaW9EYXRhQ2hhbmdlZD4gPSBuZXcgRXZlbnRFbWl0dGVyPFRTY2VuYXJpb0RhdGFDaGFuZ2VkPigpO1xuXG4gICAgcHVibGljIGdldCBzZWxlY3RlZFNjZW5hcmlvKCk6IFNjZW5hcmlvIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkU2NlbmFyaW8gfHwgU2NlbmFyaW8uQUNUVUFMUztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHNjZW5hcmlvVGFncygpOiBJU2NlbmFyaW9UYWdVaVtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NjZW5hcmlvVGFncztcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0IHNjZW5hcmlvVGFncyh0YWdzOiBJU2NlbmFyaW9UYWdVaVtdKSB7XG4gICAgICAgIHRoaXMuX3NjZW5hcmlvVGFncyA9IHRhZ3M7XG4gICAgICAgIHRoaXMudGFnTm90U3VwcG9ydGluZ0RhdGVzID0gX2ZpbmQodGFncywgeyB0dXJuT2ZmRGF0ZVRhZ3M6IHRydWUgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBkYXRlVGFnKCk6IElTY2VuYXJpb1RhZ1VpIHtcbiAgICAgICAgcmV0dXJuIF9maW5kKHRoaXMuc2NlbmFyaW9UYWdzLCB7IHR5cGU6IFRhZ1R5cGVzLkRBVEUgfSk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBzY2VuYXJpb1NlcnZpY2U6IFNjZW5hcmlvU2VydmljZSkge1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zY2VuYXJpb3MgPSB0aGlzLnNjZW5hcmlvU2VydmljZS5zY2VuYXJpb3M7XG4gICAgICAgIHRoaXMuc2NlbmFyaW9TZXJ2aWNlLmluaXRTY2VuYXJpb1RhZ3ModGhpcy53aG9sZVRhZ3NDb25maWcsIHRoaXMuY3VycmVudFRhZ3NDb25maWcsIHRoaXMuaXNNdWx0aXBsZURpbWVuc2lvbik7XG4gICAgICAgIHRoaXMuc2NlbmFyaW9UYWdzID0gdGhpcy5zY2VuYXJpb1NlcnZpY2UuZ2V0U2NlbmFyaW9UYWdzQnlTY2VuYXJpbyh0aGlzLnNlbGVjdGVkU2NlbmFyaW8pO1xuICAgIH1cblxuICAgIHB1YmxpYyBvblNjZW5hcmlvQ2hhbmdlKHNjZW5hcmlvOiBTY2VuYXJpbyk6IHZvaWQge1xuICAgICAgICB0aGlzLnNjZW5hcmlvVGFncyA9IHRoaXMuc2NlbmFyaW9TZXJ2aWNlLmdldFNjZW5hcmlvVGFnc0J5U2NlbmFyaW8oc2NlbmFyaW8pO1xuICAgICAgICB0aGlzLm9uU2NlbmFyaW9EYXRhQ2hhbmdlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uU2NlbmFyaW9UYWdUb2dnbGUodGFnOiBJU2NlbmFyaW9UYWdVaSk6IHZvaWQge1xuICAgICAgICB0aGlzLnRhZ05vdFN1cHBvcnRpbmdEYXRlc0hhbmRsZXIodGFnKTtcbiAgICAgICAgdGhpcy50YWdBY2NlcHRhYmxlRGF0ZUhhbmRsZXIodGFnKTtcbiAgICAgICAgdGhpcy5vblNjZW5hcmlvRGF0YUNoYW5nZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvblNjZW5hcmlvRGF0YUNoYW5nZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zY2VuYXJpb0RhdGFDaGFuZ2VkLmVtaXQoe1xuICAgICAgICAgICAgc2NlbmFyaW86IHRoaXMuc2VsZWN0ZWRTY2VuYXJpbyxcbiAgICAgICAgICAgIHRhZ3NDb25maWc6IHRoaXMuc2NlbmFyaW9TZXJ2aWNlLmdldFRhZ3NDb25maWdCeVNjZW5hcmlvVGFncyh0aGlzLnNjZW5hcmlvVGFncywgdGhpcy53aG9sZVRhZ3NDb25maWcpLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHRhZ05vdFN1cHBvcnRpbmdEYXRlc0hhbmRsZXIodGFnOiBJU2NlbmFyaW9UYWdVaSk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMudGFnTm90U3VwcG9ydGluZ0RhdGVzIHx8ICF0YWcudG9nZ2xlKSByZXR1cm47XG5cbiAgICAgICAgaWYgKHRhZy50eXBlID09PSBUYWdUeXBlcy5EQVRFKSB7XG4gICAgICAgICAgICB0aGlzLnRhZ05vdFN1cHBvcnRpbmdEYXRlcy50b2dnbGUgPSBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0YWcgPT09IHRoaXMudGFnTm90U3VwcG9ydGluZ0RhdGVzKSB7XG4gICAgICAgICAgICBjb25zdCBkYXRlVGFnID0gdGhpcy5kYXRlVGFnO1xuXG4gICAgICAgICAgICBpZiAoZGF0ZVRhZykge1xuICAgICAgICAgICAgICAgIGRhdGVUYWcudG9nZ2xlID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHRhZ0FjY2VwdGFibGVEYXRlSGFuZGxlcih0YWc6IElTY2VuYXJpb1RhZ1VpKSB7XG4gICAgICAgIGlmICghdGFnLmFjY2VwdGFibGVEYXRlVGFncz8ubGVuZ3RoKSByZXR1cm47XG4gICAgICAgIGNvbnN0IGRhdGVUYWcgPSB0aGlzLmRhdGVUYWc7XG5cbiAgICAgICAgaWYgKCFkYXRlVGFnKSByZXR1cm47XG5cbiAgICAgICAgZGF0ZVRhZy5zdWJUYWdzID0gX21hcChkYXRlVGFnLnN1YlRhZ3MsIChzdWJUYWcpID0+IHtcbiAgICAgICAgICAgIHN1YlRhZy5oaWRkZW4gPSB0YWcudG9nZ2xlICYmICFfaW5jbHVkZXModGFnLmFjY2VwdGFibGVEYXRlVGFncywgc3ViVGFnLnN1YlR5cGUpO1xuICAgICAgICAgICAgcmV0dXJuIHN1YlRhZztcbiAgICAgICAgfSk7XG5cbiAgICAgICAgZGF0ZVRhZy5zZWxlY3RlZFRhZ1N1YlR5cGUgPSB0YWcuYWNjZXB0YWJsZURhdGVUYWdzWzBdO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,74 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
2
- import { reduce as _reduce, find as _find, merge as _merge } from 'lodash';
3
- export class DrScenarioTagConfigurationComponent {
4
- constructor() {
5
- this.connectedTags = {};
6
- this.dynamicTagValues = {};
7
- this.lockedDates = [];
8
- this.scenarioTagDataChanged = new EventEmitter();
9
- this.currentTagsMap = {};
10
- this._currentTags = [];
11
- this.dynamicTagsToSave = [];
12
- this.tagsToSave = [];
13
- }
14
- set currentTags(tags) {
15
- this._currentTags = tags;
16
- this.currentTagsMap = _reduce(tags, (acc, curr) => {
17
- var _a;
18
- const tagId = (_a = _find(this.tagsConfig, { name: curr.name })) === null || _a === void 0 ? void 0 : _a.id;
19
- if (isNaN(tagId))
20
- return acc;
21
- acc[tagId] = curr;
22
- return acc;
23
- }, {});
24
- }
25
- get currentTags() {
26
- return this._currentTags;
27
- }
28
- ngOnChanges(simpleChanges) {
29
- this.currentTags = this.currentTags;
30
- }
31
- onTagChange($event) {
32
- const savedTag = _find(this.tagsToSave, { id: $event.id });
33
- if (savedTag) {
34
- _merge(savedTag, $event);
35
- }
36
- else {
37
- this.tagsToSave.push($event);
38
- }
39
- this.onScenarioTagDataChanged();
40
- }
41
- onDynamicTagsChange($event) {
42
- this.dynamicTagsToSave = $event;
43
- this.onScenarioTagDataChanged();
44
- }
45
- onScenarioTagDataChanged() {
46
- const tags = [...this.dynamicTagsToSave, ...this.tagsToSave];
47
- this.scenarioTagDataChanged.emit({
48
- scenario: this.scenario,
49
- tagsConfig: this.tagsConfig,
50
- tags,
51
- });
52
- }
53
- }
54
- DrScenarioTagConfigurationComponent.decorators = [
55
- { type: Component, args: [{
56
- selector: 'dr-scenario-tag-configuration',
57
- template: "<div class=\"scenario-tag-configuration\"\n *ngFor=\"let tagConfig of tagsConfig\">\n <dr-tag [tagConfig]=\"tagConfig\"\n [selectedTag]=\"currentTagsMap[tagConfig.id]\"\n [lockedDate]=\"lockedDates\"\n [fiscalYearStartsFrom]=\"fiscalYearStartsFrom\"\n [fiscalYearBack]=\"fiscalYearBack\"\n [tagsConfig]=\"tagsConfig\"\n [dynamicTagValues]=\"dynamicTagValues\"\n [connectedTags]=\"connectedTags[tagConfig.id]\"\n [isDynamicTagAddEnabled]=\"isDynamicAddEnabled\"\n (tagChange)=\"onTagChange($event)\"\n (dynamicTagChange)=\"onDynamicTagsChange($event)\"></dr-tag>\n</div>\n",
58
- changeDetection: ChangeDetectionStrategy.OnPush,
59
- styles: [".scenario-tag-configuration{margin-bottom:24px}.scenario-tag-configuration:last-child{margin-bottom:0}\n"]
60
- },] }
61
- ];
62
- DrScenarioTagConfigurationComponent.propDecorators = {
63
- tagsConfig: [{ type: Input }],
64
- currentTags: [{ type: Input }],
65
- scenario: [{ type: Input }],
66
- connectedTags: [{ type: Input }],
67
- dynamicTagValues: [{ type: Input }],
68
- lockedDates: [{ type: Input }],
69
- fiscalYearStartsFrom: [{ type: Input }],
70
- fiscalYearBack: [{ type: Input }],
71
- isDynamicAddEnabled: [{ type: Input }],
72
- scenarioTagDataChanged: [{ type: Output }]
73
- };
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItc2NlbmFyaW8tdGFnLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItc2NlbmFyaW8vY29tcG9uZW50cy9kci1zY2VuYXJpby10YWctY29uZmlndXJhdGlvbi9kci1zY2VuYXJpby10YWctY29uZmlndXJhdGlvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBRVQsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLE1BQU0sSUFBSSxPQUFPLEVBQUUsSUFBSSxJQUFJLEtBQUssRUFBRSxLQUFLLElBQUksTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBUzNFLE1BQU0sT0FBTyxtQ0FBbUM7SUFOaEQ7UUFvQm9CLGtCQUFhLEdBQW1CLEVBQUUsQ0FBQztRQUNuQyxxQkFBZ0IsR0FBZ0IsRUFBRSxDQUFDO1FBRW5DLGdCQUFXLEdBQXdCLEVBQUUsQ0FBQztRQUtyQywyQkFBc0IsR0FBdUMsSUFBSSxZQUFZLEVBQXdCLENBQUM7UUFFaEgsbUJBQWMsR0FBdUMsRUFBRSxDQUFDO1FBRXZELGlCQUFZLEdBQW9CLEVBQUUsQ0FBQztRQUNuQyxzQkFBaUIsR0FBb0IsRUFBRSxDQUFDO1FBQ3hDLGVBQVUsR0FBb0IsRUFBRSxDQUFDO0lBbUM3QyxDQUFDO0lBN0RHLElBQW9CLFdBQVcsQ0FBQyxJQUFxQjtRQUNqRCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUN6QixJQUFJLENBQUMsY0FBYyxHQUFHLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUU7O1lBQzlDLE1BQU0sS0FBSyxHQUFHLE1BQUEsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLDBDQUFFLEVBQUUsQ0FBQztZQUM5RCxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUM7Z0JBQUUsT0FBTyxHQUFHLENBQUM7WUFFN0IsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQztZQUNsQixPQUFPLEdBQUcsQ0FBQztRQUNmLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNYLENBQUM7SUFtQkQsSUFBVyxXQUFXO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUM3QixDQUFDO0lBRU0sV0FBVyxDQUFDLGFBQTRCO1FBQzNDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUN4QyxDQUFDO0lBRU0sV0FBVyxDQUFDLE1BQXFCO1FBQ3BDLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsRUFBRSxFQUFFLE1BQU0sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRTNELElBQUksUUFBUSxFQUFFO1lBQ1YsTUFBTSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztTQUM1QjthQUFNO1lBQ0gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDaEM7UUFFRCxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRU0sbUJBQW1CLENBQUMsTUFBdUI7UUFDOUMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLE1BQU0sQ0FBQztRQUNoQyxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRU0sd0JBQXdCO1FBQzNCLE1BQU0sSUFBSSxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDN0QsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQztZQUM3QixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDdkIsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO1lBQzNCLElBQUk7U0FDUCxDQUFDLENBQUM7SUFDUCxDQUFDOzs7WUFwRUosU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSwrQkFBK0I7Z0JBQ3pDLDRyQkFBNkQ7Z0JBRTdELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOzthQUNsRDs7O3lCQUVJLEtBQUs7MEJBQ0wsS0FBSzt1QkFXTCxLQUFLOzRCQUNMLEtBQUs7K0JBQ0wsS0FBSzswQkFFTCxLQUFLO21DQUNMLEtBQUs7NkJBQ0wsS0FBSztrQ0FDTCxLQUFLO3FDQUVMLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE91dHB1dCxcbiAgICBTaW1wbGVDaGFuZ2VzXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSVRhZywgSVRhZ0ZvclNlcnZlciwgVENvbm5lY3RlZFRhZ3MsIFREeW5hbWljVGFnIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3NlcnZlclRhZ3MnO1xuaW1wb3J0IHsgcmVkdWNlIGFzIF9yZWR1Y2UsIGZpbmQgYXMgX2ZpbmQsIG1lcmdlIGFzIF9tZXJnZSB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBTY2VuYXJpbywgVFNjZW5hcmlvRGF0YUNoYW5nZWQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3NjZW5hcmlvJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdkci1zY2VuYXJpby10YWctY29uZmlndXJhdGlvbicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2RyLXNjZW5hcmlvLXRhZy1jb25maWd1cmF0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9kci1zY2VuYXJpby10YWctY29uZmlndXJhdGlvbi5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIERyU2NlbmFyaW9UYWdDb25maWd1cmF0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgICBASW5wdXQoKSBwdWJsaWMgdGFnc0NvbmZpZzogSVRhZ1tdO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBzZXQgY3VycmVudFRhZ3ModGFnczogSVRhZ0ZvclNlcnZlcltdKSB7XG4gICAgICAgIHRoaXMuX2N1cnJlbnRUYWdzID0gdGFncztcbiAgICAgICAgdGhpcy5jdXJyZW50VGFnc01hcCA9IF9yZWR1Y2UodGFncywgKGFjYywgY3VycikgPT4ge1xuICAgICAgICAgICAgY29uc3QgdGFnSWQgPSBfZmluZCh0aGlzLnRhZ3NDb25maWcsIHsgbmFtZTogY3Vyci5uYW1lIH0pPy5pZDtcbiAgICAgICAgICAgIGlmIChpc05hTih0YWdJZCkpIHJldHVybiBhY2M7XG5cbiAgICAgICAgICAgIGFjY1t0YWdJZF0gPSBjdXJyO1xuICAgICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgfSwge30pO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHB1YmxpYyBzY2VuYXJpbzogU2NlbmFyaW87XG4gICAgQElucHV0KCkgcHVibGljIGNvbm5lY3RlZFRhZ3M6IFRDb25uZWN0ZWRUYWdzID0ge307XG4gICAgQElucHV0KCkgcHVibGljIGR5bmFtaWNUYWdWYWx1ZXM6IFREeW5hbWljVGFnID0ge307XG5cbiAgICBASW5wdXQoKSBwdWJsaWMgbG9ja2VkRGF0ZXM6IHN0cmluZ1tdIHwgbnVtYmVyW10gPSBbXTtcbiAgICBASW5wdXQoKSBwdWJsaWMgZmlzY2FsWWVhclN0YXJ0c0Zyb206IG51bWJlcjtcbiAgICBASW5wdXQoKSBwdWJsaWMgZmlzY2FsWWVhckJhY2s6IGJvb2xlYW47XG4gICAgQElucHV0KCkgcHVibGljIGlzRHluYW1pY0FkZEVuYWJsZWQ6IGJvb2xlYW47XG5cbiAgICBAT3V0cHV0KCkgcHVibGljIHNjZW5hcmlvVGFnRGF0YUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxUU2NlbmFyaW9EYXRhQ2hhbmdlZD4gPSBuZXcgRXZlbnRFbWl0dGVyPFRTY2VuYXJpb0RhdGFDaGFuZ2VkPigpO1xuXG4gICAgcHVibGljIGN1cnJlbnRUYWdzTWFwOiB7IFt0YWdJZDogbnVtYmVyXTogSVRhZ0ZvclNlcnZlciB9ID0ge307XG5cbiAgICBwcml2YXRlIF9jdXJyZW50VGFnczogSVRhZ0ZvclNlcnZlcltdID0gW107XG4gICAgcHJpdmF0ZSBkeW5hbWljVGFnc1RvU2F2ZTogSVRhZ0ZvclNlcnZlcltdID0gW107XG4gICAgcHJpdmF0ZSB0YWdzVG9TYXZlOiBJVGFnRm9yU2VydmVyW10gPSBbXTtcblxuICAgIHB1YmxpYyBnZXQgY3VycmVudFRhZ3MoKTogSVRhZ0ZvclNlcnZlcltdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2N1cnJlbnRUYWdzO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uQ2hhbmdlcyhzaW1wbGVDaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY3VycmVudFRhZ3MgPSB0aGlzLmN1cnJlbnRUYWdzO1xuICAgIH1cblxuICAgIHB1YmxpYyBvblRhZ0NoYW5nZSgkZXZlbnQ6IElUYWdGb3JTZXJ2ZXIpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgc2F2ZWRUYWcgPSBfZmluZCh0aGlzLnRhZ3NUb1NhdmUsIHsgaWQ6ICRldmVudC5pZCB9KTtcblxuICAgICAgICBpZiAoc2F2ZWRUYWcpIHtcbiAgICAgICAgICAgIF9tZXJnZShzYXZlZFRhZywgJGV2ZW50KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudGFnc1RvU2F2ZS5wdXNoKCRldmVudCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm9uU2NlbmFyaW9UYWdEYXRhQ2hhbmdlZCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkR5bmFtaWNUYWdzQ2hhbmdlKCRldmVudDogSVRhZ0ZvclNlcnZlcltdKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZHluYW1pY1RhZ3NUb1NhdmUgPSAkZXZlbnQ7XG4gICAgICAgIHRoaXMub25TY2VuYXJpb1RhZ0RhdGFDaGFuZ2VkKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uU2NlbmFyaW9UYWdEYXRhQ2hhbmdlZCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdGFncyA9IFsuLi50aGlzLmR5bmFtaWNUYWdzVG9TYXZlLCAuLi50aGlzLnRhZ3NUb1NhdmVdO1xuICAgICAgICB0aGlzLnNjZW5hcmlvVGFnRGF0YUNoYW5nZWQuZW1pdCh7XG4gICAgICAgICAgICBzY2VuYXJpbzogdGhpcy5zY2VuYXJpbyxcbiAgICAgICAgICAgIHRhZ3NDb25maWc6IHRoaXMudGFnc0NvbmZpZyxcbiAgICAgICAgICAgIHRhZ3MsXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==