@itwin/tree-widget-react 3.2.4 → 3.4.0
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 +24 -2
- package/README.md +1 -3
- package/lib/cjs/package.json +1 -0
- package/lib/cjs/tree-widget-react/TreeWidget.js.map +1 -0
- package/lib/cjs/{components → tree-widget-react/components}/SelectableTree.js +4 -5
- package/lib/cjs/tree-widget-react/components/SelectableTree.js.map +1 -0
- package/lib/{esm → cjs/tree-widget-react}/components/TreeSelector.d.ts +1 -1
- package/lib/cjs/tree-widget-react/components/TreeSelector.js.map +1 -0
- package/lib/cjs/{components → tree-widget-react/components}/TreeWidgetUiItemsProvider.d.ts +1 -1
- package/lib/cjs/{components → tree-widget-react/components}/TreeWidgetUiItemsProvider.js +5 -5
- package/lib/cjs/tree-widget-react/components/TreeWidgetUiItemsProvider.js.map +1 -0
- package/lib/cjs/{components → tree-widget-react/components}/tree-header/TreeHeader.js +8 -9
- package/lib/cjs/tree-widget-react/components/tree-header/TreeHeader.js.map +1 -0
- package/lib/cjs/{components → tree-widget-react/components}/tree-header/TreeWithHeader.d.ts +1 -1
- package/lib/cjs/{components → tree-widget-react/components}/tree-header/TreeWithHeader.js +2 -2
- package/lib/cjs/tree-widget-react/components/tree-header/TreeWithHeader.js.map +1 -0
- package/lib/{esm → cjs/tree-widget-react}/components/trees/categories-tree/CategoriesTree.d.ts +2 -2
- package/lib/cjs/{components → tree-widget-react/components}/trees/categories-tree/CategoriesTree.js +5 -5
- package/lib/cjs/tree-widget-react/components/trees/categories-tree/CategoriesTree.js.map +1 -0
- package/lib/{esm → cjs/tree-widget-react}/components/trees/categories-tree/CategoriesTreeButtons.d.ts +2 -2
- package/lib/cjs/{components → tree-widget-react/components}/trees/categories-tree/CategoriesTreeButtons.js +9 -9
- package/lib/{esm → cjs/tree-widget-react}/components/trees/categories-tree/CategoriesTreeButtons.js.map +1 -1
- package/lib/cjs/{components → tree-widget-react/components}/trees/categories-tree/CategoriesTreeComponent.d.ts +2 -2
- package/lib/cjs/{components → tree-widget-react/components}/trees/categories-tree/CategoriesTreeComponent.js +19 -19
- package/lib/cjs/tree-widget-react/components/trees/categories-tree/CategoriesTreeComponent.js.map +1 -0
- package/lib/cjs/{components → tree-widget-react/components}/trees/categories-tree/CategoriesTreeDefinition.js +2 -2
- package/lib/cjs/tree-widget-react/components/trees/categories-tree/CategoriesTreeDefinition.js.map +1 -0
- package/lib/cjs/{components → tree-widget-react/components}/trees/categories-tree/CategoriesVisibilityHandler.d.ts +1 -1
- package/lib/cjs/{components → tree-widget-react/components}/trees/categories-tree/CategoriesVisibilityHandler.js +6 -6
- package/lib/cjs/tree-widget-react/components/trees/categories-tree/CategoriesVisibilityHandler.js.map +1 -0
- package/lib/{esm → cjs/tree-widget-react}/components/trees/categories-tree/UseCategoriesTree.d.ts +3 -3
- package/lib/cjs/{components → tree-widget-react/components}/trees/categories-tree/UseCategoriesTree.js +12 -12
- package/lib/cjs/tree-widget-react/components/trees/categories-tree/UseCategoriesTree.js.map +1 -0
- package/lib/cjs/{components → tree-widget-react/components}/trees/common/CategoriesVisibilityUtils.js +0 -1
- package/lib/cjs/tree-widget-react/components/trees/common/CategoriesVisibilityUtils.js.map +1 -0
- package/lib/cjs/tree-widget-react/components/trees/common/FocusedInstancesContext.d.ts +35 -0
- package/lib/cjs/{components/trees/common/FocusedInstancesContextProvider.js → tree-widget-react/components/trees/common/FocusedInstancesContext.js} +20 -4
- package/lib/cjs/tree-widget-react/components/trees/common/FocusedInstancesContext.js.map +1 -0
- package/lib/cjs/tree-widget-react/components/trees/common/Rxjs.js.map +1 -0
- package/lib/{esm → cjs/tree-widget-react}/components/trees/common/Tooltip.d.ts +1 -1
- package/lib/cjs/{components → tree-widget-react/components}/trees/common/Tooltip.js +3 -3
- package/lib/cjs/tree-widget-react/components/trees/common/Tooltip.js.map +1 -0
- package/lib/cjs/tree-widget-react/components/trees/common/TreeErrors.js.map +1 -0
- package/lib/cjs/tree-widget-react/components/trees/common/UseActiveViewport.js.map +1 -0
- package/lib/cjs/tree-widget-react/components/trees/common/UseFiltering.js.map +1 -0
- package/lib/cjs/tree-widget-react/components/trees/common/UseHierarchiesLocalization.js +33 -0
- package/lib/cjs/tree-widget-react/components/trees/common/UseHierarchiesLocalization.js.map +1 -0
- package/lib/cjs/{components → tree-widget-react/components}/trees/common/UseHierarchyFiltering.js +8 -8
- package/lib/cjs/tree-widget-react/components/trees/common/UseHierarchyFiltering.js.map +1 -0
- package/lib/cjs/{components → tree-widget-react/components}/trees/common/UseHierarchyVisibility.d.ts +1 -1
- package/lib/cjs/{components → tree-widget-react/components}/trees/common/UseHierarchyVisibility.js +2 -2
- package/lib/cjs/tree-widget-react/components/trees/common/UseHierarchyVisibility.js.map +1 -0
- package/lib/cjs/tree-widget-react/components/trees/common/UseIModelChangeListener.js.map +1 -0
- package/lib/cjs/tree-widget-react/components/trees/common/UseMultiCheckboxHandler.js.map +1 -0
- package/lib/cjs/{components → tree-widget-react/components}/trees/common/UseNodeHighlighting.js +4 -4
- package/lib/cjs/tree-widget-react/components/trees/common/UseNodeHighlighting.js.map +1 -0
- package/lib/cjs/{components → tree-widget-react/components}/trees/common/UseTelemetryContext.js +3 -3
- package/lib/{esm → cjs/tree-widget-react}/components/trees/common/UseTelemetryContext.js.map +1 -1
- package/lib/cjs/tree-widget-react/components/trees/common/Utils.js.map +1 -0
- package/lib/cjs/tree-widget-react/components/trees/common/components/Delayed.js.map +1 -0
- package/lib/cjs/tree-widget-react/components/trees/common/components/ProgressOverlay.js.map +1 -0
- package/lib/{esm → cjs/tree-widget-react}/components/trees/common/components/Tree.d.ts +4 -4
- package/lib/cjs/{components → tree-widget-react/components}/trees/common/components/Tree.js +22 -22
- package/lib/cjs/tree-widget-react/components/trees/common/components/Tree.js.map +1 -0
- package/lib/cjs/{components → tree-widget-react/components}/trees/common/components/TreeNodeCheckbox.js +4 -1
- package/lib/cjs/tree-widget-react/components/trees/common/components/TreeNodeCheckbox.js.map +1 -0
- package/lib/cjs/{components → tree-widget-react/components}/trees/common/components/TreeNodeRenderer.d.ts +1 -1
- package/lib/cjs/{components → tree-widget-react/components}/trees/common/components/TreeNodeRenderer.js +2 -2
- package/lib/cjs/tree-widget-react/components/trees/common/components/TreeNodeRenderer.js.map +1 -0
- package/lib/cjs/{components → tree-widget-react/components}/trees/common/components/TreeRenderer.d.ts +3 -3
- package/lib/cjs/{components → tree-widget-react/components}/trees/common/components/TreeRenderer.js +7 -6
- package/lib/cjs/tree-widget-react/components/trees/common/components/TreeRenderer.js.map +1 -0
- package/lib/{esm → cjs/tree-widget-react}/components/trees/common/components/VisibilityTree.d.ts +4 -4
- package/lib/cjs/{components → tree-widget-react/components}/trees/common/components/VisibilityTree.js +6 -6
- package/lib/cjs/tree-widget-react/components/trees/common/components/VisibilityTree.js.map +1 -0
- package/lib/cjs/{components → tree-widget-react/components}/trees/common/components/VisibilityTreeRenderer.d.ts +2 -2
- package/lib/cjs/{components → tree-widget-react/components}/trees/common/components/VisibilityTreeRenderer.js +4 -4
- package/lib/cjs/tree-widget-react/components/trees/common/components/VisibilityTreeRenderer.js.map +1 -0
- package/lib/{esm → cjs/tree-widget-react}/components/trees/external-sources-tree/ExternalSourcesTree.d.ts +1 -1
- package/lib/cjs/{components → tree-widget-react/components}/trees/external-sources-tree/ExternalSourcesTree.js +6 -6
- package/lib/cjs/tree-widget-react/components/trees/external-sources-tree/ExternalSourcesTree.js.map +1 -0
- package/lib/{esm → cjs/tree-widget-react}/components/trees/external-sources-tree/ExternalSourcesTreeComponent.d.ts +1 -1
- package/lib/cjs/{components → tree-widget-react/components}/trees/external-sources-tree/ExternalSourcesTreeComponent.js +5 -5
- package/lib/cjs/tree-widget-react/components/trees/external-sources-tree/ExternalSourcesTreeComponent.js.map +1 -0
- package/lib/cjs/tree-widget-react/components/trees/external-sources-tree/ExternalSourcesTreeDefinition.js.map +1 -0
- package/lib/cjs/{components → tree-widget-react/components}/trees/imodel-content-tree/IModelContentTree.d.ts +1 -1
- package/lib/cjs/{components → tree-widget-react/components}/trees/imodel-content-tree/IModelContentTree.js +8 -8
- package/lib/cjs/tree-widget-react/components/trees/imodel-content-tree/IModelContentTree.js.map +1 -0
- package/lib/cjs/{components → tree-widget-react/components}/trees/imodel-content-tree/IModelContentTreeComponent.d.ts +1 -1
- package/lib/cjs/{components → tree-widget-react/components}/trees/imodel-content-tree/IModelContentTreeComponent.js +5 -5
- package/lib/cjs/tree-widget-react/components/trees/imodel-content-tree/IModelContentTreeComponent.js.map +1 -0
- package/lib/{esm → cjs/tree-widget-react}/components/trees/imodel-content-tree/IModelContentTreeDefinition.d.ts +1 -1
- package/lib/cjs/{components → tree-widget-react/components}/trees/imodel-content-tree/IModelContentTreeDefinition.js +3 -3
- package/lib/cjs/tree-widget-react/components/trees/imodel-content-tree/IModelContentTreeDefinition.js.map +1 -0
- package/lib/cjs/{components → tree-widget-react/components}/trees/imodel-content-tree/internal/IModelContentTreeIdsCache.js +2 -2
- package/lib/cjs/tree-widget-react/components/trees/imodel-content-tree/internal/IModelContentTreeIdsCache.js.map +1 -0
- package/lib/cjs/{components → tree-widget-react/components}/trees/index.d.ts +17 -16
- package/lib/cjs/tree-widget-react/components/trees/index.js +39 -0
- package/lib/cjs/tree-widget-react/components/trees/index.js.map +1 -0
- package/lib/cjs/{components → tree-widget-react/components}/trees/models-tree/ModelsTree.d.ts +2 -2
- package/lib/cjs/{components → tree-widget-react/components}/trees/models-tree/ModelsTree.js +5 -5
- package/lib/cjs/tree-widget-react/components/trees/models-tree/ModelsTree.js.map +1 -0
- package/lib/cjs/{components → tree-widget-react/components}/trees/models-tree/ModelsTreeButtons.d.ts +1 -1
- package/lib/cjs/{components → tree-widget-react/components}/trees/models-tree/ModelsTreeButtons.js +22 -22
- package/lib/cjs/tree-widget-react/components/trees/models-tree/ModelsTreeButtons.js.map +1 -0
- package/lib/{esm → cjs/tree-widget-react}/components/trees/models-tree/ModelsTreeComponent.d.ts +8 -3
- package/lib/cjs/tree-widget-react/components/trees/models-tree/ModelsTreeComponent.js +106 -0
- package/lib/cjs/tree-widget-react/components/trees/models-tree/ModelsTreeComponent.js.map +1 -0
- package/lib/cjs/{components → tree-widget-react/components}/trees/models-tree/ModelsTreeDefinition.d.ts +1 -1
- package/lib/cjs/{components → tree-widget-react/components}/trees/models-tree/ModelsTreeDefinition.js +10 -10
- package/lib/cjs/tree-widget-react/components/trees/models-tree/ModelsTreeDefinition.js.map +1 -0
- package/lib/cjs/{components → tree-widget-react/components}/trees/models-tree/UseModelsTree.d.ts +4 -4
- package/lib/cjs/{components → tree-widget-react/components}/trees/models-tree/UseModelsTree.js +27 -27
- package/lib/cjs/tree-widget-react/components/trees/models-tree/UseModelsTree.js.map +1 -0
- package/lib/cjs/tree-widget-react/components/trees/models-tree/Utils.js.map +1 -0
- package/lib/cjs/{components → tree-widget-react/components}/trees/models-tree/internal/AlwaysAndNeverDrawnElementInfo.js +2 -2
- package/lib/cjs/tree-widget-react/components/trees/models-tree/internal/AlwaysAndNeverDrawnElementInfo.js.map +1 -0
- package/lib/cjs/tree-widget-react/components/trees/models-tree/internal/FilteredTree.js.map +1 -0
- package/lib/{esm → cjs/tree-widget-react}/components/trees/models-tree/internal/ModelsTreeIdsCache.d.ts +1 -1
- package/lib/cjs/{components → tree-widget-react/components}/trees/models-tree/internal/ModelsTreeIdsCache.js +2 -2
- package/lib/cjs/tree-widget-react/components/trees/models-tree/internal/ModelsTreeIdsCache.js.map +1 -0
- package/lib/cjs/tree-widget-react/components/trees/models-tree/internal/ModelsTreeNode.js.map +1 -0
- package/lib/cjs/{components → tree-widget-react/components}/trees/models-tree/internal/ModelsTreeVisibilityHandler.d.ts +2 -2
- package/lib/cjs/{components → tree-widget-react/components}/trees/models-tree/internal/ModelsTreeVisibilityHandler.js +72 -80
- package/lib/cjs/tree-widget-react/components/trees/models-tree/internal/ModelsTreeVisibilityHandler.js.map +1 -0
- package/lib/cjs/{components → tree-widget-react/components}/trees/models-tree/internal/VisibilityChangeEventListener.js +0 -1
- package/lib/cjs/tree-widget-react/components/trees/models-tree/internal/VisibilityChangeEventListener.js.map +1 -0
- package/lib/cjs/tree-widget-react/components/utils/IsPromiseLike.js.map +1 -0
- package/lib/cjs/tree-widget-react.d.ts +5 -5
- package/lib/cjs/tree-widget-react.js +10 -10
- package/lib/cjs/tree-widget-react.js.map +1 -1
- package/lib/esm/tree-widget-react/TreeWidget.js.map +1 -0
- package/lib/esm/{components → tree-widget-react/components}/SelectableTree.js +2 -3
- package/lib/esm/tree-widget-react/components/SelectableTree.js.map +1 -0
- package/lib/{cjs → esm/tree-widget-react}/components/TreeSelector.d.ts +1 -1
- package/lib/esm/tree-widget-react/components/TreeSelector.js.map +1 -0
- package/lib/esm/{components → tree-widget-react/components}/TreeWidgetUiItemsProvider.d.ts +1 -1
- package/lib/esm/{components → tree-widget-react/components}/TreeWidgetUiItemsProvider.js +2 -2
- package/lib/esm/tree-widget-react/components/TreeWidgetUiItemsProvider.js.map +1 -0
- package/lib/esm/{components → tree-widget-react/components}/tree-header/TreeHeader.js +2 -3
- package/lib/esm/tree-widget-react/components/tree-header/TreeHeader.js.map +1 -0
- package/lib/esm/{components → tree-widget-react/components}/tree-header/TreeWithHeader.d.ts +1 -1
- package/lib/esm/{components → tree-widget-react/components}/tree-header/TreeWithHeader.js +1 -1
- package/lib/esm/tree-widget-react/components/tree-header/TreeWithHeader.js.map +1 -0
- package/lib/{cjs → esm/tree-widget-react}/components/trees/categories-tree/CategoriesTree.d.ts +2 -2
- package/lib/esm/{components → tree-widget-react/components}/trees/categories-tree/CategoriesTree.js +3 -3
- package/lib/esm/tree-widget-react/components/trees/categories-tree/CategoriesTree.js.map +1 -0
- package/lib/{cjs → esm/tree-widget-react}/components/trees/categories-tree/CategoriesTreeButtons.d.ts +2 -2
- package/lib/esm/{components → tree-widget-react/components}/trees/categories-tree/CategoriesTreeButtons.js +2 -2
- package/lib/esm/tree-widget-react/components/trees/categories-tree/CategoriesTreeButtons.js.map +1 -0
- package/lib/esm/{components → tree-widget-react/components}/trees/categories-tree/CategoriesTreeComponent.d.ts +2 -2
- package/lib/esm/{components → tree-widget-react/components}/trees/categories-tree/CategoriesTreeComponent.js +7 -7
- package/lib/esm/tree-widget-react/components/trees/categories-tree/CategoriesTreeComponent.js.map +1 -0
- package/lib/esm/{components → tree-widget-react/components}/trees/categories-tree/CategoriesTreeDefinition.js +1 -1
- package/lib/esm/tree-widget-react/components/trees/categories-tree/CategoriesTreeDefinition.js.map +1 -0
- package/lib/esm/{components → tree-widget-react/components}/trees/categories-tree/CategoriesVisibilityHandler.d.ts +1 -1
- package/lib/esm/{components → tree-widget-react/components}/trees/categories-tree/CategoriesVisibilityHandler.js +3 -3
- package/lib/esm/tree-widget-react/components/trees/categories-tree/CategoriesVisibilityHandler.js.map +1 -0
- package/lib/{cjs → esm/tree-widget-react}/components/trees/categories-tree/UseCategoriesTree.d.ts +3 -3
- package/lib/esm/{components → tree-widget-react/components}/trees/categories-tree/UseCategoriesTree.js +5 -5
- package/lib/esm/tree-widget-react/components/trees/categories-tree/UseCategoriesTree.js.map +1 -0
- package/lib/esm/{components → tree-widget-react/components}/trees/common/CategoriesVisibilityUtils.js +0 -1
- package/lib/esm/tree-widget-react/components/trees/common/CategoriesVisibilityUtils.js.map +1 -0
- package/lib/esm/tree-widget-react/components/trees/common/FocusedInstancesContext.d.ts +35 -0
- package/lib/esm/{components/trees/common/FocusedInstancesContextProvider.js → tree-widget-react/components/trees/common/FocusedInstancesContext.js} +18 -3
- package/lib/esm/tree-widget-react/components/trees/common/FocusedInstancesContext.js.map +1 -0
- package/lib/esm/tree-widget-react/components/trees/common/Rxjs.js.map +1 -0
- package/lib/{cjs → esm/tree-widget-react}/components/trees/common/Tooltip.d.ts +1 -1
- package/lib/esm/{components → tree-widget-react/components}/trees/common/Tooltip.js +1 -1
- package/lib/esm/tree-widget-react/components/trees/common/Tooltip.js.map +1 -0
- package/lib/esm/tree-widget-react/components/trees/common/TreeErrors.js.map +1 -0
- package/lib/{cjs → esm/tree-widget-react}/components/trees/common/UseActiveViewport.js.map +1 -1
- package/lib/esm/tree-widget-react/components/trees/common/UseFiltering.js.map +1 -0
- package/lib/esm/{components → tree-widget-react/components}/trees/common/UseHierarchiesLocalization.js +1 -1
- package/lib/esm/tree-widget-react/components/trees/common/UseHierarchiesLocalization.js.map +1 -0
- package/lib/esm/{components → tree-widget-react/components}/trees/common/UseHierarchyFiltering.js +3 -3
- package/lib/esm/tree-widget-react/components/trees/common/UseHierarchyFiltering.js.map +1 -0
- package/lib/esm/{components → tree-widget-react/components}/trees/common/UseHierarchyVisibility.d.ts +1 -1
- package/lib/esm/{components → tree-widget-react/components}/trees/common/UseHierarchyVisibility.js +1 -1
- package/lib/esm/tree-widget-react/components/trees/common/UseHierarchyVisibility.js.map +1 -0
- package/lib/esm/tree-widget-react/components/trees/common/UseIModelChangeListener.js.map +1 -0
- package/lib/esm/tree-widget-react/components/trees/common/UseMultiCheckboxHandler.js.map +1 -0
- package/lib/esm/{components → tree-widget-react/components}/trees/common/UseNodeHighlighting.js +1 -1
- package/lib/esm/tree-widget-react/components/trees/common/UseNodeHighlighting.js.map +1 -0
- package/lib/esm/{components → tree-widget-react/components}/trees/common/UseTelemetryContext.js +1 -1
- package/lib/esm/tree-widget-react/components/trees/common/UseTelemetryContext.js.map +1 -0
- package/lib/esm/tree-widget-react/components/trees/common/Utils.js.map +1 -0
- package/lib/esm/tree-widget-react/components/trees/common/components/Delayed.js.map +1 -0
- package/lib/esm/tree-widget-react/components/trees/common/components/ProgressOverlay.js.map +1 -0
- package/lib/{cjs → esm/tree-widget-react}/components/trees/common/components/Tree.d.ts +4 -4
- package/lib/esm/{components → tree-widget-react/components}/trees/common/components/Tree.js +10 -10
- package/lib/esm/tree-widget-react/components/trees/common/components/Tree.js.map +1 -0
- package/lib/esm/{components → tree-widget-react/components}/trees/common/components/TreeNodeCheckbox.js +5 -2
- package/lib/esm/tree-widget-react/components/trees/common/components/TreeNodeCheckbox.js.map +1 -0
- package/lib/esm/{components → tree-widget-react/components}/trees/common/components/TreeNodeRenderer.d.ts +1 -1
- package/lib/esm/{components → tree-widget-react/components}/trees/common/components/TreeNodeRenderer.js +1 -1
- package/lib/esm/tree-widget-react/components/trees/common/components/TreeNodeRenderer.js.map +1 -0
- package/lib/esm/{components → tree-widget-react/components}/trees/common/components/TreeRenderer.d.ts +3 -3
- package/lib/esm/{components → tree-widget-react/components}/trees/common/components/TreeRenderer.js +5 -4
- package/lib/esm/tree-widget-react/components/trees/common/components/TreeRenderer.js.map +1 -0
- package/lib/{cjs → esm/tree-widget-react}/components/trees/common/components/VisibilityTree.d.ts +4 -4
- package/lib/esm/{components → tree-widget-react/components}/trees/common/components/VisibilityTree.js +3 -3
- package/lib/esm/tree-widget-react/components/trees/common/components/VisibilityTree.js.map +1 -0
- package/lib/esm/{components → tree-widget-react/components}/trees/common/components/VisibilityTreeRenderer.d.ts +2 -2
- package/lib/esm/{components → tree-widget-react/components}/trees/common/components/VisibilityTreeRenderer.js +2 -2
- package/lib/esm/tree-widget-react/components/trees/common/components/VisibilityTreeRenderer.js.map +1 -0
- package/lib/{cjs → esm/tree-widget-react}/components/trees/external-sources-tree/ExternalSourcesTree.d.ts +1 -1
- package/lib/esm/{components → tree-widget-react/components}/trees/external-sources-tree/ExternalSourcesTree.js +4 -4
- package/lib/esm/tree-widget-react/components/trees/external-sources-tree/ExternalSourcesTree.js.map +1 -0
- package/lib/{cjs → esm/tree-widget-react}/components/trees/external-sources-tree/ExternalSourcesTreeComponent.d.ts +1 -1
- package/lib/esm/{components → tree-widget-react/components}/trees/external-sources-tree/ExternalSourcesTreeComponent.js +3 -3
- package/lib/esm/tree-widget-react/components/trees/external-sources-tree/ExternalSourcesTreeComponent.js.map +1 -0
- package/lib/esm/tree-widget-react/components/trees/external-sources-tree/ExternalSourcesTreeDefinition.js.map +1 -0
- package/lib/esm/{components → tree-widget-react/components}/trees/imodel-content-tree/IModelContentTree.d.ts +1 -1
- package/lib/esm/{components → tree-widget-react/components}/trees/imodel-content-tree/IModelContentTree.js +5 -5
- package/lib/esm/tree-widget-react/components/trees/imodel-content-tree/IModelContentTree.js.map +1 -0
- package/lib/esm/{components → tree-widget-react/components}/trees/imodel-content-tree/IModelContentTreeComponent.d.ts +1 -1
- package/lib/esm/{components → tree-widget-react/components}/trees/imodel-content-tree/IModelContentTreeComponent.js +3 -3
- package/lib/esm/tree-widget-react/components/trees/imodel-content-tree/IModelContentTreeComponent.js.map +1 -0
- package/lib/{cjs → esm/tree-widget-react}/components/trees/imodel-content-tree/IModelContentTreeDefinition.d.ts +1 -1
- package/lib/esm/{components → tree-widget-react/components}/trees/imodel-content-tree/IModelContentTreeDefinition.js +1 -1
- package/lib/esm/tree-widget-react/components/trees/imodel-content-tree/IModelContentTreeDefinition.js.map +1 -0
- package/lib/esm/{components → tree-widget-react/components}/trees/imodel-content-tree/internal/IModelContentTreeIdsCache.js +1 -1
- package/lib/esm/tree-widget-react/components/trees/imodel-content-tree/internal/IModelContentTreeIdsCache.js.map +1 -0
- package/lib/esm/{components → tree-widget-react/components}/trees/index.d.ts +17 -16
- package/lib/esm/{components → tree-widget-react/components}/trees/index.js +15 -14
- package/lib/esm/tree-widget-react/components/trees/index.js.map +1 -0
- package/lib/esm/{components → tree-widget-react/components}/trees/models-tree/ModelsTree.d.ts +2 -2
- package/lib/esm/{components → tree-widget-react/components}/trees/models-tree/ModelsTree.js +3 -3
- package/lib/esm/tree-widget-react/components/trees/models-tree/ModelsTree.js.map +1 -0
- package/lib/esm/{components → tree-widget-react/components}/trees/models-tree/ModelsTreeButtons.d.ts +1 -1
- package/lib/esm/{components → tree-widget-react/components}/trees/models-tree/ModelsTreeButtons.js +3 -3
- package/lib/esm/tree-widget-react/components/trees/models-tree/ModelsTreeButtons.js.map +1 -0
- package/lib/{cjs → esm/tree-widget-react}/components/trees/models-tree/ModelsTreeComponent.d.ts +8 -3
- package/lib/esm/{components → tree-widget-react/components}/trees/models-tree/ModelsTreeComponent.js +14 -10
- package/lib/esm/tree-widget-react/components/trees/models-tree/ModelsTreeComponent.js.map +1 -0
- package/lib/esm/{components → tree-widget-react/components}/trees/models-tree/ModelsTreeDefinition.d.ts +1 -1
- package/lib/esm/{components → tree-widget-react/components}/trees/models-tree/ModelsTreeDefinition.js +4 -4
- package/lib/esm/tree-widget-react/components/trees/models-tree/ModelsTreeDefinition.js.map +1 -0
- package/lib/esm/{components → tree-widget-react/components}/trees/models-tree/UseModelsTree.d.ts +4 -4
- package/lib/esm/{components → tree-widget-react/components}/trees/models-tree/UseModelsTree.js +9 -9
- package/lib/esm/tree-widget-react/components/trees/models-tree/UseModelsTree.js.map +1 -0
- package/lib/esm/tree-widget-react/components/trees/models-tree/Utils.js.map +1 -0
- package/lib/esm/{components → tree-widget-react/components}/trees/models-tree/internal/AlwaysAndNeverDrawnElementInfo.js +1 -1
- package/lib/esm/tree-widget-react/components/trees/models-tree/internal/AlwaysAndNeverDrawnElementInfo.js.map +1 -0
- package/lib/{cjs → esm/tree-widget-react}/components/trees/models-tree/internal/FilteredTree.js.map +1 -1
- package/lib/{cjs → esm/tree-widget-react}/components/trees/models-tree/internal/ModelsTreeIdsCache.d.ts +1 -1
- package/lib/esm/{components → tree-widget-react/components}/trees/models-tree/internal/ModelsTreeIdsCache.js +1 -1
- package/lib/esm/tree-widget-react/components/trees/models-tree/internal/ModelsTreeIdsCache.js.map +1 -0
- package/lib/esm/tree-widget-react/components/trees/models-tree/internal/ModelsTreeNode.js.map +1 -0
- package/lib/esm/{components → tree-widget-react/components}/trees/models-tree/internal/ModelsTreeVisibilityHandler.d.ts +2 -2
- package/lib/esm/{components → tree-widget-react/components}/trees/models-tree/internal/ModelsTreeVisibilityHandler.js +9 -17
- package/lib/esm/tree-widget-react/components/trees/models-tree/internal/ModelsTreeVisibilityHandler.js.map +1 -0
- package/lib/esm/{components → tree-widget-react/components}/trees/models-tree/internal/VisibilityChangeEventListener.js +0 -1
- package/lib/esm/tree-widget-react/components/trees/models-tree/internal/VisibilityChangeEventListener.js.map +1 -0
- package/lib/esm/tree-widget-react/components/utils/IsPromiseLike.js.map +1 -0
- package/lib/esm/tree-widget-react.d.ts +5 -5
- package/lib/esm/tree-widget-react.js +5 -5
- package/lib/esm/tree-widget-react.js.map +1 -1
- package/package.json +46 -39
- package/lib/cjs/TreeWidget.js.map +0 -1
- package/lib/cjs/components/SelectableTree.js.map +0 -1
- package/lib/cjs/components/TreeSelector.js.map +0 -1
- package/lib/cjs/components/TreeWidgetUiItemsProvider.js.map +0 -1
- package/lib/cjs/components/tree-header/TreeHeader.js.map +0 -1
- package/lib/cjs/components/tree-header/TreeWithHeader.js.map +0 -1
- package/lib/cjs/components/trees/categories-tree/CategoriesTree.js.map +0 -1
- package/lib/cjs/components/trees/categories-tree/CategoriesTreeButtons.js.map +0 -1
- package/lib/cjs/components/trees/categories-tree/CategoriesTreeComponent.js.map +0 -1
- package/lib/cjs/components/trees/categories-tree/CategoriesTreeDefinition.js.map +0 -1
- package/lib/cjs/components/trees/categories-tree/CategoriesVisibilityHandler.js.map +0 -1
- package/lib/cjs/components/trees/categories-tree/UseCategoriesTree.js.map +0 -1
- package/lib/cjs/components/trees/common/CategoriesVisibilityUtils.js.map +0 -1
- package/lib/cjs/components/trees/common/FocusedInstancesContext.d.ts +0 -11
- package/lib/cjs/components/trees/common/FocusedInstancesContext.js +0 -14
- package/lib/cjs/components/trees/common/FocusedInstancesContext.js.map +0 -1
- package/lib/cjs/components/trees/common/FocusedInstancesContextProvider.d.ts +0 -7
- package/lib/cjs/components/trees/common/FocusedInstancesContextProvider.js.map +0 -1
- package/lib/cjs/components/trees/common/Rxjs.js.map +0 -1
- package/lib/cjs/components/trees/common/Tooltip.js.map +0 -1
- package/lib/cjs/components/trees/common/TreeErrors.js.map +0 -1
- package/lib/cjs/components/trees/common/UseFiltering.js.map +0 -1
- package/lib/cjs/components/trees/common/UseHierarchiesLocalization.js +0 -33
- package/lib/cjs/components/trees/common/UseHierarchiesLocalization.js.map +0 -1
- package/lib/cjs/components/trees/common/UseHierarchyFiltering.js.map +0 -1
- package/lib/cjs/components/trees/common/UseHierarchyVisibility.js.map +0 -1
- package/lib/cjs/components/trees/common/UseIModelChangeListener.js.map +0 -1
- package/lib/cjs/components/trees/common/UseMultiCheckboxHandler.js.map +0 -1
- package/lib/cjs/components/trees/common/UseNodeHighlighting.js.map +0 -1
- package/lib/cjs/components/trees/common/UseTelemetryContext.js.map +0 -1
- package/lib/cjs/components/trees/common/Utils.js.map +0 -1
- package/lib/cjs/components/trees/common/components/Delayed.js.map +0 -1
- package/lib/cjs/components/trees/common/components/ProgressOverlay.js.map +0 -1
- package/lib/cjs/components/trees/common/components/Tree.js.map +0 -1
- package/lib/cjs/components/trees/common/components/TreeNodeCheckbox.js.map +0 -1
- package/lib/cjs/components/trees/common/components/TreeNodeRenderer.js.map +0 -1
- package/lib/cjs/components/trees/common/components/TreeRenderer.js.map +0 -1
- package/lib/cjs/components/trees/common/components/VisibilityTree.js.map +0 -1
- package/lib/cjs/components/trees/common/components/VisibilityTreeRenderer.js.map +0 -1
- package/lib/cjs/components/trees/external-sources-tree/ExternalSourcesTree.js.map +0 -1
- package/lib/cjs/components/trees/external-sources-tree/ExternalSourcesTreeComponent.js.map +0 -1
- package/lib/cjs/components/trees/external-sources-tree/ExternalSourcesTreeDefinition.js.map +0 -1
- package/lib/cjs/components/trees/imodel-content-tree/IModelContentTree.js.map +0 -1
- package/lib/cjs/components/trees/imodel-content-tree/IModelContentTreeComponent.js.map +0 -1
- package/lib/cjs/components/trees/imodel-content-tree/IModelContentTreeDefinition.js.map +0 -1
- package/lib/cjs/components/trees/imodel-content-tree/internal/IModelContentTreeIdsCache.js.map +0 -1
- package/lib/cjs/components/trees/index.js +0 -36
- package/lib/cjs/components/trees/index.js.map +0 -1
- package/lib/cjs/components/trees/models-tree/ModelsTree.js.map +0 -1
- package/lib/cjs/components/trees/models-tree/ModelsTreeButtons.js.map +0 -1
- package/lib/cjs/components/trees/models-tree/ModelsTreeComponent.js +0 -102
- package/lib/cjs/components/trees/models-tree/ModelsTreeComponent.js.map +0 -1
- package/lib/cjs/components/trees/models-tree/ModelsTreeDefinition.js.map +0 -1
- package/lib/cjs/components/trees/models-tree/UseModelsTree.js.map +0 -1
- package/lib/cjs/components/trees/models-tree/Utils.js.map +0 -1
- package/lib/cjs/components/trees/models-tree/internal/AlwaysAndNeverDrawnElementInfo.js.map +0 -1
- package/lib/cjs/components/trees/models-tree/internal/ModelsTreeIdsCache.js.map +0 -1
- package/lib/cjs/components/trees/models-tree/internal/ModelsTreeNode.js.map +0 -1
- package/lib/cjs/components/trees/models-tree/internal/ModelsTreeVisibilityHandler.js.map +0 -1
- package/lib/cjs/components/trees/models-tree/internal/VisibilityChangeEventListener.js.map +0 -1
- package/lib/cjs/components/utils/IsPromiseLike.js.map +0 -1
- package/lib/esm/TreeWidget.js.map +0 -1
- package/lib/esm/components/SelectableTree.js.map +0 -1
- package/lib/esm/components/TreeSelector.js.map +0 -1
- package/lib/esm/components/TreeWidgetUiItemsProvider.js.map +0 -1
- package/lib/esm/components/tree-header/TreeHeader.js.map +0 -1
- package/lib/esm/components/tree-header/TreeWithHeader.js.map +0 -1
- package/lib/esm/components/trees/categories-tree/CategoriesTree.js.map +0 -1
- package/lib/esm/components/trees/categories-tree/CategoriesTreeComponent.js.map +0 -1
- package/lib/esm/components/trees/categories-tree/CategoriesTreeDefinition.js.map +0 -1
- package/lib/esm/components/trees/categories-tree/CategoriesVisibilityHandler.js.map +0 -1
- package/lib/esm/components/trees/categories-tree/UseCategoriesTree.js.map +0 -1
- package/lib/esm/components/trees/common/CategoriesVisibilityUtils.js.map +0 -1
- package/lib/esm/components/trees/common/FocusedInstancesContext.d.ts +0 -11
- package/lib/esm/components/trees/common/FocusedInstancesContext.js +0 -10
- package/lib/esm/components/trees/common/FocusedInstancesContext.js.map +0 -1
- package/lib/esm/components/trees/common/FocusedInstancesContextProvider.d.ts +0 -7
- package/lib/esm/components/trees/common/FocusedInstancesContextProvider.js.map +0 -1
- package/lib/esm/components/trees/common/Rxjs.js.map +0 -1
- package/lib/esm/components/trees/common/Tooltip.js.map +0 -1
- package/lib/esm/components/trees/common/TreeErrors.js.map +0 -1
- package/lib/esm/components/trees/common/UseActiveViewport.js.map +0 -1
- package/lib/esm/components/trees/common/UseFiltering.js.map +0 -1
- package/lib/esm/components/trees/common/UseHierarchiesLocalization.js.map +0 -1
- package/lib/esm/components/trees/common/UseHierarchyFiltering.js.map +0 -1
- package/lib/esm/components/trees/common/UseHierarchyVisibility.js.map +0 -1
- package/lib/esm/components/trees/common/UseIModelChangeListener.js.map +0 -1
- package/lib/esm/components/trees/common/UseMultiCheckboxHandler.js.map +0 -1
- package/lib/esm/components/trees/common/UseNodeHighlighting.js.map +0 -1
- package/lib/esm/components/trees/common/Utils.js.map +0 -1
- package/lib/esm/components/trees/common/components/Delayed.js.map +0 -1
- package/lib/esm/components/trees/common/components/ProgressOverlay.js.map +0 -1
- package/lib/esm/components/trees/common/components/Tree.js.map +0 -1
- package/lib/esm/components/trees/common/components/TreeNodeCheckbox.js.map +0 -1
- package/lib/esm/components/trees/common/components/TreeNodeRenderer.js.map +0 -1
- package/lib/esm/components/trees/common/components/TreeRenderer.js.map +0 -1
- package/lib/esm/components/trees/common/components/VisibilityTree.js.map +0 -1
- package/lib/esm/components/trees/common/components/VisibilityTreeRenderer.js.map +0 -1
- package/lib/esm/components/trees/external-sources-tree/ExternalSourcesTree.js.map +0 -1
- package/lib/esm/components/trees/external-sources-tree/ExternalSourcesTreeComponent.js.map +0 -1
- package/lib/esm/components/trees/external-sources-tree/ExternalSourcesTreeDefinition.js.map +0 -1
- package/lib/esm/components/trees/imodel-content-tree/IModelContentTree.js.map +0 -1
- package/lib/esm/components/trees/imodel-content-tree/IModelContentTreeComponent.js.map +0 -1
- package/lib/esm/components/trees/imodel-content-tree/IModelContentTreeDefinition.js.map +0 -1
- package/lib/esm/components/trees/imodel-content-tree/internal/IModelContentTreeIdsCache.js.map +0 -1
- package/lib/esm/components/trees/index.js.map +0 -1
- package/lib/esm/components/trees/models-tree/ModelsTree.js.map +0 -1
- package/lib/esm/components/trees/models-tree/ModelsTreeButtons.js.map +0 -1
- package/lib/esm/components/trees/models-tree/ModelsTreeComponent.js.map +0 -1
- package/lib/esm/components/trees/models-tree/ModelsTreeDefinition.js.map +0 -1
- package/lib/esm/components/trees/models-tree/UseModelsTree.js.map +0 -1
- package/lib/esm/components/trees/models-tree/Utils.js.map +0 -1
- package/lib/esm/components/trees/models-tree/internal/AlwaysAndNeverDrawnElementInfo.js.map +0 -1
- package/lib/esm/components/trees/models-tree/internal/FilteredTree.js.map +0 -1
- package/lib/esm/components/trees/models-tree/internal/ModelsTreeIdsCache.js.map +0 -1
- package/lib/esm/components/trees/models-tree/internal/ModelsTreeNode.js.map +0 -1
- package/lib/esm/components/trees/models-tree/internal/ModelsTreeVisibilityHandler.js.map +0 -1
- package/lib/esm/components/trees/models-tree/internal/VisibilityChangeEventListener.js.map +0 -1
- package/lib/esm/components/utils/IsPromiseLike.js.map +0 -1
- /package/lib/cjs/{TreeWidget.d.ts → tree-widget-react/TreeWidget.d.ts} +0 -0
- /package/lib/cjs/{TreeWidget.js → tree-widget-react/TreeWidget.js} +0 -0
- /package/lib/cjs/{components → tree-widget-react/components}/SelectableTree.d.ts +0 -0
- /package/lib/cjs/{components → tree-widget-react/components}/SelectableTree.scss +0 -0
- /package/lib/cjs/{components → tree-widget-react/components}/TreeSelector.js +0 -0
- /package/lib/cjs/{components → tree-widget-react/components}/TreeSelector.scss +0 -0
- /package/lib/cjs/{components → tree-widget-react/components}/TreeWidgetUiItemsProvider.scss +0 -0
- /package/lib/cjs/{components → tree-widget-react/components}/tree-header/TreeHeader.d.ts +0 -0
- /package/lib/cjs/{components → tree-widget-react/components}/tree-header/TreeHeader.scss +0 -0
- /package/lib/cjs/{components → tree-widget-react/components}/tree-header/TreeWithHeader.scss +0 -0
- /package/lib/cjs/{components → tree-widget-react/components}/trees/categories-tree/CategoriesTreeDefinition.d.ts +0 -0
- /package/lib/cjs/{components → tree-widget-react/components}/trees/common/CategoriesVisibilityUtils.d.ts +0 -0
- /package/lib/cjs/{components → tree-widget-react/components}/trees/common/Rxjs.d.ts +0 -0
- /package/lib/cjs/{components → tree-widget-react/components}/trees/common/Rxjs.js +0 -0
- /package/lib/cjs/{components → tree-widget-react/components}/trees/common/TreeErrors.d.ts +0 -0
- /package/lib/cjs/{components → tree-widget-react/components}/trees/common/TreeErrors.js +0 -0
- /package/lib/cjs/{components → tree-widget-react/components}/trees/common/UseActiveViewport.d.ts +0 -0
- /package/lib/cjs/{components → tree-widget-react/components}/trees/common/UseActiveViewport.js +0 -0
- /package/lib/cjs/{components → tree-widget-react/components}/trees/common/UseFiltering.d.ts +0 -0
- /package/lib/cjs/{components → tree-widget-react/components}/trees/common/UseFiltering.js +0 -0
- /package/lib/cjs/{components → tree-widget-react/components}/trees/common/UseHierarchiesLocalization.d.ts +0 -0
- /package/lib/cjs/{components → tree-widget-react/components}/trees/common/UseHierarchyFiltering.d.ts +0 -0
- /package/lib/cjs/{components → tree-widget-react/components}/trees/common/UseIModelChangeListener.d.ts +0 -0
- /package/lib/cjs/{components → tree-widget-react/components}/trees/common/UseIModelChangeListener.js +0 -0
- /package/lib/cjs/{components → tree-widget-react/components}/trees/common/UseMultiCheckboxHandler.d.ts +0 -0
- /package/lib/cjs/{components → tree-widget-react/components}/trees/common/UseMultiCheckboxHandler.js +0 -0
- /package/lib/cjs/{components → tree-widget-react/components}/trees/common/UseNodeHighlighting.d.ts +0 -0
- /package/lib/cjs/{components → tree-widget-react/components}/trees/common/UseTelemetryContext.d.ts +0 -0
- /package/lib/cjs/{components → tree-widget-react/components}/trees/common/Utils.d.ts +0 -0
- /package/lib/cjs/{components → tree-widget-react/components}/trees/common/Utils.js +0 -0
- /package/lib/cjs/{components → tree-widget-react/components}/trees/common/components/Delayed.d.ts +0 -0
- /package/lib/cjs/{components → tree-widget-react/components}/trees/common/components/Delayed.js +0 -0
- /package/lib/cjs/{components → tree-widget-react/components}/trees/common/components/ProgressOverlay.d.ts +0 -0
- /package/lib/cjs/{components → tree-widget-react/components}/trees/common/components/ProgressOverlay.js +0 -0
- /package/lib/cjs/{components → tree-widget-react/components}/trees/common/components/ProgressOverlay.scss +0 -0
- /package/lib/cjs/{components → tree-widget-react/components}/trees/common/components/TreeNodeCheckbox.d.ts +0 -0
- /package/lib/cjs/{components → tree-widget-react/components}/trees/common/components/TreeRenderer.scss +0 -0
- /package/lib/cjs/{components → tree-widget-react/components}/trees/external-sources-tree/ExternalSourcesTreeDefinition.d.ts +0 -0
- /package/lib/cjs/{components → tree-widget-react/components}/trees/external-sources-tree/ExternalSourcesTreeDefinition.js +0 -0
- /package/lib/cjs/{components → tree-widget-react/components}/trees/imodel-content-tree/internal/IModelContentTreeIdsCache.d.ts +0 -0
- /package/lib/cjs/{components → tree-widget-react/components}/trees/models-tree/Utils.d.ts +0 -0
- /package/lib/cjs/{components → tree-widget-react/components}/trees/models-tree/Utils.js +0 -0
- /package/lib/cjs/{components → tree-widget-react/components}/trees/models-tree/internal/AlwaysAndNeverDrawnElementInfo.d.ts +0 -0
- /package/lib/cjs/{components → tree-widget-react/components}/trees/models-tree/internal/FilteredTree.d.ts +0 -0
- /package/lib/cjs/{components → tree-widget-react/components}/trees/models-tree/internal/FilteredTree.js +0 -0
- /package/lib/cjs/{components → tree-widget-react/components}/trees/models-tree/internal/ModelsTreeNode.d.ts +0 -0
- /package/lib/cjs/{components → tree-widget-react/components}/trees/models-tree/internal/ModelsTreeNode.js +0 -0
- /package/lib/cjs/{components → tree-widget-react/components}/trees/models-tree/internal/VisibilityChangeEventListener.d.ts +0 -0
- /package/lib/cjs/{components → tree-widget-react/components}/utils/IsPromiseLike.d.ts +0 -0
- /package/lib/cjs/{components → tree-widget-react/components}/utils/IsPromiseLike.js +0 -0
- /package/lib/esm/{TreeWidget.d.ts → tree-widget-react/TreeWidget.d.ts} +0 -0
- /package/lib/esm/{TreeWidget.js → tree-widget-react/TreeWidget.js} +0 -0
- /package/lib/esm/{components → tree-widget-react/components}/SelectableTree.d.ts +0 -0
- /package/lib/esm/{components → tree-widget-react/components}/SelectableTree.scss +0 -0
- /package/lib/esm/{components → tree-widget-react/components}/TreeSelector.js +0 -0
- /package/lib/esm/{components → tree-widget-react/components}/TreeSelector.scss +0 -0
- /package/lib/esm/{components → tree-widget-react/components}/TreeWidgetUiItemsProvider.scss +0 -0
- /package/lib/esm/{components → tree-widget-react/components}/tree-header/TreeHeader.d.ts +0 -0
- /package/lib/esm/{components → tree-widget-react/components}/tree-header/TreeHeader.scss +0 -0
- /package/lib/esm/{components → tree-widget-react/components}/tree-header/TreeWithHeader.scss +0 -0
- /package/lib/esm/{components → tree-widget-react/components}/trees/categories-tree/CategoriesTreeDefinition.d.ts +0 -0
- /package/lib/esm/{components → tree-widget-react/components}/trees/common/CategoriesVisibilityUtils.d.ts +0 -0
- /package/lib/esm/{components → tree-widget-react/components}/trees/common/Rxjs.d.ts +0 -0
- /package/lib/esm/{components → tree-widget-react/components}/trees/common/Rxjs.js +0 -0
- /package/lib/esm/{components → tree-widget-react/components}/trees/common/TreeErrors.d.ts +0 -0
- /package/lib/esm/{components → tree-widget-react/components}/trees/common/TreeErrors.js +0 -0
- /package/lib/esm/{components → tree-widget-react/components}/trees/common/UseActiveViewport.d.ts +0 -0
- /package/lib/esm/{components → tree-widget-react/components}/trees/common/UseActiveViewport.js +0 -0
- /package/lib/esm/{components → tree-widget-react/components}/trees/common/UseFiltering.d.ts +0 -0
- /package/lib/esm/{components → tree-widget-react/components}/trees/common/UseFiltering.js +0 -0
- /package/lib/esm/{components → tree-widget-react/components}/trees/common/UseHierarchiesLocalization.d.ts +0 -0
- /package/lib/esm/{components → tree-widget-react/components}/trees/common/UseHierarchyFiltering.d.ts +0 -0
- /package/lib/esm/{components → tree-widget-react/components}/trees/common/UseIModelChangeListener.d.ts +0 -0
- /package/lib/esm/{components → tree-widget-react/components}/trees/common/UseIModelChangeListener.js +0 -0
- /package/lib/esm/{components → tree-widget-react/components}/trees/common/UseMultiCheckboxHandler.d.ts +0 -0
- /package/lib/esm/{components → tree-widget-react/components}/trees/common/UseMultiCheckboxHandler.js +0 -0
- /package/lib/esm/{components → tree-widget-react/components}/trees/common/UseNodeHighlighting.d.ts +0 -0
- /package/lib/esm/{components → tree-widget-react/components}/trees/common/UseTelemetryContext.d.ts +0 -0
- /package/lib/esm/{components → tree-widget-react/components}/trees/common/Utils.d.ts +0 -0
- /package/lib/esm/{components → tree-widget-react/components}/trees/common/Utils.js +0 -0
- /package/lib/esm/{components → tree-widget-react/components}/trees/common/components/Delayed.d.ts +0 -0
- /package/lib/esm/{components → tree-widget-react/components}/trees/common/components/Delayed.js +0 -0
- /package/lib/esm/{components → tree-widget-react/components}/trees/common/components/ProgressOverlay.d.ts +0 -0
- /package/lib/esm/{components → tree-widget-react/components}/trees/common/components/ProgressOverlay.js +0 -0
- /package/lib/esm/{components → tree-widget-react/components}/trees/common/components/ProgressOverlay.scss +0 -0
- /package/lib/esm/{components → tree-widget-react/components}/trees/common/components/TreeNodeCheckbox.d.ts +0 -0
- /package/lib/esm/{components → tree-widget-react/components}/trees/common/components/TreeRenderer.scss +0 -0
- /package/lib/esm/{components → tree-widget-react/components}/trees/external-sources-tree/ExternalSourcesTreeDefinition.d.ts +0 -0
- /package/lib/esm/{components → tree-widget-react/components}/trees/external-sources-tree/ExternalSourcesTreeDefinition.js +0 -0
- /package/lib/esm/{components → tree-widget-react/components}/trees/imodel-content-tree/internal/IModelContentTreeIdsCache.d.ts +0 -0
- /package/lib/esm/{components → tree-widget-react/components}/trees/models-tree/Utils.d.ts +0 -0
- /package/lib/esm/{components → tree-widget-react/components}/trees/models-tree/Utils.js +0 -0
- /package/lib/esm/{components → tree-widget-react/components}/trees/models-tree/internal/AlwaysAndNeverDrawnElementInfo.d.ts +0 -0
- /package/lib/esm/{components → tree-widget-react/components}/trees/models-tree/internal/FilteredTree.d.ts +0 -0
- /package/lib/esm/{components → tree-widget-react/components}/trees/models-tree/internal/FilteredTree.js +0 -0
- /package/lib/esm/{components → tree-widget-react/components}/trees/models-tree/internal/ModelsTreeNode.d.ts +0 -0
- /package/lib/esm/{components → tree-widget-react/components}/trees/models-tree/internal/ModelsTreeNode.js +0 -0
- /package/lib/esm/{components → tree-widget-react/components}/trees/models-tree/internal/VisibilityChangeEventListener.d.ts +0 -0
- /package/lib/esm/{components → tree-widget-react/components}/utils/IsPromiseLike.d.ts +0 -0
- /package/lib/esm/{components → tree-widget-react/components}/utils/IsPromiseLike.js +0 -0
package/lib/cjs/tree-widget-react/components/trees/common/components/VisibilityTreeRenderer.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VisibilityTreeRenderer.js","sourceRoot":"","sources":["../../../../../../../src/tree-widget-react/components/trees/common/components/VisibilityTreeRenderer.tsx"],"names":[],"mappings":";;;;AAAA;;;gGAGgG;AAEhG,iCAAgC;AAChC,8EAAwE;AACxE,uDAAiD;AAQjD;;;GAGG;AACH,SAAgB,sBAAsB,CAAC,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,OAAO,EAAE,GAAG,KAAK,EAA+B;IAC5H,MAAM,EAAE,iBAAiB,EAAE,GAAG,IAAA,oDAAuB,EAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,OAAO,EAAE,CAAC,CAAC;IAErI,MAAM,aAAa,GAAuC,IAAA,eAAO,EAC/D,GAAG,EAAE,CAAC,CAAC;QACL,OAAO,EAAE,SAAS;QAClB,gBAAgB;QAChB,iBAAiB;KAClB,CAAC,EACF,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CACtC,CAAC;IAEF,OAAO,uBAAC,8BAAY,OAAK,KAAK,EAAE,aAAa,EAAE,aAAa,GAAI,CAAC;AACnE,CAAC;AAbD,wDAaC","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 { useMemo } from \"react\";\nimport { useMultiCheckboxHandler } from \"../UseMultiCheckboxHandler.js\";\nimport { TreeRenderer } from \"./TreeRenderer.js\";\n\nimport type { TreeRendererProps } from \"./TreeRenderer.js\";\nimport type { TreeCheckboxProps } from \"./TreeNodeCheckbox.js\";\n\n/** @beta */\nexport type VisibilityTreeRendererProps = TreeRendererProps & TreeCheckboxProps;\n\n/**\n * Tree renderer that renders tree nodes with eye checkboxes for controlling visibility of instances represented by tree nodes.\n * @beta\n */\nexport function VisibilityTreeRenderer({ getCheckboxState, onCheckboxClicked: onClick, ...props }: VisibilityTreeRendererProps) {\n const { onCheckboxClicked } = useMultiCheckboxHandler({ rootNodes: props.rootNodes, isNodeSelected: props.isNodeSelected, onClick });\n\n const checkboxProps: TreeRendererProps[\"checkboxProps\"] = useMemo(\n () => ({\n variant: \"eyeball\",\n getCheckboxState,\n onCheckboxClicked,\n }),\n [getCheckboxState, onCheckboxClicked],\n );\n\n return <TreeRenderer {...props} checkboxProps={checkboxProps} />;\n}\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import type { TreeProps } from "../common/components/Tree";
|
|
2
|
+
import type { TreeProps } from "../common/components/Tree.js";
|
|
3
3
|
/** @beta */
|
|
4
4
|
export type ExternalSourcesTreeProps = Pick<TreeProps, "imodel" | "getSchemaContext" | "selectionStorage" | "density" | "selectionMode"> & {
|
|
5
5
|
hierarchyLevelConfig?: {
|
|
@@ -7,17 +7,17 @@ const jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
7
7
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
8
8
|
*--------------------------------------------------------------------------------------------*/
|
|
9
9
|
const itwinui_icons_react_1 = require("@itwin/itwinui-icons-react");
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
const
|
|
10
|
+
const Tree_js_1 = require("../common/components/Tree.js");
|
|
11
|
+
const TreeRenderer_js_1 = require("../common/components/TreeRenderer.js");
|
|
12
|
+
const ExternalSourcesTreeComponent_js_1 = require("./ExternalSourcesTreeComponent.js");
|
|
13
|
+
const ExternalSourcesTreeDefinition_js_1 = require("./ExternalSourcesTreeDefinition.js");
|
|
14
14
|
/** @beta */
|
|
15
15
|
function ExternalSourcesTree(props) {
|
|
16
|
-
return ((0, jsx_runtime_1.jsx)(
|
|
16
|
+
return ((0, jsx_runtime_1.jsx)(Tree_js_1.Tree, { ...props, treeName: ExternalSourcesTreeComponent_js_1.ExternalSourcesTreeComponent.id, getHierarchyDefinition: getDefinitionsProvider, selectionMode: props.selectionMode ?? "none", treeRenderer: (treeProps) => (0, jsx_runtime_1.jsx)(TreeRenderer_js_1.TreeRenderer, { ...treeProps, getIcon: getIcon }) }));
|
|
17
17
|
}
|
|
18
18
|
exports.ExternalSourcesTree = ExternalSourcesTree;
|
|
19
19
|
const getDefinitionsProvider = (props) => {
|
|
20
|
-
return new
|
|
20
|
+
return new ExternalSourcesTreeDefinition_js_1.ExternalSourcesTreeDefinition(props);
|
|
21
21
|
};
|
|
22
22
|
function getIcon(node) {
|
|
23
23
|
if (node.extendedData?.imageId === undefined) {
|
package/lib/cjs/tree-widget-react/components/trees/external-sources-tree/ExternalSourcesTree.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExternalSourcesTree.js","sourceRoot":"","sources":["../../../../../../src/tree-widget-react/components/trees/external-sources-tree/ExternalSourcesTree.tsx"],"names":[],"mappings":";;;;AAAA;;;gGAGgG;AAEhG,oEAA8E;AAC9E,0DAAoD;AACpD,0EAAoE;AACpE,uFAAiF;AACjF,yFAAmF;AAanF,YAAY;AACZ,SAAgB,mBAAmB,CAAC,KAA+B;IACjE,OAAO,CACL,uBAAC,cAAI,OACC,KAAK,EACT,QAAQ,EAAE,8DAA4B,CAAC,EAAE,EACzC,sBAAsB,EAAE,sBAAsB,EAC9C,aAAa,EAAE,KAAK,CAAC,aAAa,IAAI,MAAM,EAC5C,YAAY,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,uBAAC,8BAAY,OAAK,SAAS,EAAE,OAAO,EAAE,OAAO,GAAI,GAC9E,CACH,CAAC;AACJ,CAAC;AAVD,kDAUC;AAED,MAAM,sBAAsB,GAAwC,CAAC,KAAK,EAAE,EAAE;IAC5E,OAAO,IAAI,gEAA6B,CAAC,KAAK,CAAC,CAAC;AAClD,CAAC,CAAC;AAEF,SAAS,OAAO,CAAC,IAA+B;IAC9C,IAAI,IAAI,CAAC,YAAY,EAAE,OAAO,KAAK,SAAS,EAAE;QAC5C,OAAO,SAAS,CAAC;KAClB;IAED,QAAQ,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;QACjC,KAAK,WAAW;YACd,OAAO,uBAAC,6BAAO,KAAG,CAAC;QACrB,KAAK,eAAe;YAClB,OAAO,uBAAC,6BAAO,KAAG,CAAC;QACrB,KAAK,eAAe;YAClB,OAAO,uBAAC,iCAAW,KAAG,CAAC;QACzB,KAAK,gBAAgB;YACnB,OAAO,uBAAC,gCAAU,KAAG,CAAC;KACzB;IAED,OAAO,SAAS,CAAC;AACnB,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 { SvgDetails, SvgDocument, SvgItem } from \"@itwin/itwinui-icons-react\";\nimport { Tree } from \"../common/components/Tree.js\";\nimport { TreeRenderer } from \"../common/components/TreeRenderer.js\";\nimport { ExternalSourcesTreeComponent } from \"./ExternalSourcesTreeComponent.js\";\nimport { ExternalSourcesTreeDefinition } from \"./ExternalSourcesTreeDefinition.js\";\n\nimport type { TreeProps } from \"../common/components/Tree.js\";\nimport type { ReactElement } from \"react\";\nimport type { PresentationHierarchyNode } from \"@itwin/presentation-hierarchies-react\";\n\n/** @beta */\nexport type ExternalSourcesTreeProps = Pick<TreeProps, \"imodel\" | \"getSchemaContext\" | \"selectionStorage\" | \"density\" | \"selectionMode\"> & {\n hierarchyLevelConfig?: {\n sizeLimit?: number;\n };\n};\n\n/** @beta */\nexport function ExternalSourcesTree(props: ExternalSourcesTreeProps) {\n return (\n <Tree\n {...props}\n treeName={ExternalSourcesTreeComponent.id}\n getHierarchyDefinition={getDefinitionsProvider}\n selectionMode={props.selectionMode ?? \"none\"}\n treeRenderer={(treeProps) => <TreeRenderer {...treeProps} getIcon={getIcon} />}\n />\n );\n}\n\nconst getDefinitionsProvider: TreeProps[\"getHierarchyDefinition\"] = (props) => {\n return new ExternalSourcesTreeDefinition(props);\n};\n\nfunction getIcon(node: PresentationHierarchyNode): ReactElement | undefined {\n if (node.extendedData?.imageId === undefined) {\n return undefined;\n }\n\n switch (node.extendedData.imageId) {\n case \"icon-item\":\n return <SvgItem />;\n case \"icon-ec-class\":\n return <SvgItem />;\n case \"icon-document\":\n return <SvgDocument />;\n case \"icon-ec-schema\":\n return <SvgDetails />;\n }\n\n return undefined;\n}\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import type { ExternalSourcesTreeProps } from "./ExternalSourcesTree";
|
|
2
|
+
import type { ExternalSourcesTreeProps } from "./ExternalSourcesTree.js";
|
|
3
3
|
/** @beta */
|
|
4
4
|
interface ExternalSourcesTreeComponentProps extends Pick<ExternalSourcesTreeProps, "getSchemaContext" | "selectionStorage" | "selectionMode" | "density" | "hierarchyLevelConfig" | "selectionMode"> {
|
|
5
5
|
onPerformanceMeasured?: (featureId: string, duration: number) => void;
|
|
@@ -7,9 +7,9 @@ const jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
7
7
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
8
8
|
*--------------------------------------------------------------------------------------------*/
|
|
9
9
|
const appui_react_1 = require("@itwin/appui-react");
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
const
|
|
10
|
+
const TreeWidget_js_1 = require("../../../TreeWidget.js");
|
|
11
|
+
const UseTelemetryContext_js_1 = require("../common/UseTelemetryContext.js");
|
|
12
|
+
const ExternalSourcesTree_js_1 = require("./ExternalSourcesTree.js");
|
|
13
13
|
/**
|
|
14
14
|
* A component that renders `ExternalSourcesTree`.
|
|
15
15
|
* @beta
|
|
@@ -19,7 +19,7 @@ const ExternalSourcesTreeComponent = ({ onFeatureUsed, onPerformanceMeasured, ..
|
|
|
19
19
|
if (!imodel) {
|
|
20
20
|
return null;
|
|
21
21
|
}
|
|
22
|
-
return ((0, jsx_runtime_1.jsx)(
|
|
22
|
+
return ((0, jsx_runtime_1.jsx)(UseTelemetryContext_js_1.TelemetryContextProvider, { componentIdentifier: exports.ExternalSourcesTreeComponent.id, onFeatureUsed: onFeatureUsed, onPerformanceMeasured: onPerformanceMeasured, children: (0, jsx_runtime_1.jsx)(ExternalSourcesTree_js_1.ExternalSourcesTree, { ...props, imodel: imodel }) }));
|
|
23
23
|
};
|
|
24
24
|
exports.ExternalSourcesTreeComponent = ExternalSourcesTreeComponent;
|
|
25
25
|
/**
|
|
@@ -31,5 +31,5 @@ exports.ExternalSourcesTreeComponent.id = "external-sources-tree-v2";
|
|
|
31
31
|
* Label of the component. May be used when a creating a `TreeDefinition` for `SelectableTree`.
|
|
32
32
|
* @beta
|
|
33
33
|
*/
|
|
34
|
-
exports.ExternalSourcesTreeComponent.getLabel = () =>
|
|
34
|
+
exports.ExternalSourcesTreeComponent.getLabel = () => TreeWidget_js_1.TreeWidget.translate("externalSourcesTree.label");
|
|
35
35
|
//# sourceMappingURL=ExternalSourcesTreeComponent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExternalSourcesTreeComponent.js","sourceRoot":"","sources":["../../../../../../src/tree-widget-react/components/trees/external-sources-tree/ExternalSourcesTreeComponent.tsx"],"names":[],"mappings":";;;;AAAA;;;gGAGgG;AAEhG,oDAA+D;AAC/D,0DAAoD;AACpD,6EAA4E;AAC5E,qEAA+D;AAW/D;;;GAGG;AACI,MAAM,4BAA4B,GAAG,CAAC,EAAE,aAAa,EAAE,qBAAqB,EAAE,GAAG,KAAK,EAAqC,EAAE,EAAE;IACpI,MAAM,MAAM,GAAG,IAAA,uCAAyB,GAAE,CAAC;IAE3C,IAAI,CAAC,MAAM,EAAE;QACX,OAAO,IAAI,CAAC;KACb;IAED,OAAO,CACL,uBAAC,iDAAwB,IAAC,mBAAmB,EAAE,oCAA4B,CAAC,EAAE,EAAE,aAAa,EAAE,aAAa,EAAE,qBAAqB,EAAE,qBAAqB,YACxJ,uBAAC,4CAAmB,OAAK,KAAK,EAAE,MAAM,EAAE,MAAM,GAAI,GACzB,CAC5B,CAAC;AACJ,CAAC,CAAC;AAZW,QAAA,4BAA4B,gCAYvC;AAEF;;;GAGG;AACH,oCAA4B,CAAC,EAAE,GAAG,0BAA0B,CAAC;AAE7D;;;GAGG;AACH,oCAA4B,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAC,0BAAU,CAAC,SAAS,CAAC,2BAA2B,CAAC,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 { useActiveIModelConnection } from \"@itwin/appui-react\";\nimport { TreeWidget } from \"../../../TreeWidget.js\";\nimport { TelemetryContextProvider } from \"../common/UseTelemetryContext.js\";\nimport { ExternalSourcesTree } from \"./ExternalSourcesTree.js\";\n\nimport type { ExternalSourcesTreeProps } from \"./ExternalSourcesTree.js\";\n\n/** @beta */\ninterface ExternalSourcesTreeComponentProps\n extends Pick<ExternalSourcesTreeProps, \"getSchemaContext\" | \"selectionStorage\" | \"selectionMode\" | \"density\" | \"hierarchyLevelConfig\" | \"selectionMode\"> {\n onPerformanceMeasured?: (featureId: string, duration: number) => void;\n onFeatureUsed?: (feature: string) => void;\n}\n\n/**\n * A component that renders `ExternalSourcesTree`.\n * @beta\n */\nexport const ExternalSourcesTreeComponent = ({ onFeatureUsed, onPerformanceMeasured, ...props }: ExternalSourcesTreeComponentProps) => {\n const imodel = useActiveIModelConnection();\n\n if (!imodel) {\n return null;\n }\n\n return (\n <TelemetryContextProvider componentIdentifier={ExternalSourcesTreeComponent.id} onFeatureUsed={onFeatureUsed} onPerformanceMeasured={onPerformanceMeasured}>\n <ExternalSourcesTree {...props} imodel={imodel} />\n </TelemetryContextProvider>\n );\n};\n\n/**\n * Id of the component. May be used when a creating a `TreeDefinition` for `SelectableTree`.\n * @beta\n */\nExternalSourcesTreeComponent.id = \"external-sources-tree-v2\";\n\n/**\n * Label of the component. May be used when a creating a `TreeDefinition` for `SelectableTree`.\n * @beta\n */\nExternalSourcesTreeComponent.getLabel = () => TreeWidget.translate(\"externalSourcesTree.label\");\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExternalSourcesTreeDefinition.js","sourceRoot":"","sources":["../../../../../../src/tree-widget-react/components/trees/external-sources-tree/ExternalSourcesTreeDefinition.ts"],"names":[],"mappings":"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","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 { createNodesQueryClauseFactory, createPredicateBasedHierarchyDefinition, HierarchyNode } from \"@itwin/presentation-hierarchies\";\nimport { createBisInstanceLabelSelectClauseFactory, ECSql } from \"@itwin/presentation-shared\";\n\nimport type { ECClassHierarchyInspector, ECSchemaProvider, IInstanceLabelSelectClauseFactory } from \"@itwin/presentation-shared\";\nimport type {\n DefineGenericNodeChildHierarchyLevelProps,\n DefineHierarchyLevelProps,\n DefineInstanceNodeChildHierarchyLevelProps,\n DefineRootHierarchyLevelProps,\n HierarchyDefinition,\n HierarchyLevelDefinition,\n LimitingECSqlQueryExecutor,\n NodesQueryClauseFactory,\n ProcessedHierarchyNode,\n} from \"@itwin/presentation-hierarchies\";\n\ninterface ExternalSourcesTreeDefinitionProps {\n imodelAccess: ECSchemaProvider & ECClassHierarchyInspector & LimitingECSqlQueryExecutor;\n}\n\nexport class ExternalSourcesTreeDefinition implements HierarchyDefinition {\n private _impl: HierarchyDefinition;\n private _selectQueryFactory: NodesQueryClauseFactory;\n private _nodeLabelSelectClauseFactory: IInstanceLabelSelectClauseFactory;\n private _queryExecutor: LimitingECSqlQueryExecutor;\n private _isSupported?: Promise<boolean>;\n\n public constructor(props: ExternalSourcesTreeDefinitionProps) {\n this._impl = createPredicateBasedHierarchyDefinition({\n classHierarchyInspector: props.imodelAccess,\n hierarchy: {\n rootNodes: async (requestProps) => this.createRootHierarchyLevelDefinition(requestProps),\n childNodes: [\n {\n parentInstancesNodePredicate: \"BisCore.ExternalSourceGroup\",\n definitions: async (requestProps: DefineInstanceNodeChildHierarchyLevelProps) => this.createExternalSourcesGroupChildrenQuery(requestProps),\n },\n {\n parentInstancesNodePredicate: \"BisCore.ExternalSource\",\n definitions: async (requestProps: DefineInstanceNodeChildHierarchyLevelProps) => this.createExternalSourceChildrenQuery(requestProps),\n },\n {\n parentGenericNodePredicate: async ({ id }) => id === \"ElementsNode\",\n definitions: async (requestProps: DefineGenericNodeChildHierarchyLevelProps) => this.createElementsNodeChildrenQuery(requestProps),\n },\n ],\n },\n });\n this._queryExecutor = props.imodelAccess;\n this._nodeLabelSelectClauseFactory = createBisInstanceLabelSelectClauseFactory({ classHierarchyInspector: props.imodelAccess });\n this._selectQueryFactory = createNodesQueryClauseFactory({\n imodelAccess: props.imodelAccess,\n instanceLabelSelectClauseFactory: this._nodeLabelSelectClauseFactory,\n });\n }\n\n public async postProcessNode(node: ProcessedHierarchyNode): Promise<ProcessedHierarchyNode> {\n if (HierarchyNode.isClassGroupingNode(node)) {\n // `imageId` is assigned to instance nodes at query time, but grouping ones need to be handled during post-processing\n return { ...node, extendedData: { ...node.extendedData, imageId: \"icon-ec-class\" } };\n }\n return node;\n }\n\n public async defineHierarchyLevel(props: DefineHierarchyLevelProps) {\n if (this._isSupported === undefined) {\n this._isSupported = this.isSupported();\n }\n\n if ((await this._isSupported) === false) {\n return [];\n }\n\n return this._impl.defineHierarchyLevel(props);\n }\n\n private async createRootHierarchyLevelDefinition(props: DefineRootHierarchyLevelProps): Promise<HierarchyLevelDefinition> {\n const instanceFilterClauses = await this._selectQueryFactory.createFilterClauses({\n filter: props.instanceFilter,\n contentClass: { fullName: \"BisCore.ExternalSource\", alias: \"this\" },\n });\n return [\n {\n fullClassName: \"BisCore.ExternalSource\",\n query: {\n ecsql: `\n SELECT\n ${await this._selectQueryFactory.createSelectClause({\n ecClassId: { selector: ECSql.createRawPropertyValueSelector(\"this\", \"ECClassId\") },\n ecInstanceId: { selector: \"this.ECInstanceId\" },\n nodeLabel: {\n selector: await this.createCompositeLabelSelectClause({ externalSourceAlias: \"this\", repositoryLinkAlias: \"rl\" }),\n },\n extendedData: {\n imageId: \"icon-document\",\n },\n autoExpand: true,\n supportsFiltering: { selector: this.createExternalSourceSupportsFilteringSelector(\"this\") },\n })}\n FROM ${instanceFilterClauses.from} this\n ${instanceFilterClauses.joins}\n JOIN BisCore.SynchronizationConfigSpecifiesRootSources scsrs ON scsrs.TargetECInstanceId = this.ECInstanceId\n LEFT JOIN BisCore.RepositoryLink rl ON rl.ECInstanceId = this.Repository.Id\n ${instanceFilterClauses.where ? `WHERE ${instanceFilterClauses.where}` : \"\"}\n `,\n },\n },\n ];\n }\n\n private async createExternalSourcesGroupChildrenQuery({\n parentNodeInstanceIds: groupIds,\n instanceFilter,\n }: DefineInstanceNodeChildHierarchyLevelProps): Promise<HierarchyLevelDefinition> {\n const instanceFilterClauses = await this._selectQueryFactory.createFilterClauses({\n filter: instanceFilter,\n contentClass: { fullName: \"BisCore.ExternalSource\", alias: \"this\" },\n });\n return [\n {\n fullClassName: \"BisCore.ExternalSource\",\n query: {\n ecsql: `\n SELECT\n ${await this._selectQueryFactory.createSelectClause({\n ecClassId: { selector: \"this.ECClassId\" },\n ecInstanceId: { selector: \"this.ECInstanceId\" },\n nodeLabel: {\n selector: await this.createCompositeLabelSelectClause({ externalSourceAlias: \"this\", repositoryLinkAlias: \"rl\" }),\n },\n extendedData: {\n imageId: \"icon-document\",\n },\n supportsFiltering: { selector: this.createExternalSourceSupportsFilteringSelector(\"this\") },\n })}\n FROM ${instanceFilterClauses.from} this\n JOIN BisCore.ExternalSourceGroupGroupsSources esggs ON esggs.TargetECInstanceId = this.ECInstanceId\n LEFT JOIN BisCore.RepositoryLink rl ON rl.ECInstanceId = this.Repository.Id\n ${instanceFilterClauses.joins}\n WHERE\n esggs.SourceECInstanceId IN (${groupIds.map(() => \"?\").join(\",\")})\n ${instanceFilterClauses.where ? `AND ${instanceFilterClauses.where}` : \"\"}\n `,\n bindings: groupIds.map((id) => ({ type: \"id\", value: id })),\n },\n },\n ];\n }\n\n private async createExternalSourceChildrenQuery({\n parentNodeInstanceIds: sourceIds,\n instanceFilter,\n }: DefineInstanceNodeChildHierarchyLevelProps): Promise<HierarchyLevelDefinition> {\n const instanceFilterClauses = await this._selectQueryFactory.createFilterClauses({\n filter: instanceFilter,\n contentClass: { fullName: \"BisCore.ExternalSource\", alias: \"this\" },\n });\n return [\n {\n fullClassName: \"BisCore.ExternalSource\",\n query: {\n ecsql: `\n SELECT\n ${await this._selectQueryFactory.createSelectClause({\n ecClassId: { selector: \"this.ECClassId\" },\n ecInstanceId: { selector: \"this.ECInstanceId\" },\n nodeLabel: {\n selector: await this.createCompositeLabelSelectClause({ externalSourceAlias: \"this\", repositoryLinkAlias: \"rl\" }),\n },\n extendedData: {\n imageId: \"icon-document\",\n },\n supportsFiltering: { selector: this.createExternalSourceSupportsFilteringSelector(\"this\") },\n })}\n FROM ${instanceFilterClauses.from} this\n JOIN BisCore.ExternalSourceAttachment esa ON esa.Attaches.Id = this.ECInstanceId\n LEFT JOIN BisCore.RepositoryLink rl ON rl.ECInstanceId = this.Repository.Id\n ${instanceFilterClauses.joins}\n WHERE\n esa.Parent.Id IN (${sourceIds.map(() => \"?\").join(\",\")})\n ${instanceFilterClauses.where ? `AND ${instanceFilterClauses.where}` : \"\"}\n `,\n bindings: sourceIds.map((id) => ({ type: \"id\", value: id })),\n },\n },\n {\n node: {\n key: \"ElementsNode\",\n label: \"Elements\",\n extendedData: {\n sourceIds,\n imageId: \"icon-ec-schema\",\n },\n supportsFiltering: true,\n processingParams: {\n hideIfNoChildren: true,\n },\n },\n },\n ];\n }\n\n private createExternalSourceSupportsFilteringSelector(alias: string) {\n return `\n IFNULL((\n SELECT 1\n FROM (\n SELECT 1 FROM BisCore.ExternalSourceGroupGroupsSources WHERE SourceECInstanceId = ${alias}.ECInstanceId\n UNION ALL\n SELECT 1 FROM BisCore.ExternalSourceAttachment WHERE Parent.Id = ${alias}.ECInstanceId\n )\n LIMIT 1\n ), 0)\n `;\n }\n\n private async createElementsNodeChildrenQuery({ parentNode, instanceFilter }: DefineGenericNodeChildHierarchyLevelProps): Promise<HierarchyLevelDefinition> {\n const sourceIds: string[] = parentNode.extendedData?.sourceIds;\n const instanceFilterClauses = await this._selectQueryFactory.createFilterClauses({\n filter: instanceFilter,\n contentClass: { fullName: \"BisCore.GeometricElement\", alias: \"this\" },\n });\n return [\n {\n fullClassName: \"BisCore.GeometricElement\",\n query: {\n ecsql: `\n SELECT\n ${await this._selectQueryFactory.createSelectClause({\n ecClassId: { selector: \"this.ECClassId\" },\n ecInstanceId: { selector: \"this.ECInstanceId\" },\n nodeLabel: {\n selector: await this._nodeLabelSelectClauseFactory.createSelectClause({\n classAlias: \"this\",\n className: \"BisCore.GeometricElement\",\n }),\n },\n extendedData: {\n imageId: \"icon-item\",\n },\n grouping: { byClass: true },\n hasChildren: false,\n })}\n FROM ${instanceFilterClauses.from} this\n JOIN BisCore.ExternalSourceAspect esa ON esa.Element.Id = this.ECInstanceId\n ${instanceFilterClauses.joins}\n WHERE\n esa.Source.Id IN (${sourceIds.map(() => \"?\").join(\",\")})\n ${instanceFilterClauses.where ? `AND ${instanceFilterClauses.where}` : \"\"}\n `,\n bindings: sourceIds.map((id) => ({ type: \"id\", value: id })),\n },\n },\n ];\n }\n\n private async createCompositeLabelSelectClause({ externalSourceAlias, repositoryLinkAlias }: { externalSourceAlias: string; repositoryLinkAlias: string }) {\n return ECSql.createConcatenatedValueJsonSelector([\n {\n selector: `IIF(\n ${repositoryLinkAlias}.ECInstanceId IS NOT NULL,\n ${ECSql.createConcatenatedValueJsonSelector([\n {\n selector: await this._nodeLabelSelectClauseFactory.createSelectClause({\n classAlias: repositoryLinkAlias,\n className: \"BisCore.RepositoryLink\",\n }),\n },\n {\n type: \"String\",\n value: \" - \",\n },\n ])},\n ''\n )`,\n },\n {\n selector: await this._nodeLabelSelectClauseFactory.createSelectClause({\n classAlias: externalSourceAlias,\n className: \"BisCore.ExternalSource\",\n }),\n },\n ]);\n }\n\n private async isSupported() {\n const query = `\n SELECT 1\n FROM ECDbMeta.ECSchemaDef\n WHERE Name = 'BisCore' AND (VersionMajor > 1 OR (VersionMajor = 1 AND VersionMinor > 12))\n `;\n\n for await (const _row of this._queryExecutor.createQueryReader({ ecsql: query })) {\n return true;\n }\n return false;\n }\n}\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import type { TreeProps } from "../common/components/Tree";
|
|
2
|
+
import type { TreeProps } from "../common/components/Tree.js";
|
|
3
3
|
/** @beta */
|
|
4
4
|
export type IModelContentTreeProps = Pick<TreeProps, "imodel" | "getSchemaContext" | "selectionStorage" | "density" | "selectionMode"> & {
|
|
5
5
|
hierarchyLevelConfig?: {
|
|
@@ -7,20 +7,20 @@ const jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
7
7
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
8
8
|
*--------------------------------------------------------------------------------------------*/
|
|
9
9
|
const itwinui_icons_react_1 = require("@itwin/itwinui-icons-react");
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
const
|
|
14
|
-
const
|
|
10
|
+
const Tree_js_1 = require("../common/components/Tree.js");
|
|
11
|
+
const TreeRenderer_js_1 = require("../common/components/TreeRenderer.js");
|
|
12
|
+
const IModelContentTreeComponent_js_1 = require("./IModelContentTreeComponent.js");
|
|
13
|
+
const IModelContentTreeDefinition_js_1 = require("./IModelContentTreeDefinition.js");
|
|
14
|
+
const IModelContentTreeIdsCache_js_1 = require("./internal/IModelContentTreeIdsCache.js");
|
|
15
15
|
/** @beta */
|
|
16
16
|
function IModelContentTree(props) {
|
|
17
|
-
return ((0, jsx_runtime_1.jsx)(
|
|
17
|
+
return ((0, jsx_runtime_1.jsx)(Tree_js_1.Tree, { ...props, treeName: IModelContentTreeComponent_js_1.IModelContentTreeComponent.id, getHierarchyDefinition: getDefinitionsProvider, selectionMode: props.selectionMode ?? "extended", treeRenderer: (treeProps) => (0, jsx_runtime_1.jsx)(TreeRenderer_js_1.TreeRenderer, { ...treeProps, getIcon: getIcon }) }));
|
|
18
18
|
}
|
|
19
19
|
exports.IModelContentTree = IModelContentTree;
|
|
20
20
|
const getDefinitionsProvider = ({ imodelAccess }) => {
|
|
21
|
-
return new
|
|
21
|
+
return new IModelContentTreeDefinition_js_1.IModelContentTreeDefinition({
|
|
22
22
|
imodelAccess,
|
|
23
|
-
idsCache: new
|
|
23
|
+
idsCache: new IModelContentTreeIdsCache_js_1.IModelContentTreeIdsCache(imodelAccess),
|
|
24
24
|
});
|
|
25
25
|
};
|
|
26
26
|
function getIcon(node) {
|
package/lib/cjs/tree-widget-react/components/trees/imodel-content-tree/IModelContentTree.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IModelContentTree.js","sourceRoot":"","sources":["../../../../../../src/tree-widget-react/components/trees/imodel-content-tree/IModelContentTree.tsx"],"names":[],"mappings":";;;;AAAA;;;gGAGgG;AAEhG,oEAAkI;AAClI,0DAAoD;AACpD,0EAAoE;AACpE,mFAA6E;AAC7E,qFAA+E;AAC/E,0FAAoF;AAapF,YAAY;AACZ,SAAgB,iBAAiB,CAAC,KAA6B;IAC7D,OAAO,CACL,uBAAC,cAAI,OACC,KAAK,EACT,QAAQ,EAAE,0DAA0B,CAAC,EAAE,EACvC,sBAAsB,EAAE,sBAAsB,EAC9C,aAAa,EAAE,KAAK,CAAC,aAAa,IAAI,UAAU,EAChD,YAAY,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,uBAAC,8BAAY,OAAK,SAAS,EAAE,OAAO,EAAE,OAAO,GAAI,GAC9E,CACH,CAAC;AACJ,CAAC;AAVD,8CAUC;AAED,MAAM,sBAAsB,GAAwC,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE;IACvF,OAAO,IAAI,4DAA2B,CAAC;QACrC,YAAY;QACZ,QAAQ,EAAE,IAAI,wDAAyB,CAAC,YAAY,CAAC;KACtD,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,SAAS,OAAO,CAAC,IAA+B;IAC9C,IAAI,IAAI,CAAC,YAAY,EAAE,OAAO,KAAK,SAAS,EAAE;QAC5C,OAAO,SAAS,CAAC;KAClB;IAED,QAAQ,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;QACjC,KAAK,aAAa;YAChB,OAAO,uBAAC,+BAAS,KAAG,CAAC;QACvB,KAAK,WAAW;YACd,OAAO,uBAAC,6BAAO,KAAG,CAAC;QACrB,KAAK,eAAe;YAClB,OAAO,uBAAC,6BAAO,KAAG,CAAC;QACrB,KAAK,sBAAsB;YACzB,OAAO,uBAAC,qCAAe,KAAG,CAAC;QAC7B,KAAK,aAAa;YAChB,OAAO,uBAAC,+BAAS,KAAG,CAAC;QACvB,KAAK,YAAY;YACf,OAAO,uBAAC,8BAAQ,KAAG,CAAC;QACtB,KAAK,qBAAqB;YACxB,OAAO,uBAAC,sCAAgB,KAAG,CAAC;QAC9B,KAAK,YAAY;YACf,OAAO,uBAAC,8BAAQ,KAAG,CAAC;KACvB;IAED,OAAO,SAAS,CAAC;AACnB,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 { SvgFolder, SvgGroup, SvgHierarchyTree, SvgImodelHollow, SvgItem, SvgLayers, SvgModel } from \"@itwin/itwinui-icons-react\";\nimport { Tree } from \"../common/components/Tree.js\";\nimport { TreeRenderer } from \"../common/components/TreeRenderer.js\";\nimport { IModelContentTreeComponent } from \"./IModelContentTreeComponent.js\";\nimport { IModelContentTreeDefinition } from \"./IModelContentTreeDefinition.js\";\nimport { IModelContentTreeIdsCache } from \"./internal/IModelContentTreeIdsCache.js\";\n\nimport type { TreeProps } from \"../common/components/Tree.js\";\nimport type { ReactElement } from \"react\";\nimport type { PresentationHierarchyNode } from \"@itwin/presentation-hierarchies-react\";\n\n/** @beta */\nexport type IModelContentTreeProps = Pick<TreeProps, \"imodel\" | \"getSchemaContext\" | \"selectionStorage\" | \"density\" | \"selectionMode\"> & {\n hierarchyLevelConfig?: {\n sizeLimit?: number;\n };\n};\n\n/** @beta */\nexport function IModelContentTree(props: IModelContentTreeProps) {\n return (\n <Tree\n {...props}\n treeName={IModelContentTreeComponent.id}\n getHierarchyDefinition={getDefinitionsProvider}\n selectionMode={props.selectionMode ?? \"extended\"}\n treeRenderer={(treeProps) => <TreeRenderer {...treeProps} getIcon={getIcon} />}\n />\n );\n}\n\nconst getDefinitionsProvider: TreeProps[\"getHierarchyDefinition\"] = ({ imodelAccess }) => {\n return new IModelContentTreeDefinition({\n imodelAccess,\n idsCache: new IModelContentTreeIdsCache(imodelAccess),\n });\n};\n\nfunction getIcon(node: PresentationHierarchyNode): ReactElement | undefined {\n if (node.extendedData?.imageId === undefined) {\n return undefined;\n }\n\n switch (node.extendedData.imageId) {\n case \"icon-layers\":\n return <SvgLayers />;\n case \"icon-item\":\n return <SvgItem />;\n case \"icon-ec-class\":\n return <SvgItem />;\n case \"icon-imodel-hollow-2\":\n return <SvgImodelHollow />;\n case \"icon-folder\":\n return <SvgFolder />;\n case \"icon-model\":\n return <SvgModel />;\n case \"icon-hierarchy-tree\":\n return <SvgHierarchyTree />;\n case \"icon-group\":\n return <SvgGroup />;\n }\n\n return undefined;\n}\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import type { IModelContentTreeProps } from "./IModelContentTree";
|
|
2
|
+
import type { IModelContentTreeProps } from "./IModelContentTree.js";
|
|
3
3
|
/** @beta */
|
|
4
4
|
interface IModelContentTreeComponentProps extends Pick<IModelContentTreeProps, "getSchemaContext" | "selectionStorage" | "density" | "hierarchyLevelConfig" | "selectionMode"> {
|
|
5
5
|
onPerformanceMeasured?: (featureId: string, duration: number) => void;
|
|
@@ -7,9 +7,9 @@ const jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
7
7
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
8
8
|
*--------------------------------------------------------------------------------------------*/
|
|
9
9
|
const appui_react_1 = require("@itwin/appui-react");
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
const
|
|
10
|
+
const TreeWidget_js_1 = require("../../../TreeWidget.js");
|
|
11
|
+
const UseTelemetryContext_js_1 = require("../common/UseTelemetryContext.js");
|
|
12
|
+
const IModelContentTree_js_1 = require("./IModelContentTree.js");
|
|
13
13
|
/**
|
|
14
14
|
* A component that renders `IModelContentTree`.
|
|
15
15
|
* @beta
|
|
@@ -19,7 +19,7 @@ const IModelContentTreeComponent = ({ onFeatureUsed, onPerformanceMeasured, ...p
|
|
|
19
19
|
if (!imodel) {
|
|
20
20
|
return null;
|
|
21
21
|
}
|
|
22
|
-
return ((0, jsx_runtime_1.jsx)(
|
|
22
|
+
return ((0, jsx_runtime_1.jsx)(UseTelemetryContext_js_1.TelemetryContextProvider, { componentIdentifier: exports.IModelContentTreeComponent.id, onFeatureUsed: onFeatureUsed, onPerformanceMeasured: onPerformanceMeasured, children: (0, jsx_runtime_1.jsx)(IModelContentTree_js_1.IModelContentTree, { ...props, imodel: imodel }) }));
|
|
23
23
|
};
|
|
24
24
|
exports.IModelContentTreeComponent = IModelContentTreeComponent;
|
|
25
25
|
/**
|
|
@@ -31,5 +31,5 @@ exports.IModelContentTreeComponent.id = "imodel-content-tree-v2";
|
|
|
31
31
|
* Label of the component. May be used when a creating a `TreeDefinition` for `SelectableTree`.
|
|
32
32
|
* @beta
|
|
33
33
|
*/
|
|
34
|
-
exports.IModelContentTreeComponent.getLabel = () =>
|
|
34
|
+
exports.IModelContentTreeComponent.getLabel = () => TreeWidget_js_1.TreeWidget.translate("imodelContentTree.label");
|
|
35
35
|
//# sourceMappingURL=IModelContentTreeComponent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IModelContentTreeComponent.js","sourceRoot":"","sources":["../../../../../../src/tree-widget-react/components/trees/imodel-content-tree/IModelContentTreeComponent.tsx"],"names":[],"mappings":";;;;AAAA;;;gGAGgG;AAEhG,oDAA+D;AAC/D,0DAAoD;AACpD,6EAA4E;AAC5E,iEAA2D;AAW3D;;;GAGG;AACI,MAAM,0BAA0B,GAAG,CAAC,EAAE,aAAa,EAAE,qBAAqB,EAAE,GAAG,KAAK,EAAmC,EAAE,EAAE;IAChI,MAAM,MAAM,GAAG,IAAA,uCAAyB,GAAE,CAAC;IAE3C,IAAI,CAAC,MAAM,EAAE;QACX,OAAO,IAAI,CAAC;KACb;IAED,OAAO,CACL,uBAAC,iDAAwB,IAAC,mBAAmB,EAAE,kCAA0B,CAAC,EAAE,EAAE,aAAa,EAAE,aAAa,EAAE,qBAAqB,EAAE,qBAAqB,YACtJ,uBAAC,wCAAiB,OAAK,KAAK,EAAE,MAAM,EAAE,MAAM,GAAI,GACvB,CAC5B,CAAC;AACJ,CAAC,CAAC;AAZW,QAAA,0BAA0B,8BAYrC;AAEF;;;GAGG;AACH,kCAA0B,CAAC,EAAE,GAAG,wBAAwB,CAAC;AAEzD;;;GAGG;AACH,kCAA0B,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAC,0BAAU,CAAC,SAAS,CAAC,yBAAyB,CAAC,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 { useActiveIModelConnection } from \"@itwin/appui-react\";\nimport { TreeWidget } from \"../../../TreeWidget.js\";\nimport { TelemetryContextProvider } from \"../common/UseTelemetryContext.js\";\nimport { IModelContentTree } from \"./IModelContentTree.js\";\n\nimport type { IModelContentTreeProps } from \"./IModelContentTree.js\";\n\n/** @beta */\ninterface IModelContentTreeComponentProps\n extends Pick<IModelContentTreeProps, \"getSchemaContext\" | \"selectionStorage\" | \"density\" | \"hierarchyLevelConfig\" | \"selectionMode\"> {\n onPerformanceMeasured?: (featureId: string, duration: number) => void;\n onFeatureUsed?: (feature: string) => void;\n}\n\n/**\n * A component that renders `IModelContentTree`.\n * @beta\n */\nexport const IModelContentTreeComponent = ({ onFeatureUsed, onPerformanceMeasured, ...props }: IModelContentTreeComponentProps) => {\n const imodel = useActiveIModelConnection();\n\n if (!imodel) {\n return null;\n }\n\n return (\n <TelemetryContextProvider componentIdentifier={IModelContentTreeComponent.id} onFeatureUsed={onFeatureUsed} onPerformanceMeasured={onPerformanceMeasured}>\n <IModelContentTree {...props} imodel={imodel} />\n </TelemetryContextProvider>\n );\n};\n\n/**\n * Id of the component. May be used when a creating a `TreeDefinition` for `SelectableTree`.\n * @beta\n */\nIModelContentTreeComponent.id = \"imodel-content-tree-v2\";\n\n/**\n * Label of the component. May be used when a creating a `TreeDefinition` for `SelectableTree`.\n * @beta\n */\nIModelContentTreeComponent.getLabel = () => TreeWidget.translate(\"imodelContentTree.label\");\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ProcessedHierarchyNode } from "@itwin/presentation-hierarchies";
|
|
2
2
|
import type { DefineHierarchyLevelProps, HierarchyDefinition, HierarchyLevelDefinition } from "@itwin/presentation-hierarchies";
|
|
3
3
|
import type { ECClassHierarchyInspector, ECSchemaProvider } from "@itwin/presentation-shared";
|
|
4
|
-
import type { IModelContentTreeIdsCache } from "./internal/IModelContentTreeIdsCache";
|
|
4
|
+
import type { IModelContentTreeIdsCache } from "./internal/IModelContentTreeIdsCache.js";
|
|
5
5
|
interface IModelContentTreeDefinitionProps {
|
|
6
6
|
imodelAccess: ECSchemaProvider & ECClassHierarchyInspector;
|
|
7
7
|
idsCache: IModelContentTreeIdsCache;
|
|
@@ -7,7 +7,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
7
7
|
exports.IModelContentTreeDefinition = void 0;
|
|
8
8
|
const presentation_hierarchies_1 = require("@itwin/presentation-hierarchies");
|
|
9
9
|
const presentation_shared_1 = require("@itwin/presentation-shared");
|
|
10
|
-
const
|
|
10
|
+
const Utils_js_1 = require("../common/Utils.js");
|
|
11
11
|
class IModelContentTreeDefinition {
|
|
12
12
|
constructor(props) {
|
|
13
13
|
this._idsCache = props.idsCache;
|
|
@@ -269,7 +269,7 @@ class IModelContentTreeDefinition {
|
|
|
269
269
|
grouping: { byLabel: { action: "merge", groupId: "category" } },
|
|
270
270
|
extendedData: {
|
|
271
271
|
imageId: "icon-layers",
|
|
272
|
-
modelIds: { selector: (0,
|
|
272
|
+
modelIds: { selector: (0, Utils_js_1.createIdsSelector)(modelIds) },
|
|
273
273
|
},
|
|
274
274
|
hasChildren: true,
|
|
275
275
|
supportsFiltering: true,
|
|
@@ -316,7 +316,7 @@ class IModelContentTreeDefinition {
|
|
|
316
316
|
}
|
|
317
317
|
async createCategoryChildrenQuery(props) {
|
|
318
318
|
const { parentNodeInstanceIds: categoryIds, parentNode, instanceFilter, viewType } = props;
|
|
319
|
-
const modelIds = (0,
|
|
319
|
+
const modelIds = (0, Utils_js_1.parseIdsSelectorResult)(parentNode.extendedData?.modelIds);
|
|
320
320
|
// We only want to handle a category added as a child of `GeometricModel2d` or `GeometricModel3d`.
|
|
321
321
|
// ModelIds is not empty only if parent node is a geometric model.
|
|
322
322
|
if (modelIds.length === 0) {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IModelContentTreeDefinition.js","sourceRoot":"","sources":["../../../../../../src/tree-widget-react/components/trees/imodel-content-tree/IModelContentTreeDefinition.ts"],"names":[],"mappings":"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","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 {\n createNodesQueryClauseFactory, createPredicateBasedHierarchyDefinition, NodeSelectClauseColumnNames, ProcessedHierarchyNode,\n} from \"@itwin/presentation-hierarchies\";\nimport { createBisInstanceLabelSelectClauseFactory, ECSql } from \"@itwin/presentation-shared\";\nimport { createIdsSelector, parseIdsSelectorResult } from \"../common/Utils.js\";\n\nimport type {\n DefineGenericNodeChildHierarchyLevelProps,\n DefineHierarchyLevelProps,\n DefineInstanceNodeChildHierarchyLevelProps,\n DefineRootHierarchyLevelProps,\n HierarchyDefinition,\n HierarchyLevelDefinition,\n HierarchyNodesDefinition,\n NodesQueryClauseFactory,\n} from \"@itwin/presentation-hierarchies\";\nimport type { ECClassHierarchyInspector, ECSchemaProvider, ECSqlBinding, IInstanceLabelSelectClauseFactory } from \"@itwin/presentation-shared\";\nimport type { IModelContentTreeIdsCache } from \"./internal/IModelContentTreeIdsCache.js\";\n\ninterface IModelContentTreeDefinitionProps {\n imodelAccess: ECSchemaProvider & ECClassHierarchyInspector;\n idsCache: IModelContentTreeIdsCache;\n}\n\nexport class IModelContentTreeDefinition implements HierarchyDefinition {\n private _impl: HierarchyDefinition;\n private _idsCache: IModelContentTreeIdsCache;\n private _selectQueryFactory: NodesQueryClauseFactory;\n private _nodeLabelSelectClauseFactory: IInstanceLabelSelectClauseFactory;\n\n public constructor(props: IModelContentTreeDefinitionProps) {\n this._idsCache = props.idsCache;\n this._impl = createPredicateBasedHierarchyDefinition({\n classHierarchyInspector: props.imodelAccess,\n hierarchy: {\n rootNodes: async (requestProps) => this.createRootHierarchyLevelDefinition(requestProps),\n childNodes: [\n {\n parentInstancesNodePredicate: \"BisCore.Subject\",\n definitions: async (requestProps: DefineInstanceNodeChildHierarchyLevelProps) => this.createSubjectChildrenQuery(requestProps),\n },\n {\n parentInstancesNodePredicate: \"BisCore.ISubModeledElement\",\n definitions: async (requestProps: DefineInstanceNodeChildHierarchyLevelProps) => this.createISubModeledElementChildrenQuery(requestProps),\n },\n {\n parentInstancesNodePredicate: \"BisCore.GeometricModel3d\",\n definitions: async (requestProps: DefineInstanceNodeChildHierarchyLevelProps) =>\n this.createGeometricModelChildrenQuery({ ...requestProps, viewType: \"3d\" }),\n },\n {\n parentInstancesNodePredicate: \"BisCore.GeometricModel2d\",\n definitions: async (requestProps: DefineInstanceNodeChildHierarchyLevelProps) =>\n this.createGeometricModelChildrenQuery({ ...requestProps, viewType: \"2d\" }),\n },\n {\n parentInstancesNodePredicate: \"BisCore.SpatialCategory\",\n definitions: async (requestProps: DefineInstanceNodeChildHierarchyLevelProps) =>\n this.createCategoryChildrenQuery({ ...requestProps, viewType: \"3d\" }),\n },\n {\n parentInstancesNodePredicate: \"BisCore.DrawingCategory\",\n definitions: async (requestProps: DefineInstanceNodeChildHierarchyLevelProps) =>\n this.createCategoryChildrenQuery({ ...requestProps, viewType: \"2d\" }),\n },\n {\n parentInstancesNodePredicate: \"BisCore.Model\",\n onlyIfNotHandled: true,\n definitions: async (requestProps: DefineInstanceNodeChildHierarchyLevelProps) => this.createModelChildrenQuery(requestProps),\n },\n {\n parentInstancesNodePredicate: \"BisCore.GroupInformationElement\",\n definitions: async (requestProps: DefineInstanceNodeChildHierarchyLevelProps) => this.createGroupInformationElementChildElementsQuery(requestProps),\n },\n {\n parentGenericNodePredicate: async ({ id }) => id === \"ChildrenNode\",\n definitions: async (requestProps: DefineGenericNodeChildHierarchyLevelProps) => this.createChildrenNodeChildrenQuery(requestProps),\n },\n {\n parentGenericNodePredicate: async ({ id }) => id === \"MembersNode\",\n definitions: async (requestProps: DefineGenericNodeChildHierarchyLevelProps) => this.createGroupInformationElementMemberElementsQuery(requestProps),\n },\n {\n parentInstancesNodePredicate: \"BisCore.Element\",\n onlyIfNotHandled: true,\n definitions: async (requestProps: DefineInstanceNodeChildHierarchyLevelProps) => this.createElementChildrenQuery(requestProps),\n },\n ],\n },\n });\n this._nodeLabelSelectClauseFactory = createBisInstanceLabelSelectClauseFactory({ classHierarchyInspector: props.imodelAccess });\n this._selectQueryFactory = createNodesQueryClauseFactory({\n imodelAccess: props.imodelAccess,\n instanceLabelSelectClauseFactory: this._nodeLabelSelectClauseFactory,\n });\n }\n\n public async postProcessNode(node: ProcessedHierarchyNode): Promise<ProcessedHierarchyNode> {\n if (ProcessedHierarchyNode.isGroupingNode(node)) {\n const label = node.children.length ? `${node.label} (${node.children.length})` : node.label;\n return { ...node, label, extendedData: { ...node.extendedData, imageId: \"icon-ec-class\" } };\n }\n return node;\n }\n\n public async defineHierarchyLevel(props: DefineHierarchyLevelProps) {\n return this._impl.defineHierarchyLevel(props);\n }\n\n private async createRootHierarchyLevelDefinition(props: DefineRootHierarchyLevelProps): Promise<HierarchyLevelDefinition> {\n const instanceFilterClauses = await this._selectQueryFactory.createFilterClauses({\n filter: props.instanceFilter,\n contentClass: { fullName: \"BisCore.Subject\", alias: \"this\" },\n });\n return [\n {\n fullClassName: \"BisCore.Subject\",\n query: {\n ecsql: `\n SELECT\n ${await this._selectQueryFactory.createSelectClause({\n ecClassId: { selector: ECSql.createRawPropertyValueSelector(\"this\", \"ECClassId\") },\n ecInstanceId: { selector: \"this.ECInstanceId\" },\n nodeLabel: {\n selector: await this._nodeLabelSelectClauseFactory.createSelectClause({\n classAlias: \"this\",\n className: \"BisCore.Subject\",\n }),\n },\n extendedData: {\n imageId: \"icon-imodel-hollow-2\",\n },\n autoExpand: true,\n supportsFiltering: true,\n })}\n FROM ${instanceFilterClauses.from} this\n ${instanceFilterClauses.joins}\n WHERE\n this.Parent.Id IS NULL\n ${instanceFilterClauses.where ? `AND ${instanceFilterClauses.where}` : \"\"}\n `,\n },\n },\n ];\n }\n\n private async createSubjectChildrenQuery({\n parentNodeInstanceIds: subjectIds,\n instanceFilter,\n }: DefineInstanceNodeChildHierarchyLevelProps): Promise<HierarchyLevelDefinition> {\n const [subjectFilterClauses, modelFilterClauses] = await Promise.all([\n this._selectQueryFactory.createFilterClauses({\n filter: instanceFilter,\n contentClass: { fullName: \"BisCore.Subject\", alias: \"this\" },\n }),\n this._selectQueryFactory.createFilterClauses({\n filter: instanceFilter,\n contentClass: { fullName: \"BisCore.Model\", alias: \"this\" },\n }),\n ]);\n const [childSubjectIds, childModelIds] = await Promise.all([\n this._idsCache.getChildSubjectIds(subjectIds),\n this._idsCache.getChildSubjectModelIds(subjectIds),\n ]);\n const defs = new Array<HierarchyNodesDefinition>();\n childSubjectIds.length &&\n defs.push({\n fullClassName: \"BisCore.Subject\",\n query: {\n ecsql: `\n SELECT\n ${await this._selectQueryFactory.createSelectClause({\n ecClassId: { selector: \"this.ECClassId\" },\n ecInstanceId: { selector: \"this.ECInstanceId\" },\n nodeLabel: {\n selector: await this._nodeLabelSelectClauseFactory.createSelectClause({\n classAlias: \"this\",\n className: \"BisCore.Subject\",\n }),\n },\n hasChildren: { selector: `InVirtualSet(?, this.ECInstanceId)` },\n grouping: { byLabel: { action: \"merge\", groupId: \"subject\" } },\n extendedData: {\n imageId: \"icon-folder\",\n },\n supportsFiltering: true,\n })}\n FROM ${subjectFilterClauses.from} this\n ${subjectFilterClauses.joins}\n WHERE\n this.ECInstanceId IN (${childSubjectIds.map(() => \"?\").join(\",\")})\n ${subjectFilterClauses.where ? `AND ${subjectFilterClauses.where}` : \"\"}\n `,\n bindings: [\n { type: \"idset\", value: await this._idsCache.getParentSubjectIds() },\n ...childSubjectIds.map((id): ECSqlBinding => ({ type: \"id\", value: id })),\n ],\n },\n });\n childModelIds.length &&\n defs.push({\n fullClassName: \"BisCore.Model\",\n query: {\n ecsql: `\n SELECT model.ECInstanceId AS ECInstanceId, model.*\n FROM (\n SELECT\n ${await this._selectQueryFactory.createSelectClause({\n ecClassId: { selector: \"m.ECClassId\" },\n ecInstanceId: { selector: \"m.ECInstanceId\" },\n nodeLabel: {\n selector: await this._nodeLabelSelectClauseFactory.createSelectClause({\n classAlias: \"partition\",\n className: \"BisCore.InformationPartitionElement\",\n }),\n },\n hideNodeInHierarchy: {\n selector: `\n CASE\n WHEN (\n json_extract([partition].JsonProperties, '$.PhysicalPartition.Model.Content') IS NOT NULL\n OR json_extract([partition].JsonProperties, '$.GraphicalPartition3d.Model.Content') IS NOT NULL\n ) THEN 1\n ELSE 0\n END\n `,\n },\n extendedData: {\n imageId: \"icon-model\",\n },\n supportsFiltering: true,\n })}\n FROM BisCore.Model m\n JOIN BisCore.InformationPartitionElement [partition] ON [partition].ECInstanceId = m.ModeledElement.Id\n WHERE\n m.ECInstanceId IN (${childModelIds.map(() => \"?\").join(\",\")})\n ) model\n JOIN ${modelFilterClauses.from} this ON this.ECInstanceId = model.ECInstanceId\n ${modelFilterClauses.joins}\n ${modelFilterClauses.where ? `WHERE (model.${NodeSelectClauseColumnNames.HideNodeInHierarchy} OR ${modelFilterClauses.where})` : \"\"}\n `,\n bindings: childModelIds.map((id): ECSqlBinding => ({ type: \"id\", value: id })),\n },\n });\n return defs;\n }\n\n private async createISubModeledElementChildrenQuery({\n parentNodeInstanceIds: elementIds,\n }: DefineInstanceNodeChildHierarchyLevelProps): Promise<HierarchyLevelDefinition> {\n // note: we do not apply hierarchy level filtering on this hierarchy level, because it's always\n // hidden - the filter will get applied on the child hierarchy levels\n return [\n {\n fullClassName: \"BisCore.Model\",\n query: {\n ecsql: `\n SELECT\n ${await this._selectQueryFactory.createSelectClause({\n ecClassId: { selector: \"this.ECClassId\" },\n ecInstanceId: { selector: \"this.ECInstanceId\" },\n nodeLabel: \"\", // doesn't matter - the node is always hidden\n hideNodeInHierarchy: true,\n })}\n FROM BisCore.Model this\n WHERE\n this.ModeledElement.Id IN (${elementIds.map(() => \"?\").join(\",\")})\n AND NOT this.IsPrivate\n `,\n bindings: [...elementIds.map((id): ECSqlBinding => ({ type: \"id\", value: id }))],\n },\n },\n ];\n }\n\n private async createGeometricModelChildrenQuery({\n parentNodeInstanceIds: modelIds,\n instanceFilter,\n viewType,\n }: DefineInstanceNodeChildHierarchyLevelProps & { viewType: \"2d\" | \"3d\" }): Promise<HierarchyLevelDefinition> {\n const childCategoryIds = await this._idsCache.getModelCategories(modelIds);\n\n const { categoryClass } = getClassNameByViewType(viewType);\n const categoryFilterClauses = await this._selectQueryFactory.createFilterClauses({\n filter: instanceFilter,\n contentClass: { fullName: categoryClass, alias: \"this\" },\n });\n const informationContentElementFilterClauses = await this._selectQueryFactory.createFilterClauses({\n filter: instanceFilter,\n contentClass: { fullName: \"BisCore.InformationContentElement\", alias: \"this\" },\n });\n\n const defs = new Array<HierarchyNodesDefinition>();\n childCategoryIds.length &&\n defs.push({\n fullClassName: categoryClass,\n query: {\n ecsql: `\n SELECT\n ${await this._selectQueryFactory.createSelectClause({\n ecClassId: { selector: \"this.ECClassId\" },\n ecInstanceId: { selector: \"this.ECInstanceId\" },\n nodeLabel: {\n selector: await this._nodeLabelSelectClauseFactory.createSelectClause({\n classAlias: \"this\",\n className: categoryClass,\n }),\n },\n grouping: { byLabel: { action: \"merge\", groupId: \"category\" } },\n extendedData: {\n imageId: \"icon-layers\",\n modelIds: { selector: createIdsSelector(modelIds) },\n },\n hasChildren: true,\n supportsFiltering: true,\n })}\n FROM ${categoryFilterClauses.from} this\n ${categoryFilterClauses.joins}\n WHERE\n this.ECInstanceId IN (${childCategoryIds.map(() => \"?\").join(\",\")})\n ${categoryFilterClauses.where ? `AND ${categoryFilterClauses.where}` : \"\"}\n `,\n bindings: childCategoryIds.map((id): ECSqlBinding => ({ type: \"id\", value: id })),\n },\n });\n defs.push({\n fullClassName: \"BisCore.InformationContentElement\",\n query: {\n ecsql: `\n SELECT\n ${await this._selectQueryFactory.createSelectClause({\n ecClassId: { selector: \"this.ECClassId\" },\n ecInstanceId: { selector: \"this.ECInstanceId\" },\n nodeLabel: {\n selector: await this._nodeLabelSelectClauseFactory.createSelectClause({\n classAlias: \"this\",\n className: \"BisCore.InformationContentElement\",\n }),\n },\n hasChildren: true,\n grouping: {\n byClass: true,\n },\n supportsFiltering: true,\n })}\n FROM ${informationContentElementFilterClauses.from} this\n ${informationContentElementFilterClauses.joins}\n WHERE\n this.Model.Id IN (${modelIds.map(() => \"?\").join(\",\")})\n ${informationContentElementFilterClauses.where ? `AND ${informationContentElementFilterClauses.where}` : \"\"}\n `,\n bindings: modelIds.map((id) => ({ type: \"id\", value: id })),\n },\n });\n return defs;\n }\n\n private async createCategoryChildrenQuery(props: DefineInstanceNodeChildHierarchyLevelProps & { viewType: \"2d\" | \"3d\" }): Promise<HierarchyLevelDefinition> {\n const { parentNodeInstanceIds: categoryIds, parentNode, instanceFilter, viewType } = props;\n const modelIds = parseIdsSelectorResult(parentNode.extendedData?.modelIds);\n\n // We only want to handle a category added as a child of `GeometricModel2d` or `GeometricModel3d`.\n // ModelIds is not empty only if parent node is a geometric model.\n if (modelIds.length === 0) {\n return this.createElementChildrenQuery(props);\n }\n\n const { elementClass, modelClass } = getClassNameByViewType(viewType);\n return Promise.all(\n getElementsSelectProps({ modelClass, elementClass }).map(async ({ selectProps, whereClause }) => {\n const instanceFilterClauses = await this._selectQueryFactory.createFilterClauses({\n filter: instanceFilter,\n contentClass: { fullName: elementClass, alias: \"this\" },\n });\n return {\n fullClassName: elementClass,\n query: {\n ecsql: `\n SELECT\n ${await this._selectQueryFactory.createSelectClause({\n ecClassId: { selector: \"this.ECClassId\" },\n ecInstanceId: { selector: \"this.ECInstanceId\" },\n nodeLabel: {\n selector: await this._nodeLabelSelectClauseFactory.createSelectClause({\n classAlias: \"this\",\n className: elementClass,\n }),\n },\n grouping: {\n byClass: true,\n },\n extendedData: {\n imageId: \"icon-item\",\n },\n hasChildren: selectProps.hasChildren,\n supportsFiltering: selectProps.supportsFiltering,\n })}\n FROM ${instanceFilterClauses.from} this\n ${instanceFilterClauses.joins}\n WHERE\n this.Category.Id IN (${categoryIds.map(() => \"?\").join(\",\")})\n AND this.Model.Id IN (${modelIds.map(() => \"?\").join(\",\")})\n AND this.Parent.Id IS NULL\n ${whereClause ? `AND ${whereClause}` : \"\"}\n ${instanceFilterClauses.where ? `AND ${instanceFilterClauses.where}` : \"\"}\n `,\n bindings: [...categoryIds.map((id) => ({ type: \"id\", value: id })), ...modelIds.map((id) => ({ type: \"id\", value: id }))] as ECSqlBinding[],\n },\n };\n }),\n );\n }\n\n private async createModelChildrenQuery({\n parentNodeInstanceIds: modelIds,\n instanceFilter,\n }: DefineInstanceNodeChildHierarchyLevelProps): Promise<HierarchyLevelDefinition> {\n return Promise.all(\n getElementsSelectProps().map(async ({ classFullName, whereClause, selectProps }) => {\n const instanceFilterClauses = await this._selectQueryFactory.createFilterClauses({\n filter: instanceFilter,\n contentClass: { fullName: classFullName, alias: \"this\" },\n });\n return {\n fullClassName: classFullName,\n query: {\n ecsql: `\n SELECT\n ${await this._selectQueryFactory.createSelectClause({\n ecClassId: { selector: \"this.ECClassId\" },\n ecInstanceId: { selector: \"this.ECInstanceId\" },\n nodeLabel: {\n selector: await this._nodeLabelSelectClauseFactory.createSelectClause({\n classAlias: \"this\",\n className: classFullName,\n }),\n },\n grouping: {\n byClass: true,\n },\n extendedData: {\n imageId: \"icon-item\",\n },\n hasChildren: selectProps?.hasChildren,\n supportsFiltering: selectProps?.supportsFiltering,\n })}\n FROM ${instanceFilterClauses.from} this\n ${instanceFilterClauses.joins}\n WHERE\n this.Parent.Id IS NULL\n AND this.Model.Id IN (${modelIds.map(() => \"?\").join(\",\")})\n ${whereClause ? `AND ${whereClause}` : \"\"}\n ${instanceFilterClauses.where ? `AND ${instanceFilterClauses.where}` : \"\"}\n `,\n bindings: modelIds.map((id): ECSqlBinding => ({ type: \"id\", value: id })),\n },\n };\n }),\n );\n }\n\n private async createGroupInformationElementChildElementsQuery({\n parentNodeInstanceIds: groupIds,\n }: DefineInstanceNodeChildHierarchyLevelProps): Promise<HierarchyLevelDefinition> {\n return [\n {\n node: {\n key: \"ChildrenNode\",\n label: \"Children\",\n extendedData: {\n groupIds,\n imageId: \"icon-hierarchy-tree\",\n },\n supportsFiltering: true,\n processingParams: {\n hideIfNoChildren: true,\n },\n },\n },\n {\n node: {\n key: \"MembersNode\",\n label: \"Members\",\n extendedData: {\n groupIds,\n imageId: \"icon-group\",\n },\n supportsFiltering: true,\n processingParams: {\n hideIfNoChildren: true,\n },\n },\n },\n ];\n }\n\n private async createChildrenNodeChildrenQuery({ parentNode, instanceFilter }: DefineGenericNodeChildHierarchyLevelProps): Promise<HierarchyLevelDefinition> {\n const groupIds: string[] = parentNode.extendedData?.groupIds;\n return Promise.all(\n getElementsSelectProps().map(async ({ classFullName, whereClause, selectProps }) => {\n const instanceFilterClauses = await this._selectQueryFactory.createFilterClauses({\n filter: instanceFilter,\n contentClass: { fullName: classFullName, alias: \"this\" },\n });\n return {\n fullClassName: classFullName,\n query: {\n ecsql: `\n SELECT\n ${await this._selectQueryFactory.createSelectClause({\n ecClassId: { selector: \"this.ECClassId\" },\n ecInstanceId: { selector: \"this.ECInstanceId\" },\n nodeLabel: {\n selector: await this._nodeLabelSelectClauseFactory.createSelectClause({\n classAlias: \"this\",\n className: classFullName,\n }),\n },\n extendedData: {\n imageId: \"icon-item\",\n },\n grouping: { byClass: true },\n hasChildren: selectProps.hasChildren,\n supportsFiltering: selectProps.supportsFiltering,\n })}\n FROM ${instanceFilterClauses.from} this\n ${instanceFilterClauses.joins}\n WHERE\n this.Parent.Id IN (${groupIds.map(() => \"?\").join(\",\")})\n ${whereClause ? `AND ${whereClause}` : \"\"}\n ${instanceFilterClauses.where ? `AND ${instanceFilterClauses.where}` : \"\"}\n `,\n bindings: groupIds.map((id) => ({ type: \"id\", value: id })),\n },\n };\n }),\n );\n }\n\n private async createGroupInformationElementMemberElementsQuery({\n parentNode,\n instanceFilter,\n }: DefineGenericNodeChildHierarchyLevelProps): Promise<HierarchyLevelDefinition> {\n const groupIds: string[] = parentNode.extendedData?.groupIds;\n return Promise.all(\n getElementsSelectProps().map(async ({ classFullName, whereClause, selectProps }) => {\n const instanceFilterClauses = await this._selectQueryFactory.createFilterClauses({\n filter: instanceFilter,\n contentClass: { fullName: classFullName, alias: \"this\" },\n });\n return {\n fullClassName: classFullName,\n query: {\n ecsql: `\n SELECT\n ${await this._selectQueryFactory.createSelectClause({\n ecClassId: { selector: \"this.ECClassId\" },\n ecInstanceId: { selector: \"this.ECInstanceId\" },\n nodeLabel: {\n selector: await this._nodeLabelSelectClauseFactory.createSelectClause({\n classAlias: \"this\",\n className: classFullName,\n }),\n },\n grouping: { byClass: true },\n extendedData: {\n imageId: \"icon-item\",\n },\n hasChildren: selectProps.hasChildren,\n supportsFiltering: selectProps.supportsFiltering,\n })}\n FROM ${instanceFilterClauses.from} this\n JOIN BisCore.ElementGroupsMembers egm ON egm.TargetECInstanceId = this.ECInstanceId\n ${instanceFilterClauses.joins}\n WHERE\n egm.SourceECInstanceId IN (${groupIds.map(() => \"?\").join(\",\")})\n ${whereClause ? `AND ${whereClause}` : \"\"}\n ${instanceFilterClauses.where ? `AND ${instanceFilterClauses.where}` : \"\"}\n `,\n bindings: groupIds.map((id) => ({ type: \"id\", value: id })),\n },\n };\n }),\n );\n }\n\n private async createElementChildrenQuery({\n parentNodeInstanceIds: elementIds,\n instanceFilter,\n }: DefineInstanceNodeChildHierarchyLevelProps): Promise<HierarchyLevelDefinition> {\n return Promise.all(\n getElementsSelectProps().map(async ({ classFullName, whereClause, selectProps }) => {\n const instanceFilterClauses = await this._selectQueryFactory.createFilterClauses({\n filter: instanceFilter,\n contentClass: { fullName: classFullName, alias: \"this\" },\n });\n return {\n fullClassName: classFullName,\n query: {\n ecsql: `\n SELECT\n ${await this._selectQueryFactory.createSelectClause({\n ecClassId: { selector: \"this.ECClassId\" },\n ecInstanceId: { selector: \"this.ECInstanceId\" },\n nodeLabel: {\n selector: await this._nodeLabelSelectClauseFactory.createSelectClause({\n classAlias: \"this\",\n className: classFullName,\n }),\n },\n grouping: { byClass: true },\n extendedData: {\n imageId: \"icon-item\",\n },\n hasChildren: selectProps.hasChildren,\n supportsFiltering: selectProps.supportsFiltering,\n })}\n FROM ${instanceFilterClauses.from} this\n JOIN BisCore.Element p ON p.ECInstanceId = this.Parent.Id\n ${instanceFilterClauses.joins}\n WHERE\n p.ECInstanceId IN (${elementIds.map(() => \"?\").join(\",\")})\n ${whereClause ? `AND ${whereClause}` : \"\"}\n ${instanceFilterClauses.where ? `AND ${instanceFilterClauses.where}` : \"\"}\n `,\n bindings: elementIds.map((id) => ({ type: \"id\", value: id })),\n },\n };\n }),\n );\n }\n}\n\nfunction getClassNameByViewType(view: \"2d\" | \"3d\") {\n if (view === \"2d\") {\n return { categoryClass: \"BisCore.DrawingCategory\", elementClass: \"BisCore.GeometricElement2d\", modelClass: \"BisCore.GeometricModel2d\" } as const;\n }\n return { categoryClass: \"BisCore.SpatialCategory\", elementClass: \"BisCore.GeometricElement3d\", modelClass: \"BisCore.GeometricModel3d\" } as const;\n}\n\nfunction getElementsSelectProps(props?: { modelClass?: string; elementClass?: \"BisCore.GeometricElement3d\" | \"BisCore.GeometricElement2d\" }) {\n const modelClassFullName = props?.modelClass ?? \"BisCore.Model\";\n const elementClassFullName = props?.elementClass ?? \"BisCore.Element\";\n const result = [\n {\n classFullName: elementClassFullName,\n whereClause: \"this.ECClassId IS NOT (BisCore.GroupInformationElement)\",\n selectProps: {\n hasChildren: {\n selector: `\n IFNULL((\n SELECT 1\n FROM (\n SELECT Parent.Id ParentId FROM ${elementClassFullName}\n UNION ALL\n SELECT sm.ModeledElement.Id ParentId FROM ${modelClassFullName} sm WHERE EXISTS (SELECT 1 FROM ${elementClassFullName} WHERE Model.Id = sm.ECInstanceId)\n )\n WHERE ParentId = this.ECInstanceId\n LIMIT 1\n ), 0)\n `,\n },\n supportsFiltering: true,\n },\n },\n ];\n\n if (!props?.elementClass) {\n result.push({\n classFullName: \"BisCore.GroupInformationElement\",\n whereClause: \"\",\n selectProps: {\n hasChildren: {\n selector: `\n IFNULL((\n SELECT 1\n FROM (\n SELECT Parent.Id ParentId FROM BisCore.Element\n UNION ALL\n SELECT SourceECInstanceId ParentId FROM BisCore.ElementGroupsMembers\n )\n WHERE ParentId = this.ECInstanceId\n LIMIT 1\n ), 0)\n `,\n },\n supportsFiltering: false,\n },\n });\n }\n\n return result;\n}\n"]}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
7
|
exports.IModelContentTreeIdsCache = void 0;
|
|
8
8
|
const core_bentley_1 = require("@itwin/core-bentley");
|
|
9
|
-
const
|
|
9
|
+
const Utils_js_1 = require("../../common/Utils.js");
|
|
10
10
|
/** @internal */
|
|
11
11
|
class IModelContentTreeIdsCache {
|
|
12
12
|
constructor(_queryExecutor) {
|
|
@@ -70,7 +70,7 @@ class IModelContentTreeIdsCache {
|
|
|
70
70
|
(async () => {
|
|
71
71
|
const result = new Map();
|
|
72
72
|
for await (const model of this.queryModels()) {
|
|
73
|
-
(0,
|
|
73
|
+
(0, Utils_js_1.pushToMap)(result, model.id, model.parentId);
|
|
74
74
|
}
|
|
75
75
|
return result;
|
|
76
76
|
})(),
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IModelContentTreeIdsCache.js","sourceRoot":"","sources":["../../../../../../../src/tree-widget-react/components/trees/imodel-content-tree/internal/IModelContentTreeIdsCache.ts"],"names":[],"mappings":"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","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 { assert } from \"@itwin/core-bentley\";\nimport { pushToMap } from \"../../common/Utils.js\";\n\nimport type { Id64Array, Id64Set, Id64String } from \"@itwin/core-bentley\";\nimport type { LimitingECSqlQueryExecutor } from \"@itwin/presentation-hierarchies\";\n\ninterface SubjectInfo {\n parentSubject: Id64String | undefined;\n hideInHierarchy: boolean;\n childSubjects: Id64Set;\n childModels: Id64Set;\n}\n\ninterface ModelInfo {\n categories: Id64Set;\n}\n\n/** @internal */\nexport class IModelContentTreeIdsCache {\n private _subjectInfos: Promise<Map<Id64String, SubjectInfo>> | undefined;\n private _parentSubjectIds: Promise<Id64Array> | undefined; // the list should contain a subject id if its node should be shown as having children\n private _modelInfos: Promise<Map<Id64String, ModelInfo>> | undefined;\n\n constructor(private _queryExecutor: LimitingECSqlQueryExecutor) {}\n\n private async *querySubjects(): AsyncIterableIterator<{ id: Id64String; parentId?: Id64String; targetPartitionId?: Id64String; hideInHierarchy: boolean }> {\n const subjectsQuery = `\n SELECT\n s.ECInstanceId id,\n s.Parent.Id parentId,\n (\n SELECT m.ECInstanceId\n FROM bis.Model m\n WHERE\n m.ECInstanceId = HexToId(json_extract(s.JsonProperties, '$.Subject.Model.TargetPartition'))\n AND NOT m.IsPrivate\n ) targetPartitionId,\n CASE\n WHEN (\n json_extract(s.JsonProperties, '$.Subject.Job.Bridge') IS NOT NULL\n OR json_extract(s.JsonProperties, '$.Subject.Model.Type') = 'Hierarchy'\n ) THEN 1\n ELSE 0\n END hideInHierarchy\n FROM bis.Subject s\n `;\n for await (const row of this._queryExecutor.createQueryReader({ ecsql: subjectsQuery }, { rowFormat: \"ECSqlPropertyNames\", limit: \"unbounded\" })) {\n yield { id: row.id, parentId: row.parentId, targetPartitionId: row.targetPartitionId, hideInHierarchy: !!row.hideInHierarchy };\n }\n }\n\n private async *queryModels(): AsyncIterableIterator<{ id: Id64String; parentId: Id64String }> {\n const modelsQuery = `\n SELECT p.ECInstanceId id, p.Parent.Id parentId\n FROM bis.InformationPartitionElement p\n INNER JOIN bis.Model m ON m.ModeledElement.Id = p.ECInstanceId\n WHERE NOT m.IsPrivate\n `;\n for await (const row of this._queryExecutor.createQueryReader({ ecsql: modelsQuery }, { rowFormat: \"ECSqlPropertyNames\", limit: \"unbounded\" })) {\n yield { id: row.id, parentId: row.parentId };\n }\n }\n\n private async getSubjectInfos() {\n this._subjectInfos ??= (async () => {\n const [subjectInfos, targetPartitionSubjects] = await Promise.all([\n (async () => {\n const result = new Map<Id64String, SubjectInfo>();\n for await (const subject of this.querySubjects()) {\n const subjectInfo: SubjectInfo = {\n parentSubject: subject.parentId,\n hideInHierarchy: subject.hideInHierarchy,\n childSubjects: new Set(),\n childModels: new Set(),\n };\n if (subject.targetPartitionId) {\n subjectInfo.childModels.add(subject.targetPartitionId);\n }\n result.set(subject.id, subjectInfo);\n }\n return result;\n })(),\n (async () => {\n const result = new Map<Id64String, Set<Id64String>>();\n for await (const model of this.queryModels()) {\n pushToMap(result, model.id, model.parentId);\n }\n return result;\n })(),\n ]);\n\n for (const [subjectId, { parentSubject: parentSubjectId }] of subjectInfos.entries()) {\n if (parentSubjectId) {\n const parentSubjectInfo = subjectInfos.get(parentSubjectId);\n assert(!!parentSubjectInfo);\n parentSubjectInfo.childSubjects.add(subjectId);\n }\n }\n\n for (const [partitionId, subjectIds] of targetPartitionSubjects) {\n subjectIds.forEach((subjectId) => {\n const subjectInfo = subjectInfos.get(subjectId);\n assert(!!subjectInfo);\n subjectInfo.childModels.add(partitionId);\n });\n }\n\n return subjectInfos;\n })();\n return this._subjectInfos;\n }\n\n /** Returns ECInstanceIDs of Subjects that either have direct Model or at least one child Subject with a Model. */\n public async getParentSubjectIds(): Promise<Id64String[]> {\n this._parentSubjectIds ??= (async () => {\n const subjectInfos = await this.getSubjectInfos();\n const parentSubjectIds = new Set<Id64String>();\n subjectInfos.forEach((subjectInfo, subjectId) => {\n if (subjectInfo.childModels.size === 0 && subjectInfo.childSubjects.size === 0) {\n return;\n }\n parentSubjectIds.add(subjectId);\n let currParentId = subjectInfo.parentSubject;\n while (currParentId) {\n parentSubjectIds.add(currParentId);\n currParentId = subjectInfos.get(currParentId)?.parentSubject;\n }\n });\n return [...parentSubjectIds];\n })();\n return this._parentSubjectIds;\n }\n\n /**\n * Returns child subjects of the specified parent subjects as they're displayed in the hierarchy - taking into\n * account `hideInHierarchy` flag.\n */\n public async getChildSubjectIds(parentSubjectIds: Id64String[]): Promise<Id64String[]> {\n const childSubjectIds = new Array<Id64String>();\n const subjectInfos = await this.getSubjectInfos();\n parentSubjectIds.forEach((subjectId) => {\n forEachChildSubject(subjectInfos, subjectId, (childSubjectId, childSubjectInfo) => {\n if (!childSubjectInfo.hideInHierarchy) {\n childSubjectIds.push(childSubjectId);\n return \"break\";\n }\n return \"continue\";\n });\n });\n return childSubjectIds;\n }\n\n /** Returns ECInstanceIDs of Models under specific parent Subjects as they are displayed in the hierarchy. */\n public async getChildSubjectModelIds(parentSubjectIds: Id64String[]): Promise<Id64String[]> {\n const subjectInfos = await this.getSubjectInfos();\n\n const hiddenSubjectIds = new Array<Id64String>();\n parentSubjectIds.forEach((subjectId) => {\n forEachChildSubject(subjectInfos, subjectId, (childSubjectId, childSubjectInfo) => {\n if (childSubjectInfo.hideInHierarchy) {\n hiddenSubjectIds.push(childSubjectId);\n return \"continue\";\n }\n return \"break\";\n });\n });\n\n const modelIds = new Array<Id64String>();\n [...parentSubjectIds, ...hiddenSubjectIds].forEach((subjectId) => {\n const subjectInfo = subjectInfos.get(subjectId);\n subjectInfo && modelIds.push(...subjectInfo.childModels);\n });\n return modelIds;\n }\n\n private async *queryModelCategories() {\n const query = /* sql */ `\n SELECT Model.Id modelId, Category.Id categoryId\n FROM BisCore.GeometricElement3d\n WHERE Parent.Id IS NULL\n GROUP BY Model.Id, Category.Id\n UNION ALL\n SELECT Model.Id modelId, Category.Id categoryId\n FROM BisCore.GeometricElement2d\n WHERE Parent.Id IS NULL\n GROUP BY Model.Id, Category.Id\n `;\n for await (const row of this._queryExecutor.createQueryReader({ ecsql: query }, { rowFormat: \"ECSqlPropertyNames\", limit: \"unbounded\" })) {\n yield { modelId: row.modelId, categoryId: row.categoryId };\n }\n }\n\n private async getModelInfos() {\n this._modelInfos ??= (async () => {\n const modelInfos = new Map<Id64String, { categories: Id64Set; elementCount: number }>();\n for await (const { modelId, categoryId } of this.queryModelCategories()) {\n const entry = modelInfos.get(modelId);\n if (entry) {\n entry.categories.add(categoryId);\n } else {\n modelInfos.set(modelId, { categories: new Set([categoryId]), elementCount: 0 });\n }\n }\n return modelInfos;\n })();\n return this._modelInfos;\n }\n\n public async getModelCategories(modelIds: Id64String[]): Promise<Id64Array> {\n const modelInfos = await this.getModelInfos();\n return modelIds.map((modelId) => modelInfos.get(modelId)?.categories).flatMap((categories) => (categories ? [...categories] : []));\n }\n}\n\nfunction forEachChildSubject(\n subjectInfos: Map<Id64String, SubjectInfo>,\n parentSubject: Id64String | SubjectInfo,\n cb: (childSubjectId: Id64String, childSubjectInfo: SubjectInfo) => \"break\" | \"continue\",\n) {\n const parentSubjectInfo = typeof parentSubject === \"string\" ? subjectInfos.get(parentSubject) : parentSubject;\n parentSubjectInfo &&\n parentSubjectInfo.childSubjects.forEach((childSubjectId) => {\n const childSubjectInfo = subjectInfos.get(childSubjectId)!;\n if (cb(childSubjectId, childSubjectInfo) === \"break\") {\n return;\n }\n forEachChildSubject(subjectInfos, childSubjectInfo, cb);\n });\n}\n"]}
|
|
@@ -1,17 +1,18 @@
|
|
|
1
|
-
export { ModelsTreeComponent } from "./models-tree/ModelsTreeComponent";
|
|
2
|
-
export { CategoriesTreeComponent } from "./categories-tree/CategoriesTreeComponent";
|
|
3
|
-
export { IModelContentTreeComponent } from "./imodel-content-tree/IModelContentTreeComponent";
|
|
4
|
-
export { ExternalSourcesTreeComponent } from "./external-sources-tree/ExternalSourcesTreeComponent";
|
|
5
|
-
export { useModelsTree } from "./models-tree/UseModelsTree";
|
|
6
|
-
export { useCategoriesTree } from "./categories-tree/UseCategoriesTree";
|
|
7
|
-
export { useModelsTreeButtonProps } from "./models-tree/ModelsTreeButtons";
|
|
8
|
-
export { useCategoriesTreeButtonProps } from "./categories-tree/CategoriesTreeButtons";
|
|
9
|
-
export {
|
|
10
|
-
export {
|
|
11
|
-
export {
|
|
12
|
-
export {
|
|
13
|
-
export {
|
|
14
|
-
export {
|
|
15
|
-
export {
|
|
16
|
-
export {
|
|
1
|
+
export { ModelsTreeComponent } from "./models-tree/ModelsTreeComponent.js";
|
|
2
|
+
export { CategoriesTreeComponent } from "./categories-tree/CategoriesTreeComponent.js";
|
|
3
|
+
export { IModelContentTreeComponent } from "./imodel-content-tree/IModelContentTreeComponent.js";
|
|
4
|
+
export { ExternalSourcesTreeComponent } from "./external-sources-tree/ExternalSourcesTreeComponent.js";
|
|
5
|
+
export { useModelsTree } from "./models-tree/UseModelsTree.js";
|
|
6
|
+
export { useCategoriesTree } from "./categories-tree/UseCategoriesTree.js";
|
|
7
|
+
export { useModelsTreeButtonProps } from "./models-tree/ModelsTreeButtons.js";
|
|
8
|
+
export { useCategoriesTreeButtonProps } from "./categories-tree/CategoriesTreeButtons.js";
|
|
9
|
+
export { FocusedInstancesContextProvider, useFocusedInstancesContext } from "./common/FocusedInstancesContext.js";
|
|
10
|
+
export { Tree } from "./common/components/Tree.js";
|
|
11
|
+
export { VisibilityTree } from "./common/components/VisibilityTree.js";
|
|
12
|
+
export { TreeRenderer } from "./common/components/TreeRenderer.js";
|
|
13
|
+
export { VisibilityTreeRenderer } from "./common/components/VisibilityTreeRenderer.js";
|
|
14
|
+
export { HierarchyVisibilityHandler, VisibilityStatus } from "./common/UseHierarchyVisibility.js";
|
|
15
|
+
export { TelemetryContextProvider } from "./common/UseTelemetryContext.js";
|
|
16
|
+
export { FilterLimitExceededError } from "./common/TreeErrors.js";
|
|
17
|
+
export { ModelsTreeVisibilityHandlerOverrides } from "./models-tree/internal/ModelsTreeVisibilityHandler.js";
|
|
17
18
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*---------------------------------------------------------------------------------------------
|
|
3
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
4
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
5
|
+
*--------------------------------------------------------------------------------------------*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.FilterLimitExceededError = exports.TelemetryContextProvider = exports.VisibilityTreeRenderer = exports.TreeRenderer = exports.VisibilityTree = exports.Tree = exports.useFocusedInstancesContext = exports.FocusedInstancesContextProvider = exports.useCategoriesTreeButtonProps = exports.useModelsTreeButtonProps = exports.useCategoriesTree = exports.useModelsTree = exports.ExternalSourcesTreeComponent = exports.IModelContentTreeComponent = exports.CategoriesTreeComponent = exports.ModelsTreeComponent = void 0;
|
|
8
|
+
var ModelsTreeComponent_js_1 = require("./models-tree/ModelsTreeComponent.js");
|
|
9
|
+
Object.defineProperty(exports, "ModelsTreeComponent", { enumerable: true, get: function () { return ModelsTreeComponent_js_1.ModelsTreeComponent; } });
|
|
10
|
+
var CategoriesTreeComponent_js_1 = require("./categories-tree/CategoriesTreeComponent.js");
|
|
11
|
+
Object.defineProperty(exports, "CategoriesTreeComponent", { enumerable: true, get: function () { return CategoriesTreeComponent_js_1.CategoriesTreeComponent; } });
|
|
12
|
+
var IModelContentTreeComponent_js_1 = require("./imodel-content-tree/IModelContentTreeComponent.js");
|
|
13
|
+
Object.defineProperty(exports, "IModelContentTreeComponent", { enumerable: true, get: function () { return IModelContentTreeComponent_js_1.IModelContentTreeComponent; } });
|
|
14
|
+
var ExternalSourcesTreeComponent_js_1 = require("./external-sources-tree/ExternalSourcesTreeComponent.js");
|
|
15
|
+
Object.defineProperty(exports, "ExternalSourcesTreeComponent", { enumerable: true, get: function () { return ExternalSourcesTreeComponent_js_1.ExternalSourcesTreeComponent; } });
|
|
16
|
+
var UseModelsTree_js_1 = require("./models-tree/UseModelsTree.js");
|
|
17
|
+
Object.defineProperty(exports, "useModelsTree", { enumerable: true, get: function () { return UseModelsTree_js_1.useModelsTree; } });
|
|
18
|
+
var UseCategoriesTree_js_1 = require("./categories-tree/UseCategoriesTree.js");
|
|
19
|
+
Object.defineProperty(exports, "useCategoriesTree", { enumerable: true, get: function () { return UseCategoriesTree_js_1.useCategoriesTree; } });
|
|
20
|
+
var ModelsTreeButtons_js_1 = require("./models-tree/ModelsTreeButtons.js");
|
|
21
|
+
Object.defineProperty(exports, "useModelsTreeButtonProps", { enumerable: true, get: function () { return ModelsTreeButtons_js_1.useModelsTreeButtonProps; } });
|
|
22
|
+
var CategoriesTreeButtons_js_1 = require("./categories-tree/CategoriesTreeButtons.js");
|
|
23
|
+
Object.defineProperty(exports, "useCategoriesTreeButtonProps", { enumerable: true, get: function () { return CategoriesTreeButtons_js_1.useCategoriesTreeButtonProps; } });
|
|
24
|
+
var FocusedInstancesContext_js_1 = require("./common/FocusedInstancesContext.js");
|
|
25
|
+
Object.defineProperty(exports, "FocusedInstancesContextProvider", { enumerable: true, get: function () { return FocusedInstancesContext_js_1.FocusedInstancesContextProvider; } });
|
|
26
|
+
Object.defineProperty(exports, "useFocusedInstancesContext", { enumerable: true, get: function () { return FocusedInstancesContext_js_1.useFocusedInstancesContext; } });
|
|
27
|
+
var Tree_js_1 = require("./common/components/Tree.js");
|
|
28
|
+
Object.defineProperty(exports, "Tree", { enumerable: true, get: function () { return Tree_js_1.Tree; } });
|
|
29
|
+
var VisibilityTree_js_1 = require("./common/components/VisibilityTree.js");
|
|
30
|
+
Object.defineProperty(exports, "VisibilityTree", { enumerable: true, get: function () { return VisibilityTree_js_1.VisibilityTree; } });
|
|
31
|
+
var TreeRenderer_js_1 = require("./common/components/TreeRenderer.js");
|
|
32
|
+
Object.defineProperty(exports, "TreeRenderer", { enumerable: true, get: function () { return TreeRenderer_js_1.TreeRenderer; } });
|
|
33
|
+
var VisibilityTreeRenderer_js_1 = require("./common/components/VisibilityTreeRenderer.js");
|
|
34
|
+
Object.defineProperty(exports, "VisibilityTreeRenderer", { enumerable: true, get: function () { return VisibilityTreeRenderer_js_1.VisibilityTreeRenderer; } });
|
|
35
|
+
var UseTelemetryContext_js_1 = require("./common/UseTelemetryContext.js");
|
|
36
|
+
Object.defineProperty(exports, "TelemetryContextProvider", { enumerable: true, get: function () { return UseTelemetryContext_js_1.TelemetryContextProvider; } });
|
|
37
|
+
var TreeErrors_js_1 = require("./common/TreeErrors.js");
|
|
38
|
+
Object.defineProperty(exports, "FilterLimitExceededError", { enumerable: true, get: function () { return TreeErrors_js_1.FilterLimitExceededError; } });
|
|
39
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/tree-widget-react/components/trees/index.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;;AAEhG,+EAA2E;AAAlE,6HAAA,mBAAmB,OAAA;AAC5B,2FAAuF;AAA9E,qIAAA,uBAAuB,OAAA;AAChC,qGAAiG;AAAxF,2IAAA,0BAA0B,OAAA;AACnC,2GAAuG;AAA9F,+IAAA,4BAA4B,OAAA;AAErC,mEAA+D;AAAtD,iHAAA,aAAa,OAAA;AACtB,+EAA2E;AAAlE,yHAAA,iBAAiB,OAAA;AAE1B,2EAA8E;AAArE,gIAAA,wBAAwB,OAAA;AACjC,uFAA0F;AAAjF,wIAAA,4BAA4B,OAAA;AAErC,kFAAkH;AAAzG,6IAAA,+BAA+B,OAAA;AAAE,wIAAA,0BAA0B,OAAA;AAEpE,uDAAmD;AAA1C,+FAAA,IAAI,OAAA;AACb,2EAAuE;AAA9D,mHAAA,cAAc,OAAA;AACvB,uEAAmE;AAA1D,+GAAA,YAAY,OAAA;AACrB,2FAAuF;AAA9E,mIAAA,sBAAsB,OAAA;AAE/B,0EAA2E;AAAlE,kIAAA,wBAAwB,OAAA;AACjC,wDAAkE;AAAzD,yHAAA,wBAAwB,OAAA","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\nexport { ModelsTreeComponent } from \"./models-tree/ModelsTreeComponent.js\";\nexport { CategoriesTreeComponent } from \"./categories-tree/CategoriesTreeComponent.js\";\nexport { IModelContentTreeComponent } from \"./imodel-content-tree/IModelContentTreeComponent.js\";\nexport { ExternalSourcesTreeComponent } from \"./external-sources-tree/ExternalSourcesTreeComponent.js\";\n\nexport { useModelsTree } from \"./models-tree/UseModelsTree.js\";\nexport { useCategoriesTree } from \"./categories-tree/UseCategoriesTree.js\";\n\nexport { useModelsTreeButtonProps } from \"./models-tree/ModelsTreeButtons.js\";\nexport { useCategoriesTreeButtonProps } from \"./categories-tree/CategoriesTreeButtons.js\";\n\nexport { FocusedInstancesContextProvider, useFocusedInstancesContext } from \"./common/FocusedInstancesContext.js\";\n\nexport { Tree } from \"./common/components/Tree.js\";\nexport { VisibilityTree } from \"./common/components/VisibilityTree.js\";\nexport { TreeRenderer } from \"./common/components/TreeRenderer.js\";\nexport { VisibilityTreeRenderer } from \"./common/components/VisibilityTreeRenderer.js\";\nexport { HierarchyVisibilityHandler, VisibilityStatus } from \"./common/UseHierarchyVisibility.js\";\nexport { TelemetryContextProvider } from \"./common/UseTelemetryContext.js\";\nexport { FilterLimitExceededError } from \"./common/TreeErrors.js\";\n\nexport { ModelsTreeVisibilityHandlerOverrides } from \"./models-tree/internal/ModelsTreeVisibilityHandler.js\";\n"]}
|
package/lib/cjs/{components → tree-widget-react/components}/trees/models-tree/ModelsTree.d.ts
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import type { UseModelsTreeProps } from "./UseModelsTree";
|
|
3
|
-
import type { VisibilityTreeProps } from "../common/components/VisibilityTree";
|
|
2
|
+
import type { UseModelsTreeProps } from "./UseModelsTree.js";
|
|
3
|
+
import type { VisibilityTreeProps } from "../common/components/VisibilityTree.js";
|
|
4
4
|
/** @beta */
|
|
5
5
|
export type ModelsTreeProps = Pick<VisibilityTreeProps, "imodel" | "getSchemaContext" | "selectionStorage" | "density" | "selectionMode"> & UseModelsTreeProps & {
|
|
6
6
|
hierarchyLevelConfig?: {
|