@inspark/inspark-components 19.0.49 → 19.0.51

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 (500) hide show
  1. package/copy.json +8 -0
  2. package/karma.conf.js +31 -0
  3. package/ng-package.json +7 -0
  4. package/package.json +17 -1
  5. package/src/assets/i18n/en_US.json +1631 -0
  6. package/src/assets/i18n/ru.json +1673 -0
  7. package/src/bms-css.js +3 -0
  8. package/src/components/autocomplete/autocomplete.component.html +68 -0
  9. package/src/components/autocomplete/autocomplete.component.scss +3 -0
  10. package/src/components/autocomplete/autocomplete.component.ts +209 -0
  11. package/src/components/autocomplete/autocomplete.module.ts +21 -0
  12. package/src/components/breadcrumb/breadcrumb.component.html +13 -0
  13. package/src/components/breadcrumb/breadcrumb.component.scss +0 -0
  14. package/src/components/breadcrumb/breadcrumb.component.ts +20 -0
  15. package/src/components/breadcrumb/breadcrumb.module.ts +18 -0
  16. package/src/components/button/button.component.html +155 -0
  17. package/src/components/button/button.component.scss +284 -0
  18. package/src/components/button/button.component.ts +134 -0
  19. package/src/components/button/button.module.ts +22 -0
  20. package/src/components/checkbox/checkbox.component.html +12 -0
  21. package/src/components/checkbox/checkbox.component.scss +30 -0
  22. package/src/components/checkbox/checkbox.component.ts +77 -0
  23. package/src/components/checkbox/checkbox.module.ts +18 -0
  24. package/src/components/communication.service.ts +22 -0
  25. package/src/components/component-container/component-container.component.html +3 -0
  26. package/src/components/component-container/component-container.component.scss +13 -0
  27. package/src/components/component-container/component-container.component.ts +17 -0
  28. package/src/components/component-container/component-container.module.ts +17 -0
  29. package/src/components/content-toggle/content-toggle.component.html +19 -0
  30. package/src/components/content-toggle/content-toggle.component.scss +58 -0
  31. package/src/components/content-toggle/content-toggle.component.ts +42 -0
  32. package/src/components/dropdown/dropdown.component.css +4 -0
  33. package/src/components/dropdown/dropdown.component.html +43 -0
  34. package/src/components/dropdown/dropdown.component.ts +167 -0
  35. package/src/components/dropdown/dropdown.interface.ts +25 -0
  36. package/src/components/dropdown/dropdown.module.ts +21 -0
  37. package/src/components/empty/empty.component.html +3 -0
  38. package/src/components/empty/empty.component.scss +4 -0
  39. package/src/components/empty/empty.component.ts +16 -0
  40. package/src/components/file/file.component.css +3 -0
  41. package/src/components/file/file.component.html +10 -0
  42. package/src/components/file/file.component.ts +41 -0
  43. package/src/components/file/file.module.ts +18 -0
  44. package/src/components/header/header.component.html +26 -0
  45. package/src/components/header/header.component.scss +64 -0
  46. package/src/components/header/header.component.ts +25 -0
  47. package/src/components/inline-message/inline-message.component.html +4 -0
  48. package/src/components/inline-message/inline-message.component.scss +13 -0
  49. package/src/components/inline-message/inline-message.component.ts +16 -0
  50. package/src/components/input-group/input-group.component.html +74 -0
  51. package/src/components/input-group/input-group.component.scss +1 -0
  52. package/src/components/input-group/input-group.component.ts +134 -0
  53. package/src/components/input-text/input-text.component.html +45 -0
  54. package/src/components/input-text/input-text.component.scss +69 -0
  55. package/src/components/input-text/input-text.component.ts +100 -0
  56. package/src/components/input-text/input-text.module.ts +19 -0
  57. package/src/components/inspark.module.ts +132 -0
  58. package/src/components/inspark.scss +28 -0
  59. package/src/components/inspark.shared.ts +20 -0
  60. package/src/components/legacy/legacy-components.module.ts +26 -0
  61. package/src/components/legacy/legacy-ui.module.ts +28 -0
  62. package/src/components/link/link.component.html +75 -0
  63. package/src/components/link/link.component.scss +95 -0
  64. package/src/components/link/link.component.ts +108 -0
  65. package/src/components/link/link.module.ts +23 -0
  66. package/src/components/modal-input-text/modal-input-text.component.html +46 -0
  67. package/src/components/modal-input-text/modal-input-text.component.scss +36 -0
  68. package/src/components/modal-input-text/modal-input-text.component.ts +100 -0
  69. package/src/components/object-tree/object-tree.component.html +1 -0
  70. package/src/components/object-tree/object-tree.component.scss +0 -0
  71. package/src/components/object-tree/object-tree.component.ts +17 -0
  72. package/src/components/panel/panel.component.html +3 -0
  73. package/src/components/panel/panel.component.scss +3 -0
  74. package/src/components/panel/panel.component.ts +13 -0
  75. package/src/components/pie/pie.component.html +17 -0
  76. package/src/components/pie/pie.component.scss +17 -0
  77. package/src/components/pie/pie.component.ts +66 -0
  78. package/src/components/pie/pie.service.ts +67 -0
  79. package/src/components/preloader/preloader.component.html +17 -0
  80. package/src/components/preloader/preloader.component.scss +144 -0
  81. package/src/components/preloader/preloader.component.ts +25 -0
  82. package/src/components/preloader/preloader.module.ts +16 -0
  83. package/src/components/primeng.module.ts +28 -0
  84. package/src/components/radiobutton/radiobutton.component.html +24 -0
  85. package/src/components/radiobutton/radiobutton.component.scss +9 -0
  86. package/src/components/radiobutton/radiobutton.component.ts +47 -0
  87. package/src/components/select-button/select-button.component.html +23 -0
  88. package/src/components/select-button/select-button.component.scss +28 -0
  89. package/src/components/select-button/select-button.component.ts +190 -0
  90. package/src/components/select-button/select-button.module.ts +18 -0
  91. package/src/components/select-list/select-list.component.html +27 -0
  92. package/src/components/select-list/select-list.component.scss +36 -0
  93. package/src/components/select-list/select-list.component.ts +65 -0
  94. package/src/components/shared/shared-components.module.ts +24 -0
  95. package/src/components/shared/shared-ui.module.ts +23 -0
  96. package/src/components/status-circle/status-circle.component.html +10 -0
  97. package/src/components/status-circle/status-circle.component.scss +115 -0
  98. package/src/components/status-circle/status-circle.component.ts +24 -0
  99. package/src/components/sticky/sticky.component.html +9 -0
  100. package/src/components/sticky/sticky.component.scss +17 -0
  101. package/src/components/sticky/sticky.component.ts +60 -0
  102. package/src/components/sticky/sticky.module.ts +18 -0
  103. package/src/components/svg/svg.component.html +3 -0
  104. package/src/components/svg/svg.component.scss +14 -0
  105. package/src/components/svg/svg.component.ts +18 -0
  106. package/src/components/svg/svg.module.ts +18 -0
  107. package/src/components/switcher/switcher.component.html +23 -0
  108. package/src/components/switcher/switcher.component.scss +30 -0
  109. package/src/components/switcher/switcher.component.ts +104 -0
  110. package/src/components/table/table-click-outside.directive.ts +24 -0
  111. package/src/components/table/table-columns-multiselect/table-columns-multiselect.component.html +26 -0
  112. package/src/components/table/table-columns-multiselect/table-columns-multiselect.component.scss +3 -0
  113. package/src/components/table/table-columns-multiselect/table-columns-multiselect.component.ts +26 -0
  114. package/src/components/table/table-menu-overlay/table-menu-overlay-blue.component.scss +8 -0
  115. package/src/components/table/table-menu-overlay/table-menu-overlay-contrast.component.scss +8 -0
  116. package/src/components/table/table-menu-overlay/table-menu-overlay-green.component.scss +8 -0
  117. package/src/components/table/table-menu-overlay/table-menu-overlay-light.component.scss +8 -0
  118. package/src/components/table/table-menu-overlay/table-menu-overlay.component.html +13 -0
  119. package/src/components/table/table-menu-overlay/table-menu-overlay.component.scss +32 -0
  120. package/src/components/table/table-menu-overlay/table-menu-overlay.component.ts +22 -0
  121. package/src/components/table/table.component.html +301 -0
  122. package/src/components/table/table.component.scss +148 -0
  123. package/src/components/table/table.component.ts +538 -0
  124. package/src/components/textarea/textarea.component.html +19 -0
  125. package/src/components/textarea/textarea.component.scss +0 -0
  126. package/src/components/textarea/textarea.component.ts +71 -0
  127. package/src/components/textarea/textarea.module.ts +19 -0
  128. package/src/components/toolbar/toolbar.component.html +19 -0
  129. package/src/components/toolbar/toolbar.component.scss +117 -0
  130. package/src/components/toolbar/toolbar.component.ts +38 -0
  131. package/src/components/toolbar/toolbar.module.ts +18 -0
  132. package/src/components/tooltip/tooltip.component.html +7 -0
  133. package/src/components/tooltip/tooltip.component.scss +47 -0
  134. package/src/components/tooltip/tooltip.component.ts +17 -0
  135. package/src/components/tree-table/tree-table.component.html +162 -0
  136. package/src/components/tree-table/tree-table.component.scss +129 -0
  137. package/src/components/tree-table/tree-table.component.ts +366 -0
  138. package/src/components/types.ts +7 -0
  139. package/src/css.js +6 -0
  140. package/src/interface.ts +80 -0
  141. package/src/pipes/pipes.module.ts +12 -0
  142. package/src/pipes/propertyValue.pipe.ts +18 -0
  143. package/src/pipes/safeUrl.pipe.ts +30 -0
  144. package/src/pipes/sort-by.pipe.ts +23 -0
  145. package/src/pipes/time.pipe.ts +197 -0
  146. package/src/public_api.ts +5 -0
  147. package/src/scss/main.scss +6 -0
  148. package/src/scss/patchPrimeng/_loader.components.primeng.scss +35 -0
  149. package/src/scss/patchPrimeng/_loader.components.primeng.theme-blue.scss +27 -0
  150. package/src/scss/patchPrimeng/_loader.components.primeng.theme-bms-dark.scss +25 -0
  151. package/src/scss/patchPrimeng/_loader.components.primeng.theme-bms-light.scss +27 -0
  152. package/src/scss/patchPrimeng/_loader.components.primeng.theme-contrast.scss +27 -0
  153. package/src/scss/patchPrimeng/_loader.components.primeng.theme-dark.scss +26 -0
  154. package/src/scss/patchPrimeng/_loader.components.primeng.theme-light.scss +29 -0
  155. package/src/scss/patchPrimeng/autocomplete/_primeng.components.autocomplete.scss +193 -0
  156. package/src/scss/patchPrimeng/autocomplete/_primeng.components.autocomplete.theme-blue.scss +58 -0
  157. package/src/scss/patchPrimeng/autocomplete/_primeng.components.autocomplete.theme-contrast.scss +58 -0
  158. package/src/scss/patchPrimeng/autocomplete/_primeng.components.autocomplete.theme-dark.scss +72 -0
  159. package/src/scss/patchPrimeng/autocomplete/_primeng.components.autocomplete.theme-light.scss +72 -0
  160. package/src/scss/patchPrimeng/breadcrumb/_primeng.components.breadcrumb.scss +0 -0
  161. package/src/scss/patchPrimeng/button/_primeng.components.button.compat.scss +114 -0
  162. package/src/scss/patchPrimeng/button/_primeng.components.button.scss +213 -0
  163. package/src/scss/patchPrimeng/button/_primeng.components.button.theme-blue.scss +109 -0
  164. package/src/scss/patchPrimeng/button/_primeng.components.button.theme-bms-dark.scss +109 -0
  165. package/src/scss/patchPrimeng/button/_primeng.components.button.theme-bms-light.scss +114 -0
  166. package/src/scss/patchPrimeng/button/_primeng.components.button.theme-contrast.scss +109 -0
  167. package/src/scss/patchPrimeng/button/_primeng.components.button.theme-dark.scss +108 -0
  168. package/src/scss/patchPrimeng/button/_primeng.components.button.theme-light.scss +113 -0
  169. package/src/scss/patchPrimeng/calendar/_primeng.components.calendar.scss +401 -0
  170. package/src/scss/patchPrimeng/calendar/_primeng.components.calendar.theme-light.scss +67 -0
  171. package/src/scss/patchPrimeng/card/_primeng.components.card.scss +6 -0
  172. package/src/scss/patchPrimeng/card/_primeng.components.card.theme-contrast.scss +3 -0
  173. package/src/scss/patchPrimeng/card/_primeng.components.card.theme-dark.scss +3 -0
  174. package/src/scss/patchPrimeng/card/_primeng.components.card.theme-light.scss +3 -0
  175. package/src/scss/patchPrimeng/checkbox/_primeng.components.checkbox.scss +75 -0
  176. package/src/scss/patchPrimeng/checkbox/_primeng.components.checkbox.theme-contrast.scss +45 -0
  177. package/src/scss/patchPrimeng/checkbox/_primeng.components.checkbox.theme-dark.scss +46 -0
  178. package/src/scss/patchPrimeng/checkbox/_primeng.components.checkbox.theme-light.scss +46 -0
  179. package/src/scss/patchPrimeng/common/_primeng.components.common.scss +356 -0
  180. package/src/scss/patchPrimeng/common/_primeng.components.common.theme-contrast.scss +12 -0
  181. package/src/scss/patchPrimeng/common/_primeng.components.common.theme-dark.scss +12 -0
  182. package/src/scss/patchPrimeng/common/_primeng.components.common.theme-light.scss +12 -0
  183. package/src/scss/patchPrimeng/contextmenu/_primeng.components.contextmenu.scss +64 -0
  184. package/src/scss/patchPrimeng/contextmenu/_primeng.components.contextmenu.theme-contrast.scss +0 -0
  185. package/src/scss/patchPrimeng/contextmenu/_primeng.components.contextmenu.theme-dark.scss +0 -0
  186. package/src/scss/patchPrimeng/contextmenu/_primeng.components.contextmenu.theme-light.scss +0 -0
  187. package/src/scss/patchPrimeng/dialog/_primeng.components.dialog.scss +155 -0
  188. package/src/scss/patchPrimeng/dialog/_primeng.components.dialog.theme-contrast.scss +3 -0
  189. package/src/scss/patchPrimeng/dialog/_primeng.components.dialog.theme-dark.scss +0 -0
  190. package/src/scss/patchPrimeng/dialog/_primeng.components.dialog.theme-light.scss +3 -0
  191. package/src/scss/patchPrimeng/drawer/_primeng.components.drawer.scss +7 -0
  192. package/src/scss/patchPrimeng/drawer/_primeng.components.drawer.theme-contrast.scss +3 -0
  193. package/src/scss/patchPrimeng/drawer/_primeng.components.drawer.theme-dark.scss +3 -0
  194. package/src/scss/patchPrimeng/drawer/_primeng.components.drawer.theme-light.scss +3 -0
  195. package/src/scss/patchPrimeng/dropdown/_primeng.components.dropdown.scss +171 -0
  196. package/src/scss/patchPrimeng/dropdown/_primeng.components.dropdown.theme-contrast.scss +4 -0
  197. package/src/scss/patchPrimeng/dropdown/_primeng.components.dropdown.theme-dark.scss +15 -0
  198. package/src/scss/patchPrimeng/dropdown/_primeng.components.dropdown.theme-light.scss +22 -0
  199. package/src/scss/patchPrimeng/dropdown/_primeng.components.dropdown.themes.scss +20 -0
  200. package/src/scss/patchPrimeng/fieldset/_primeng.components.fieldset.scss +87 -0
  201. package/src/scss/patchPrimeng/fieldset/_primeng.components.fieldset.theme-contrast.scss +0 -0
  202. package/src/scss/patchPrimeng/fieldset/_primeng.components.fieldset.theme-dark.scss +4 -0
  203. package/src/scss/patchPrimeng/fieldset/_primeng.components.fieldset.theme-light.scss +4 -0
  204. package/src/scss/patchPrimeng/fileupload/_primeng.components.fileupload.scss +185 -0
  205. package/src/scss/patchPrimeng/fileupload/_primeng.components.fileupload.theme-contrast.scss +31 -0
  206. package/src/scss/patchPrimeng/fileupload/_primeng.components.fileupload.theme-dark.scss +31 -0
  207. package/src/scss/patchPrimeng/fileupload/_primeng.components.fileupload.theme-light.scss +31 -0
  208. package/src/scss/patchPrimeng/grid/_primeng.components.grid.scss +0 -0
  209. package/src/scss/patchPrimeng/icons/_primeng.components.icons.scss +21 -0
  210. package/src/scss/patchPrimeng/icons/_primeng.components.icons.theme-contrast.scss +0 -0
  211. package/src/scss/patchPrimeng/icons/_primeng.components.icons.theme-dark.scss +0 -0
  212. package/src/scss/patchPrimeng/icons/_primeng.components.icons.theme-light.scss +0 -0
  213. package/src/scss/patchPrimeng/inplace/_primeng.components.inplace.scss +1 -0
  214. package/src/scss/patchPrimeng/inplace/_primeng.components.inplace.theme-contrast.scss +0 -0
  215. package/src/scss/patchPrimeng/inplace/_primeng.components.inplace.theme-dark.scss +0 -0
  216. package/src/scss/patchPrimeng/inplace/_primeng.components.inplace.theme-light.scss +0 -0
  217. package/src/scss/patchPrimeng/inputmask/_primeng.components.inputmask.scss +1 -0
  218. package/src/scss/patchPrimeng/inputmask/_primeng.components.inputmask.theme-contrast.scss +0 -0
  219. package/src/scss/patchPrimeng/inputmask/_primeng.components.inputmask.theme-dark.scss +0 -0
  220. package/src/scss/patchPrimeng/inputmask/_primeng.components.inputmask.theme-light.scss +0 -0
  221. package/src/scss/patchPrimeng/inputswitch/_primeng.components.inputswitch.scss +1 -0
  222. package/src/scss/patchPrimeng/inputswitch/_primeng.components.inputswitch.theme-contrast.scss +0 -0
  223. package/src/scss/patchPrimeng/inputswitch/_primeng.components.inputswitch.theme-dark.scss +0 -0
  224. package/src/scss/patchPrimeng/inputswitch/_primeng.components.inputswitch.theme-light.scss +0 -0
  225. package/src/scss/patchPrimeng/inputtext/_primeng.components.inputtext.scss +78 -0
  226. package/src/scss/patchPrimeng/inputtext/_primeng.components.inputtext.theme-contrast.scss +85 -0
  227. package/src/scss/patchPrimeng/inputtext/_primeng.components.inputtext.theme-dark.scss +85 -0
  228. package/src/scss/patchPrimeng/inputtext/_primeng.components.inputtext.theme-light.scss +83 -0
  229. package/src/scss/patchPrimeng/lightbox/_primeng.components.lightbox.scss +96 -0
  230. package/src/scss/patchPrimeng/lightbox/_primeng.components.lightbox.theme-contrast.scss +9 -0
  231. package/src/scss/patchPrimeng/lightbox/_primeng.components.lightbox.theme-dark.scss +9 -0
  232. package/src/scss/patchPrimeng/lightbox/_primeng.components.lightbox.theme-light.scss +9 -0
  233. package/src/scss/patchPrimeng/listbox/_primeng.components.listbox.scss +27 -0
  234. package/src/scss/patchPrimeng/listbox/_primeng.components.listbox.theme-contrast.scss +4 -0
  235. package/src/scss/patchPrimeng/listbox/_primeng.components.listbox.theme-dark.scss +3 -0
  236. package/src/scss/patchPrimeng/listbox/_primeng.components.listbox.theme-light.scss +4 -0
  237. package/src/scss/patchPrimeng/menu/_primeng.components.menu.scss +62 -0
  238. package/src/scss/patchPrimeng/menu/_primeng.components.menu.theme-contrast.scss +0 -0
  239. package/src/scss/patchPrimeng/menu/_primeng.components.menu.theme-dark.scss +0 -0
  240. package/src/scss/patchPrimeng/menu/_primeng.components.menu.theme-light.scss +16 -0
  241. package/src/scss/patchPrimeng/modal/_primeng.modal.scss +5 -0
  242. package/src/scss/patchPrimeng/multiselect/_primeng.components.multiselect.scss +290 -0
  243. package/src/scss/patchPrimeng/multiselect/_primeng.components.multiselect.theme-contrast.scss +39 -0
  244. package/src/scss/patchPrimeng/multiselect/_primeng.components.multiselect.theme-dark.scss +10 -0
  245. package/src/scss/patchPrimeng/multiselect/_primeng.components.multiselect.theme-light.scss +38 -0
  246. package/src/scss/patchPrimeng/overlay/_primeng.components.overlay.scss +1 -0
  247. package/src/scss/patchPrimeng/overlaypanel/_primeng.components.overlaypanel.scss +1 -0
  248. package/src/scss/patchPrimeng/picklist/_primeng.components.picklist.scss +220 -0
  249. package/src/scss/patchPrimeng/picklist/_primeng.components.picklist.theme-dark.scss +41 -0
  250. package/src/scss/patchPrimeng/picklist/_primeng.components.picklist.theme-light.scss +42 -0
  251. package/src/scss/patchPrimeng/radiobutton/_primeng.components.radiobutton.scss +133 -0
  252. package/src/scss/patchPrimeng/radiobutton/_primeng.components.radiobutton.themes.scss +12 -0
  253. package/src/scss/patchPrimeng/scroller/_primeng.components.scroller.scss +1 -0
  254. package/src/scss/patchPrimeng/selectbutton/_primeng.components.selectbutton.scss +95 -0
  255. package/src/scss/patchPrimeng/selectbutton/_primeng.components.selectbutton.theme-contrast.scss +0 -0
  256. package/src/scss/patchPrimeng/selectbutton/_primeng.components.selectbutton.theme-dark.scss +0 -0
  257. package/src/scss/patchPrimeng/selectbutton/_primeng.components.selectbutton.theme-light.scss +0 -0
  258. package/src/scss/patchPrimeng/sidebar/_primeng.components.sidebar.scss +20 -0
  259. package/src/scss/patchPrimeng/sidebar/_primeng.components.sidebar.theme-contrast.scss +3 -0
  260. package/src/scss/patchPrimeng/sidebar/_primeng.components.sidebar.theme-dark.scss +3 -0
  261. package/src/scss/patchPrimeng/sidebar/_primeng.components.sidebar.theme-light.scss +3 -0
  262. package/src/scss/patchPrimeng/slider/_primeng.components.slider.scss +124 -0
  263. package/src/scss/patchPrimeng/slider/_primeng.components.slider.themes.scss +29 -0
  264. package/src/scss/patchPrimeng/steps/_primeng.components.steps.scss +5 -0
  265. package/src/scss/patchPrimeng/steps/_primeng.components.steps.theme-contrast.scss +4 -0
  266. package/src/scss/patchPrimeng/steps/_primeng.components.steps.theme-dark.scss +4 -0
  267. package/src/scss/patchPrimeng/steps/_primeng.components.steps.theme-light.scss +3 -0
  268. package/src/scss/patchPrimeng/table/_primeng.components.table.scss +345 -0
  269. package/src/scss/patchPrimeng/table/_primeng.components.table.theme-contrast.scss +58 -0
  270. package/src/scss/patchPrimeng/table/_primeng.components.table.theme-dark.scss +51 -0
  271. package/src/scss/patchPrimeng/table/_primeng.components.table.theme-light.scss +77 -0
  272. package/src/scss/patchPrimeng/tabview/_primeng.components.tabview.scss +82 -0
  273. package/src/scss/patchPrimeng/tabview/_primeng.components.tabview.theme-contrast.scss +11 -0
  274. package/src/scss/patchPrimeng/tabview/_primeng.components.tabview.theme-dark.scss +12 -0
  275. package/src/scss/patchPrimeng/tabview/_primeng.components.tabview.theme-light.scss +10 -0
  276. package/src/scss/patchPrimeng/toast/_primeng.components.toast.scss +98 -0
  277. package/src/scss/patchPrimeng/toast/_primeng.components.toast.theme-contrast.scss +42 -0
  278. package/src/scss/patchPrimeng/toast/_primeng.components.toast.theme-dark.scss +34 -0
  279. package/src/scss/patchPrimeng/toast/_primeng.components.toast.theme-light.scss +42 -0
  280. package/src/scss/patchPrimeng/tree/_primeng.components.tree.compat.scss +12 -0
  281. package/src/scss/patchPrimeng/tree/_primeng.components.tree.scss +235 -0
  282. package/src/scss/patchPrimeng/tree/_primeng.components.tree.theme-contrast.scss +0 -0
  283. package/src/scss/patchPrimeng/tree/_primeng.components.tree.theme-dark.scss +0 -0
  284. package/src/scss/patchPrimeng/tree/_primeng.components.tree.theme-light.scss +0 -0
  285. package/src/scss/patchPrimeng/treetable/_primeng.components.treetable.compat.scss +355 -0
  286. package/src/scss/patchPrimeng/treetable/_primeng.components.treetable.scss +343 -0
  287. package/src/scss/patchPrimeng/treetable/_primeng.components.treetable.theme-blue.scss +31 -0
  288. package/src/scss/patchPrimeng/treetable/_primeng.components.treetable.theme-contrast.scss +41 -0
  289. package/src/scss/patchPrimeng/treetable/_primeng.components.treetable.theme-dark.scss +26 -0
  290. package/src/scss/patchPrimeng/treetable/_primeng.components.treetable.theme-light.scss +31 -0
  291. package/src/scss/settings/_loader.settings.scss +15 -0
  292. package/src/scss/settings/_settings.box-shadows.scss +32 -0
  293. package/src/scss/settings/_settings.colors.scss +215 -0
  294. package/src/scss/settings/_settings.config.scss +35 -0
  295. package/src/scss/settings/_settings.core.scss +93 -0
  296. package/src/scss/settings/_settings.global.scss +220 -0
  297. package/src/scss/theme-blue.scss +622 -0
  298. package/src/scss/theme-bms-dark.scss +92 -0
  299. package/src/scss/theme-bms-light.scss +500 -0
  300. package/src/scss/theme-contrast.scss +882 -0
  301. package/src/scss/theme-dark.scss +39 -0
  302. package/src/scss/theme-green.scss +619 -0
  303. package/src/scss/theme-light.scss +500 -0
  304. package/src/services/inspark-dialog.service.ts +28 -0
  305. package/src/services/inspark-message.service.ts +76 -0
  306. package/src/test.ts +16 -0
  307. package/src/utils/gettextMarker.function.ts +5 -0
  308. package/src/utils/hybrid/prime-table/prime-table-action-buttons/prime-table-action-buttons.component.html +22 -0
  309. package/src/utils/hybrid/prime-table/prime-table-action-buttons/prime-table-action-buttons.component.scss +0 -0
  310. package/src/utils/hybrid/prime-table/prime-table-action-buttons/prime-table-action-buttons.component.ts +26 -0
  311. package/src/utils/hybrid/prime-table/prime-table-action-buttons/table-action-buttons.model.ts +6 -0
  312. package/src/utils/hybrid/prime-table/prime-table-columns-multi-select/prime-table-columns-multi-select.component.html +56 -0
  313. package/src/utils/hybrid/prime-table/prime-table-columns-multi-select/prime-table-columns-multi-select.component.scss +4 -0
  314. package/src/utils/hybrid/prime-table/prime-table-columns-multi-select/prime-table-columns-multi-select.component.ts +40 -0
  315. package/src/utils/hybrid/prime-table/prime-table-theme-light.component.scss +0 -0
  316. package/src/utils/hybrid/prime-table/prime-table.component.html +173 -0
  317. package/src/utils/hybrid/prime-table/prime-table.component.scss +59 -0
  318. package/src/utils/hybrid/prime-table/prime-table.component.ts +155 -0
  319. package/src/utils/hybrid/prime-table/row-state.enum.ts +7 -0
  320. package/src/utils/hybrid/prime-table/table-column-type.enum.ts +5 -0
  321. package/src/utils/hybrid/prime-table/table-column.model.ts +12 -0
  322. package/src/utils/hybrid/prime-table/table-filter-type.enum.ts +4 -0
  323. package/src/utils/hybrid/prime-table/table-filters.model.ts +29 -0
  324. package/src/utils/hybrid/prime-table/table-grouping.model.ts +10 -0
  325. package/src/utils/hybrid/prime-table/table-options.model.ts +16 -0
  326. package/src/utils/hybrid/prime-table/table-row-data.model.ts +7 -0
  327. package/src/utils/hybrid/prime-tree-table-hybrid/tree-table-column.model.ts +10 -0
  328. package/src/utils/hybrid/prime-tree-table-hybrid/tree-table-node-data.model.ts +9 -0
  329. package/src/utils/hybrid/prime-tree-table-hybrid/tree-table-node.model.ts +9 -0
  330. package/tsconfig.lib.json +17 -0
  331. package/tsconfig.lib.prod.json +9 -0
  332. package/tsconfig.spec.json +17 -0
  333. package/tslint.json +17 -0
  334. package/versions/full/copy.json +15 -0
  335. package/versions/full/package.json +7 -0
  336. package/versions/full/public_api.ts +83 -0
  337. package/versions/interfaces/copy.json +15 -0
  338. package/versions/interfaces/package.json +7 -0
  339. package/versions/interfaces/public_api.ts +5 -0
  340. package/webpack.config.js +68 -0
  341. package/full/bms.css +0 -3
  342. package/full/bms.js +0 -1
  343. package/full/components/autocomplete/autocomplete.component.d.ts +0 -63
  344. package/full/components/autocomplete/autocomplete.component.d.ts.map +0 -1
  345. package/full/components/autocomplete/autocomplete.module.d.ts +0 -10
  346. package/full/components/autocomplete/autocomplete.module.d.ts.map +0 -1
  347. package/full/components/breadcrumb/breadcrumb.component.d.ts +0 -11
  348. package/full/components/breadcrumb/breadcrumb.component.d.ts.map +0 -1
  349. package/full/components/breadcrumb/breadcrumb.module.d.ts +0 -9
  350. package/full/components/breadcrumb/breadcrumb.module.d.ts.map +0 -1
  351. package/full/components/button/button.component.d.ts +0 -63
  352. package/full/components/button/button.component.d.ts.map +0 -1
  353. package/full/components/button/button.module.d.ts +0 -12
  354. package/full/components/button/button.module.d.ts.map +0 -1
  355. package/full/components/checkbox/checkbox.component.d.ts +0 -40
  356. package/full/components/checkbox/checkbox.component.d.ts.map +0 -1
  357. package/full/components/checkbox/checkbox.module.d.ts +0 -10
  358. package/full/components/checkbox/checkbox.module.d.ts.map +0 -1
  359. package/full/components/communication.service.d.ts +0 -10
  360. package/full/components/communication.service.d.ts.map +0 -1
  361. package/full/components/component-container/component-container.component.d.ts +0 -9
  362. package/full/components/component-container/component-container.component.d.ts.map +0 -1
  363. package/full/components/component-container/component-container.module.d.ts +0 -9
  364. package/full/components/component-container/component-container.module.d.ts.map +0 -1
  365. package/full/components/content-toggle/content-toggle.component.d.ts +0 -18
  366. package/full/components/content-toggle/content-toggle.component.d.ts.map +0 -1
  367. package/full/components/dropdown/dropdown.component.d.ts +0 -53
  368. package/full/components/dropdown/dropdown.component.d.ts.map +0 -1
  369. package/full/components/dropdown/dropdown.module.d.ts +0 -10
  370. package/full/components/dropdown/dropdown.module.d.ts.map +0 -1
  371. package/full/components/empty/empty.component.d.ts +0 -6
  372. package/full/components/empty/empty.component.d.ts.map +0 -1
  373. package/full/components/file/file.component.d.ts +0 -18
  374. package/full/components/file/file.component.d.ts.map +0 -1
  375. package/full/components/file/file.module.d.ts +0 -9
  376. package/full/components/file/file.module.d.ts.map +0 -1
  377. package/full/components/header/header.component.d.ts +0 -13
  378. package/full/components/header/header.component.d.ts.map +0 -1
  379. package/full/components/inline-message/inline-message.component.d.ts +0 -8
  380. package/full/components/inline-message/inline-message.component.d.ts.map +0 -1
  381. package/full/components/input-group/input-group.component.d.ts +0 -59
  382. package/full/components/input-group/input-group.component.d.ts.map +0 -1
  383. package/full/components/input-text/input-text.component.d.ts +0 -56
  384. package/full/components/input-text/input-text.component.d.ts.map +0 -1
  385. package/full/components/input-text/input-text.module.d.ts +0 -10
  386. package/full/components/input-text/input-text.module.d.ts.map +0 -1
  387. package/full/components/inspark.module.d.ts +0 -48
  388. package/full/components/inspark.module.d.ts.map +0 -1
  389. package/full/components/inspark.shared.d.ts +0 -12
  390. package/full/components/inspark.shared.d.ts.map +0 -1
  391. package/full/components/legacy/legacy-components.module.d.ts +0 -12
  392. package/full/components/legacy/legacy-components.module.d.ts.map +0 -1
  393. package/full/components/legacy/legacy-ui.module.d.ts +0 -13
  394. package/full/components/legacy/legacy-ui.module.d.ts.map +0 -1
  395. package/full/components/link/link.component.d.ts +0 -48
  396. package/full/components/link/link.component.d.ts.map +0 -1
  397. package/full/components/link/link.module.d.ts +0 -11
  398. package/full/components/link/link.module.d.ts.map +0 -1
  399. package/full/components/modal-input-text/modal-input-text.component.d.ts +0 -36
  400. package/full/components/modal-input-text/modal-input-text.component.d.ts.map +0 -1
  401. package/full/components/object-tree/object-tree.component.d.ts +0 -9
  402. package/full/components/object-tree/object-tree.component.d.ts.map +0 -1
  403. package/full/components/panel/panel.component.d.ts +0 -6
  404. package/full/components/panel/panel.component.d.ts.map +0 -1
  405. package/full/components/pie/pie.component.d.ts +0 -20
  406. package/full/components/pie/pie.component.d.ts.map +0 -1
  407. package/full/components/pie/pie.service.d.ts +0 -20
  408. package/full/components/pie/pie.service.d.ts.map +0 -1
  409. package/full/components/preloader/preloader.component.d.ts +0 -14
  410. package/full/components/preloader/preloader.component.d.ts.map +0 -1
  411. package/full/components/preloader/preloader.module.d.ts +0 -9
  412. package/full/components/preloader/preloader.module.d.ts.map +0 -1
  413. package/full/components/radiobutton/radiobutton.component.d.ts +0 -24
  414. package/full/components/radiobutton/radiobutton.component.d.ts.map +0 -1
  415. package/full/components/select-button/select-button.component.d.ts +0 -50
  416. package/full/components/select-button/select-button.component.d.ts.map +0 -1
  417. package/full/components/select-button/select-button.module.d.ts +0 -9
  418. package/full/components/select-button/select-button.module.d.ts.map +0 -1
  419. package/full/components/select-list/select-list.component.d.ts +0 -29
  420. package/full/components/select-list/select-list.component.d.ts.map +0 -1
  421. package/full/components/shared/shared-components.module.d.ts +0 -11
  422. package/full/components/shared/shared-components.module.d.ts.map +0 -1
  423. package/full/components/shared/shared-ui.module.d.ts +0 -12
  424. package/full/components/shared/shared-ui.module.d.ts.map +0 -1
  425. package/full/components/status-circle/status-circle.component.d.ts +0 -15
  426. package/full/components/status-circle/status-circle.component.d.ts.map +0 -1
  427. package/full/components/sticky/sticky.component.d.ts +0 -24
  428. package/full/components/sticky/sticky.component.d.ts.map +0 -1
  429. package/full/components/sticky/sticky.module.d.ts +0 -9
  430. package/full/components/sticky/sticky.module.d.ts.map +0 -1
  431. package/full/components/svg/svg.component.d.ts +0 -12
  432. package/full/components/svg/svg.component.d.ts.map +0 -1
  433. package/full/components/svg/svg.module.d.ts +0 -10
  434. package/full/components/svg/svg.module.d.ts.map +0 -1
  435. package/full/components/switcher/switcher.component.d.ts +0 -49
  436. package/full/components/switcher/switcher.component.d.ts.map +0 -1
  437. package/full/components/table/table-click-outside.directive.d.ts +0 -11
  438. package/full/components/table/table-click-outside.directive.d.ts.map +0 -1
  439. package/full/components/table/table-columns-multiselect/table-columns-multiselect.component.d.ts +0 -21
  440. package/full/components/table/table-columns-multiselect/table-columns-multiselect.component.d.ts.map +0 -1
  441. package/full/components/table/table-menu-overlay/table-menu-overlay.component.d.ts +0 -12
  442. package/full/components/table/table-menu-overlay/table-menu-overlay.component.d.ts.map +0 -1
  443. package/full/components/table/table.component.d.ts +0 -151
  444. package/full/components/table/table.component.d.ts.map +0 -1
  445. package/full/components/textarea/textarea.component.d.ts +0 -36
  446. package/full/components/textarea/textarea.component.d.ts.map +0 -1
  447. package/full/components/textarea/textarea.module.d.ts +0 -10
  448. package/full/components/textarea/textarea.module.d.ts.map +0 -1
  449. package/full/components/toolbar/toolbar.component.d.ts +0 -18
  450. package/full/components/toolbar/toolbar.component.d.ts.map +0 -1
  451. package/full/components/toolbar/toolbar.module.d.ts +0 -9
  452. package/full/components/toolbar/toolbar.module.d.ts.map +0 -1
  453. package/full/components/tooltip/tooltip.component.d.ts +0 -9
  454. package/full/components/tooltip/tooltip.component.d.ts.map +0 -1
  455. package/full/components/tree-table/tree-table.component.d.ts +0 -99
  456. package/full/components/tree-table/tree-table.component.d.ts.map +0 -1
  457. package/full/fesm2022/inspark-inspark-components.mjs +0 -6705
  458. package/full/fesm2022/inspark-inspark-components.mjs.map +0 -1
  459. package/full/index.css +0 -6
  460. package/full/index.d.ts +0 -6
  461. package/full/index.js +0 -1
  462. package/full/inspark-inspark-components.d.ts.map +0 -1
  463. package/full/interface.d.ts +0 -68
  464. package/full/interface.d.ts.map +0 -1
  465. package/full/pipes/pipes.module.d.ts +0 -11
  466. package/full/pipes/pipes.module.d.ts.map +0 -1
  467. package/full/pipes/propertyValue.pipe.d.ts +0 -8
  468. package/full/pipes/propertyValue.pipe.d.ts.map +0 -1
  469. package/full/pipes/safeUrl.pipe.d.ts +0 -24
  470. package/full/pipes/safeUrl.pipe.d.ts.map +0 -1
  471. package/full/pipes/sort-by.pipe.d.ts +0 -8
  472. package/full/pipes/sort-by.pipe.d.ts.map +0 -1
  473. package/full/pipes/time.pipe.d.ts +0 -35
  474. package/full/pipes/time.pipe.d.ts.map +0 -1
  475. package/full/public_api.d.ts +0 -74
  476. package/full/public_api.d.ts.map +0 -1
  477. package/full/services/inspark-dialog.service.d.ts +0 -12
  478. package/full/services/inspark-dialog.service.d.ts.map +0 -1
  479. package/full/services/inspark-message.service.d.ts +0 -22
  480. package/full/services/inspark-message.service.d.ts.map +0 -1
  481. package/full/utils/gettextMarker.function.d.ts +0 -2
  482. package/full/utils/gettextMarker.function.d.ts.map +0 -1
  483. package/full/utils/hybrid/prime-table/row-state.enum.d.ts +0 -8
  484. package/full/utils/hybrid/prime-table/row-state.enum.d.ts.map +0 -1
  485. package/full/utils/hybrid/prime-table/table-row-data.model.d.ts +0 -7
  486. package/full/utils/hybrid/prime-table/table-row-data.model.d.ts.map +0 -1
  487. package/interface/fesm2022/inspark-inspark-components.mjs +0 -8
  488. package/interface/fesm2022/inspark-inspark-components.mjs.map +0 -1
  489. package/interface/index.d.ts +0 -6
  490. package/interface/inspark-inspark-components.d.ts.map +0 -1
  491. package/interface/interface.d.ts +0 -68
  492. package/interface/interface.d.ts.map +0 -1
  493. package/interface/public_api.d.ts +0 -2
  494. package/interface/public_api.d.ts.map +0 -1
  495. /package/{full → src}/assets/error.svg +0 -0
  496. /package/{full → src}/assets/falsevalue.svg +0 -0
  497. /package/{full → src}/assets/icon.svg +0 -0
  498. /package/{full → src}/assets/none.svg +0 -0
  499. /package/{full → src}/assets/success.svg +0 -0
  500. /package/{full → src}/assets/warning.svg +0 -0
@@ -0,0 +1,366 @@
1
+ import {
2
+ AfterContentInit,
3
+ Component,
4
+ ContentChildren,
5
+ EventEmitter,
6
+ Input,
7
+ NgModule,
8
+ Output,
9
+ QueryList,
10
+ TemplateRef,
11
+ ViewChild
12
+ } from '@angular/core';
13
+ import {TreeTable} from 'primeng/treetable';
14
+ import {CommonModule} from '@angular/common';
15
+ import {InsparkTemplate} from '../inspark.shared';
16
+ import {TranslateModule} from '@ngx-translate/core';
17
+ import {FormsModule} from '@angular/forms';
18
+ import {TableComponentModule} from '../table/table.component';
19
+ import {PipesModule} from '../../pipes/pipes.module';
20
+ import {TableRowData} from '../../utils/hybrid/prime-table/table-row-data.model';
21
+ import {TableColumns} from '../../interface';
22
+ import {TreeTableModule} from 'primeng/treetable';
23
+
24
+
25
+
26
+ @Component({
27
+ standalone: false,
28
+ selector: 'in-tree-table',
29
+ templateUrl: './tree-table.component.html',
30
+ styleUrls: ['./tree-table.component.scss'],
31
+ })
32
+ export class TreeTableComponent implements AfterContentInit {
33
+
34
+ @ViewChild('dt') dt: TreeTable;
35
+
36
+ @Input() columns: TableColumns[] = [];
37
+ // values is defined below as @Input() getter/setter to rebuild _nodeMap on change
38
+ @Input() scrollHeight: string;
39
+ @Input() scrollable: boolean;
40
+ @Input() selectionMode: 'single' | 'multiple' | null = null;
41
+ @Input() label: string;
42
+ @Input() error: string;
43
+ @Input() class: string;
44
+ @Input() required: boolean;
45
+ @Input() style: any;
46
+ @Input() toolbar: any;
47
+ @Input() checkboxSelection = true;
48
+ @Input() active;
49
+ @Input() sortField;
50
+ @Input() isAscending;
51
+ @Input() dataKey;
52
+
53
+ @Output() activeChange = new EventEmitter<any>();
54
+ @ContentChildren(InsparkTemplate) templates: QueryList<InsparkTemplate>;
55
+ @Output() selectionChange: EventEmitter<any> = new EventEmitter();
56
+ @Output() addAction: EventEmitter<any> = new EventEmitter<any>();
57
+ @Output() csvAction: EventEmitter<any> = new EventEmitter<any>();
58
+ @Output() saveAction: EventEmitter<any> = new EventEmitter<any>();
59
+ @Output() collapseAction: EventEmitter<any> = new EventEmitter<any>();
60
+ @Output() removeAction: EventEmitter<any> = new EventEmitter<any>();
61
+ @Output() unlinkAction: EventEmitter<any> = new EventEmitter<any>();
62
+ @Output() groupEditAction: EventEmitter<any> = new EventEmitter<any>();
63
+ @Output() groupAddAction: EventEmitter<any> = new EventEmitter<any>();
64
+
65
+ headerTemplate: TemplateRef<any>;
66
+ bodyTemplate: TemplateRef<any>;
67
+ loadingBodyTemplate: TemplateRef<any>;
68
+ captionTemplate: TemplateRef<any>;
69
+ frozenRowsTemplate: TemplateRef<any>;
70
+ footerTemplate: TemplateRef<any>;
71
+ summaryTemplate: TemplateRef<any>;
72
+ colGroupTemplate: TemplateRef<any>;
73
+ expandedRowTemplate: TemplateRef<any>;
74
+ frozenHeaderTemplate: TemplateRef<any>;
75
+ frozenBodyTemplate: TemplateRef<any>;
76
+ frozenFooterTemplate: TemplateRef<any>;
77
+ frozenColGroupTemplate: TemplateRef<any>;
78
+ emptyMessageTemplate: TemplateRef<any>;
79
+ paginatorLeftTemplate: TemplateRef<any>;
80
+ paginatorRightTemplate: TemplateRef<any>;
81
+ valueTemplate: TemplateRef<any>;
82
+ searchText: string;
83
+ rowIndex = 0;
84
+ isCollapse = true;
85
+ _selection = null;
86
+
87
+ private _selectionSet = new Set<any>();
88
+ /** Map: dataKey → TreeNode (built from values for O(1) lookups) */
89
+ private _nodeMap = new Map<any, any>();
90
+
91
+ private _buildNodeMap(): void {
92
+ this._nodeMap = new Map<any, any>();
93
+ const key = this.dataKey || 'id';
94
+ const visit = (node: any) => {
95
+ const k = node?.data?.[key];
96
+ if (k !== undefined) { this._nodeMap.set(k, node); }
97
+ (node?.children || []).forEach(visit);
98
+ };
99
+ (this.values || []).forEach(visit);
100
+ }
101
+
102
+ /** All descendant data-keys of a node */
103
+ private _descendantKeys(node: any): any[] {
104
+ const key = this.dataKey || 'id';
105
+ const result: any[] = [];
106
+ const collect = (n: any) => {
107
+ (n?.children || []).forEach((c: any) => {
108
+ const k = c?.data?.[key];
109
+ if (k !== undefined) { result.push(k); }
110
+ collect(c);
111
+ });
112
+ };
113
+ collect(node);
114
+ return result;
115
+ }
116
+
117
+ private _rebuildSelectionSet(val: any[]): void {
118
+ this._selectionSet = new Set<any>();
119
+ if (Array.isArray(val)) {
120
+ const key = this.dataKey || 'id';
121
+ for (const item of val) {
122
+ const data = item?.data ?? item;
123
+ if (data != null) { this._selectionSet.add(data[key] ?? data); }
124
+ }
125
+ }
126
+ }
127
+
128
+ /** True if some (not all) descendants are selected → show indeterminate (-) */
129
+ public _isIndeterminate(rowData: any): boolean {
130
+ const key = this.dataKey || 'id';
131
+ const node = this._nodeMap.get(rowData?.[key]);
132
+ if (!node?.children?.length) { return false; }
133
+ const descKeys = this._descendantKeys(node);
134
+ if (!descKeys.length) { return false; }
135
+ const selectedCount = descKeys.filter(k => this._selectionSet.has(k)).length;
136
+ return selectedCount > 0 && selectedCount < descKeys.length;
137
+ }
138
+
139
+ public _isAllSelected(): boolean {
140
+ const data = this.dt?.filteredNodes ?? this.values;
141
+ if (!data || data.length === 0) { return false; }
142
+ const allKeys = data.flatMap(node => this._flattenTree(node)).map(row => {
143
+ const key = this.dataKey || 'id';
144
+ return row?.[key] ?? row;
145
+ });
146
+ return allKeys.length > 0 && allKeys.every(k => this._selectionSet.has(k));
147
+ }
148
+
149
+ public _onHeaderCheckboxChange(event: Event): void {
150
+ const checked = (event.target as HTMLInputElement).checked;
151
+ const key = this.dataKey || 'id';
152
+ const data = this.dt?.filteredNodes ?? this.values;
153
+ if (checked) {
154
+ const newKeys = (data || []).flatMap(node => this._flattenTree(node)).map(row => row?.[key] ?? row);
155
+ newKeys.forEach(k => this._selectionSet.add(k));
156
+ const existing = new Set((this._selection || []).map((i: any) => (i?.data ?? i)?.[key]));
157
+ const toAdd = (data || []).flatMap(node => this._flattenTreeNodes(node))
158
+ .filter((n: any) => !existing.has((n?.data ?? n)?.[key]));
159
+ this._selection = [...(this._selection || []), ...toAdd];
160
+ } else {
161
+ const keysToRemove = new Set(
162
+ (data || []).flatMap(node => this._flattenTree(node)).map(row => row?.[key] ?? row)
163
+ );
164
+ keysToRemove.forEach(k => this._selectionSet.delete(k));
165
+ this._selection = (this._selection || []).filter((item: any) => {
166
+ const d = item?.data ?? item;
167
+ return !keysToRemove.has(d?.[key] ?? d);
168
+ });
169
+ }
170
+ this.selectionValue = this._selection;
171
+ }
172
+
173
+ private _flattenTree(node: any): any[] {
174
+ const key = this.dataKey || 'id';
175
+ const data = node?.data ?? node;
176
+ const result = [data];
177
+ if (node?.children?.length) {
178
+ for (const child of node.children) { result.push(...this._flattenTree(child)); }
179
+ }
180
+ return result;
181
+ }
182
+
183
+ private _flattenTreeNodes(node: any): any[] {
184
+ const result = [node];
185
+ if (node?.children?.length) {
186
+ for (const child of node.children) { result.push(...this._flattenTreeNodes(child)); }
187
+ }
188
+ return result;
189
+ }
190
+
191
+ /** rowData = plain data object from template let-rowData="rowData" */
192
+ public _isRowSelected(rowData: any): boolean {
193
+ const key = this.dataKey || 'id';
194
+ return this._selectionSet.has(rowData?.[key] ?? rowData);
195
+ }
196
+
197
+ /** rowNode = PrimeNG TreeNode (for selection state), rowData = plain data (for key lookup) */
198
+ public _onCheckboxChange(event: Event, rowNode: any, rowData: any): void {
199
+ const checked = (event.target as HTMLInputElement).checked;
200
+ const key = this.dataKey || 'id';
201
+ const rowKey = rowData?.[key] ?? rowData;
202
+ const node = this._nodeMap.get(rowKey);
203
+ const descKeys = node ? this._descendantKeys(node) : [];
204
+
205
+ if (checked) {
206
+ // Select this node + all descendants
207
+ this._selectionSet.add(rowKey);
208
+ descKeys.forEach(k => this._selectionSet.add(k));
209
+ const keysToAdd = new Set([rowKey, ...descKeys]);
210
+ const existing = new Set((this._selection || []).map((i: any) => (i?.data ?? i)?.[key]));
211
+ const toAdd: any[] = [];
212
+ keysToAdd.forEach(k => {
213
+ if (!existing.has(k)) {
214
+ const n = this._nodeMap.get(k);
215
+ if (n) { toAdd.push(n); }
216
+ }
217
+ });
218
+ this._selection = [...(this._selection || []), ...toAdd];
219
+ } else {
220
+ // Deselect this node + all descendants
221
+ const keysToRemove = new Set([rowKey, ...descKeys]);
222
+ keysToRemove.forEach(k => this._selectionSet.delete(k));
223
+ this._selection = (this._selection || []).filter((item: any) => {
224
+ const d = item?.data ?? item;
225
+ return !keysToRemove.has(d?.[key] ?? d);
226
+ });
227
+ }
228
+ this.selectionValue = this._selection;
229
+ }
230
+
231
+ @Input() set values(val: any[]) {
232
+ this._values = val;
233
+ this._buildNodeMap();
234
+ }
235
+ get values(): any[] { return this._values; }
236
+ private _values: any[] = [];
237
+
238
+ @Input() set selection(val) {
239
+ this._selection = val;
240
+ this._rebuildSelectionSet(val);
241
+ }
242
+
243
+ get selectionValue() {
244
+ return this._selection;
245
+ }
246
+
247
+ set selectionValue(val) {
248
+ this._selection = val;
249
+ this._rebuildSelectionSet(val);
250
+ this.selectionChange.emit(val);
251
+ }
252
+
253
+ public isRowActive(row: TableRowData) {
254
+ return this.active && this.active.id === row.id;
255
+ }
256
+
257
+ public visibleColumns(): TableColumns[] {
258
+ return this.columns.filter(column => !column.isHidden);
259
+ }
260
+
261
+ public columnsChange(data) {
262
+ data.column.isHidden = !data.event;
263
+ }
264
+ ngAfterContentInit() {
265
+ this.templates.forEach((item) => {
266
+ switch (item.getType()) {
267
+ case 'caption':
268
+ this.captionTemplate = item.template;
269
+ break;
270
+
271
+ case 'header':
272
+ this.headerTemplate = item.template;
273
+ break;
274
+
275
+ case 'body':
276
+ this.bodyTemplate = item.template;
277
+ break;
278
+ case 'value':
279
+ this.valueTemplate = item.template;
280
+ break;
281
+
282
+ case 'loadingbody':
283
+ this.loadingBodyTemplate = item.template;
284
+ break;
285
+
286
+ case 'footer':
287
+ this.footerTemplate = item.template;
288
+ break;
289
+
290
+ case 'summary':
291
+ this.summaryTemplate = item.template;
292
+ break;
293
+
294
+ case 'colgroup':
295
+ this.colGroupTemplate = item.template;
296
+ break;
297
+
298
+ case 'rowexpansion':
299
+ this.expandedRowTemplate = item.template;
300
+ break;
301
+
302
+ case 'frozenrows':
303
+ this.frozenRowsTemplate = item.template;
304
+ break;
305
+
306
+ case 'frozenheader':
307
+ this.frozenHeaderTemplate = item.template;
308
+ break;
309
+
310
+ case 'frozenbody':
311
+ this.frozenBodyTemplate = item.template;
312
+ break;
313
+
314
+ case 'frozenfooter':
315
+ this.frozenFooterTemplate = item.template;
316
+ break;
317
+
318
+ case 'frozencolgroup':
319
+ this.frozenColGroupTemplate = item.template;
320
+ break;
321
+
322
+ case 'emptymessage':
323
+ this.emptyMessageTemplate = item.template;
324
+ break;
325
+
326
+ case 'paginatorleft':
327
+ this.paginatorLeftTemplate = item.template;
328
+ break;
329
+
330
+ case 'paginatorright':
331
+ this.paginatorRightTemplate = item.template;
332
+ break;
333
+ }
334
+ });
335
+ }
336
+
337
+ collapse(event, dt) {
338
+ this.values.forEach((node) => {
339
+ this.toggleCollapse(node, this.isCollapse);
340
+ });
341
+ this.isCollapse = !this.isCollapse;
342
+ dt.filterGlobal(this.searchText, 'contains');
343
+ }
344
+
345
+ toggleCollapse(node: any, isCollapsed: boolean) {
346
+
347
+ if (node.children) {
348
+ node.expanded = isCollapsed;
349
+ for (const cn of node.children) {
350
+ if (cn) {
351
+ this.toggleCollapse(cn, isCollapsed);
352
+ }
353
+ }
354
+ }
355
+ }
356
+
357
+ }
358
+
359
+
360
+ @NgModule({
361
+ imports: [CommonModule, TreeTableModule, PipesModule, TranslateModule.forChild(), FormsModule, TableComponentModule],
362
+ exports: [TreeTableComponent],
363
+ declarations: [TreeTableComponent]
364
+ })
365
+ export class TreeTableComponentModule {
366
+ }
@@ -0,0 +1,7 @@
1
+ export enum VIEW_SIZE {
2
+ 'mobile',
3
+ 'tablet',
4
+ 'desktop',
5
+ 'free',
6
+ 'wide' = 4,
7
+ }
package/src/css.js ADDED
@@ -0,0 +1,6 @@
1
+ import './scss/main.scss';
2
+ import './scss/theme-dark.scss';
3
+ import './scss/theme-light.scss';
4
+ import './scss/theme-contrast.scss';
5
+ import './scss/theme-green.scss';
6
+ import './scss/theme-blue.scss';
@@ -0,0 +1,80 @@
1
+ import {MenuItem} from 'primeng/api';
2
+
3
+
4
+ export interface TableCellData {
5
+ label: string;
6
+ status: 'success' | 'error' | 'warning' | 'critical' | 'falsevalue';
7
+ isEdit: boolean;
8
+ }
9
+
10
+ export interface TableColumns {
11
+
12
+ label: string;
13
+ field: string;
14
+ size: string;
15
+ width?: string;
16
+ isHidden?: boolean;
17
+ isSecondary?: boolean;
18
+ isRequired?: boolean;
19
+ groupKey?: string[];
20
+ groupOrder?: (number | string)[];
21
+ translatable?: boolean;
22
+ isFiltering?: boolean;
23
+ col_invisible?: boolean;
24
+ }
25
+
26
+ export interface InsparkMenuItem extends MenuItem {
27
+ svg?: string;
28
+ }
29
+
30
+
31
+ export type CircleMode = 'success' | 'warning' | 'error' | 'falsevalue' | 'maintenance' | 'primary' | 'none' | 'critical' | 'inverse' | 'black';
32
+ export type CircleSize = 'mini' | 'small' | 'normal' | 'big';
33
+
34
+ export interface ToolBar {
35
+ add?: ToolBarItem;
36
+ collapse?: ToolBarItem;
37
+ csv?: ToolBarItem;
38
+ expandAll?: ToolBarItem;
39
+ filter?: ToolBarFilterItem;
40
+ groupAdd?: ToolBarItem;
41
+ groupEdit?: ToolBarItem;
42
+ groupSort?: ToolBarItem;
43
+ link?: ToolBarItem;
44
+ paramsEdit?: ToolBarItem;
45
+ remove?: ToolBarItem;
46
+ search?: ToolBarFilterItem;
47
+ save?: ToolBarItem;
48
+ tree?: ToolBarItem;
49
+ unlink?: ToolBarItem;
50
+
51
+ }
52
+
53
+ export interface ToolBarItem {
54
+ active?: boolean;
55
+ disabled?: boolean;
56
+ title?: string;
57
+ label?: ToolBarGroupSortOption[];
58
+ }
59
+
60
+ export interface ToolBarFilterItem {
61
+ active?: boolean;
62
+ disabled?: boolean;
63
+ title?: string;
64
+ cols?: ToolBarFilterColumn[];
65
+ }
66
+
67
+ export interface ToolBarFilterColumn {
68
+ field?: string,
69
+ type?: string;
70
+ options?: ToolBarFilterColumnOption[]
71
+ }
72
+ export interface ToolBarFilterColumnOption {
73
+ label?: string;
74
+ value?: string;
75
+ }
76
+
77
+ export interface ToolBarGroupSortOption {
78
+ label?: string;
79
+ value?: any;
80
+ }
@@ -0,0 +1,12 @@
1
+ import {NgModule} from '@angular/core';
2
+ import {PropertyValuePipe} from './propertyValue.pipe';
3
+ import {FormatNumToTime, InDate, NumToShortWeekdayPipe, ShortToFullWeekdayPipe} from './time.pipe';
4
+ import {SafeUrlPipe} from './safeUrl.pipe';
5
+ import {SortByPipe} from "./sort-by.pipe";
6
+
7
+ @NgModule({
8
+ exports: [PropertyValuePipe, NumToShortWeekdayPipe, FormatNumToTime, InDate, ShortToFullWeekdayPipe, SafeUrlPipe, SortByPipe],
9
+ declarations: [PropertyValuePipe, NumToShortWeekdayPipe, FormatNumToTime, InDate, ShortToFullWeekdayPipe, SafeUrlPipe, SortByPipe]
10
+ })
11
+ export class PipesModule {
12
+ }
@@ -0,0 +1,18 @@
1
+ import {Pipe, PipeTransform} from '@angular/core';
2
+
3
+ @Pipe({
4
+ standalone: false,
5
+ name: 'propertyValue'
6
+ })
7
+ export class PropertyValuePipe implements PipeTransform {
8
+ transform(value: any, name: string): any {
9
+ if (Array.isArray(value) || !(value instanceof Object) || !name) {
10
+ return value;
11
+ } else if (name.indexOf('.') > -1) {
12
+ const splitName: string[] = name.split(/\.(.+)/, 2);
13
+ return this.transform(value[splitName[0]], splitName[1]);
14
+ } else {
15
+ return value[name];
16
+ }
17
+ }
18
+ }
@@ -0,0 +1,30 @@
1
+ // Angular
2
+ import {Pipe, PipeTransform} from '@angular/core';
3
+ import {DomSanitizer, SafeResourceUrl} from '@angular/platform-browser';
4
+
5
+ /**
6
+ * Sanitize HTML
7
+ */
8
+ @Pipe({
9
+ standalone: false,
10
+ name: 'safeUrl'
11
+ })
12
+ export class SafeUrlPipe implements PipeTransform {
13
+ /**
14
+ * Pipe Constructor
15
+ *
16
+ * @param _sanitizer: DomSanitezer
17
+ */
18
+ // tslint:disable-next-line
19
+ constructor(protected _sanitizer: DomSanitizer) {
20
+ }
21
+
22
+ /**
23
+ * Transform
24
+ *
25
+ * @param value: string
26
+ */
27
+ transform(value: string): SafeResourceUrl {
28
+ return this._sanitizer.bypassSecurityTrustResourceUrl(value);
29
+ }
30
+ }
@@ -0,0 +1,23 @@
1
+ import { Pipe, PipeTransform } from '@angular/core';
2
+
3
+ @Pipe({
4
+ standalone: false,
5
+ name: 'SortByPipe'
6
+ })
7
+ export class SortByPipe implements PipeTransform {
8
+ transform(arr: Array<any>, options: Array<any>): any {
9
+ if (arr === undefined) {
10
+ return;
11
+ }
12
+ return arr.sort((a: any, b: any): number => {
13
+ let cmp = 0;
14
+ for (let i = 0; i < options.length; i++) {
15
+ const x = a[options[i].sortField];
16
+ const y = b[options[i].sortField];
17
+ const asc = options[i].isAscending ? -1 : 1;
18
+ cmp = (((x === y) ? 0 : (x < y) ? -1 * asc : 1 * asc) + cmp) * 10;
19
+ }
20
+ return cmp;
21
+ });
22
+ }
23
+ }