@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.
- package/LICENSE +1 -0
- package/README.md +99 -0
- package/lib/cjs/__mocks__/i18n.d.ts +5 -0
- package/lib/cjs/__mocks__/i18n.d.ts.map +1 -0
- package/lib/cjs/__mocks__/i18n.js +9 -0
- package/lib/cjs/assets/img/icon-arrow-back.png +0 -0
- package/lib/cjs/assets/img/icon_folder_closed.png +0 -0
- package/lib/cjs/assets/img/icon_folder_closed_light.png +0 -0
- package/lib/cjs/assets/img/icon_folder_open.png +0 -0
- package/lib/cjs/assets/img/icon_folder_open_light.png +0 -0
- package/lib/cjs/assets/img/icon_help_light_24.png +0 -0
- package/lib/cjs/assets/img/icon_variablenode.png +0 -0
- package/lib/cjs/assets/img/icon_variablenode_light.png +0 -0
- package/lib/cjs/assets/img/toastify_msg_error_24.png +0 -0
- package/lib/cjs/assets/img/toastify_msg_success_24.png +0 -0
- package/lib/cjs/assets/react-datepicker-custom.css +43 -0
- package/lib/cjs/assets/react-select-custom.css +13 -0
- package/lib/cjs/assets/react-select.css +428 -0
- package/lib/cjs/assets/react-toastify-custom.css +16 -0
- package/lib/cjs/assets/search-box.css +29 -0
- package/lib/cjs/assets/style.css +255 -0
- package/lib/cjs/assets/svg/icon_add.svg +3 -0
- package/lib/cjs/assets/svg/icon_calendar.svg +50 -0
- package/lib/cjs/assets/svg/icon_chevron_left.svg +6 -0
- package/lib/cjs/assets/svg/icon_chevron_right.svg +6 -0
- package/lib/cjs/assets/svg/icon_cross.svg +3 -0
- package/lib/cjs/assets/svg/icon_download.svg +5 -0
- package/lib/cjs/assets/svg/icon_duplicate.svg +10 -0
- package/lib/cjs/assets/svg/icon_edit.svg +6 -0
- package/lib/cjs/assets/svg/icon_folder_loading.svg +21 -0
- package/lib/cjs/assets/svg/icon_fullscreen.svg +6 -0
- package/lib/cjs/assets/svg/icon_gear.svg +5 -0
- package/lib/cjs/assets/svg/icon_help_light.svg +3 -0
- package/lib/cjs/assets/svg/icon_key.svg +3 -0
- package/lib/cjs/assets/svg/icon_lupe.svg +14 -0
- package/lib/cjs/assets/svg/icon_menu_horizontal.svg +5 -0
- package/lib/cjs/assets/svg/icon_menu_vertical.svg +5 -0
- package/lib/cjs/assets/svg/icon_reload.svg +6 -0
- package/lib/cjs/assets/svg/icon_upload.svg +7 -0
- package/lib/cjs/assets/svg/icon_warning_triangle.svg +12 -0
- package/lib/cjs/assets/svg/triangle_down.svg +3 -0
- package/lib/cjs/assets/svg/triangle_left.svg +3 -0
- package/lib/cjs/assets/svg/triangle_right.svg +3 -0
- package/lib/cjs/assets/svg/triangle_up.svg +3 -0
- package/lib/cjs/assets/svg/triangle_up_and_down.svg +4 -0
- package/lib/cjs/components/chart/Chart.d.ts +38 -0
- package/lib/cjs/components/chart/Chart.d.ts.map +1 -0
- package/lib/cjs/components/chart/Chart.js +231 -0
- package/lib/cjs/components/colorpicker/ColorPickerPopper.d.ts +24 -0
- package/lib/cjs/components/colorpicker/ColorPickerPopper.d.ts.map +1 -0
- package/lib/cjs/components/colorpicker/ColorPickerPopper.js +72 -0
- package/lib/cjs/components/colorpicker/GradientColorPicker.d.ts +63 -0
- package/lib/cjs/components/colorpicker/GradientColorPicker.d.ts.map +1 -0
- package/lib/cjs/components/colorpicker/GradientColorPicker.js +154 -0
- package/lib/cjs/components/colorpicker/GridColorPicker.d.ts +41 -0
- package/lib/cjs/components/colorpicker/GridColorPicker.d.ts.map +1 -0
- package/lib/cjs/components/colorpicker/GridColorPicker.js +36 -0
- package/lib/cjs/components/contentHeader/ContentHeader.d.ts +25 -0
- package/lib/cjs/components/contentHeader/ContentHeader.d.ts.map +1 -0
- package/lib/cjs/components/contentHeader/ContentHeader.js +58 -0
- package/lib/cjs/components/infobox/InfoBox.d.ts +22 -0
- package/lib/cjs/components/infobox/InfoBox.d.ts.map +1 -0
- package/lib/cjs/components/infobox/InfoBox.js +61 -0
- package/lib/cjs/components/input/DateInput.d.ts +28 -0
- package/lib/cjs/components/input/DateInput.d.ts.map +1 -0
- package/lib/cjs/components/input/DateInput.js +186 -0
- package/lib/cjs/components/input/DateTimeInput.d.ts +27 -0
- package/lib/cjs/components/input/DateTimeInput.d.ts.map +1 -0
- package/lib/cjs/components/input/DateTimeInput.js +79 -0
- package/lib/cjs/components/input/SelectWithSearch.d.ts +62 -0
- package/lib/cjs/components/input/SelectWithSearch.d.ts.map +1 -0
- package/lib/cjs/components/input/SelectWithSearch.js +119 -0
- package/lib/cjs/components/input/SelectWithSearchAsync.d.ts +58 -0
- package/lib/cjs/components/input/SelectWithSearchAsync.d.ts.map +1 -0
- package/lib/cjs/components/input/SelectWithSearchAsync.js +126 -0
- package/lib/cjs/components/input/UrnInput.d.ts +22 -0
- package/lib/cjs/components/input/UrnInput.d.ts.map +1 -0
- package/lib/cjs/components/input/UrnInput.js +59 -0
- package/lib/cjs/components/input/ValidatedTextInput.d.ts +35 -0
- package/lib/cjs/components/input/ValidatedTextInput.d.ts.map +1 -0
- package/lib/cjs/components/input/ValidatedTextInput.js +36 -0
- package/lib/cjs/components/input/__tests__/DateInput.spec.d.ts +2 -0
- package/lib/cjs/components/input/__tests__/DateInput.spec.d.ts.map +1 -0
- package/lib/cjs/components/input/__tests__/DateInput.spec.js +113 -0
- package/lib/cjs/components/input/__tests__/DateTimeInput.spec.d.ts +2 -0
- package/lib/cjs/components/input/__tests__/DateTimeInput.spec.d.ts.map +1 -0
- package/lib/cjs/components/input/__tests__/DateTimeInput.spec.js +17 -0
- package/lib/cjs/components/input/__tests__/SelectWithSearchAsync.spec.d.ts +2 -0
- package/lib/cjs/components/input/__tests__/SelectWithSearchAsync.spec.d.ts.map +1 -0
- package/lib/cjs/components/input/__tests__/SelectWithSearchAsync.spec.js +48 -0
- package/lib/cjs/components/link/RouteLink.d.ts +31 -0
- package/lib/cjs/components/link/RouteLink.d.ts.map +1 -0
- package/lib/cjs/components/link/RouteLink.js +81 -0
- package/lib/cjs/components/multiMenu/MultiMenu.d.ts +27 -0
- package/lib/cjs/components/multiMenu/MultiMenu.d.ts.map +1 -0
- package/lib/cjs/components/multiMenu/MultiMenu.js +59 -0
- package/lib/cjs/components/multiMenu/components/MultiMenuContext.d.ts +7 -0
- package/lib/cjs/components/multiMenu/components/MultiMenuContext.d.ts.map +1 -0
- package/lib/cjs/components/multiMenu/components/MultiMenuContext.js +10 -0
- package/lib/cjs/components/multiMenu/components/MultiMenuItem.d.ts +14 -0
- package/lib/cjs/components/multiMenu/components/MultiMenuItem.d.ts.map +1 -0
- package/lib/cjs/components/multiMenu/components/MultiMenuItem.js +53 -0
- package/lib/cjs/components/pagination/Pagination.d.ts +37 -0
- package/lib/cjs/components/pagination/Pagination.d.ts.map +1 -0
- package/lib/cjs/components/pagination/Pagination.js +143 -0
- package/lib/cjs/components/pagination/__tests__/Pagination.spec.d.ts +2 -0
- package/lib/cjs/components/pagination/__tests__/Pagination.spec.d.ts.map +1 -0
- package/lib/cjs/components/pagination/__tests__/Pagination.spec.js +115 -0
- package/lib/cjs/components/periodpicker/PeriodPicker.d.ts +23 -0
- package/lib/cjs/components/periodpicker/PeriodPicker.d.ts.map +1 -0
- package/lib/cjs/components/periodpicker/PeriodPicker.js +40 -0
- package/lib/cjs/components/periodpicker/components/Inputs.d.ts +12 -0
- package/lib/cjs/components/periodpicker/components/Inputs.d.ts.map +1 -0
- package/lib/cjs/components/periodpicker/components/Inputs.js +88 -0
- package/lib/cjs/components/periodpicker/components/Menu.d.ts +11 -0
- package/lib/cjs/components/periodpicker/components/Menu.d.ts.map +1 -0
- package/lib/cjs/components/periodpicker/components/Menu.js +125 -0
- package/lib/cjs/components/periodpicker/components/MonthPicker.d.ts +19 -0
- package/lib/cjs/components/periodpicker/components/MonthPicker.d.ts.map +1 -0
- package/lib/cjs/components/periodpicker/components/MonthPicker.js +91 -0
- package/lib/cjs/components/periodpicker/periods.d.ts +33 -0
- package/lib/cjs/components/periodpicker/periods.d.ts.map +1 -0
- package/lib/cjs/components/periodpicker/periods.js +71 -0
- package/lib/cjs/components/periodpicker/types.d.ts +5 -0
- package/lib/cjs/components/periodpicker/types.d.ts.map +1 -0
- package/lib/cjs/components/periodpicker/types.js +2 -0
- package/lib/cjs/components/periodpicker/usePeriodName.d.ts +7 -0
- package/lib/cjs/components/periodpicker/usePeriodName.d.ts.map +1 -0
- package/lib/cjs/components/periodpicker/usePeriodName.js +41 -0
- package/lib/cjs/components/prompt/Prompt.d.ts +23 -0
- package/lib/cjs/components/prompt/Prompt.d.ts.map +1 -0
- package/lib/cjs/components/prompt/Prompt.js +57 -0
- package/lib/cjs/components/prompt/withPrompt.d.ts +7 -0
- package/lib/cjs/components/prompt/withPrompt.d.ts.map +1 -0
- package/lib/cjs/components/prompt/withPrompt.js +62 -0
- package/lib/cjs/components/reactable/Reactable.d.ts +38 -0
- package/lib/cjs/components/reactable/Reactable.d.ts.map +1 -0
- package/lib/cjs/components/reactable/Reactable.js +47 -0
- package/lib/cjs/components/reactable/helpers/ReactableTable.d.ts +21 -0
- package/lib/cjs/components/reactable/helpers/ReactableTable.d.ts.map +1 -0
- package/lib/cjs/components/reactable/helpers/ReactableTable.js +62 -0
- package/lib/cjs/components/reactable/helpers/ReactableTableFilterRow.d.ts +9 -0
- package/lib/cjs/components/reactable/helpers/ReactableTableFilterRow.d.ts.map +1 -0
- package/lib/cjs/components/reactable/helpers/ReactableTableFilterRow.js +85 -0
- package/lib/cjs/components/reactable/helpers/ReactableTableHeader.d.ts +16 -0
- package/lib/cjs/components/reactable/helpers/ReactableTableHeader.d.ts.map +1 -0
- package/lib/cjs/components/reactable/helpers/ReactableTableHeader.js +78 -0
- package/lib/cjs/components/reactable/helpers/ReactableTableRow.d.ts +16 -0
- package/lib/cjs/components/reactable/helpers/ReactableTableRow.d.ts.map +1 -0
- package/lib/cjs/components/reactable/helpers/ReactableTableRow.js +82 -0
- package/lib/cjs/components/reactable/helpers/ReactableTextFilter.d.ts +9 -0
- package/lib/cjs/components/reactable/helpers/ReactableTextFilter.d.ts.map +1 -0
- package/lib/cjs/components/reactable/helpers/ReactableTextFilter.js +43 -0
- package/lib/cjs/components/reactable/helpers/helper.d.ts +7 -0
- package/lib/cjs/components/reactable/helpers/helper.d.ts.map +1 -0
- package/lib/cjs/components/reactable/helpers/helper.js +120 -0
- package/lib/cjs/components/reactable/types.d.ts +38 -0
- package/lib/cjs/components/reactable/types.d.ts.map +1 -0
- package/lib/cjs/components/reactable/types.js +2 -0
- package/lib/cjs/components/reactableWithClientSidePagination/ReactableWithClientSidePagination.d.ts +69 -0
- package/lib/cjs/components/reactableWithClientSidePagination/ReactableWithClientSidePagination.d.ts.map +1 -0
- package/lib/cjs/components/reactableWithClientSidePagination/ReactableWithClientSidePagination.js +184 -0
- package/lib/cjs/components/reactableWithClientSidePagination/__tests__/ReactableWithClientSidePagination.spec.d.ts +2 -0
- package/lib/cjs/components/reactableWithClientSidePagination/__tests__/ReactableWithClientSidePagination.spec.d.ts.map +1 -0
- package/lib/cjs/components/reactableWithClientSidePagination/__tests__/ReactableWithClientSidePagination.spec.js +166 -0
- package/lib/cjs/components/slider/Slider.d.ts +30 -0
- package/lib/cjs/components/slider/Slider.d.ts.map +1 -0
- package/lib/cjs/components/slider/Slider.js +63 -0
- package/lib/cjs/components/slider/useLimitStyling.d.ts +3 -0
- package/lib/cjs/components/slider/useLimitStyling.d.ts.map +1 -0
- package/lib/cjs/components/slider/useLimitStyling.js +52 -0
- package/lib/cjs/components/svg/SvgImage.d.ts +12 -0
- package/lib/cjs/components/svg/SvgImage.d.ts.map +1 -0
- package/lib/cjs/components/svg/SvgImage.js +66 -0
- package/lib/cjs/components/svg/storybookHelper.d.ts +7 -0
- package/lib/cjs/components/svg/storybookHelper.d.ts.map +1 -0
- package/lib/cjs/components/svg/storybookHelper.js +56 -0
- package/lib/cjs/components/svg/types.d.ts +58 -0
- package/lib/cjs/components/svg/types.d.ts.map +1 -0
- package/lib/cjs/components/svg/types.js +2 -0
- package/lib/cjs/components/svg/utils/__tests__/getMutableNodeList.spec.d.ts +2 -0
- package/lib/cjs/components/svg/utils/__tests__/getMutableNodeList.spec.d.ts.map +1 -0
- package/lib/cjs/components/svg/utils/__tests__/getMutableNodeList.spec.js +48 -0
- package/lib/cjs/components/svg/utils/createHyperlinkModification.d.ts +4 -0
- package/lib/cjs/components/svg/utils/createHyperlinkModification.d.ts.map +1 -0
- package/lib/cjs/components/svg/utils/createHyperlinkModification.js +39 -0
- package/lib/cjs/components/svg/utils/createPositionModification.d.ts +3 -0
- package/lib/cjs/components/svg/utils/createPositionModification.d.ts.map +1 -0
- package/lib/cjs/components/svg/utils/createPositionModification.js +22 -0
- package/lib/cjs/components/svg/utils/findConflicts.d.ts +2 -0
- package/lib/cjs/components/svg/utils/findConflicts.d.ts.map +1 -0
- package/lib/cjs/components/svg/utils/findConflicts.js +26 -0
- package/lib/cjs/components/svg/utils/getMutableNodeList.d.ts +3 -0
- package/lib/cjs/components/svg/utils/getMutableNodeList.d.ts.map +1 -0
- package/lib/cjs/components/svg/utils/getMutableNodeList.js +17 -0
- package/lib/cjs/components/svg/utils/getSvgElement.d.ts +3 -0
- package/lib/cjs/components/svg/utils/getSvgElement.d.ts.map +1 -0
- package/lib/cjs/components/svg/utils/getSvgElement.js +12 -0
- package/lib/cjs/components/svg/utils/renderSvg.d.ts +3 -0
- package/lib/cjs/components/svg/utils/renderSvg.d.ts.map +1 -0
- package/lib/cjs/components/svg/utils/renderSvg.js +94 -0
- package/lib/cjs/components/svg/utils/transformPositionModifications.d.ts +4 -0
- package/lib/cjs/components/svg/utils/transformPositionModifications.d.ts.map +1 -0
- package/lib/cjs/components/svg/utils/transformPositionModifications.js +44 -0
- package/lib/cjs/components/svg/utils/validateSvg.d.ts +3 -0
- package/lib/cjs/components/svg/utils/validateSvg.d.ts.map +1 -0
- package/lib/cjs/components/svg/utils/validateSvg.js +10 -0
- package/lib/cjs/components/tabs/RouteTabs.d.ts +24 -0
- package/lib/cjs/components/tabs/RouteTabs.d.ts.map +1 -0
- package/lib/cjs/components/tabs/RouteTabs.js +96 -0
- package/lib/cjs/components/treeview/TreeView.d.ts +50 -0
- package/lib/cjs/components/treeview/TreeView.d.ts.map +1 -0
- package/lib/cjs/components/treeview/TreeView.js +133 -0
- package/lib/cjs/components/treeview/components/Node.d.ts +37 -0
- package/lib/cjs/components/treeview/components/Node.d.ts.map +1 -0
- package/lib/cjs/components/treeview/components/Node.js +140 -0
- package/lib/cjs/components/treeview/components/NodeInfo.d.ts +25 -0
- package/lib/cjs/components/treeview/components/NodeInfo.d.ts.map +1 -0
- package/lib/cjs/components/treeview/components/NodeInfo.js +93 -0
- package/lib/cjs/components/treeview/constants.d.ts +6 -0
- package/lib/cjs/components/treeview/constants.d.ts.map +1 -0
- package/lib/cjs/components/treeview/constants.js +9 -0
- package/lib/cjs/components/treeview/treeutils.d.ts +59 -0
- package/lib/cjs/components/treeview/treeutils.d.ts.map +1 -0
- package/lib/cjs/components/treeview/treeutils.js +171 -0
- package/lib/cjs/components/treeview/types.d.ts +37 -0
- package/lib/cjs/components/treeview/types.d.ts.map +1 -0
- package/lib/cjs/components/treeview/types.js +2 -0
- package/lib/cjs/components/upload/FileUpload.d.ts +67 -0
- package/lib/cjs/components/upload/FileUpload.d.ts.map +1 -0
- package/lib/cjs/components/upload/FileUpload.js +124 -0
- package/lib/cjs/components/upload/ImageUpload.d.ts +21 -0
- package/lib/cjs/components/upload/ImageUpload.d.ts.map +1 -0
- package/lib/cjs/components/upload/ImageUpload.js +74 -0
- package/lib/cjs/hoc/outsideClick.d.ts +4 -0
- package/lib/cjs/hoc/outsideClick.d.ts.map +1 -0
- package/lib/cjs/hoc/outsideClick.js +101 -0
- package/lib/cjs/i18n/index.d.ts +16 -0
- package/lib/cjs/i18n/index.d.ts.map +1 -0
- package/lib/cjs/i18n/index.js +8 -0
- package/lib/cjs/index.d.ts +52 -0
- package/lib/cjs/index.d.ts.map +1 -0
- package/lib/cjs/index.js +88 -0
- package/lib/cjs/modules/messageBox/messageBox.d.ts +14 -0
- package/lib/cjs/modules/messageBox/messageBox.d.ts.map +1 -0
- package/lib/cjs/modules/messageBox/messageBox.js +71 -0
- package/lib/cjs/modules/utils/nanoidGen.d.ts +2 -0
- package/lib/cjs/modules/utils/nanoidGen.d.ts.map +1 -0
- package/lib/cjs/modules/utils/nanoidGen.js +6 -0
- package/lib/cjs/modules/utils/uuidGen.d.ts +2 -0
- package/lib/cjs/modules/utils/uuidGen.d.ts.map +1 -0
- package/lib/cjs/modules/utils/uuidGen.js +17 -0
- package/lib/cjs/types/i18n.d.ts +5 -0
- package/lib/cjs/types/i18n.d.ts.map +1 -0
- package/lib/cjs/types/i18n.js +2 -0
- package/lib/cjs/types/pagination.d.ts +19 -0
- package/lib/cjs/types/pagination.d.ts.map +1 -0
- package/lib/cjs/types/pagination.js +2 -0
- package/lib/cjs/utils/dayjsLocales.d.ts +10 -0
- package/lib/cjs/utils/dayjsLocales.d.ts.map +1 -0
- package/lib/cjs/utils/dayjsLocales.js +16 -0
- package/lib/cjs/utils/resolvePath.d.ts +2 -0
- package/lib/cjs/utils/resolvePath.d.ts.map +1 -0
- package/lib/cjs/utils/resolvePath.js +7 -0
- package/lib/esm/__mocks__/i18n.d.ts +5 -0
- package/lib/esm/__mocks__/i18n.d.ts.map +1 -0
- package/lib/esm/__mocks__/i18n.js +5 -0
- package/lib/esm/assets/img/icon-arrow-back.png +0 -0
- package/lib/esm/assets/img/icon_folder_closed.png +0 -0
- package/lib/esm/assets/img/icon_folder_closed_light.png +0 -0
- package/lib/esm/assets/img/icon_folder_open.png +0 -0
- package/lib/esm/assets/img/icon_folder_open_light.png +0 -0
- package/lib/esm/assets/img/icon_help_light_24.png +0 -0
- package/lib/esm/assets/img/icon_variablenode.png +0 -0
- package/lib/esm/assets/img/icon_variablenode_light.png +0 -0
- package/lib/esm/assets/img/toastify_msg_error_24.png +0 -0
- package/lib/esm/assets/img/toastify_msg_success_24.png +0 -0
- package/lib/esm/assets/react-datepicker-custom.css +43 -0
- package/lib/esm/assets/react-select-custom.css +13 -0
- package/lib/esm/assets/react-select.css +428 -0
- package/lib/esm/assets/react-toastify-custom.css +16 -0
- package/lib/esm/assets/search-box.css +29 -0
- package/lib/esm/assets/style.css +255 -0
- package/lib/esm/assets/svg/icon_add.svg +3 -0
- package/lib/esm/assets/svg/icon_calendar.svg +50 -0
- package/lib/esm/assets/svg/icon_chevron_left.svg +6 -0
- package/lib/esm/assets/svg/icon_chevron_right.svg +6 -0
- package/lib/esm/assets/svg/icon_cross.svg +3 -0
- package/lib/esm/assets/svg/icon_download.svg +5 -0
- package/lib/esm/assets/svg/icon_duplicate.svg +10 -0
- package/lib/esm/assets/svg/icon_edit.svg +6 -0
- package/lib/esm/assets/svg/icon_folder_loading.svg +21 -0
- package/lib/esm/assets/svg/icon_fullscreen.svg +6 -0
- package/lib/esm/assets/svg/icon_gear.svg +5 -0
- package/lib/esm/assets/svg/icon_help_light.svg +3 -0
- package/lib/esm/assets/svg/icon_key.svg +3 -0
- package/lib/esm/assets/svg/icon_lupe.svg +14 -0
- package/lib/esm/assets/svg/icon_menu_horizontal.svg +5 -0
- package/lib/esm/assets/svg/icon_menu_vertical.svg +5 -0
- package/lib/esm/assets/svg/icon_reload.svg +6 -0
- package/lib/esm/assets/svg/icon_upload.svg +7 -0
- package/lib/esm/assets/svg/icon_warning_triangle.svg +12 -0
- package/lib/esm/assets/svg/triangle_down.svg +3 -0
- package/lib/esm/assets/svg/triangle_left.svg +3 -0
- package/lib/esm/assets/svg/triangle_right.svg +3 -0
- package/lib/esm/assets/svg/triangle_up.svg +3 -0
- package/lib/esm/assets/svg/triangle_up_and_down.svg +4 -0
- package/lib/esm/components/chart/Chart.d.ts +38 -0
- package/lib/esm/components/chart/Chart.d.ts.map +1 -0
- package/lib/esm/components/chart/Chart.js +202 -0
- package/lib/esm/components/colorpicker/ColorPickerPopper.d.ts +24 -0
- package/lib/esm/components/colorpicker/ColorPickerPopper.d.ts.map +1 -0
- package/lib/esm/components/colorpicker/ColorPickerPopper.js +46 -0
- package/lib/esm/components/colorpicker/GradientColorPicker.d.ts +63 -0
- package/lib/esm/components/colorpicker/GradientColorPicker.d.ts.map +1 -0
- package/lib/esm/components/colorpicker/GradientColorPicker.js +125 -0
- package/lib/esm/components/colorpicker/GridColorPicker.d.ts +41 -0
- package/lib/esm/components/colorpicker/GridColorPicker.d.ts.map +1 -0
- package/lib/esm/components/colorpicker/GridColorPicker.js +30 -0
- package/lib/esm/components/contentHeader/ContentHeader.d.ts +25 -0
- package/lib/esm/components/contentHeader/ContentHeader.d.ts.map +1 -0
- package/lib/esm/components/contentHeader/ContentHeader.js +53 -0
- package/lib/esm/components/infobox/InfoBox.d.ts +22 -0
- package/lib/esm/components/infobox/InfoBox.d.ts.map +1 -0
- package/lib/esm/components/infobox/InfoBox.js +36 -0
- package/lib/esm/components/input/DateInput.d.ts +28 -0
- package/lib/esm/components/input/DateInput.d.ts.map +1 -0
- package/lib/esm/components/input/DateInput.js +157 -0
- package/lib/esm/components/input/DateTimeInput.d.ts +27 -0
- package/lib/esm/components/input/DateTimeInput.d.ts.map +1 -0
- package/lib/esm/components/input/DateTimeInput.js +50 -0
- package/lib/esm/components/input/SelectWithSearch.d.ts +62 -0
- package/lib/esm/components/input/SelectWithSearch.d.ts.map +1 -0
- package/lib/esm/components/input/SelectWithSearch.js +90 -0
- package/lib/esm/components/input/SelectWithSearchAsync.d.ts +58 -0
- package/lib/esm/components/input/SelectWithSearchAsync.d.ts.map +1 -0
- package/lib/esm/components/input/SelectWithSearchAsync.js +100 -0
- package/lib/esm/components/input/UrnInput.d.ts +22 -0
- package/lib/esm/components/input/UrnInput.d.ts.map +1 -0
- package/lib/esm/components/input/UrnInput.js +33 -0
- package/lib/esm/components/input/ValidatedTextInput.d.ts +35 -0
- package/lib/esm/components/input/ValidatedTextInput.d.ts.map +1 -0
- package/lib/esm/components/input/ValidatedTextInput.js +30 -0
- package/lib/esm/components/input/__tests__/DateInput.spec.d.ts +2 -0
- package/lib/esm/components/input/__tests__/DateInput.spec.d.ts.map +1 -0
- package/lib/esm/components/input/__tests__/DateInput.spec.js +85 -0
- package/lib/esm/components/input/__tests__/DateTimeInput.spec.d.ts +2 -0
- package/lib/esm/components/input/__tests__/DateTimeInput.spec.d.ts.map +1 -0
- package/lib/esm/components/input/__tests__/DateTimeInput.spec.js +12 -0
- package/lib/esm/components/input/__tests__/SelectWithSearchAsync.spec.d.ts +2 -0
- package/lib/esm/components/input/__tests__/SelectWithSearchAsync.spec.d.ts.map +1 -0
- package/lib/esm/components/input/__tests__/SelectWithSearchAsync.spec.js +43 -0
- package/lib/esm/components/link/RouteLink.d.ts +31 -0
- package/lib/esm/components/link/RouteLink.d.ts.map +1 -0
- package/lib/esm/components/link/RouteLink.js +55 -0
- package/lib/esm/components/multiMenu/MultiMenu.d.ts +27 -0
- package/lib/esm/components/multiMenu/MultiMenu.d.ts.map +1 -0
- package/lib/esm/components/multiMenu/MultiMenu.js +30 -0
- package/lib/esm/components/multiMenu/components/MultiMenuContext.d.ts +7 -0
- package/lib/esm/components/multiMenu/components/MultiMenuContext.d.ts.map +1 -0
- package/lib/esm/components/multiMenu/components/MultiMenuContext.js +5 -0
- package/lib/esm/components/multiMenu/components/MultiMenuItem.d.ts +14 -0
- package/lib/esm/components/multiMenu/components/MultiMenuItem.d.ts.map +1 -0
- package/lib/esm/components/multiMenu/components/MultiMenuItem.js +24 -0
- package/lib/esm/components/pagination/Pagination.d.ts +37 -0
- package/lib/esm/components/pagination/Pagination.d.ts.map +1 -0
- package/lib/esm/components/pagination/Pagination.js +114 -0
- package/lib/esm/components/pagination/__tests__/Pagination.spec.d.ts +2 -0
- package/lib/esm/components/pagination/__tests__/Pagination.spec.d.ts.map +1 -0
- package/lib/esm/components/pagination/__tests__/Pagination.spec.js +87 -0
- package/lib/esm/components/periodpicker/PeriodPicker.d.ts +23 -0
- package/lib/esm/components/periodpicker/PeriodPicker.d.ts.map +1 -0
- package/lib/esm/components/periodpicker/PeriodPicker.js +11 -0
- package/lib/esm/components/periodpicker/components/Inputs.d.ts +12 -0
- package/lib/esm/components/periodpicker/components/Inputs.d.ts.map +1 -0
- package/lib/esm/components/periodpicker/components/Inputs.js +59 -0
- package/lib/esm/components/periodpicker/components/Menu.d.ts +11 -0
- package/lib/esm/components/periodpicker/components/Menu.d.ts.map +1 -0
- package/lib/esm/components/periodpicker/components/Menu.js +96 -0
- package/lib/esm/components/periodpicker/components/MonthPicker.d.ts +19 -0
- package/lib/esm/components/periodpicker/components/MonthPicker.d.ts.map +1 -0
- package/lib/esm/components/periodpicker/components/MonthPicker.js +62 -0
- package/lib/esm/components/periodpicker/periods.d.ts +33 -0
- package/lib/esm/components/periodpicker/periods.d.ts.map +1 -0
- package/lib/esm/components/periodpicker/periods.js +56 -0
- package/lib/esm/components/periodpicker/types.d.ts +5 -0
- package/lib/esm/components/periodpicker/types.d.ts.map +1 -0
- package/lib/esm/components/periodpicker/types.js +1 -0
- package/lib/esm/components/periodpicker/usePeriodName.d.ts +7 -0
- package/lib/esm/components/periodpicker/usePeriodName.d.ts.map +1 -0
- package/lib/esm/components/periodpicker/usePeriodName.js +38 -0
- package/lib/esm/components/prompt/Prompt.d.ts +23 -0
- package/lib/esm/components/prompt/Prompt.d.ts.map +1 -0
- package/lib/esm/components/prompt/Prompt.js +31 -0
- package/lib/esm/components/prompt/withPrompt.d.ts +7 -0
- package/lib/esm/components/prompt/withPrompt.d.ts.map +1 -0
- package/lib/esm/components/prompt/withPrompt.js +33 -0
- package/lib/esm/components/reactable/Reactable.d.ts +38 -0
- package/lib/esm/components/reactable/Reactable.d.ts.map +1 -0
- package/lib/esm/components/reactable/Reactable.js +18 -0
- package/lib/esm/components/reactable/helpers/ReactableTable.d.ts +21 -0
- package/lib/esm/components/reactable/helpers/ReactableTable.d.ts.map +1 -0
- package/lib/esm/components/reactable/helpers/ReactableTable.js +33 -0
- package/lib/esm/components/reactable/helpers/ReactableTableFilterRow.d.ts +9 -0
- package/lib/esm/components/reactable/helpers/ReactableTableFilterRow.d.ts.map +1 -0
- package/lib/esm/components/reactable/helpers/ReactableTableFilterRow.js +57 -0
- package/lib/esm/components/reactable/helpers/ReactableTableHeader.d.ts +16 -0
- package/lib/esm/components/reactable/helpers/ReactableTableHeader.d.ts.map +1 -0
- package/lib/esm/components/reactable/helpers/ReactableTableHeader.js +52 -0
- package/lib/esm/components/reactable/helpers/ReactableTableRow.d.ts +16 -0
- package/lib/esm/components/reactable/helpers/ReactableTableRow.d.ts.map +1 -0
- package/lib/esm/components/reactable/helpers/ReactableTableRow.js +56 -0
- package/lib/esm/components/reactable/helpers/ReactableTextFilter.d.ts +9 -0
- package/lib/esm/components/reactable/helpers/ReactableTextFilter.d.ts.map +1 -0
- package/lib/esm/components/reactable/helpers/ReactableTextFilter.js +18 -0
- package/lib/esm/components/reactable/helpers/helper.d.ts +7 -0
- package/lib/esm/components/reactable/helpers/helper.d.ts.map +1 -0
- package/lib/esm/components/reactable/helpers/helper.js +90 -0
- package/lib/esm/components/reactable/types.d.ts +38 -0
- package/lib/esm/components/reactable/types.d.ts.map +1 -0
- package/lib/esm/components/reactable/types.js +1 -0
- package/lib/esm/components/reactableWithClientSidePagination/ReactableWithClientSidePagination.d.ts +69 -0
- package/lib/esm/components/reactableWithClientSidePagination/ReactableWithClientSidePagination.d.ts.map +1 -0
- package/lib/esm/components/reactableWithClientSidePagination/ReactableWithClientSidePagination.js +155 -0
- package/lib/esm/components/reactableWithClientSidePagination/__tests__/ReactableWithClientSidePagination.spec.d.ts +2 -0
- package/lib/esm/components/reactableWithClientSidePagination/__tests__/ReactableWithClientSidePagination.spec.d.ts.map +1 -0
- package/lib/esm/components/reactableWithClientSidePagination/__tests__/ReactableWithClientSidePagination.spec.js +138 -0
- package/lib/esm/components/slider/Slider.d.ts +30 -0
- package/lib/esm/components/slider/Slider.d.ts.map +1 -0
- package/lib/esm/components/slider/Slider.js +35 -0
- package/lib/esm/components/slider/useLimitStyling.d.ts +3 -0
- package/lib/esm/components/slider/useLimitStyling.d.ts.map +1 -0
- package/lib/esm/components/slider/useLimitStyling.js +49 -0
- package/lib/esm/components/svg/SvgImage.d.ts +12 -0
- package/lib/esm/components/svg/SvgImage.d.ts.map +1 -0
- package/lib/esm/components/svg/SvgImage.js +37 -0
- package/lib/esm/components/svg/storybookHelper.d.ts +7 -0
- package/lib/esm/components/svg/storybookHelper.d.ts.map +1 -0
- package/lib/esm/components/svg/storybookHelper.js +53 -0
- package/lib/esm/components/svg/types.d.ts +58 -0
- package/lib/esm/components/svg/types.d.ts.map +1 -0
- package/lib/esm/components/svg/types.js +1 -0
- package/lib/esm/components/svg/utils/__tests__/getMutableNodeList.spec.d.ts +2 -0
- package/lib/esm/components/svg/utils/__tests__/getMutableNodeList.spec.d.ts.map +1 -0
- package/lib/esm/components/svg/utils/__tests__/getMutableNodeList.spec.js +23 -0
- package/lib/esm/components/svg/utils/createHyperlinkModification.d.ts +4 -0
- package/lib/esm/components/svg/utils/createHyperlinkModification.d.ts.map +1 -0
- package/lib/esm/components/svg/utils/createHyperlinkModification.js +35 -0
- package/lib/esm/components/svg/utils/createPositionModification.d.ts +3 -0
- package/lib/esm/components/svg/utils/createPositionModification.d.ts.map +1 -0
- package/lib/esm/components/svg/utils/createPositionModification.js +19 -0
- package/lib/esm/components/svg/utils/findConflicts.d.ts +2 -0
- package/lib/esm/components/svg/utils/findConflicts.d.ts.map +1 -0
- package/lib/esm/components/svg/utils/findConflicts.js +23 -0
- package/lib/esm/components/svg/utils/getMutableNodeList.d.ts +3 -0
- package/lib/esm/components/svg/utils/getMutableNodeList.d.ts.map +1 -0
- package/lib/esm/components/svg/utils/getMutableNodeList.js +12 -0
- package/lib/esm/components/svg/utils/getSvgElement.d.ts +3 -0
- package/lib/esm/components/svg/utils/getSvgElement.d.ts.map +1 -0
- package/lib/esm/components/svg/utils/getSvgElement.js +10 -0
- package/lib/esm/components/svg/utils/renderSvg.d.ts +3 -0
- package/lib/esm/components/svg/utils/renderSvg.d.ts.map +1 -0
- package/lib/esm/components/svg/utils/renderSvg.js +88 -0
- package/lib/esm/components/svg/utils/transformPositionModifications.d.ts +4 -0
- package/lib/esm/components/svg/utils/transformPositionModifications.d.ts.map +1 -0
- package/lib/esm/components/svg/utils/transformPositionModifications.js +42 -0
- package/lib/esm/components/svg/utils/validateSvg.d.ts +3 -0
- package/lib/esm/components/svg/utils/validateSvg.d.ts.map +1 -0
- package/lib/esm/components/svg/utils/validateSvg.js +5 -0
- package/lib/esm/components/tabs/RouteTabs.d.ts +24 -0
- package/lib/esm/components/tabs/RouteTabs.d.ts.map +1 -0
- package/lib/esm/components/tabs/RouteTabs.js +67 -0
- package/lib/esm/components/treeview/TreeView.d.ts +50 -0
- package/lib/esm/components/treeview/TreeView.d.ts.map +1 -0
- package/lib/esm/components/treeview/TreeView.js +104 -0
- package/lib/esm/components/treeview/components/Node.d.ts +37 -0
- package/lib/esm/components/treeview/components/Node.d.ts.map +1 -0
- package/lib/esm/components/treeview/components/Node.js +111 -0
- package/lib/esm/components/treeview/components/NodeInfo.d.ts +25 -0
- package/lib/esm/components/treeview/components/NodeInfo.d.ts.map +1 -0
- package/lib/esm/components/treeview/components/NodeInfo.js +64 -0
- package/lib/esm/components/treeview/constants.d.ts +6 -0
- package/lib/esm/components/treeview/constants.d.ts.map +1 -0
- package/lib/esm/components/treeview/constants.js +6 -0
- package/lib/esm/components/treeview/treeutils.d.ts +59 -0
- package/lib/esm/components/treeview/treeutils.d.ts.map +1 -0
- package/lib/esm/components/treeview/treeutils.js +158 -0
- package/lib/esm/components/treeview/types.d.ts +37 -0
- package/lib/esm/components/treeview/types.d.ts.map +1 -0
- package/lib/esm/components/treeview/types.js +1 -0
- package/lib/esm/components/upload/FileUpload.d.ts +67 -0
- package/lib/esm/components/upload/FileUpload.d.ts.map +1 -0
- package/lib/esm/components/upload/FileUpload.js +95 -0
- package/lib/esm/components/upload/ImageUpload.d.ts +21 -0
- package/lib/esm/components/upload/ImageUpload.d.ts.map +1 -0
- package/lib/esm/components/upload/ImageUpload.js +45 -0
- package/lib/esm/hoc/outsideClick.d.ts +4 -0
- package/lib/esm/hoc/outsideClick.d.ts.map +1 -0
- package/lib/esm/hoc/outsideClick.js +73 -0
- package/lib/esm/i18n/index.d.ts +16 -0
- package/lib/esm/i18n/index.d.ts.map +1 -0
- package/lib/esm/i18n/index.js +6 -0
- package/lib/esm/index.d.ts +52 -0
- package/lib/esm/index.d.ts.map +1 -0
- package/lib/esm/index.js +39 -0
- package/lib/esm/modules/messageBox/messageBox.d.ts +14 -0
- package/lib/esm/modules/messageBox/messageBox.d.ts.map +1 -0
- package/lib/esm/modules/messageBox/messageBox.js +56 -0
- package/lib/esm/modules/utils/nanoidGen.d.ts +2 -0
- package/lib/esm/modules/utils/nanoidGen.d.ts.map +1 -0
- package/lib/esm/modules/utils/nanoidGen.js +3 -0
- package/lib/esm/modules/utils/uuidGen.d.ts +2 -0
- package/lib/esm/modules/utils/uuidGen.d.ts.map +1 -0
- package/lib/esm/modules/utils/uuidGen.js +13 -0
- package/lib/esm/types/i18n.d.ts +5 -0
- package/lib/esm/types/i18n.d.ts.map +1 -0
- package/lib/esm/types/i18n.js +1 -0
- package/lib/esm/types/pagination.d.ts +19 -0
- package/lib/esm/types/pagination.d.ts.map +1 -0
- package/lib/esm/types/pagination.js +1 -0
- package/lib/esm/utils/dayjsLocales.d.ts +10 -0
- package/lib/esm/utils/dayjsLocales.d.ts.map +1 -0
- package/lib/esm/utils/dayjsLocales.js +12 -0
- package/lib/esm/utils/resolvePath.d.ts +2 -0
- package/lib/esm/utils/resolvePath.d.ts.map +1 -0
- package/lib/esm/utils/resolvePath.js +4 -0
- 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 @@
|
|
|
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,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
|
+
}
|