@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
@@ -0,0 +1,224 @@
1
+ import { Component, Input, Output, EventEmitter } from '@angular/core';
2
+ import { isNil, includes } from 'lodash';
3
+ import { TreeviewItem } from '../../models/treeview-item';
4
+ import { TreeviewHelper } from '../../helpers/treeview-helper';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "../../models/treeview-i18n";
7
+ import * as i2 from "../../models/treeview-config";
8
+ import * as i3 from "../../helpers/treeview-event-parser";
9
+ import * as i4 from "@angular/forms";
10
+ import * as i5 from "@angular/common";
11
+ import * as i6 from "../treeview-item/treeview-item.component";
12
+ class FilterTreeviewItem extends TreeviewItem {
13
+ refItem;
14
+ constructor(item) {
15
+ super({
16
+ text: item.text,
17
+ value: item.value,
18
+ disabled: item.disabled,
19
+ checked: item.checked,
20
+ collapsed: item.collapsed,
21
+ children: item.children
22
+ });
23
+ this.refItem = item;
24
+ }
25
+ updateRefChecked() {
26
+ this.children.forEach(child => {
27
+ if (child instanceof FilterTreeviewItem) {
28
+ child.updateRefChecked();
29
+ }
30
+ });
31
+ let refChecked = this.checked;
32
+ if (refChecked) {
33
+ for (const refChild of this.refItem.children) {
34
+ if (!refChild.checked) {
35
+ refChecked = false;
36
+ break;
37
+ }
38
+ }
39
+ }
40
+ this.refItem.checked = refChecked;
41
+ }
42
+ }
43
+ export class TreeviewComponent {
44
+ i18n;
45
+ defaultConfig;
46
+ eventParser;
47
+ headerTemplate;
48
+ itemTemplate;
49
+ items;
50
+ config;
51
+ selectedChange = new EventEmitter();
52
+ filterChange = new EventEmitter();
53
+ headerTemplateContext;
54
+ allItem;
55
+ filterText = '';
56
+ filterItems;
57
+ selection;
58
+ constructor(i18n, defaultConfig, eventParser) {
59
+ this.i18n = i18n;
60
+ this.defaultConfig = defaultConfig;
61
+ this.eventParser = eventParser;
62
+ this.config = this.defaultConfig;
63
+ this.allItem = new TreeviewItem({ text: 'All', value: undefined });
64
+ }
65
+ get hasFilterItems() {
66
+ return !isNil(this.filterItems) && this.filterItems.length > 0;
67
+ }
68
+ get maxHeight() {
69
+ return `${this.config.maxHeight}`;
70
+ }
71
+ ngOnInit() {
72
+ this.createHeaderTemplateContext();
73
+ this.generateSelection();
74
+ }
75
+ ngOnChanges(changes) {
76
+ const itemsSimpleChange = changes.items;
77
+ if (!isNil(itemsSimpleChange) && !isNil(this.items)) {
78
+ this.updateFilterItems();
79
+ this.updateCollapsedOfAll();
80
+ this.raiseSelectedChange();
81
+ }
82
+ }
83
+ onAllCollapseExpand() {
84
+ this.allItem.collapsed = !this.allItem.collapsed;
85
+ this.filterItems.forEach(item => item.setCollapsedRecursive(this.allItem.collapsed));
86
+ }
87
+ onFilterTextChange(text) {
88
+ this.filterText = text;
89
+ this.filterChange.emit(text);
90
+ this.updateFilterItems();
91
+ }
92
+ onAllCheckedChange() {
93
+ const checked = this.allItem.checked;
94
+ this.filterItems.forEach(item => {
95
+ item.setCheckedRecursive(checked);
96
+ if (item instanceof FilterTreeviewItem) {
97
+ item.updateRefChecked();
98
+ }
99
+ });
100
+ this.raiseSelectedChange();
101
+ }
102
+ onItemCheckedChange(item, checked) {
103
+ if (item instanceof FilterTreeviewItem) {
104
+ item.updateRefChecked();
105
+ }
106
+ this.updateCheckedOfAll();
107
+ this.raiseSelectedChange();
108
+ }
109
+ raiseSelectedChange() {
110
+ this.generateSelection();
111
+ const values = this.eventParser.getSelectedChange(this);
112
+ setTimeout(() => {
113
+ this.selectedChange.emit(values);
114
+ });
115
+ }
116
+ createHeaderTemplateContext() {
117
+ this.headerTemplateContext = {
118
+ config: this.config,
119
+ item: this.allItem,
120
+ onCheckedChange: () => this.onAllCheckedChange(),
121
+ onCollapseExpand: () => this.onAllCollapseExpand(),
122
+ onFilterTextChange: (text) => this.onFilterTextChange(text)
123
+ };
124
+ }
125
+ generateSelection() {
126
+ let checkedItems = [];
127
+ let uncheckedItems = [];
128
+ if (!isNil(this.items)) {
129
+ const selection = TreeviewHelper.concatSelection(this.items, checkedItems, uncheckedItems);
130
+ checkedItems = selection.checked;
131
+ uncheckedItems = selection.unchecked;
132
+ }
133
+ this.selection = {
134
+ checkedItems,
135
+ uncheckedItems
136
+ };
137
+ }
138
+ updateFilterItems() {
139
+ if (this.filterText !== '') {
140
+ const filterItems = [];
141
+ const filterText = this.filterText.toLowerCase();
142
+ this.items.forEach(item => {
143
+ const newItem = this.filterItem(item, filterText);
144
+ if (!isNil(newItem)) {
145
+ filterItems.push(newItem);
146
+ }
147
+ });
148
+ this.filterItems = filterItems;
149
+ }
150
+ else {
151
+ this.filterItems = this.items;
152
+ }
153
+ this.updateCheckedOfAll();
154
+ }
155
+ filterItem(item, filterText) {
156
+ const isMatch = includes(item.text.toLowerCase(), filterText);
157
+ if (isMatch) {
158
+ return item;
159
+ }
160
+ else {
161
+ if (!isNil(item.children)) {
162
+ const children = [];
163
+ item.children.forEach(child => {
164
+ const newChild = this.filterItem(child, filterText);
165
+ if (!isNil(newChild)) {
166
+ children.push(newChild);
167
+ }
168
+ });
169
+ if (children.length > 0) {
170
+ const newItem = new FilterTreeviewItem(item);
171
+ newItem.collapsed = false;
172
+ newItem.children = children;
173
+ return newItem;
174
+ }
175
+ }
176
+ }
177
+ return undefined;
178
+ }
179
+ updateCheckedOfAll() {
180
+ let itemChecked = null;
181
+ for (const filterItem of this.filterItems) {
182
+ if (itemChecked === null) {
183
+ itemChecked = filterItem.checked;
184
+ }
185
+ else if (itemChecked !== filterItem.checked) {
186
+ itemChecked = undefined;
187
+ break;
188
+ }
189
+ }
190
+ if (itemChecked === null) {
191
+ itemChecked = false;
192
+ }
193
+ this.allItem.checked = itemChecked;
194
+ }
195
+ updateCollapsedOfAll() {
196
+ let hasItemExpanded = false;
197
+ for (const filterItem of this.filterItems) {
198
+ if (!filterItem.collapsed) {
199
+ hasItemExpanded = true;
200
+ break;
201
+ }
202
+ }
203
+ this.allItem.collapsed = !hasItemExpanded;
204
+ }
205
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: TreeviewComponent, deps: [{ token: i1.TreeviewI18n }, { token: i2.TreeviewConfig }, { token: i3.TreeviewEventParser }], target: i0.ɵɵFactoryTarget.Component });
206
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.5", type: TreeviewComponent, selector: "ngx-treeview", inputs: { headerTemplate: "headerTemplate", itemTemplate: "itemTemplate", items: "items", config: "config" }, outputs: { selectedChange: "selectedChange", filterChange: "filterChange" }, usesOnChanges: true, ngImport: i0, template: "<ng-template #defaultItemTemplate let-item=\"item\" let-onCollapseExpand=\"onCollapseExpand\"\n let-onCheckedChange=\"onCheckedChange\">\n <div class=\"form-inline row-item\">\n <i *ngIf=\"item.children\" (click)=\"onCollapseExpand()\" aria-hidden=\"true\" [ngSwitch]=\"item.collapsed\">\n <svg *ngSwitchCase=\"true\" width=\"0.8rem\" height=\"0.8rem\" viewBox=\"0 0 16 16\" class=\"bi bi-caret-right-fill\"\n fill=\"currentColor\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M12.14 8.753l-5.482 4.796c-.646.566-1.658.106-1.658-.753V3.204a1 1 0 0 1 1.659-.753l5.48 4.796a1 1 0 0 1 0 1.506z\" />\n </svg>\n <svg *ngSwitchCase=\"false\" width=\"0.8rem\" height=\"0.8rem\" viewBox=\"0 0 16 16\" class=\"bi bi-caret-down-fill\"\n fill=\"currentColor\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M7.247 11.14L2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z\" />\n </svg>\n </i>\n <div class=\"form-check\">\n <input type=\"checkbox\" class=\"form-check-input\" [(ngModel)]=\"item.checked\" (ngModelChange)=\"onCheckedChange()\"\n [disabled]=\"item.disabled\" [indeterminate]=\"item.indeterminate\" />\n <label class=\"form-check-label\" (click)=\"item.checked = !item.checked; onCheckedChange()\">\n {{item.text}}\n </label>\n </div>\n </div>\n</ng-template>\n<ng-template #defaultHeaderTemplate let-config=\"config\" let-item=\"item\" let-onCollapseExpand=\"onCollapseExpand\"\n let-onCheckedChange=\"onCheckedChange\" let-onFilterTextChange=\"onFilterTextChange\">\n <div *ngIf=\"config.hasFilter\" class=\"row row-filter\">\n <div class=\"col-12\">\n <input class=\"form-control\" type=\"text\" [placeholder]=\"i18n.getFilterPlaceholder()\" [(ngModel)]=\"filterText\"\n (ngModelChange)=\"onFilterTextChange($event)\" />\n </div>\n </div>\n <div *ngIf=\"hasFilterItems\">\n <div *ngIf=\"config.hasAllCheckBox || config.hasCollapseExpand\" class=\"row row-all\">\n <div class=\"col-12\">\n <div class=\"form-check form-check-inline\" *ngIf=\"config.hasAllCheckBox\">\n <input type=\"checkbox\" class=\"form-check-input\" [(ngModel)]=\"item.checked\" (ngModelChange)=\"onCheckedChange()\"\n [indeterminate]=\"item.indeterminate\" />\n <label class=\"form-check-label\" (click)=\"item.checked = !item.checked; onCheckedChange()\">\n {{i18n.getAllCheckboxText()}}\n </label>\n </div>\n <label *ngIf=\"config.hasCollapseExpand\" class=\"float-right form-check-label\" (click)=\"onCollapseExpand()\">\n <i [title]=\"i18n.getTooltipCollapseExpandText(item.collapsed)\" aria-hidden=\"true\" [ngSwitch]=\"item.collapsed\">\n <svg *ngSwitchCase=\"true\" width=\"1em\" height=\"1em\" viewBox=\"0 0 16 16\" class=\"bi bi-arrows-angle-expand\"\n fill=\"currentColor\" xmlns=\"http://www.w3.org/2000/svg\">\n <path fill-rule=\"evenodd\"\n d=\"M1.5 10.036a.5.5 0 0 1 .5.5v3.5h3.5a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5v-4a.5.5 0 0 1 .5-.5z\" />\n <path fill-rule=\"evenodd\"\n d=\"M6.354 9.646a.5.5 0 0 1 0 .708l-4.5 4.5a.5.5 0 0 1-.708-.708l4.5-4.5a.5.5 0 0 1 .708 0zm8.5-8.5a.5.5 0 0 1 0 .708l-4.5 4.5a.5.5 0 0 1-.708-.708l4.5-4.5a.5.5 0 0 1 .708 0z\" />\n <path fill-rule=\"evenodd\"\n d=\"M10.036 1.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5v4a.5.5 0 1 1-1 0V2h-3.5a.5.5 0 0 1-.5-.5z\" />\n </svg>\n <svg *ngSwitchCase=\"false\" width=\"1em\" height=\"1em\" viewBox=\"0 0 16 16\" class=\"bi bi-arrows-angle-contract\"\n fill=\"currentColor\" xmlns=\"http://www.w3.org/2000/svg\">\n <path fill-rule=\"evenodd\"\n d=\"M9.5 2.036a.5.5 0 0 1 .5.5v3.5h3.5a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5v-4a.5.5 0 0 1 .5-.5z\" />\n <path fill-rule=\"evenodd\"\n d=\"M14.354 1.646a.5.5 0 0 1 0 .708l-4.5 4.5a.5.5 0 1 1-.708-.708l4.5-4.5a.5.5 0 0 1 .708 0zm-7.5 7.5a.5.5 0 0 1 0 .708l-4.5 4.5a.5.5 0 0 1-.708-.708l4.5-4.5a.5.5 0 0 1 .708 0z\" />\n <path fill-rule=\"evenodd\"\n d=\"M2.036 9.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-1 0V10h-3.5a.5.5 0 0 1-.5-.5z\" />\n </svg>\n </i>\n </label>\n </div>\n </div>\n <div *ngIf=\"config.hasDivider\" class=\"dropdown-divider\"></div>\n </div>\n</ng-template>\n<div class=\"treeview-header\">\n <ng-template [ngTemplateOutlet]=\"headerTemplate || defaultHeaderTemplate\"\n [ngTemplateOutletContext]=\"headerTemplateContext\">\n </ng-template>\n</div>\n<div [ngSwitch]=\"hasFilterItems\">\n <div *ngSwitchCase=\"true\" class=\"treeview-container\" [style.max-height.px]=\"maxHeight\">\n <ngx-treeview-item *ngFor=\"let item of filterItems\" [config]=\"config\" [item]=\"item\"\n [template]=\"itemTemplate || defaultItemTemplate\" (checkedChange)=\"onItemCheckedChange(item, $event)\">\n </ngx-treeview-item>\n </div>\n <div *ngSwitchCase=\"false\" class=\"treeview-text\">\n {{i18n.getFilterNoItemsFoundText()}}\n </div>\n</div>\n", styles: [":host .treeview-header .row-filter{margin-bottom:.5rem}:host .treeview-header .row-all .bi{cursor:pointer}:host .treeview-container .row-item{margin-bottom:.3rem;flex-wrap:nowrap}:host .treeview-container .row-item .bi{cursor:pointer;margin-right:.3rem}.treeview-container{overflow-y:auto;padding-right:.3rem}.treeview-text{padding:.3rem 0;white-space:nowrap}\n"], dependencies: [{ kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i5.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i5.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i6.TreeviewItemComponent, selector: "ngx-treeview-item", inputs: ["config", "template", "item"], outputs: ["checkedChange"] }] });
207
+ }
208
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: TreeviewComponent, decorators: [{
209
+ type: Component,
210
+ args: [{ selector: 'ngx-treeview', template: "<ng-template #defaultItemTemplate let-item=\"item\" let-onCollapseExpand=\"onCollapseExpand\"\n let-onCheckedChange=\"onCheckedChange\">\n <div class=\"form-inline row-item\">\n <i *ngIf=\"item.children\" (click)=\"onCollapseExpand()\" aria-hidden=\"true\" [ngSwitch]=\"item.collapsed\">\n <svg *ngSwitchCase=\"true\" width=\"0.8rem\" height=\"0.8rem\" viewBox=\"0 0 16 16\" class=\"bi bi-caret-right-fill\"\n fill=\"currentColor\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M12.14 8.753l-5.482 4.796c-.646.566-1.658.106-1.658-.753V3.204a1 1 0 0 1 1.659-.753l5.48 4.796a1 1 0 0 1 0 1.506z\" />\n </svg>\n <svg *ngSwitchCase=\"false\" width=\"0.8rem\" height=\"0.8rem\" viewBox=\"0 0 16 16\" class=\"bi bi-caret-down-fill\"\n fill=\"currentColor\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M7.247 11.14L2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z\" />\n </svg>\n </i>\n <div class=\"form-check\">\n <input type=\"checkbox\" class=\"form-check-input\" [(ngModel)]=\"item.checked\" (ngModelChange)=\"onCheckedChange()\"\n [disabled]=\"item.disabled\" [indeterminate]=\"item.indeterminate\" />\n <label class=\"form-check-label\" (click)=\"item.checked = !item.checked; onCheckedChange()\">\n {{item.text}}\n </label>\n </div>\n </div>\n</ng-template>\n<ng-template #defaultHeaderTemplate let-config=\"config\" let-item=\"item\" let-onCollapseExpand=\"onCollapseExpand\"\n let-onCheckedChange=\"onCheckedChange\" let-onFilterTextChange=\"onFilterTextChange\">\n <div *ngIf=\"config.hasFilter\" class=\"row row-filter\">\n <div class=\"col-12\">\n <input class=\"form-control\" type=\"text\" [placeholder]=\"i18n.getFilterPlaceholder()\" [(ngModel)]=\"filterText\"\n (ngModelChange)=\"onFilterTextChange($event)\" />\n </div>\n </div>\n <div *ngIf=\"hasFilterItems\">\n <div *ngIf=\"config.hasAllCheckBox || config.hasCollapseExpand\" class=\"row row-all\">\n <div class=\"col-12\">\n <div class=\"form-check form-check-inline\" *ngIf=\"config.hasAllCheckBox\">\n <input type=\"checkbox\" class=\"form-check-input\" [(ngModel)]=\"item.checked\" (ngModelChange)=\"onCheckedChange()\"\n [indeterminate]=\"item.indeterminate\" />\n <label class=\"form-check-label\" (click)=\"item.checked = !item.checked; onCheckedChange()\">\n {{i18n.getAllCheckboxText()}}\n </label>\n </div>\n <label *ngIf=\"config.hasCollapseExpand\" class=\"float-right form-check-label\" (click)=\"onCollapseExpand()\">\n <i [title]=\"i18n.getTooltipCollapseExpandText(item.collapsed)\" aria-hidden=\"true\" [ngSwitch]=\"item.collapsed\">\n <svg *ngSwitchCase=\"true\" width=\"1em\" height=\"1em\" viewBox=\"0 0 16 16\" class=\"bi bi-arrows-angle-expand\"\n fill=\"currentColor\" xmlns=\"http://www.w3.org/2000/svg\">\n <path fill-rule=\"evenodd\"\n d=\"M1.5 10.036a.5.5 0 0 1 .5.5v3.5h3.5a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5v-4a.5.5 0 0 1 .5-.5z\" />\n <path fill-rule=\"evenodd\"\n d=\"M6.354 9.646a.5.5 0 0 1 0 .708l-4.5 4.5a.5.5 0 0 1-.708-.708l4.5-4.5a.5.5 0 0 1 .708 0zm8.5-8.5a.5.5 0 0 1 0 .708l-4.5 4.5a.5.5 0 0 1-.708-.708l4.5-4.5a.5.5 0 0 1 .708 0z\" />\n <path fill-rule=\"evenodd\"\n d=\"M10.036 1.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5v4a.5.5 0 1 1-1 0V2h-3.5a.5.5 0 0 1-.5-.5z\" />\n </svg>\n <svg *ngSwitchCase=\"false\" width=\"1em\" height=\"1em\" viewBox=\"0 0 16 16\" class=\"bi bi-arrows-angle-contract\"\n fill=\"currentColor\" xmlns=\"http://www.w3.org/2000/svg\">\n <path fill-rule=\"evenodd\"\n d=\"M9.5 2.036a.5.5 0 0 1 .5.5v3.5h3.5a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5v-4a.5.5 0 0 1 .5-.5z\" />\n <path fill-rule=\"evenodd\"\n d=\"M14.354 1.646a.5.5 0 0 1 0 .708l-4.5 4.5a.5.5 0 1 1-.708-.708l4.5-4.5a.5.5 0 0 1 .708 0zm-7.5 7.5a.5.5 0 0 1 0 .708l-4.5 4.5a.5.5 0 0 1-.708-.708l4.5-4.5a.5.5 0 0 1 .708 0z\" />\n <path fill-rule=\"evenodd\"\n d=\"M2.036 9.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-1 0V10h-3.5a.5.5 0 0 1-.5-.5z\" />\n </svg>\n </i>\n </label>\n </div>\n </div>\n <div *ngIf=\"config.hasDivider\" class=\"dropdown-divider\"></div>\n </div>\n</ng-template>\n<div class=\"treeview-header\">\n <ng-template [ngTemplateOutlet]=\"headerTemplate || defaultHeaderTemplate\"\n [ngTemplateOutletContext]=\"headerTemplateContext\">\n </ng-template>\n</div>\n<div [ngSwitch]=\"hasFilterItems\">\n <div *ngSwitchCase=\"true\" class=\"treeview-container\" [style.max-height.px]=\"maxHeight\">\n <ngx-treeview-item *ngFor=\"let item of filterItems\" [config]=\"config\" [item]=\"item\"\n [template]=\"itemTemplate || defaultItemTemplate\" (checkedChange)=\"onItemCheckedChange(item, $event)\">\n </ngx-treeview-item>\n </div>\n <div *ngSwitchCase=\"false\" class=\"treeview-text\">\n {{i18n.getFilterNoItemsFoundText()}}\n </div>\n</div>\n", styles: [":host .treeview-header .row-filter{margin-bottom:.5rem}:host .treeview-header .row-all .bi{cursor:pointer}:host .treeview-container .row-item{margin-bottom:.3rem;flex-wrap:nowrap}:host .treeview-container .row-item .bi{cursor:pointer;margin-right:.3rem}.treeview-container{overflow-y:auto;padding-right:.3rem}.treeview-text{padding:.3rem 0;white-space:nowrap}\n"] }]
211
+ }], ctorParameters: function () { return [{ type: i1.TreeviewI18n }, { type: i2.TreeviewConfig }, { type: i3.TreeviewEventParser }]; }, propDecorators: { headerTemplate: [{
212
+ type: Input
213
+ }], itemTemplate: [{
214
+ type: Input
215
+ }], items: [{
216
+ type: Input
217
+ }], config: [{
218
+ type: Input
219
+ }], selectedChange: [{
220
+ type: Output
221
+ }], filterChange: [{
222
+ type: Output
223
+ }] } });
224
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItdHJlZXZpZXcvY29tcG9uZW50cy90cmVldmlldy90cmVldmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci10cmVldmlldy9jb21wb25lbnRzL3RyZWV2aWV3L3RyZWV2aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQWlELE1BQU0sZUFBZSxDQUFDO0FBQ3RILE9BQU8sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRXpDLE9BQU8sRUFBRSxZQUFZLEVBQXFCLE1BQU0sNEJBQTRCLENBQUM7QUFJN0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7Ozs7OztBQUcvRCxNQUFNLGtCQUFtQixTQUFRLFlBQVk7SUFDMUIsT0FBTyxDQUFlO0lBQ3ZDLFlBQVksSUFBa0I7UUFDNUIsS0FBSyxDQUFDO1lBQ0osSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2pCLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN2QixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDckIsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3pCLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtTQUN4QixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztJQUN0QixDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENB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VyxFQUFFO1lBQ3pDLElBQUksV0FBVyxLQUFLLElBQUksRUFBRTtnQkFDeEIsV0FBVyxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUM7YUFDbEM7aUJBQU0sSUFBSSxXQUFXLEtBQUssVUFBVSxDQUFDLE9BQU8sRUFBRTtnQkFDN0MsV0FBVyxHQUFHLFNBQVMsQ0FBQztnQkFDeEIsTUFBTTthQUNQO1NBQ0Y7UUFFRCxJQUFJLFdBQVcsS0FBSyxJQUFJLEVBQUU7WUFDeEIsV0FBVyxHQUFHLEtBQUssQ0FBQztTQUNyQjtRQUVELElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxHQUFHLFdBQVcsQ0FBQztJQUNyQyxDQUFDO0lBRU8sb0JBQW9CO1FBQzFCLElBQUksZUFBZSxHQUFHLEtBQUssQ0FBQztRQUM1QixLQUFLLE1BQU0sVUFBVSxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDekMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUU7Z0JBQ3pCLGVBQWUsR0FBRyxJQUFJLENBQUM7Z0JBQ3ZCLE1BQU07YUFDUDtTQUNGO1FBRUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEdBQUcsQ0FBQyxlQUFlLENBQUM7SUFDNUMsQ0FBQzt1R0FwTFUsaUJBQWlCOzJGQUFqQixpQkFBaUIsb1FDakQ5QixpbUtBb0ZBOzsyRkRuQ2EsaUJBQWlCO2tCQUw3QixTQUFTOytCQUNFLGNBQWM7a0tBS2YsY0FBYztzQkFBdEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0ksY0FBYztzQkFBdkIsTUFBTTtnQkFDRyxZQUFZO3NCQUFyQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIFNpbXBsZUNoYW5nZXMsIE9uQ2hhbmdlcywgVGVtcGxhdGVSZWYsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaXNOaWwsIGluY2x1ZGVzIH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IFRyZWV2aWV3STE4biB9IGZyb20gJy4uLy4uL21vZGVscy90cmVldmlldy1pMThuJztcbmltcG9ydCB7IFRyZWV2aWV3SXRlbSwgVHJlZXZpZXdTZWxlY3Rpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvdHJlZXZpZXctaXRlbSc7XG5pbXBvcnQgeyBUcmVldmlld0NvbmZpZyB9IGZyb20gJy4uLy4uL21vZGVscy90cmVldmlldy1jb25maWcnO1xuaW1wb3J0IHsgVHJlZXZpZXdIZWFkZXJUZW1wbGF0ZUNvbnRleHQgfSBmcm9tICcuLi8uLi9tb2RlbHMvdHJlZXZpZXctaGVhZGVyLXRlbXBsYXRlLWNvbnRleHQnO1xuaW1wb3J0IHsgVHJlZXZpZXdJdGVtVGVtcGxhdGVDb250ZXh0IH0gZnJvbSAnLi4vLi4vbW9kZWxzL3RyZWV2aWV3LWl0ZW0tdGVtcGxhdGUtY29udGV4dCc7XG5pbXBvcnQgeyBUcmVldmlld0hlbHBlciB9IGZyb20gJy4uLy4uL2hlbHBlcnMvdHJlZXZpZXctaGVscGVyJztcbmltcG9ydCB7IFRyZWV2aWV3RXZlbnRQYXJzZXIgfSBmcm9tICcuLi8uLi9oZWxwZXJzL3RyZWV2aWV3LWV2ZW50LXBhcnNlcic7XG5cbmNsYXNzIEZpbHRlclRyZWV2aWV3SXRlbSBleHRlbmRzIFRyZWV2aWV3SXRlbSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgcmVmSXRlbTogVHJlZXZpZXdJdGVtO1xuICBjb25zdHJ1Y3RvcihpdGVtOiBUcmVldmlld0l0ZW0pIHtcbiAgICBzdXBlcih7XG4gICAgICB0ZXh0OiBpdGVtLnRleHQsXG4gICAgICB2YWx1ZTogaXRlbS52YWx1ZSxcbiAgICAgIGRpc2FibGVkOiBpdGVtLmRpc2FibGVkLFxuICAgICAgY2hlY2tlZDogaXRlbS5jaGVja2VkLFxuICAgICAgY29sbGFwc2VkOiBpdGVtLmNvbGxhcHNlZCxcbiAgICAgIGNoaWxkcmVuOiBpdGVtLmNoaWxkcmVuXG4gICAgfSk7XG4gICAgdGhpcy5yZWZJdGVtID0gaXRlbTtcbiAgfVxuXG4gIHVwZGF0ZVJlZkNoZWNrZWQoKTogdm9pZCB7XG4gICAgdGhpcy5jaGlsZHJlbi5mb3JFYWNoKGNoaWxkID0+IHtcbiAgICAgIGlmIChjaGlsZCBpbnN0YW5jZW9mIEZpbHRlclRyZWV2aWV3SXRlbSkge1xuICAgICAgICBjaGlsZC51cGRhdGVSZWZDaGVja2VkKCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBsZXQgcmVmQ2hlY2tlZCA9IHRoaXMuY2hlY2tlZDtcbiAgICBpZiAocmVmQ2hlY2tlZCkge1xuICAgICAgZm9yIChjb25zdCByZWZDaGlsZCBvZiB0aGlzLnJlZkl0ZW0uY2hpbGRyZW4pIHtcbiAgICAgICAgaWYgKCFyZWZDaGlsZC5jaGVja2VkKSB7XG4gICAgICAgICAgcmVmQ2hlY2tlZCA9IGZhbHNlO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMucmVmSXRlbS5jaGVja2VkID0gcmVmQ2hlY2tlZDtcbiAgfVxufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZ3gtdHJlZXZpZXcnLFxuICB0ZW1wbGF0ZVVybDogJy4vdHJlZXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90cmVldmlldy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFRyZWV2aWV3Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkluaXQge1xuICBASW5wdXQoKSBoZWFkZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8VHJlZXZpZXdIZWFkZXJUZW1wbGF0ZUNvbnRleHQ+O1xuICBASW5wdXQoKSBpdGVtVGVtcGxhdGU6IFRlbXBsYXRlUmVmPFRyZWV2aWV3SXRlbVRlbXBsYXRlQ29udGV4dD47XG4gIEBJbnB1dCgpIGl0ZW1zOiBUcmVldmlld0l0ZW1bXTtcbiAgQElucHV0KCkgY29uZmlnOiBUcmVldmlld0NvbmZpZztcbiAgQE91dHB1dCgpIHNlbGVjdGVkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnlbXT4oKTtcbiAgQE91dHB1dCgpIGZpbHRlckNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICBoZWFkZXJUZW1wbGF0ZUNvbnRleHQ6IFRyZWV2aWV3SGVhZGVyVGVtcGxhdGVDb250ZXh0O1xuICBhbGxJdGVtOiBUcmVldmlld0l0ZW07XG4gIGZpbHRlclRleHQgPSAnJztcbiAgZmlsdGVySXRlbXM6IFRyZWV2aWV3SXRlbVtdO1xuICBzZWxlY3Rpb246IFRyZWV2aWV3U2VsZWN0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBpMThuOiBUcmVldmlld0kxOG4sXG4gICAgcHJpdmF0ZSBkZWZhdWx0Q29uZmlnOiBUcmVldmlld0NvbmZpZyxcbiAgICBwcml2YXRlIGV2ZW50UGFyc2VyOiBUcmVldmlld0V2ZW50UGFyc2VyXG4gICkge1xuICAgIHRoaXMuY29uZmlnID0gdGhpcy5kZWZhdWx0Q29uZmlnO1xuICAgIHRoaXMuYWxsSXRlbSA9IG5ldyBUcmVldmlld0l0ZW0oeyB0ZXh0OiAnQWxsJywgdmFsdWU6IHVuZGVmaW5lZCB9KTtcbiAgfVxuXG4gIGdldCBoYXNGaWx0ZXJJdGVtcygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIWlzTmlsKHRoaXMuZmlsdGVySXRlbXMpICYmIHRoaXMuZmlsdGVySXRlbXMubGVuZ3RoID4gMDtcbiAgfVxuXG4gIGdldCBtYXhIZWlnaHQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5jb25maWcubWF4SGVpZ2h0fWA7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmNyZWF0ZUhlYWRlclRlbXBsYXRlQ29udGV4dCgpO1xuICAgIHRoaXMuZ2VuZXJhdGVTZWxlY3Rpb24oKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBjb25zdCBpdGVtc1NpbXBsZUNoYW5nZSA9IGNoYW5nZXMuaXRlbXM7XG4gICAgaWYgKCFpc05pbChpdGVtc1NpbXBsZUNoYW5nZSkgJiYgIWlzTmlsKHRoaXMuaXRlbXMpKSB7XG4gICAgICB0aGlzLnVwZGF0ZUZpbHRlckl0ZW1zKCk7XG4gICAgICB0aGlzLnVwZGF0ZUNvbGxhcHNlZE9mQWxsKCk7XG4gICAgICB0aGlzLnJhaXNlU2VsZWN0ZWRDaGFuZ2UoKTtcbiAgICB9XG4gIH1cblxuICBvbkFsbENvbGxhcHNlRXhwYW5kKCk6IHZvaWQge1xuICAgIHRoaXMuYWxsSXRlbS5jb2xsYXBzZWQgPSAhdGhpcy5hbGxJdGVtLmNvbGxhcHNlZDtcbiAgICB0aGlzLmZpbHRlckl0ZW1zLmZvckVhY2goaXRlbSA9PiBpdGVtLnNldENvbGxhcHNlZFJlY3Vyc2l2ZSh0aGlzLmFsbEl0ZW0uY29sbGFwc2VkKSk7XG4gIH1cblxuICBvbkZpbHRlclRleHRDaGFuZ2UodGV4dDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5maWx0ZXJUZXh0ID0gdGV4dDtcbiAgICB0aGlzLmZpbHRlckNoYW5nZS5lbWl0KHRleHQpO1xuICAgIHRoaXMudXBkYXRlRmlsdGVySXRlbXMoKTtcbiAgfVxuXG4gIG9uQWxsQ2hlY2tlZENoYW5nZSgpOiB2b2lkIHtcbiAgICBjb25zdCBjaGVja2VkID0gdGhpcy5hbGxJdGVtLmNoZWNrZWQ7XG4gICAgdGhpcy5maWx0ZXJJdGVtcy5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgaXRlbS5zZXRDaGVja2VkUmVjdXJzaXZlKGNoZWNrZWQpO1xuICAgICAgaWYgKGl0ZW0gaW5zdGFuY2VvZiBGaWx0ZXJUcmVldmlld0l0ZW0pIHtcbiAgICAgICAgaXRlbS51cGRhdGVSZWZDaGVja2VkKCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLnJhaXNlU2VsZWN0ZWRDaGFuZ2UoKTtcbiAgfVxuXG4gIG9uSXRlbUNoZWNrZWRDaGFuZ2UoaXRlbTogVHJlZXZpZXdJdGVtLCBjaGVja2VkOiBib29sZWFuKTogdm9pZCB7XG4gICAgaWYgKGl0ZW0gaW5zdGFuY2VvZiBGaWx0ZXJUcmVldmlld0l0ZW0pIHtcbiAgICAgIGl0ZW0udXBkYXRlUmVmQ2hlY2tlZCgpO1xuICAgIH1cblxuICAgIHRoaXMudXBkYXRlQ2hlY2tlZE9mQWxsKCk7XG4gICAgdGhpcy5yYWlzZVNlbGVjdGVkQ2hhbmdlKCk7XG4gIH1cblxuICByYWlzZVNlbGVjdGVkQ2hhbmdlKCk6IHZvaWQge1xuICAgIHRoaXMuZ2VuZXJhdGVTZWxlY3Rpb24oKTtcbiAgICBjb25zdCB2YWx1ZXMgPSB0aGlzLmV2ZW50UGFyc2VyLmdldFNlbGVjdGVkQ2hhbmdlKHRoaXMpO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5zZWxlY3RlZENoYW5nZS5lbWl0KHZhbHVlcyk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUhlYWRlclRlbXBsYXRlQ29udGV4dCgpOiB2b2lkIHtcbiAgICB0aGlzLmhlYWRlclRlbXBsYXRlQ29udGV4dCA9IHtcbiAgICAgIGNvbmZpZzogdGhpcy5jb25maWcsXG4gICAgICBpdGVtOiB0aGlzLmFsbEl0ZW0sXG4gICAgICBvbkNoZWNrZWRDaGFuZ2U6ICgpID0+IHRoaXMub25BbGxDaGVja2VkQ2hhbmdlKCksXG4gICAgICBvbkNvbGxhcHNlRXhwYW5kOiAoKSA9PiB0aGlzLm9uQWxsQ29sbGFwc2VFeHBhbmQoKSxcbiAgICAgIG9uRmlsdGVyVGV4dENoYW5nZTogKHRleHQpID0+IHRoaXMub25GaWx0ZXJUZXh0Q2hhbmdlKHRleHQpXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgZ2VuZXJhdGVTZWxlY3Rpb24oKTogdm9pZCB7XG4gICAgbGV0IGNoZWNrZWRJdGVtczogVHJlZXZpZXdJdGVtW10gPSBbXTtcbiAgICBsZXQgdW5jaGVja2VkSXRlbXM6IFRyZWV2aWV3SXRlbVtdID0gW107XG4gICAgaWYgKCFpc05pbCh0aGlzLml0ZW1zKSkge1xuICAgICAgY29uc3Qgc2VsZWN0aW9uID0gVHJlZXZpZXdIZWxwZXIuY29uY2F0U2VsZWN0aW9uKHRoaXMuaXRlbXMsIGNoZWNrZWRJdGVtcywgdW5jaGVja2VkSXRlbXMpO1xuICAgICAgY2hlY2tlZEl0ZW1zID0gc2VsZWN0aW9uLmNoZWNrZWQ7XG4gICAgICB1bmNoZWNrZWRJdGVtcyA9IHNlbGVjdGlvbi51bmNoZWNrZWQ7XG4gICAgfVxuXG4gICAgdGhpcy5zZWxlY3Rpb24gPSB7XG4gICAgICBjaGVja2VkSXRlbXMsXG4gICAgICB1bmNoZWNrZWRJdGVtc1xuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUZpbHRlckl0ZW1zKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmZpbHRlclRleHQgIT09ICcnKSB7XG4gICAgICBjb25zdCBmaWx0ZXJJdGVtczogVHJlZXZpZXdJdGVtW10gPSBbXTtcbiAgICAgIGNvbnN0IGZpbHRlclRleHQgPSB0aGlzLmZpbHRlclRleHQudG9Mb3dlckNhc2UoKTtcbiAgICAgIHRoaXMuaXRlbXMuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgY29uc3QgbmV3SXRlbSA9IHRoaXMuZmlsdGVySXRlbShpdGVtLCBmaWx0ZXJUZXh0KTtcbiAgICAgICAgaWYgKCFpc05pbChuZXdJdGVtKSkge1xuICAgICAgICAgIGZpbHRlckl0ZW1zLnB1c2gobmV3SXRlbSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgdGhpcy5maWx0ZXJJdGVtcyA9IGZpbHRlckl0ZW1zO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZpbHRlckl0ZW1zID0gdGhpcy5pdGVtcztcbiAgICB9XG5cbiAgICB0aGlzLnVwZGF0ZUNoZWNrZWRPZkFsbCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBmaWx0ZXJJdGVtKGl0ZW06IFRyZWV2aWV3SXRlbSwgZmlsdGVyVGV4dDogc3RyaW5nKTogVHJlZXZpZXdJdGVtIHtcbiAgICBjb25zdCBpc01hdGNoID0gaW5jbHVkZXMoaXRlbS50ZXh0LnRvTG93ZXJDYXNlKCksIGZpbHRlclRleHQpO1xuICAgIGlmIChpc01hdGNoKSB7XG4gICAgICByZXR1cm4gaXRlbTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKCFpc05pbChpdGVtLmNoaWxkcmVuKSkge1xuICAgICAgICBjb25zdCBjaGlsZHJlbjogVHJlZXZpZXdJdGVtW10gPSBbXTtcbiAgICAgICAgaXRlbS5jaGlsZHJlbi5mb3JFYWNoKGNoaWxkID0+IHtcbiAgICAgICAgICBjb25zdCBuZXdDaGlsZCA9IHRoaXMuZmlsdGVySXRlbShjaGlsZCwgZmlsdGVyVGV4dCk7XG4gICAgICAgICAgaWYgKCFpc05pbChuZXdDaGlsZCkpIHtcbiAgICAgICAgICAgIGNoaWxkcmVuLnB1c2gobmV3Q2hpbGQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChjaGlsZHJlbi5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgY29uc3QgbmV3SXRlbSA9IG5ldyBGaWx0ZXJUcmVldmlld0l0ZW0oaXRlbSk7XG4gICAgICAgICAgbmV3SXRlbS5jb2xsYXBzZWQgPSBmYWxzZTtcbiAgICAgICAgICBuZXdJdGVtLmNoaWxkcmVuID0gY2hpbGRyZW47XG4gICAgICAgICAgcmV0dXJuIG5ld0l0ZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVDaGVja2VkT2ZBbGwoKTogdm9pZCB7XG4gICAgbGV0IGl0ZW1DaGVja2VkOiBib29sZWFuID0gbnVsbDtcbiAgICBmb3IgKGNvbnN0IGZpbHRlckl0ZW0gb2YgdGhpcy5maWx0ZXJJdGVtcykge1xuICAgICAgaWYgKGl0ZW1DaGVja2VkID09PSBudWxsKSB7XG4gICAgICAgIGl0ZW1DaGVja2VkID0gZmlsdGVySXRlbS5jaGVja2VkO1xuICAgICAgfSBlbHNlIGlmIChpdGVtQ2hlY2tlZCAhPT0gZmlsdGVySXRlbS5jaGVja2VkKSB7XG4gICAgICAgIGl0ZW1DaGVja2VkID0gdW5kZWZpbmVkO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoaXRlbUNoZWNrZWQgPT09IG51bGwpIHtcbiAgICAgIGl0ZW1DaGVja2VkID0gZmFsc2U7XG4gICAgfVxuXG4gICAgdGhpcy5hbGxJdGVtLmNoZWNrZWQgPSBpdGVtQ2hlY2tlZDtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlQ29sbGFwc2VkT2ZBbGwoKTogdm9pZCB7XG4gICAgbGV0IGhhc0l0ZW1FeHBhbmRlZCA9IGZhbHNlO1xuICAgIGZvciAoY29uc3QgZmlsdGVySXRlbSBvZiB0aGlzLmZpbHRlckl0ZW1zKSB7XG4gICAgICBpZiAoIWZpbHRlckl0ZW0uY29sbGFwc2VkKSB7XG4gICAgICAgIGhhc0l0ZW1FeHBhbmRlZCA9IHRydWU7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuYWxsSXRlbS5jb2xsYXBzZWQgPSAhaGFzSXRlbUV4cGFuZGVkO1xuICB9XG59XG4iLCI8bmctdGVtcGxhdGUgI2RlZmF1bHRJdGVtVGVtcGxhdGUgbGV0LWl0ZW09XCJpdGVtXCIgbGV0LW9uQ29sbGFwc2VFeHBhbmQ9XCJvbkNvbGxhcHNlRXhwYW5kXCJcbiAgbGV0LW9uQ2hlY2tlZENoYW5nZT1cIm9uQ2hlY2tlZENoYW5nZVwiPlxuICA8ZGl2IGNsYXNzPVwiZm9ybS1pbmxpbmUgcm93LWl0ZW1cIj5cbiAgICA8aSAqbmdJZj1cIml0ZW0uY2hpbGRyZW5cIiAoY2xpY2spPVwib25Db2xsYXBzZUV4cGFuZCgpXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgW25nU3dpdGNoXT1cIml0ZW0uY29sbGFwc2VkXCI+XG4gICAgICA8c3ZnICpuZ1N3aXRjaENhc2U9XCJ0cnVlXCIgd2lkdGg9XCIwLjhyZW1cIiBoZWlnaHQ9XCIwLjhyZW1cIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgY2xhc3M9XCJiaSBiaS1jYXJldC1yaWdodC1maWxsXCJcbiAgICAgICAgZmlsbD1cImN1cnJlbnRDb2xvclwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBkPVwiTTEyLjE0IDguNzUzbC01LjQ4MiA0Ljc5NmMtLjY0Ni41NjYtMS42NTguMTA2LTEuNjU4LS43NTNWMy4yMDRhMSAxIDAgMCAxIDEuNjU5LS43NTNsNS40OCA0Ljc5NmExIDEgMCAwIDEgMCAxLjUwNnpcIiAvPlxuICAgICAgPC9zdmc+XG4gICAgICA8c3ZnICpuZ1N3aXRjaENhc2U9XCJmYWxzZVwiIHdpZHRoPVwiMC44cmVtXCIgaGVpZ2h0PVwiMC44cmVtXCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGNsYXNzPVwiYmkgYmktY2FyZXQtZG93bi1maWxsXCJcbiAgICAgICAgZmlsbD1cImN1cnJlbnRDb2xvclwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBkPVwiTTcuMjQ3IDExLjE0TDIuNDUxIDUuNjU4QzEuODg1IDUuMDEzIDIuMzQ1IDQgMy4yMDQgNGg5LjU5MmExIDEgMCAwIDEgLjc1MyAxLjY1OWwtNC43OTYgNS40OGExIDEgMCAwIDEtMS41MDYgMHpcIiAvPlxuICAgICAgPC9zdmc+XG4gICAgPC9pPlxuICAgIDxkaXYgY2xhc3M9XCJmb3JtLWNoZWNrXCI+XG4gICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0XCIgWyhuZ01vZGVsKV09XCJpdGVtLmNoZWNrZWRcIiAobmdNb2RlbENoYW5nZSk9XCJvbkNoZWNrZWRDaGFuZ2UoKVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJpdGVtLmRpc2FibGVkXCIgW2luZGV0ZXJtaW5hdGVdPVwiaXRlbS5pbmRldGVybWluYXRlXCIgLz5cbiAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tY2hlY2stbGFiZWxcIiAoY2xpY2spPVwiaXRlbS5jaGVja2VkID0gIWl0ZW0uY2hlY2tlZDsgb25DaGVja2VkQ2hhbmdlKClcIj5cbiAgICAgICAge3tpdGVtLnRleHR9fVxuICAgICAgPC9sYWJlbD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuPG5nLXRlbXBsYXRlICNkZWZhdWx0SGVhZGVyVGVtcGxhdGUgbGV0LWNvbmZpZz1cImNvbmZpZ1wiIGxldC1pdGVtPVwiaXRlbVwiIGxldC1vbkNvbGxhcHNlRXhwYW5kPVwib25Db2xsYXBzZUV4cGFuZFwiXG4gIGxldC1vbkNoZWNrZWRDaGFuZ2U9XCJvbkNoZWNrZWRDaGFuZ2VcIiBsZXQtb25GaWx0ZXJUZXh0Q2hhbmdlPVwib25GaWx0ZXJUZXh0Q2hhbmdlXCI+XG4gIDxkaXYgKm5nSWY9XCJjb25maWcuaGFzRmlsdGVyXCIgY2xhc3M9XCJyb3cgcm93LWZpbHRlclwiPlxuICAgIDxkaXYgY2xhc3M9XCJjb2wtMTJcIj5cbiAgICAgIDxpbnB1dCBjbGFzcz1cImZvcm0tY29udHJvbFwiIHR5cGU9XCJ0ZXh0XCIgW3BsYWNlaG9sZGVyXT1cImkxOG4uZ2V0RmlsdGVyUGxhY2Vob2xkZXIoKVwiIFsobmdNb2RlbCldPVwiZmlsdGVyVGV4dFwiXG4gICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uRmlsdGVyVGV4dENoYW5nZSgkZXZlbnQpXCIgLz5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgKm5nSWY9XCJoYXNGaWx0ZXJJdGVtc1wiPlxuICAgIDxkaXYgKm5nSWY9XCJjb25maWcuaGFzQWxsQ2hlY2tCb3ggfHwgY29uZmlnLmhhc0NvbGxhcHNlRXhwYW5kXCIgY2xhc3M9XCJyb3cgcm93LWFsbFwiPlxuICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMlwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jaGVjayBmb3JtLWNoZWNrLWlubGluZVwiICpuZ0lmPVwiY29uZmlnLmhhc0FsbENoZWNrQm94XCI+XG4gICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dFwiIFsobmdNb2RlbCldPVwiaXRlbS5jaGVja2VkXCIgKG5nTW9kZWxDaGFuZ2UpPVwib25DaGVja2VkQ2hhbmdlKClcIlxuICAgICAgICAgICAgW2luZGV0ZXJtaW5hdGVdPVwiaXRlbS5pbmRldGVybWluYXRlXCIgLz5cbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWNoZWNrLWxhYmVsXCIgKGNsaWNrKT1cIml0ZW0uY2hlY2tlZCA9ICFpdGVtLmNoZWNrZWQ7IG9uQ2hlY2tlZENoYW5nZSgpXCI+XG4gICAgICAgICAgICB7e2kxOG4uZ2V0QWxsQ2hlY2tib3hUZXh0KCl9fVxuICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bGFiZWwgKm5nSWY9XCJjb25maWcuaGFzQ29sbGFwc2VFeHBhbmRcIiBjbGFzcz1cImZsb2F0LXJpZ2h0IGZvcm0tY2hlY2stbGFiZWxcIiAoY2xpY2spPVwib25Db2xsYXBzZUV4cGFuZCgpXCI+XG4gICAgICAgICAgPGkgW3RpdGxlXT1cImkxOG4uZ2V0VG9vbHRpcENvbGxhcHNlRXhwYW5kVGV4dChpdGVtLmNvbGxhcHNlZClcIiBhcmlhLWhpZGRlbj1cInRydWVcIiBbbmdTd2l0Y2hdPVwiaXRlbS5jb2xsYXBzZWRcIj5cbiAgICAgICAgICAgIDxzdmcgKm5nU3dpdGNoQ2FzZT1cInRydWVcIiB3aWR0aD1cIjFlbVwiIGhlaWdodD1cIjFlbVwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBjbGFzcz1cImJpIGJpLWFycm93cy1hbmdsZS1leHBhbmRcIlxuICAgICAgICAgICAgICBmaWxsPVwiY3VycmVudENvbG9yXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgICAgICAgICAgICA8cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgICBkPVwiTTEuNSAxMC4wMzZhLjUuNSAwIDAgMSAuNS41djMuNWgzLjVhLjUuNSAwIDAgMSAwIDFoLTRhLjUuNSAwIDAgMS0uNS0uNXYtNGEuNS41IDAgMCAxIC41LS41elwiIC8+XG4gICAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgIGQ9XCJNNi4zNTQgOS42NDZhLjUuNSAwIDAgMSAwIC43MDhsLTQuNSA0LjVhLjUuNSAwIDAgMS0uNzA4LS43MDhsNC41LTQuNWEuNS41IDAgMCAxIC43MDggMHptOC41LTguNWEuNS41IDAgMCAxIDAgLjcwOGwtNC41IDQuNWEuNS41IDAgMCAxLS43MDgtLjcwOGw0LjUtNC41YS41LjUgMCAwIDEgLjcwOCAwelwiIC8+XG4gICAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgIGQ9XCJNMTAuMDM2IDEuNWEuNS41IDAgMCAxIC41LS41aDRhLjUuNSAwIDAgMSAuNS41djRhLjUuNSAwIDEgMS0xIDBWMmgtMy41YS41LjUgMCAwIDEtLjUtLjV6XCIgLz5cbiAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgPHN2ZyAqbmdTd2l0Y2hDYXNlPVwiZmFsc2VcIiB3aWR0aD1cIjFlbVwiIGhlaWdodD1cIjFlbVwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBjbGFzcz1cImJpIGJpLWFycm93cy1hbmdsZS1jb250cmFjdFwiXG4gICAgICAgICAgICAgIGZpbGw9XCJjdXJyZW50Q29sb3JcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgIGQ9XCJNOS41IDIuMDM2YS41LjUgMCAwIDEgLjUuNXYzLjVoMy41YS41LjUgMCAwIDEgMCAxaC00YS41LjUgMCAwIDEtLjUtLjV2LTRhLjUuNSAwIDAgMSAuNS0uNXpcIiAvPlxuICAgICAgICAgICAgICA8cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgICBkPVwiTTE0LjM1NCAxLjY0NmEuNS41IDAgMCAxIDAgLjcwOGwtNC41IDQuNWEuNS41IDAgMSAxLS43MDgtLjcwOGw0LjUtNC41YS41LjUgMCAwIDEgLjcwOCAwem0tNy41IDcuNWEuNS41IDAgMCAxIDAgLjcwOGwtNC41IDQuNWEuNS41IDAgMCAxLS43MDgtLjcwOGw0LjUtNC41YS41LjUgMCAwIDEgLjcwOCAwelwiIC8+XG4gICAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgIGQ9XCJNMi4wMzYgOS41YS41LjUgMCAwIDEgLjUtLjVoNGEuNS41IDAgMCAxIC41LjV2NGEuNS41IDAgMCAxLTEgMFYxMGgtMy41YS41LjUgMCAwIDEtLjUtLjV6XCIgLz5cbiAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgIDwvaT5cbiAgICAgICAgPC9sYWJlbD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCJjb25maWcuaGFzRGl2aWRlclwiIGNsYXNzPVwiZHJvcGRvd24tZGl2aWRlclwiPjwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG48ZGl2IGNsYXNzPVwidHJlZXZpZXctaGVhZGVyXCI+XG4gIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJoZWFkZXJUZW1wbGF0ZSB8fCBkZWZhdWx0SGVhZGVyVGVtcGxhdGVcIlxuICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJoZWFkZXJUZW1wbGF0ZUNvbnRleHRcIj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvZGl2PlxuPGRpdiBbbmdTd2l0Y2hdPVwiaGFzRmlsdGVySXRlbXNcIj5cbiAgPGRpdiAqbmdTd2l0Y2hDYXNlPVwidHJ1ZVwiIGNsYXNzPVwidHJlZXZpZXctY29udGFpbmVyXCIgW3N0eWxlLm1heC1oZWlnaHQucHhdPVwibWF4SGVpZ2h0XCI+XG4gICAgPG5neC10cmVldmlldy1pdGVtICpuZ0Zvcj1cImxldCBpdGVtIG9mIGZpbHRlckl0ZW1zXCIgW2NvbmZpZ109XCJjb25maWdcIiBbaXRlbV09XCJpdGVtXCJcbiAgICAgIFt0ZW1wbGF0ZV09XCJpdGVtVGVtcGxhdGUgfHwgZGVmYXVsdEl0ZW1UZW1wbGF0ZVwiIChjaGVja2VkQ2hhbmdlKT1cIm9uSXRlbUNoZWNrZWRDaGFuZ2UoaXRlbSwgJGV2ZW50KVwiPlxuICAgIDwvbmd4LXRyZWV2aWV3LWl0ZW0+XG4gIDwvZGl2PlxuICA8ZGl2ICpuZ1N3aXRjaENhc2U9XCJmYWxzZVwiIGNsYXNzPVwidHJlZXZpZXctdGV4dFwiPlxuICAgIHt7aTE4bi5nZXRGaWx0ZXJOb0l0ZW1zRm91bmRUZXh0KCl9fVxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -0,0 +1,62 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { isNil } from 'lodash';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../../models/treeview-config";
5
+ import * as i2 from "@angular/common";
6
+ export class TreeviewItemComponent {
7
+ defaultConfig;
8
+ config;
9
+ template;
10
+ item;
11
+ checkedChange = new EventEmitter();
12
+ constructor(defaultConfig) {
13
+ this.defaultConfig = defaultConfig;
14
+ this.config = this.defaultConfig;
15
+ }
16
+ onCollapseExpand = () => {
17
+ this.item.collapsed = !this.item.collapsed;
18
+ };
19
+ onCheckedChange = () => {
20
+ const checked = this.item.checked;
21
+ if (!isNil(this.item.children) && !this.config.decoupleChildFromParent) {
22
+ this.item.children.forEach(child => child.setCheckedRecursive(checked));
23
+ }
24
+ this.checkedChange.emit(checked);
25
+ };
26
+ onChildCheckedChange(child, checked) {
27
+ if (!this.config.decoupleChildFromParent) {
28
+ let itemChecked = null;
29
+ for (const childItem of this.item.children) {
30
+ if (itemChecked === null) {
31
+ itemChecked = childItem.checked;
32
+ }
33
+ else if (itemChecked !== childItem.checked) {
34
+ itemChecked = undefined;
35
+ break;
36
+ }
37
+ }
38
+ if (itemChecked === null) {
39
+ itemChecked = false;
40
+ }
41
+ if (this.item.checked !== itemChecked) {
42
+ this.item.checked = itemChecked;
43
+ }
44
+ }
45
+ this.checkedChange.emit(checked);
46
+ }
47
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: TreeviewItemComponent, deps: [{ token: i1.TreeviewConfig }], target: i0.ɵɵFactoryTarget.Component });
48
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.5", type: TreeviewItemComponent, selector: "ngx-treeview-item", inputs: { config: "config", template: "template", item: "item" }, outputs: { checkedChange: "checkedChange" }, ngImport: i0, template: "<div *ngIf=\"item\" class=\"treeview-item\">\n <ng-template [ngTemplateOutlet]=\"template\"\n [ngTemplateOutletContext]=\"{item: item, onCollapseExpand: onCollapseExpand, onCheckedChange: onCheckedChange}\">\n </ng-template>\n <div *ngIf=\"!item.collapsed\">\n <ngx-treeview-item [config]=\"config\" *ngFor=\"let child of item.children\" [item]=\"child\" [template]=\"template\"\n (checkedChange)=\"onChildCheckedChange(child, $event)\">\n </ngx-treeview-item>\n </div>\n</div>\n", styles: [":host{display:block}:host .treeview-item{white-space:nowrap}:host .treeview-item .treeview-item{margin-left:2rem}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: TreeviewItemComponent, selector: "ngx-treeview-item", inputs: ["config", "template", "item"], outputs: ["checkedChange"] }] });
49
+ }
50
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: TreeviewItemComponent, decorators: [{
51
+ type: Component,
52
+ args: [{ selector: 'ngx-treeview-item', template: "<div *ngIf=\"item\" class=\"treeview-item\">\n <ng-template [ngTemplateOutlet]=\"template\"\n [ngTemplateOutletContext]=\"{item: item, onCollapseExpand: onCollapseExpand, onCheckedChange: onCheckedChange}\">\n </ng-template>\n <div *ngIf=\"!item.collapsed\">\n <ngx-treeview-item [config]=\"config\" *ngFor=\"let child of item.children\" [item]=\"child\" [template]=\"template\"\n (checkedChange)=\"onChildCheckedChange(child, $event)\">\n </ngx-treeview-item>\n </div>\n</div>\n", styles: [":host{display:block}:host .treeview-item{white-space:nowrap}:host .treeview-item .treeview-item{margin-left:2rem}\n"] }]
53
+ }], ctorParameters: function () { return [{ type: i1.TreeviewConfig }]; }, propDecorators: { config: [{
54
+ type: Input
55
+ }], template: [{
56
+ type: Input
57
+ }], item: [{
58
+ type: Input
59
+ }], checkedChange: [{
60
+ type: Output
61
+ }] } });
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZXZpZXctaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci10cmVldmlldy9jb21wb25lbnRzL3RyZWV2aWV3LWl0ZW0vdHJlZXZpZXctaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci10cmVldmlldy9jb21wb25lbnRzL3RyZWV2aWV3LWl0ZW0vdHJlZXZpZXctaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFlLE1BQU0sZUFBZSxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxRQUFRLENBQUM7Ozs7QUFVL0IsTUFBTSxPQUFPLHFCQUFxQjtJQU90QjtJQU5ELE1BQU0sQ0FBaUI7SUFDdkIsUUFBUSxDQUEyQztJQUNuRCxJQUFJLENBQWU7SUFDbEIsYUFBYSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7SUFFdEQsWUFDVSxhQUE2QjtRQUE3QixrQkFBYSxHQUFiLGFBQWEsQ0FBZ0I7UUFFckMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQ25DLENBQUM7SUFFRCxnQkFBZ0IsR0FBRyxHQUFHLEVBQUU7UUFDdEIsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUM3QyxDQUFDLENBQUE7SUFFRCxlQUFlLEdBQUcsR0FBRyxFQUFFO1FBQ3JCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsdUJBQXVCLEVBQUU7WUFDdEUsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7U0FDekU7UUFDRCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNuQyxDQUFDLENBQUE7SUFFRCxvQkFBb0IsQ0FBQyxLQUFtQixFQUFFLE9BQWdCO1FBQ3hELElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLHVCQUF1QixFQUFFO1lBQ3hDLElBQUksV0FBVyxHQUFZLElBQUksQ0FBQztZQUNoQyxLQUFLLE1BQU0sU0FBUyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUMxQyxJQUFJLFdBQVcsS0FBSyxJQUFJLEVBQUU7b0JBQ3hCLFdBQVcsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDO2lCQUNqQztxQkFBTSxJQUFJLFdBQVcsS0FBSyxTQUFTLENBQUMsT0FBTyxFQUFFO29CQUM1QyxXQUFXLEdBQUcsU0FBUyxDQUFDO29CQUN4QixNQUFNO2lCQUNQO2FBQ0Y7WUFFRCxJQUFJLFdBQVcsS0FBSyxJQUFJLEVBQUU7Z0JBQ3hCLFdBQVcsR0FBRyxLQUFLLENBQUM7YUFDckI7WUFFRCxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxLQUFLLFdBQVcsRUFBRTtnQkFDckMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsV0FBVyxDQUFDO2FBQ2pDO1NBRUY7UUFFRCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNuQyxDQUFDO3VHQS9DVSxxQkFBcUI7MkZBQXJCLHFCQUFxQix3S0NYbEMsbWZBVUEscWpCRENhLHFCQUFxQjs7MkZBQXJCLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDRSxtQkFBbUI7cUdBS3BCLE1BQU07c0JBQWQsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDSSxhQUFhO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpc05pbCB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBUcmVldmlld0l0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvdHJlZXZpZXctaXRlbSc7XG5pbXBvcnQgeyBUcmVldmlld0NvbmZpZyB9IGZyb20gJy4uLy4uL21vZGVscy90cmVldmlldy1jb25maWcnO1xuaW1wb3J0IHsgVHJlZXZpZXdJdGVtVGVtcGxhdGVDb250ZXh0IH0gZnJvbSAnLi4vLi4vbW9kZWxzL3RyZWV2aWV3LWl0ZW0tdGVtcGxhdGUtY29udGV4dCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25neC10cmVldmlldy1pdGVtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RyZWV2aWV3LWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90cmVldmlldy1pdGVtLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgVHJlZXZpZXdJdGVtQ29tcG9uZW50IHtcbiAgQElucHV0KCkgY29uZmlnOiBUcmVldmlld0NvbmZpZztcbiAgQElucHV0KCkgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPFRyZWV2aWV3SXRlbVRlbXBsYXRlQ29udGV4dD47XG4gIEBJbnB1dCgpIGl0ZW06IFRyZWV2aWV3SXRlbTtcbiAgQE91dHB1dCgpIGNoZWNrZWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBkZWZhdWx0Q29uZmlnOiBUcmVldmlld0NvbmZpZ1xuICApIHtcbiAgICB0aGlzLmNvbmZpZyA9IHRoaXMuZGVmYXVsdENvbmZpZztcbiAgfVxuXG4gIG9uQ29sbGFwc2VFeHBhbmQgPSAoKSA9PiB7XG4gICAgdGhpcy5pdGVtLmNvbGxhcHNlZCA9ICF0aGlzLml0ZW0uY29sbGFwc2VkO1xuICB9XG5cbiAgb25DaGVja2VkQ2hhbmdlID0gKCkgPT4ge1xuICAgIGNvbnN0IGNoZWNrZWQgPSB0aGlzLml0ZW0uY2hlY2tlZDtcbiAgICBpZiAoIWlzTmlsKHRoaXMuaXRlbS5jaGlsZHJlbikgJiYgIXRoaXMuY29uZmlnLmRlY291cGxlQ2hpbGRGcm9tUGFyZW50KSB7XG4gICAgICB0aGlzLml0ZW0uY2hpbGRyZW4uZm9yRWFjaChjaGlsZCA9PiBjaGlsZC5zZXRDaGVja2VkUmVjdXJzaXZlKGNoZWNrZWQpKTtcbiAgICB9XG4gICAgdGhpcy5jaGVja2VkQ2hhbmdlLmVtaXQoY2hlY2tlZCk7XG4gIH1cblxuICBvbkNoaWxkQ2hlY2tlZENoYW5nZShjaGlsZDogVHJlZXZpZXdJdGVtLCBjaGVja2VkOiBib29sZWFuKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmNvbmZpZy5kZWNvdXBsZUNoaWxkRnJvbVBhcmVudCkge1xuICAgICAgbGV0IGl0ZW1DaGVja2VkOiBib29sZWFuID0gbnVsbDtcbiAgICAgIGZvciAoY29uc3QgY2hpbGRJdGVtIG9mIHRoaXMuaXRlbS5jaGlsZHJlbikge1xuICAgICAgICBpZiAoaXRlbUNoZWNrZWQgPT09IG51bGwpIHtcbiAgICAgICAgICBpdGVtQ2hlY2tlZCA9IGNoaWxkSXRlbS5jaGVja2VkO1xuICAgICAgICB9IGVsc2UgaWYgKGl0ZW1DaGVja2VkICE9PSBjaGlsZEl0ZW0uY2hlY2tlZCkge1xuICAgICAgICAgIGl0ZW1DaGVja2VkID0gdW5kZWZpbmVkO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChpdGVtQ2hlY2tlZCA9PT0gbnVsbCkge1xuICAgICAgICBpdGVtQ2hlY2tlZCA9IGZhbHNlO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5pdGVtLmNoZWNrZWQgIT09IGl0ZW1DaGVja2VkKSB7XG4gICAgICAgIHRoaXMuaXRlbS5jaGVja2VkID0gaXRlbUNoZWNrZWQ7XG4gICAgICB9XG5cbiAgICB9XG5cbiAgICB0aGlzLmNoZWNrZWRDaGFuZ2UuZW1pdChjaGVja2VkKTtcbiAgfVxufVxuIiwiPGRpdiAqbmdJZj1cIml0ZW1cIiBjbGFzcz1cInRyZWV2aWV3LWl0ZW1cIj5cbiAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRlbXBsYXRlXCJcbiAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie2l0ZW06IGl0ZW0sIG9uQ29sbGFwc2VFeHBhbmQ6IG9uQ29sbGFwc2VFeHBhbmQsIG9uQ2hlY2tlZENoYW5nZTogb25DaGVja2VkQ2hhbmdlfVwiPlxuICA8L25nLXRlbXBsYXRlPlxuICA8ZGl2ICpuZ0lmPVwiIWl0ZW0uY29sbGFwc2VkXCI+XG4gICAgPG5neC10cmVldmlldy1pdGVtIFtjb25maWddPVwiY29uZmlnXCIgKm5nRm9yPVwibGV0IGNoaWxkIG9mIGl0ZW0uY2hpbGRyZW5cIiBbaXRlbV09XCJjaGlsZFwiIFt0ZW1wbGF0ZV09XCJ0ZW1wbGF0ZVwiXG4gICAgICAoY2hlY2tlZENoYW5nZSk9XCJvbkNoaWxkQ2hlY2tlZENoYW5nZShjaGlsZCwgJGV2ZW50KVwiPlxuICAgIDwvbmd4LXRyZWV2aWV3LWl0ZW0+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,48 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { FormsModule } from '@angular/forms';
4
+ import { TreeviewComponent } from './components/treeview/treeview.component';
5
+ import { TreeviewItemComponent } from './components/treeview-item/treeview-item.component';
6
+ import { TreeviewPipe } from './pipes/treeview.pipe';
7
+ import { TreeviewConfig } from './models/treeview-config';
8
+ import { DefaultTreeviewEventParser, TreeviewEventParser } from './helpers/treeview-event-parser';
9
+ import * as i0 from "@angular/core";
10
+ export class TreeviewModule {
11
+ static forRoot() {
12
+ return {
13
+ ngModule: TreeviewModule,
14
+ providers: [
15
+ TreeviewConfig,
16
+ { provide: TreeviewEventParser, useClass: DefaultTreeviewEventParser }
17
+ ]
18
+ };
19
+ }
20
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: TreeviewModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
21
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.5", ngImport: i0, type: TreeviewModule, declarations: [TreeviewComponent,
22
+ TreeviewItemComponent,
23
+ TreeviewPipe], imports: [FormsModule,
24
+ CommonModule], exports: [TreeviewComponent,
25
+ TreeviewPipe] });
26
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: TreeviewModule, imports: [FormsModule,
27
+ CommonModule] });
28
+ }
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: TreeviewModule, decorators: [{
30
+ type: NgModule,
31
+ args: [{
32
+ imports: [
33
+ FormsModule,
34
+ CommonModule
35
+ ],
36
+ declarations: [
37
+ TreeviewComponent,
38
+ TreeviewItemComponent,
39
+ TreeviewPipe
40
+ ],
41
+ exports: [
42
+ TreeviewComponent,
43
+ TreeviewPipe,
44
+ ],
45
+ providers: [],
46
+ }]
47
+ }] });
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItdHJlZS12aWV3Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLXRyZWV2aWV3L2RyLXRyZWUtdmlldy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUM3RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUMzRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOztBQW9CbEcsTUFBTSxPQUFPLGNBQWM7SUFDdkIsTUFBTSxDQUFDLE9BQU87UUFDVixPQUFPO1lBQ0gsUUFBUSxFQUFFLGNBQWM7WUFDeEIsU0FBUyxFQUFFO2dCQUNQLGNBQWM7Z0JBQ2QsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsUUFBUSxFQUFFLDBCQUEwQixFQUFFO2FBQ3pFO1NBQ0osQ0FBQztJQUNOLENBQUM7dUdBVFEsY0FBYzt3R0FBZCxjQUFjLGlCQVhuQixpQkFBaUI7WUFDakIscUJBQXFCO1lBQ3JCLFlBQVksYUFOWixXQUFXO1lBQ1gsWUFBWSxhQVFaLGlCQUFpQjtZQUNqQixZQUFZO3dHQUtQLGNBQWMsWUFmbkIsV0FBVztZQUNYLFlBQVk7OzJGQWNQLGNBQWM7a0JBakIxQixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCxXQUFXO3dCQUNYLFlBQVk7cUJBQ2Y7b0JBQ0QsWUFBWSxFQUFFO3dCQUNWLGlCQUFpQjt3QkFDakIscUJBQXFCO3dCQUNyQixZQUFZO3FCQUNmO29CQUNELE9BQU8sRUFBRTt3QkFDTCxpQkFBaUI7d0JBQ2pCLFlBQVk7cUJBQ2Y7b0JBQ0QsU0FBUyxFQUFFLEVBQUU7aUJBQ2hCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRyZWV2aWV3Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3RyZWV2aWV3L3RyZWV2aWV3LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUcmVldmlld0l0ZW1Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdHJlZXZpZXctaXRlbS90cmVldmlldy1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUcmVldmlld1BpcGUgfSBmcm9tICcuL3BpcGVzL3RyZWV2aWV3LnBpcGUnO1xuaW1wb3J0IHsgVHJlZXZpZXdDb25maWcgfSBmcm9tICcuL21vZGVscy90cmVldmlldy1jb25maWcnO1xuaW1wb3J0IHsgRGVmYXVsdFRyZWV2aWV3RXZlbnRQYXJzZXIsIFRyZWV2aWV3RXZlbnRQYXJzZXIgfSBmcm9tICcuL2hlbHBlcnMvdHJlZXZpZXctZXZlbnQtcGFyc2VyJztcblxuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgICAgIENvbW1vbk1vZHVsZVxuICAgIF0sXG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIFRyZWV2aWV3Q29tcG9uZW50LFxuICAgICAgICBUcmVldmlld0l0ZW1Db21wb25lbnQsXG4gICAgICAgIFRyZWV2aWV3UGlwZVxuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBUcmVldmlld0NvbXBvbmVudCxcbiAgICAgICAgVHJlZXZpZXdQaXBlLFxuICAgIF0sXG4gICAgcHJvdmlkZXJzOiBbXSxcbn0pXG5cbmV4cG9ydCBjbGFzcyBUcmVldmlld01vZHVsZSB7XG4gICAgc3RhdGljIGZvclJvb3QoKTogTW9kdWxlV2l0aFByb3ZpZGVyczxUcmVldmlld01vZHVsZT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbmdNb2R1bGU6IFRyZWV2aWV3TW9kdWxlLFxuICAgICAgICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgICAgICAgICAgVHJlZXZpZXdDb25maWcsXG4gICAgICAgICAgICAgICAgeyBwcm92aWRlOiBUcmVldmlld0V2ZW50UGFyc2VyLCB1c2VDbGFzczogRGVmYXVsdFRyZWV2aWV3RXZlbnRQYXJzZXIgfVxuICAgICAgICAgICAgXVxuICAgICAgICB9O1xuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,103 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { isNil } from 'lodash';
3
+ import * as i0 from "@angular/core";
4
+ export class TreeviewEventParser {
5
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: TreeviewEventParser, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
6
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: TreeviewEventParser });
7
+ }
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: TreeviewEventParser, decorators: [{
9
+ type: Injectable
10
+ }] });
11
+ export class DefaultTreeviewEventParser extends TreeviewEventParser {
12
+ getSelectedChange(component) {
13
+ const checkedItems = component.selection.checkedItems;
14
+ if (!isNil(checkedItems)) {
15
+ return checkedItems.map(item => item.value);
16
+ }
17
+ return [];
18
+ }
19
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DefaultTreeviewEventParser, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
20
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DefaultTreeviewEventParser });
21
+ }
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DefaultTreeviewEventParser, decorators: [{
23
+ type: Injectable
24
+ }] });
25
+ export class DownlineTreeviewEventParser extends TreeviewEventParser {
26
+ getSelectedChange(component) {
27
+ const items = component.items;
28
+ if (!isNil(items)) {
29
+ let result = [];
30
+ items.forEach(item => {
31
+ const links = this.getLinks(item, null);
32
+ if (!isNil(links)) {
33
+ result = result.concat(links);
34
+ }
35
+ });
36
+ return result;
37
+ }
38
+ return [];
39
+ }
40
+ getLinks(item, parent) {
41
+ if (!isNil(item.children)) {
42
+ const link = {
43
+ item,
44
+ parent
45
+ };
46
+ let result = [];
47
+ item.children.forEach(child => {
48
+ const links = this.getLinks(child, link);
49
+ if (!isNil(links)) {
50
+ result = result.concat(links);
51
+ }
52
+ });
53
+ return result;
54
+ }
55
+ if (item.checked) {
56
+ return [{
57
+ item,
58
+ parent
59
+ }];
60
+ }
61
+ return null;
62
+ }
63
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DownlineTreeviewEventParser, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
64
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DownlineTreeviewEventParser });
65
+ }
66
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DownlineTreeviewEventParser, decorators: [{
67
+ type: Injectable
68
+ }] });
69
+ export class OrderDownlineTreeviewEventParser extends TreeviewEventParser {
70
+ currentDownlines = [];
71
+ parser = new DownlineTreeviewEventParser();
72
+ getSelectedChange(component) {
73
+ const newDownlines = this.parser.getSelectedChange(component);
74
+ if (this.currentDownlines.length === 0) {
75
+ this.currentDownlines = newDownlines;
76
+ }
77
+ else {
78
+ const intersectDownlines = [];
79
+ this.currentDownlines.forEach(downline => {
80
+ let foundIndex = -1;
81
+ const length = newDownlines.length;
82
+ for (let i = 0; i < length; i++) {
83
+ if (downline.item.value === newDownlines[i].item.value) {
84
+ foundIndex = i;
85
+ break;
86
+ }
87
+ }
88
+ if (foundIndex !== -1) {
89
+ intersectDownlines.push(newDownlines[foundIndex]);
90
+ newDownlines.splice(foundIndex, 1);
91
+ }
92
+ });
93
+ this.currentDownlines = intersectDownlines.concat(newDownlines);
94
+ }
95
+ return this.currentDownlines;
96
+ }
97
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: OrderDownlineTreeviewEventParser, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
98
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: OrderDownlineTreeviewEventParser });
99
+ }
100
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: OrderDownlineTreeviewEventParser, decorators: [{
101
+ type: Injectable
102
+ }] });
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZXZpZXctZXZlbnQtcGFyc2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItdHJlZXZpZXcvaGVscGVycy90cmVldmlldy1ldmVudC1wYXJzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sUUFBUSxDQUFDOztBQUsvQixNQUFNLE9BQWdCLG1CQUFtQjt1R0FBbkIsbUJBQW1COzJHQUFuQixtQkFBbUI7OzJGQUFuQixtQkFBbUI7a0JBRHhDLFVBQVU7O0FBTVgsTUFBTSxPQUFPLDBCQUEyQixTQUFRLG1CQUFtQjtJQUNqRSxpQkFBaUIsQ0FBQyxTQUE0QjtRQUM1QyxNQUFNLFlBQVksR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQztRQUN0RCxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxFQUFFO1lBQ3hCLE9BQU8sWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUM3QztRQUVELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQzt1R0FSVSwwQkFBMEI7MkdBQTFCLDBCQUEwQjs7MkZBQTFCLDBCQUEwQjtrQkFEdEMsVUFBVTs7QUFrQlgsTUFBTSxPQUFPLDJCQUE0QixTQUFRLG1CQUFtQjtJQUNsRSxpQkFBaUIsQ0FBQyxTQUE0QjtRQUM1QyxNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDO1FBQzlCLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDakIsSUFBSSxNQUFNLEdBQTJCLEVBQUUsQ0FBQztZQUN4QyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUNuQixNQUFN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QlUsZ0NBQWdDOzJHQUFoQyxnQ0FBZ0M7OzJGQUFoQyxnQ0FBZ0M7a0JBRDVDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpc05pbCB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBUcmVldmlld0l0ZW0gfSBmcm9tICcuLi9tb2RlbHMvdHJlZXZpZXctaXRlbSc7XG5pbXBvcnQgeyBUcmVldmlld0NvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvdHJlZXZpZXcvdHJlZXZpZXcuY29tcG9uZW50JztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFRyZWV2aWV3RXZlbnRQYXJzZXIge1xuICBhYnN0cmFjdCBnZXRTZWxlY3RlZENoYW5nZShjb21wb25lbnQ6IFRyZWV2aWV3Q29tcG9uZW50KTogYW55W107XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBEZWZhdWx0VHJlZXZpZXdFdmVudFBhcnNlciBleHRlbmRzIFRyZWV2aWV3RXZlbnRQYXJzZXIge1xuICBnZXRTZWxlY3RlZENoYW5nZShjb21wb25lbnQ6IFRyZWV2aWV3Q29tcG9uZW50KTogYW55W10ge1xuICAgIGNvbnN0IGNoZWNrZWRJdGVtcyA9IGNvbXBvbmVudC5zZWxlY3Rpb24uY2hlY2tlZEl0ZW1zO1xuICAgIGlmICghaXNOaWwoY2hlY2tlZEl0ZW1zKSkge1xuICAgICAgcmV0dXJuIGNoZWNrZWRJdGVtcy5tYXAoaXRlbSA9PiBpdGVtLnZhbHVlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gW107XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBEb3dubGluZVRyZWV2aWV3SXRlbSB7XG4gIGl0ZW06IFRyZWV2aWV3SXRlbTtcbiAgcGFyZW50OiBEb3dubGluZVRyZWV2aWV3SXRlbTtcbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIERvd25saW5lVHJlZXZpZXdFdmVudFBhcnNlciBleHRlbmRzIFRyZWV2aWV3RXZlbnRQYXJzZXIge1xuICBnZXRTZWxlY3RlZENoYW5nZShjb21wb25lbnQ6IFRyZWV2aWV3Q29tcG9uZW50KTogYW55W10ge1xuICAgIGNvbnN0IGl0ZW1zID0gY29tcG9uZW50Lml0ZW1zO1xuICAgIGlmICghaXNOaWwoaXRlbXMpKSB7XG4gICAgICBsZXQgcmVzdWx0OiBEb3dubGluZVRyZWV2aWV3SXRlbVtdID0gW107XG4gICAgICBpdGVtcy5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgICBjb25zdCBsaW5rcyA9IHRoaXMuZ2V0TGlua3MoaXRlbSwgbnVsbCk7XG4gICAgICAgIGlmICghaXNOaWwobGlua3MpKSB7XG4gICAgICAgICAgcmVzdWx0ID0gcmVzdWx0LmNvbmNhdChsaW5rcyk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0TGlua3MoaXRlbTogVHJlZXZpZXdJdGVtLCBwYXJlbnQ6IERvd25saW5lVHJlZXZpZXdJdGVtKTogRG93bmxpbmVUcmVldmlld0l0ZW1bXSB7XG4gICAgaWYgKCFpc05pbChpdGVtLmNoaWxkcmVuKSkge1xuICAgICAgY29uc3QgbGluayA9IHtcbiAgICAgICAgaXRlbSxcbiAgICAgICAgcGFyZW50XG4gICAgICB9O1xuICAgICAgbGV0IHJlc3VsdDogRG93bmxpbmVUcmVldmlld0l0ZW1bXSA9IFtdO1xuICAgICAgaXRlbS5jaGlsZHJlbi5mb3JFYWNoKGNoaWxkID0+IHtcbiAgICAgICAgY29uc3QgbGlua3MgPSB0aGlzLmdldExpbmtzKGNoaWxkLCBsaW5rKTtcbiAgICAgICAgaWYgKCFpc05pbChsaW5rcykpIHtcbiAgICAgICAgICByZXN1bHQgPSByZXN1bHQuY29uY2F0KGxpbmtzKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgaWYgKGl0ZW0uY2hlY2tlZCkge1xuICAgICAgcmV0dXJuIFt7XG4gICAgICAgIGl0ZW0sXG4gICAgICAgIHBhcmVudFxuICAgICAgfV07XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE9yZGVyRG93bmxpbmVUcmVldmlld0V2ZW50UGFyc2VyIGV4dGVuZHMgVHJlZXZpZXdFdmVudFBhcnNlciB7XG4gIHByaXZhdGUgY3VycmVudERvd25saW5lczogRG93bmxpbmVUcmVldmlld0l0ZW1bXSA9IFtdO1xuICBwcml2YXRlIHBhcnNlciA9IG5ldyBEb3dubGluZVRyZWV2aWV3RXZlbnRQYXJzZXIoKTtcblxuICBnZXRTZWxlY3RlZENoYW5nZShjb21wb25lbnQ6IFRyZWV2aWV3Q29tcG9uZW50KTogYW55W10ge1xuICAgIGNvbnN0IG5ld0Rvd25saW5lczogRG93bmxpbmVUcmVldmlld0l0ZW1bXSA9IHRoaXMucGFyc2VyLmdldFNlbGVjdGVkQ2hhbmdlKGNvbXBvbmVudCk7XG4gICAgaWYgKHRoaXMuY3VycmVudERvd25saW5lcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuY3VycmVudERvd25saW5lcyA9IG5ld0Rvd25saW5lcztcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgaW50ZXJzZWN0RG93bmxpbmVzOiBEb3dubGluZVRyZWV2aWV3SXRlbVtdID0gW107XG4gICAgICB0aGlzLmN1cnJlbnREb3dubGluZXMuZm9yRWFjaChkb3dubGluZSA9PiB7XG4gICAgICAgIGxldCBmb3VuZEluZGV4ID0gLTE7XG4gICAgICAgIGNvbnN0IGxlbmd0aCA9IG5ld0Rvd25saW5lcy5sZW5ndGg7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICBpZiAoZG93bmxpbmUuaXRlbS52YWx1ZSA9PT0gbmV3RG93bmxpbmVzW2ldLml0ZW0udmFsdWUpIHtcbiAgICAgICAgICAgIGZvdW5kSW5kZXggPSBpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGZvdW5kSW5kZXggIT09IC0xKSB7XG4gICAgICAgICAgaW50ZXJzZWN0RG93bmxpbmVzLnB1c2gobmV3RG93bmxpbmVzW2ZvdW5kSW5kZXhdKTtcbiAgICAgICAgICBuZXdEb3dubGluZXMuc3BsaWNlKGZvdW5kSW5kZXgsIDEpO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgdGhpcy5jdXJyZW50RG93bmxpbmVzID0gaW50ZXJzZWN0RG93bmxpbmVzLmNvbmNhdChuZXdEb3dubGluZXMpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmN1cnJlbnREb3dubGluZXM7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,23 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class TreeviewConfig {
4
+ hasAllCheckBox = true;
5
+ hasFilter = false;
6
+ hasCollapseExpand = false;
7
+ decoupleChildFromParent = false;
8
+ maxHeight = 500;
9
+ get hasDivider() {
10
+ return this.hasFilter || this.hasAllCheckBox || this.hasCollapseExpand;
11
+ }
12
+ static create(fields) {
13
+ const config = new TreeviewConfig();
14
+ Object.assign(config, fields);
15
+ return config;
16
+ }
17
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: TreeviewConfig, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
18
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: TreeviewConfig });
19
+ }
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: TreeviewConfig, decorators: [{
21
+ type: Injectable
22
+ }] });
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZXZpZXctY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItdHJlZXZpZXcvbW9kZWxzL3RyZWV2aWV3LWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUczQyxNQUFNLE9BQU8sY0FBYztJQUN6QixjQUFjLEdBQUcsSUFBSSxDQUFDO0lBQ3RCLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDbEIsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO0lBQzFCLHVCQUF1QixHQUFHLEtBQUssQ0FBQztJQUNoQyxTQUFTLEdBQUcsR0FBRyxDQUFDO0lBRWhCLElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsY0FBYyxJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztJQUN6RSxDQUFDO0lBRU0sTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQU1wQjtRQUNDLE1BQU0sTUFBTSxHQUFHLElBQUksY0FBYyxFQUFFLENBQUM7UUFDcEMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDOUIsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzt1R0FyQlUsY0FBYzsyR0FBZCxjQUFjOzsyRkFBZCxjQUFjO2tCQUQxQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVHJlZXZpZXdDb25maWcge1xuICBoYXNBbGxDaGVja0JveCA9IHRydWU7XG4gIGhhc0ZpbHRlciA9IGZhbHNlO1xuICBoYXNDb2xsYXBzZUV4cGFuZCA9IGZhbHNlO1xuICBkZWNvdXBsZUNoaWxkRnJvbVBhcmVudCA9IGZhbHNlO1xuICBtYXhIZWlnaHQgPSA1MDA7XG5cbiAgZ2V0IGhhc0RpdmlkZXIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzRmlsdGVyIHx8IHRoaXMuaGFzQWxsQ2hlY2tCb3ggfHwgdGhpcy5oYXNDb2xsYXBzZUV4cGFuZDtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgY3JlYXRlKGZpZWxkcz86IHtcbiAgICBoYXNBbGxDaGVja0JveD86IGJvb2xlYW4sXG4gICAgaGFzRmlsdGVyPzogYm9vbGVhbixcbiAgICBoYXNDb2xsYXBzZUV4cGFuZD86IGJvb2xlYW4sXG4gICAgZGVjb3VwbGVDaGlsZEZyb21QYXJlbnQ/OiBib29sZWFuXG4gICAgbWF4SGVpZ2h0PzogbnVtYmVyLFxuICB9KTogVHJlZXZpZXdDb25maWcge1xuICAgIGNvbnN0IGNvbmZpZyA9IG5ldyBUcmVldmlld0NvbmZpZygpO1xuICAgIE9iamVjdC5hc3NpZ24oY29uZmlnLCBmaWVsZHMpO1xuICAgIHJldHVybiBjb25maWc7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,47 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class TreeviewI18n {
4
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: TreeviewI18n, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
5
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: TreeviewI18n });
6
+ }
7
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: TreeviewI18n, decorators: [{
8
+ type: Injectable
9
+ }] });
10
+ export class DefaultTreeviewI18n extends TreeviewI18n {
11
+ getText(selection) {
12
+ if (selection.uncheckedItems.length === 0) {
13
+ if (selection.checkedItems.length > 0) {
14
+ return this.getAllCheckboxText();
15
+ }
16
+ else {
17
+ return '';
18
+ }
19
+ }
20
+ switch (selection.checkedItems.length) {
21
+ case 0:
22
+ return 'Select options';
23
+ case 1:
24
+ return selection.checkedItems[0].text;
25
+ default:
26
+ return `${selection.checkedItems.length} options selected`;
27
+ }
28
+ }
29
+ getAllCheckboxText() {
30
+ return 'All';
31
+ }
32
+ getFilterPlaceholder() {
33
+ return 'Filter';
34
+ }
35
+ getFilterNoItemsFoundText() {
36
+ return 'No items found';
37
+ }
38
+ getTooltipCollapseExpandText(isCollapse) {
39
+ return isCollapse ? 'Expand' : 'Collapse';
40
+ }
41
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DefaultTreeviewI18n, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
42
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DefaultTreeviewI18n });
43
+ }
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DefaultTreeviewI18n, decorators: [{
45
+ type: Injectable
46
+ }] });
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZXZpZXctaTE4bi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLXRyZWV2aWV3L21vZGVscy90cmVldmlldy1pMThuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSTNDLE1BQU0sT0FBZ0IsWUFBWTt1R0FBWixZQUFZOzJHQUFaLFlBQVk7OzJGQUFaLFlBQVk7a0JBRGpDLFVBQVU7O0FBVVgsTUFBTSxPQUFPLG1CQUFvQixTQUFRLFlBQVk7SUFDbkQsT0FBTyxDQUFDLFNBQTRCO1FBQ2xDLElBQUksU0FBUyxDQUFDLGNBQWMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ3pDLElBQUksU0FBUyxDQUFDLFlBQVksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUNyQyxPQUFPLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO2FBQ2xDO2lCQUFNO2dCQUNMLE9BQU8sRUFBRSxDQUFDO2FBQ1g7U0FDRjtRQUVELFFBQVEsU0FBUyxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUU7WUFDckMsS0FBSyxDQUFDO2dCQUNKLE9BQU8sZ0JBQWdCLENBQUM7WUFDMUIsS0FBSyxDQUFDO2dCQUNKLE9BQU8sU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDeEM7Z0JBQ0UsT0FBTyxHQUFHLFNBQVMsQ0FBQyxZQUFZLENBQUMsTUFBTSxtQkFBbUIsQ0FBQztTQUM5RDtJQUNILENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsb0JBQW9CO1FBQ2xCLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7SUFFRCx5QkFBeUI7UUFDdkIsT0FBTyxnQkFBZ0IsQ0FBQztJQUMxQixDQUFDO0lBRUQsNEJBQTRCLENBQUMsVUFBbUI7UUFDOUMsT0FBTyxVQUFVLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDO0lBQzVDLENBQUM7dUdBbENVLG1CQUFtQjsyR0FBbkIsbUJBQW1COzsyRkFBbkIsbUJBQW1CO2tCQUQvQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJlZXZpZXdTZWxlY3Rpb24gfSBmcm9tICcuL3RyZWV2aWV3LWl0ZW0nO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVHJlZXZpZXdJMThuIHtcbiAgYWJzdHJhY3QgZ2V0VGV4dChzZWxlY3Rpb246IFRyZWV2aWV3U2VsZWN0aW9uKTogc3RyaW5nO1xuICBhYnN0cmFjdCBnZXRBbGxDaGVja2JveFRleHQoKTogc3RyaW5nO1xuICBhYnN0cmFjdCBnZXRGaWx0ZXJQbGFjZWhvbGRlcigpOiBzdHJpbmc7XG4gIGFic3RyYWN0IGdldEZpbHRlck5vSXRlbXNGb3VuZFRleHQoKTogc3RyaW5nO1xuICBhYnN0cmFjdCBnZXRUb29sdGlwQ29sbGFwc2VFeHBhbmRUZXh0KGlzQ29sbGFwc2U6IGJvb2xlYW4pOiBzdHJpbmc7XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBEZWZhdWx0VHJlZXZpZXdJMThuIGV4dGVuZHMgVHJlZXZpZXdJMThuIHtcbiAgZ2V0VGV4dChzZWxlY3Rpb246IFRyZWV2aWV3U2VsZWN0aW9uKTogc3RyaW5nIHtcbiAgICBpZiAoc2VsZWN0aW9uLnVuY2hlY2tlZEl0ZW1zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgaWYgKHNlbGVjdGlvbi5jaGVja2VkSXRlbXMubGVuZ3RoID4gMCkge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRBbGxDaGVja2JveFRleHQoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiAnJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBzd2l0Y2ggKHNlbGVjdGlvbi5jaGVja2VkSXRlbXMubGVuZ3RoKSB7XG4gICAgICBjYXNlIDA6XG4gICAgICAgIHJldHVybiAnU2VsZWN0IG9wdGlvbnMnO1xuICAgICAgY2FzZSAxOlxuICAgICAgICByZXR1cm4gc2VsZWN0aW9uLmNoZWNrZWRJdGVtc1swXS50ZXh0O1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIGAke3NlbGVjdGlvbi5jaGVja2VkSXRlbXMubGVuZ3RofSBvcHRpb25zIHNlbGVjdGVkYDtcbiAgICB9XG4gIH1cblxuICBnZXRBbGxDaGVja2JveFRleHQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ0FsbCc7XG4gIH1cblxuICBnZXRGaWx0ZXJQbGFjZWhvbGRlcigpOiBzdHJpbmcge1xuICAgIHJldHVybiAnRmlsdGVyJztcbiAgfVxuXG4gIGdldEZpbHRlck5vSXRlbXNGb3VuZFRleHQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ05vIGl0ZW1zIGZvdW5kJztcbiAgfVxuXG4gIGdldFRvb2x0aXBDb2xsYXBzZUV4cGFuZFRleHQoaXNDb2xsYXBzZTogYm9vbGVhbik6IHN0cmluZyB7XG4gICAgcmV0dXJuIGlzQ29sbGFwc2UgPyAnRXhwYW5kJyA6ICdDb2xsYXBzZSc7XG4gIH1cbn1cbiJdfQ==