@deviceinsight/ng-ui-components 6.18.0-SNAPSHOT

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 (527) hide show
  1. package/LICENSE +1 -0
  2. package/README.md +99 -0
  3. package/lib/cjs/__mocks__/i18n.d.ts +5 -0
  4. package/lib/cjs/__mocks__/i18n.d.ts.map +1 -0
  5. package/lib/cjs/__mocks__/i18n.js +9 -0
  6. package/lib/cjs/assets/img/icon-arrow-back.png +0 -0
  7. package/lib/cjs/assets/img/icon_folder_closed.png +0 -0
  8. package/lib/cjs/assets/img/icon_folder_closed_light.png +0 -0
  9. package/lib/cjs/assets/img/icon_folder_open.png +0 -0
  10. package/lib/cjs/assets/img/icon_folder_open_light.png +0 -0
  11. package/lib/cjs/assets/img/icon_help_light_24.png +0 -0
  12. package/lib/cjs/assets/img/icon_variablenode.png +0 -0
  13. package/lib/cjs/assets/img/icon_variablenode_light.png +0 -0
  14. package/lib/cjs/assets/img/toastify_msg_error_24.png +0 -0
  15. package/lib/cjs/assets/img/toastify_msg_success_24.png +0 -0
  16. package/lib/cjs/assets/react-datepicker-custom.css +43 -0
  17. package/lib/cjs/assets/react-select-custom.css +13 -0
  18. package/lib/cjs/assets/react-select.css +428 -0
  19. package/lib/cjs/assets/react-toastify-custom.css +16 -0
  20. package/lib/cjs/assets/search-box.css +29 -0
  21. package/lib/cjs/assets/style.css +255 -0
  22. package/lib/cjs/assets/svg/icon_add.svg +3 -0
  23. package/lib/cjs/assets/svg/icon_calendar.svg +50 -0
  24. package/lib/cjs/assets/svg/icon_chevron_left.svg +6 -0
  25. package/lib/cjs/assets/svg/icon_chevron_right.svg +6 -0
  26. package/lib/cjs/assets/svg/icon_cross.svg +3 -0
  27. package/lib/cjs/assets/svg/icon_download.svg +5 -0
  28. package/lib/cjs/assets/svg/icon_duplicate.svg +10 -0
  29. package/lib/cjs/assets/svg/icon_edit.svg +6 -0
  30. package/lib/cjs/assets/svg/icon_folder_loading.svg +21 -0
  31. package/lib/cjs/assets/svg/icon_fullscreen.svg +6 -0
  32. package/lib/cjs/assets/svg/icon_gear.svg +5 -0
  33. package/lib/cjs/assets/svg/icon_help_light.svg +3 -0
  34. package/lib/cjs/assets/svg/icon_key.svg +3 -0
  35. package/lib/cjs/assets/svg/icon_lupe.svg +14 -0
  36. package/lib/cjs/assets/svg/icon_menu_horizontal.svg +5 -0
  37. package/lib/cjs/assets/svg/icon_menu_vertical.svg +5 -0
  38. package/lib/cjs/assets/svg/icon_reload.svg +6 -0
  39. package/lib/cjs/assets/svg/icon_upload.svg +7 -0
  40. package/lib/cjs/assets/svg/icon_warning_triangle.svg +12 -0
  41. package/lib/cjs/assets/svg/triangle_down.svg +3 -0
  42. package/lib/cjs/assets/svg/triangle_left.svg +3 -0
  43. package/lib/cjs/assets/svg/triangle_right.svg +3 -0
  44. package/lib/cjs/assets/svg/triangle_up.svg +3 -0
  45. package/lib/cjs/assets/svg/triangle_up_and_down.svg +4 -0
  46. package/lib/cjs/components/chart/Chart.d.ts +38 -0
  47. package/lib/cjs/components/chart/Chart.d.ts.map +1 -0
  48. package/lib/cjs/components/chart/Chart.js +231 -0
  49. package/lib/cjs/components/colorpicker/ColorPickerPopper.d.ts +24 -0
  50. package/lib/cjs/components/colorpicker/ColorPickerPopper.d.ts.map +1 -0
  51. package/lib/cjs/components/colorpicker/ColorPickerPopper.js +72 -0
  52. package/lib/cjs/components/colorpicker/GradientColorPicker.d.ts +63 -0
  53. package/lib/cjs/components/colorpicker/GradientColorPicker.d.ts.map +1 -0
  54. package/lib/cjs/components/colorpicker/GradientColorPicker.js +154 -0
  55. package/lib/cjs/components/colorpicker/GridColorPicker.d.ts +41 -0
  56. package/lib/cjs/components/colorpicker/GridColorPicker.d.ts.map +1 -0
  57. package/lib/cjs/components/colorpicker/GridColorPicker.js +36 -0
  58. package/lib/cjs/components/contentHeader/ContentHeader.d.ts +25 -0
  59. package/lib/cjs/components/contentHeader/ContentHeader.d.ts.map +1 -0
  60. package/lib/cjs/components/contentHeader/ContentHeader.js +58 -0
  61. package/lib/cjs/components/infobox/InfoBox.d.ts +22 -0
  62. package/lib/cjs/components/infobox/InfoBox.d.ts.map +1 -0
  63. package/lib/cjs/components/infobox/InfoBox.js +61 -0
  64. package/lib/cjs/components/input/DateInput.d.ts +28 -0
  65. package/lib/cjs/components/input/DateInput.d.ts.map +1 -0
  66. package/lib/cjs/components/input/DateInput.js +186 -0
  67. package/lib/cjs/components/input/DateTimeInput.d.ts +27 -0
  68. package/lib/cjs/components/input/DateTimeInput.d.ts.map +1 -0
  69. package/lib/cjs/components/input/DateTimeInput.js +79 -0
  70. package/lib/cjs/components/input/SelectWithSearch.d.ts +62 -0
  71. package/lib/cjs/components/input/SelectWithSearch.d.ts.map +1 -0
  72. package/lib/cjs/components/input/SelectWithSearch.js +119 -0
  73. package/lib/cjs/components/input/SelectWithSearchAsync.d.ts +58 -0
  74. package/lib/cjs/components/input/SelectWithSearchAsync.d.ts.map +1 -0
  75. package/lib/cjs/components/input/SelectWithSearchAsync.js +126 -0
  76. package/lib/cjs/components/input/UrnInput.d.ts +22 -0
  77. package/lib/cjs/components/input/UrnInput.d.ts.map +1 -0
  78. package/lib/cjs/components/input/UrnInput.js +59 -0
  79. package/lib/cjs/components/input/ValidatedTextInput.d.ts +35 -0
  80. package/lib/cjs/components/input/ValidatedTextInput.d.ts.map +1 -0
  81. package/lib/cjs/components/input/ValidatedTextInput.js +36 -0
  82. package/lib/cjs/components/input/__tests__/DateInput.spec.d.ts +2 -0
  83. package/lib/cjs/components/input/__tests__/DateInput.spec.d.ts.map +1 -0
  84. package/lib/cjs/components/input/__tests__/DateInput.spec.js +113 -0
  85. package/lib/cjs/components/input/__tests__/DateTimeInput.spec.d.ts +2 -0
  86. package/lib/cjs/components/input/__tests__/DateTimeInput.spec.d.ts.map +1 -0
  87. package/lib/cjs/components/input/__tests__/DateTimeInput.spec.js +17 -0
  88. package/lib/cjs/components/input/__tests__/SelectWithSearchAsync.spec.d.ts +2 -0
  89. package/lib/cjs/components/input/__tests__/SelectWithSearchAsync.spec.d.ts.map +1 -0
  90. package/lib/cjs/components/input/__tests__/SelectWithSearchAsync.spec.js +48 -0
  91. package/lib/cjs/components/link/RouteLink.d.ts +31 -0
  92. package/lib/cjs/components/link/RouteLink.d.ts.map +1 -0
  93. package/lib/cjs/components/link/RouteLink.js +81 -0
  94. package/lib/cjs/components/multiMenu/MultiMenu.d.ts +27 -0
  95. package/lib/cjs/components/multiMenu/MultiMenu.d.ts.map +1 -0
  96. package/lib/cjs/components/multiMenu/MultiMenu.js +59 -0
  97. package/lib/cjs/components/multiMenu/components/MultiMenuContext.d.ts +7 -0
  98. package/lib/cjs/components/multiMenu/components/MultiMenuContext.d.ts.map +1 -0
  99. package/lib/cjs/components/multiMenu/components/MultiMenuContext.js +10 -0
  100. package/lib/cjs/components/multiMenu/components/MultiMenuItem.d.ts +14 -0
  101. package/lib/cjs/components/multiMenu/components/MultiMenuItem.d.ts.map +1 -0
  102. package/lib/cjs/components/multiMenu/components/MultiMenuItem.js +53 -0
  103. package/lib/cjs/components/pagination/Pagination.d.ts +37 -0
  104. package/lib/cjs/components/pagination/Pagination.d.ts.map +1 -0
  105. package/lib/cjs/components/pagination/Pagination.js +143 -0
  106. package/lib/cjs/components/pagination/__tests__/Pagination.spec.d.ts +2 -0
  107. package/lib/cjs/components/pagination/__tests__/Pagination.spec.d.ts.map +1 -0
  108. package/lib/cjs/components/pagination/__tests__/Pagination.spec.js +115 -0
  109. package/lib/cjs/components/periodpicker/PeriodPicker.d.ts +23 -0
  110. package/lib/cjs/components/periodpicker/PeriodPicker.d.ts.map +1 -0
  111. package/lib/cjs/components/periodpicker/PeriodPicker.js +40 -0
  112. package/lib/cjs/components/periodpicker/components/Inputs.d.ts +12 -0
  113. package/lib/cjs/components/periodpicker/components/Inputs.d.ts.map +1 -0
  114. package/lib/cjs/components/periodpicker/components/Inputs.js +88 -0
  115. package/lib/cjs/components/periodpicker/components/Menu.d.ts +11 -0
  116. package/lib/cjs/components/periodpicker/components/Menu.d.ts.map +1 -0
  117. package/lib/cjs/components/periodpicker/components/Menu.js +125 -0
  118. package/lib/cjs/components/periodpicker/components/MonthPicker.d.ts +19 -0
  119. package/lib/cjs/components/periodpicker/components/MonthPicker.d.ts.map +1 -0
  120. package/lib/cjs/components/periodpicker/components/MonthPicker.js +91 -0
  121. package/lib/cjs/components/periodpicker/periods.d.ts +33 -0
  122. package/lib/cjs/components/periodpicker/periods.d.ts.map +1 -0
  123. package/lib/cjs/components/periodpicker/periods.js +71 -0
  124. package/lib/cjs/components/periodpicker/types.d.ts +5 -0
  125. package/lib/cjs/components/periodpicker/types.d.ts.map +1 -0
  126. package/lib/cjs/components/periodpicker/types.js +2 -0
  127. package/lib/cjs/components/periodpicker/usePeriodName.d.ts +7 -0
  128. package/lib/cjs/components/periodpicker/usePeriodName.d.ts.map +1 -0
  129. package/lib/cjs/components/periodpicker/usePeriodName.js +41 -0
  130. package/lib/cjs/components/prompt/Prompt.d.ts +23 -0
  131. package/lib/cjs/components/prompt/Prompt.d.ts.map +1 -0
  132. package/lib/cjs/components/prompt/Prompt.js +57 -0
  133. package/lib/cjs/components/prompt/withPrompt.d.ts +7 -0
  134. package/lib/cjs/components/prompt/withPrompt.d.ts.map +1 -0
  135. package/lib/cjs/components/prompt/withPrompt.js +62 -0
  136. package/lib/cjs/components/reactable/Reactable.d.ts +38 -0
  137. package/lib/cjs/components/reactable/Reactable.d.ts.map +1 -0
  138. package/lib/cjs/components/reactable/Reactable.js +47 -0
  139. package/lib/cjs/components/reactable/helpers/ReactableTable.d.ts +21 -0
  140. package/lib/cjs/components/reactable/helpers/ReactableTable.d.ts.map +1 -0
  141. package/lib/cjs/components/reactable/helpers/ReactableTable.js +62 -0
  142. package/lib/cjs/components/reactable/helpers/ReactableTableFilterRow.d.ts +9 -0
  143. package/lib/cjs/components/reactable/helpers/ReactableTableFilterRow.d.ts.map +1 -0
  144. package/lib/cjs/components/reactable/helpers/ReactableTableFilterRow.js +85 -0
  145. package/lib/cjs/components/reactable/helpers/ReactableTableHeader.d.ts +16 -0
  146. package/lib/cjs/components/reactable/helpers/ReactableTableHeader.d.ts.map +1 -0
  147. package/lib/cjs/components/reactable/helpers/ReactableTableHeader.js +78 -0
  148. package/lib/cjs/components/reactable/helpers/ReactableTableRow.d.ts +16 -0
  149. package/lib/cjs/components/reactable/helpers/ReactableTableRow.d.ts.map +1 -0
  150. package/lib/cjs/components/reactable/helpers/ReactableTableRow.js +82 -0
  151. package/lib/cjs/components/reactable/helpers/ReactableTextFilter.d.ts +9 -0
  152. package/lib/cjs/components/reactable/helpers/ReactableTextFilter.d.ts.map +1 -0
  153. package/lib/cjs/components/reactable/helpers/ReactableTextFilter.js +43 -0
  154. package/lib/cjs/components/reactable/helpers/helper.d.ts +7 -0
  155. package/lib/cjs/components/reactable/helpers/helper.d.ts.map +1 -0
  156. package/lib/cjs/components/reactable/helpers/helper.js +120 -0
  157. package/lib/cjs/components/reactable/types.d.ts +38 -0
  158. package/lib/cjs/components/reactable/types.d.ts.map +1 -0
  159. package/lib/cjs/components/reactable/types.js +2 -0
  160. package/lib/cjs/components/reactableWithClientSidePagination/ReactableWithClientSidePagination.d.ts +69 -0
  161. package/lib/cjs/components/reactableWithClientSidePagination/ReactableWithClientSidePagination.d.ts.map +1 -0
  162. package/lib/cjs/components/reactableWithClientSidePagination/ReactableWithClientSidePagination.js +184 -0
  163. package/lib/cjs/components/reactableWithClientSidePagination/__tests__/ReactableWithClientSidePagination.spec.d.ts +2 -0
  164. package/lib/cjs/components/reactableWithClientSidePagination/__tests__/ReactableWithClientSidePagination.spec.d.ts.map +1 -0
  165. package/lib/cjs/components/reactableWithClientSidePagination/__tests__/ReactableWithClientSidePagination.spec.js +166 -0
  166. package/lib/cjs/components/slider/Slider.d.ts +30 -0
  167. package/lib/cjs/components/slider/Slider.d.ts.map +1 -0
  168. package/lib/cjs/components/slider/Slider.js +63 -0
  169. package/lib/cjs/components/slider/useLimitStyling.d.ts +3 -0
  170. package/lib/cjs/components/slider/useLimitStyling.d.ts.map +1 -0
  171. package/lib/cjs/components/slider/useLimitStyling.js +52 -0
  172. package/lib/cjs/components/svg/SvgImage.d.ts +12 -0
  173. package/lib/cjs/components/svg/SvgImage.d.ts.map +1 -0
  174. package/lib/cjs/components/svg/SvgImage.js +66 -0
  175. package/lib/cjs/components/svg/storybookHelper.d.ts +7 -0
  176. package/lib/cjs/components/svg/storybookHelper.d.ts.map +1 -0
  177. package/lib/cjs/components/svg/storybookHelper.js +56 -0
  178. package/lib/cjs/components/svg/types.d.ts +58 -0
  179. package/lib/cjs/components/svg/types.d.ts.map +1 -0
  180. package/lib/cjs/components/svg/types.js +2 -0
  181. package/lib/cjs/components/svg/utils/__tests__/getMutableNodeList.spec.d.ts +2 -0
  182. package/lib/cjs/components/svg/utils/__tests__/getMutableNodeList.spec.d.ts.map +1 -0
  183. package/lib/cjs/components/svg/utils/__tests__/getMutableNodeList.spec.js +48 -0
  184. package/lib/cjs/components/svg/utils/createHyperlinkModification.d.ts +4 -0
  185. package/lib/cjs/components/svg/utils/createHyperlinkModification.d.ts.map +1 -0
  186. package/lib/cjs/components/svg/utils/createHyperlinkModification.js +39 -0
  187. package/lib/cjs/components/svg/utils/createPositionModification.d.ts +3 -0
  188. package/lib/cjs/components/svg/utils/createPositionModification.d.ts.map +1 -0
  189. package/lib/cjs/components/svg/utils/createPositionModification.js +22 -0
  190. package/lib/cjs/components/svg/utils/findConflicts.d.ts +2 -0
  191. package/lib/cjs/components/svg/utils/findConflicts.d.ts.map +1 -0
  192. package/lib/cjs/components/svg/utils/findConflicts.js +26 -0
  193. package/lib/cjs/components/svg/utils/getMutableNodeList.d.ts +3 -0
  194. package/lib/cjs/components/svg/utils/getMutableNodeList.d.ts.map +1 -0
  195. package/lib/cjs/components/svg/utils/getMutableNodeList.js +17 -0
  196. package/lib/cjs/components/svg/utils/getSvgElement.d.ts +3 -0
  197. package/lib/cjs/components/svg/utils/getSvgElement.d.ts.map +1 -0
  198. package/lib/cjs/components/svg/utils/getSvgElement.js +12 -0
  199. package/lib/cjs/components/svg/utils/renderSvg.d.ts +3 -0
  200. package/lib/cjs/components/svg/utils/renderSvg.d.ts.map +1 -0
  201. package/lib/cjs/components/svg/utils/renderSvg.js +94 -0
  202. package/lib/cjs/components/svg/utils/transformPositionModifications.d.ts +4 -0
  203. package/lib/cjs/components/svg/utils/transformPositionModifications.d.ts.map +1 -0
  204. package/lib/cjs/components/svg/utils/transformPositionModifications.js +44 -0
  205. package/lib/cjs/components/svg/utils/validateSvg.d.ts +3 -0
  206. package/lib/cjs/components/svg/utils/validateSvg.d.ts.map +1 -0
  207. package/lib/cjs/components/svg/utils/validateSvg.js +10 -0
  208. package/lib/cjs/components/tabs/RouteTabs.d.ts +24 -0
  209. package/lib/cjs/components/tabs/RouteTabs.d.ts.map +1 -0
  210. package/lib/cjs/components/tabs/RouteTabs.js +96 -0
  211. package/lib/cjs/components/treeview/TreeView.d.ts +50 -0
  212. package/lib/cjs/components/treeview/TreeView.d.ts.map +1 -0
  213. package/lib/cjs/components/treeview/TreeView.js +133 -0
  214. package/lib/cjs/components/treeview/components/Node.d.ts +37 -0
  215. package/lib/cjs/components/treeview/components/Node.d.ts.map +1 -0
  216. package/lib/cjs/components/treeview/components/Node.js +140 -0
  217. package/lib/cjs/components/treeview/components/NodeInfo.d.ts +25 -0
  218. package/lib/cjs/components/treeview/components/NodeInfo.d.ts.map +1 -0
  219. package/lib/cjs/components/treeview/components/NodeInfo.js +93 -0
  220. package/lib/cjs/components/treeview/constants.d.ts +6 -0
  221. package/lib/cjs/components/treeview/constants.d.ts.map +1 -0
  222. package/lib/cjs/components/treeview/constants.js +9 -0
  223. package/lib/cjs/components/treeview/treeutils.d.ts +59 -0
  224. package/lib/cjs/components/treeview/treeutils.d.ts.map +1 -0
  225. package/lib/cjs/components/treeview/treeutils.js +171 -0
  226. package/lib/cjs/components/treeview/types.d.ts +37 -0
  227. package/lib/cjs/components/treeview/types.d.ts.map +1 -0
  228. package/lib/cjs/components/treeview/types.js +2 -0
  229. package/lib/cjs/components/upload/FileUpload.d.ts +67 -0
  230. package/lib/cjs/components/upload/FileUpload.d.ts.map +1 -0
  231. package/lib/cjs/components/upload/FileUpload.js +124 -0
  232. package/lib/cjs/components/upload/ImageUpload.d.ts +21 -0
  233. package/lib/cjs/components/upload/ImageUpload.d.ts.map +1 -0
  234. package/lib/cjs/components/upload/ImageUpload.js +74 -0
  235. package/lib/cjs/hoc/outsideClick.d.ts +4 -0
  236. package/lib/cjs/hoc/outsideClick.d.ts.map +1 -0
  237. package/lib/cjs/hoc/outsideClick.js +101 -0
  238. package/lib/cjs/i18n/index.d.ts +16 -0
  239. package/lib/cjs/i18n/index.d.ts.map +1 -0
  240. package/lib/cjs/i18n/index.js +8 -0
  241. package/lib/cjs/index.d.ts +52 -0
  242. package/lib/cjs/index.d.ts.map +1 -0
  243. package/lib/cjs/index.js +88 -0
  244. package/lib/cjs/modules/messageBox/messageBox.d.ts +14 -0
  245. package/lib/cjs/modules/messageBox/messageBox.d.ts.map +1 -0
  246. package/lib/cjs/modules/messageBox/messageBox.js +71 -0
  247. package/lib/cjs/modules/utils/nanoidGen.d.ts +2 -0
  248. package/lib/cjs/modules/utils/nanoidGen.d.ts.map +1 -0
  249. package/lib/cjs/modules/utils/nanoidGen.js +6 -0
  250. package/lib/cjs/modules/utils/uuidGen.d.ts +2 -0
  251. package/lib/cjs/modules/utils/uuidGen.d.ts.map +1 -0
  252. package/lib/cjs/modules/utils/uuidGen.js +17 -0
  253. package/lib/cjs/types/i18n.d.ts +5 -0
  254. package/lib/cjs/types/i18n.d.ts.map +1 -0
  255. package/lib/cjs/types/i18n.js +2 -0
  256. package/lib/cjs/types/pagination.d.ts +19 -0
  257. package/lib/cjs/types/pagination.d.ts.map +1 -0
  258. package/lib/cjs/types/pagination.js +2 -0
  259. package/lib/cjs/utils/dayjsLocales.d.ts +10 -0
  260. package/lib/cjs/utils/dayjsLocales.d.ts.map +1 -0
  261. package/lib/cjs/utils/dayjsLocales.js +16 -0
  262. package/lib/cjs/utils/resolvePath.d.ts +2 -0
  263. package/lib/cjs/utils/resolvePath.d.ts.map +1 -0
  264. package/lib/cjs/utils/resolvePath.js +7 -0
  265. package/lib/esm/__mocks__/i18n.d.ts +5 -0
  266. package/lib/esm/__mocks__/i18n.d.ts.map +1 -0
  267. package/lib/esm/__mocks__/i18n.js +5 -0
  268. package/lib/esm/assets/img/icon-arrow-back.png +0 -0
  269. package/lib/esm/assets/img/icon_folder_closed.png +0 -0
  270. package/lib/esm/assets/img/icon_folder_closed_light.png +0 -0
  271. package/lib/esm/assets/img/icon_folder_open.png +0 -0
  272. package/lib/esm/assets/img/icon_folder_open_light.png +0 -0
  273. package/lib/esm/assets/img/icon_help_light_24.png +0 -0
  274. package/lib/esm/assets/img/icon_variablenode.png +0 -0
  275. package/lib/esm/assets/img/icon_variablenode_light.png +0 -0
  276. package/lib/esm/assets/img/toastify_msg_error_24.png +0 -0
  277. package/lib/esm/assets/img/toastify_msg_success_24.png +0 -0
  278. package/lib/esm/assets/react-datepicker-custom.css +43 -0
  279. package/lib/esm/assets/react-select-custom.css +13 -0
  280. package/lib/esm/assets/react-select.css +428 -0
  281. package/lib/esm/assets/react-toastify-custom.css +16 -0
  282. package/lib/esm/assets/search-box.css +29 -0
  283. package/lib/esm/assets/style.css +255 -0
  284. package/lib/esm/assets/svg/icon_add.svg +3 -0
  285. package/lib/esm/assets/svg/icon_calendar.svg +50 -0
  286. package/lib/esm/assets/svg/icon_chevron_left.svg +6 -0
  287. package/lib/esm/assets/svg/icon_chevron_right.svg +6 -0
  288. package/lib/esm/assets/svg/icon_cross.svg +3 -0
  289. package/lib/esm/assets/svg/icon_download.svg +5 -0
  290. package/lib/esm/assets/svg/icon_duplicate.svg +10 -0
  291. package/lib/esm/assets/svg/icon_edit.svg +6 -0
  292. package/lib/esm/assets/svg/icon_folder_loading.svg +21 -0
  293. package/lib/esm/assets/svg/icon_fullscreen.svg +6 -0
  294. package/lib/esm/assets/svg/icon_gear.svg +5 -0
  295. package/lib/esm/assets/svg/icon_help_light.svg +3 -0
  296. package/lib/esm/assets/svg/icon_key.svg +3 -0
  297. package/lib/esm/assets/svg/icon_lupe.svg +14 -0
  298. package/lib/esm/assets/svg/icon_menu_horizontal.svg +5 -0
  299. package/lib/esm/assets/svg/icon_menu_vertical.svg +5 -0
  300. package/lib/esm/assets/svg/icon_reload.svg +6 -0
  301. package/lib/esm/assets/svg/icon_upload.svg +7 -0
  302. package/lib/esm/assets/svg/icon_warning_triangle.svg +12 -0
  303. package/lib/esm/assets/svg/triangle_down.svg +3 -0
  304. package/lib/esm/assets/svg/triangle_left.svg +3 -0
  305. package/lib/esm/assets/svg/triangle_right.svg +3 -0
  306. package/lib/esm/assets/svg/triangle_up.svg +3 -0
  307. package/lib/esm/assets/svg/triangle_up_and_down.svg +4 -0
  308. package/lib/esm/components/chart/Chart.d.ts +38 -0
  309. package/lib/esm/components/chart/Chart.d.ts.map +1 -0
  310. package/lib/esm/components/chart/Chart.js +202 -0
  311. package/lib/esm/components/colorpicker/ColorPickerPopper.d.ts +24 -0
  312. package/lib/esm/components/colorpicker/ColorPickerPopper.d.ts.map +1 -0
  313. package/lib/esm/components/colorpicker/ColorPickerPopper.js +46 -0
  314. package/lib/esm/components/colorpicker/GradientColorPicker.d.ts +63 -0
  315. package/lib/esm/components/colorpicker/GradientColorPicker.d.ts.map +1 -0
  316. package/lib/esm/components/colorpicker/GradientColorPicker.js +125 -0
  317. package/lib/esm/components/colorpicker/GridColorPicker.d.ts +41 -0
  318. package/lib/esm/components/colorpicker/GridColorPicker.d.ts.map +1 -0
  319. package/lib/esm/components/colorpicker/GridColorPicker.js +30 -0
  320. package/lib/esm/components/contentHeader/ContentHeader.d.ts +25 -0
  321. package/lib/esm/components/contentHeader/ContentHeader.d.ts.map +1 -0
  322. package/lib/esm/components/contentHeader/ContentHeader.js +53 -0
  323. package/lib/esm/components/infobox/InfoBox.d.ts +22 -0
  324. package/lib/esm/components/infobox/InfoBox.d.ts.map +1 -0
  325. package/lib/esm/components/infobox/InfoBox.js +36 -0
  326. package/lib/esm/components/input/DateInput.d.ts +28 -0
  327. package/lib/esm/components/input/DateInput.d.ts.map +1 -0
  328. package/lib/esm/components/input/DateInput.js +157 -0
  329. package/lib/esm/components/input/DateTimeInput.d.ts +27 -0
  330. package/lib/esm/components/input/DateTimeInput.d.ts.map +1 -0
  331. package/lib/esm/components/input/DateTimeInput.js +50 -0
  332. package/lib/esm/components/input/SelectWithSearch.d.ts +62 -0
  333. package/lib/esm/components/input/SelectWithSearch.d.ts.map +1 -0
  334. package/lib/esm/components/input/SelectWithSearch.js +90 -0
  335. package/lib/esm/components/input/SelectWithSearchAsync.d.ts +58 -0
  336. package/lib/esm/components/input/SelectWithSearchAsync.d.ts.map +1 -0
  337. package/lib/esm/components/input/SelectWithSearchAsync.js +100 -0
  338. package/lib/esm/components/input/UrnInput.d.ts +22 -0
  339. package/lib/esm/components/input/UrnInput.d.ts.map +1 -0
  340. package/lib/esm/components/input/UrnInput.js +33 -0
  341. package/lib/esm/components/input/ValidatedTextInput.d.ts +35 -0
  342. package/lib/esm/components/input/ValidatedTextInput.d.ts.map +1 -0
  343. package/lib/esm/components/input/ValidatedTextInput.js +30 -0
  344. package/lib/esm/components/input/__tests__/DateInput.spec.d.ts +2 -0
  345. package/lib/esm/components/input/__tests__/DateInput.spec.d.ts.map +1 -0
  346. package/lib/esm/components/input/__tests__/DateInput.spec.js +85 -0
  347. package/lib/esm/components/input/__tests__/DateTimeInput.spec.d.ts +2 -0
  348. package/lib/esm/components/input/__tests__/DateTimeInput.spec.d.ts.map +1 -0
  349. package/lib/esm/components/input/__tests__/DateTimeInput.spec.js +12 -0
  350. package/lib/esm/components/input/__tests__/SelectWithSearchAsync.spec.d.ts +2 -0
  351. package/lib/esm/components/input/__tests__/SelectWithSearchAsync.spec.d.ts.map +1 -0
  352. package/lib/esm/components/input/__tests__/SelectWithSearchAsync.spec.js +43 -0
  353. package/lib/esm/components/link/RouteLink.d.ts +31 -0
  354. package/lib/esm/components/link/RouteLink.d.ts.map +1 -0
  355. package/lib/esm/components/link/RouteLink.js +55 -0
  356. package/lib/esm/components/multiMenu/MultiMenu.d.ts +27 -0
  357. package/lib/esm/components/multiMenu/MultiMenu.d.ts.map +1 -0
  358. package/lib/esm/components/multiMenu/MultiMenu.js +30 -0
  359. package/lib/esm/components/multiMenu/components/MultiMenuContext.d.ts +7 -0
  360. package/lib/esm/components/multiMenu/components/MultiMenuContext.d.ts.map +1 -0
  361. package/lib/esm/components/multiMenu/components/MultiMenuContext.js +5 -0
  362. package/lib/esm/components/multiMenu/components/MultiMenuItem.d.ts +14 -0
  363. package/lib/esm/components/multiMenu/components/MultiMenuItem.d.ts.map +1 -0
  364. package/lib/esm/components/multiMenu/components/MultiMenuItem.js +24 -0
  365. package/lib/esm/components/pagination/Pagination.d.ts +37 -0
  366. package/lib/esm/components/pagination/Pagination.d.ts.map +1 -0
  367. package/lib/esm/components/pagination/Pagination.js +114 -0
  368. package/lib/esm/components/pagination/__tests__/Pagination.spec.d.ts +2 -0
  369. package/lib/esm/components/pagination/__tests__/Pagination.spec.d.ts.map +1 -0
  370. package/lib/esm/components/pagination/__tests__/Pagination.spec.js +87 -0
  371. package/lib/esm/components/periodpicker/PeriodPicker.d.ts +23 -0
  372. package/lib/esm/components/periodpicker/PeriodPicker.d.ts.map +1 -0
  373. package/lib/esm/components/periodpicker/PeriodPicker.js +11 -0
  374. package/lib/esm/components/periodpicker/components/Inputs.d.ts +12 -0
  375. package/lib/esm/components/periodpicker/components/Inputs.d.ts.map +1 -0
  376. package/lib/esm/components/periodpicker/components/Inputs.js +59 -0
  377. package/lib/esm/components/periodpicker/components/Menu.d.ts +11 -0
  378. package/lib/esm/components/periodpicker/components/Menu.d.ts.map +1 -0
  379. package/lib/esm/components/periodpicker/components/Menu.js +96 -0
  380. package/lib/esm/components/periodpicker/components/MonthPicker.d.ts +19 -0
  381. package/lib/esm/components/periodpicker/components/MonthPicker.d.ts.map +1 -0
  382. package/lib/esm/components/periodpicker/components/MonthPicker.js +62 -0
  383. package/lib/esm/components/periodpicker/periods.d.ts +33 -0
  384. package/lib/esm/components/periodpicker/periods.d.ts.map +1 -0
  385. package/lib/esm/components/periodpicker/periods.js +56 -0
  386. package/lib/esm/components/periodpicker/types.d.ts +5 -0
  387. package/lib/esm/components/periodpicker/types.d.ts.map +1 -0
  388. package/lib/esm/components/periodpicker/types.js +1 -0
  389. package/lib/esm/components/periodpicker/usePeriodName.d.ts +7 -0
  390. package/lib/esm/components/periodpicker/usePeriodName.d.ts.map +1 -0
  391. package/lib/esm/components/periodpicker/usePeriodName.js +38 -0
  392. package/lib/esm/components/prompt/Prompt.d.ts +23 -0
  393. package/lib/esm/components/prompt/Prompt.d.ts.map +1 -0
  394. package/lib/esm/components/prompt/Prompt.js +31 -0
  395. package/lib/esm/components/prompt/withPrompt.d.ts +7 -0
  396. package/lib/esm/components/prompt/withPrompt.d.ts.map +1 -0
  397. package/lib/esm/components/prompt/withPrompt.js +33 -0
  398. package/lib/esm/components/reactable/Reactable.d.ts +38 -0
  399. package/lib/esm/components/reactable/Reactable.d.ts.map +1 -0
  400. package/lib/esm/components/reactable/Reactable.js +18 -0
  401. package/lib/esm/components/reactable/helpers/ReactableTable.d.ts +21 -0
  402. package/lib/esm/components/reactable/helpers/ReactableTable.d.ts.map +1 -0
  403. package/lib/esm/components/reactable/helpers/ReactableTable.js +33 -0
  404. package/lib/esm/components/reactable/helpers/ReactableTableFilterRow.d.ts +9 -0
  405. package/lib/esm/components/reactable/helpers/ReactableTableFilterRow.d.ts.map +1 -0
  406. package/lib/esm/components/reactable/helpers/ReactableTableFilterRow.js +57 -0
  407. package/lib/esm/components/reactable/helpers/ReactableTableHeader.d.ts +16 -0
  408. package/lib/esm/components/reactable/helpers/ReactableTableHeader.d.ts.map +1 -0
  409. package/lib/esm/components/reactable/helpers/ReactableTableHeader.js +52 -0
  410. package/lib/esm/components/reactable/helpers/ReactableTableRow.d.ts +16 -0
  411. package/lib/esm/components/reactable/helpers/ReactableTableRow.d.ts.map +1 -0
  412. package/lib/esm/components/reactable/helpers/ReactableTableRow.js +56 -0
  413. package/lib/esm/components/reactable/helpers/ReactableTextFilter.d.ts +9 -0
  414. package/lib/esm/components/reactable/helpers/ReactableTextFilter.d.ts.map +1 -0
  415. package/lib/esm/components/reactable/helpers/ReactableTextFilter.js +18 -0
  416. package/lib/esm/components/reactable/helpers/helper.d.ts +7 -0
  417. package/lib/esm/components/reactable/helpers/helper.d.ts.map +1 -0
  418. package/lib/esm/components/reactable/helpers/helper.js +90 -0
  419. package/lib/esm/components/reactable/types.d.ts +38 -0
  420. package/lib/esm/components/reactable/types.d.ts.map +1 -0
  421. package/lib/esm/components/reactable/types.js +1 -0
  422. package/lib/esm/components/reactableWithClientSidePagination/ReactableWithClientSidePagination.d.ts +69 -0
  423. package/lib/esm/components/reactableWithClientSidePagination/ReactableWithClientSidePagination.d.ts.map +1 -0
  424. package/lib/esm/components/reactableWithClientSidePagination/ReactableWithClientSidePagination.js +155 -0
  425. package/lib/esm/components/reactableWithClientSidePagination/__tests__/ReactableWithClientSidePagination.spec.d.ts +2 -0
  426. package/lib/esm/components/reactableWithClientSidePagination/__tests__/ReactableWithClientSidePagination.spec.d.ts.map +1 -0
  427. package/lib/esm/components/reactableWithClientSidePagination/__tests__/ReactableWithClientSidePagination.spec.js +138 -0
  428. package/lib/esm/components/slider/Slider.d.ts +30 -0
  429. package/lib/esm/components/slider/Slider.d.ts.map +1 -0
  430. package/lib/esm/components/slider/Slider.js +35 -0
  431. package/lib/esm/components/slider/useLimitStyling.d.ts +3 -0
  432. package/lib/esm/components/slider/useLimitStyling.d.ts.map +1 -0
  433. package/lib/esm/components/slider/useLimitStyling.js +49 -0
  434. package/lib/esm/components/svg/SvgImage.d.ts +12 -0
  435. package/lib/esm/components/svg/SvgImage.d.ts.map +1 -0
  436. package/lib/esm/components/svg/SvgImage.js +37 -0
  437. package/lib/esm/components/svg/storybookHelper.d.ts +7 -0
  438. package/lib/esm/components/svg/storybookHelper.d.ts.map +1 -0
  439. package/lib/esm/components/svg/storybookHelper.js +53 -0
  440. package/lib/esm/components/svg/types.d.ts +58 -0
  441. package/lib/esm/components/svg/types.d.ts.map +1 -0
  442. package/lib/esm/components/svg/types.js +1 -0
  443. package/lib/esm/components/svg/utils/__tests__/getMutableNodeList.spec.d.ts +2 -0
  444. package/lib/esm/components/svg/utils/__tests__/getMutableNodeList.spec.d.ts.map +1 -0
  445. package/lib/esm/components/svg/utils/__tests__/getMutableNodeList.spec.js +23 -0
  446. package/lib/esm/components/svg/utils/createHyperlinkModification.d.ts +4 -0
  447. package/lib/esm/components/svg/utils/createHyperlinkModification.d.ts.map +1 -0
  448. package/lib/esm/components/svg/utils/createHyperlinkModification.js +35 -0
  449. package/lib/esm/components/svg/utils/createPositionModification.d.ts +3 -0
  450. package/lib/esm/components/svg/utils/createPositionModification.d.ts.map +1 -0
  451. package/lib/esm/components/svg/utils/createPositionModification.js +19 -0
  452. package/lib/esm/components/svg/utils/findConflicts.d.ts +2 -0
  453. package/lib/esm/components/svg/utils/findConflicts.d.ts.map +1 -0
  454. package/lib/esm/components/svg/utils/findConflicts.js +23 -0
  455. package/lib/esm/components/svg/utils/getMutableNodeList.d.ts +3 -0
  456. package/lib/esm/components/svg/utils/getMutableNodeList.d.ts.map +1 -0
  457. package/lib/esm/components/svg/utils/getMutableNodeList.js +12 -0
  458. package/lib/esm/components/svg/utils/getSvgElement.d.ts +3 -0
  459. package/lib/esm/components/svg/utils/getSvgElement.d.ts.map +1 -0
  460. package/lib/esm/components/svg/utils/getSvgElement.js +10 -0
  461. package/lib/esm/components/svg/utils/renderSvg.d.ts +3 -0
  462. package/lib/esm/components/svg/utils/renderSvg.d.ts.map +1 -0
  463. package/lib/esm/components/svg/utils/renderSvg.js +88 -0
  464. package/lib/esm/components/svg/utils/transformPositionModifications.d.ts +4 -0
  465. package/lib/esm/components/svg/utils/transformPositionModifications.d.ts.map +1 -0
  466. package/lib/esm/components/svg/utils/transformPositionModifications.js +42 -0
  467. package/lib/esm/components/svg/utils/validateSvg.d.ts +3 -0
  468. package/lib/esm/components/svg/utils/validateSvg.d.ts.map +1 -0
  469. package/lib/esm/components/svg/utils/validateSvg.js +5 -0
  470. package/lib/esm/components/tabs/RouteTabs.d.ts +24 -0
  471. package/lib/esm/components/tabs/RouteTabs.d.ts.map +1 -0
  472. package/lib/esm/components/tabs/RouteTabs.js +67 -0
  473. package/lib/esm/components/treeview/TreeView.d.ts +50 -0
  474. package/lib/esm/components/treeview/TreeView.d.ts.map +1 -0
  475. package/lib/esm/components/treeview/TreeView.js +104 -0
  476. package/lib/esm/components/treeview/components/Node.d.ts +37 -0
  477. package/lib/esm/components/treeview/components/Node.d.ts.map +1 -0
  478. package/lib/esm/components/treeview/components/Node.js +111 -0
  479. package/lib/esm/components/treeview/components/NodeInfo.d.ts +25 -0
  480. package/lib/esm/components/treeview/components/NodeInfo.d.ts.map +1 -0
  481. package/lib/esm/components/treeview/components/NodeInfo.js +64 -0
  482. package/lib/esm/components/treeview/constants.d.ts +6 -0
  483. package/lib/esm/components/treeview/constants.d.ts.map +1 -0
  484. package/lib/esm/components/treeview/constants.js +6 -0
  485. package/lib/esm/components/treeview/treeutils.d.ts +59 -0
  486. package/lib/esm/components/treeview/treeutils.d.ts.map +1 -0
  487. package/lib/esm/components/treeview/treeutils.js +158 -0
  488. package/lib/esm/components/treeview/types.d.ts +37 -0
  489. package/lib/esm/components/treeview/types.d.ts.map +1 -0
  490. package/lib/esm/components/treeview/types.js +1 -0
  491. package/lib/esm/components/upload/FileUpload.d.ts +67 -0
  492. package/lib/esm/components/upload/FileUpload.d.ts.map +1 -0
  493. package/lib/esm/components/upload/FileUpload.js +95 -0
  494. package/lib/esm/components/upload/ImageUpload.d.ts +21 -0
  495. package/lib/esm/components/upload/ImageUpload.d.ts.map +1 -0
  496. package/lib/esm/components/upload/ImageUpload.js +45 -0
  497. package/lib/esm/hoc/outsideClick.d.ts +4 -0
  498. package/lib/esm/hoc/outsideClick.d.ts.map +1 -0
  499. package/lib/esm/hoc/outsideClick.js +73 -0
  500. package/lib/esm/i18n/index.d.ts +16 -0
  501. package/lib/esm/i18n/index.d.ts.map +1 -0
  502. package/lib/esm/i18n/index.js +6 -0
  503. package/lib/esm/index.d.ts +52 -0
  504. package/lib/esm/index.d.ts.map +1 -0
  505. package/lib/esm/index.js +39 -0
  506. package/lib/esm/modules/messageBox/messageBox.d.ts +14 -0
  507. package/lib/esm/modules/messageBox/messageBox.d.ts.map +1 -0
  508. package/lib/esm/modules/messageBox/messageBox.js +56 -0
  509. package/lib/esm/modules/utils/nanoidGen.d.ts +2 -0
  510. package/lib/esm/modules/utils/nanoidGen.d.ts.map +1 -0
  511. package/lib/esm/modules/utils/nanoidGen.js +3 -0
  512. package/lib/esm/modules/utils/uuidGen.d.ts +2 -0
  513. package/lib/esm/modules/utils/uuidGen.d.ts.map +1 -0
  514. package/lib/esm/modules/utils/uuidGen.js +13 -0
  515. package/lib/esm/types/i18n.d.ts +5 -0
  516. package/lib/esm/types/i18n.d.ts.map +1 -0
  517. package/lib/esm/types/i18n.js +1 -0
  518. package/lib/esm/types/pagination.d.ts +19 -0
  519. package/lib/esm/types/pagination.d.ts.map +1 -0
  520. package/lib/esm/types/pagination.js +1 -0
  521. package/lib/esm/utils/dayjsLocales.d.ts +10 -0
  522. package/lib/esm/utils/dayjsLocales.d.ts.map +1 -0
  523. package/lib/esm/utils/dayjsLocales.js +12 -0
  524. package/lib/esm/utils/resolvePath.d.ts +2 -0
  525. package/lib/esm/utils/resolvePath.d.ts.map +1 -0
  526. package/lib/esm/utils/resolvePath.js +4 -0
  527. package/package.json +164 -0
@@ -0,0 +1,50 @@
1
+ import * as React from 'react';
2
+ import { Tree, NodeId, DataSetConfig, SelectionItem } from './types';
3
+ export declare type Props = {
4
+ /** Configuration of keys for id, name, children, node/leaf images and lazy loading */
5
+ dataSetConfig: DataSetConfig;
6
+ /** Function executed when selecting nodes or folders */
7
+ onSelect: (arg0: Array<SelectionItem>) => void;
8
+ /** Function executed when deselecting nodes or folders */
9
+ onDeselect: (arg0: Array<SelectionItem>) => void;
10
+ /** Arbitrary hierarchical initial data set to render */
11
+ treeData: Array<any>;
12
+ /** Array of initially selected nodes in the tree */
13
+ selectedNodes?: Array<NodeId>;
14
+ /** Function to execute on a lazy loadable node */
15
+ lazyLoadingFunction?: (nodeData: any) => Promise<any>;
16
+ };
17
+ declare type State = {
18
+ tree: Tree;
19
+ treeData: Array<any>;
20
+ selectedNodes: Array<NodeId>;
21
+ treeSize: number;
22
+ };
23
+ /**
24
+ * TreeView adds the functionality to display "folders" and their content.
25
+ * This can come in handy for several data structures.
26
+ */
27
+ export default class TreeView extends React.Component<Props, State> {
28
+ state: State;
29
+ convert: (hierarchicalData: Array<any>, nodePath?: string) => Array<Tree>;
30
+ componentDidMount(): void;
31
+ componentDidUpdate(prevProps: Props): void;
32
+ initTree(treeData: Array<any>): {
33
+ children?: Array<Tree>;
34
+ closedImage?: string;
35
+ expandedImage?: string;
36
+ id: string;
37
+ image?: string;
38
+ lazyLoadable?: boolean;
39
+ name: string;
40
+ originalNode: any;
41
+ path: string;
42
+ };
43
+ selectNodes: (nodes: Array<Tree>) => void;
44
+ deselectNodes: (nodes: Array<Tree>) => void;
45
+ addTreeData: (dataSet: Array<any>, underNode: Tree) => void;
46
+ lazyLoadingFunction: (node: Tree) => Promise<void>;
47
+ render(): JSX.Element;
48
+ }
49
+ export {};
50
+ //# sourceMappingURL=TreeView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TreeView.d.ts","sourceRoot":"","sources":["../../../../src/components/treeview/TreeView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,EAAC,MAAM,SAAS,CAAC;AAInE,oBAAY,KAAK,GAAG;IACnB,sFAAsF;IACtF,aAAa,EAAE,aAAa,CAAC;IAE7B,wDAAwD;IACxD,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC;IAE/C,0DAA0D;IAC1D,UAAU,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC;IAEjD,wDAAwD;IACxD,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAErB,oDAAoD;IACpD,aAAa,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAE9B,kDAAkD;IAClD,mBAAmB,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;CACtD,CAAC;AAEF,aAAK,KAAK,GAAG;IACZ,IAAI,EAAE,IAAI,CAAC;IACX,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IACrB,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC;IAClE,KAAK,EAAE,KAAK,CAWV;IAEF,OAAO,EAAE,CAAC,gBAAgB,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,KAAK,CAAC,IAAI,CAAC,CAA2C;IAEpH,iBAAiB;IAUjB,kBAAkB,CAAC,SAAS,EAAE,KAAK;IAWnC,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG;QAC/B,QAAQ,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACvB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,IAAI,EAAE,MAAM,CAAC;QACb,YAAY,EAAE,GAAG,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;KACb;IAUD,WAAW,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAUvC;IAEF,aAAa,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAUzC;IAEF,WAAW,YAAa,MAAM,GAAG,CAAC,aAAa,IAAI,UAoBjD;IAEF,mBAAmB,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAUhD;IAEF,MAAM;CAmBN"}
@@ -0,0 +1,104 @@
1
+ import * as React from 'react';
2
+ import Node from './components/Node';
3
+ import { convertToTree, mergeNodeIdArrays, removeNodeIds, getTreeSize, findNodeAndApplyPatch } from './treeutils';
4
+ /**
5
+ * TreeView adds the functionality to display "folders" and their content.
6
+ * This can come in handy for several data structures.
7
+ */
8
+ export default class TreeView extends React.Component {
9
+ constructor() {
10
+ super(...arguments);
11
+ this.state = {
12
+ treeData: this.props.treeData,
13
+ tree: {
14
+ id: 'virtualRootNode',
15
+ name: '',
16
+ children: [],
17
+ path: '/',
18
+ originalNode: {}
19
+ },
20
+ treeSize: 0,
21
+ selectedNodes: this.props.selectedNodes || []
22
+ };
23
+ this.convert = convertToTree(this.props.dataSetConfig);
24
+ this.selectNodes = (nodes) => {
25
+ const { onSelect } = this.props;
26
+ const { selectedNodes } = this.state;
27
+ this.setState({
28
+ selectedNodes: mergeNodeIdArrays(selectedNodes, nodes.map(({ id }) => id))
29
+ });
30
+ onSelect(nodes.map(({ originalNode, path }) => ({ ...originalNode, $$path: path })));
31
+ };
32
+ this.deselectNodes = (nodes) => {
33
+ const { onDeselect } = this.props;
34
+ const { selectedNodes } = this.state;
35
+ this.setState({
36
+ selectedNodes: removeNodeIds(selectedNodes, nodes.map(({ id }) => id))
37
+ });
38
+ onDeselect(nodes.map(({ originalNode, path }) => ({ ...originalNode, $$path: path })));
39
+ };
40
+ this.addTreeData = (dataSet, underNode) => {
41
+ const { tree } = this.state;
42
+ const subTree = this.convert(dataSet, underNode.path);
43
+ const newTree = {
44
+ id: 'virtualRootNode',
45
+ name: '',
46
+ children: (tree.children || []).map((rootNode) => findNodeAndApplyPatch(rootNode, underNode.id, {
47
+ lazyLoadable: false,
48
+ children: subTree
49
+ })),
50
+ path: '/',
51
+ originalNode: {}
52
+ };
53
+ const newTreeSize = getTreeSize(newTree);
54
+ this.setState({
55
+ tree: newTree,
56
+ treeSize: newTreeSize
57
+ });
58
+ };
59
+ this.lazyLoadingFunction = (node) => {
60
+ const { lazyLoadingFunction } = this.props;
61
+ if (!lazyLoadingFunction)
62
+ return Promise.resolve();
63
+ return lazyLoadingFunction(node.originalNode)
64
+ .then((dataSet) => {
65
+ this.addTreeData(dataSet, node);
66
+ })
67
+ .catch(() => {
68
+ return Promise.resolve();
69
+ });
70
+ };
71
+ }
72
+ componentDidMount() {
73
+ const { treeData } = this.props;
74
+ const tree = this.initTree(treeData);
75
+ const treeSize = getTreeSize(tree);
76
+ this.setState({
77
+ tree,
78
+ treeSize
79
+ });
80
+ }
81
+ componentDidUpdate(prevProps) {
82
+ const { selectedNodes: prevNodes } = prevProps;
83
+ const { selectedNodes } = this.props;
84
+ if (selectedNodes && prevNodes && prevNodes.length !== selectedNodes.length) {
85
+ this.setState({
86
+ selectedNodes
87
+ });
88
+ }
89
+ }
90
+ initTree(treeData) {
91
+ return {
92
+ id: 'virtualRootNode',
93
+ name: '',
94
+ children: this.convert(treeData),
95
+ path: '/',
96
+ originalNode: {}
97
+ };
98
+ }
99
+ render() {
100
+ const { tree, selectedNodes, treeSize } = this.state;
101
+ return (React.createElement("div", { className: "treeview" }, tree.children &&
102
+ tree.children.map((item, i) => (React.createElement(Node, { key: i, node: item, selectedNodes: selectedNodes, selectNodes: this.selectNodes, deselectNodes: this.deselectNodes, treeSize: treeSize, lazyLoadingFunction: this.lazyLoadingFunction })))));
103
+ }
104
+ }
@@ -0,0 +1,37 @@
1
+ import * as React from 'react';
2
+ import { SelectionState } from '../constants';
3
+ import { NodeId, Tree } from '../types';
4
+ declare type Props = {
5
+ selectedNodes: Array<NodeId>;
6
+ node: Tree;
7
+ isLastChild?: boolean;
8
+ treeSize: number;
9
+ selectNodes: (ids: Array<Tree>) => void;
10
+ deselectNodes: (ids: Array<Tree>) => void;
11
+ lazyLoadingFunction: (node: Tree) => Promise<any>;
12
+ };
13
+ declare type State = {
14
+ expanded: boolean;
15
+ selectionState: SelectionState;
16
+ isLoading: boolean;
17
+ };
18
+ export default class Node extends React.Component<Props, State> {
19
+ state: State;
20
+ /**
21
+ * Update folder nodes only if the selection changed, or expanded changed
22
+ * Update leaf nodes only if the previously selected nodes include this leaf and the currently
23
+ * selected nodes do not include this leaf, and vice versa.
24
+ * @param {Props} prevProps
25
+ * @param {State} prevState
26
+ */
27
+ shouldComponentUpdate(prevProps: Props, prevState: State): boolean;
28
+ componentDidMount(): void;
29
+ componentDidUpdate(): void;
30
+ isLeaf(): boolean;
31
+ getSelectionState(): SelectionState;
32
+ toggleExpand: () => void;
33
+ onSelect: (toggled: boolean) => void;
34
+ render(): JSX.Element;
35
+ }
36
+ export {};
37
+ //# sourceMappingURL=Node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Node.d.ts","sourceRoot":"","sources":["../../../../../src/components/treeview/components/Node.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAC,cAAc,EAAC,MAAM,cAAc,CAAC;AAE5C,OAAO,EAAC,MAAM,EAAE,IAAI,EAAC,MAAM,UAAU,CAAC;AAEtC,aAAK,KAAK,GAAG;IACZ,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC7B,IAAI,EAAE,IAAI,CAAC;IACX,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;IACxC,aAAa,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;IAC1C,mBAAmB,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;CAClD,CAAC;AAEF,aAAK,KAAK,GAAG;IACZ,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,EAAE,cAAc,CAAC;IAC/B,SAAS,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC;IAC9D,KAAK,EAAE,KAAK,CAIV;IAEF;;;;;;OAMG;IACH,qBAAqB,CAAC,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,GAAG,OAAO;IAsBlE,iBAAiB;IAMjB,kBAAkB;IAMlB,MAAM,IAAI,OAAO;IAKjB,iBAAiB;IAoBjB,YAAY,EAAE,MAAM,IAAI,CAsBtB;IACF,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAUlC;IAEF,MAAM;CA6BN"}
@@ -0,0 +1,111 @@
1
+ import * as React from 'react';
2
+ import NodeInfo from './NodeInfo';
3
+ import { SelectionState } from '../constants';
4
+ import { getAllLeafIds, getAllLeaves, intersectArrays } from '../treeutils';
5
+ export default class Node extends React.Component {
6
+ constructor() {
7
+ super(...arguments);
8
+ this.state = {
9
+ expanded: false,
10
+ selectionState: this.getSelectionState(),
11
+ isLoading: false
12
+ };
13
+ // handle this the same way as selection?
14
+ this.toggleExpand = () => {
15
+ const { node, lazyLoadingFunction } = this.props;
16
+ if (node.lazyLoadable) {
17
+ this.setState({
18
+ isLoading: true
19
+ }, () => {
20
+ lazyLoadingFunction(node).then(() => this.setState({
21
+ expanded: true,
22
+ isLoading: false
23
+ }));
24
+ });
25
+ }
26
+ else {
27
+ this.setState({
28
+ expanded: !this.state.expanded
29
+ });
30
+ }
31
+ };
32
+ this.onSelect = (toggled) => {
33
+ const { node, selectNodes, deselectNodes, selectedNodes } = this.props;
34
+ if (toggled) {
35
+ const childNodes = getAllLeaves(node).filter((node) => !selectedNodes.includes(node.id));
36
+ selectNodes(childNodes);
37
+ }
38
+ else {
39
+ const childNodes = getAllLeaves(node).filter((node) => selectedNodes.includes(node.id));
40
+ deselectNodes(childNodes);
41
+ }
42
+ };
43
+ }
44
+ /**
45
+ * Update folder nodes only if the selection changed, or expanded changed
46
+ * Update leaf nodes only if the previously selected nodes include this leaf and the currently
47
+ * selected nodes do not include this leaf, and vice versa.
48
+ * @param {Props} prevProps
49
+ * @param {State} prevState
50
+ */
51
+ shouldComponentUpdate(prevProps, prevState) {
52
+ const { selectedNodes: prevSelectedNodes, treeSize: prevTreeSize } = prevProps;
53
+ const { expanded: prevExpanded, selectionState: prevSelectionState, isLoading: prevIsLoading } = prevState;
54
+ const { selectedNodes, node, treeSize } = this.props;
55
+ const { expanded, selectionState, isLoading } = this.state;
56
+ if (prevIsLoading !== isLoading)
57
+ return true;
58
+ if (prevTreeSize !== treeSize)
59
+ return true;
60
+ if (this.isLeaf()) {
61
+ const selectionChangedForLeaf = (prevSelectedNodes.includes(node.id) && !selectedNodes.includes(node.id)) ||
62
+ (!prevSelectedNodes.includes(node.id) && selectedNodes.includes(node.id));
63
+ return selectionChangedForLeaf || prevSelectionState !== selectionState;
64
+ }
65
+ else {
66
+ return (prevSelectedNodes.length !== selectedNodes.length ||
67
+ prevExpanded !== expanded ||
68
+ prevSelectionState !== selectionState);
69
+ }
70
+ }
71
+ componentDidMount() {
72
+ this.setState({
73
+ selectionState: this.getSelectionState()
74
+ });
75
+ }
76
+ componentDidUpdate() {
77
+ this.setState({
78
+ selectionState: this.getSelectionState()
79
+ });
80
+ }
81
+ isLeaf() {
82
+ const { node } = this.props;
83
+ return node.children === undefined;
84
+ }
85
+ getSelectionState() {
86
+ const { node, selectedNodes } = this.props;
87
+ if (this.isLeaf()) {
88
+ return selectedNodes.includes(node.id) ? SelectionState.ALL : SelectionState.NONE;
89
+ }
90
+ else {
91
+ const leafIds = getAllLeafIds(node);
92
+ const intersection = intersectArrays(leafIds, selectedNodes);
93
+ if (intersection.length === leafIds.length && leafIds.length !== 0) {
94
+ return SelectionState.ALL;
95
+ }
96
+ else if (intersection.length === 0) {
97
+ return SelectionState.NONE;
98
+ }
99
+ return SelectionState.SOME;
100
+ }
101
+ }
102
+ render() {
103
+ const { node, isLastChild, ...commonNodeProps } = this.props;
104
+ const { expanded, selectionState, isLoading } = this.state;
105
+ return (React.createElement("div", { className: "node" },
106
+ React.createElement(NodeInfo, { node: node, displayName: node.name, leafNode: this.isLeaf(), expanded: expanded, isLastChild: isLastChild, onExpand: this.toggleExpand, onSelect: this.onSelect, isLoading: isLoading, selectionState: selectionState }),
107
+ expanded &&
108
+ node.children &&
109
+ node.children.map((childNode, i) => (React.createElement(Node, { ...commonNodeProps, key: i, node: childNode, isLastChild: i === (node.children || []).length - 1 })))));
110
+ }
111
+ }
@@ -0,0 +1,25 @@
1
+ import * as React from 'react';
2
+ import { SelectionState } from '../constants';
3
+ import { Tree } from '../types';
4
+ declare type NodeInfoProps = {
5
+ node: Tree;
6
+ displayName: string;
7
+ leafNode: boolean;
8
+ expanded: boolean;
9
+ isLastChild?: boolean;
10
+ selectionState: SelectionState;
11
+ isLoading: boolean;
12
+ onExpand: () => void;
13
+ onSelect: (toggled: boolean) => void;
14
+ };
15
+ export default class NodeInfo extends React.PureComponent<NodeInfoProps> {
16
+ inputRef: HTMLInputElement | null | undefined;
17
+ componentDidMount(): void;
18
+ componentDidUpdate(): void;
19
+ updateSelectionState(): void;
20
+ onSelect: (event: React.SyntheticEvent<HTMLInputElement>) => void;
21
+ onLabelClick: () => void;
22
+ render(): JSX.Element;
23
+ }
24
+ export {};
25
+ //# sourceMappingURL=NodeInfo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodeInfo.d.ts","sourceRoot":"","sources":["../../../../../src/components/treeview/components/NodeInfo.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,OAAO,EAAC,cAAc,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAC,IAAI,EAAC,MAAM,UAAU,CAAC;AAU9B,aAAK,aAAa,GAAG;IACpB,IAAI,EAAE,IAAI,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,cAAc,EAAE,cAAc,CAAC;IAC/B,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;CACrC,CAAC;AAoCF,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,KAAK,CAAC,aAAa,CAAC,aAAa,CAAC;IACvE,QAAQ,EAAE,gBAAgB,GAAG,IAAI,GAAG,SAAS,CAAC;IAE9C,iBAAiB;IAIjB,kBAAkB;IAIlB,oBAAoB;IAQpB,QAAQ,UAAW,MAAM,cAAc,CAAC,gBAAgB,CAAC,KAAG,IAAI,CAG9D;IAEF,YAAY,QAAO,IAAI,CAGrB;IAEF,MAAM;CAkCN"}
@@ -0,0 +1,64 @@
1
+ import * as React from 'react';
2
+ import defaultIconFolderOpen from '../../../assets/img/icon_folder_open.png';
3
+ import defaultIconFolderClosed from '../../../assets/img/icon_folder_closed.png';
4
+ import defaultIconFolderLoading from '../../../assets/svg/icon_folder_loading.svg';
5
+ import defaultIconLeafNode from '../../../assets/img/icon_variablenode.png';
6
+ import { SelectionState } from '../constants';
7
+ const Skeleton = ({ lastChild }) => (React.createElement("div", { className: "skeleton" },
8
+ React.createElement("div", { className: "skeleton-cell top" }),
9
+ React.createElement("div", { className: "skeleton-cell bottom", style: {
10
+ visibility: lastChild ? 'hidden' : 'initial'
11
+ } })));
12
+ const NodeImage = ({ node, leafNode, expanded, isLoading, onExpand }) => {
13
+ let imageSrc;
14
+ if (leafNode) {
15
+ imageSrc = node.image || defaultIconLeafNode;
16
+ }
17
+ else {
18
+ if (isLoading) {
19
+ imageSrc = defaultIconFolderLoading;
20
+ }
21
+ else if (expanded) {
22
+ imageSrc = node.expandedImage || defaultIconFolderOpen;
23
+ }
24
+ else {
25
+ imageSrc = node.closedImage || defaultIconFolderClosed;
26
+ }
27
+ }
28
+ return (React.createElement("div", { className: "icon-container" },
29
+ React.createElement("img", { src: imageSrc, alt: "node", onClick: onExpand })));
30
+ };
31
+ export default class NodeInfo extends React.PureComponent {
32
+ constructor() {
33
+ super(...arguments);
34
+ this.onSelect = (event) => {
35
+ const { onSelect, selectionState } = this.props;
36
+ onSelect(selectionState === SelectionState.SOME ? false : event.currentTarget.checked);
37
+ };
38
+ this.onLabelClick = () => {
39
+ const { onSelect, selectionState } = this.props;
40
+ onSelect(selectionState === SelectionState.SOME ? false : this.inputRef ? !this.inputRef.checked : false);
41
+ };
42
+ }
43
+ componentDidMount() {
44
+ this.updateSelectionState();
45
+ }
46
+ componentDidUpdate() {
47
+ this.updateSelectionState();
48
+ }
49
+ updateSelectionState() {
50
+ const { selectionState } = this.props;
51
+ if (this.inputRef) {
52
+ this.inputRef.indeterminate = selectionState === SelectionState.SOME;
53
+ }
54
+ }
55
+ render() {
56
+ const { node, node: { name }, leafNode, expanded, isLastChild, onExpand, selectionState, isLoading } = this.props;
57
+ const selected = selectionState === SelectionState.ALL;
58
+ return (React.createElement("div", { className: `node-info ${selected ? 'selected' : ''}` },
59
+ isLastChild !== undefined && React.createElement(Skeleton, { lastChild: isLastChild }),
60
+ React.createElement(NodeImage, { node: node, leafNode: leafNode, expanded: expanded, isLoading: isLoading, onExpand: onExpand }),
61
+ React.createElement("input", { ref: (ref) => (this.inputRef = ref), type: "checkbox", checked: selectionState === SelectionState.ALL, onChange: this.onSelect }),
62
+ React.createElement("div", { className: "name", onClick: this.onLabelClick }, name)));
63
+ }
64
+ }
@@ -0,0 +1,6 @@
1
+ export declare enum SelectionState {
2
+ ALL = "all",
3
+ SOME = "some",
4
+ NONE = "none"
5
+ }
6
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/components/treeview/constants.ts"],"names":[],"mappings":"AAAA,oBAAY,cAAc;IACzB,GAAG,QAAQ;IACX,IAAI,SAAS;IACb,IAAI,SAAS;CACb"}
@@ -0,0 +1,6 @@
1
+ export var SelectionState;
2
+ (function (SelectionState) {
3
+ SelectionState["ALL"] = "all";
4
+ SelectionState["SOME"] = "some";
5
+ SelectionState["NONE"] = "none";
6
+ })(SelectionState || (SelectionState = {}));
@@ -0,0 +1,59 @@
1
+ import { Tree, NodeId, DataSetConfig } from './types';
2
+ export declare function removeDuplicatesFromArray<T>(arr: Array<T>): Array<T>;
3
+ export declare function removeNodeIds(nodeIds: Array<NodeId>, nodeIdsToRemove: Array<NodeId>): Array<NodeId>;
4
+ /**
5
+ * Returns the union of two arrays. Examples
6
+ * [1,2,3] u [2,3,4,5] -> [1,2,3,4,5]
7
+ * @param {Array<NodeId>} nodeIds1 An array of string or integers defining the nodeid
8
+ * @param {Array<NodeId>} nodeIds2 An array of string or integers defining the nodeid
9
+ */
10
+ export declare function mergeNodeIdArrays(nodeIds1: Array<NodeId>, nodeIds2: Array<NodeId>): Array<NodeId>;
11
+ /**
12
+ * Returns the intersection of two arrays. Example
13
+ * [1,2,3] n [2,3,4,5] -> [2,3]
14
+ * @param {Array} array1
15
+ * @param {Array} array2
16
+ */
17
+ export declare function intersectArrays<T>(array1: Array<T>, array2: Array<T>): Array<T>;
18
+ /**
19
+ * Returns the count of all leaves in the tree @node
20
+ * @param {Tree} node tree to calculate the treesize for
21
+ */
22
+ export declare function getTreeSize(node: Tree): number;
23
+ /**
24
+ * Returns the leaves of the tree given by @node
25
+ * @param {Tree} node The root node of the tree that should be processed
26
+ */
27
+ export declare function getAllLeaves(node: Tree): Array<Tree>;
28
+ /**
29
+ * Returns the ids of all leaves of the tree given by @node
30
+ * @param {Tree} node The root node of the tree that should be processed
31
+ */
32
+ export declare function getAllLeafIds(node: Tree): Array<NodeId>;
33
+ /**
34
+ * Returns a function that converts an arbitrary hierarchical tree data structure into a treestructure
35
+ * that is processable by the * @Node component. The properties defined in @childNodeKey , @idKey ,
36
+ * @displayNameKey , @typeKey are injected into the returned function @convert . The @convert function
37
+ * returns a new tree of the same structure of smaller size with different parameters.
38
+ *
39
+ * @param {string} childNodeKey The name of the property that holds child nodes
40
+ * @param {string} idKey The name of the property of the node identifier
41
+ * @param {string} displayNameKey The name of the property of the node's name
42
+ * @param {string} typeKey The name of the property to decide if it is a leaf or a "folder" node
43
+ * @param {string} lazyLoadableKey
44
+ * @param {ExpandableNode} nodeMetaData An object containing the value for the node's property @typeKey as well as image paths
45
+ * @param {Leaf} leafMetaData An object containing the value for the node's property @typeKey as well as image paths
46
+ */
47
+ export declare function convertToTree<T>({ childNodeKey, idKey, displayNameKey, typeKey, lazyLoadableKey, nodeMetaData, leafMetaData }: DataSetConfig): (hierarchicalData: Array<any>, nodePath?: string) => Array<Tree>;
48
+ /**
49
+ * Find the node with @nodeId in the tree @node and replace properties defined in the provided @patch .
50
+ * If the node with id @nodeId is not found the tree is returned with the same structure.
51
+ * In any case (@nodeId is found or not found) a new object is created and returned, containing the resulting tree.
52
+ *
53
+ * @param {Tree} node The initial tree to add children on
54
+ * @param {NodeId} nodeId The specific node id of the node to add the children
55
+ * @param {Array<Tree>} patch An object containing Tree properties to change on the node with id @nodeId
56
+ */
57
+ export declare function findNodeAndApplyPatch(node: Tree, nodeId: NodeId, patch: Partial<Tree>): Tree;
58
+ export declare function getTreeNodePathById(currentNode: any, idToFind: string, idKey: string, childNodeKey: string, displayNameKey: string): null | string;
59
+ //# sourceMappingURL=treeutils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"treeutils.d.ts","sourceRoot":"","sources":["../../../../src/components/treeview/treeutils.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAC,MAAM,SAAS,CAAC;AAEpD,wBAAgB,yBAAyB,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAEpE;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAEnG;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAEjG;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAE/E;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAO9C;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAMpD;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAEvD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,EAChC,YAAY,EACZ,KAAK,EACL,cAAc,EACd,OAAO,EACP,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,EAAE,aAAa,GAAG,CAAC,gBAAgB,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,KAAK,CAAC,IAAI,CAAC,CAsClF;AAqBD;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAU5F;AA+BD,wBAAgB,mBAAmB,CAClC,WAAW,EAAE,GAAG,EAChB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,EACpB,cAAc,EAAE,MAAM,GACpB,IAAI,GAAG,MAAM,CAGf"}
@@ -0,0 +1,158 @@
1
+ export function removeDuplicatesFromArray(arr) {
2
+ return arr.filter((id, index, arr) => arr.indexOf(id) === index);
3
+ }
4
+ export function removeNodeIds(nodeIds, nodeIdsToRemove) {
5
+ return nodeIds.filter((id) => !nodeIdsToRemove.includes(id));
6
+ }
7
+ /**
8
+ * Returns the union of two arrays. Examples
9
+ * [1,2,3] u [2,3,4,5] -> [1,2,3,4,5]
10
+ * @param {Array<NodeId>} nodeIds1 An array of string or integers defining the nodeid
11
+ * @param {Array<NodeId>} nodeIds2 An array of string or integers defining the nodeid
12
+ */
13
+ export function mergeNodeIdArrays(nodeIds1, nodeIds2) {
14
+ return removeDuplicatesFromArray([...nodeIds1, ...nodeIds2]);
15
+ }
16
+ /**
17
+ * Returns the intersection of two arrays. Example
18
+ * [1,2,3] n [2,3,4,5] -> [2,3]
19
+ * @param {Array} array1
20
+ * @param {Array} array2
21
+ */
22
+ export function intersectArrays(array1, array2) {
23
+ return array1.filter((value) => array2.includes(value));
24
+ }
25
+ /**
26
+ * Returns the count of all leaves in the tree @node
27
+ * @param {Tree} node tree to calculate the treesize for
28
+ */
29
+ export function getTreeSize(node) {
30
+ if (node.children) {
31
+ const numberOfChildren = node.children.length;
32
+ return numberOfChildren + node.children.reduce((l, child) => l + getTreeSize(child), 0);
33
+ }
34
+ return 0;
35
+ }
36
+ /**
37
+ * Returns the leaves of the tree given by @node
38
+ * @param {Tree} node The root node of the tree that should be processed
39
+ */
40
+ export function getAllLeaves(node) {
41
+ if (node.children) {
42
+ return node.children.reduce((childNodes, child) => [...childNodes, ...getAllLeaves(child)], []);
43
+ }
44
+ return [node];
45
+ }
46
+ /**
47
+ * Returns the ids of all leaves of the tree given by @node
48
+ * @param {Tree} node The root node of the tree that should be processed
49
+ */
50
+ export function getAllLeafIds(node) {
51
+ return getAllLeaves(node).map((node) => node.id);
52
+ }
53
+ /**
54
+ * Returns a function that converts an arbitrary hierarchical tree data structure into a treestructure
55
+ * that is processable by the * @Node component. The properties defined in @childNodeKey , @idKey ,
56
+ * @displayNameKey , @typeKey are injected into the returned function @convert . The @convert function
57
+ * returns a new tree of the same structure of smaller size with different parameters.
58
+ *
59
+ * @param {string} childNodeKey The name of the property that holds child nodes
60
+ * @param {string} idKey The name of the property of the node identifier
61
+ * @param {string} displayNameKey The name of the property of the node's name
62
+ * @param {string} typeKey The name of the property to decide if it is a leaf or a "folder" node
63
+ * @param {string} lazyLoadableKey
64
+ * @param {ExpandableNode} nodeMetaData An object containing the value for the node's property @typeKey as well as image paths
65
+ * @param {Leaf} leafMetaData An object containing the value for the node's property @typeKey as well as image paths
66
+ */
67
+ export function convertToTree({ childNodeKey, idKey, displayNameKey, typeKey, lazyLoadableKey, nodeMetaData, leafMetaData }) {
68
+ const { typeValue: leafTypeValue, image, resolver: leafResolver } = leafMetaData;
69
+ const { typeValue: nodeTypeValue, expandedImage, closedImage, resolver: nodeResolver } = nodeMetaData;
70
+ return function convert(hierarchicalData, nodePath = '') {
71
+ return hierarchicalData.map((rootNode) => {
72
+ const id = rootNode[idKey];
73
+ const name = rootNode[displayNameKey];
74
+ const children = rootNode[childNodeKey];
75
+ const lazyLoadable = rootNode[lazyLoadableKey];
76
+ const isNode = nodeResolver ? nodeResolver(rootNode) : rootNode[typeKey] === nodeTypeValue;
77
+ const isLeaf = leafResolver ? leafResolver(rootNode) : rootNode[typeKey] === leafTypeValue;
78
+ const path = `${nodePath}/${name}`;
79
+ const originalNode = rootNode;
80
+ if (isNode) {
81
+ return {
82
+ id,
83
+ name,
84
+ children: convert(children || [], path),
85
+ lazyLoadable,
86
+ expandedImage,
87
+ closedImage,
88
+ path,
89
+ originalNode
90
+ };
91
+ }
92
+ else if (isLeaf) {
93
+ return {
94
+ id,
95
+ name,
96
+ image,
97
+ path,
98
+ originalNode
99
+ };
100
+ }
101
+ throw new Error('unknown node or leaf type provided');
102
+ });
103
+ };
104
+ }
105
+ /**
106
+ * Merges the properties of @node with the properties of @patch .
107
+ * @param {Tree} node The single node to apply the patch against
108
+ * @param {Tree} patch An object holding new properties and additional children for the node
109
+ */
110
+ function patchNode(node, patch) {
111
+ let patchedChildren;
112
+ if (patch.children !== undefined) {
113
+ if (node.children !== undefined) {
114
+ patchedChildren = [...node.children, ...patch.children];
115
+ }
116
+ else {
117
+ patchedChildren = [...patch.children];
118
+ }
119
+ }
120
+ return { ...node, ...patch, children: patchedChildren || undefined };
121
+ }
122
+ /**
123
+ * Find the node with @nodeId in the tree @node and replace properties defined in the provided @patch .
124
+ * If the node with id @nodeId is not found the tree is returned with the same structure.
125
+ * In any case (@nodeId is found or not found) a new object is created and returned, containing the resulting tree.
126
+ *
127
+ * @param {Tree} node The initial tree to add children on
128
+ * @param {NodeId} nodeId The specific node id of the node to add the children
129
+ * @param {Array<Tree>} patch An object containing Tree properties to change on the node with id @nodeId
130
+ */
131
+ export function findNodeAndApplyPatch(node, nodeId, patch) {
132
+ if (node.children === undefined) {
133
+ return node;
134
+ }
135
+ if (node.id === nodeId) {
136
+ return patchNode(node, patch);
137
+ }
138
+ return { ...node, children: node.children.map((childNode) => findNodeAndApplyPatch(childNode, nodeId, patch)) };
139
+ }
140
+ function getTreeNodePathByIdArray(currentNode, idToFind, idKey, childNodeKey, displayNameKey) {
141
+ if (currentNode[idKey] === idToFind) {
142
+ return [currentNode[displayNameKey]];
143
+ }
144
+ else if (currentNode[childNodeKey]) {
145
+ for (let i = 0; i < currentNode[childNodeKey].length; i++) {
146
+ const path = getTreeNodePathByIdArray(currentNode[childNodeKey][i], idToFind, idKey, childNodeKey, displayNameKey);
147
+ if (path) {
148
+ path.unshift(currentNode[displayNameKey]);
149
+ return path;
150
+ }
151
+ }
152
+ }
153
+ return null;
154
+ }
155
+ export function getTreeNodePathById(currentNode, idToFind, idKey, childNodeKey, displayNameKey) {
156
+ const nodePathArray = getTreeNodePathByIdArray(currentNode, idToFind, idKey, childNodeKey, displayNameKey);
157
+ return nodePathArray ? nodePathArray.join('.') : null;
158
+ }