slick-components 4.4.13 → 4.4.16

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 (346) hide show
  1. package/css/slick-components.css +598 -365
  2. package/css/slick-components.min.css +1 -1
  3. package/esm2020/public-api.mjs +43 -0
  4. package/esm2020/slick-accordion/slick-accordion-item-header.component.mjs +14 -0
  5. package/esm2020/slick-accordion/slick-accordion-item.component.mjs +86 -0
  6. package/esm2020/slick-accordion/slick-accordion.component.mjs +75 -0
  7. package/esm2020/slick-accordion/slick-accordion.module.mjs +23 -0
  8. package/esm2020/slick-auto-complete/slick-auto-complete-list-item-template.directive.mjs +22 -0
  9. package/esm2020/slick-auto-complete/slick-auto-complete.component.mjs +375 -0
  10. package/esm2020/slick-auto-complete/slick-auto-complete.module.mjs +24 -0
  11. package/esm2020/slick-button-spinner/slick-button-spinner.component.mjs +175 -0
  12. package/esm2020/slick-button-spinner/slick-button-spinner.module.mjs +19 -0
  13. package/esm2020/slick-calendar/slick-calendar.component.mjs +246 -0
  14. package/esm2020/slick-calendar/slick-calendar.module.mjs +19 -0
  15. package/esm2020/slick-card/slick-card-header.component.mjs +14 -0
  16. package/esm2020/slick-card/slick-card.component.mjs +42 -0
  17. package/esm2020/slick-card/slick-card.module.mjs +20 -0
  18. package/esm2020/slick-components.mjs +5 -0
  19. package/esm2020/slick-confirm-dialog/slick-confirm-dialog.component.mjs +65 -0
  20. package/esm2020/slick-confirm-dialog/slick-confirm-dialog.module.mjs +20 -0
  21. package/esm2020/slick-container/slick-container-body.component.mjs +24 -0
  22. package/esm2020/slick-container/slick-container-footer.component.mjs +20 -0
  23. package/esm2020/slick-container/slick-container-header.component.mjs +20 -0
  24. package/esm2020/slick-container/slick-container.component.mjs +21 -0
  25. package/esm2020/slick-container/slick-container.module.mjs +25 -0
  26. package/esm2020/slick-context-menu/slick-context-menu-item.component.mjs +14 -0
  27. package/esm2020/slick-context-menu/slick-context-menu.component.mjs +48 -0
  28. package/esm2020/slick-context-menu/slick-context-menu.module.mjs +20 -0
  29. package/{esm2015/slick-currency-mask/slick-currency-mask-options.model.js → esm2020/slick-currency-mask/slick-currency-mask-options.model.mjs} +0 -0
  30. package/esm2020/slick-currency-mask/slick-currency-mask.directive.mjs +233 -0
  31. package/esm2020/slick-currency-mask/slick-currency-mask.module.mjs +19 -0
  32. package/esm2020/slick-date-picker/slick-date-picker.component.mjs +278 -0
  33. package/esm2020/slick-date-picker/slick-date-picker.module.mjs +21 -0
  34. package/esm2020/slick-dialog/slick-dialog-footer.component.mjs +24 -0
  35. package/esm2020/slick-dialog/slick-dialog.component.mjs +294 -0
  36. package/esm2020/slick-dialog/slick-dialog.module.mjs +23 -0
  37. package/esm2020/slick-dialog/slick-dialog.service.mjs +68 -0
  38. package/esm2020/slick-drag-drop/slick-drag-drop.directive.mjs +13 -0
  39. package/esm2020/slick-drag-drop/slick-drag-drop.module.mjs +21 -0
  40. package/esm2020/slick-drag-drop/slick-draggable.directive.mjs +13 -0
  41. package/{esm2015/slick-drop-down/slick-drop-down-button.model.js → esm2020/slick-drop-down/slick-drop-down-button.model.mjs} +0 -0
  42. package/esm2020/slick-drop-down/slick-drop-down.component.mjs +479 -0
  43. package/esm2020/slick-drop-down/slick-drop-down.module.mjs +24 -0
  44. package/esm2020/slick-drop-down/slick-drop-down.service.mjs +55 -0
  45. package/esm2020/slick-drop-list/slick-drop-list-grab.directive.mjs +18 -0
  46. package/esm2020/slick-drop-list/slick-drop-list-item.directive.mjs +18 -0
  47. package/esm2020/slick-drop-list/slick-drop-list.directive.mjs +215 -0
  48. package/esm2020/slick-drop-list/slick-drop-list.module.mjs +23 -0
  49. package/esm2020/slick-email-viewer/slick-email-viewer-dialog.component.mjs +81 -0
  50. package/esm2020/slick-email-viewer/slick-email-viewer.component.mjs +42 -0
  51. package/esm2020/slick-email-viewer/slick-email-viewer.module.mjs +26 -0
  52. package/{esm2015/slick-emailer/slick-emailer-address.model.js → esm2020/slick-emailer/slick-emailer-address.model.mjs} +0 -0
  53. package/esm2020/slick-emailer/slick-emailer-dialog.component.mjs +153 -0
  54. package/esm2020/slick-emailer/slick-emailer.component.mjs +235 -0
  55. package/{esm2015/slick-emailer/slick-emailer.model.js → esm2020/slick-emailer/slick-emailer.model.mjs} +0 -0
  56. package/esm2020/slick-emailer/slick-emailer.module.mjs +29 -0
  57. package/esm2020/slick-file-drop/slick-file-drop.component.mjs +156 -0
  58. package/esm2020/slick-file-drop/slick-file-drop.module.mjs +20 -0
  59. package/esm2020/slick-file-list/slick-file-list-item.component.mjs +173 -0
  60. package/esm2020/slick-file-list/slick-file-list.component.mjs +130 -0
  61. package/esm2020/slick-file-list/slick-file-list.module.mjs +23 -0
  62. package/{esm2015/slick-file-model/slick-file.model.js → esm2020/slick-file-model/slick-file.model.mjs} +0 -0
  63. package/esm2020/slick-google-address-search/slick-google-address-search.directive.mjs +75 -0
  64. package/esm2020/slick-google-address-search/slick-google-address-search.module.mjs +19 -0
  65. package/esm2020/slick-google-map/slick-google-map-dialog.component.mjs +50 -0
  66. package/esm2020/slick-google-map/slick-google-map.component.mjs +48 -0
  67. package/esm2020/slick-google-map/slick-google-map.module.mjs +22 -0
  68. package/esm2020/slick-grid/slick-grid-column-template.directive.mjs +19 -0
  69. package/{esm2015/slick-grid/slick-grid-column.model.js → esm2020/slick-grid/slick-grid-column.model.mjs} +0 -0
  70. package/{esm2015/slick-grid/slick-grid-favorite.model.js → esm2020/slick-grid/slick-grid-favorite.model.mjs} +0 -0
  71. package/{esm2015/slick-grid/slick-grid-request.model.js → esm2020/slick-grid/slick-grid-request.model.mjs} +0 -0
  72. package/{esm2015/slick-grid/slick-grid-response.model.js → esm2020/slick-grid/slick-grid-response.model.mjs} +0 -0
  73. package/esm2020/slick-grid/slick-grid-sanitize.pipe.mjs +20 -0
  74. package/esm2020/slick-grid/slick-grid.component.mjs +793 -0
  75. package/esm2020/slick-grid/slick-grid.module.mjs +43 -0
  76. package/{esm2015/slick-grid/slick-grid.options.js → esm2020/slick-grid/slick-grid.options.mjs} +0 -0
  77. package/esm2020/slick-grid/slick-grid.service.mjs +66 -0
  78. package/esm2020/slick-multi-select/slick-multi-select.component.mjs +362 -0
  79. package/esm2020/slick-multi-select/slick-multi-select.module.mjs +20 -0
  80. package/esm2020/slick-multi-select/slick-multi-select.service.mjs +77 -0
  81. package/esm2020/slick-ordered-list/slick-ordered-list.component.mjs +200 -0
  82. package/esm2020/slick-ordered-list/slick-ordered-list.module.mjs +20 -0
  83. package/esm2020/slick-paging/slick-paging.component.mjs +185 -0
  84. package/esm2020/slick-paging/slick-paging.module.mjs +19 -0
  85. package/esm2020/slick-photo-gallery/slick-photo-gallery.component.mjs +98 -0
  86. package/{esm2015/slick-photo-gallery/slick-photo-gallery.model.js → esm2020/slick-photo-gallery/slick-photo-gallery.model.mjs} +0 -0
  87. package/esm2020/slick-photo-gallery/slick-photo-gallery.module.mjs +21 -0
  88. package/esm2020/slick-pick-list/slick-pick-list.component.mjs +84 -0
  89. package/esm2020/slick-pick-list/slick-pick-list.module.mjs +20 -0
  90. package/esm2020/slick-popover/slick-popover.component.mjs +204 -0
  91. package/esm2020/slick-popover/slick-popover.module.mjs +19 -0
  92. package/esm2020/slick-profile-picture/slick-profile-picture.component.mjs +267 -0
  93. package/esm2020/slick-profile-picture/slick-profile-picture.module.mjs +20 -0
  94. package/esm2020/slick-progress-bar/slick-progress-bar.module.mjs +18 -0
  95. package/esm2020/slick-progress-bar/slick-progress-bar.service.mjs +53 -0
  96. package/esm2020/slick-screen-blocker/slick-screen-blocker.module.mjs +18 -0
  97. package/esm2020/slick-screen-blocker/slick-screen-blocker.service.mjs +83 -0
  98. package/{esm2015/slick-slider/slick-slider-tick.model.js → esm2020/slick-slider/slick-slider-tick.model.mjs} +0 -0
  99. package/esm2020/slick-slider/slick-slider.component.mjs +90 -0
  100. package/esm2020/slick-slider/slick-slider.module.mjs +20 -0
  101. package/esm2020/slick-split-screen/slick-screen-split-left-content.component.mjs +15 -0
  102. package/esm2020/slick-split-screen/slick-screen-split-right-content.component.mjs +15 -0
  103. package/esm2020/slick-split-screen/slick-split-screen.component.mjs +159 -0
  104. package/esm2020/slick-split-screen/slick-split-screen.module.mjs +21 -0
  105. package/esm2020/slick-tabs/slick-tab-header.component.mjs +28 -0
  106. package/esm2020/slick-tabs/slick-tab.component.mjs +63 -0
  107. package/{esm2015/slick-tabs/slick-tab.model.js → esm2020/slick-tabs/slick-tab.model.mjs} +0 -0
  108. package/esm2020/slick-tabs/slick-tabs.component.mjs +107 -0
  109. package/esm2020/slick-tabs/slick-tabs.module.mjs +23 -0
  110. package/esm2020/slick-toast/slick-toast.module.mjs +18 -0
  111. package/esm2020/slick-toast/slick-toast.service.mjs +88 -0
  112. package/{esm2015/slick-tree-view/slick-tree-node.model.js → esm2020/slick-tree-view/slick-tree-node.model.mjs} +0 -0
  113. package/esm2020/slick-tree-view/slick-tree-view.component.mjs +293 -0
  114. package/esm2020/slick-tree-view/slick-tree-view.module.mjs +22 -0
  115. package/esm2020/slick-type-ahead/slick-type-ahead.directive.mjs +164 -0
  116. package/esm2020/slick-type-ahead/slick-type-ahead.module.mjs +18 -0
  117. package/esm2020/slick-validation-indicator/slick-validation-indicator.directive.mjs +63 -0
  118. package/esm2020/slick-validation-indicator/slick-validation-indicator.module.mjs +19 -0
  119. package/esm2020/utils/slick-function-lock.service.mjs +55 -0
  120. package/esm2020/utils/slick-init.service.mjs +49 -0
  121. package/esm2020/utils/slick-log.service.mjs +23 -0
  122. package/esm2020/utils/slick-sleep.service.mjs +14 -0
  123. package/esm2020/utils/slick-utils.service.mjs +247 -0
  124. package/fesm2015/{slick-components.js → slick-components.mjs} +2779 -2070
  125. package/fesm2015/slick-components.mjs.map +1 -0
  126. package/fesm2020/slick-components.mjs +8467 -0
  127. package/fesm2020/slick-components.mjs.map +1 -0
  128. package/package.json +20 -8
  129. package/public-api.d.ts +8 -8
  130. package/slick-accordion/slick-accordion-item-header.component.d.ts +3 -0
  131. package/slick-accordion/slick-accordion-item.component.d.ts +3 -0
  132. package/slick-accordion/slick-accordion.component.d.ts +3 -0
  133. package/slick-accordion/slick-accordion.module.d.ts +8 -0
  134. package/slick-auto-complete/slick-auto-complete-list-item-template.directive.d.ts +3 -0
  135. package/slick-auto-complete/slick-auto-complete.component.d.ts +3 -0
  136. package/slick-auto-complete/slick-auto-complete.module.d.ts +8 -0
  137. package/slick-button-spinner/slick-button-spinner.component.d.ts +3 -0
  138. package/slick-button-spinner/slick-button-spinner.module.d.ts +6 -0
  139. package/slick-calendar/slick-calendar.component.d.ts +3 -0
  140. package/slick-calendar/slick-calendar.module.d.ts +6 -0
  141. package/slick-card/slick-card-header.component.d.ts +3 -0
  142. package/slick-card/slick-card.component.d.ts +3 -0
  143. package/slick-card/slick-card.module.d.ts +10 -0
  144. package/slick-components.d.ts +1 -22
  145. package/slick-confirm-dialog/slick-confirm-dialog.component.d.ts +3 -0
  146. package/slick-confirm-dialog/slick-confirm-dialog.module.d.ts +7 -0
  147. package/slick-container/slick-container-body.component.d.ts +3 -0
  148. package/slick-container/slick-container-footer.component.d.ts +3 -0
  149. package/slick-container/slick-container-header.component.d.ts +3 -0
  150. package/slick-container/slick-container.component.d.ts +3 -0
  151. package/slick-container/slick-container.module.d.ts +9 -0
  152. package/slick-context-menu/slick-context-menu-item.component.d.ts +3 -0
  153. package/slick-context-menu/slick-context-menu.component.d.ts +3 -0
  154. package/slick-context-menu/slick-context-menu.module.d.ts +7 -0
  155. package/slick-currency-mask/slick-currency-mask.directive.d.ts +3 -0
  156. package/slick-currency-mask/slick-currency-mask.module.d.ts +5 -0
  157. package/slick-date-picker/slick-date-picker.component.d.ts +3 -0
  158. package/slick-date-picker/slick-date-picker.module.d.ts +8 -0
  159. package/slick-dialog/slick-dialog-footer.component.d.ts +3 -0
  160. package/slick-dialog/slick-dialog.component.d.ts +3 -0
  161. package/slick-dialog/slick-dialog.module.d.ts +10 -1
  162. package/slick-dialog/slick-dialog.service.d.ts +3 -0
  163. package/slick-drag-drop/slick-drag-drop.directive.d.ts +3 -0
  164. package/slick-drag-drop/slick-drag-drop.module.d.ts +11 -0
  165. package/slick-drag-drop/slick-draggable.directive.d.ts +3 -0
  166. package/slick-drop-down/slick-drop-down.component.d.ts +3 -0
  167. package/slick-drop-down/slick-drop-down.module.d.ts +9 -0
  168. package/slick-drop-down/slick-drop-down.service.d.ts +3 -0
  169. package/slick-drop-list/slick-drop-list-grab.directive.d.ts +3 -0
  170. package/slick-drop-list/slick-drop-list-item.directive.d.ts +3 -0
  171. package/slick-drop-list/slick-drop-list.directive.d.ts +13 -7
  172. package/slick-drop-list/slick-drop-list.module.d.ts +14 -0
  173. package/slick-email-viewer/slick-email-viewer-dialog.component.d.ts +3 -0
  174. package/slick-email-viewer/slick-email-viewer.component.d.ts +3 -0
  175. package/slick-email-viewer/slick-email-viewer.module.d.ts +10 -0
  176. package/slick-emailer/slick-emailer-dialog.component.d.ts +3 -0
  177. package/slick-emailer/slick-emailer.component.d.ts +3 -0
  178. package/slick-emailer/slick-emailer.module.d.ts +13 -0
  179. package/slick-file-drop/slick-file-drop.component.d.ts +3 -0
  180. package/slick-file-drop/slick-file-drop.module.d.ts +7 -0
  181. package/slick-file-list/slick-file-list-item.component.d.ts +3 -0
  182. package/slick-file-list/slick-file-list.component.d.ts +3 -0
  183. package/slick-file-list/slick-file-list.module.d.ts +10 -0
  184. package/slick-google-address-search/slick-google-address-search.directive.d.ts +3 -0
  185. package/slick-google-address-search/slick-google-address-search.module.d.ts +6 -0
  186. package/slick-google-map/slick-google-map-dialog.component.d.ts +3 -0
  187. package/slick-google-map/slick-google-map.component.d.ts +3 -0
  188. package/slick-google-map/slick-google-map.module.d.ts +8 -0
  189. package/slick-grid/slick-grid-column-template.directive.d.ts +3 -0
  190. package/slick-grid/slick-grid-sanitize.pipe.d.ts +3 -0
  191. package/slick-grid/slick-grid.component.d.ts +3 -0
  192. package/slick-grid/slick-grid.module.d.ts +16 -0
  193. package/slick-grid/slick-grid.service.d.ts +3 -0
  194. package/slick-multi-select/slick-multi-select.component.d.ts +3 -0
  195. package/slick-multi-select/slick-multi-select.module.d.ts +7 -0
  196. package/slick-multi-select/slick-multi-select.service.d.ts +3 -0
  197. package/slick-ordered-list/slick-ordered-list.component.d.ts +3 -0
  198. package/slick-ordered-list/slick-ordered-list.module.d.ts +7 -0
  199. package/slick-paging/slick-paging.component.d.ts +3 -0
  200. package/slick-paging/slick-paging.module.d.ts +6 -0
  201. package/slick-photo-gallery/slick-photo-gallery.component.d.ts +3 -0
  202. package/slick-photo-gallery/slick-photo-gallery.module.d.ts +6 -0
  203. package/slick-pick-list/slick-pick-list.component.d.ts +3 -0
  204. package/slick-pick-list/slick-pick-list.module.d.ts +7 -0
  205. package/slick-popover/slick-popover.component.d.ts +3 -0
  206. package/slick-popover/slick-popover.module.d.ts +6 -0
  207. package/slick-profile-picture/slick-profile-picture.component.d.ts +3 -0
  208. package/slick-profile-picture/slick-profile-picture.module.d.ts +7 -0
  209. package/slick-progress-bar/slick-progress-bar.module.d.ts +5 -0
  210. package/slick-progress-bar/slick-progress-bar.service.d.ts +3 -0
  211. package/slick-screen-blocker/slick-screen-blocker.module.d.ts +5 -0
  212. package/slick-screen-blocker/slick-screen-blocker.service.d.ts +3 -0
  213. package/slick-slider/slick-slider.component.d.ts +3 -0
  214. package/slick-slider/slick-slider.module.d.ts +6 -0
  215. package/slick-split-screen/slick-screen-split-left-content.component.d.ts +3 -0
  216. package/slick-split-screen/slick-screen-split-right-content.component.d.ts +3 -0
  217. package/slick-split-screen/slick-split-screen.component.d.ts +3 -0
  218. package/slick-split-screen/slick-split-screen.module.d.ts +8 -0
  219. package/slick-tabs/slick-tab-header.component.d.ts +3 -0
  220. package/slick-tabs/slick-tab.component.d.ts +3 -0
  221. package/slick-tabs/slick-tabs.component.d.ts +3 -0
  222. package/slick-tabs/slick-tabs.module.d.ts +10 -0
  223. package/slick-toast/slick-toast.module.d.ts +5 -0
  224. package/slick-toast/slick-toast.service.d.ts +3 -0
  225. package/slick-tree-view/slick-tree-view.component.d.ts +3 -0
  226. package/slick-tree-view/slick-tree-view.module.d.ts +8 -0
  227. package/slick-type-ahead/slick-type-ahead.directive.d.ts +3 -0
  228. package/slick-type-ahead/slick-type-ahead.module.d.ts +5 -0
  229. package/slick-validation-indicator/slick-validation-indicator.directive.d.ts +3 -0
  230. package/slick-validation-indicator/slick-validation-indicator.module.d.ts +6 -0
  231. package/utils/slick-function-lock.service.d.ts +3 -0
  232. package/utils/slick-init.service.d.ts +3 -0
  233. package/utils/slick-log.service.d.ts +3 -0
  234. package/utils/slick-sleep.service.d.ts +3 -0
  235. package/utils/slick-utils.service.d.ts +5 -0
  236. package/bundles/slick-components.umd.js +0 -9777
  237. package/bundles/slick-components.umd.js.map +0 -1
  238. package/esm2015/public-api.js +0 -43
  239. package/esm2015/slick-accordion/slick-accordion-item-header.component.js +0 -10
  240. package/esm2015/slick-accordion/slick-accordion-item.component.js +0 -80
  241. package/esm2015/slick-accordion/slick-accordion.component.js +0 -77
  242. package/esm2015/slick-accordion/slick-accordion.module.js +0 -18
  243. package/esm2015/slick-auto-complete/slick-auto-complete-list-item-template.directive.js +0 -21
  244. package/esm2015/slick-auto-complete/slick-auto-complete.component.js +0 -352
  245. package/esm2015/slick-auto-complete/slick-auto-complete.module.js +0 -19
  246. package/esm2015/slick-button-spinner/slick-button-spinner.component.js +0 -186
  247. package/esm2015/slick-button-spinner/slick-button-spinner.module.js +0 -14
  248. package/esm2015/slick-calendar/slick-calendar.component.js +0 -233
  249. package/esm2015/slick-calendar/slick-calendar.module.js +0 -14
  250. package/esm2015/slick-card/slick-card-header.component.js +0 -10
  251. package/esm2015/slick-card/slick-card.component.js +0 -37
  252. package/esm2015/slick-card/slick-card.module.js +0 -14
  253. package/esm2015/slick-components.js +0 -27
  254. package/esm2015/slick-confirm-dialog/slick-confirm-dialog.component.js +0 -62
  255. package/esm2015/slick-confirm-dialog/slick-confirm-dialog.module.js +0 -15
  256. package/esm2015/slick-container/slick-container-body.component.js +0 -18
  257. package/esm2015/slick-container/slick-container-footer.component.js +0 -16
  258. package/esm2015/slick-container/slick-container-header.component.js +0 -16
  259. package/esm2015/slick-container/slick-container.component.js +0 -19
  260. package/esm2015/slick-container/slick-container.module.js +0 -20
  261. package/esm2015/slick-context-menu/slick-context-menu-item.component.js +0 -10
  262. package/esm2015/slick-context-menu/slick-context-menu.component.js +0 -43
  263. package/esm2015/slick-context-menu/slick-context-menu.module.js +0 -15
  264. package/esm2015/slick-currency-mask/slick-currency-mask.directive.js +0 -234
  265. package/esm2015/slick-currency-mask/slick-currency-mask.module.js +0 -14
  266. package/esm2015/slick-date-picker/slick-date-picker.component.js +0 -267
  267. package/esm2015/slick-date-picker/slick-date-picker.module.js +0 -16
  268. package/esm2015/slick-dialog/slick-dialog-footer.component.js +0 -18
  269. package/esm2015/slick-dialog/slick-dialog.component.js +0 -282
  270. package/esm2015/slick-dialog/slick-dialog.module.js +0 -18
  271. package/esm2015/slick-dialog/slick-dialog.service.js +0 -67
  272. package/esm2015/slick-drag-drop/slick-drag-drop.directive.js +0 -9
  273. package/esm2015/slick-drag-drop/slick-drag-drop.module.js +0 -14
  274. package/esm2015/slick-drag-drop/slick-draggable.directive.js +0 -9
  275. package/esm2015/slick-drop-down/slick-drop-down.component.js +0 -465
  276. package/esm2015/slick-drop-down/slick-drop-down.module.js +0 -19
  277. package/esm2015/slick-drop-down/slick-drop-down.service.js +0 -59
  278. package/esm2015/slick-drop-list/slick-drop-list-grab.directive.js +0 -18
  279. package/esm2015/slick-drop-list/slick-drop-list-item.directive.js +0 -18
  280. package/esm2015/slick-drop-list/slick-drop-list.directive.js +0 -162
  281. package/esm2015/slick-drop-list/slick-drop-list.module.js +0 -15
  282. package/esm2015/slick-email-viewer/slick-email-viewer-dialog.component.js +0 -61
  283. package/esm2015/slick-email-viewer/slick-email-viewer.component.js +0 -39
  284. package/esm2015/slick-email-viewer/slick-email-viewer.module.js +0 -21
  285. package/esm2015/slick-emailer/slick-emailer-dialog.component.js +0 -122
  286. package/esm2015/slick-emailer/slick-emailer.component.js +0 -226
  287. package/esm2015/slick-emailer/slick-emailer.module.js +0 -24
  288. package/esm2015/slick-file-drop/slick-file-drop.component.js +0 -144
  289. package/esm2015/slick-file-drop/slick-file-drop.module.js +0 -15
  290. package/esm2015/slick-file-list/slick-file-list-item.component.js +0 -156
  291. package/esm2015/slick-file-list/slick-file-list.component.js +0 -114
  292. package/esm2015/slick-file-list/slick-file-list.module.js +0 -18
  293. package/esm2015/slick-google-address-search/slick-google-address-search.directive.js +0 -75
  294. package/esm2015/slick-google-address-search/slick-google-address-search.module.js +0 -14
  295. package/esm2015/slick-google-map/slick-google-map-dialog.component.js +0 -45
  296. package/esm2015/slick-google-map/slick-google-map.component.js +0 -45
  297. package/esm2015/slick-google-map/slick-google-map.module.js +0 -17
  298. package/esm2015/slick-grid/slick-grid-column-template.directive.js +0 -19
  299. package/esm2015/slick-grid/slick-grid-sanitize.pipe.js +0 -20
  300. package/esm2015/slick-grid/slick-grid.component.js +0 -792
  301. package/esm2015/slick-grid/slick-grid.module.js +0 -38
  302. package/esm2015/slick-grid/slick-grid.service.js +0 -72
  303. package/esm2015/slick-multi-select/slick-multi-select.component.js +0 -356
  304. package/esm2015/slick-multi-select/slick-multi-select.module.js +0 -15
  305. package/esm2015/slick-multi-select/slick-multi-select.service.js +0 -74
  306. package/esm2015/slick-ordered-list/slick-ordered-list.component.js +0 -198
  307. package/esm2015/slick-ordered-list/slick-ordered-list.module.js +0 -15
  308. package/esm2015/slick-paging/slick-paging.component.js +0 -180
  309. package/esm2015/slick-paging/slick-paging.module.js +0 -14
  310. package/esm2015/slick-photo-gallery/slick-photo-gallery.component.js +0 -101
  311. package/esm2015/slick-photo-gallery/slick-photo-gallery.module.js +0 -16
  312. package/esm2015/slick-pick-list/slick-pick-list.component.js +0 -78
  313. package/esm2015/slick-pick-list/slick-pick-list.module.js +0 -15
  314. package/esm2015/slick-popover/slick-popover.component.js +0 -199
  315. package/esm2015/slick-popover/slick-popover.module.js +0 -14
  316. package/esm2015/slick-profile-picture/slick-profile-picture.component.js +0 -242
  317. package/esm2015/slick-profile-picture/slick-profile-picture.module.js +0 -15
  318. package/esm2015/slick-progress-bar/slick-progress-bar.module.js +0 -13
  319. package/esm2015/slick-progress-bar/slick-progress-bar.service.js +0 -50
  320. package/esm2015/slick-screen-blocker/slick-screen-blocker.module.js +0 -13
  321. package/esm2015/slick-screen-blocker/slick-screen-blocker.service.js +0 -80
  322. package/esm2015/slick-slider/slick-slider.component.js +0 -88
  323. package/esm2015/slick-slider/slick-slider.module.js +0 -15
  324. package/esm2015/slick-split-screen/slick-screen-split-left-content.component.js +0 -13
  325. package/esm2015/slick-split-screen/slick-screen-split-right-content.component.js +0 -13
  326. package/esm2015/slick-split-screen/slick-split-screen.component.js +0 -148
  327. package/esm2015/slick-split-screen/slick-split-screen.module.js +0 -16
  328. package/esm2015/slick-tabs/slick-tab-header.component.js +0 -25
  329. package/esm2015/slick-tabs/slick-tab.component.js +0 -67
  330. package/esm2015/slick-tabs/slick-tabs.component.js +0 -104
  331. package/esm2015/slick-tabs/slick-tabs.module.js +0 -17
  332. package/esm2015/slick-toast/slick-toast.module.js +0 -13
  333. package/esm2015/slick-toast/slick-toast.service.js +0 -91
  334. package/esm2015/slick-tree-view/slick-tree-view.component.js +0 -287
  335. package/esm2015/slick-tree-view/slick-tree-view.module.js +0 -17
  336. package/esm2015/slick-type-ahead/slick-type-ahead.directive.js +0 -155
  337. package/esm2015/slick-type-ahead/slick-type-ahead.module.js +0 -13
  338. package/esm2015/slick-validation-indicator/slick-validation-indicator.directive.js +0 -61
  339. package/esm2015/slick-validation-indicator/slick-validation-indicator.module.js +0 -14
  340. package/esm2015/utils/slick-function-lock.service.js +0 -54
  341. package/esm2015/utils/slick-init.service.js +0 -48
  342. package/esm2015/utils/slick-log.service.js +0 -27
  343. package/esm2015/utils/slick-sleep.service.js +0 -14
  344. package/esm2015/utils/slick-utils.service.js +0 -229
  345. package/fesm2015/slick-components.js.map +0 -1
  346. package/slick-components.metadata.json +0 -1
@@ -1,13 +0,0 @@
1
- import { NgModule } from "@angular/core";
2
- import { RouterModule } from "@angular/router";
3
- import { SlickToastService } from "./slick-toast.service";
4
- export class SlickToastModule {
5
- }
6
- SlickToastModule.decorators = [
7
- { type: NgModule, args: [{
8
- imports: [RouterModule],
9
- providers: [SlickToastService]
10
- },] }
11
- ];
12
- export { SlickToastService };
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpY2stdG9hc3QubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvc2xpY2stdG9hc3Qvc2xpY2stdG9hc3QubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBTTFELE1BQU0sT0FBTyxnQkFBZ0I7OztZQUo1QixRQUFRLFNBQUM7Z0JBQ1QsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO2dCQUN2QixTQUFTLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQzthQUM5Qjs7QUFHRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5pbXBvcnQgeyBTbGlja1RvYXN0U2VydmljZSB9IGZyb20gXCIuL3NsaWNrLXRvYXN0LnNlcnZpY2VcIjtcclxuXHJcbkBOZ01vZHVsZSh7XHJcblx0aW1wb3J0czogW1JvdXRlck1vZHVsZV0sXHJcblx0cHJvdmlkZXJzOiBbU2xpY2tUb2FzdFNlcnZpY2VdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTbGlja1RvYXN0TW9kdWxlIHsgfVxyXG5cclxuZXhwb3J0IHsgU2xpY2tUb2FzdFNlcnZpY2UgfSJdfQ==
@@ -1,91 +0,0 @@
1
- import { __awaiter } from "tslib";
2
- import { Injectable, Optional } from "@angular/core";
3
- import { Router, NavigationStart } from "@angular/router";
4
- import { SlickSleepService } from "../utils/slick-sleep.service";
5
- import { SlickUtilsService } from "../utils/slick-utils.service";
6
- class SlickToastInfo {
7
- }
8
- export class SlickToastService {
9
- constructor(router) {
10
- this.router = router;
11
- if (document.getElementById("slick-toasts") === null) {
12
- let container = document.createElement("div");
13
- container.id = "slick-toasts";
14
- document.body.appendChild(container);
15
- }
16
- if (this.router) {
17
- // Every time we change a page, reset the page auto-logout timeout
18
- this.router.events.subscribe((event) => {
19
- if (event instanceof NavigationStart) {
20
- this.resetAll();
21
- }
22
- });
23
- }
24
- }
25
- showSuccess(message, delay = 6000) {
26
- this.showMessage("<i style='font-size: 1.2em' class='far fa-check'></i>&nbsp;&nbsp;" + message, delay, "bg-success");
27
- }
28
- showInfo(message, delay = 6000) {
29
- this.showMessage("<i style='font-size: 1.2em' class='far fa-info-circle'></i>&nbsp;&nbsp;" + message, delay, "bg-info");
30
- }
31
- showWarning(message, delay = 6000) {
32
- this.showMessage("<i style='font-size: 1.2em' class='far fa-exclamation-triangle'></i>&nbsp;&nbsp;" + message, delay, "bg-warning");
33
- }
34
- showDanger(message, delay = 6000) {
35
- this.showMessage("<i style='font-size: 1.2em' class='far fa-times-circle'></i>&nbsp;&nbsp;" + message, delay, "bg-danger");
36
- }
37
- resetAll() {
38
- for (let i = 0; i < SlickToastService.messageInfos.length; i++) {
39
- clearTimeout(SlickToastService.messageInfos[i].fadeTimeout);
40
- const container = document.getElementById("slick-toasts");
41
- if (container) {
42
- try {
43
- container.removeChild(SlickToastService.messageInfos[i].messageDiv);
44
- }
45
- catch (_a) { }
46
- }
47
- }
48
- }
49
- fadeOut(messageInfo) {
50
- return __awaiter(this, void 0, void 0, function* () {
51
- messageInfo.messageDiv.style.opacity = "0";
52
- yield SlickSleepService.sleep(600);
53
- let container = document.getElementById("slick-toasts");
54
- if (container) {
55
- try {
56
- container.removeChild(messageInfo.messageDiv);
57
- }
58
- catch (_a) { }
59
- }
60
- SlickToastService.messageInfos = SlickToastService.messageInfos.filter(x => x.uuid !== messageInfo.uuid);
61
- });
62
- }
63
- showMessage(message, delay, bgClass) {
64
- return __awaiter(this, void 0, void 0, function* () {
65
- let container = document.getElementById("slick-toasts");
66
- let newMessage = new SlickToastInfo();
67
- newMessage.uuid = SlickUtilsService.newGuid();
68
- newMessage.message = message;
69
- newMessage.fadeTimeout = setTimeout(() => this.fadeOut(newMessage), delay);
70
- newMessage.messageDiv = document.createElement("div");
71
- newMessage.messageDiv.id = "slick-toast_" + newMessage.uuid;
72
- newMessage.messageDiv.classList.add('slick-toast');
73
- newMessage.messageDiv.classList.add('jumbotron');
74
- newMessage.messageDiv.classList.add(bgClass);
75
- newMessage.messageDiv.innerHTML = message;
76
- SlickToastService.messageInfos.push(newMessage);
77
- container.insertAdjacentElement('afterbegin', newMessage.messageDiv);
78
- yield SlickSleepService.sleep();
79
- document.getElementById("slick-toast_" + newMessage.uuid).style.opacity = "1";
80
- });
81
- }
82
- }
83
- SlickToastService.messageInfos = [];
84
- SlickToastService.decorators = [
85
- { type: Injectable }
86
- ];
87
- /** @nocollapse */
88
- SlickToastService.ctorParameters = () => [
89
- { type: Router, decorators: [{ type: Optional }] }
90
- ];
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpY2stdG9hc3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL3NsaWNrLXRvYXN0L3NsaWNrLXRvYXN0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxNQUFNLEVBQUUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDakUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFTakUsTUFBTSxjQUFjO0NBS25CO0FBR0QsTUFBTSxPQUFPLGlCQUFpQjtJQUc3QixZQUFnQyxNQUFjO1FBQWQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUM3QyxJQUFJLFFBQVEsQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLEtBQUssSUFBSSxFQUFFO1lBQ3JELElBQUksU0FBUyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDOUMsU0FBUyxDQUFDLEVBQUUsR0FBRyxjQUFjLENBQUM7WUFDOUIsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDckM7UUFFRCxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDaEIsa0VBQWtFO1lBQ2xFLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUN0QyxJQUFJLEtBQUssWUFBWSxlQUFlLEVBQUU7b0JBQ3JDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztpQkFDaEI7WUFDRixDQUFDLENBQUMsQ0FBQztTQUNIO0lBQ0YsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFlLEVBQUUsUUFBZ0Is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QUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDakQsVUFBVSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzdDLFVBQVUsQ0FBQyxVQUFVLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQztZQUUxQyxpQkFBaUIsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBRWhELFNBQVMsQ0FBQyxxQkFBcUIsQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3JFLE1BQU0saUJBQWlCLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDaEMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxjQUFjLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDO1FBQy9FLENBQUM7S0FBQTs7QUFuRmMsOEJBQVksR0FBc0IsRUFBRSxDQUFDOztZQUZwRCxVQUFVOzs7O1lBbEJGLE1BQU0sdUJBc0JELFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFJvdXRlciwgTmF2aWdhdGlvblN0YXJ0IH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5pbXBvcnQgeyBTbGlja1NsZWVwU2VydmljZSB9IGZyb20gXCIuLi91dGlscy9zbGljay1zbGVlcC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFNsaWNrVXRpbHNTZXJ2aWNlIH0gZnJvbSBcIi4uL3V0aWxzL3NsaWNrLXV0aWxzLnNlcnZpY2VcIjtcclxuXHJcbmludGVyZmFjZSBJU2xpY2tUb2FzdEluZm8ge1xyXG5cdHV1aWQ6IHN0cmluZ1xyXG5cdG1lc3NhZ2U6IHN0cmluZztcclxuXHRmYWRlVGltZW91dDogTm9kZUpTLlRpbWVyO1xyXG5cdG1lc3NhZ2VEaXY6IEhUTUxEaXZFbGVtZW50O1xyXG59XHJcblxyXG5jbGFzcyBTbGlja1RvYXN0SW5mbyB7XHJcblx0dXVpZDogc3RyaW5nO1xyXG5cdG1lc3NhZ2U6IHN0cmluZztcclxuXHRmYWRlVGltZW91dDogTm9kZUpTLlRpbWVyO1xyXG5cdG1lc3NhZ2VEaXY6IEhUTUxEaXZFbGVtZW50O1xyXG59XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBTbGlja1RvYXN0U2VydmljZSB7XHJcblx0cHJpdmF0ZSBzdGF0aWMgbWVzc2FnZUluZm9zOiBJU2xpY2tUb2FzdEluZm9bXSA9IFtdO1xyXG5cclxuXHRjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBwcml2YXRlIHJvdXRlcjogUm91dGVyKSB7XHJcblx0XHRpZiAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJzbGljay10b2FzdHNcIikgPT09IG51bGwpIHtcclxuXHRcdFx0bGV0IGNvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7XHJcblx0XHRcdGNvbnRhaW5lci5pZCA9IFwic2xpY2stdG9hc3RzXCI7XHJcblx0XHRcdGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoY29udGFpbmVyKTtcclxuXHRcdH1cclxuXHJcblx0XHRpZiAodGhpcy5yb3V0ZXIpIHtcclxuXHRcdFx0Ly8gRXZlcnkgdGltZSB3ZSBjaGFuZ2UgYSBwYWdlLCByZXNldCB0aGUgcGFnZSBhdXRvLWxvZ291dCB0aW1lb3V0XHJcblx0XHRcdHRoaXMucm91dGVyLmV2ZW50cy5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XHJcblx0XHRcdFx0aWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0KSB7XHJcblx0XHRcdFx0XHR0aGlzLnJlc2V0QWxsKCk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9KTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdHNob3dTdWNjZXNzKG1lc3NhZ2U6IHN0cmluZywgZGVsYXk6IG51bWJlciA9IDYwMDApIHtcclxuXHRcdHRoaXMuc2hvd01lc3NhZ2UoXCI8aSBzdHlsZT0nZm9udC1zaXplOiAxLjJlbScgY2xhc3M9J2ZhciBmYS1jaGVjayc+PC9pPiZuYnNwOyZuYnNwO1wiICsgbWVzc2FnZSwgZGVsYXksIFwiYmctc3VjY2Vzc1wiKTtcclxuXHR9XHJcblxyXG5cdHNob3dJbmZvKG1lc3NhZ2U6IHN0cmluZywgZGVsYXk6IG51bWJlciA9IDYwMDApIHtcclxuXHRcdHRoaXMuc2hvd01lc3NhZ2UoXCI8aSBzdHlsZT0nZm9udC1zaXplOiAxLjJlbScgY2xhc3M9J2ZhciBmYS1pbmZvLWNpcmNsZSc+PC9pPiZuYnNwOyZuYnNwO1wiICsgbWVzc2FnZSwgZGVsYXksIFwiYmctaW5mb1wiKTtcclxuXHR9XHJcblxyXG5cdHNob3dXYXJuaW5nKG1lc3NhZ2U6IHN0cmluZywgZGVsYXk6IG51bWJlciA9IDYwMDApIHtcclxuXHRcdHRoaXMuc2hvd01lc3NhZ2UoXCI8aSBzdHlsZT0nZm9udC1zaXplOiAxLjJlbScgY2xhc3M9J2ZhciBmYS1leGNsYW1hdGlvbi10cmlhbmdsZSc+PC9pPiZuYnNwOyZuYnNwO1wiICsgbWVzc2FnZSwgZGVsYXksIFwiYmctd2FybmluZ1wiKTtcclxuXHR9XHJcblxyXG5cdHNob3dEYW5nZXIobWVzc2FnZTogc3RyaW5nLCBkZWxheTogbnVtYmVyID0gNjAwMCkge1xyXG5cdFx0dGhpcy5zaG93TWVzc2FnZShcIjxpIHN0eWxlPSdmb250LXNpemU6IDEuMmVtJyBjbGFzcz0nZmFyIGZhLXRpbWVzLWNpcmNsZSc+PC9pPiZuYnNwOyZuYnNwO1wiICsgbWVzc2FnZSwgZGVsYXksIFwiYmctZGFuZ2VyXCIpO1xyXG5cdH1cclxuXHJcblx0cmVzZXRBbGwoKSB7XHJcblx0XHRmb3IgKGxldCBpID0gMDsgaSA8IFNsaWNrVG9hc3RTZXJ2aWNlLm1lc3NhZ2VJbmZvcy5sZW5ndGg7IGkrKykge1xyXG5cdFx0XHRjbGVhclRpbWVvdXQoU2xpY2tUb2FzdFNlcnZpY2UubWVzc2FnZUluZm9zW2ldLmZhZGVUaW1lb3V0KTtcclxuXHRcdFx0Y29uc3QgY29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJzbGljay10b2FzdHNcIik7XHJcblxyXG5cdFx0XHRpZiAoY29udGFpbmVyKSB7XHJcblx0XHRcdFx0dHJ5IHtcclxuXHRcdFx0XHRcdGNvbnRhaW5lci5yZW1vdmVDaGlsZChTbGlja1RvYXN0U2VydmljZS5tZXNzYWdlSW5mb3NbaV0ubWVzc2FnZURpdik7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGNhdGNoIHsgfVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIGFzeW5jIGZhZGVPdXQobWVzc2FnZUluZm86IElTbGlja1RvYXN0SW5mbykge1xyXG5cdFx0bWVzc2FnZUluZm8ubWVzc2FnZURpdi5zdHlsZS5vcGFjaXR5ID0gXCIwXCI7XHJcblx0XHRhd2FpdCBTbGlja1NsZWVwU2VydmljZS5zbGVlcCg2MDApO1xyXG5cdFx0bGV0IGNvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwic2xpY2stdG9hc3RzXCIpO1xyXG5cdFx0aWYgKGNvbnRhaW5lcikge1xyXG5cdFx0XHR0cnkge1xyXG5cdFx0XHRcdGNvbnRhaW5lci5yZW1vdmVDaGlsZChtZXNzYWdlSW5mby5tZXNzYWdlRGl2KTtcclxuXHRcdFx0fVxyXG5cdFx0XHRjYXRjaCB7IH1cclxuXHRcdH1cclxuXHJcblx0XHRTbGlja1RvYXN0U2VydmljZS5tZXNzYWdlSW5mb3MgPSBTbGlja1RvYXN0U2VydmljZS5tZXNzYWdlSW5mb3MuZmlsdGVyKHggPT4geC51dWlkICE9PSBtZXNzYWdlSW5mby51dWlkKTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgYXN5bmMgc2hvd01lc3NhZ2UobWVzc2FnZTogc3RyaW5nLCBkZWxheTogbnVtYmVyLCBiZ0NsYXNzOiBzdHJpbmcpIHtcclxuXHRcdGxldCBjb250YWluZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcInNsaWNrLXRvYXN0c1wiKTtcclxuXHJcblx0XHRsZXQgbmV3TWVzc2FnZTogSVNsaWNrVG9hc3RJbmZvID0gbmV3IFNsaWNrVG9hc3RJbmZvKCk7XHJcblx0XHRuZXdNZXNzYWdlLnV1aWQgPSBTbGlja1V0aWxzU2VydmljZS5uZXdHdWlkKCk7XHJcblx0XHRuZXdNZXNzYWdlLm1lc3NhZ2UgPSBtZXNzYWdlO1xyXG5cdFx0bmV3TWVzc2FnZS5mYWRlVGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4gdGhpcy5mYWRlT3V0KG5ld01lc3NhZ2UpLCBkZWxheSk7XHJcblxyXG5cdFx0bmV3TWVzc2FnZS5tZXNzYWdlRGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtcclxuXHRcdG5ld01lc3NhZ2UubWVzc2FnZURpdi5pZCA9IFwic2xpY2stdG9hc3RfXCIgKyBuZXdNZXNzYWdlLnV1aWQ7XHJcblx0XHRuZXdNZXNzYWdlLm1lc3NhZ2VEaXYuY2xhc3NMaXN0LmFkZCgnc2xpY2stdG9hc3QnKTtcclxuXHRcdG5ld01lc3NhZ2UubWVzc2FnZURpdi5jbGFzc0xpc3QuYWRkKCdqdW1ib3Ryb24nKTtcclxuXHRcdG5ld01lc3NhZ2UubWVzc2FnZURpdi5jbGFzc0xpc3QuYWRkKGJnQ2xhc3MpO1xyXG5cdFx0bmV3TWVzc2FnZS5tZXNzYWdlRGl2LmlubmVySFRNTCA9IG1lc3NhZ2U7XHJcblxyXG5cdFx0U2xpY2tUb2FzdFNlcnZpY2UubWVzc2FnZUluZm9zLnB1c2gobmV3TWVzc2FnZSk7XHJcblxyXG5cdFx0Y29udGFpbmVyLmluc2VydEFkamFjZW50RWxlbWVudCgnYWZ0ZXJiZWdpbicsIG5ld01lc3NhZ2UubWVzc2FnZURpdik7XHJcblx0XHRhd2FpdCBTbGlja1NsZWVwU2VydmljZS5zbGVlcCgpO1xyXG5cdFx0ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJzbGljay10b2FzdF9cIiArIG5ld01lc3NhZ2UudXVpZCkuc3R5bGUub3BhY2l0eSA9IFwiMVwiO1xyXG5cdH1cclxufSJdfQ==
@@ -1,287 +0,0 @@
1
- import { __awaiter } from "tslib";
2
- import { Component, Input, Output, EventEmitter, ViewChild, ElementRef } from "@angular/core";
3
- import { SlickTreeNodeModel } from './slick-tree-node.model';
4
- import { SlickSleepService } from "../utils/slick-sleep.service";
5
- import { SlickUtilsService } from "../utils/slick-utils.service";
6
- import { SlickConfirmDialogComponent, SlickConfirmDialogResults } from '../slick-confirm-dialog/slick-confirm-dialog.module';
7
- class SlickTreeViewDisplayModel {
8
- constructor(node, level) {
9
- this.uuid = node.uuid;
10
- this.parentUuid = node.parentUuid;
11
- this.node = node;
12
- this.text = node.text;
13
- this.level = level;
14
- this.expanded = node.expanded;
15
- this.editingText = false;
16
- this.indentArray = [];
17
- for (let i = 0; i < this.level; i++)
18
- this.indentArray.push(true);
19
- }
20
- }
21
- export class SlickTreeViewComponent {
22
- constructor() {
23
- this.nodesChange = new EventEmitter();
24
- this.showRootNode = true;
25
- this.expandOnClick = true;
26
- this.onNodeSelected = new EventEmitter();
27
- this.onNodeChanged = new EventEmitter();
28
- this.onNodeAdded = new EventEmitter();
29
- this.onNodeDeleted = new EventEmitter();
30
- this.fnDocumentClick = (e) => this.documentClick(e);
31
- this.fnContextMenu = (e) => this.contextMenu(e);
32
- this.uuid = SlickUtilsService.newGuid();
33
- this.newUuid = null;
34
- }
35
- ngOnInit() {
36
- document.addEventListener("click", this.fnDocumentClick, true);
37
- this.slickTreeViewRef.nativeElement.addEventListener("contextmenu", this.fnContextMenu, true);
38
- }
39
- ngOnDestroy() {
40
- document.removeEventListener("click", this.fnDocumentClick, true);
41
- this.slickTreeViewRef.nativeElement.removeEventListener("contextmenu", this.fnContextMenu, true);
42
- }
43
- ngOnChanges(changes) {
44
- this.expandOnClick = (this.expandOnClick.toString().toLowerCase() === 'false') ? false : true;
45
- this.showRootNode = (this.showRootNode.toString().toLowerCase() === 'false') ? false : true;
46
- this.rootNodeUuid = this.rootNodeUuid || null;
47
- if (changes.nodes)
48
- this.refreshDisplay();
49
- }
50
- documentClick(e) {
51
- return __awaiter(this, void 0, void 0, function* () {
52
- if (e.target && SlickUtilsService.checkParentClassExists(e.target, "slick-tree-view_node-text-edit"))
53
- return;
54
- if (e.target && SlickUtilsService.checkParentClassExists(e.target, "slick-tree-view_context-menu"))
55
- return;
56
- const contextMenuElement = this.contextMenuRef.nativeElement;
57
- contextMenuElement.classList.remove("menu-visible");
58
- contextMenuElement.classList.add("menu-hidden");
59
- this.processNewNode();
60
- this.displayNodes = this.displayNodes.map(displayNode => {
61
- if (displayNode.editingText) {
62
- displayNode.editingText = false;
63
- if (this.onNodeChanged && displayNode.text !== displayNode.node.text) {
64
- displayNode.node.text = displayNode.text;
65
- this.onNodeChanged.emit(displayNode.node);
66
- }
67
- }
68
- return displayNode;
69
- });
70
- });
71
- }
72
- onTextKeydown(e, displayNode) {
73
- // Esc
74
- if (e.keyCode === 27) {
75
- displayNode.editingText = false;
76
- displayNode.node.text = displayNode.text;
77
- this.processNewNode();
78
- }
79
- // Enter or tab
80
- if (e.keyCode === 13 || e.keyCode === 9) {
81
- displayNode.editingText = false;
82
- this.processNewNode();
83
- if (this.onNodeChanged && displayNode.text !== displayNode.node.text) {
84
- displayNode.node.text = displayNode.text;
85
- this.onNodeChanged.emit(displayNode.node);
86
- }
87
- }
88
- }
89
- contextMenu(e) {
90
- if (!e || !e.target)
91
- return;
92
- if (!SlickUtilsService.checkParentIdExists(e.target, `slick-tree-view_${this.uuid}`))
93
- return;
94
- const contextNodeElement = SlickUtilsService.findParent(e.target, "slick-tree-view-node");
95
- if (!contextNodeElement)
96
- return;
97
- e.preventDefault();
98
- this.contextNodeUuid = contextNodeElement.getAttribute("data-uuid");
99
- const node = this.nodes.find(x => x.uuid === this.contextNodeUuid);
100
- this.contextMenuShowAdd = node.canAddChildren;
101
- this.contextMenuShowDelete = node.canDelete;
102
- this.contextMenuShowEditText = node.canEditText;
103
- // If there's nothing to do, don't even show the context menu
104
- if (this.contextMenuShowAdd === false && this.contextMenuShowDelete === false && this.contextMenuShowEditText === false)
105
- return;
106
- const contextMenuElement = this.contextMenuRef.nativeElement;
107
- const top = (contextNodeElement.offsetTop + contextNodeElement.offsetHeight - 5);
108
- const indentationElement = contextNodeElement.querySelector(".slick-tree-view_indentation");
109
- const iconElement = contextNodeElement.querySelector(".slick-tree-view_icon");
110
- const indentationWidth = (indentationElement) ? indentationElement.offsetWidth : 0;
111
- const iconWidth = (iconElement) ? iconElement.offsetWidth : 0;
112
- const left = indentationWidth + iconWidth + 2;
113
- contextMenuElement.style.top = top + "px";
114
- contextMenuElement.style.left = left + "px";
115
- contextMenuElement.classList.add("menu-visible");
116
- contextMenuElement.classList.remove("menu-hidden");
117
- }
118
- addNode() {
119
- return __awaiter(this, void 0, void 0, function* () {
120
- // Hide the context menu
121
- const contextMenuElement = this.contextMenuRef.nativeElement;
122
- contextMenuElement.classList.remove("menu-visible");
123
- contextMenuElement.classList.add("menu-hidden");
124
- if (!this.contextNodeUuid)
125
- return;
126
- const parentNodeIdx = this.nodes.findIndex(x => x.uuid === this.contextNodeUuid);
127
- const parentNode = this.nodes[parentNodeIdx];
128
- // Since we want to add this one to the top, pass null as the parent
129
- var newNode = new SlickTreeNodeModel(null, "New Folder");
130
- newNode.parentUuid = parentNode.uuid;
131
- parentNode.expanded = true;
132
- this.nodes.splice(parentNodeIdx, 0, newNode);
133
- this.refreshDisplay();
134
- const displayNode = this.displayNodes.find(x => x.uuid === newNode.uuid);
135
- this.editText(displayNode);
136
- this.newUuid = newNode.uuid;
137
- });
138
- }
139
- deleteNode() {
140
- return __awaiter(this, void 0, void 0, function* () {
141
- // Hide the context menu
142
- const contextMenuElement = this.contextMenuRef.nativeElement;
143
- contextMenuElement.classList.remove("menu-visible");
144
- contextMenuElement.classList.add("menu-hidden");
145
- if (!this.contextNodeUuid)
146
- return;
147
- const node = this.nodes.find(x => x.uuid === this.contextNodeUuid);
148
- this.deleteNodeName = node.text;
149
- const confirmResult = yield this.deleteNodeConfirmRef.confirm();
150
- if (confirmResult === SlickConfirmDialogResults.Cancel)
151
- return;
152
- const removedNodes = this.deleteRecursive(node);
153
- this.refreshDisplay();
154
- if (this.onNodeDeleted)
155
- this.onNodeDeleted.emit(removedNodes);
156
- if (this.nodesChange)
157
- this.nodesChange.emit(this.nodes);
158
- });
159
- }
160
- editNodeText() {
161
- // Hide the context menu
162
- const contextMenuElement = this.contextMenuRef.nativeElement;
163
- contextMenuElement.classList.remove("menu-visible");
164
- contextMenuElement.classList.add("menu-hidden");
165
- if (!this.contextNodeUuid)
166
- return;
167
- const displayNode = this.displayNodes.find(x => x.uuid === this.contextNodeUuid);
168
- this.editText(displayNode);
169
- if (this.nodesChange)
170
- this.nodesChange.emit(this.nodes);
171
- }
172
- selectNode(displayNode) {
173
- if (this.selectedUuid === displayNode.uuid)
174
- return;
175
- this.selectedUuid = displayNode.uuid;
176
- if (displayNode.node.expandOnClick === true)
177
- this.expandNode(displayNode);
178
- if (this.onNodeSelected)
179
- this.onNodeSelected.emit(displayNode.node);
180
- }
181
- expandNode(displayNode) {
182
- displayNode.node.expanded = true;
183
- this.refreshDisplay();
184
- }
185
- collapseNode(displayNode) {
186
- displayNode.node.expanded = false;
187
- this.refreshDisplay();
188
- }
189
- editText(displayNode) {
190
- return __awaiter(this, void 0, void 0, function* () {
191
- if (!displayNode.node.canEditText)
192
- return;
193
- displayNode.editingText = true;
194
- yield SlickSleepService.sleep();
195
- const textbox = document.querySelector(`.slick-tree-view_node-text-edit_${displayNode.uuid}`);
196
- if (textbox) {
197
- textbox.focus();
198
- textbox.select();
199
- }
200
- });
201
- }
202
- refreshDisplay() {
203
- this.displayNodes = [];
204
- if (!this.nodes || this.nodes.length === 0)
205
- return;
206
- let rootNode;
207
- if (this.rootNodeUuid)
208
- rootNode = this.nodes.find(x => x.uuid === this.rootNodeUuid);
209
- else
210
- rootNode = this.nodes.find(x => x.parentUuid === null);
211
- // Always expand the root node
212
- rootNode.expanded = true;
213
- // If we aren't showing the root node, start at -1 for the indent level
214
- this.populateDisplayNodes(rootNode, (this.showRootNode) ? 0 : -1);
215
- if (this.showRootNode === false)
216
- this.displayNodes = this.displayNodes.filter(x => x.parentUuid !== null);
217
- }
218
- populateDisplayNodes(node, level) {
219
- if (level >= 100) {
220
- console.error("Exceeeded max of 100 levels deep. Possible infinite recursion.");
221
- return;
222
- }
223
- const displayNode = new SlickTreeViewDisplayModel(node, level);
224
- if (node.expandOnClick === null || node.expandOnClick === undefined)
225
- node.expandOnClick = this.expandOnClick;
226
- if (displayNode.parentUuid === null)
227
- displayNode.node.canDelete = false;
228
- if (displayNode.uuid === this.newUuid)
229
- displayNode.editingText = true;
230
- this.displayNodes.push(displayNode);
231
- const childNodes = this.nodes.filter(x => x.parentUuid === node.uuid) || [];
232
- displayNode.hasChildNodes = (childNodes.length > 0);
233
- if (node.expanded === true)
234
- childNodes.forEach(childNode => {
235
- if (!childNode.hidden)
236
- this.populateDisplayNodes(childNode, level + 1);
237
- });
238
- }
239
- deleteRecursive(node) {
240
- let removedNodes = [];
241
- const childNodes = this.nodes.filter(x => x.parentUuid === node.uuid) || [];
242
- childNodes.forEach(childNode => {
243
- removedNodes = removedNodes.concat(this.deleteRecursive(childNode));
244
- });
245
- removedNodes.push(node);
246
- this.nodes = this.nodes.filter(x => x.uuid !== node.uuid);
247
- return removedNodes;
248
- }
249
- processNewNode() {
250
- if (!this.newUuid)
251
- return;
252
- const newNode = this.nodes.find(x => x.uuid === this.newUuid);
253
- const displayNode = this.displayNodes.find(x => x.uuid == this.newUuid);
254
- // Do this so that we don't trigger the node update
255
- newNode.text = displayNode.text;
256
- this.newUuid = null;
257
- if (!newNode)
258
- return;
259
- if (this.onNodeAdded)
260
- this.onNodeAdded.emit(newNode);
261
- if (this.nodesChange)
262
- this.nodesChange.emit(this.nodes);
263
- }
264
- }
265
- SlickTreeViewComponent.decorators = [
266
- { type: Component, args: [{
267
- selector: 'slick-tree-view',
268
- template: "<div #slickTreeViewRef id=\"slick-tree-view_{{uuid}}\" class=\"slick-tree-view position-relative pr-2\">\r\n\t<div class=\"d-flex slick-tree-view-node\" [attr.data-uuid]=\"displayNode.uuid\" *ngFor=\"let displayNode of displayNodes\">\r\n\t\t<div class=\"slick-tree-view_indentation\">\r\n\t\t\t<i *ngFor=\"let indent of displayNode.indentArray\" class=\"far fa-caret-right mr-1\" style=\"opacity: 0\"></i>\r\n\t\t\t<i *ngIf=\"!displayNode.hasChildNodes\" class=\"far fa-caret-right mr-1\" style=\"opacity: 0\"></i>\r\n\t\t\t<i *ngIf=\"displayNode.hasChildNodes && !displayNode.expanded\" class=\"far fa-caret-right mr-1\" style=\"cursor: pointer\" (click)=\"expandNode(displayNode)\"></i>\r\n\t\t\t<i *ngIf=\"displayNode.hasChildNodes && displayNode.expanded\" class=\"far fa-caret-down mr-1\" style=\"cursor: pointer\" (click)=\"collapseNode(displayNode)\"></i>\r\n\t\t</div>\r\n\t\t<div class=\"d-flex px-1\" [ngClass]=\"{'bg-success text-white' : displayNode.uuid === selectedUuid }\">\r\n\t\t\t<div *ngIf=\"displayNode.node.iconClass || displayNode.node.iconUrl\" class=\"mr-1 slick-tree-view_icon\">\r\n\t\t\t\t<i *ngIf=\"displayNode.node.iconClass\" [style.color]=\"displayNode.node.iconColor\" [ngClass]=\"displayNode.node.iconClass\"></i>\r\n\t\t\t</div>\r\n\t\t\t<div *ngIf=\"!displayNode.editingText\" style=\"cursor: pointer\" (click)=\"selectNode(displayNode)\" (dblclick)=\"editText(displayNode)\">{{displayNode.text}}</div>\r\n\t\t\t<div *ngIf=\"displayNode.editingText\" class=\"slick-tree-view_node-text-edit\"><input type=\"text\" class=\"form-control slick-tree-view_node-text-edit_{{displayNode.uuid}}\" [(ngModel)]=\"displayNode.text\" (keydown)=\"onTextKeydown($event, displayNode)\" /></div>\r\n\t\t</div>\r\n\t</div>\r\n\r\n\t<div #contextMenuRef class='slick-tree-view_context-menu dropdown-menu p-0 show menu-hidden'>\r\n\t\t<div *ngIf=\"contextMenuShowAdd\" class=\"px-2 dropdown-item\" (click)=\"addNode()\">Add</div>\r\n\t\t<div *ngIf=\"contextMenuShowDelete\" class=\"px-2 dropdown-item\" (click)=\"deleteNode()\">Delete</div>\r\n\t\t<div *ngIf=\"contextMenuShowEditText\" class=\"px-2 dropdown-item\" (click)=\"editNodeText()\">Edit Name</div>\r\n\t</div>\r\n</div>\r\n\r\n<slick-confirm-dialog #deleteNodeConfirmRef>\r\n\tAre you sure you want to delete {{deleteNodeName}}?\r\n</slick-confirm-dialog>"
269
- },] }
270
- ];
271
- /** @nocollapse */
272
- SlickTreeViewComponent.ctorParameters = () => [];
273
- SlickTreeViewComponent.propDecorators = {
274
- nodes: [{ type: Input }],
275
- nodesChange: [{ type: Output }],
276
- showRootNode: [{ type: Input }],
277
- rootNodeUuid: [{ type: Input }],
278
- expandOnClick: [{ type: Input }],
279
- onNodeSelected: [{ type: Output }],
280
- onNodeChanged: [{ type: Output }],
281
- onNodeAdded: [{ type: Output }],
282
- onNodeDeleted: [{ type: Output }],
283
- slickTreeViewRef: [{ type: ViewChild, args: ["slickTreeViewRef", { static: true },] }],
284
- contextMenuRef: [{ type: ViewChild, args: ["contextMenuRef",] }],
285
- deleteNodeConfirmRef: [{ type: ViewChild, args: ["deleteNodeConfirmRef",] }]
286
- };
287
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpY2stdHJlZS12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL3NsaWNrLXRyZWUtdmlldy9zbGljay10cmVlLXZpZXcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBNEIsTUFBTSxFQUFFLFlBQVksRUFBcUIsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzSSxPQUFPLEVBQXVCLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDakUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDakUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLHlCQUF5QixFQUFFLE1BQU0scURBQXFELENBQUM7QUFFN0gsTUFBTSx5QkFBeUI7SUFDOUIsWUFBWSxJQUF5QixFQUFFLEtBQWE7UUFDbkQsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUNsQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQzlCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBRXpCLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMs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Q0FBQztRQUVoQyxJQUFJLElBQUksQ0FBQyxXQUFXO1lBQ25CLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwQyxDQUFDOzs7WUEzVUQsU0FBUyxTQUFDO2dCQUNWLFFBQVEsRUFBRSxpQkFBaUI7Z0JBQzNCLHd5RUFBNkM7YUFDN0M7Ozs7O29CQUVDLEtBQUs7MEJBQ0wsTUFBTTsyQkFDTixLQUFLOzJCQUNMLEtBQUs7NEJBQ0wsS0FBSzs2QkFDTCxNQUFNOzRCQUNOLE1BQU07MEJBQ04sTUFBTTs0QkFDTixNQUFNOytCQUVOLFNBQVMsU0FBQyxrQkFBa0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7NkJBQzlDLFNBQVMsU0FBQyxnQkFBZ0I7bUNBQzFCLFNBQVMsU0FBQyxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkLCBFbGVtZW50UmVmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgSVNsaWNrVHJlZU5vZGVNb2RlbCwgU2xpY2tUcmVlTm9kZU1vZGVsIH0gZnJvbSAnLi9zbGljay10cmVlLW5vZGUubW9kZWwnO1xyXG5pbXBvcnQgeyBTbGlja1NsZWVwU2VydmljZSB9IGZyb20gXCIuLi91dGlscy9zbGljay1zbGVlcC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFNsaWNrVXRpbHNTZXJ2aWNlIH0gZnJvbSBcIi4uL3V0aWxzL3NsaWNrLXV0aWxzLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgU2xpY2tDb25maXJtRGlhbG9nQ29tcG9uZW50LCBTbGlja0NvbmZpcm1EaWFsb2dSZXN1bHRzIH0gZnJvbSAnLi4vc2xpY2stY29uZmlybS1kaWFsb2cvc2xpY2stY29uZmlybS1kaWFsb2cubW9kdWxlJztcclxuXHJcbmNsYXNzIFNsaWNrVHJlZVZpZXdEaXNwbGF5TW9kZWwge1xyXG5cdGNvbnN0cnVjdG9yKG5vZGU6IElTbGlja1RyZWVOb2RlTW9kZWwsIGxldmVsOiBudW1iZXIpIHtcclxuXHRcdHRoaXMudXVpZCA9IG5vZGUudXVpZDtcclxuXHRcdHRoaXMucGFyZW50VXVpZCA9IG5vZGUucGFyZW50VXVpZDtcclxuXHRcdHRoaXMubm9kZSA9IG5vZGU7XHJcblx0XHR0aGlzLnRleHQgPSBub2RlLnRleHQ7XHJcblx0XHR0aGlzLmxldmVsID0gbGV2ZWw7XHJcblx0XHR0aGlzLmV4cGFuZGVkID0gbm9kZS5leHBhbmRlZDtcclxuXHRcdHRoaXMuZWRpdGluZ1RleHQgPSBmYWxzZTtcclxuXHJcblx0XHR0aGlzLmluZGVudEFycmF5ID0gW107XHJcblx0XHRmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMubGV2ZWw7IGkrKylcclxuXHRcdFx0dGhpcy5pbmRlbnRBcnJheS5wdXNoKHRydWUpO1xyXG5cdH1cclxuXHJcblx0bm9kZTogSVNsaWNrVHJlZU5vZGVNb2RlbDtcclxuXHR1dWlkOiBzdHJpbmc7XHJcblx0dGV4dDogc3RyaW5nO1xyXG5cdHBhcmVudFV1aWQ6IHN0cmluZztcclxuXHRsZXZlbDogbnVtYmVyO1xyXG5cdGluZGVudEFycmF5OiBib29sZWFuW107XHJcblx0ZXhwYW5kZWQ6IGJvb2xlYW47XHJcblx0aGFzQ2hpbGROb2RlczogYm9vbGVhbjtcclxuXHRlZGl0aW5nVGV4dDogYm9vbGVhbjtcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICdzbGljay10cmVlLXZpZXcnLFxyXG5cdHRlbXBsYXRlVXJsOiAnc2xpY2stdHJlZS12aWV3LmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU2xpY2tUcmVlVmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG5cdEBJbnB1dCgpIG5vZGVzOiBJU2xpY2tUcmVlTm9kZU1vZGVsW107XHJcblx0QE91dHB1dCgpIG5vZGVzQ2hhbmdlOiBFdmVudEVtaXR0ZXI8SVNsaWNrVHJlZU5vZGVNb2RlbFtdPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHRASW5wdXQoKSBzaG93Um9vdE5vZGU6IGJvb2xlYW4gPSB0cnVlO1xyXG5cdEBJbnB1dCgpIHJvb3ROb2RlVXVpZDogc3RyaW5nO1xyXG5cdEBJbnB1dCgpIGV4cGFuZE9uQ2xpY2s6IGJvb2xlYW4gPSB0cnVlO1xyXG5cdEBPdXRwdXQoKSBvbk5vZGVTZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8SVNsaWNrVHJlZU5vZGVNb2RlbD4oKTtcclxuXHRAT3V0cHV0KCkgb25Ob2RlQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8SVNsaWNrVHJlZU5vZGVNb2RlbD4oKTtcclxuXHRAT3V0cHV0KCkgb25Ob2RlQWRkZWQgPSBuZXcgRXZlbnRFbWl0dGVyPElTbGlja1RyZWVOb2RlTW9kZWw+KCk7XHJcblx0QE91dHB1dCgpIG9uTm9kZURlbGV0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPElTbGlja1RyZWVOb2RlTW9kZWxbXT4oKTtcclxuXHJcblx0QFZpZXdDaGlsZChcInNsaWNrVHJlZVZpZXdSZWZcIiwgeyBzdGF0aWM6IHRydWUgfSkgc2xpY2tUcmVlVmlld1JlZjogRWxlbWVudFJlZjtcclxuXHRAVmlld0NoaWxkKFwiY29udGV4dE1lbnVSZWZcIikgY29udGV4dE1lbnVSZWY6IEVsZW1lbnRSZWY7XHJcblx0QFZpZXdDaGlsZChcImRlbGV0ZU5vZGVDb25maXJtUmVmXCIpIGRlbGV0ZU5vZGVDb25maXJtUmVmOiBTbGlja0NvbmZpcm1EaWFsb2dDb21wb25lbnQ7XHJcblxyXG5cdGZuRG9jdW1lbnRDbGljayA9IChlKSA9PiB0aGlzLmRvY3VtZW50Q2xpY2soZSk7XHJcblx0Zm5Db250ZXh0TWVudSA9IChlKSA9PiB0aGlzLmNvbnRleHRNZW51KGUpO1xyXG5cclxuXHRjb250ZXh0Tm9kZVV1aWQ6IHN0cmluZztcclxuXHJcblx0dXVpZDogc3RyaW5nID0gU2xpY2tVdGlsc1NlcnZpY2UubmV3R3VpZCgpO1xyXG5cdGRpc3BsYXlOb2RlczogU2xpY2tUcmVlVmlld0Rpc3BsYXlNb2RlbFtdO1xyXG5cdHNlbGVjdGVkVXVpZDogc3RyaW5nO1xyXG5cdG5ld1V1aWQ6IHN0cmluZyA9IG51bGw7XHJcblx0ZGVsZXRlTm9kZU5hbWU6IHN0cmluZztcclxuXHJcblx0Y29udGV4dE1lbnVTaG93QWRkOiBib29sZWFuO1xyXG5cdGNvbnRleHRNZW51U2hvd0RlbGV0ZTogYm9vbGVhbjtcclxuXHRjb250ZXh0TWVudVNob3dFZGl0VGV4dDogYm9vbGVhbjtcclxuXHJcblx0Y29uc3RydWN0b3IoKSB7IH1cclxuXHJcblx0bmdPbkluaXQoKSB7XHJcblx0XHRkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgdGhpcy5mbkRvY3VtZW50Q2xpY2ssIHRydWUpO1xyXG5cdFx0dGhpcy5zbGlja1RyZWVWaWV3UmVmLm5hdGl2ZUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcImNvbnRleHRtZW51XCIsIHRoaXMuZm5Db250ZXh0TWVudSwgdHJ1ZSk7XHJcblx0fVxyXG5cclxuXHRuZ09uRGVzdHJveSgpIHtcclxuXHRcdGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCB0aGlzLmZuRG9jdW1lbnRDbGljaywgdHJ1ZSk7XHJcblx0XHR0aGlzLnNsaWNrVHJlZVZpZXdSZWYubmF0aXZlRWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwiY29udGV4dG1lbnVcIiwgdGhpcy5mbkNvbnRleHRNZW51LCB0cnVlKTtcclxuXHR9XHJcblxyXG5cdG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuXHRcdHRoaXMuZXhwYW5kT25DbGljayA9ICh0aGlzLmV4cGFuZE9uQ2xpY2sudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpID09PSAnZmFsc2UnKSA/IGZhbHNlIDogdHJ1ZTtcclxuXHRcdHRoaXMuc2hvd1Jvb3ROb2RlID0gKHRoaXMuc2hvd1Jvb3ROb2RlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKSA9PT0gJ2ZhbHNlJykgPyBmYWxzZSA6IHRydWU7XHJcblx0XHR0aGlzLnJvb3ROb2RlVXVpZCA9IHRoaXMucm9vdE5vZGVVdWlkIHx8IG51bGw7XHJcblxyXG5cdFx0aWYgKGNoYW5nZXMubm9kZXMpXHJcblx0XHRcdHRoaXMucmVmcmVzaERpc3BsYXkoKTtcclxuXHJcblx0fVxyXG5cclxuXHRwcml2YXRlIGFzeW5jIGRvY3VtZW50Q2xpY2soZTogTW91c2VFdmVudCkge1xyXG5cdFx0aWYgKGUudGFyZ2V0ICYmIFNsaWNrVXRpbHNTZXJ2aWNlLmNoZWNrUGFyZW50Q2xhc3NFeGlzdHMoPEhUTUxFbGVtZW50PmUudGFyZ2V0LCBcInNsaWNrLXRyZWUtdmlld19ub2RlLXRleHQtZWRpdFwiKSlcclxuXHRcdFx0cmV0dXJuO1xyXG5cclxuXHRcdGlmIChlLnRhcmdldCAmJiBTbGlja1V0aWxzU2VydmljZS5jaGVja1BhcmVudENsYXNzRXhpc3RzKDxIVE1MRWxlbWVudD5lLnRhcmdldCwgXCJzbGljay10cmVlLXZpZXdfY29udGV4dC1tZW51XCIpKVxyXG5cdFx0XHRyZXR1cm47XHJcblxyXG5cdFx0Y29uc3QgY29udGV4dE1lbnVFbGVtZW50ID0gPEhUTUxFbGVtZW50PnRoaXMuY29udGV4dE1lbnVSZWYubmF0aXZlRWxlbWVudDtcclxuXHRcdGNvbnRleHRNZW51RWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKFwibWVudS12aXNpYmxlXCIpO1xyXG5cdFx0Y29udGV4dE1lbnVFbGVtZW50LmNsYXNzTGlzdC5hZGQoXCJtZW51LWhpZGRlblwiKTtcclxuXHJcblx0XHR0aGlzLnByb2Nlc3NOZXdOb2RlKCk7XHJcblxyXG5cdFx0dGhpcy5kaXNwbGF5Tm9kZXMgPSB0aGlzLmRpc3BsYXlOb2Rlcy5tYXAoZGlzcGxheU5vZGUgPT4ge1xyXG5cdFx0XHRpZiAoZGlzcGxheU5vZGUuZWRpdGluZ1RleHQpIHtcclxuXHRcdFx0XHRkaXNwbGF5Tm9kZS5lZGl0aW5nVGV4dCA9IGZhbHNlO1xyXG5cdFx0XHRcdGlmICh0aGlzLm9uTm9kZUNoYW5nZWQgJiYgZGlzcGxheU5vZGUudGV4dCAhPT0gZGlzcGxheU5vZGUubm9kZS50ZXh0KSB7XHJcblx0XHRcdFx0XHRkaXNwbGF5Tm9kZS5ub2RlLnRleHQgPSBkaXNwbGF5Tm9kZS50ZXh0O1xyXG5cdFx0XHRcdFx0dGhpcy5vbk5vZGVDaGFuZ2VkLmVtaXQoZGlzcGxheU5vZGUubm9kZSk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRyZXR1cm4gZGlzcGxheU5vZGU7XHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdG9uVGV4dEtleWRvd24oZTogS2V5Ym9hcmRFdmVudCwgZGlzcGxheU5vZGU6IFNsaWNrVHJlZVZpZXdEaXNwbGF5TW9kZWwpIHtcclxuXHRcdC8vIEVzY1xyXG5cdFx0aWYgKGUua2V5Q29kZSA9PT0gMjcpIHtcclxuXHRcdFx0ZGlzcGxheU5vZGUuZWRpdGluZ1RleHQgPSBmYWxzZTtcclxuXHRcdFx0ZGlzcGxheU5vZGUubm9kZS50ZXh0ID0gZGlzcGxheU5vZGUudGV4dDtcclxuXHRcdFx0dGhpcy5wcm9jZXNzTmV3Tm9kZSgpO1xyXG5cdFx0fVxyXG5cclxuXHRcdC8vIEVudGVyIG9yIHRhYlxyXG5cdFx0aWYgKGUua2V5Q29kZSA9PT0gMTMgfHwgZS5rZXlDb2RlID09PSA5KSB7XHJcblx0XHRcdGRpc3BsYXlOb2RlLmVkaXRpbmdUZXh0ID0gZmFsc2U7XHJcblx0XHRcdHRoaXMucHJvY2Vzc05ld05vZGUoKTtcclxuXHRcdFx0aWYgKHRoaXMub25Ob2RlQ2hhbmdlZCAmJiBkaXNwbGF5Tm9kZS50ZXh0ICE9PSBkaXNwbGF5Tm9kZS5ub2RlLnRleHQpIHtcclxuXHRcdFx0XHRkaXNwbGF5Tm9kZS5ub2RlLnRleHQgPSBkaXNwbGF5Tm9kZS50ZXh0O1xyXG5cdFx0XHRcdHRoaXMub25Ob2RlQ2hhbmdlZC5lbWl0KGRpc3BsYXlOb2RlLm5vZGUpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRjb250ZXh0TWVudShlOiBNb3VzZUV2ZW50KSB7XHJcblx0XHRpZiAoIWUgfHwgIWUudGFyZ2V0KVxyXG5cdFx0XHRyZXR1cm47XHJcblxyXG5cdFx0aWYgKCFTbGlja1V0aWxzU2VydmljZS5jaGVja1BhcmVudElkRXhpc3RzKDxIVE1MRWxlbWVudD5lLnRhcmdldCwgYHNsaWNrLXRyZWUtdmlld18ke3RoaXMudXVpZH1gKSlcclxuXHRcdFx0cmV0dXJuO1xyXG5cclxuXHRcdGNvbnN0IGNvbnRleHROb2RlRWxlbWVudCA9IDxIVE1MRGl2RWxlbWVudD5TbGlja1V0aWxzU2VydmljZS5maW5kUGFyZW50KDxIVE1MRWxlbWVudD5lLnRhcmdldCwgXCJzbGljay10cmVlLXZpZXctbm9kZVwiKTtcclxuXHRcdGlmICghY29udGV4dE5vZGVFbGVtZW50KVxyXG5cdFx0XHRyZXR1cm47XHJcblxyXG5cdFx0ZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG5cclxuXHRcdHRoaXMuY29udGV4dE5vZGVVdWlkID0gY29udGV4dE5vZGVFbGVtZW50LmdldEF0dHJpYnV0ZShcImRhdGEtdXVpZFwiKTtcclxuXHJcblx0XHRjb25zdCBub2RlID0gdGhpcy5ub2Rlcy5maW5kKHggPT4geC51dWlkID09PSB0aGlzLmNvbnRleHROb2RlVXVpZCk7XHJcblx0XHR0aGlzLmNvbnRleHRNZW51U2hvd0FkZCA9IG5vZGUuY2FuQWRkQ2hpbGRyZW47XHJcblx0XHR0aGlzLmNvbnRleHRNZW51U2hvd0RlbGV0ZSA9IG5vZGUuY2FuRGVsZXRlO1xyXG5cdFx0dGhpcy5jb250ZXh0TWVudVNob3dFZGl0VGV4dCA9IG5vZGUuY2FuRWRpdFRleHQ7XHJcblxyXG5cdFx0Ly8gSWYgdGhlcmUncyBub3RoaW5nIHRvIGRvLCBkb24ndCBldmVuIHNob3cgdGhlIGNvbnRleHQgbWVudVxyXG5cdFx0aWYgKHRoaXMuY29udGV4dE1lbnVTaG93QWRkID09PSBmYWxzZSAmJiB0aGlzLmNvbnRleHRNZW51U2hvd0RlbGV0ZSA9PT0gZmFsc2UgJiYgdGhpcy5jb250ZXh0TWVudVNob3dFZGl0VGV4dCA9PT0gZmFsc2UpXHJcblx0XHRcdHJldHVybjtcclxuXHJcblx0XHRjb25zdCBjb250ZXh0TWVudUVsZW1lbnQgPSA8SFRNTEVsZW1lbnQ+dGhpcy5jb250ZXh0TWVudVJlZi5uYXRpdmVFbGVtZW50O1xyXG5cdFx0Y29uc3QgdG9wID0gKGNvbnRleHROb2RlRWxlbWVudC5vZmZzZXRUb3AgKyBjb250ZXh0Tm9kZUVsZW1lbnQub2Zmc2V0SGVpZ2h0IC0gNSk7XHJcblxyXG5cdFx0Y29uc3QgaW5kZW50YXRpb25FbGVtZW50ID0gPEhUTUxEaXZFbGVtZW50PmNvbnRleHROb2RlRWxlbWVudC5xdWVyeVNlbGVjdG9yKFwiLnNsaWNrLXRyZWUtdmlld19pbmRlbnRhdGlvblwiKTtcclxuXHRcdGNvbnN0IGljb25FbGVtZW50ID0gPEhUTUxEaXZFbGVtZW50PmNvbnRleHROb2RlRWxlbWVudC5xdWVyeVNlbGVjdG9yKFwiLnNsaWNrLXRyZWUtdmlld19pY29uXCIpO1xyXG5cdFx0Y29uc3QgaW5kZW50YXRpb25XaWR0aCA9IChpbmRlbnRhdGlvbkVsZW1lbnQpID8gaW5kZW50YXRpb25FbGVtZW50Lm9mZnNldFdpZHRoIDogMDtcclxuXHRcdGNvbnN0IGljb25XaWR0aCA9IChpY29uRWxlbWVudCkgPyBpY29uRWxlbWVudC5vZmZzZXRXaWR0aCA6IDA7XHJcblx0XHRjb25zdCBsZWZ0ID0gaW5kZW50YXRpb25XaWR0aCArIGljb25XaWR0aCArIDI7XHJcblxyXG5cdFx0Y29udGV4dE1lbnVFbGVtZW50LnN0eWxlLnRvcCA9IHRvcCArIFwicHhcIjtcclxuXHRcdGNvbnRleHRNZW51RWxlbWVudC5zdHlsZS5sZWZ0ID0gbGVmdCArIFwicHhcIjtcclxuXHRcdGNvbnRleHRNZW51RWxlbWVudC5jbGFzc0xpc3QuYWRkKFwibWVudS12aXNpYmxlXCIpO1xyXG5cdFx0Y29udGV4dE1lbnVFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoXCJtZW51LWhpZGRlblwiKTtcclxuXHR9XHJcblxyXG5cdGFzeW5jIGFkZE5vZGUoKSB7XHJcblx0XHQvLyBIaWRlIHRoZSBjb250ZXh0IG1lbnVcclxuXHRcdGNvbnN0IGNvbnRleHRNZW51RWxlbWVudCA9IDxIVE1MRWxlbWVudD50aGlzLmNvbnRleHRNZW51UmVmLm5hdGl2ZUVsZW1lbnQ7XHJcblx0XHRjb250ZXh0TWVudUVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShcIm1lbnUtdmlzaWJsZVwiKTtcclxuXHRcdGNvbnRleHRNZW51RWxlbWVudC5jbGFzc0xpc3QuYWRkKFwibWVudS1oaWRkZW5cIik7XHJcblxyXG5cdFx0aWYgKCF0aGlzLmNvbnRleHROb2RlVXVpZClcclxuXHRcdFx0cmV0dXJuO1xyXG5cclxuXHRcdGNvbnN0IHBhcmVudE5vZGVJZHggPSB0aGlzLm5vZGVzLmZpbmRJbmRleCh4ID0+IHgudXVpZCA9PT0gdGhpcy5jb250ZXh0Tm9kZVV1aWQpO1xyXG5cdFx0Y29uc3QgcGFyZW50Tm9kZSA9IHRoaXMubm9kZXNbcGFyZW50Tm9kZUlkeF1cclxuXHRcdC8vIFNpbmNlIHdlIHdhbnQgdG8gYWRkIHRoaXMgb25lIHRvIHRoZSB0b3AsIHBhc3MgbnVsbCBhcyB0aGUgcGFyZW50XHJcblx0XHR2YXIgbmV3Tm9kZSA9IG5ldyBTbGlja1RyZWVOb2RlTW9kZWwobnVsbCwgXCJOZXcgRm9sZGVyXCIpO1xyXG5cdFx0bmV3Tm9kZS5wYXJlbnRVdWlkID0gcGFyZW50Tm9kZS51dWlkO1xyXG5cdFx0cGFyZW50Tm9kZS5leHBhbmRlZCA9IHRydWU7XHJcblx0XHR0aGlzLm5vZGVzLnNwbGljZShwYXJlbnROb2RlSWR4LCAwLCBuZXdOb2RlKTtcclxuXHJcblx0XHR0aGlzLnJlZnJlc2hEaXNwbGF5KCk7XHJcblxyXG5cdFx0Y29uc3QgZGlzcGxheU5vZGUgPSB0aGlzLmRpc3BsYXlOb2Rlcy5maW5kKHggPT4geC51dWlkID09PSBuZXdOb2RlLnV1aWQpO1xyXG5cdFx0dGhpcy5lZGl0VGV4dChkaXNwbGF5Tm9kZSk7XHJcblxyXG5cdFx0dGhpcy5uZXdVdWlkID0gbmV3Tm9kZS51dWlkO1xyXG5cdH1cclxuXHJcblx0YXN5bmMgZGVsZXRlTm9kZSgpIHtcclxuXHRcdC8vIEhpZGUgdGhlIGNvbnRleHQgbWVudVxyXG5cdFx0Y29uc3QgY29udGV4dE1lbnVFbGVtZW50ID0gPEhUTUxFbGVtZW50PnRoaXMuY29udGV4dE1lbnVSZWYubmF0aXZlRWxlbWVudDtcclxuXHRcdGNvbnRleHRNZW51RWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKFwibWVudS12aXNpYmxlXCIpO1xyXG5cdFx0Y29udGV4dE1lbnVFbGVtZW50LmNsYXNzTGlzdC5hZGQoXCJtZW51LWhpZGRlblwiKTtcclxuXHJcblx0XHRpZiAoIXRoaXMuY29udGV4dE5vZGVVdWlkKVxyXG5cdFx0XHRyZXR1cm47XHJcblxyXG5cdFx0Y29uc3Qgbm9kZSA9IHRoaXMubm9kZXMuZmluZCh4ID0+IHgudXVpZCA9PT0gdGhpcy5jb250ZXh0Tm9kZVV1aWQpO1xyXG5cclxuXHRcdHRoaXMuZGVsZXRlTm9kZU5hbWUgPSBub2RlLnRleHQ7XHJcblxyXG5cdFx0Y29uc3QgY29uZmlybVJlc3VsdCA9IGF3YWl0IHRoaXMuZGVsZXRlTm9kZUNvbmZpcm1SZWYuY29uZmlybSgpO1xyXG5cclxuXHRcdGlmIChjb25maXJtUmVzdWx0ID09PSBTbGlja0NvbmZpcm1EaWFsb2dSZXN1bHRzLkNhbmNlbClcclxuXHRcdFx0cmV0dXJuO1xyXG5cclxuXHRcdGNvbnN0IHJlbW92ZWROb2RlcyA9IHRoaXMuZGVsZXRlUmVjdXJzaXZlKG5vZGUpO1xyXG5cclxuXHRcdHRoaXMucmVmcmVzaERpc3BsYXkoKTtcclxuXHJcblx0XHRpZiAodGhpcy5vbk5vZGVEZWxldGVkKVxyXG5cdFx0XHR0aGlzLm9uTm9kZURlbGV0ZWQuZW1pdChyZW1vdmVkTm9kZXMpO1xyXG5cclxuXHRcdGlmICh0aGlzLm5vZGVzQ2hhbmdlKSBcclxuXHRcdFx0dGhpcy5ub2Rlc0NoYW5nZS5lbWl0KHRoaXMubm9kZXMpO1x0XHRcclxuXHR9XHJcblxyXG5cdGVkaXROb2RlVGV4dCgpIHtcclxuXHRcdC8vIEhpZGUgdGhlIGNvbnRleHQgbWVudVxyXG5cdFx0Y29uc3QgY29udGV4dE1lbnVFbGVtZW50ID0gPEhUTUxFbGVtZW50PnRoaXMuY29udGV4dE1lbnVSZWYubmF0aXZlRWxlbWVudDtcclxuXHRcdGNvbnRleHRNZW51RWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKFwibWVudS12aXNpYmxlXCIpO1xyXG5cdFx0Y29udGV4dE1lbnVFbGVtZW50LmNsYXNzTGlzdC5hZGQoXCJtZW51LWhpZGRlblwiKTtcclxuXHJcblx0XHRpZiAoIXRoaXMuY29udGV4dE5vZGVVdWlkKVxyXG5cdFx0XHRyZXR1cm47XHJcblxyXG5cdFx0Y29uc3QgZGlzcGxheU5vZGUgPSB0aGlzLmRpc3BsYXlOb2Rlcy5maW5kKHggPT4geC51dWlkID09PSB0aGlzLmNvbnRleHROb2RlVXVpZCk7XHJcblx0XHR0aGlzLmVkaXRUZXh0KGRpc3BsYXlOb2RlKTtcclxuXHJcblx0XHRpZiAodGhpcy5ub2Rlc0NoYW5nZSkgXHJcblx0XHRcdHRoaXMubm9kZXNDaGFuZ2UuZW1pdCh0aGlzLm5vZGVzKTtcdFx0XHJcblx0fVxyXG5cclxuXHRzZWxlY3ROb2RlKGRpc3BsYXlOb2RlOiBTbGlja1RyZWVWaWV3RGlzcGxheU1vZGVsKSB7XHJcblx0XHRpZiAodGhpcy5zZWxlY3RlZFV1aWQgPT09IGRpc3BsYXlOb2RlLnV1aWQpXHJcblx0XHRcdHJldHVybjtcclxuXHJcblx0XHR0aGlzLnNlbGVjdGVkVXVpZCA9IGRpc3BsYXlOb2RlLnV1aWQ7XHJcblx0XHRpZiAoZGlzcGxheU5vZGUubm9kZS5leHBhbmRPbkNsaWNrID09PSB0cnVlKVxyXG5cdFx0XHR0aGlzLmV4cGFuZE5vZGUoZGlzcGxheU5vZGUpO1xyXG5cclxuXHRcdGlmICh0aGlzLm9uTm9kZVNlbGVjdGVkKVxyXG5cdFx0XHR0aGlzLm9uTm9kZVNlbGVjdGVkLmVtaXQoZGlzcGxheU5vZGUubm9kZSk7XHJcblx0fVxyXG5cclxuXHRleHBhbmROb2RlKGRpc3BsYXlOb2RlOiBTbGlja1RyZWVWaWV3RGlzcGxheU1vZGVsKSB7XHJcblx0XHRkaXNwbGF5Tm9kZS5ub2RlLmV4cGFuZGVkID0gdHJ1ZTtcclxuXHRcdHRoaXMucmVmcmVzaERpc3BsYXkoKTtcclxuXHR9XHJcblxyXG5cdGNvbGxhcHNlTm9kZShkaXNwbGF5Tm9kZTogU2xpY2tUcmVlVmlld0Rpc3BsYXlNb2RlbCkge1xyXG5cdFx0ZGlzcGxheU5vZGUubm9kZS5leHBhbmRlZCA9IGZhbHNlO1xyXG5cdFx0dGhpcy5yZWZyZXNoRGlzcGxheSgpO1xyXG5cdH1cclxuXHJcblx0YXN5bmMgZWRpdFRleHQoZGlzcGxheU5vZGU6IFNsaWNrVHJlZVZpZXdEaXNwbGF5TW9kZWwpIHtcclxuXHRcdGlmICghZGlzcGxheU5vZGUubm9kZS5jYW5FZGl0VGV4dClcclxuXHRcdFx0cmV0dXJuO1xyXG5cclxuXHRcdGRpc3BsYXlOb2RlLmVkaXRpbmdUZXh0ID0gdHJ1ZTtcclxuXHJcblx0XHRhd2FpdCBTbGlja1NsZWVwU2VydmljZS5zbGVlcCgpO1xyXG5cdFx0Y29uc3QgdGV4dGJveCA9IDxIVE1MSW5wdXRFbGVtZW50PmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYC5zbGljay10cmVlLXZpZXdfbm9kZS10ZXh0LWVkaXRfJHtkaXNwbGF5Tm9kZS51dWlkfWApO1xyXG5cdFx0aWYgKHRleHRib3gpIHtcclxuXHRcdFx0dGV4dGJveC5mb2N1cygpO1xyXG5cdFx0XHR0ZXh0Ym94LnNlbGVjdCgpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSByZWZyZXNoRGlzcGxheSgpIHtcclxuXHRcdHRoaXMuZGlzcGxheU5vZGVzID0gW107XHJcblxyXG5cdFx0aWYgKCF0aGlzLm5vZGVzIHx8IHRoaXMubm9kZXMubGVuZ3RoID09PSAwKVxyXG5cdFx0XHRyZXR1cm47XHJcblxyXG5cdFx0bGV0IHJvb3ROb2RlOiBJU2xpY2tUcmVlTm9kZU1vZGVsO1xyXG5cdFx0aWYgKHRoaXMucm9vdE5vZGVVdWlkKVxyXG5cdFx0XHRyb290Tm9kZSA9IHRoaXMubm9kZXMuZmluZCh4ID0+IHgudXVpZCA9PT0gdGhpcy5yb290Tm9kZVV1aWQpO1xyXG5cdFx0ZWxzZVxyXG5cdFx0XHRyb290Tm9kZSA9IHRoaXMubm9kZXMuZmluZCh4ID0+IHgucGFyZW50VXVpZCA9PT0gbnVsbCk7XHJcblx0XHQvLyBBbHdheXMgZXhwYW5kIHRoZSByb290IG5vZGVcclxuXHRcdHJvb3ROb2RlLmV4cGFuZGVkID0gdHJ1ZTtcclxuXHJcblx0XHQvLyBJZiB3ZSBhcmVuJ3Qgc2hvd2luZyB0aGUgcm9vdCBub2RlLCBzdGFydCBhdCAtMSBmb3IgdGhlIGluZGVudCBsZXZlbFxyXG5cdFx0dGhpcy5wb3B1bGF0ZURpc3BsYXlOb2Rlcyhyb290Tm9kZSwgKHRoaXMuc2hvd1Jvb3ROb2RlKSA/IDAgOiAtMSk7XHJcblxyXG5cdFx0aWYgKHRoaXMuc2hvd1Jvb3ROb2RlID09PSBmYWxzZSkgXHJcblx0XHRcdHRoaXMuZGlzcGxheU5vZGVzID0gdGhpcy5kaXNwbGF5Tm9kZXMuZmlsdGVyKHggPT4geC5wYXJlbnRVdWlkICE9PSBudWxsKTtcdFx0XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIHBvcHVsYXRlRGlzcGxheU5vZGVzKG5vZGU6IElTbGlja1RyZWVOb2RlTW9kZWwsIGxldmVsOiBudW1iZXIpIHtcclxuXHRcdGlmIChsZXZlbCA+PSAxMDApIHtcclxuXHRcdFx0Y29uc29sZS5lcnJvcihcIkV4Y2VlZWRlZCBtYXggb2YgMTAwIGxldmVscyBkZWVwLiAgUG9zc2libGUgaW5maW5pdGUgcmVjdXJzaW9uLlwiKTtcclxuXHRcdFx0cmV0dXJuO1xyXG5cdFx0fVxyXG5cclxuXHRcdGNvbnN0IGRpc3BsYXlOb2RlID0gbmV3IFNsaWNrVHJlZVZpZXdEaXNwbGF5TW9kZWwobm9kZSwgbGV2ZWwpO1xyXG5cclxuXHRcdGlmIChub2RlLmV4cGFuZE9uQ2xpY2sgPT09IG51bGwgfHwgbm9kZS5leHBhbmRPbkNsaWNrID09PSB1bmRlZmluZWQpXHJcblx0XHRcdG5vZGUuZXhwYW5kT25DbGljayA9IHRoaXMuZXhwYW5kT25DbGljaztcclxuXHJcblx0XHRpZiAoZGlzcGxheU5vZGUucGFyZW50VXVpZCA9PT0gbnVsbClcclxuXHRcdFx0ZGlzcGxheU5vZGUubm9kZS5jYW5EZWxldGUgPSBmYWxzZTtcclxuXHJcblx0XHRpZiAoZGlzcGxheU5vZGUudXVpZCA9PT0gdGhpcy5uZXdVdWlkKSBcclxuXHRcdFx0ZGlzcGxheU5vZGUuZWRpdGluZ1RleHQgPSB0cnVlO1xyXG5cdFx0XHJcblx0XHR0aGlzLmRpc3BsYXlOb2Rlcy5wdXNoKGRpc3BsYXlOb2RlKTtcclxuXHJcblx0XHRjb25zdCBjaGlsZE5vZGVzID0gdGhpcy5ub2Rlcy5maWx0ZXIoeCA9PiB4LnBhcmVudFV1aWQgPT09IG5vZGUudXVpZCkgfHwgW107XHJcblx0XHRkaXNwbGF5Tm9kZS5oYXNDaGlsZE5vZGVzID0gKGNoaWxkTm9kZXMubGVuZ3RoID4gMCk7XHJcblxyXG5cdFx0aWYgKG5vZGUuZXhwYW5kZWQgPT09IHRydWUpXHJcblx0XHRcdGNoaWxkTm9kZXMuZm9yRWFjaChjaGlsZE5vZGUgPT4ge1xyXG5cdFx0XHRcdGlmICghY2hpbGROb2RlLmhpZGRlbilcclxuXHRcdFx0XHRcdHRoaXMucG9wdWxhdGVEaXNwbGF5Tm9kZXMoY2hpbGROb2RlLCBsZXZlbCArIDEpXHJcblx0XHRcdH0pO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBkZWxldGVSZWN1cnNpdmUobm9kZTogSVNsaWNrVHJlZU5vZGVNb2RlbCk6IElTbGlja1RyZWVOb2RlTW9kZWxbXSB7XHJcblx0XHRsZXQgcmVtb3ZlZE5vZGVzOiBJU2xpY2tUcmVlTm9kZU1vZGVsW10gPSBbXTtcclxuXHJcblx0XHRjb25zdCBjaGlsZE5vZGVzID0gdGhpcy5ub2Rlcy5maWx0ZXIoeCA9PiB4LnBhcmVudFV1aWQgPT09IG5vZGUudXVpZCkgfHwgW107XHJcblxyXG5cdFx0Y2hpbGROb2Rlcy5mb3JFYWNoKGNoaWxkTm9kZSA9PiB7XHJcblx0XHRcdHJlbW92ZWROb2RlcyA9IHJlbW92ZWROb2Rlcy5jb25jYXQodGhpcy5kZWxldGVSZWN1cnNpdmUoY2hpbGROb2RlKSlcclxuXHRcdH0pO1xyXG5cclxuXHRcdHJlbW92ZWROb2Rlcy5wdXNoKG5vZGUpO1xyXG5cclxuXHRcdHRoaXMubm9kZXMgPSB0aGlzLm5vZGVzLmZpbHRlcih4ID0+IHgudXVpZCAhPT0gbm9kZS51dWlkKTtcclxuXHJcblx0XHRyZXR1cm4gcmVtb3ZlZE5vZGVzO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBwcm9jZXNzTmV3Tm9kZSgpIHtcclxuXHRcdGlmICghdGhpcy5uZXdVdWlkKVxyXG5cdFx0XHRyZXR1cm47XHJcblxyXG5cdFx0Y29uc3QgbmV3Tm9kZSA9IHRoaXMubm9kZXMuZmluZCh4ID0+IHgudXVpZCA9PT0gdGhpcy5uZXdVdWlkKTtcclxuXHRcdGNvbnN0IGRpc3BsYXlOb2RlID0gdGhpcy5kaXNwbGF5Tm9kZXMuZmluZCh4ID0+IHgudXVpZCA9PSB0aGlzLm5ld1V1aWQpO1xyXG5cdFx0Ly8gRG8gdGhpcyBzbyB0aGF0IHdlIGRvbid0IHRyaWdnZXIgdGhlIG5vZGUgdXBkYXRlXHJcblx0XHQgbmV3Tm9kZS50ZXh0ID0gZGlzcGxheU5vZGUudGV4dDtcclxuXHJcblx0XHR0aGlzLm5ld1V1aWQgPSBudWxsO1xyXG5cclxuXHRcdGlmICghbmV3Tm9kZSkgXHJcblx0XHRcdHJldHVybjtcdFx0XHJcblxyXG5cdFx0aWYgKHRoaXMub25Ob2RlQWRkZWQpXHJcblx0XHRcdHRoaXMub25Ob2RlQWRkZWQuZW1pdChuZXdOb2RlKTtcclxuXHJcblx0XHRpZiAodGhpcy5ub2Rlc0NoYW5nZSlcclxuXHRcdFx0dGhpcy5ub2Rlc0NoYW5nZS5lbWl0KHRoaXMubm9kZXMpO1xyXG5cdH1cclxufVxyXG4iXX0=
@@ -1,17 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { NgModule } from "@angular/core";
3
- import { FormsModule } from "@angular/forms";
4
- import { SlickConfirmDialogModule } from "../slick-confirm-dialog/slick-confirm-dialog.module";
5
- import { SlickTreeViewComponent } from "./slick-tree-view.component";
6
- export class SlickTreeViewModule {
7
- }
8
- SlickTreeViewModule.decorators = [
9
- { type: NgModule, args: [{
10
- imports: [CommonModule, FormsModule, SlickConfirmDialogModule],
11
- declarations: [SlickTreeViewComponent],
12
- exports: [CommonModule, FormsModule, SlickTreeViewComponent]
13
- },] }
14
- ];
15
- export { SlickTreeViewComponent };
16
- export { SlickTreeNodeModel } from "./slick-tree-node.model";
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpY2stdHJlZS12aWV3Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL3NsaWNrLXRyZWUtdmlldy9zbGljay10cmVlLXZpZXcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUMvRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQU9yRSxNQUFNLE9BQU8sbUJBQW1COzs7WUFML0IsUUFBUSxTQUFDO2dCQUNULE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsd0JBQXdCLENBQUM7Z0JBQzlELFlBQVksRUFBRSxDQUFDLHNCQUFzQixDQUFDO2dCQUN0QyxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLHNCQUFzQixDQUFDO2FBQzVEOztBQUdELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxDQUFBO0FBQ2pDLE9BQU8sRUFBdUIsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgU2xpY2tDb25maXJtRGlhbG9nTW9kdWxlIH0gZnJvbSBcIi4uL3NsaWNrLWNvbmZpcm0tZGlhbG9nL3NsaWNrLWNvbmZpcm0tZGlhbG9nLm1vZHVsZVwiO1xyXG5pbXBvcnQgeyBTbGlja1RyZWVWaWV3Q29tcG9uZW50IH0gZnJvbSBcIi4vc2xpY2stdHJlZS12aWV3LmNvbXBvbmVudFwiO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuXHRpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZSwgU2xpY2tDb25maXJtRGlhbG9nTW9kdWxlXSxcclxuXHRkZWNsYXJhdGlvbnM6IFtTbGlja1RyZWVWaWV3Q29tcG9uZW50XSxcclxuXHRleHBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZSwgU2xpY2tUcmVlVmlld0NvbXBvbmVudF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFNsaWNrVHJlZVZpZXdNb2R1bGUgeyB9XHJcblxyXG5leHBvcnQgeyBTbGlja1RyZWVWaWV3Q29tcG9uZW50IH1cclxuZXhwb3J0IHsgSVNsaWNrVHJlZU5vZGVNb2RlbCwgU2xpY2tUcmVlTm9kZU1vZGVsIH0gZnJvbSBcIi4vc2xpY2stdHJlZS1ub2RlLm1vZGVsXCI7XHJcbiJdfQ==