@itwin/tree-widget-react 3.0.0-dev.0 → 3.0.0-dev.2
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/CHANGELOG.md +9 -1
- package/README.md +232 -147
- package/lib/cjs/TreeWidget.d.ts +0 -1
- package/lib/cjs/TreeWidget.js +0 -6
- package/lib/cjs/TreeWidget.js.map +1 -1
- package/lib/cjs/components/SelectableTree.d.ts +3 -9
- package/lib/cjs/components/SelectableTree.js +1 -1
- package/lib/cjs/components/SelectableTree.js.map +1 -1
- package/lib/cjs/components/TreeSelector.d.ts +2 -2
- package/lib/cjs/components/TreeSelector.js.map +1 -1
- package/lib/cjs/components/TreeWidgetUiItemsProvider.d.ts +14 -25
- package/lib/cjs/components/TreeWidgetUiItemsProvider.js +43 -45
- package/lib/cjs/components/TreeWidgetUiItemsProvider.js.map +1 -1
- package/lib/cjs/components/tree-header/TreeHeader.js +10 -10
- package/lib/cjs/components/tree-header/TreeHeader.js.map +1 -1
- package/lib/cjs/components/tree-header/TreeHeader.scss +7 -41
- package/lib/cjs/components/trees/Tree.scss +23 -0
- package/lib/cjs/components/trees/categories-tree/CategoriesTree.d.ts +22 -0
- package/lib/cjs/components/trees/categories-tree/CategoriesTree.js +78 -0
- package/lib/cjs/components/trees/categories-tree/CategoriesTree.js.map +1 -0
- package/lib/{esm/components/trees/category-tree → cjs/components/trees/categories-tree}/CategoriesTreeButtons.d.ts +2 -9
- package/lib/cjs/components/trees/{category-tree → categories-tree}/CategoriesTreeButtons.js +10 -11
- package/lib/cjs/components/trees/categories-tree/CategoriesTreeButtons.js.map +1 -0
- package/lib/{esm/components/trees/category-tree → cjs/components/trees/categories-tree}/CategoriesTreeComponent.d.ts +11 -12
- package/lib/cjs/components/trees/categories-tree/CategoriesTreeComponent.js +75 -0
- package/lib/cjs/components/trees/categories-tree/CategoriesTreeComponent.js.map +1 -0
- package/lib/cjs/components/trees/{stateless/categories-tree → categories-tree}/CategoriesTreeDefinition.js +7 -2
- package/lib/cjs/components/trees/categories-tree/CategoriesTreeDefinition.js.map +1 -0
- package/lib/cjs/components/trees/{stateless/categories-tree → categories-tree}/CategoriesVisibilityHandler.d.ts +6 -6
- package/lib/cjs/components/trees/{stateless/categories-tree → categories-tree}/CategoriesVisibilityHandler.js +10 -10
- package/lib/cjs/components/trees/categories-tree/CategoriesVisibilityHandler.js.map +1 -0
- package/lib/cjs/components/trees/categories-tree/UseCategories.d.ts +8 -0
- package/lib/cjs/components/trees/categories-tree/UseCategories.js +22 -0
- package/lib/cjs/components/trees/categories-tree/UseCategories.js.map +1 -0
- package/lib/cjs/components/trees/common/CategoriesVisibilityUtils.d.ts +46 -0
- package/lib/cjs/components/trees/{CategoriesVisibilityUtils.js → common/CategoriesVisibilityUtils.js} +56 -8
- package/lib/cjs/components/trees/common/CategoriesVisibilityUtils.js.map +1 -0
- package/lib/{esm/components/trees/stateless → cjs/components/trees}/common/FocusedInstancesContext.d.ts +2 -1
- package/lib/cjs/components/trees/common/FocusedInstancesContext.js.map +1 -0
- package/lib/{esm/components/trees/stateless → cjs/components/trees}/common/FocusedInstancesContextProvider.d.ts +1 -1
- package/lib/cjs/components/trees/{stateless/common → common}/FocusedInstancesContextProvider.js +30 -6
- package/lib/cjs/components/trees/common/FocusedInstancesContextProvider.js.map +1 -0
- package/lib/cjs/components/trees/common/Rxjs.d.ts +10 -0
- package/lib/cjs/components/trees/common/Rxjs.js +46 -0
- package/lib/cjs/components/trees/common/Rxjs.js.map +1 -0
- package/lib/cjs/components/trees/common/UseFeatureReporting.d.ts +11 -0
- package/lib/cjs/components/trees/common/UseFeatureReporting.js +10 -1
- package/lib/cjs/components/trees/common/UseFeatureReporting.js.map +1 -1
- package/lib/cjs/components/trees/common/UseFiltering.d.ts +12 -0
- package/lib/cjs/components/trees/common/UseFiltering.js +29 -0
- package/lib/cjs/components/trees/common/UseFiltering.js.map +1 -0
- package/lib/{esm/components/trees/stateless → cjs/components/trees}/common/UseHierarchiesLocalization.d.ts +2 -2
- package/lib/cjs/components/trees/{stateless/common → common}/UseHierarchiesLocalization.js +12 -11
- package/lib/cjs/components/trees/common/UseHierarchiesLocalization.js.map +1 -0
- package/lib/cjs/components/trees/common/UseHierarchyFiltering.d.ts +19 -0
- package/lib/cjs/components/trees/{stateless/common → common}/UseHierarchyFiltering.js +44 -26
- package/lib/cjs/components/trees/common/UseHierarchyFiltering.js.map +1 -0
- package/lib/cjs/components/trees/common/UseHierarchyVisibility.d.ts +30 -0
- package/lib/cjs/components/trees/{stateless/common → common}/UseHierarchyVisibility.js +45 -29
- package/lib/cjs/components/trees/common/UseHierarchyVisibility.js.map +1 -0
- package/lib/cjs/components/trees/common/UseIModelChangeListener.d.ts +9 -0
- package/lib/cjs/components/trees/common/UseIModelChangeListener.js +20 -0
- package/lib/cjs/components/trees/common/UseIModelChangeListener.js.map +1 -0
- package/lib/cjs/components/trees/common/UseMultiCheckboxHandler.js +35 -0
- package/lib/cjs/components/trees/common/UseMultiCheckboxHandler.js.map +1 -0
- package/lib/cjs/components/trees/common/UseNodeHighlighting.d.ts +16 -0
- package/lib/cjs/components/trees/common/UseNodeHighlighting.js +140 -0
- package/lib/cjs/components/trees/common/UseNodeHighlighting.js.map +1 -0
- package/lib/cjs/components/trees/common/Utils.d.ts +16 -6
- package/lib/cjs/components/trees/common/Utils.js +38 -34
- package/lib/cjs/components/trees/common/Utils.js.map +1 -1
- package/lib/cjs/components/trees/common/components/BaseTree.d.ts +34 -0
- package/lib/cjs/components/trees/common/components/BaseTree.js +78 -0
- package/lib/cjs/components/trees/common/components/BaseTree.js.map +1 -0
- package/lib/cjs/components/trees/common/components/Delayed.js.map +1 -0
- package/lib/cjs/components/trees/common/components/ProgressOverlay.js.map +1 -0
- package/lib/cjs/components/trees/common/components/TreeNodeCheckbox.d.ts +20 -0
- package/lib/cjs/components/trees/{stateless/common/components/VisibilityTreeNodeCheckbox.js → common/components/TreeNodeCheckbox.js} +11 -7
- package/lib/cjs/components/trees/common/components/TreeNodeCheckbox.js.map +1 -0
- package/lib/cjs/components/trees/common/components/TreeNodeRenderer.d.ts +13 -0
- package/lib/cjs/components/trees/{stateless/common/components/VisibilityTreeNodeRenderer.js → common/components/TreeNodeRenderer.js} +6 -6
- package/lib/cjs/components/trees/common/components/TreeNodeRenderer.js.map +1 -0
- package/lib/cjs/components/trees/common/components/TreeRenderer.d.ts +17 -0
- package/lib/cjs/components/trees/common/components/TreeRenderer.js +44 -0
- package/lib/cjs/components/trees/common/components/TreeRenderer.js.map +1 -0
- package/lib/cjs/components/trees/common/components/TreeRenderer.scss +62 -0
- package/lib/cjs/components/trees/common/components/VisibilityTree.d.ts +14 -0
- package/lib/cjs/components/trees/common/components/VisibilityTree.js +41 -0
- package/lib/cjs/components/trees/common/components/VisibilityTree.js.map +1 -0
- package/lib/cjs/components/trees/external-sources-tree/ExternalSourcesTree.d.ts +11 -35
- package/lib/cjs/components/trees/external-sources-tree/ExternalSourcesTree.js +29 -83
- package/lib/cjs/components/trees/external-sources-tree/ExternalSourcesTree.js.map +1 -1
- package/lib/cjs/components/trees/external-sources-tree/ExternalSourcesTreeComponent.d.ts +14 -14
- package/lib/cjs/components/trees/external-sources-tree/ExternalSourcesTreeComponent.js +12 -12
- package/lib/cjs/components/trees/external-sources-tree/ExternalSourcesTreeComponent.js.map +1 -1
- package/lib/{esm/components/trees/stateless → cjs/components/trees}/external-sources-tree/ExternalSourcesTreeDefinition.d.ts +6 -2
- package/lib/cjs/components/trees/{stateless/external-sources-tree → external-sources-tree}/ExternalSourcesTreeDefinition.js +55 -37
- package/lib/cjs/components/trees/external-sources-tree/ExternalSourcesTreeDefinition.js.map +1 -0
- package/lib/cjs/components/trees/imodel-content-tree/IModelContentTree.d.ts +11 -35
- package/lib/cjs/components/trees/imodel-content-tree/IModelContentTree.js +41 -55
- package/lib/cjs/components/trees/imodel-content-tree/IModelContentTree.js.map +1 -1
- package/lib/cjs/components/trees/imodel-content-tree/IModelContentTreeComponent.d.ts +14 -14
- package/lib/cjs/components/trees/imodel-content-tree/IModelContentTreeComponent.js +12 -12
- package/lib/cjs/components/trees/imodel-content-tree/IModelContentTreeComponent.js.map +1 -1
- package/lib/cjs/components/trees/{stateless/imodel-content-tree → imodel-content-tree}/IModelContentTreeDefinition.d.ts +3 -0
- package/lib/cjs/components/trees/{stateless/imodel-content-tree → imodel-content-tree}/IModelContentTreeDefinition.js +248 -268
- package/lib/cjs/components/trees/imodel-content-tree/IModelContentTreeDefinition.js.map +1 -0
- package/lib/cjs/components/trees/imodel-content-tree/internal/IModelContentTreeIdsCache.d.ts +26 -0
- package/lib/cjs/components/trees/imodel-content-tree/internal/IModelContentTreeIdsCache.js +203 -0
- package/lib/cjs/components/trees/imodel-content-tree/internal/IModelContentTreeIdsCache.js.map +1 -0
- package/lib/cjs/components/trees/index.d.ts +4 -19
- package/lib/cjs/components/trees/index.js +9 -31
- package/lib/cjs/components/trees/index.js.map +1 -1
- package/lib/cjs/components/trees/models-tree/ModelsTree.d.ts +17 -72
- package/lib/cjs/components/trees/models-tree/ModelsTree.js +196 -135
- package/lib/cjs/components/trees/models-tree/ModelsTree.js.map +1 -1
- package/lib/cjs/components/trees/models-tree/ModelsTreeButtons.d.ts +1 -1
- package/lib/cjs/components/trees/models-tree/ModelsTreeButtons.js +40 -25
- package/lib/cjs/components/trees/models-tree/ModelsTreeButtons.js.map +1 -1
- package/lib/cjs/components/trees/models-tree/ModelsTreeComponent.d.ts +13 -12
- package/lib/cjs/components/trees/models-tree/ModelsTreeComponent.js +35 -26
- package/lib/cjs/components/trees/models-tree/ModelsTreeComponent.js.map +1 -1
- package/lib/{esm/components/trees/stateless → cjs/components/trees}/models-tree/ModelsTreeDefinition.d.ts +36 -4
- package/lib/cjs/components/trees/models-tree/ModelsTreeDefinition.js +617 -0
- package/lib/cjs/components/trees/models-tree/ModelsTreeDefinition.js.map +1 -0
- package/lib/cjs/components/trees/models-tree/internal/AlwaysAndNeverDrawnElementInfo.d.ts +24 -0
- package/lib/cjs/components/trees/models-tree/internal/AlwaysAndNeverDrawnElementInfo.js +121 -0
- package/lib/cjs/components/trees/models-tree/internal/AlwaysAndNeverDrawnElementInfo.js.map +1 -0
- package/lib/cjs/components/trees/models-tree/internal/ModelsTreeIdsCache.d.ts +44 -0
- package/lib/cjs/components/trees/models-tree/internal/ModelsTreeIdsCache.js +325 -0
- package/lib/cjs/components/trees/models-tree/internal/ModelsTreeIdsCache.js.map +1 -0
- package/lib/cjs/components/trees/models-tree/internal/ModelsTreeNode.d.ts +31 -0
- package/lib/cjs/components/trees/models-tree/internal/ModelsTreeNode.js +40 -0
- package/lib/cjs/components/trees/models-tree/internal/ModelsTreeNode.js.map +1 -0
- package/lib/cjs/components/trees/models-tree/internal/ModelsTreeVisibilityHandler.d.ts +122 -0
- package/lib/cjs/components/trees/models-tree/internal/ModelsTreeVisibilityHandler.js +757 -0
- package/lib/cjs/components/trees/models-tree/internal/ModelsTreeVisibilityHandler.js.map +1 -0
- package/lib/cjs/components/trees/models-tree/internal/Tooltip.d.ts +13 -0
- package/lib/cjs/components/trees/models-tree/internal/Tooltip.js +29 -0
- package/lib/cjs/components/trees/models-tree/internal/Tooltip.js.map +1 -0
- package/lib/cjs/components/trees/models-tree/internal/VisibilityChangeEventListener.d.ts +10 -0
- package/lib/cjs/components/trees/models-tree/internal/VisibilityChangeEventListener.js +43 -0
- package/lib/cjs/components/trees/models-tree/internal/VisibilityChangeEventListener.js.map +1 -0
- package/lib/cjs/tree-widget-react.d.ts +3 -4
- package/lib/cjs/tree-widget-react.js +8 -4
- package/lib/cjs/tree-widget-react.js.map +1 -1
- package/lib/esm/TreeWidget.d.ts +0 -1
- package/lib/esm/TreeWidget.js +0 -6
- package/lib/esm/TreeWidget.js.map +1 -1
- package/lib/esm/components/SelectableTree.d.ts +3 -9
- package/lib/esm/components/SelectableTree.js +1 -1
- package/lib/esm/components/SelectableTree.js.map +1 -1
- package/lib/esm/components/TreeSelector.d.ts +2 -2
- package/lib/esm/components/TreeSelector.js.map +1 -1
- package/lib/esm/components/TreeWidgetUiItemsProvider.d.ts +14 -25
- package/lib/esm/components/TreeWidgetUiItemsProvider.js +42 -44
- package/lib/esm/components/TreeWidgetUiItemsProvider.js.map +1 -1
- package/lib/esm/components/tree-header/TreeHeader.js +10 -10
- package/lib/esm/components/tree-header/TreeHeader.js.map +1 -1
- package/lib/esm/components/tree-header/TreeHeader.scss +7 -41
- package/lib/esm/components/trees/Tree.scss +23 -0
- package/lib/esm/components/trees/categories-tree/CategoriesTree.d.ts +22 -0
- package/lib/esm/components/trees/categories-tree/CategoriesTree.js +74 -0
- package/lib/esm/components/trees/categories-tree/CategoriesTree.js.map +1 -0
- package/lib/{cjs/components/trees/category-tree → esm/components/trees/categories-tree}/CategoriesTreeButtons.d.ts +2 -9
- package/lib/esm/components/trees/{category-tree → categories-tree}/CategoriesTreeButtons.js +7 -8
- package/lib/esm/components/trees/categories-tree/CategoriesTreeButtons.js.map +1 -0
- package/lib/{cjs/components/trees/category-tree → esm/components/trees/categories-tree}/CategoriesTreeComponent.d.ts +11 -12
- package/lib/esm/components/trees/categories-tree/CategoriesTreeComponent.js +68 -0
- package/lib/esm/components/trees/categories-tree/CategoriesTreeComponent.js.map +1 -0
- package/lib/esm/components/trees/{stateless/categories-tree → categories-tree}/CategoriesTreeDefinition.js +7 -2
- package/lib/esm/components/trees/categories-tree/CategoriesTreeDefinition.js.map +1 -0
- package/lib/esm/components/trees/{stateless/categories-tree → categories-tree}/CategoriesVisibilityHandler.d.ts +6 -6
- package/lib/esm/components/trees/{stateless/categories-tree → categories-tree}/CategoriesVisibilityHandler.js +8 -8
- package/lib/esm/components/trees/categories-tree/CategoriesVisibilityHandler.js.map +1 -0
- package/lib/esm/components/trees/categories-tree/UseCategories.d.ts +8 -0
- package/lib/esm/components/trees/categories-tree/UseCategories.js +18 -0
- package/lib/esm/components/trees/categories-tree/UseCategories.js.map +1 -0
- package/lib/esm/components/trees/common/CategoriesVisibilityUtils.d.ts +46 -0
- package/lib/esm/components/trees/{CategoriesVisibilityUtils.js → common/CategoriesVisibilityUtils.js} +51 -6
- package/lib/esm/components/trees/common/CategoriesVisibilityUtils.js.map +1 -0
- package/lib/{cjs/components/trees/stateless → esm/components/trees}/common/FocusedInstancesContext.d.ts +2 -1
- package/lib/esm/components/trees/common/FocusedInstancesContext.js.map +1 -0
- package/lib/{cjs/components/trees/stateless → esm/components/trees}/common/FocusedInstancesContextProvider.d.ts +1 -1
- package/lib/esm/components/trees/{stateless/common → common}/FocusedInstancesContextProvider.js +30 -6
- package/lib/esm/components/trees/common/FocusedInstancesContextProvider.js.map +1 -0
- package/lib/esm/components/trees/common/Rxjs.d.ts +10 -0
- package/lib/esm/components/trees/common/Rxjs.js +40 -0
- package/lib/esm/components/trees/common/Rxjs.js.map +1 -0
- package/lib/esm/components/trees/common/UseFeatureReporting.d.ts +11 -0
- package/lib/esm/components/trees/common/UseFeatureReporting.js +8 -0
- package/lib/esm/components/trees/common/UseFeatureReporting.js.map +1 -1
- package/lib/esm/components/trees/common/UseFiltering.d.ts +12 -0
- package/lib/esm/components/trees/common/UseFiltering.js +25 -0
- package/lib/esm/components/trees/common/UseFiltering.js.map +1 -0
- package/lib/{cjs/components/trees/stateless → esm/components/trees}/common/UseHierarchiesLocalization.d.ts +2 -2
- package/lib/esm/components/trees/common/UseHierarchiesLocalization.js +30 -0
- package/lib/esm/components/trees/common/UseHierarchiesLocalization.js.map +1 -0
- package/lib/esm/components/trees/common/UseHierarchyFiltering.d.ts +19 -0
- package/lib/esm/components/trees/{stateless/common → common}/UseHierarchyFiltering.js +45 -27
- package/lib/esm/components/trees/common/UseHierarchyFiltering.js.map +1 -0
- package/lib/esm/components/trees/common/UseHierarchyVisibility.d.ts +30 -0
- package/lib/esm/components/trees/{stateless/common → common}/UseHierarchyVisibility.js +45 -29
- package/lib/esm/components/trees/common/UseHierarchyVisibility.js.map +1 -0
- package/lib/esm/components/trees/common/UseIModelChangeListener.d.ts +9 -0
- package/lib/esm/components/trees/common/UseIModelChangeListener.js +16 -0
- package/lib/esm/components/trees/common/UseIModelChangeListener.js.map +1 -0
- package/lib/esm/components/trees/common/UseMultiCheckboxHandler.js +31 -0
- package/lib/esm/components/trees/common/UseMultiCheckboxHandler.js.map +1 -0
- package/lib/esm/components/trees/common/UseNodeHighlighting.d.ts +16 -0
- package/lib/esm/components/trees/common/UseNodeHighlighting.js +136 -0
- package/lib/esm/components/trees/common/UseNodeHighlighting.js.map +1 -0
- package/lib/esm/components/trees/common/Utils.d.ts +16 -6
- package/lib/esm/components/trees/common/Utils.js +33 -29
- package/lib/esm/components/trees/common/Utils.js.map +1 -1
- package/lib/esm/components/trees/common/components/BaseTree.d.ts +34 -0
- package/lib/esm/components/trees/common/components/BaseTree.js +74 -0
- package/lib/esm/components/trees/common/components/BaseTree.js.map +1 -0
- package/lib/esm/components/trees/common/components/Delayed.js.map +1 -0
- package/lib/esm/components/trees/common/components/ProgressOverlay.js.map +1 -0
- package/lib/esm/components/trees/common/components/TreeNodeCheckbox.d.ts +20 -0
- package/lib/esm/components/trees/{stateless/common/components/VisibilityTreeNodeCheckbox.js → common/components/TreeNodeCheckbox.js} +6 -5
- package/lib/esm/components/trees/common/components/TreeNodeCheckbox.js.map +1 -0
- package/lib/esm/components/trees/common/components/TreeNodeRenderer.d.ts +13 -0
- package/lib/esm/components/trees/common/components/TreeNodeRenderer.js +13 -0
- package/lib/esm/components/trees/common/components/TreeNodeRenderer.js.map +1 -0
- package/lib/esm/components/trees/common/components/TreeRenderer.d.ts +17 -0
- package/lib/esm/components/trees/common/components/TreeRenderer.js +40 -0
- package/lib/esm/components/trees/common/components/TreeRenderer.js.map +1 -0
- package/lib/esm/components/trees/common/components/TreeRenderer.scss +62 -0
- package/lib/esm/components/trees/common/components/VisibilityTree.d.ts +14 -0
- package/lib/esm/components/trees/common/components/VisibilityTree.js +37 -0
- package/lib/esm/components/trees/common/components/VisibilityTree.js.map +1 -0
- package/lib/esm/components/trees/external-sources-tree/ExternalSourcesTree.d.ts +11 -35
- package/lib/esm/components/trees/external-sources-tree/ExternalSourcesTree.js +27 -58
- package/lib/esm/components/trees/external-sources-tree/ExternalSourcesTree.js.map +1 -1
- package/lib/esm/components/trees/external-sources-tree/ExternalSourcesTreeComponent.d.ts +14 -14
- package/lib/esm/components/trees/external-sources-tree/ExternalSourcesTreeComponent.js +12 -12
- package/lib/esm/components/trees/external-sources-tree/ExternalSourcesTreeComponent.js.map +1 -1
- package/lib/{cjs/components/trees/stateless → esm/components/trees}/external-sources-tree/ExternalSourcesTreeDefinition.d.ts +6 -2
- package/lib/esm/components/trees/{stateless/external-sources-tree → external-sources-tree}/ExternalSourcesTreeDefinition.js +55 -37
- package/lib/esm/components/trees/external-sources-tree/ExternalSourcesTreeDefinition.js.map +1 -0
- package/lib/esm/components/trees/imodel-content-tree/IModelContentTree.d.ts +11 -35
- package/lib/esm/components/trees/imodel-content-tree/IModelContentTree.js +39 -53
- package/lib/esm/components/trees/imodel-content-tree/IModelContentTree.js.map +1 -1
- package/lib/esm/components/trees/imodel-content-tree/IModelContentTreeComponent.d.ts +14 -14
- package/lib/esm/components/trees/imodel-content-tree/IModelContentTreeComponent.js +12 -12
- package/lib/esm/components/trees/imodel-content-tree/IModelContentTreeComponent.js.map +1 -1
- package/lib/esm/components/trees/{stateless/imodel-content-tree → imodel-content-tree}/IModelContentTreeDefinition.d.ts +3 -0
- package/lib/esm/components/trees/{stateless/imodel-content-tree → imodel-content-tree}/IModelContentTreeDefinition.js +249 -269
- package/lib/esm/components/trees/imodel-content-tree/IModelContentTreeDefinition.js.map +1 -0
- package/lib/esm/components/trees/imodel-content-tree/internal/IModelContentTreeIdsCache.d.ts +26 -0
- package/lib/esm/components/trees/imodel-content-tree/internal/IModelContentTreeIdsCache.js +199 -0
- package/lib/esm/components/trees/imodel-content-tree/internal/IModelContentTreeIdsCache.js.map +1 -0
- package/lib/esm/components/trees/index.d.ts +4 -19
- package/lib/esm/components/trees/index.js +4 -17
- package/lib/esm/components/trees/index.js.map +1 -1
- package/lib/esm/components/trees/models-tree/ModelsTree.d.ts +17 -72
- package/lib/esm/components/trees/models-tree/ModelsTree.js +196 -132
- package/lib/esm/components/trees/models-tree/ModelsTree.js.map +1 -1
- package/lib/esm/components/trees/models-tree/ModelsTreeButtons.d.ts +1 -1
- package/lib/esm/components/trees/models-tree/ModelsTreeButtons.js +30 -15
- package/lib/esm/components/trees/models-tree/ModelsTreeButtons.js.map +1 -1
- package/lib/esm/components/trees/models-tree/ModelsTreeComponent.d.ts +13 -12
- package/lib/esm/components/trees/models-tree/ModelsTreeComponent.js +36 -27
- package/lib/esm/components/trees/models-tree/ModelsTreeComponent.js.map +1 -1
- package/lib/{cjs/components/trees/stateless → esm/components/trees}/models-tree/ModelsTreeDefinition.d.ts +36 -4
- package/lib/esm/components/trees/models-tree/ModelsTreeDefinition.js +613 -0
- package/lib/esm/components/trees/models-tree/ModelsTreeDefinition.js.map +1 -0
- package/lib/esm/components/trees/models-tree/internal/AlwaysAndNeverDrawnElementInfo.d.ts +24 -0
- package/lib/esm/components/trees/models-tree/internal/AlwaysAndNeverDrawnElementInfo.js +117 -0
- package/lib/esm/components/trees/models-tree/internal/AlwaysAndNeverDrawnElementInfo.js.map +1 -0
- package/lib/esm/components/trees/models-tree/internal/ModelsTreeIdsCache.d.ts +44 -0
- package/lib/esm/components/trees/models-tree/internal/ModelsTreeIdsCache.js +321 -0
- package/lib/esm/components/trees/models-tree/internal/ModelsTreeIdsCache.js.map +1 -0
- package/lib/esm/components/trees/models-tree/internal/ModelsTreeNode.d.ts +31 -0
- package/lib/esm/components/trees/models-tree/internal/ModelsTreeNode.js +37 -0
- package/lib/esm/components/trees/models-tree/internal/ModelsTreeNode.js.map +1 -0
- package/lib/esm/components/trees/models-tree/internal/ModelsTreeVisibilityHandler.d.ts +122 -0
- package/lib/esm/components/trees/models-tree/internal/ModelsTreeVisibilityHandler.js +748 -0
- package/lib/esm/components/trees/models-tree/internal/ModelsTreeVisibilityHandler.js.map +1 -0
- package/lib/esm/components/trees/models-tree/internal/Tooltip.d.ts +13 -0
- package/lib/esm/components/trees/models-tree/internal/Tooltip.js +24 -0
- package/lib/esm/components/trees/models-tree/internal/Tooltip.js.map +1 -0
- package/lib/esm/components/trees/models-tree/internal/VisibilityChangeEventListener.d.ts +10 -0
- package/lib/esm/components/trees/models-tree/internal/VisibilityChangeEventListener.js +39 -0
- package/lib/esm/components/trees/models-tree/internal/VisibilityChangeEventListener.js.map +1 -0
- package/lib/esm/tree-widget-react.d.ts +3 -4
- package/lib/esm/tree-widget-react.js +3 -4
- package/lib/esm/tree-widget-react.js.map +1 -1
- package/lib/public/locales/en/TreeWidget.json +126 -62
- package/package.json +18 -11
- package/lib/cjs/components/TreeFilteringState.d.ts +0 -18
- package/lib/cjs/components/TreeFilteringState.js +0 -46
- package/lib/cjs/components/TreeFilteringState.js.map +0 -1
- package/lib/cjs/components/trees/CategoriesVisibilityUtils.d.ts +0 -25
- package/lib/cjs/components/trees/CategoriesVisibilityUtils.js.map +0 -1
- package/lib/cjs/components/trees/VisibilityTreeBase.scss +0 -82
- package/lib/cjs/components/trees/VisibilityTreeEventHandler.d.ts +0 -67
- package/lib/cjs/components/trees/VisibilityTreeEventHandler.js +0 -158
- package/lib/cjs/components/trees/VisibilityTreeEventHandler.js.map +0 -1
- package/lib/cjs/components/trees/VisibilityTreeRenderer.d.ts +0 -100
- package/lib/cjs/components/trees/VisibilityTreeRenderer.js +0 -98
- package/lib/cjs/components/trees/VisibilityTreeRenderer.js.map +0 -1
- package/lib/cjs/components/trees/category-tree/Categories.json +0 -99
- package/lib/cjs/components/trees/category-tree/CategoriesTree.d.ts +0 -60
- package/lib/cjs/components/trees/category-tree/CategoriesTree.js +0 -117
- package/lib/cjs/components/trees/category-tree/CategoriesTree.js.map +0 -1
- package/lib/cjs/components/trees/category-tree/CategoriesTreeButtons.js.map +0 -1
- package/lib/cjs/components/trees/category-tree/CategoriesTreeComponent.js +0 -104
- package/lib/cjs/components/trees/category-tree/CategoriesTreeComponent.js.map +0 -1
- package/lib/cjs/components/trees/category-tree/CategoryVisibilityHandler.d.ts +0 -65
- package/lib/cjs/components/trees/category-tree/CategoryVisibilityHandler.js +0 -172
- package/lib/cjs/components/trees/category-tree/CategoryVisibilityHandler.js.map +0 -1
- package/lib/cjs/components/trees/common/ContextMenu.d.ts +0 -39
- package/lib/cjs/components/trees/common/ContextMenu.js +0 -44
- package/lib/cjs/components/trees/common/ContextMenu.js.map +0 -1
- package/lib/cjs/components/trees/common/ReportingTreeEventHandler.d.ts +0 -27
- package/lib/cjs/components/trees/common/ReportingTreeEventHandler.js +0 -51
- package/lib/cjs/components/trees/common/ReportingTreeEventHandler.js.map +0 -1
- package/lib/cjs/components/trees/common/TreeNodeRenderer.d.ts +0 -61
- package/lib/cjs/components/trees/common/TreeNodeRenderer.js +0 -50
- package/lib/cjs/components/trees/common/TreeNodeRenderer.js.map +0 -1
- package/lib/cjs/components/trees/common/TreeRenderer.d.ts +0 -55
- package/lib/cjs/components/trees/common/TreeRenderer.js +0 -67
- package/lib/cjs/components/trees/common/TreeRenderer.js.map +0 -1
- package/lib/cjs/components/trees/common/TreeRenderer.scss +0 -149
- package/lib/cjs/components/trees/common/Types.d.ts +0 -57
- package/lib/cjs/components/trees/common/Types.js +0 -21
- package/lib/cjs/components/trees/common/Types.js.map +0 -1
- package/lib/cjs/components/trees/common/UseVisibilityTreeState.d.ts +0 -43
- package/lib/cjs/components/trees/common/UseVisibilityTreeState.js +0 -49
- package/lib/cjs/components/trees/common/UseVisibilityTreeState.js.map +0 -1
- package/lib/cjs/components/trees/external-sources-tree/ExternalSources.json +0 -228
- package/lib/cjs/components/trees/imodel-content-tree/IModelContent.json +0 -443
- package/lib/cjs/components/trees/models-tree/ModelsTreeEventHandler.d.ts +0 -19
- package/lib/cjs/components/trees/models-tree/ModelsTreeEventHandler.js +0 -36
- package/lib/cjs/components/trees/models-tree/ModelsTreeEventHandler.js.map +0 -1
- package/lib/cjs/components/trees/models-tree/ModelsVisibilityHandler.d.ts +0 -130
- package/lib/cjs/components/trees/models-tree/ModelsVisibilityHandler.js +0 -651
- package/lib/cjs/components/trees/models-tree/ModelsVisibilityHandler.js.map +0 -1
- package/lib/cjs/components/trees/models-tree/Utils.d.ts +0 -29
- package/lib/cjs/components/trees/models-tree/Utils.js +0 -556
- package/lib/cjs/components/trees/models-tree/Utils.js.map +0 -1
- package/lib/cjs/components/trees/stateless/categories-tree/CategoriesTree.d.ts +0 -20
- package/lib/cjs/components/trees/stateless/categories-tree/CategoriesTree.js +0 -61
- package/lib/cjs/components/trees/stateless/categories-tree/CategoriesTree.js.map +0 -1
- package/lib/cjs/components/trees/stateless/categories-tree/CategoriesTreeComponent.d.ts +0 -16
- package/lib/cjs/components/trees/stateless/categories-tree/CategoriesTreeComponent.js +0 -43
- package/lib/cjs/components/trees/stateless/categories-tree/CategoriesTreeComponent.js.map +0 -1
- package/lib/cjs/components/trees/stateless/categories-tree/CategoriesTreeDefinition.js.map +0 -1
- package/lib/cjs/components/trees/stateless/categories-tree/CategoriesVisibilityHandler.js.map +0 -1
- package/lib/cjs/components/trees/stateless/common/FocusedInstancesContext.js.map +0 -1
- package/lib/cjs/components/trees/stateless/common/FocusedInstancesContextProvider.js.map +0 -1
- package/lib/cjs/components/trees/stateless/common/UseHierarchiesLocalization.js.map +0 -1
- package/lib/cjs/components/trees/stateless/common/UseHierarchyFiltering.d.ts +0 -16
- package/lib/cjs/components/trees/stateless/common/UseHierarchyFiltering.js.map +0 -1
- package/lib/cjs/components/trees/stateless/common/UseHierarchyVisibility.d.ts +0 -21
- package/lib/cjs/components/trees/stateless/common/UseHierarchyVisibility.js.map +0 -1
- package/lib/cjs/components/trees/stateless/common/UseMultiCheckboxHandler.js +0 -34
- package/lib/cjs/components/trees/stateless/common/UseMultiCheckboxHandler.js.map +0 -1
- package/lib/cjs/components/trees/stateless/common/Utils.d.ts +0 -3
- package/lib/cjs/components/trees/stateless/common/Utils.js +0 -23
- package/lib/cjs/components/trees/stateless/common/Utils.js.map +0 -1
- package/lib/cjs/components/trees/stateless/common/components/Delayed.js.map +0 -1
- package/lib/cjs/components/trees/stateless/common/components/FilterableTree.d.ts +0 -23
- package/lib/cjs/components/trees/stateless/common/components/FilterableTree.js +0 -66
- package/lib/cjs/components/trees/stateless/common/components/FilterableTree.js.map +0 -1
- package/lib/cjs/components/trees/stateless/common/components/ProgressOverlay.js.map +0 -1
- package/lib/cjs/components/trees/stateless/common/components/VisibilityTree.d.ts +0 -26
- package/lib/cjs/components/trees/stateless/common/components/VisibilityTree.js +0 -68
- package/lib/cjs/components/trees/stateless/common/components/VisibilityTree.js.map +0 -1
- package/lib/cjs/components/trees/stateless/common/components/VisibilityTreeNodeCheckbox.d.ts +0 -12
- package/lib/cjs/components/trees/stateless/common/components/VisibilityTreeNodeCheckbox.js.map +0 -1
- package/lib/cjs/components/trees/stateless/common/components/VisibilityTreeNodeRenderer.d.ts +0 -10
- package/lib/cjs/components/trees/stateless/common/components/VisibilityTreeNodeRenderer.js.map +0 -1
- package/lib/cjs/components/trees/stateless/common/components/VisibilityTreeRenderer.d.ts +0 -16
- package/lib/cjs/components/trees/stateless/common/components/VisibilityTreeRenderer.js +0 -23
- package/lib/cjs/components/trees/stateless/common/components/VisibilityTreeRenderer.js.map +0 -1
- package/lib/cjs/components/trees/stateless/common/components/VisibilityTreeRenderer.scss +0 -41
- package/lib/cjs/components/trees/stateless/external-sources-tree/ExternalSourcesTree.d.ts +0 -13
- package/lib/cjs/components/trees/stateless/external-sources-tree/ExternalSourcesTree.js +0 -40
- package/lib/cjs/components/trees/stateless/external-sources-tree/ExternalSourcesTree.js.map +0 -1
- package/lib/cjs/components/trees/stateless/external-sources-tree/ExternalSourcesTreeComponent.d.ts +0 -14
- package/lib/cjs/components/trees/stateless/external-sources-tree/ExternalSourcesTreeComponent.js +0 -25
- package/lib/cjs/components/trees/stateless/external-sources-tree/ExternalSourcesTreeComponent.js.map +0 -1
- package/lib/cjs/components/trees/stateless/external-sources-tree/ExternalSourcesTreeDefinition.js.map +0 -1
- package/lib/cjs/components/trees/stateless/imodel-content-tree/IModelContentTree.d.ts +0 -13
- package/lib/cjs/components/trees/stateless/imodel-content-tree/IModelContentTree.js +0 -48
- package/lib/cjs/components/trees/stateless/imodel-content-tree/IModelContentTree.js.map +0 -1
- package/lib/cjs/components/trees/stateless/imodel-content-tree/IModelContentTreeComponent.d.ts +0 -14
- package/lib/cjs/components/trees/stateless/imodel-content-tree/IModelContentTreeComponent.js +0 -25
- package/lib/cjs/components/trees/stateless/imodel-content-tree/IModelContentTreeComponent.js.map +0 -1
- package/lib/cjs/components/trees/stateless/imodel-content-tree/IModelContentTreeDefinition.js.map +0 -1
- package/lib/cjs/components/trees/stateless/index.d.ts +0 -5
- package/lib/cjs/components/trees/stateless/index.js +0 -16
- package/lib/cjs/components/trees/stateless/index.js.map +0 -1
- package/lib/cjs/components/trees/stateless/models-tree/ModelsTree.d.ts +0 -16
- package/lib/cjs/components/trees/stateless/models-tree/ModelsTree.js +0 -77
- package/lib/cjs/components/trees/stateless/models-tree/ModelsTree.js.map +0 -1
- package/lib/cjs/components/trees/stateless/models-tree/ModelsTreeComponent.d.ts +0 -17
- package/lib/cjs/components/trees/stateless/models-tree/ModelsTreeComponent.js +0 -55
- package/lib/cjs/components/trees/stateless/models-tree/ModelsTreeComponent.js.map +0 -1
- package/lib/cjs/components/trees/stateless/models-tree/ModelsTreeDefinition.js +0 -856
- package/lib/cjs/components/trees/stateless/models-tree/ModelsTreeDefinition.js.map +0 -1
- package/lib/cjs/components/trees/stateless/models-tree/ModelsVisibilityHandler.d.ts +0 -48
- package/lib/cjs/components/trees/stateless/models-tree/ModelsVisibilityHandler.js +0 -470
- package/lib/cjs/components/trees/stateless/models-tree/ModelsVisibilityHandler.js.map +0 -1
- package/lib/cjs/components/utils/UseTreeTransientState.d.ts +0 -19
- package/lib/cjs/components/utils/UseTreeTransientState.js +0 -33
- package/lib/cjs/components/utils/UseTreeTransientState.js.map +0 -1
- package/lib/esm/components/TreeFilteringState.d.ts +0 -18
- package/lib/esm/components/TreeFilteringState.js +0 -42
- package/lib/esm/components/TreeFilteringState.js.map +0 -1
- package/lib/esm/components/trees/CategoriesVisibilityUtils.d.ts +0 -25
- package/lib/esm/components/trees/CategoriesVisibilityUtils.js.map +0 -1
- package/lib/esm/components/trees/VisibilityTreeBase.scss +0 -82
- package/lib/esm/components/trees/VisibilityTreeEventHandler.d.ts +0 -67
- package/lib/esm/components/trees/VisibilityTreeEventHandler.js +0 -154
- package/lib/esm/components/trees/VisibilityTreeEventHandler.js.map +0 -1
- package/lib/esm/components/trees/VisibilityTreeRenderer.d.ts +0 -100
- package/lib/esm/components/trees/VisibilityTreeRenderer.js +0 -86
- package/lib/esm/components/trees/VisibilityTreeRenderer.js.map +0 -1
- package/lib/esm/components/trees/category-tree/Categories.json +0 -99
- package/lib/esm/components/trees/category-tree/CategoriesTree.d.ts +0 -60
- package/lib/esm/components/trees/category-tree/CategoriesTree.js +0 -110
- package/lib/esm/components/trees/category-tree/CategoriesTree.js.map +0 -1
- package/lib/esm/components/trees/category-tree/CategoriesTreeButtons.js.map +0 -1
- package/lib/esm/components/trees/category-tree/CategoriesTreeComponent.js +0 -97
- package/lib/esm/components/trees/category-tree/CategoriesTreeComponent.js.map +0 -1
- package/lib/esm/components/trees/category-tree/CategoryVisibilityHandler.d.ts +0 -65
- package/lib/esm/components/trees/category-tree/CategoryVisibilityHandler.js +0 -164
- package/lib/esm/components/trees/category-tree/CategoryVisibilityHandler.js.map +0 -1
- package/lib/esm/components/trees/common/ContextMenu.d.ts +0 -39
- package/lib/esm/components/trees/common/ContextMenu.js +0 -39
- package/lib/esm/components/trees/common/ContextMenu.js.map +0 -1
- package/lib/esm/components/trees/common/ReportingTreeEventHandler.d.ts +0 -27
- package/lib/esm/components/trees/common/ReportingTreeEventHandler.js +0 -47
- package/lib/esm/components/trees/common/ReportingTreeEventHandler.js.map +0 -1
- package/lib/esm/components/trees/common/TreeNodeRenderer.d.ts +0 -61
- package/lib/esm/components/trees/common/TreeNodeRenderer.js +0 -44
- package/lib/esm/components/trees/common/TreeNodeRenderer.js.map +0 -1
- package/lib/esm/components/trees/common/TreeRenderer.d.ts +0 -55
- package/lib/esm/components/trees/common/TreeRenderer.js +0 -59
- package/lib/esm/components/trees/common/TreeRenderer.js.map +0 -1
- package/lib/esm/components/trees/common/TreeRenderer.scss +0 -149
- package/lib/esm/components/trees/common/Types.d.ts +0 -57
- package/lib/esm/components/trees/common/Types.js +0 -18
- package/lib/esm/components/trees/common/Types.js.map +0 -1
- package/lib/esm/components/trees/common/UseVisibilityTreeState.d.ts +0 -43
- package/lib/esm/components/trees/common/UseVisibilityTreeState.js +0 -45
- package/lib/esm/components/trees/common/UseVisibilityTreeState.js.map +0 -1
- package/lib/esm/components/trees/external-sources-tree/ExternalSources.json +0 -228
- package/lib/esm/components/trees/imodel-content-tree/IModelContent.json +0 -443
- package/lib/esm/components/trees/models-tree/ModelsTreeEventHandler.d.ts +0 -19
- package/lib/esm/components/trees/models-tree/ModelsTreeEventHandler.js +0 -32
- package/lib/esm/components/trees/models-tree/ModelsTreeEventHandler.js.map +0 -1
- package/lib/esm/components/trees/models-tree/ModelsVisibilityHandler.d.ts +0 -130
- package/lib/esm/components/trees/models-tree/ModelsVisibilityHandler.js +0 -641
- package/lib/esm/components/trees/models-tree/ModelsVisibilityHandler.js.map +0 -1
- package/lib/esm/components/trees/models-tree/Utils.d.ts +0 -29
- package/lib/esm/components/trees/models-tree/Utils.js +0 -548
- package/lib/esm/components/trees/models-tree/Utils.js.map +0 -1
- package/lib/esm/components/trees/stateless/categories-tree/CategoriesTree.d.ts +0 -20
- package/lib/esm/components/trees/stateless/categories-tree/CategoriesTree.js +0 -57
- package/lib/esm/components/trees/stateless/categories-tree/CategoriesTree.js.map +0 -1
- package/lib/esm/components/trees/stateless/categories-tree/CategoriesTreeComponent.d.ts +0 -16
- package/lib/esm/components/trees/stateless/categories-tree/CategoriesTreeComponent.js +0 -39
- package/lib/esm/components/trees/stateless/categories-tree/CategoriesTreeComponent.js.map +0 -1
- package/lib/esm/components/trees/stateless/categories-tree/CategoriesTreeDefinition.js.map +0 -1
- package/lib/esm/components/trees/stateless/categories-tree/CategoriesVisibilityHandler.js.map +0 -1
- package/lib/esm/components/trees/stateless/common/FocusedInstancesContext.js.map +0 -1
- package/lib/esm/components/trees/stateless/common/FocusedInstancesContextProvider.js.map +0 -1
- package/lib/esm/components/trees/stateless/common/UseHierarchiesLocalization.js +0 -29
- package/lib/esm/components/trees/stateless/common/UseHierarchiesLocalization.js.map +0 -1
- package/lib/esm/components/trees/stateless/common/UseHierarchyFiltering.d.ts +0 -16
- package/lib/esm/components/trees/stateless/common/UseHierarchyFiltering.js.map +0 -1
- package/lib/esm/components/trees/stateless/common/UseHierarchyVisibility.d.ts +0 -21
- package/lib/esm/components/trees/stateless/common/UseHierarchyVisibility.js.map +0 -1
- package/lib/esm/components/trees/stateless/common/UseMultiCheckboxHandler.js +0 -30
- package/lib/esm/components/trees/stateless/common/UseMultiCheckboxHandler.js.map +0 -1
- package/lib/esm/components/trees/stateless/common/Utils.d.ts +0 -3
- package/lib/esm/components/trees/stateless/common/Utils.js +0 -19
- package/lib/esm/components/trees/stateless/common/Utils.js.map +0 -1
- package/lib/esm/components/trees/stateless/common/components/Delayed.js.map +0 -1
- package/lib/esm/components/trees/stateless/common/components/FilterableTree.d.ts +0 -23
- package/lib/esm/components/trees/stateless/common/components/FilterableTree.js +0 -62
- package/lib/esm/components/trees/stateless/common/components/FilterableTree.js.map +0 -1
- package/lib/esm/components/trees/stateless/common/components/ProgressOverlay.js.map +0 -1
- package/lib/esm/components/trees/stateless/common/components/VisibilityTree.d.ts +0 -26
- package/lib/esm/components/trees/stateless/common/components/VisibilityTree.js +0 -64
- package/lib/esm/components/trees/stateless/common/components/VisibilityTree.js.map +0 -1
- package/lib/esm/components/trees/stateless/common/components/VisibilityTreeNodeCheckbox.d.ts +0 -12
- package/lib/esm/components/trees/stateless/common/components/VisibilityTreeNodeCheckbox.js.map +0 -1
- package/lib/esm/components/trees/stateless/common/components/VisibilityTreeNodeRenderer.d.ts +0 -10
- package/lib/esm/components/trees/stateless/common/components/VisibilityTreeNodeRenderer.js +0 -13
- package/lib/esm/components/trees/stateless/common/components/VisibilityTreeNodeRenderer.js.map +0 -1
- package/lib/esm/components/trees/stateless/common/components/VisibilityTreeRenderer.d.ts +0 -16
- package/lib/esm/components/trees/stateless/common/components/VisibilityTreeRenderer.js +0 -19
- package/lib/esm/components/trees/stateless/common/components/VisibilityTreeRenderer.js.map +0 -1
- package/lib/esm/components/trees/stateless/common/components/VisibilityTreeRenderer.scss +0 -41
- package/lib/esm/components/trees/stateless/external-sources-tree/ExternalSourcesTree.d.ts +0 -13
- package/lib/esm/components/trees/stateless/external-sources-tree/ExternalSourcesTree.js +0 -36
- package/lib/esm/components/trees/stateless/external-sources-tree/ExternalSourcesTree.js.map +0 -1
- package/lib/esm/components/trees/stateless/external-sources-tree/ExternalSourcesTreeComponent.d.ts +0 -14
- package/lib/esm/components/trees/stateless/external-sources-tree/ExternalSourcesTreeComponent.js +0 -21
- package/lib/esm/components/trees/stateless/external-sources-tree/ExternalSourcesTreeComponent.js.map +0 -1
- package/lib/esm/components/trees/stateless/external-sources-tree/ExternalSourcesTreeDefinition.js.map +0 -1
- package/lib/esm/components/trees/stateless/imodel-content-tree/IModelContentTree.d.ts +0 -13
- package/lib/esm/components/trees/stateless/imodel-content-tree/IModelContentTree.js +0 -44
- package/lib/esm/components/trees/stateless/imodel-content-tree/IModelContentTree.js.map +0 -1
- package/lib/esm/components/trees/stateless/imodel-content-tree/IModelContentTreeComponent.d.ts +0 -14
- package/lib/esm/components/trees/stateless/imodel-content-tree/IModelContentTreeComponent.js +0 -21
- package/lib/esm/components/trees/stateless/imodel-content-tree/IModelContentTreeComponent.js.map +0 -1
- package/lib/esm/components/trees/stateless/imodel-content-tree/IModelContentTreeDefinition.js.map +0 -1
- package/lib/esm/components/trees/stateless/index.d.ts +0 -5
- package/lib/esm/components/trees/stateless/index.js +0 -9
- package/lib/esm/components/trees/stateless/index.js.map +0 -1
- package/lib/esm/components/trees/stateless/models-tree/ModelsTree.d.ts +0 -16
- package/lib/esm/components/trees/stateless/models-tree/ModelsTree.js +0 -73
- package/lib/esm/components/trees/stateless/models-tree/ModelsTree.js.map +0 -1
- package/lib/esm/components/trees/stateless/models-tree/ModelsTreeComponent.d.ts +0 -17
- package/lib/esm/components/trees/stateless/models-tree/ModelsTreeComponent.js +0 -51
- package/lib/esm/components/trees/stateless/models-tree/ModelsTreeComponent.js.map +0 -1
- package/lib/esm/components/trees/stateless/models-tree/ModelsTreeDefinition.js +0 -852
- package/lib/esm/components/trees/stateless/models-tree/ModelsTreeDefinition.js.map +0 -1
- package/lib/esm/components/trees/stateless/models-tree/ModelsVisibilityHandler.d.ts +0 -48
- package/lib/esm/components/trees/stateless/models-tree/ModelsVisibilityHandler.js +0 -466
- package/lib/esm/components/trees/stateless/models-tree/ModelsVisibilityHandler.js.map +0 -1
- package/lib/esm/components/utils/UseTreeTransientState.d.ts +0 -19
- package/lib/esm/components/utils/UseTreeTransientState.js +0 -29
- package/lib/esm/components/utils/UseTreeTransientState.js.map +0 -1
- /package/lib/cjs/components/trees/{stateless/categories-tree → categories-tree}/CategoriesTreeDefinition.d.ts +0 -0
- /package/lib/cjs/components/trees/{stateless/common → common}/FocusedInstancesContext.js +0 -0
- /package/lib/cjs/components/trees/{stateless/common → common}/UseMultiCheckboxHandler.d.ts +0 -0
- /package/lib/cjs/components/trees/{stateless/common → common}/components/Delayed.d.ts +0 -0
- /package/lib/cjs/components/trees/{stateless/common → common}/components/Delayed.js +0 -0
- /package/lib/cjs/components/trees/{stateless/common → common}/components/ProgressOverlay.d.ts +0 -0
- /package/lib/cjs/components/trees/{stateless/common → common}/components/ProgressOverlay.js +0 -0
- /package/lib/cjs/components/trees/{stateless/common → common}/components/ProgressOverlay.scss +0 -0
- /package/lib/esm/components/trees/{stateless/categories-tree → categories-tree}/CategoriesTreeDefinition.d.ts +0 -0
- /package/lib/esm/components/trees/{stateless/common → common}/FocusedInstancesContext.js +0 -0
- /package/lib/esm/components/trees/{stateless/common → common}/UseMultiCheckboxHandler.d.ts +0 -0
- /package/lib/esm/components/trees/{stateless/common → common}/components/Delayed.d.ts +0 -0
- /package/lib/esm/components/trees/{stateless/common → common}/components/Delayed.js +0 -0
- /package/lib/esm/components/trees/{stateless/common → common}/components/ProgressOverlay.d.ts +0 -0
- /package/lib/esm/components/trees/{stateless/common → common}/components/ProgressOverlay.js +0 -0
- /package/lib/esm/components/trees/{stateless/common → common}/components/ProgressOverlay.scss +0 -0
|
@@ -1,11 +1,21 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
1
|
+
import type { Id64Array } from "@itwin/core-bentley";
|
|
2
|
+
import type { IModelConnection } from "@itwin/core-frontend";
|
|
3
|
+
import type { SchemaContext } from "@itwin/ecschema-metadata";
|
|
3
4
|
/** @internal */
|
|
4
|
-
export declare function
|
|
5
|
+
export declare function createIdsSelector(ids: Id64Array): string;
|
|
5
6
|
/** @internal */
|
|
6
|
-
export declare function
|
|
7
|
+
export declare function parseIdsSelectorResult(selectorResult: any): Id64Array;
|
|
7
8
|
/** @internal */
|
|
8
|
-
export declare function
|
|
9
|
+
export declare function pushToMap<TKey, TValue>(targetMap: Map<TKey, Set<TValue>>, key: TKey, value: TValue): void;
|
|
9
10
|
/** @internal */
|
|
10
|
-
export declare function
|
|
11
|
+
export declare function createIModelAccess({ imodel, getSchemaContext }: {
|
|
12
|
+
imodel: IModelConnection;
|
|
13
|
+
getSchemaContext: (imodel: IModelConnection) => SchemaContext;
|
|
14
|
+
}): {
|
|
15
|
+
createQueryReader(query: import("@itwin/presentation-shared").ECSqlQueryDef, config?: (import("@itwin/presentation-shared").ECSqlQueryReaderOptions & {
|
|
16
|
+
limit?: number | "unbounded" | undefined;
|
|
17
|
+
}) | undefined): AsyncIterableIterator<import("@itwin/presentation-shared").ECSqlQueryRow>;
|
|
18
|
+
classDerivesFrom(derivedClassFullName: string, candidateBaseClassFullName: string): boolean | Promise<boolean>;
|
|
19
|
+
getSchema(schemaName: string): Promise<import("@itwin/presentation-shared").EC.Schema | undefined>;
|
|
20
|
+
};
|
|
11
21
|
//# sourceMappingURL=Utils.d.ts.map
|
|
@@ -4,48 +4,52 @@
|
|
|
4
4
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
5
5
|
*--------------------------------------------------------------------------------------------*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.
|
|
8
|
-
const
|
|
9
|
-
const
|
|
10
|
-
const
|
|
7
|
+
exports.createIModelAccess = exports.pushToMap = exports.parseIdsSelectorResult = exports.createIdsSelector = void 0;
|
|
8
|
+
const presentation_core_interop_1 = require("@itwin/presentation-core-interop");
|
|
9
|
+
const presentation_hierarchies_1 = require("@itwin/presentation-hierarchies");
|
|
10
|
+
const presentation_shared_1 = require("@itwin/presentation-shared");
|
|
11
11
|
/** @internal */
|
|
12
|
-
function
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
12
|
+
function createIdsSelector(ids) {
|
|
13
|
+
// Note: `json_array` function only accepts up to 127 arguments and we may have more `ids` than that. As a workaround,
|
|
14
|
+
// we're creating an array of arrays
|
|
15
|
+
const slices = new Array();
|
|
16
|
+
for (let sliceStartIndex = 0; sliceStartIndex < ids.length; sliceStartIndex += 127) {
|
|
17
|
+
let sliceEndIndex = sliceStartIndex + 127;
|
|
18
|
+
if (sliceEndIndex > ids.length) {
|
|
19
|
+
sliceEndIndex = undefined;
|
|
20
|
+
}
|
|
21
|
+
slices.push(ids.slice(sliceStartIndex, sliceEndIndex));
|
|
22
|
+
}
|
|
23
|
+
return `json_array(${slices.map((sliceIds) => `json_array(${sliceIds.map((id) => `'${id}'`).join(",")})`).join(",")})`;
|
|
16
24
|
}
|
|
17
|
-
exports.
|
|
25
|
+
exports.createIdsSelector = createIdsSelector;
|
|
18
26
|
/** @internal */
|
|
19
|
-
function
|
|
20
|
-
if (!
|
|
21
|
-
return;
|
|
27
|
+
function parseIdsSelectorResult(selectorResult) {
|
|
28
|
+
if (!Array.isArray(selectorResult)) {
|
|
29
|
+
return [];
|
|
22
30
|
}
|
|
23
|
-
|
|
31
|
+
return selectorResult.reduce((arr, ids) => [...arr, ...(Array.isArray(ids) ? ids : [ids])], new Array());
|
|
24
32
|
}
|
|
25
|
-
exports.
|
|
33
|
+
exports.parseIdsSelectorResult = parseIdsSelectorResult;
|
|
26
34
|
/** @internal */
|
|
27
|
-
function
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
35
|
+
function pushToMap(targetMap, key, value) {
|
|
36
|
+
let set = targetMap.get(key);
|
|
37
|
+
if (!set) {
|
|
38
|
+
set = new Set();
|
|
39
|
+
targetMap.set(key, set);
|
|
40
|
+
}
|
|
41
|
+
set.add(value);
|
|
31
42
|
}
|
|
32
|
-
exports.
|
|
43
|
+
exports.pushToMap = pushToMap;
|
|
33
44
|
/** @internal */
|
|
34
|
-
function
|
|
35
|
-
const
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
},
|
|
40
|
-
|
|
41
|
-
for (const { name, renderer } of renderers) {
|
|
42
|
-
components_react_1.PropertyValueRendererManager.defaultManager.registerRenderer(name, renderer);
|
|
43
|
-
}
|
|
44
|
-
return () => {
|
|
45
|
-
for (const { name } of renderers) {
|
|
46
|
-
components_react_1.PropertyValueRendererManager.defaultManager.unregisterRenderer(name);
|
|
47
|
-
}
|
|
45
|
+
function createIModelAccess({ imodel, getSchemaContext }) {
|
|
46
|
+
const schemas = getSchemaContext(imodel);
|
|
47
|
+
const schemaProvider = (0, presentation_core_interop_1.createECSchemaProvider)(schemas);
|
|
48
|
+
return {
|
|
49
|
+
...schemaProvider,
|
|
50
|
+
...(0, presentation_shared_1.createCachingECClassHierarchyInspector)({ schemaProvider }),
|
|
51
|
+
...(0, presentation_hierarchies_1.createLimitingECSqlQueryExecutor)((0, presentation_core_interop_1.createECSqlQueryExecutor)(imodel), 1000),
|
|
48
52
|
};
|
|
49
53
|
}
|
|
50
|
-
exports.
|
|
54
|
+
exports.createIModelAccess = createIModelAccess;
|
|
51
55
|
//# sourceMappingURL=Utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Utils.js","sourceRoot":"","sources":["../../../../../src/components/trees/common/Utils.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;;AAEhG,
|
|
1
|
+
{"version":3,"file":"Utils.js","sourceRoot":"","sources":["../../../../../src/components/trees/common/Utils.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;;AAEhG,gFAAoG;AACpG,8EAAmF;AACnF,oEAAoF;AAMpF,gBAAgB;AAChB,SAAgB,iBAAiB,CAAC,GAAc;IAC9C,sHAAsH;IACtH,oCAAoC;IACpC,MAAM,MAAM,GAAG,IAAI,KAAK,EAAgB,CAAC;IACzC,KAAK,IAAI,eAAe,GAAG,CAAC,EAAE,eAAe,GAAG,GAAG,CAAC,MAAM,EAAE,eAAe,IAAI,GAAG,EAAE;QAClF,IAAI,aAAa,GAAuB,eAAe,GAAG,GAAG,CAAC;QAC9D,IAAI,aAAa,GAAG,GAAG,CAAC,MAAM,EAAE;YAC9B,aAAa,GAAG,SAAS,CAAC;SAC3B;QACD,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC,CAAC;KACxD;IACD,OAAO,cAAc,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,cAAc,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;AACzH,CAAC;AAZD,8CAYC;AAED,gBAAgB;AAChB,SAAgB,sBAAsB,CAAC,cAAmB;IACxD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE;QAClC,OAAO,EAAE,CAAC;KACX;IACD,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAA8B,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,EAAc,CAAC,CAAC;AAClJ,CAAC;AALD,wDAKC;AAED,gBAAgB;AAChB,SAAgB,SAAS,CAAe,SAAiC,EAAE,GAAS,EAAE,KAAa;IACjG,IAAI,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7B,IAAI,CAAC,GAAG,EAAE;QACR,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;QAChB,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;KACzB;IACD,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACjB,CAAC;AAPD,8BAOC;AAED,gBAAgB;AAChB,SAAgB,kBAAkB,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAA+F;IAC1J,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACzC,MAAM,cAAc,GAAG,IAAA,kDAAsB,EAAC,OAAO,CAAC,CAAC;IACvD,OAAO;QACL,GAAG,cAAc;QACjB,GAAG,IAAA,4DAAsC,EAAC,EAAE,cAAc,EAAE,CAAC;QAC7D,GAAG,IAAA,2DAAgC,EAAC,IAAA,oDAAwB,EAAC,MAAM,CAAC,EAAE,IAAI,CAAC;KAC5E,CAAC;AACJ,CAAC;AARD,gDAQC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n\nimport { createECSchemaProvider, createECSqlQueryExecutor } from \"@itwin/presentation-core-interop\";\nimport { createLimitingECSqlQueryExecutor } from \"@itwin/presentation-hierarchies\";\nimport { createCachingECClassHierarchyInspector } from \"@itwin/presentation-shared\";\n\nimport type { Id64Array, Id64String } from \"@itwin/core-bentley\";\nimport type { IModelConnection } from \"@itwin/core-frontend\";\nimport type { SchemaContext } from \"@itwin/ecschema-metadata\";\n\n/** @internal */\nexport function createIdsSelector(ids: Id64Array): string {\n // Note: `json_array` function only accepts up to 127 arguments and we may have more `ids` than that. As a workaround,\n // we're creating an array of arrays\n const slices = new Array<Id64String[]>();\n for (let sliceStartIndex = 0; sliceStartIndex < ids.length; sliceStartIndex += 127) {\n let sliceEndIndex: number | undefined = sliceStartIndex + 127;\n if (sliceEndIndex > ids.length) {\n sliceEndIndex = undefined;\n }\n slices.push(ids.slice(sliceStartIndex, sliceEndIndex));\n }\n return `json_array(${slices.map((sliceIds) => `json_array(${sliceIds.map((id) => `'${id}'`).join(\",\")})`).join(\",\")})`;\n}\n\n/** @internal */\nexport function parseIdsSelectorResult(selectorResult: any): Id64Array {\n if (!Array.isArray(selectorResult)) {\n return [];\n }\n return selectorResult.reduce((arr, ids: Id64String | Id64String[]) => [...arr, ...(Array.isArray(ids) ? ids : [ids])], new Array<Id64String>());\n}\n\n/** @internal */\nexport function pushToMap<TKey, TValue>(targetMap: Map<TKey, Set<TValue>>, key: TKey, value: TValue) {\n let set = targetMap.get(key);\n if (!set) {\n set = new Set();\n targetMap.set(key, set);\n }\n set.add(value);\n}\n\n/** @internal */\nexport function createIModelAccess({ imodel, getSchemaContext }: { imodel: IModelConnection; getSchemaContext: (imodel: IModelConnection) => SchemaContext }) {\n const schemas = getSchemaContext(imodel);\n const schemaProvider = createECSchemaProvider(schemas);\n return {\n ...schemaProvider,\n ...createCachingECClassHierarchyInspector({ schemaProvider }),\n ...createLimitingECSqlQueryExecutor(createECSqlQueryExecutor(imodel), 1000),\n };\n}\n"]}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { useSelectionHandler } from "@itwin/presentation-hierarchies-react";
|
|
2
|
+
import { useNodeHighlighting } from "../UseNodeHighlighting";
|
|
3
|
+
import { TreeRenderer } from "./TreeRenderer";
|
|
4
|
+
import type { IModelConnection } from "@itwin/core-frontend";
|
|
5
|
+
import type { SchemaContext } from "@itwin/ecschema-metadata";
|
|
6
|
+
import type { useTree } from "@itwin/presentation-hierarchies-react";
|
|
7
|
+
import type { ComponentPropsWithoutRef, ReactNode } from "react";
|
|
8
|
+
import type { UsageTrackedFeatures } from "../UseFeatureReporting";
|
|
9
|
+
type TreeRendererProps = Pick<ComponentPropsWithoutRef<typeof TreeRenderer>, "rootNodes" | "expandNode" | "onNodeClick" | "onNodeKeyDown" | "onFilterClick" | "isNodeSelected" | "getHierarchyLevelDetails" | "size" | "getIcon" | "getLabel" | "getSublabel" | "onNodeDoubleClick">;
|
|
10
|
+
interface BaseTreeOwnProps {
|
|
11
|
+
imodel: IModelConnection;
|
|
12
|
+
getSchemaContext: (imodel: IModelConnection) => SchemaContext;
|
|
13
|
+
height: number;
|
|
14
|
+
width: number;
|
|
15
|
+
treeName: string;
|
|
16
|
+
imodelAccess?: IModelAccess;
|
|
17
|
+
treeRenderer?: (treeProps: TreeRendererProps) => ReactNode;
|
|
18
|
+
hierarchyLevelSizeLimit?: number;
|
|
19
|
+
density?: "default" | "enlarged";
|
|
20
|
+
noDataMessage?: ReactNode;
|
|
21
|
+
reportUsage?: (props: {
|
|
22
|
+
featureId?: UsageTrackedFeatures;
|
|
23
|
+
reportInteraction: boolean;
|
|
24
|
+
}) => void;
|
|
25
|
+
}
|
|
26
|
+
type UseTreeProps = Parameters<typeof useTree>[0];
|
|
27
|
+
type UseSelectionHandlerProps = Parameters<typeof useSelectionHandler>[0];
|
|
28
|
+
type UseNodeHighlightingProps = Parameters<typeof useNodeHighlighting>[0];
|
|
29
|
+
type IModelAccess = UseTreeProps["imodelAccess"];
|
|
30
|
+
type BaseTreeProps = BaseTreeOwnProps & Pick<UseTreeProps, "getFilteredPaths" | "getHierarchyDefinition" | "onPerformanceMeasured"> & Pick<Partial<UseSelectionHandlerProps>, "selectionMode"> & Pick<UseNodeHighlightingProps, "searchText"> & Pick<TreeRendererProps, "getIcon" | "getSublabel" | "onNodeDoubleClick">;
|
|
31
|
+
/** @internal */
|
|
32
|
+
export declare function BaseTree({ getSchemaContext, hierarchyLevelSizeLimit, imodelAccess: providedIModelAccess, ...props }: BaseTreeProps): JSX.Element;
|
|
33
|
+
export {};
|
|
34
|
+
//# sourceMappingURL=BaseTree.d.ts.map
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BaseTree = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
/*---------------------------------------------------------------------------------------------
|
|
6
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
7
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
8
|
+
*--------------------------------------------------------------------------------------------*/
|
|
9
|
+
const react_1 = require("react");
|
|
10
|
+
const itwinui_react_1 = require("@itwin/itwinui-react");
|
|
11
|
+
const presentation_components_1 = require("@itwin/presentation-components");
|
|
12
|
+
const presentation_hierarchies_react_1 = require("@itwin/presentation-hierarchies-react");
|
|
13
|
+
const TreeWidget_1 = require("../../../../TreeWidget");
|
|
14
|
+
const UseFeatureReporting_1 = require("../UseFeatureReporting");
|
|
15
|
+
const UseHierarchiesLocalization_1 = require("../UseHierarchiesLocalization");
|
|
16
|
+
const UseHierarchyFiltering_1 = require("../UseHierarchyFiltering");
|
|
17
|
+
const UseIModelChangeListener_1 = require("../UseIModelChangeListener");
|
|
18
|
+
const UseNodeHighlighting_1 = require("../UseNodeHighlighting");
|
|
19
|
+
const Utils_1 = require("../Utils");
|
|
20
|
+
const Delayed_1 = require("./Delayed");
|
|
21
|
+
const ProgressOverlay_1 = require("./ProgressOverlay");
|
|
22
|
+
const TreeRenderer_1 = require("./TreeRenderer");
|
|
23
|
+
/** @internal */
|
|
24
|
+
function BaseTree({ getSchemaContext, hierarchyLevelSizeLimit, imodelAccess: providedIModelAccess, ...props }) {
|
|
25
|
+
const defaultHierarchyLevelSizeLimit = hierarchyLevelSizeLimit ?? 1000;
|
|
26
|
+
const imodelAccess = (0, react_1.useMemo)(() => {
|
|
27
|
+
return providedIModelAccess ?? (0, Utils_1.createIModelAccess)({ getSchemaContext, imodel: props.imodel });
|
|
28
|
+
}, [providedIModelAccess, getSchemaContext, props.imodel]);
|
|
29
|
+
return ((0, jsx_runtime_1.jsx)(presentation_components_1.SchemaMetadataContextProvider, { imodel: props.imodel, schemaContextProvider: getSchemaContext, children: (0, jsx_runtime_1.jsx)(BaseTreeRenderer, { ...props, imodelAccess: imodelAccess, defaultHierarchyLevelSizeLimit: defaultHierarchyLevelSizeLimit }) }));
|
|
30
|
+
}
|
|
31
|
+
exports.BaseTree = BaseTree;
|
|
32
|
+
/** @internal */
|
|
33
|
+
function BaseTreeRenderer({ imodel, imodelAccess, height, width, treeName, noDataMessage, getFilteredPaths, defaultHierarchyLevelSizeLimit, getHierarchyDefinition, selectionMode, onPerformanceMeasured, reportUsage, treeRenderer, density, getIcon, getSublabel, onNodeDoubleClick, searchText, }) {
|
|
34
|
+
const localizedStrings = (0, UseHierarchiesLocalization_1.useHierarchiesLocalization)();
|
|
35
|
+
const { rootNodes, isLoading, selectNodes, setFormatter: _setFormatter, expandNode, ...treeProps } = (0, presentation_hierarchies_react_1.useUnifiedSelectionTree)({
|
|
36
|
+
imodelAccess,
|
|
37
|
+
getHierarchyDefinition,
|
|
38
|
+
getFilteredPaths,
|
|
39
|
+
imodelKey: imodel.key,
|
|
40
|
+
sourceName: treeName,
|
|
41
|
+
localizedStrings,
|
|
42
|
+
onPerformanceMeasured,
|
|
43
|
+
onHierarchyLimitExceeded: () => reportUsage?.({ featureId: "hierarchy-level-size-limit-hit", reportInteraction: false }),
|
|
44
|
+
});
|
|
45
|
+
const reloadTree = treeProps.reloadTree;
|
|
46
|
+
(0, UseIModelChangeListener_1.useIModelChangeListener)({ imodel, action: (0, react_1.useCallback)(() => reloadTree({ dataSourceChanged: true }), [reloadTree]) });
|
|
47
|
+
const reportingSelectNodes = (0, UseFeatureReporting_1.useReportingAction)({ action: selectNodes, reportUsage });
|
|
48
|
+
const { onNodeClick, onNodeKeyDown } = (0, presentation_hierarchies_react_1.useSelectionHandler)({ rootNodes, selectNodes: reportingSelectNodes, selectionMode: selectionMode ?? "single" });
|
|
49
|
+
const { filteringDialog, onFilterClick } = (0, UseHierarchyFiltering_1.useHierarchyLevelFiltering)({
|
|
50
|
+
imodel,
|
|
51
|
+
defaultHierarchyLevelSizeLimit,
|
|
52
|
+
reportUsage,
|
|
53
|
+
});
|
|
54
|
+
const reportingExpandNode = (0, UseFeatureReporting_1.useReportingAction)({ action: expandNode, reportUsage });
|
|
55
|
+
const reportingOnFilterClicked = (0, UseFeatureReporting_1.useReportingAction)({ action: onFilterClick, reportUsage });
|
|
56
|
+
const { getLabel } = (0, UseNodeHighlighting_1.useNodeHighlighting)({ rootNodes, searchText });
|
|
57
|
+
if (rootNodes === undefined) {
|
|
58
|
+
return ((0, jsx_runtime_1.jsx)(itwinui_react_1.Flex, { alignItems: "center", justifyContent: "center", flexDirection: "column", style: { width, height }, children: (0, jsx_runtime_1.jsx)(Delayed_1.Delayed, { show: true, children: (0, jsx_runtime_1.jsx)(itwinui_react_1.ProgressRadial, { size: "large" }) }) }));
|
|
59
|
+
}
|
|
60
|
+
if (rootNodes.length === 0 && !isLoading) {
|
|
61
|
+
return ((0, jsx_runtime_1.jsx)(itwinui_react_1.Flex, { alignItems: "center", justifyContent: "center", flexDirection: "column", style: { width, height }, children: noDataMessage ? noDataMessage : (0, jsx_runtime_1.jsx)(itwinui_react_1.Text, { children: TreeWidget_1.TreeWidget.translate("baseTree.dataIsNotAvailable") }) }));
|
|
62
|
+
}
|
|
63
|
+
const treeRendererProps = {
|
|
64
|
+
...treeProps,
|
|
65
|
+
rootNodes,
|
|
66
|
+
onNodeClick,
|
|
67
|
+
onNodeKeyDown,
|
|
68
|
+
expandNode: reportingExpandNode,
|
|
69
|
+
onFilterClick: reportingOnFilterClicked,
|
|
70
|
+
getIcon,
|
|
71
|
+
getLabel,
|
|
72
|
+
getSublabel,
|
|
73
|
+
onNodeDoubleClick,
|
|
74
|
+
size: density === "enlarged" ? "default" : "small",
|
|
75
|
+
};
|
|
76
|
+
return ((0, jsx_runtime_1.jsxs)("div", { style: { position: "relative", height, overflow: "hidden" }, children: [(0, jsx_runtime_1.jsxs)("div", { id: "tw-tree-renderer-container", style: { overflow: "auto", height: "100%" }, children: [treeRenderer ? treeRenderer(treeRendererProps) : (0, jsx_runtime_1.jsx)(TreeRenderer_1.TreeRenderer, { ...treeRendererProps }), filteringDialog] }), (0, jsx_runtime_1.jsx)(Delayed_1.Delayed, { show: isLoading, children: (0, jsx_runtime_1.jsx)(ProgressOverlay_1.ProgressOverlay, {}) })] }));
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=BaseTree.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseTree.js","sourceRoot":"","sources":["../../../../../../src/components/trees/common/components/BaseTree.tsx"],"names":[],"mappings":";;;;AAAA;;;gGAGgG;AAEhG,iCAA6C;AAC7C,wDAAkE;AAClE,4EAA+E;AAC/E,0FAAqG;AACrG,uDAAoD;AACpD,gEAA4D;AAC5D,8EAA2E;AAC3E,oEAAsE;AACtE,wEAAqE;AACrE,gEAA6D;AAC7D,oCAA8C;AAC9C,uCAAoC;AACpC,uDAAoD;AACpD,iDAA8C;AAkD9C,gBAAgB;AAChB,SAAgB,QAAQ,CAAC,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,YAAY,EAAE,oBAAoB,EAAE,GAAG,KAAK,EAAiB;IACjI,MAAM,8BAA8B,GAAG,uBAAuB,IAAI,IAAI,CAAC;IAEvE,MAAM,YAAY,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QAChC,OAAO,oBAAoB,IAAI,IAAA,0BAAkB,EAAC,EAAE,gBAAgB,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAChG,CAAC,EAAE,CAAC,oBAAoB,EAAE,gBAAgB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAE3D,OAAO,CACL,uBAAC,uDAA6B,IAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,qBAAqB,EAAE,gBAAgB,YAC1F,uBAAC,gBAAgB,OAAK,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,8BAA8B,EAAE,8BAA8B,GAAI,GAC7F,CACjC,CAAC;AACJ,CAAC;AAZD,4BAYC;AAED,gBAAgB;AAChB,SAAS,gBAAgB,CAAC,EACxB,MAAM,EACN,YAAY,EACZ,MAAM,EACN,KAAK,EACL,QAAQ,EACR,aAAa,EACb,gBAAgB,EAChB,8BAA8B,EAC9B,sBAAsB,EACtB,aAAa,EACb,qBAAqB,EACrB,WAAW,EACX,YAAY,EACZ,OAAO,EACP,OAAO,EACP,WAAW,EACX,iBAAiB,EACjB,UAAU,GACyG;IACnH,MAAM,gBAAgB,GAAG,IAAA,uDAA0B,GAAE,CAAC;IACtD,MAAM,EACJ,SAAS,EACT,SAAS,EACT,WAAW,EACX,YAAY,EAAE,aAAa,EAC3B,UAAU,EACV,GAAG,SAAS,EACb,GAAG,IAAA,wDAAuB,EAAC;QAC1B,YAAY;QACZ,sBAAsB;QACtB,gBAAgB;QAChB,SAAS,EAAE,MAAM,CAAC,GAAG;QACrB,UAAU,EAAE,QAAQ;QACpB,gBAAgB;QAChB,qBAAqB;QACrB,wBAAwB,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE,SAAS,EAAE,gCAAgC,EAAE,iBAAiB,EAAE,KAAK,EAAE,CAAC;KACzH,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC;IACxC,IAAA,iDAAuB,EAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAA,mBAAW,EAAC,GAAG,EAAE,CAAC,UAAU,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC;IACtH,MAAM,oBAAoB,GAAG,IAAA,wCAAkB,EAAC,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC;IACtF,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,GAAG,IAAA,oDAAmB,EAAC,EAAE,SAAS,EAAE,WAAW,EAAE,oBAAoB,EAAE,aAAa,EAAE,aAAa,IAAI,QAAQ,EAAE,CAAC,CAAC;IACvJ,MAAM,EAAE,eAAe,EAAE,aAAa,EAAE,GAAG,IAAA,kDAA0B,EAAC;QACpE,MAAM;QACN,8BAA8B;QAC9B,WAAW;KACZ,CAAC,CAAC;IACH,MAAM,mBAAmB,GAAG,IAAA,wCAAkB,EAAC,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,CAAC;IACpF,MAAM,wBAAwB,GAAG,IAAA,wCAAkB,EAAC,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,CAAC,CAAC;IAC5F,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAA,yCAAmB,EAAC,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC;IAEpE,IAAI,SAAS,KAAK,SAAS,EAAE;QAC3B,OAAO,CACL,uBAAC,oBAAI,IAAC,UAAU,EAAC,QAAQ,EAAC,cAAc,EAAC,QAAQ,EAAC,aAAa,EAAC,QAAQ,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,YAC/F,uBAAC,iBAAO,IAAC,IAAI,EAAE,IAAI,YACjB,uBAAC,8BAAc,IAAC,IAAI,EAAC,OAAO,GAAG,GACvB,GACL,CACR,CAAC;KACH;IAED,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE;QACxC,OAAO,CACL,uBAAC,oBAAI,IAAC,UAAU,EAAC,QAAQ,EAAC,cAAc,EAAC,QAAQ,EAAC,aAAa,EAAC,QAAQ,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,YAC9F,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,uBAAC,oBAAI,cAAE,uBAAU,CAAC,SAAS,CAAC,6BAA6B,CAAC,GAAQ,GAC9F,CACR,CAAC;KACH;IAED,MAAM,iBAAiB,GAAsB;QAC3C,GAAG,SAAS;QACZ,SAAS;QACT,WAAW;QACX,aAAa;QACb,UAAU,EAAE,mBAAmB;QAC/B,aAAa,EAAE,wBAAwB;QACvC,OAAO;QACP,QAAQ;QACR,WAAW;QACX,iBAAiB;QACjB,IAAI,EAAE,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO;KACnD,CAAC;IAEF,OAAO,CACL,iCAAK,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAC9D,iCAAK,EAAE,EAAC,4BAA4B,EAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAC7E,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,uBAAC,2BAAY,OAAK,iBAAiB,GAAI,EACxF,eAAe,IACZ,EACN,uBAAC,iBAAO,IAAC,IAAI,EAAE,SAAS,YACtB,uBAAC,iCAAe,KAAG,GACX,IACN,CACP,CAAC;AACJ,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n\nimport { useCallback, useMemo } from \"react\";\nimport { Flex, ProgressRadial, Text } from \"@itwin/itwinui-react\";\nimport { SchemaMetadataContextProvider } from \"@itwin/presentation-components\";\nimport { useSelectionHandler, useUnifiedSelectionTree } from \"@itwin/presentation-hierarchies-react\";\nimport { TreeWidget } from \"../../../../TreeWidget\";\nimport { useReportingAction } from \"../UseFeatureReporting\";\nimport { useHierarchiesLocalization } from \"../UseHierarchiesLocalization\";\nimport { useHierarchyLevelFiltering } from \"../UseHierarchyFiltering\";\nimport { useIModelChangeListener } from \"../UseIModelChangeListener\";\nimport { useNodeHighlighting } from \"../UseNodeHighlighting\";\nimport { createIModelAccess } from \"../Utils\";\nimport { Delayed } from \"./Delayed\";\nimport { ProgressOverlay } from \"./ProgressOverlay\";\nimport { TreeRenderer } from \"./TreeRenderer\";\n\nimport type { MarkRequired } from \"@itwin/core-bentley\";\nimport type { IModelConnection } from \"@itwin/core-frontend\";\nimport type { SchemaContext } from \"@itwin/ecschema-metadata\";\nimport type { useTree } from \"@itwin/presentation-hierarchies-react\";\nimport type { ComponentPropsWithoutRef, ReactNode } from \"react\";\nimport type { UsageTrackedFeatures } from \"../UseFeatureReporting\";\n\ntype TreeRendererProps = Pick<\n ComponentPropsWithoutRef<typeof TreeRenderer>,\n | \"rootNodes\"\n | \"expandNode\"\n | \"onNodeClick\"\n | \"onNodeKeyDown\"\n | \"onFilterClick\"\n | \"isNodeSelected\"\n | \"getHierarchyLevelDetails\"\n | \"size\"\n | \"getIcon\"\n | \"getLabel\"\n | \"getSublabel\"\n | \"onNodeDoubleClick\"\n>;\n\ninterface BaseTreeOwnProps {\n imodel: IModelConnection;\n getSchemaContext: (imodel: IModelConnection) => SchemaContext;\n height: number;\n width: number;\n treeName: string;\n imodelAccess?: IModelAccess;\n treeRenderer?: (treeProps: TreeRendererProps) => ReactNode;\n hierarchyLevelSizeLimit?: number;\n density?: \"default\" | \"enlarged\";\n noDataMessage?: ReactNode;\n reportUsage?: (props: { featureId?: UsageTrackedFeatures; reportInteraction: boolean }) => void;\n}\n\ntype UseTreeProps = Parameters<typeof useTree>[0];\ntype UseSelectionHandlerProps = Parameters<typeof useSelectionHandler>[0];\ntype UseNodeHighlightingProps = Parameters<typeof useNodeHighlighting>[0];\ntype IModelAccess = UseTreeProps[\"imodelAccess\"];\n\ntype BaseTreeProps = BaseTreeOwnProps &\n Pick<UseTreeProps, \"getFilteredPaths\" | \"getHierarchyDefinition\" | \"onPerformanceMeasured\"> &\n Pick<Partial<UseSelectionHandlerProps>, \"selectionMode\"> &\n Pick<UseNodeHighlightingProps, \"searchText\"> &\n Pick<TreeRendererProps, \"getIcon\" | \"getSublabel\" | \"onNodeDoubleClick\">;\n\n/** @internal */\nexport function BaseTree({ getSchemaContext, hierarchyLevelSizeLimit, imodelAccess: providedIModelAccess, ...props }: BaseTreeProps) {\n const defaultHierarchyLevelSizeLimit = hierarchyLevelSizeLimit ?? 1000;\n\n const imodelAccess = useMemo(() => {\n return providedIModelAccess ?? createIModelAccess({ getSchemaContext, imodel: props.imodel });\n }, [providedIModelAccess, getSchemaContext, props.imodel]);\n\n return (\n <SchemaMetadataContextProvider imodel={props.imodel} schemaContextProvider={getSchemaContext}>\n <BaseTreeRenderer {...props} imodelAccess={imodelAccess} defaultHierarchyLevelSizeLimit={defaultHierarchyLevelSizeLimit} />\n </SchemaMetadataContextProvider>\n );\n}\n\n/** @internal */\nfunction BaseTreeRenderer({\n imodel,\n imodelAccess,\n height,\n width,\n treeName,\n noDataMessage,\n getFilteredPaths,\n defaultHierarchyLevelSizeLimit,\n getHierarchyDefinition,\n selectionMode,\n onPerformanceMeasured,\n reportUsage,\n treeRenderer,\n density,\n getIcon,\n getSublabel,\n onNodeDoubleClick,\n searchText,\n}: MarkRequired<Omit<BaseTreeProps, \"getSchemaContext\">, \"imodelAccess\"> & { defaultHierarchyLevelSizeLimit: number }) {\n const localizedStrings = useHierarchiesLocalization();\n const {\n rootNodes,\n isLoading,\n selectNodes,\n setFormatter: _setFormatter,\n expandNode,\n ...treeProps\n } = useUnifiedSelectionTree({\n imodelAccess,\n getHierarchyDefinition,\n getFilteredPaths,\n imodelKey: imodel.key,\n sourceName: treeName,\n localizedStrings,\n onPerformanceMeasured,\n onHierarchyLimitExceeded: () => reportUsage?.({ featureId: \"hierarchy-level-size-limit-hit\", reportInteraction: false }),\n });\n\n const reloadTree = treeProps.reloadTree;\n useIModelChangeListener({ imodel, action: useCallback(() => reloadTree({ dataSourceChanged: true }), [reloadTree]) });\n const reportingSelectNodes = useReportingAction({ action: selectNodes, reportUsage });\n const { onNodeClick, onNodeKeyDown } = useSelectionHandler({ rootNodes, selectNodes: reportingSelectNodes, selectionMode: selectionMode ?? \"single\" });\n const { filteringDialog, onFilterClick } = useHierarchyLevelFiltering({\n imodel,\n defaultHierarchyLevelSizeLimit,\n reportUsage,\n });\n const reportingExpandNode = useReportingAction({ action: expandNode, reportUsage });\n const reportingOnFilterClicked = useReportingAction({ action: onFilterClick, reportUsage });\n const { getLabel } = useNodeHighlighting({ rootNodes, searchText });\n\n if (rootNodes === undefined) {\n return (\n <Flex alignItems=\"center\" justifyContent=\"center\" flexDirection=\"column\" style={{ width, height }}>\n <Delayed show={true}>\n <ProgressRadial size=\"large\" />\n </Delayed>\n </Flex>\n );\n }\n\n if (rootNodes.length === 0 && !isLoading) {\n return (\n <Flex alignItems=\"center\" justifyContent=\"center\" flexDirection=\"column\" style={{ width, height }}>\n {noDataMessage ? noDataMessage : <Text>{TreeWidget.translate(\"baseTree.dataIsNotAvailable\")}</Text>}\n </Flex>\n );\n }\n\n const treeRendererProps: TreeRendererProps = {\n ...treeProps,\n rootNodes,\n onNodeClick,\n onNodeKeyDown,\n expandNode: reportingExpandNode,\n onFilterClick: reportingOnFilterClicked,\n getIcon,\n getLabel,\n getSublabel,\n onNodeDoubleClick,\n size: density === \"enlarged\" ? \"default\" : \"small\",\n };\n\n return (\n <div style={{ position: \"relative\", height, overflow: \"hidden\" }}>\n <div id=\"tw-tree-renderer-container\" style={{ overflow: \"auto\", height: \"100%\" }}>\n {treeRenderer ? treeRenderer(treeRendererProps) : <TreeRenderer {...treeRendererProps} />}\n {filteringDialog}\n </div>\n <Delayed show={isLoading}>\n <ProgressOverlay />\n </Delayed>\n </div>\n );\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Delayed.js","sourceRoot":"","sources":["../../../../../../src/components/trees/common/components/Delayed.tsx"],"names":[],"mappings":";;;;AAAA;;;gGAGgG;AAEhG,iCAAkD;AAIlD,gBAAgB;AAChB,SAAgB,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAwC;IAC9E,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IAE9C,IAAA,uBAAe,EAAC,GAAG,EAAE;QACnB,IAAI,CAAC,IAAI,EAAE;YACT,UAAU,CAAC,KAAK,CAAC,CAAC;YAClB,OAAO;SACR;QAED,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,UAAU,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC,EAAE,GAAG,CAAC,CAAC;QACR,OAAO,GAAG,EAAE;YACV,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,IAAI,CAAC;KACb;IAED,OAAO,2DAAG,QAAQ,GAAI,CAAC;AACzB,CAAC;AAtBD,0BAsBC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n\nimport { useLayoutEffect, useState } from \"react\";\n\nimport type { PropsWithChildren } from \"react\";\n\n/** @internal */\nexport function Delayed({ show, children }: PropsWithChildren<{ show: boolean }>) {\n const [visible, setVisible] = useState(false);\n\n useLayoutEffect(() => {\n if (!show) {\n setVisible(false);\n return;\n }\n\n const timer = setTimeout(() => {\n setVisible(show);\n }, 250);\n return () => {\n clearTimeout(timer);\n };\n }, [show]);\n\n if (!visible) {\n return null;\n }\n\n return <>{children}</>;\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProgressOverlay.js","sourceRoot":"","sources":["../../../../../../src/components/trees/common/components/ProgressOverlay.tsx"],"names":[],"mappings":";;;;AAAA;;;gGAGgG;AAEhG,kCAAgC;AAChC,wDAAsD;AAEtD,gBAAgB;AAChB,SAAgB,eAAe;IAC7B,OAAO,CACL,iCAAK,SAAS,EAAC,+BAA+B,aAC5C,uBAAC,8BAAc,IAAC,aAAa,SAAG,EAChC,gCAAK,SAAS,EAAC,8BAA8B,GAAG,IAC5C,CACP,CAAC;AACJ,CAAC;AAPD,0CAOC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n\nimport \"./ProgressOverlay.scss\";\nimport { ProgressLinear } from \"@itwin/itwinui-react\";\n\n/** @internal */\nexport function ProgressOverlay() {\n return (\n <div className=\"tw-progress-overlay-container\">\n <ProgressLinear indeterminate />\n <div className=\"tw-progress-overlay-backdrop\" />\n </div>\n );\n}\n"]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Checkbox } from "@itwin/itwinui-react";
|
|
2
|
+
import type { PresentationHierarchyNode, RenderedTreeNode } from "@itwin/presentation-hierarchies-react";
|
|
3
|
+
import type { ComponentPropsWithoutRef } from "react";
|
|
4
|
+
/** @internal */
|
|
5
|
+
export interface TreeNodeCheckboxState {
|
|
6
|
+
state: "on" | "off" | "partial";
|
|
7
|
+
isDisabled?: boolean;
|
|
8
|
+
tooltip?: string;
|
|
9
|
+
}
|
|
10
|
+
interface TreeNodeCheckboxOwnProps {
|
|
11
|
+
node: RenderedTreeNode;
|
|
12
|
+
onCheckboxClicked: (node: PresentationHierarchyNode, checked: boolean) => void;
|
|
13
|
+
getCheckboxState: (node: PresentationHierarchyNode) => TreeNodeCheckboxState;
|
|
14
|
+
}
|
|
15
|
+
type CheckboxProps = ComponentPropsWithoutRef<typeof Checkbox>;
|
|
16
|
+
type TreeNodeCheckboxProps = TreeNodeCheckboxOwnProps & Omit<CheckboxProps, "onClick" | "checked" | "onChange" | "indeterminate" | "disabled" | "title">;
|
|
17
|
+
/** @internal */
|
|
18
|
+
export declare function TreeNodeCheckbox({ node, onCheckboxClicked, getCheckboxState, ...props }: TreeNodeCheckboxProps): JSX.Element | null;
|
|
19
|
+
export {};
|
|
20
|
+
//# sourceMappingURL=TreeNodeCheckbox.d.ts.map
|
|
@@ -1,24 +1,28 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
6
|
+
exports.TreeNodeCheckbox = void 0;
|
|
4
7
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
8
|
/*---------------------------------------------------------------------------------------------
|
|
6
9
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
7
10
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
8
11
|
*--------------------------------------------------------------------------------------------*/
|
|
12
|
+
const classnames_1 = __importDefault(require("classnames"));
|
|
9
13
|
const itwinui_react_1 = require("@itwin/itwinui-react");
|
|
10
14
|
const presentation_hierarchies_react_1 = require("@itwin/presentation-hierarchies-react");
|
|
11
15
|
/** @internal */
|
|
12
|
-
function
|
|
16
|
+
function TreeNodeCheckbox({ node, onCheckboxClicked, getCheckboxState, ...props }) {
|
|
13
17
|
if ("type" in node || !(0, presentation_hierarchies_react_1.isPresentationHierarchyNode)(node)) {
|
|
14
18
|
return null;
|
|
15
19
|
}
|
|
16
|
-
const
|
|
17
|
-
return ((0, jsx_runtime_1.jsx)(itwinui_react_1.Checkbox, { className: "tw-
|
|
20
|
+
const checkboxState = getCheckboxState(node);
|
|
21
|
+
return ((0, jsx_runtime_1.jsx)(itwinui_react_1.Checkbox, { ...props, className: (0, classnames_1.default)("tw-tree-node-checkbox", props.className), checked: checkboxState.state === "on", onClick: (e) => {
|
|
18
22
|
e.stopPropagation();
|
|
19
23
|
}, onChange: (e) => {
|
|
20
24
|
onCheckboxClicked(node, e.currentTarget.checked);
|
|
21
|
-
}, indeterminate:
|
|
25
|
+
}, indeterminate: checkboxState.state === "partial", disabled: checkboxState.isDisabled, title: checkboxState.tooltip }));
|
|
22
26
|
}
|
|
23
|
-
exports.
|
|
24
|
-
//# sourceMappingURL=
|
|
27
|
+
exports.TreeNodeCheckbox = TreeNodeCheckbox;
|
|
28
|
+
//# sourceMappingURL=TreeNodeCheckbox.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TreeNodeCheckbox.js","sourceRoot":"","sources":["../../../../../../src/components/trees/common/components/TreeNodeCheckbox.tsx"],"names":[],"mappings":";;;;;;;AAAA;;;gGAGgG;AAEhG,4DAA4B;AAC5B,wDAAgD;AAChD,0FAAoF;AAqBpF,gBAAgB;AAChB,SAAgB,gBAAgB,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,GAAG,KAAK,EAAyB;IAC7G,IAAI,MAAM,IAAI,IAAI,IAAI,CAAC,IAAA,4DAA2B,EAAC,IAAI,CAAC,EAAE;QACxD,OAAO,IAAI,CAAC;KACb;IAED,MAAM,aAAa,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAC7C,OAAO,CACL,uBAAC,wBAAQ,OACH,KAAK,EACT,SAAS,EAAE,IAAA,oBAAE,EAAC,uBAAuB,EAAE,KAAK,CAAC,SAAS,CAAC,EACvD,OAAO,EAAE,aAAa,CAAC,KAAK,KAAK,IAAI,EACrC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;YACb,CAAC,CAAC,eAAe,EAAE,CAAC;QACtB,CAAC,EACD,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;YACd,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACnD,CAAC,EACD,aAAa,EAAE,aAAa,CAAC,KAAK,KAAK,SAAS,EAChD,QAAQ,EAAE,aAAa,CAAC,UAAU,EAClC,KAAK,EAAE,aAAa,CAAC,OAAO,GAC5B,CACH,CAAC;AACJ,CAAC;AAtBD,4CAsBC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n\nimport cx from \"classnames\";\nimport { Checkbox } from \"@itwin/itwinui-react\";\nimport { isPresentationHierarchyNode } from \"@itwin/presentation-hierarchies-react\";\n\nimport type { PresentationHierarchyNode, RenderedTreeNode } from \"@itwin/presentation-hierarchies-react\";\nimport type { ComponentPropsWithoutRef } from \"react\";\n\n/** @internal */\nexport interface TreeNodeCheckboxState {\n state: \"on\" | \"off\" | \"partial\";\n isDisabled?: boolean;\n tooltip?: string;\n}\n\ninterface TreeNodeCheckboxOwnProps {\n node: RenderedTreeNode;\n onCheckboxClicked: (node: PresentationHierarchyNode, checked: boolean) => void;\n getCheckboxState: (node: PresentationHierarchyNode) => TreeNodeCheckboxState;\n}\n\ntype CheckboxProps = ComponentPropsWithoutRef<typeof Checkbox>;\ntype TreeNodeCheckboxProps = TreeNodeCheckboxOwnProps & Omit<CheckboxProps, \"onClick\" | \"checked\" | \"onChange\" | \"indeterminate\" | \"disabled\" | \"title\">;\n\n/** @internal */\nexport function TreeNodeCheckbox({ node, onCheckboxClicked, getCheckboxState, ...props }: TreeNodeCheckboxProps) {\n if (\"type\" in node || !isPresentationHierarchyNode(node)) {\n return null;\n }\n\n const checkboxState = getCheckboxState(node);\n return (\n <Checkbox\n {...props}\n className={cx(\"tw-tree-node-checkbox\", props.className)}\n checked={checkboxState.state === \"on\"}\n onClick={(e) => {\n e.stopPropagation();\n }}\n onChange={(e) => {\n onCheckboxClicked(node, e.currentTarget.checked);\n }}\n indeterminate={checkboxState.state === \"partial\"}\n disabled={checkboxState.isDisabled}\n title={checkboxState.tooltip}\n />\n );\n}\n"]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { TreeNodeRenderer as CoreTreeNodeRenderer } from "@itwin/presentation-hierarchies-react";
|
|
2
|
+
import { TreeNodeCheckbox } from "./TreeNodeCheckbox";
|
|
3
|
+
import type { ComponentPropsWithoutRef } from "react";
|
|
4
|
+
type TreeNodeCheckboxProps = ComponentPropsWithoutRef<typeof TreeNodeCheckbox>;
|
|
5
|
+
interface TreeNodeRendererOwnProps {
|
|
6
|
+
checkboxProps?: Omit<TreeNodeCheckboxProps, "node">;
|
|
7
|
+
}
|
|
8
|
+
type CoreTreeNodeRendererProps = ComponentPropsWithoutRef<typeof CoreTreeNodeRenderer>;
|
|
9
|
+
type TreeNodeRendererProps = CoreTreeNodeRendererProps & TreeNodeRendererOwnProps;
|
|
10
|
+
/** @internal */
|
|
11
|
+
export declare function TreeNodeRenderer({ checkboxProps, ...props }: TreeNodeRendererProps): JSX.Element;
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=TreeNodeRenderer.d.ts.map
|
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
6
|
+
exports.TreeNodeRenderer = void 0;
|
|
7
7
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
8
8
|
/*---------------------------------------------------------------------------------------------
|
|
9
9
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
@@ -11,10 +11,10 @@ const jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
11
11
|
*--------------------------------------------------------------------------------------------*/
|
|
12
12
|
const classnames_1 = __importDefault(require("classnames"));
|
|
13
13
|
const presentation_hierarchies_react_1 = require("@itwin/presentation-hierarchies-react");
|
|
14
|
-
const
|
|
14
|
+
const TreeNodeCheckbox_1 = require("./TreeNodeCheckbox");
|
|
15
15
|
/** @internal */
|
|
16
|
-
function
|
|
17
|
-
return ((0, jsx_runtime_1.jsx)(presentation_hierarchies_react_1.TreeNodeRenderer, { ...
|
|
16
|
+
function TreeNodeRenderer({ checkboxProps, ...props }) {
|
|
17
|
+
return ((0, jsx_runtime_1.jsx)(presentation_hierarchies_react_1.TreeNodeRenderer, { ...props, nodeProps: { className: (0, classnames_1.default)("tw-tree-node", props.isSelected && "selected", props.className) }, actionButtonsClassName: "tw-tree-node-action-buttons", checkbox: checkboxProps ? (0, jsx_runtime_1.jsx)(TreeNodeCheckbox_1.TreeNodeCheckbox, { ...checkboxProps, node: props.node }) : null, contentProps: { className: "tw-tree-node-content" }, checkboxProps: { className: "tw-tree-node-checkbox-container" } }));
|
|
18
18
|
}
|
|
19
|
-
exports.
|
|
20
|
-
//# sourceMappingURL=
|
|
19
|
+
exports.TreeNodeRenderer = TreeNodeRenderer;
|
|
20
|
+
//# sourceMappingURL=TreeNodeRenderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TreeNodeRenderer.js","sourceRoot":"","sources":["../../../../../../src/components/trees/common/components/TreeNodeRenderer.tsx"],"names":[],"mappings":";;;;;;;AAAA;;;gGAGgG;AAEhG,4DAA4B;AAC5B,0FAAiG;AACjG,yDAAsD;AAatD,gBAAgB;AAChB,SAAgB,gBAAgB,CAAC,EAAE,aAAa,EAAE,GAAG,KAAK,EAAyB;IACjF,OAAO,CACL,uBAAC,iDAAoB,OACf,KAAK,EACT,SAAS,EAAE,EAAE,SAAS,EAAE,IAAA,oBAAE,EAAC,cAAc,EAAE,KAAK,CAAC,UAAU,IAAI,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,EAC7F,sBAAsB,EAAC,6BAA6B,EACpD,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,uBAAC,mCAAgB,OAAK,aAAa,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,GAAI,CAAC,CAAC,CAAC,IAAI,EAC1F,YAAY,EAAE,EAAE,SAAS,EAAE,sBAAsB,EAAE,EACnD,aAAa,EAAE,EAAE,SAAS,EAAE,iCAAiC,EAAE,GAC/D,CACH,CAAC;AACJ,CAAC;AAXD,4CAWC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n\nimport cx from \"classnames\";\nimport { TreeNodeRenderer as CoreTreeNodeRenderer } from \"@itwin/presentation-hierarchies-react\";\nimport { TreeNodeCheckbox } from \"./TreeNodeCheckbox\";\n\nimport type { ComponentPropsWithoutRef } from \"react\";\n\ntype TreeNodeCheckboxProps = ComponentPropsWithoutRef<typeof TreeNodeCheckbox>;\n\ninterface TreeNodeRendererOwnProps {\n checkboxProps?: Omit<TreeNodeCheckboxProps, \"node\">;\n}\n\ntype CoreTreeNodeRendererProps = ComponentPropsWithoutRef<typeof CoreTreeNodeRenderer>;\ntype TreeNodeRendererProps = CoreTreeNodeRendererProps & TreeNodeRendererOwnProps;\n\n/** @internal */\nexport function TreeNodeRenderer({ checkboxProps, ...props }: TreeNodeRendererProps) {\n return (\n <CoreTreeNodeRenderer\n {...props}\n nodeProps={{ className: cx(\"tw-tree-node\", props.isSelected && \"selected\", props.className) }}\n actionButtonsClassName=\"tw-tree-node-action-buttons\"\n checkbox={checkboxProps ? <TreeNodeCheckbox {...checkboxProps} node={props.node} /> : null}\n contentProps={{ className: \"tw-tree-node-content\" }}\n checkboxProps={{ className: \"tw-tree-node-checkbox-container\" }}\n />\n );\n}\n"]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import "./TreeRenderer.scss";
|
|
2
|
+
import { Tree } from "@itwin/itwinui-react";
|
|
3
|
+
import { TreeNodeRenderer } from "./TreeNodeRenderer";
|
|
4
|
+
import type { ComponentPropsWithoutRef } from "react";
|
|
5
|
+
import type { PresentationHierarchyNode, PresentationTreeNode, RenderedTreeNode } from "@itwin/presentation-hierarchies-react";
|
|
6
|
+
interface TreeRendererOwnProps {
|
|
7
|
+
rootNodes: PresentationTreeNode[];
|
|
8
|
+
isNodeSelected: (nodeId: string) => boolean;
|
|
9
|
+
onNodeDoubleClick?: (node: PresentationHierarchyNode, isSelected: boolean) => void;
|
|
10
|
+
}
|
|
11
|
+
type TreeRendererProps = Pick<TreeNodeRendererProps, "expandNode" | "onNodeClick" | "onNodeKeyDown" | "onFilterClick" | "getIcon" | "getLabel" | "getSublabel" | "getHierarchyLevelDetails" | "checkboxProps" | "reloadTree"> & Omit<TreeProps<RenderedTreeNode>, "data" | "nodeRenderer" | "getNode"> & TreeRendererOwnProps;
|
|
12
|
+
/** @internal */
|
|
13
|
+
export declare function TreeRenderer({ rootNodes, expandNode, onNodeClick, onNodeKeyDown, onNodeDoubleClick, isNodeSelected, onFilterClick, getIcon, getLabel, getSublabel, getHierarchyLevelDetails, checkboxProps, reloadTree, ...props }: TreeRendererProps): JSX.Element;
|
|
14
|
+
type TreeProps<T> = ComponentPropsWithoutRef<typeof Tree<T>>;
|
|
15
|
+
type TreeNodeRendererProps = ComponentPropsWithoutRef<typeof TreeNodeRenderer>;
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=TreeRenderer.d.ts.map
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TreeRenderer = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
/*---------------------------------------------------------------------------------------------
|
|
6
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
7
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
8
|
+
*--------------------------------------------------------------------------------------------*/
|
|
9
|
+
require("./TreeRenderer.scss");
|
|
10
|
+
const react_1 = require("react");
|
|
11
|
+
const itwinui_react_1 = require("@itwin/itwinui-react");
|
|
12
|
+
const presentation_hierarchies_react_1 = require("@itwin/presentation-hierarchies-react");
|
|
13
|
+
const UseHierarchiesLocalization_1 = require("../UseHierarchiesLocalization");
|
|
14
|
+
const TreeNodeRenderer_1 = require("./TreeNodeRenderer");
|
|
15
|
+
/** @internal */
|
|
16
|
+
function TreeRenderer({ rootNodes, expandNode, onNodeClick, onNodeKeyDown, onNodeDoubleClick, isNodeSelected, onFilterClick, getIcon, getLabel, getSublabel, getHierarchyLevelDetails, checkboxProps, reloadTree, ...props }) {
|
|
17
|
+
const localizedStrings = (0, UseHierarchiesLocalization_1.useHierarchiesLocalization)();
|
|
18
|
+
const nodeRenderer = (0, react_1.useCallback)((nodeProps) => {
|
|
19
|
+
return ((0, jsx_runtime_1.jsx)(TreeNodeRenderer_1.TreeNodeRenderer, { ...nodeProps, onNodeClick: (node, isSelected, event) => {
|
|
20
|
+
if (onNodeDoubleClick && event.detail === 2) {
|
|
21
|
+
onNodeDoubleClick?.(node, !!nodeProps.isSelected);
|
|
22
|
+
// Click node to not lose selection
|
|
23
|
+
return onNodeClick?.(node, true, event);
|
|
24
|
+
}
|
|
25
|
+
onNodeClick?.(node, isSelected, event);
|
|
26
|
+
}, expandNode: expandNode, onNodeKeyDown: onNodeKeyDown, getIcon: getIcon, getLabel: getLabel, getSublabel: getSublabel, onFilterClick: onFilterClick, getHierarchyLevelDetails: getHierarchyLevelDetails, checkboxProps: checkboxProps, reloadTree: reloadTree, className: getSublabel ? "with-description" : "without-description" }));
|
|
27
|
+
}, [
|
|
28
|
+
expandNode,
|
|
29
|
+
onNodeClick,
|
|
30
|
+
onNodeKeyDown,
|
|
31
|
+
onNodeDoubleClick,
|
|
32
|
+
getHierarchyLevelDetails,
|
|
33
|
+
getIcon,
|
|
34
|
+
getLabel,
|
|
35
|
+
getSublabel,
|
|
36
|
+
onFilterClick,
|
|
37
|
+
checkboxProps,
|
|
38
|
+
reloadTree,
|
|
39
|
+
]);
|
|
40
|
+
const getNode = (0, react_1.useCallback)((node) => (0, presentation_hierarchies_react_1.createRenderedTreeNodeData)(node, isNodeSelected), [isNodeSelected]);
|
|
41
|
+
return ((0, jsx_runtime_1.jsx)(presentation_hierarchies_react_1.LocalizationContextProvider, { localizedStrings: localizedStrings, children: (0, jsx_runtime_1.jsx)(itwinui_react_1.Tree, { ...props, className: "tw-tree-renderer", data: rootNodes, nodeRenderer: nodeRenderer, getNode: getNode, enableVirtualization: true }) }));
|
|
42
|
+
}
|
|
43
|
+
exports.TreeRenderer = TreeRenderer;
|
|
44
|
+
//# sourceMappingURL=TreeRenderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TreeRenderer.js","sourceRoot":"","sources":["../../../../../../src/components/trees/common/components/TreeRenderer.tsx"],"names":[],"mappings":";;;;AAAA;;;gGAGgG;AAEhG,+BAA6B;AAC7B,iCAAoC;AACpC,wDAA4C;AAC5C,0FAAgH;AAChH,8EAA2E;AAC3E,yDAAsD;AA0BtD,gBAAgB;AAChB,SAAgB,YAAY,CAAC,EAC3B,SAAS,EACT,UAAU,EACV,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,OAAO,EACP,QAAQ,EACR,WAAW,EACX,wBAAwB,EACxB,aAAa,EACb,UAAU,EACV,GAAG,KAAK,EACU;IAClB,MAAM,gBAAgB,GAAG,IAAA,uDAA0B,GAAE,CAAC;IACtD,MAAM,YAAY,GAAG,IAAA,mBAAW,EAC9B,CAAC,SAAS,EAAE,EAAE;QACZ,OAAO,CACL,uBAAC,mCAAgB,OACX,SAAS,EACb,WAAW,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE;gBACvC,IAAI,iBAAiB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;oBAC3C,iBAAiB,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;oBAClD,mCAAmC;oBACnC,OAAO,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;iBACzC;gBACD,WAAW,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;YACzC,CAAC,EACD,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,aAAa,EAC5B,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,EACxB,aAAa,EAAE,aAAa,EAC5B,wBAAwB,EAAE,wBAAwB,EAClD,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,qBAAqB,GACnE,CACH,CAAC;IACJ,CAAC,EACD;QACE,UAAU;QACV,WAAW;QACX,aAAa;QACb,iBAAiB;QACjB,wBAAwB;QACxB,OAAO;QACP,QAAQ;QACR,WAAW;QACX,aAAa;QACb,aAAa;QACb,UAAU;KACX,CACF,CAAC;IAEF,MAAM,OAAO,GAAG,IAAA,mBAAW,EAAyC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,2DAA0B,EAAC,IAAI,EAAE,cAAc,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IAElJ,OAAO,CACL,uBAAC,4DAA2B,IAAC,gBAAgB,EAAE,gBAAgB,YAC7D,uBAAC,oBAAI,OACC,KAAK,EACT,SAAS,EAAC,kBAAkB,EAC5B,IAAI,EAAE,SAAS,EACf,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,OAAO,EAChB,oBAAoB,EAAE,IAAI,GAC1B,GAC0B,CAC/B,CAAC;AACJ,CAAC;AAxED,oCAwEC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n\nimport \"./TreeRenderer.scss\";\nimport { useCallback } from \"react\";\nimport { Tree } from \"@itwin/itwinui-react\";\nimport { createRenderedTreeNodeData, LocalizationContextProvider } from \"@itwin/presentation-hierarchies-react\";\nimport { useHierarchiesLocalization } from \"../UseHierarchiesLocalization\";\nimport { TreeNodeRenderer } from \"./TreeNodeRenderer\";\n\nimport type { ComponentPropsWithoutRef } from \"react\";\nimport type { PresentationHierarchyNode, PresentationTreeNode, RenderedTreeNode } from \"@itwin/presentation-hierarchies-react\";\ninterface TreeRendererOwnProps {\n rootNodes: PresentationTreeNode[];\n isNodeSelected: (nodeId: string) => boolean;\n onNodeDoubleClick?: (node: PresentationHierarchyNode, isSelected: boolean) => void;\n}\n\ntype TreeRendererProps = Pick<\n TreeNodeRendererProps,\n | \"expandNode\"\n | \"onNodeClick\"\n | \"onNodeKeyDown\"\n | \"onFilterClick\"\n | \"getIcon\"\n | \"getLabel\"\n | \"getSublabel\"\n | \"getHierarchyLevelDetails\"\n | \"checkboxProps\"\n | \"reloadTree\"\n> &\n Omit<TreeProps<RenderedTreeNode>, \"data\" | \"nodeRenderer\" | \"getNode\"> &\n TreeRendererOwnProps;\n\n/** @internal */\nexport function TreeRenderer({\n rootNodes,\n expandNode,\n onNodeClick,\n onNodeKeyDown,\n onNodeDoubleClick,\n isNodeSelected,\n onFilterClick,\n getIcon,\n getLabel,\n getSublabel,\n getHierarchyLevelDetails,\n checkboxProps,\n reloadTree,\n ...props\n}: TreeRendererProps) {\n const localizedStrings = useHierarchiesLocalization();\n const nodeRenderer = useCallback<TreeProps<RenderedTreeNode>[\"nodeRenderer\"]>(\n (nodeProps) => {\n return (\n <TreeNodeRenderer\n {...nodeProps}\n onNodeClick={(node, isSelected, event) => {\n if (onNodeDoubleClick && event.detail === 2) {\n onNodeDoubleClick?.(node, !!nodeProps.isSelected);\n // Click node to not lose selection\n return onNodeClick?.(node, true, event);\n }\n onNodeClick?.(node, isSelected, event);\n }}\n expandNode={expandNode}\n onNodeKeyDown={onNodeKeyDown}\n getIcon={getIcon}\n getLabel={getLabel}\n getSublabel={getSublabel}\n onFilterClick={onFilterClick}\n getHierarchyLevelDetails={getHierarchyLevelDetails}\n checkboxProps={checkboxProps}\n reloadTree={reloadTree}\n className={getSublabel ? \"with-description\" : \"without-description\"}\n />\n );\n },\n [\n expandNode,\n onNodeClick,\n onNodeKeyDown,\n onNodeDoubleClick,\n getHierarchyLevelDetails,\n getIcon,\n getLabel,\n getSublabel,\n onFilterClick,\n checkboxProps,\n reloadTree,\n ],\n );\n\n const getNode = useCallback<TreeProps<RenderedTreeNode>[\"getNode\"]>((node) => createRenderedTreeNodeData(node, isNodeSelected), [isNodeSelected]);\n\n return (\n <LocalizationContextProvider localizedStrings={localizedStrings}>\n <Tree<RenderedTreeNode>\n {...props}\n className=\"tw-tree-renderer\"\n data={rootNodes}\n nodeRenderer={nodeRenderer}\n getNode={getNode}\n enableVirtualization={true}\n />\n </LocalizationContextProvider>\n );\n}\n\ntype TreeProps<T> = ComponentPropsWithoutRef<typeof Tree<T>>;\ntype TreeNodeRendererProps = ComponentPropsWithoutRef<typeof TreeNodeRenderer>;\n"]}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/*---------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
3
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
|
|
6
|
+
.tw-tree-renderer {
|
|
7
|
+
width: fit-content;
|
|
8
|
+
min-width: 100%;
|
|
9
|
+
|
|
10
|
+
.tw-tree-node.without-description {
|
|
11
|
+
height: 36px;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.tw-tree-node.with-description {
|
|
15
|
+
height: 42px;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.tw-tree-node-checkbox-container {
|
|
19
|
+
position: sticky;
|
|
20
|
+
left: 0;
|
|
21
|
+
z-index: 1;
|
|
22
|
+
background-color: var(--iui-color-background);
|
|
23
|
+
padding-left: calc(var(--iui-size-2xs) + var(--iui-size-3xs));
|
|
24
|
+
height: calc(100% - var(--iui-size-2xs));
|
|
25
|
+
display: flex;
|
|
26
|
+
justify-content: center;
|
|
27
|
+
align-items: center;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.tw-tree-node-checkbox::before {
|
|
31
|
+
background-color: var(--iui-color-background);
|
|
32
|
+
inset: calc(-1 * var(--iui-size-xs)) calc(-1 * var(--iui-size-xs) / 2);
|
|
33
|
+
z-index: -1;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
.tw-tree-node-action-buttons {
|
|
37
|
+
position: sticky;
|
|
38
|
+
right: 0;
|
|
39
|
+
z-index: 1;
|
|
40
|
+
background-color: var(--iui-color-background);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.tw-tree-node-content {
|
|
44
|
+
overflow: visible;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.tw-tree-node.selected {
|
|
48
|
+
.tw-tree-node-checkbox-container,
|
|
49
|
+
.tw-tree-node-checkbox::before,
|
|
50
|
+
.tw-tree-node-action-buttons {
|
|
51
|
+
background-color: var(--iui-color-background-accent-muted);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.tw-tree-node:not(.selected):hover {
|
|
56
|
+
.tw-tree-node-checkbox-container,
|
|
57
|
+
.tw-tree-node-checkbox::before,
|
|
58
|
+
.tw-tree-node-action-buttons {
|
|
59
|
+
background-color: var(--iui-color-background-hover);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { useHierarchyVisibility } from "../UseHierarchyVisibility";
|
|
2
|
+
import { BaseTree } from "./BaseTree";
|
|
3
|
+
import type { ECClassHierarchyInspector } from "@itwin/presentation-shared";
|
|
4
|
+
import type { HierarchyVisibilityHandler } from "../UseHierarchyVisibility";
|
|
5
|
+
import type { ComponentPropsWithoutRef } from "react";
|
|
6
|
+
type BaseTreeProps = ComponentPropsWithoutRef<typeof BaseTree>;
|
|
7
|
+
type UseHierarchyVisibilityProps = Parameters<typeof useHierarchyVisibility>[0];
|
|
8
|
+
type VisibilityTreeProps = Omit<BaseTreeProps, "treeRenderer" | "imodelAccess"> & Omit<UseHierarchyVisibilityProps, "visibilityHandlerFactory"> & {
|
|
9
|
+
visibilityHandlerFactory: (imodelAccess: ECClassHierarchyInspector) => HierarchyVisibilityHandler;
|
|
10
|
+
};
|
|
11
|
+
/** @internal */
|
|
12
|
+
export declare function VisibilityTree({ visibilityHandlerFactory, onPerformanceMeasured, ...props }: VisibilityTreeProps): JSX.Element;
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=VisibilityTree.d.ts.map
|