@itwin/tree-widget-react 3.0.0-dev.2 → 3.0.0-dev.4
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/README.md +225 -1
- package/lib/cjs/components/SelectableTree.d.ts +12 -6
- package/lib/cjs/components/SelectableTree.js.map +1 -1
- package/lib/cjs/components/TreeSelector.d.ts +2 -2
- package/lib/cjs/components/TreeSelector.js.map +1 -1
- package/lib/cjs/components/TreeWidgetUiItemsProvider.d.ts +3 -2
- package/lib/cjs/components/TreeWidgetUiItemsProvider.js.map +1 -1
- package/lib/cjs/components/tree-header/TreeHeader.d.ts +11 -9
- package/lib/cjs/components/tree-header/TreeHeader.js +4 -6
- package/lib/cjs/components/tree-header/TreeHeader.js.map +1 -1
- package/lib/cjs/components/tree-header/TreeWithHeader.d.ts +13 -0
- package/lib/cjs/components/tree-header/TreeWithHeader.js +20 -0
- package/lib/cjs/components/tree-header/TreeWithHeader.js.map +1 -0
- package/lib/cjs/components/trees/categories-tree/CategoriesTree.d.ts +7 -10
- package/lib/cjs/components/trees/categories-tree/CategoriesTree.js +9 -66
- package/lib/cjs/components/trees/categories-tree/CategoriesTree.js.map +1 -1
- package/lib/cjs/components/trees/categories-tree/CategoriesTreeButtons.d.ts +12 -5
- package/lib/cjs/components/trees/categories-tree/CategoriesTreeButtons.js +27 -7
- package/lib/cjs/components/trees/categories-tree/CategoriesTreeButtons.js.map +1 -1
- package/lib/cjs/components/trees/categories-tree/CategoriesTreeComponent.d.ts +4 -5
- package/lib/cjs/components/trees/categories-tree/CategoriesTreeComponent.js +17 -20
- package/lib/cjs/components/trees/categories-tree/CategoriesTreeComponent.js.map +1 -1
- package/lib/cjs/components/trees/categories-tree/CategoriesVisibilityHandler.d.ts +1 -9
- package/lib/cjs/components/trees/categories-tree/CategoriesVisibilityHandler.js +2 -6
- package/lib/cjs/components/trees/categories-tree/CategoriesVisibilityHandler.js.map +1 -1
- package/lib/cjs/components/trees/categories-tree/UseCategoriesTree.d.ts +25 -0
- package/lib/cjs/components/trees/categories-tree/UseCategoriesTree.js +89 -0
- package/lib/cjs/components/trees/categories-tree/UseCategoriesTree.js.map +1 -0
- package/lib/cjs/components/trees/common/CategoriesVisibilityUtils.d.ts +7 -11
- package/lib/cjs/components/trees/common/CategoriesVisibilityUtils.js +32 -83
- package/lib/cjs/components/trees/common/CategoriesVisibilityUtils.js.map +1 -1
- package/lib/cjs/components/trees/common/FocusedInstancesContext.d.ts +0 -3
- package/lib/cjs/components/trees/common/FocusedInstancesContext.js +0 -2
- package/lib/cjs/components/trees/common/FocusedInstancesContext.js.map +1 -1
- package/lib/cjs/components/trees/common/FocusedInstancesContextProvider.d.ts +0 -1
- package/lib/cjs/components/trees/common/FocusedInstancesContextProvider.js +0 -1
- package/lib/cjs/components/trees/common/FocusedInstancesContextProvider.js.map +1 -1
- package/lib/cjs/components/trees/common/UseFiltering.d.ts +0 -1
- package/lib/cjs/components/trees/common/UseFiltering.js +0 -1
- package/lib/cjs/components/trees/common/UseFiltering.js.map +1 -1
- package/lib/cjs/components/trees/common/UseHierarchiesLocalization.d.ts +0 -1
- package/lib/cjs/components/trees/common/UseHierarchiesLocalization.js +0 -1
- package/lib/cjs/components/trees/common/UseHierarchiesLocalization.js.map +1 -1
- package/lib/cjs/components/trees/common/UseHierarchyFiltering.d.ts +1 -7
- package/lib/cjs/components/trees/common/UseHierarchyFiltering.js +4 -3
- package/lib/cjs/components/trees/common/UseHierarchyFiltering.js.map +1 -1
- package/lib/cjs/components/trees/common/UseHierarchyVisibility.d.ts +15 -10
- package/lib/cjs/components/trees/common/UseHierarchyVisibility.js +20 -17
- package/lib/cjs/components/trees/common/UseHierarchyVisibility.js.map +1 -1
- package/lib/cjs/components/trees/common/UseIModelChangeListener.d.ts +0 -1
- package/lib/cjs/components/trees/common/UseIModelChangeListener.js +0 -1
- package/lib/cjs/components/trees/common/UseIModelChangeListener.js.map +1 -1
- package/lib/cjs/components/trees/common/UseMultiCheckboxHandler.d.ts +0 -1
- package/lib/cjs/components/trees/common/UseMultiCheckboxHandler.js +0 -1
- package/lib/cjs/components/trees/common/UseMultiCheckboxHandler.js.map +1 -1
- package/lib/cjs/components/trees/common/UseNodeHighlighting.d.ts +9 -5
- package/lib/cjs/components/trees/common/UseNodeHighlighting.js +15 -24
- package/lib/cjs/components/trees/common/UseNodeHighlighting.js.map +1 -1
- package/lib/cjs/components/trees/common/UseTelemetryContext.d.ts +29 -0
- package/lib/cjs/components/trees/common/UseTelemetryContext.js +49 -0
- package/lib/cjs/components/trees/common/UseTelemetryContext.js.map +1 -0
- package/lib/cjs/components/trees/common/Utils.d.ts +3 -0
- package/lib/cjs/components/trees/common/Utils.js +11 -1
- package/lib/cjs/components/trees/common/Utils.js.map +1 -1
- package/lib/cjs/components/trees/common/components/Delayed.d.ts +0 -1
- package/lib/cjs/components/trees/common/components/Delayed.js +0 -1
- package/lib/cjs/components/trees/common/components/Delayed.js.map +1 -1
- package/lib/cjs/components/trees/common/components/ProgressOverlay.d.ts +0 -1
- package/lib/cjs/components/trees/common/components/ProgressOverlay.js +0 -1
- package/lib/cjs/components/trees/common/components/ProgressOverlay.js.map +1 -1
- package/lib/cjs/components/trees/common/components/Tree.d.ts +52 -0
- package/lib/cjs/components/trees/common/components/{BaseTree.js → Tree.js} +27 -23
- package/lib/cjs/components/trees/common/components/Tree.js.map +1 -0
- package/lib/cjs/components/trees/common/components/TreeNodeCheckbox.d.ts +14 -7
- package/lib/cjs/components/trees/common/components/TreeNodeCheckbox.js.map +1 -1
- package/lib/cjs/components/trees/common/components/TreeNodeRenderer.d.ts +7 -6
- package/lib/cjs/components/trees/common/components/TreeNodeRenderer.js +1 -1
- package/lib/cjs/components/trees/common/components/TreeNodeRenderer.js.map +1 -1
- package/lib/cjs/components/trees/common/components/TreeRenderer.d.ts +11 -1
- package/lib/cjs/components/trees/common/components/TreeRenderer.js +4 -1
- package/lib/cjs/components/trees/common/components/TreeRenderer.js.map +1 -1
- package/lib/cjs/components/trees/common/components/VisibilityTree.d.ts +27 -10
- package/lib/cjs/components/trees/common/components/VisibilityTree.js +8 -23
- package/lib/cjs/components/trees/common/components/VisibilityTree.js.map +1 -1
- package/lib/cjs/components/trees/common/components/VisibilityTreeRenderer.d.ts +12 -0
- package/lib/cjs/components/trees/common/components/VisibilityTreeRenderer.js +26 -0
- package/lib/cjs/components/trees/common/components/VisibilityTreeRenderer.js.map +1 -0
- package/lib/cjs/components/trees/external-sources-tree/ExternalSourcesTree.d.ts +8 -7
- package/lib/cjs/components/trees/external-sources-tree/ExternalSourcesTree.js +7 -10
- package/lib/cjs/components/trees/external-sources-tree/ExternalSourcesTree.js.map +1 -1
- package/lib/cjs/components/trees/external-sources-tree/ExternalSourcesTreeComponent.d.ts +5 -5
- package/lib/cjs/components/trees/external-sources-tree/ExternalSourcesTreeComponent.js +3 -4
- package/lib/cjs/components/trees/external-sources-tree/ExternalSourcesTreeComponent.js.map +1 -1
- package/lib/cjs/components/trees/imodel-content-tree/IModelContentTree.d.ts +8 -7
- package/lib/cjs/components/trees/imodel-content-tree/IModelContentTree.js +9 -12
- package/lib/cjs/components/trees/imodel-content-tree/IModelContentTree.js.map +1 -1
- package/lib/cjs/components/trees/imodel-content-tree/IModelContentTreeComponent.d.ts +5 -5
- package/lib/cjs/components/trees/imodel-content-tree/IModelContentTreeComponent.js +3 -4
- package/lib/cjs/components/trees/imodel-content-tree/IModelContentTreeComponent.js.map +1 -1
- package/lib/cjs/components/trees/imodel-content-tree/IModelContentTreeDefinition.js.map +1 -1
- package/lib/cjs/components/trees/index.d.ts +11 -0
- package/lib/cjs/components/trees/index.js +19 -1
- package/lib/cjs/components/trees/index.js.map +1 -1
- package/lib/cjs/components/trees/models-tree/ModelsTree.d.ts +10 -9
- package/lib/cjs/components/trees/models-tree/ModelsTree.js +6 -206
- package/lib/cjs/components/trees/models-tree/ModelsTree.js.map +1 -1
- package/lib/cjs/components/trees/models-tree/ModelsTreeButtons.d.ts +19 -8
- package/lib/cjs/components/trees/models-tree/ModelsTreeButtons.js +31 -8
- package/lib/cjs/components/trees/models-tree/ModelsTreeButtons.js.map +1 -1
- package/lib/cjs/components/trees/models-tree/ModelsTreeComponent.d.ts +11 -6
- package/lib/cjs/components/trees/models-tree/ModelsTreeComponent.js +33 -34
- package/lib/cjs/components/trees/models-tree/ModelsTreeComponent.js.map +1 -1
- package/lib/cjs/components/trees/models-tree/ModelsTreeDefinition.d.ts +9 -5
- package/lib/cjs/components/trees/models-tree/ModelsTreeDefinition.js.map +1 -1
- package/lib/cjs/components/trees/models-tree/UseModelsTree.d.ts +29 -0
- package/lib/cjs/components/trees/models-tree/UseModelsTree.js +233 -0
- package/lib/cjs/components/trees/models-tree/UseModelsTree.js.map +1 -0
- package/lib/cjs/components/trees/models-tree/internal/ModelsTreeVisibilityHandler.d.ts +11 -3
- package/lib/cjs/components/trees/models-tree/internal/ModelsTreeVisibilityHandler.js +1 -1
- package/lib/cjs/components/trees/models-tree/internal/ModelsTreeVisibilityHandler.js.map +1 -1
- package/lib/cjs/tree-widget-react.d.ts +2 -1
- package/lib/cjs/tree-widget-react.js +3 -1
- package/lib/cjs/tree-widget-react.js.map +1 -1
- package/lib/esm/components/SelectableTree.d.ts +12 -6
- package/lib/esm/components/SelectableTree.js.map +1 -1
- package/lib/esm/components/TreeSelector.d.ts +2 -2
- package/lib/esm/components/TreeSelector.js.map +1 -1
- package/lib/esm/components/TreeWidgetUiItemsProvider.d.ts +3 -2
- package/lib/esm/components/TreeWidgetUiItemsProvider.js.map +1 -1
- package/lib/esm/components/tree-header/TreeHeader.d.ts +11 -9
- package/lib/esm/components/tree-header/TreeHeader.js +4 -6
- package/lib/esm/components/tree-header/TreeHeader.js.map +1 -1
- package/lib/esm/components/tree-header/TreeWithHeader.d.ts +13 -0
- package/lib/esm/components/tree-header/TreeWithHeader.js +13 -0
- package/lib/esm/components/tree-header/TreeWithHeader.js.map +1 -0
- package/lib/esm/components/trees/categories-tree/CategoriesTree.d.ts +7 -10
- package/lib/esm/components/trees/categories-tree/CategoriesTree.js +9 -66
- package/lib/esm/components/trees/categories-tree/CategoriesTree.js.map +1 -1
- package/lib/esm/components/trees/categories-tree/CategoriesTreeButtons.d.ts +12 -5
- package/lib/esm/components/trees/categories-tree/CategoriesTreeButtons.js +25 -7
- package/lib/esm/components/trees/categories-tree/CategoriesTreeButtons.js.map +1 -1
- package/lib/esm/components/trees/categories-tree/CategoriesTreeComponent.d.ts +4 -5
- package/lib/esm/components/trees/categories-tree/CategoriesTreeComponent.js +18 -18
- package/lib/esm/components/trees/categories-tree/CategoriesTreeComponent.js.map +1 -1
- package/lib/esm/components/trees/categories-tree/CategoriesVisibilityHandler.d.ts +1 -9
- package/lib/esm/components/trees/categories-tree/CategoriesVisibilityHandler.js +2 -6
- package/lib/esm/components/trees/categories-tree/CategoriesVisibilityHandler.js.map +1 -1
- package/lib/esm/components/trees/categories-tree/UseCategoriesTree.d.ts +25 -0
- package/lib/esm/components/trees/categories-tree/UseCategoriesTree.js +85 -0
- package/lib/esm/components/trees/categories-tree/UseCategoriesTree.js.map +1 -0
- package/lib/esm/components/trees/common/CategoriesVisibilityUtils.d.ts +7 -11
- package/lib/esm/components/trees/common/CategoriesVisibilityUtils.js +33 -84
- package/lib/esm/components/trees/common/CategoriesVisibilityUtils.js.map +1 -1
- package/lib/esm/components/trees/common/FocusedInstancesContext.d.ts +0 -3
- package/lib/esm/components/trees/common/FocusedInstancesContext.js +0 -2
- package/lib/esm/components/trees/common/FocusedInstancesContext.js.map +1 -1
- package/lib/esm/components/trees/common/FocusedInstancesContextProvider.d.ts +0 -1
- package/lib/esm/components/trees/common/FocusedInstancesContextProvider.js +0 -1
- package/lib/esm/components/trees/common/FocusedInstancesContextProvider.js.map +1 -1
- package/lib/esm/components/trees/common/UseFiltering.d.ts +0 -1
- package/lib/esm/components/trees/common/UseFiltering.js +0 -1
- package/lib/esm/components/trees/common/UseFiltering.js.map +1 -1
- package/lib/esm/components/trees/common/UseHierarchiesLocalization.d.ts +0 -1
- package/lib/esm/components/trees/common/UseHierarchiesLocalization.js +0 -1
- package/lib/esm/components/trees/common/UseHierarchiesLocalization.js.map +1 -1
- package/lib/esm/components/trees/common/UseHierarchyFiltering.d.ts +1 -7
- package/lib/esm/components/trees/common/UseHierarchyFiltering.js +4 -3
- package/lib/esm/components/trees/common/UseHierarchyFiltering.js.map +1 -1
- package/lib/esm/components/trees/common/UseHierarchyVisibility.d.ts +15 -10
- package/lib/esm/components/trees/common/UseHierarchyVisibility.js +20 -17
- package/lib/esm/components/trees/common/UseHierarchyVisibility.js.map +1 -1
- package/lib/esm/components/trees/common/UseIModelChangeListener.d.ts +0 -1
- package/lib/esm/components/trees/common/UseIModelChangeListener.js +0 -1
- package/lib/esm/components/trees/common/UseIModelChangeListener.js.map +1 -1
- package/lib/esm/components/trees/common/UseMultiCheckboxHandler.d.ts +0 -1
- package/lib/esm/components/trees/common/UseMultiCheckboxHandler.js +0 -1
- package/lib/esm/components/trees/common/UseMultiCheckboxHandler.js.map +1 -1
- package/lib/esm/components/trees/common/UseNodeHighlighting.d.ts +9 -5
- package/lib/esm/components/trees/common/UseNodeHighlighting.js +14 -23
- package/lib/esm/components/trees/common/UseNodeHighlighting.js.map +1 -1
- package/lib/esm/components/trees/common/UseTelemetryContext.d.ts +29 -0
- package/lib/esm/components/trees/common/UseTelemetryContext.js +43 -0
- package/lib/esm/components/trees/common/UseTelemetryContext.js.map +1 -0
- package/lib/esm/components/trees/common/Utils.d.ts +3 -0
- package/lib/esm/components/trees/common/Utils.js +9 -0
- package/lib/esm/components/trees/common/Utils.js.map +1 -1
- package/lib/esm/components/trees/common/components/Delayed.d.ts +0 -1
- package/lib/esm/components/trees/common/components/Delayed.js +0 -1
- package/lib/esm/components/trees/common/components/Delayed.js.map +1 -1
- package/lib/esm/components/trees/common/components/ProgressOverlay.d.ts +0 -1
- package/lib/esm/components/trees/common/components/ProgressOverlay.js +0 -1
- package/lib/esm/components/trees/common/components/ProgressOverlay.js.map +1 -1
- package/lib/esm/components/trees/common/components/Tree.d.ts +52 -0
- package/lib/esm/components/trees/common/components/{BaseTree.js → Tree.js} +26 -22
- package/lib/esm/components/trees/common/components/Tree.js.map +1 -0
- package/lib/esm/components/trees/common/components/TreeNodeCheckbox.d.ts +14 -7
- package/lib/esm/components/trees/common/components/TreeNodeCheckbox.js.map +1 -1
- package/lib/esm/components/trees/common/components/TreeNodeRenderer.d.ts +7 -6
- package/lib/esm/components/trees/common/components/TreeNodeRenderer.js +1 -1
- package/lib/esm/components/trees/common/components/TreeNodeRenderer.js.map +1 -1
- package/lib/esm/components/trees/common/components/TreeRenderer.d.ts +11 -1
- package/lib/esm/components/trees/common/components/TreeRenderer.js +4 -1
- package/lib/esm/components/trees/common/components/TreeRenderer.js.map +1 -1
- package/lib/esm/components/trees/common/components/VisibilityTree.d.ts +27 -10
- package/lib/esm/components/trees/common/components/VisibilityTree.js +8 -23
- package/lib/esm/components/trees/common/components/VisibilityTree.js.map +1 -1
- package/lib/esm/components/trees/common/components/VisibilityTreeRenderer.d.ts +12 -0
- package/lib/esm/components/trees/common/components/VisibilityTreeRenderer.js +22 -0
- package/lib/esm/components/trees/common/components/VisibilityTreeRenderer.js.map +1 -0
- package/lib/esm/components/trees/external-sources-tree/ExternalSourcesTree.d.ts +8 -7
- package/lib/esm/components/trees/external-sources-tree/ExternalSourcesTree.js +7 -10
- package/lib/esm/components/trees/external-sources-tree/ExternalSourcesTree.js.map +1 -1
- package/lib/esm/components/trees/external-sources-tree/ExternalSourcesTreeComponent.d.ts +5 -5
- package/lib/esm/components/trees/external-sources-tree/ExternalSourcesTreeComponent.js +3 -4
- package/lib/esm/components/trees/external-sources-tree/ExternalSourcesTreeComponent.js.map +1 -1
- package/lib/esm/components/trees/imodel-content-tree/IModelContentTree.d.ts +8 -7
- package/lib/esm/components/trees/imodel-content-tree/IModelContentTree.js +9 -12
- package/lib/esm/components/trees/imodel-content-tree/IModelContentTree.js.map +1 -1
- package/lib/esm/components/trees/imodel-content-tree/IModelContentTreeComponent.d.ts +5 -5
- package/lib/esm/components/trees/imodel-content-tree/IModelContentTreeComponent.js +3 -4
- package/lib/esm/components/trees/imodel-content-tree/IModelContentTreeComponent.js.map +1 -1
- package/lib/esm/components/trees/imodel-content-tree/IModelContentTreeDefinition.js.map +1 -1
- package/lib/esm/components/trees/index.d.ts +11 -0
- package/lib/esm/components/trees/index.js +9 -0
- package/lib/esm/components/trees/index.js.map +1 -1
- package/lib/esm/components/trees/models-tree/ModelsTree.d.ts +10 -9
- package/lib/esm/components/trees/models-tree/ModelsTree.js +7 -207
- package/lib/esm/components/trees/models-tree/ModelsTree.js.map +1 -1
- package/lib/esm/components/trees/models-tree/ModelsTreeButtons.d.ts +19 -8
- package/lib/esm/components/trees/models-tree/ModelsTreeButtons.js +30 -8
- package/lib/esm/components/trees/models-tree/ModelsTreeButtons.js.map +1 -1
- package/lib/esm/components/trees/models-tree/ModelsTreeComponent.d.ts +11 -6
- package/lib/esm/components/trees/models-tree/ModelsTreeComponent.js +35 -33
- package/lib/esm/components/trees/models-tree/ModelsTreeComponent.js.map +1 -1
- package/lib/esm/components/trees/models-tree/ModelsTreeDefinition.d.ts +9 -5
- package/lib/esm/components/trees/models-tree/ModelsTreeDefinition.js.map +1 -1
- package/lib/esm/components/trees/models-tree/UseModelsTree.d.ts +29 -0
- package/lib/esm/components/trees/models-tree/UseModelsTree.js +229 -0
- package/lib/esm/components/trees/models-tree/UseModelsTree.js.map +1 -0
- package/lib/esm/components/trees/models-tree/internal/ModelsTreeVisibilityHandler.d.ts +11 -3
- package/lib/esm/components/trees/models-tree/internal/ModelsTreeVisibilityHandler.js +2 -2
- package/lib/esm/components/trees/models-tree/internal/ModelsTreeVisibilityHandler.js.map +1 -1
- package/lib/esm/tree-widget-react.d.ts +2 -1
- package/lib/esm/tree-widget-react.js +1 -0
- package/lib/esm/tree-widget-react.js.map +1 -1
- package/package.json +12 -16
- package/lib/cjs/components/trees/categories-tree/UseCategories.d.ts +0 -8
- package/lib/cjs/components/trees/categories-tree/UseCategories.js +0 -22
- package/lib/cjs/components/trees/categories-tree/UseCategories.js.map +0 -1
- package/lib/cjs/components/trees/common/UseFeatureReporting.d.ts +0 -34
- package/lib/cjs/components/trees/common/UseFeatureReporting.js +0 -39
- package/lib/cjs/components/trees/common/UseFeatureReporting.js.map +0 -1
- package/lib/cjs/components/trees/common/UsePerformanceReporting.d.ts +0 -18
- package/lib/cjs/components/trees/common/UsePerformanceReporting.js +0 -25
- package/lib/cjs/components/trees/common/UsePerformanceReporting.js.map +0 -1
- package/lib/cjs/components/trees/common/components/BaseTree.d.ts +0 -34
- package/lib/cjs/components/trees/common/components/BaseTree.js.map +0 -1
- package/lib/cjs/components/utils/AutoSizer.d.ts +0 -13
- package/lib/cjs/components/utils/AutoSizer.js +0 -21
- package/lib/cjs/components/utils/AutoSizer.js.map +0 -1
- package/lib/esm/components/trees/categories-tree/UseCategories.d.ts +0 -8
- package/lib/esm/components/trees/categories-tree/UseCategories.js +0 -18
- package/lib/esm/components/trees/categories-tree/UseCategories.js.map +0 -1
- package/lib/esm/components/trees/common/UseFeatureReporting.d.ts +0 -34
- package/lib/esm/components/trees/common/UseFeatureReporting.js +0 -34
- package/lib/esm/components/trees/common/UseFeatureReporting.js.map +0 -1
- package/lib/esm/components/trees/common/UsePerformanceReporting.d.ts +0 -18
- package/lib/esm/components/trees/common/UsePerformanceReporting.js +0 -21
- package/lib/esm/components/trees/common/UsePerformanceReporting.js.map +0 -1
- package/lib/esm/components/trees/common/components/BaseTree.d.ts +0 -34
- package/lib/esm/components/trees/common/components/BaseTree.js.map +0 -1
- package/lib/esm/components/utils/AutoSizer.d.ts +0 -13
- package/lib/esm/components/utils/AutoSizer.js +0 -17
- package/lib/esm/components/utils/AutoSizer.js.map +0 -1
- /package/lib/cjs/components/{trees/Tree.scss → tree-header/TreeWithHeader.scss} +0 -0
- /package/lib/esm/components/{trees/Tree.scss → tree-header/TreeWithHeader.scss} +0 -0
|
@@ -4,34 +4,19 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
4
4
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
5
5
|
*--------------------------------------------------------------------------------------------*/
|
|
6
6
|
import { useCallback, useMemo } from "react";
|
|
7
|
-
import { useReportingAction } from "../UseFeatureReporting";
|
|
8
7
|
import { useHierarchyVisibility } from "../UseHierarchyVisibility";
|
|
9
|
-
import { useMultiCheckboxHandler } from "../UseMultiCheckboxHandler";
|
|
10
8
|
import { createIModelAccess } from "../Utils";
|
|
11
|
-
import {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
9
|
+
import { Tree } from "./Tree";
|
|
10
|
+
/**
|
|
11
|
+
* Tree component that can control visibility of instances represented by tree nodes.
|
|
12
|
+
* @beta
|
|
13
|
+
*/
|
|
14
|
+
export function VisibilityTree({ visibilityHandlerFactory, treeRenderer, ...props }) {
|
|
15
15
|
const { imodel, getSchemaContext } = props;
|
|
16
16
|
const imodelAccess = useMemo(() => createIModelAccess({ imodel, getSchemaContext }), [imodel, getSchemaContext]);
|
|
17
17
|
const { getCheckboxState, onCheckboxClicked, triggerRefresh } = useHierarchyVisibility({
|
|
18
|
-
visibilityHandlerFactory: useCallback(() => visibilityHandlerFactory(imodelAccess), [visibilityHandlerFactory, imodelAccess]),
|
|
18
|
+
visibilityHandlerFactory: useCallback(() => visibilityHandlerFactory({ imodelAccess }), [visibilityHandlerFactory, imodelAccess]),
|
|
19
19
|
});
|
|
20
|
-
return (_jsx(
|
|
21
|
-
onPerformanceMeasured?.(action, duration);
|
|
22
|
-
if (action === "reload") {
|
|
23
|
-
triggerRefresh();
|
|
24
|
-
}
|
|
25
|
-
}, imodelAccess: imodelAccess, treeRenderer: (treeProps) => _jsx(VisibilityTreeRenderer, { ...treeProps, getCheckboxState: getCheckboxState, onCheckboxClicked: onCheckboxClicked }) }));
|
|
26
|
-
}
|
|
27
|
-
function VisibilityTreeRenderer({ getCheckboxState, onCheckboxClicked: onClick, reportUsage, ...props }) {
|
|
28
|
-
const { onCheckboxClicked } = useMultiCheckboxHandler({ rootNodes: props.rootNodes, isNodeSelected: props.isNodeSelected, onClick });
|
|
29
|
-
const reportingOnCheckboxClicked = useReportingAction({ featureId: "visibility-change", action: onCheckboxClicked, reportUsage });
|
|
30
|
-
const checkboxProps = useMemo(() => ({
|
|
31
|
-
variant: "eyeball",
|
|
32
|
-
getCheckboxState,
|
|
33
|
-
onCheckboxClicked: reportingOnCheckboxClicked,
|
|
34
|
-
}), [getCheckboxState, reportingOnCheckboxClicked]);
|
|
35
|
-
return _jsx(TreeRenderer, { ...props, checkboxProps: checkboxProps });
|
|
20
|
+
return (_jsx(Tree, { ...props, onReload: triggerRefresh, imodelAccess: imodelAccess, treeRenderer: (treeProps) => treeRenderer({ ...treeProps, getCheckboxState, onCheckboxClicked }) }));
|
|
36
21
|
}
|
|
37
22
|
//# sourceMappingURL=VisibilityTree.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VisibilityTree.js","sourceRoot":"","sources":["../../../../../../src/components/trees/common/components/VisibilityTree.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"VisibilityTree.js","sourceRoot":"","sources":["../../../../../../src/components/trees/common/components/VisibilityTree.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AA6B9B;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,EAAE,wBAAwB,EAAE,YAAY,EAAE,GAAG,KAAK,EAAuB;IACtG,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,GAAG,KAAK,CAAC;IAC3C,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC;IACjH,MAAM,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,cAAc,EAAE,GAAG,sBAAsB,CAAC;QACrF,wBAAwB,EAAE,WAAW,CAAC,GAAG,EAAE,CAAC,wBAAwB,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,wBAAwB,EAAE,YAAY,CAAC,CAAC;KAClI,CAAC,CAAC;IAEH,OAAO,CACL,KAAC,IAAI,OACC,KAAK,EACT,QAAQ,EAAE,cAAc,EACxB,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,GAAG,SAAS,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,CAAC,GAChG,CACH,CAAC;AACJ,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n\nimport { useCallback, useMemo } from \"react\";\nimport { useHierarchyVisibility } from \"../UseHierarchyVisibility\";\nimport { createIModelAccess } from \"../Utils\";\nimport { Tree } from \"./Tree\";\n\nimport type { ComponentPropsWithoutRef, ReactNode } from \"react\";\nimport type { VisibilityTreeRenderer } from \"./VisibilityTreeRenderer\";\nimport type { TreeRendererProps } from \"./Tree\";\nimport type { ECClassHierarchyInspector } from \"@itwin/presentation-shared\";\nimport type { HierarchyVisibilityHandler } from \"../UseHierarchyVisibility\";\n\n/** @beta */\ntype TreeProps = ComponentPropsWithoutRef<typeof Tree>;\n\n/**\n * Properties that are passed to `treeRenderer` from `VisibilityTree` component.\n * @beta\n */\nexport type VisibilityTreeRendererProps = TreeRendererProps &\n Pick<ComponentPropsWithoutRef<typeof VisibilityTreeRenderer>, \"getCheckboxState\" | \"onCheckboxClicked\">;\n\n/** @beta */\ninterface VisibilityTreeOwnProps {\n /** Callback for creating visibility handler used to control visibility of instances represented by tree nodes. */\n visibilityHandlerFactory: (props: { imodelAccess: ECClassHierarchyInspector }) => HierarchyVisibilityHandler;\n /** Tree renderer that should be used to render tree data. */\n treeRenderer: (treeProps: VisibilityTreeRendererProps) => ReactNode;\n}\n\n/** @beta */\ntype VisibilityTreeProps = VisibilityTreeOwnProps & Omit<TreeProps, \"treeRenderer\" | \"imodelAccess\">;\n\n/**\n * Tree component that can control visibility of instances represented by tree nodes.\n * @beta\n */\nexport function VisibilityTree({ visibilityHandlerFactory, treeRenderer, ...props }: VisibilityTreeProps) {\n const { imodel, getSchemaContext } = props;\n const imodelAccess = useMemo(() => createIModelAccess({ imodel, getSchemaContext }), [imodel, getSchemaContext]);\n const { getCheckboxState, onCheckboxClicked, triggerRefresh } = useHierarchyVisibility({\n visibilityHandlerFactory: useCallback(() => visibilityHandlerFactory({ imodelAccess }), [visibilityHandlerFactory, imodelAccess]),\n });\n\n return (\n <Tree\n {...props}\n onReload={triggerRefresh}\n imodelAccess={imodelAccess}\n treeRenderer={(treeProps) => treeRenderer({ ...treeProps, getCheckboxState, onCheckboxClicked })}\n />\n );\n}\n"]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { TreeRenderer } from "./TreeRenderer";
|
|
2
|
+
import type { ComponentPropsWithoutRef } from "react";
|
|
3
|
+
import type { TreeCheckboxProps } from "./TreeNodeCheckbox";
|
|
4
|
+
/** @beta */
|
|
5
|
+
type TreeRendererProps = ComponentPropsWithoutRef<typeof TreeRenderer>;
|
|
6
|
+
/**
|
|
7
|
+
* Tree renderer that renders tree nodes with eye checkboxes for controlling visibility of instances represented by tree nodes.
|
|
8
|
+
* @beta
|
|
9
|
+
*/
|
|
10
|
+
export declare function VisibilityTreeRenderer({ getCheckboxState, onCheckboxClicked: onClick, ...props }: TreeRendererProps & TreeCheckboxProps): JSX.Element;
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=VisibilityTreeRenderer.d.ts.map
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
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
|
+
import { useMemo } from "react";
|
|
7
|
+
import { useMultiCheckboxHandler } from "../UseMultiCheckboxHandler";
|
|
8
|
+
import { TreeRenderer } from "./TreeRenderer";
|
|
9
|
+
/**
|
|
10
|
+
* Tree renderer that renders tree nodes with eye checkboxes for controlling visibility of instances represented by tree nodes.
|
|
11
|
+
* @beta
|
|
12
|
+
*/
|
|
13
|
+
export function VisibilityTreeRenderer({ getCheckboxState, onCheckboxClicked: onClick, ...props }) {
|
|
14
|
+
const { onCheckboxClicked } = useMultiCheckboxHandler({ rootNodes: props.rootNodes, isNodeSelected: props.isNodeSelected, onClick });
|
|
15
|
+
const checkboxProps = useMemo(() => ({
|
|
16
|
+
variant: "eyeball",
|
|
17
|
+
getCheckboxState,
|
|
18
|
+
onCheckboxClicked,
|
|
19
|
+
}), [getCheckboxState, onCheckboxClicked]);
|
|
20
|
+
return _jsx(TreeRenderer, { ...props, checkboxProps: checkboxProps });
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=VisibilityTreeRenderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VisibilityTreeRenderer.js","sourceRoot":"","sources":["../../../../../../src/components/trees/common/components/VisibilityTreeRenderer.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAQ9C;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,OAAO,EAAE,GAAG,KAAK,EAAyC;IACtI,MAAM,EAAE,iBAAiB,EAAE,GAAG,uBAAuB,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,OAAO,EAAE,CAAC,CAAC;IAErI,MAAM,aAAa,GAAuC,OAAO,CAC/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,KAAC,YAAY,OAAK,KAAK,EAAE,aAAa,EAAE,aAAa,GAAI,CAAC;AACnE,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 { useMemo } from \"react\";\nimport { useMultiCheckboxHandler } from \"../UseMultiCheckboxHandler\";\nimport { TreeRenderer } from \"./TreeRenderer\";\n\nimport type { ComponentPropsWithoutRef } from \"react\";\nimport type { TreeCheckboxProps } from \"./TreeNodeCheckbox\";\n\n/** @beta */\ntype TreeRendererProps = ComponentPropsWithoutRef<typeof TreeRenderer>;\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 }: TreeRendererProps & TreeCheckboxProps) {\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,15 +1,16 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import {
|
|
2
|
+
import { Tree } from "../common/components/Tree";
|
|
3
|
+
/** @beta */
|
|
3
4
|
interface ExternalSourcesTreeOwnProps {
|
|
4
5
|
hierarchyLevelConfig?: {
|
|
5
6
|
sizeLimit?: number;
|
|
6
7
|
};
|
|
7
|
-
onPerformanceMeasured?: (featureId: string, duration: number) => void;
|
|
8
|
-
onFeatureUsed?: (feature: string) => void;
|
|
9
8
|
}
|
|
10
|
-
|
|
11
|
-
type
|
|
12
|
-
/** @
|
|
13
|
-
|
|
9
|
+
/** @beta */
|
|
10
|
+
type TreeProps = Parameters<typeof Tree>[0];
|
|
11
|
+
/** @beta */
|
|
12
|
+
type ExternalSourcesTreeProps = ExternalSourcesTreeOwnProps & Pick<TreeProps, "imodel" | "getSchemaContext" | "selectionStorage" | "density" | "selectionMode">;
|
|
13
|
+
/** @beta */
|
|
14
|
+
export declare function ExternalSourcesTree(props: ExternalSourcesTreeProps): JSX.Element;
|
|
14
15
|
export {};
|
|
15
16
|
//# sourceMappingURL=ExternalSourcesTree.d.ts.map
|
|
@@ -4,20 +4,17 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
4
4
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
5
5
|
*--------------------------------------------------------------------------------------------*/
|
|
6
6
|
import { SvgDetails, SvgDocument, SvgItem } from "@itwin/itwinui-icons-react";
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
7
|
+
import { Tree } from "../common/components/Tree";
|
|
8
|
+
import { TreeRenderer } from "../common/components/TreeRenderer";
|
|
9
9
|
import { ExternalSourcesTreeComponent } from "./ExternalSourcesTreeComponent";
|
|
10
10
|
import { ExternalSourcesTreeDefinition } from "./ExternalSourcesTreeDefinition";
|
|
11
|
-
/** @
|
|
12
|
-
export function ExternalSourcesTree(
|
|
13
|
-
|
|
14
|
-
return (_jsx(BaseTree, { ...props, treeName: ExternalSourcesTreeComponent.id, getHierarchyDefinition: getDefinitionsProvider, getIcon: getIcon, selectionMode: props.selectionMode ?? "none", onPerformanceMeasured: (action, duration) => {
|
|
15
|
-
onPerformanceMeasured?.(`${ExternalSourcesTreeComponent.id}-${action}`, duration);
|
|
16
|
-
}, reportUsage: reportUsage }));
|
|
11
|
+
/** @beta */
|
|
12
|
+
export function ExternalSourcesTree(props) {
|
|
13
|
+
return (_jsx(Tree, { ...props, treeName: ExternalSourcesTreeComponent.id, getHierarchyDefinition: getDefinitionsProvider, selectionMode: props.selectionMode ?? "none", treeRenderer: (treeProps) => _jsx(TreeRenderer, { ...treeProps, getIcon: getIcon }) }));
|
|
17
14
|
}
|
|
18
|
-
|
|
15
|
+
const getDefinitionsProvider = (props) => {
|
|
19
16
|
return new ExternalSourcesTreeDefinition(props);
|
|
20
|
-
}
|
|
17
|
+
};
|
|
21
18
|
function getIcon(node) {
|
|
22
19
|
if (node.extendedData?.imageId === undefined) {
|
|
23
20
|
return undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExternalSourcesTree.js","sourceRoot":"","sources":["../../../../../src/components/trees/external-sources-tree/ExternalSourcesTree.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAC9E,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"ExternalSourcesTree.js","sourceRoot":"","sources":["../../../../../src/components/trees/external-sources-tree/ExternalSourcesTree.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAC9E,OAAO,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAkBhF,YAAY;AACZ,MAAM,UAAU,mBAAmB,CAAC,KAA+B;IACjE,OAAO,CACL,KAAC,IAAI,OACC,KAAK,EACT,QAAQ,EAAE,4BAA4B,CAAC,EAAE,EACzC,sBAAsB,EAAE,sBAAsB,EAC9C,aAAa,EAAE,KAAK,CAAC,aAAa,IAAI,MAAM,EAC5C,YAAY,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,KAAC,YAAY,OAAK,SAAS,EAAE,OAAO,EAAE,OAAO,GAAI,GAC9E,CACH,CAAC;AACJ,CAAC;AAED,MAAM,sBAAsB,GAAwC,CAAC,KAAK,EAAE,EAAE;IAC5E,OAAO,IAAI,6BAA6B,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,KAAC,OAAO,KAAG,CAAC;QACrB,KAAK,eAAe;YAClB,OAAO,KAAC,OAAO,KAAG,CAAC;QACrB,KAAK,eAAe;YAClB,OAAO,KAAC,WAAW,KAAG,CAAC;QACzB,KAAK,gBAAgB;YACnB,OAAO,KAAC,UAAU,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\";\nimport { TreeRenderer } from \"../common/components/TreeRenderer\";\nimport { ExternalSourcesTreeComponent } from \"./ExternalSourcesTreeComponent\";\nimport { ExternalSourcesTreeDefinition } from \"./ExternalSourcesTreeDefinition\";\n\nimport type { ReactElement } from \"react\";\nimport type { PresentationHierarchyNode } from \"@itwin/presentation-hierarchies-react\";\n\n/** @beta */\ninterface ExternalSourcesTreeOwnProps {\n hierarchyLevelConfig?: {\n sizeLimit?: number;\n };\n}\n\n/** @beta */\ntype TreeProps = Parameters<typeof Tree>[0];\n\n/** @beta */\ntype ExternalSourcesTreeProps = ExternalSourcesTreeOwnProps & Pick<TreeProps, \"imodel\" | \"getSchemaContext\" | \"selectionStorage\" | \"density\" | \"selectionMode\">;\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,16 +1,16 @@
|
|
|
1
1
|
import { ExternalSourcesTree } from "./ExternalSourcesTree";
|
|
2
2
|
import type { ComponentPropsWithoutRef } from "react";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
/** @beta */
|
|
4
|
+
interface ExternalSourcesTreeComponentProps extends Pick<ComponentPropsWithoutRef<typeof ExternalSourcesTree>, "getSchemaContext" | "selectionStorage" | "selectionMode" | "density" | "hierarchyLevelConfig" | "selectionMode"> {
|
|
5
|
+
onPerformanceMeasured?: (featureId: string, duration: number) => void;
|
|
6
|
+
onFeatureUsed?: (feature: string) => void;
|
|
7
7
|
}
|
|
8
8
|
/**
|
|
9
9
|
* A component that renders `ExternalSourcesTree`.
|
|
10
10
|
* @beta
|
|
11
11
|
*/
|
|
12
12
|
export declare const ExternalSourcesTreeComponent: {
|
|
13
|
-
(props: ExternalSourcesTreeComponentProps): JSX.Element | null;
|
|
13
|
+
({ onFeatureUsed, onPerformanceMeasured, ...props }: ExternalSourcesTreeComponentProps): JSX.Element | null;
|
|
14
14
|
/**
|
|
15
15
|
* Id of the component. May be used when a creating a `TreeDefinition` for `SelectableTree`.
|
|
16
16
|
* @beta
|
|
@@ -4,20 +4,19 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
4
4
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
5
5
|
*--------------------------------------------------------------------------------------------*/
|
|
6
6
|
import { useActiveIModelConnection } from "@itwin/appui-react";
|
|
7
|
-
import { UnifiedSelectionProvider } from "@itwin/presentation-hierarchies-react";
|
|
8
7
|
import { TreeWidget } from "../../../TreeWidget";
|
|
9
|
-
import {
|
|
8
|
+
import { TelemetryContextProvider } from "../common/UseTelemetryContext";
|
|
10
9
|
import { ExternalSourcesTree } from "./ExternalSourcesTree";
|
|
11
10
|
/**
|
|
12
11
|
* A component that renders `ExternalSourcesTree`.
|
|
13
12
|
* @beta
|
|
14
13
|
*/
|
|
15
|
-
export const ExternalSourcesTreeComponent = (props) => {
|
|
14
|
+
export const ExternalSourcesTreeComponent = ({ onFeatureUsed, onPerformanceMeasured, ...props }) => {
|
|
16
15
|
const imodel = useActiveIModelConnection();
|
|
17
16
|
if (!imodel) {
|
|
18
17
|
return null;
|
|
19
18
|
}
|
|
20
|
-
return (_jsx(
|
|
19
|
+
return (_jsx(TelemetryContextProvider, { componentIdentifier: ExternalSourcesTreeComponent.id, onFeatureUsed: onFeatureUsed, onPerformanceMeasured: onPerformanceMeasured, children: _jsx(ExternalSourcesTree, { ...props, imodel: imodel }) }));
|
|
21
20
|
};
|
|
22
21
|
/**
|
|
23
22
|
* Id of the component. May be used when a creating a `TreeDefinition` for `SelectableTree`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExternalSourcesTreeComponent.js","sourceRoot":"","sources":["../../../../../src/components/trees/external-sources-tree/ExternalSourcesTreeComponent.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"ExternalSourcesTreeComponent.js","sourceRoot":"","sources":["../../../../../src/components/trees/external-sources-tree/ExternalSourcesTreeComponent.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAc5D;;;GAGG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,EAAE,aAAa,EAAE,qBAAqB,EAAE,GAAG,KAAK,EAAqC,EAAE,EAAE;IACpI,MAAM,MAAM,GAAG,yBAAyB,EAAE,CAAC;IAE3C,IAAI,CAAC,MAAM,EAAE;QACX,OAAO,IAAI,CAAC;KACb;IAED,OAAO,CACL,KAAC,wBAAwB,IAAC,mBAAmB,EAAE,4BAA4B,CAAC,EAAE,EAAE,aAAa,EAAE,aAAa,EAAE,qBAAqB,EAAE,qBAAqB,YACxJ,KAAC,mBAAmB,OAAK,KAAK,EAAE,MAAM,EAAE,MAAM,GAAI,GACzB,CAC5B,CAAC;AACJ,CAAC,CAAC;AAEF;;;GAGG;AACH,4BAA4B,CAAC,EAAE,GAAG,0BAA0B,CAAC;AAE7D;;;GAGG;AACH,4BAA4B,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAC,UAAU,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\";\nimport { TelemetryContextProvider } from \"../common/UseTelemetryContext\";\nimport { ExternalSourcesTree } from \"./ExternalSourcesTree\";\n\nimport type { ComponentPropsWithoutRef } from \"react\";\n\n/** @beta */\ninterface ExternalSourcesTreeComponentProps\n extends Pick<\n ComponentPropsWithoutRef<typeof ExternalSourcesTree>,\n \"getSchemaContext\" | \"selectionStorage\" | \"selectionMode\" | \"density\" | \"hierarchyLevelConfig\" | \"selectionMode\"\n > {\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"]}
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import {
|
|
2
|
+
import { Tree } from "../common/components/Tree";
|
|
3
|
+
/** @beta */
|
|
3
4
|
interface IModelContentTreeOwnProps {
|
|
4
5
|
hierarchyLevelConfig?: {
|
|
5
6
|
sizeLimit?: number;
|
|
6
7
|
};
|
|
7
|
-
onPerformanceMeasured?: (featureId: string, duration: number) => void;
|
|
8
|
-
onFeatureUsed?: (feature: string) => void;
|
|
9
8
|
}
|
|
10
|
-
|
|
11
|
-
type
|
|
12
|
-
/** @
|
|
13
|
-
|
|
9
|
+
/** @beta */
|
|
10
|
+
type TreeProps = Parameters<typeof Tree>[0];
|
|
11
|
+
/** @beta */
|
|
12
|
+
type IModelContentTreeProps = IModelContentTreeOwnProps & Pick<TreeProps, "imodel" | "getSchemaContext" | "selectionStorage" | "density" | "selectionMode">;
|
|
13
|
+
/** @beta */
|
|
14
|
+
export declare function IModelContentTree(props: IModelContentTreeProps): JSX.Element;
|
|
14
15
|
export {};
|
|
15
16
|
//# sourceMappingURL=IModelContentTree.d.ts.map
|
|
@@ -4,24 +4,21 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
4
4
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
5
5
|
*--------------------------------------------------------------------------------------------*/
|
|
6
6
|
import { SvgFolder, SvgGroup, SvgHierarchyTree, SvgImodelHollow, SvgItem, SvgLayers, SvgModel } from "@itwin/itwinui-icons-react";
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
7
|
+
import { Tree } from "../common/components/Tree";
|
|
8
|
+
import { TreeRenderer } from "../common/components/TreeRenderer";
|
|
9
9
|
import { IModelContentTreeComponent } from "./IModelContentTreeComponent";
|
|
10
10
|
import { IModelContentTreeDefinition } from "./IModelContentTreeDefinition";
|
|
11
11
|
import { IModelContentTreeIdsCache } from "./internal/IModelContentTreeIdsCache";
|
|
12
|
-
/** @
|
|
13
|
-
export function IModelContentTree(
|
|
14
|
-
|
|
15
|
-
return (_jsx(BaseTree, { ...props, treeName: IModelContentTreeComponent.id, getHierarchyDefinition: getDefinitionsProvider, getIcon: getIcon, selectionMode: props.selectionMode ?? "extended", onPerformanceMeasured: (action, duration) => {
|
|
16
|
-
onPerformanceMeasured?.(`${IModelContentTreeComponent.id}-${action}`, duration);
|
|
17
|
-
}, reportUsage: reportUsage }));
|
|
12
|
+
/** @beta */
|
|
13
|
+
export function IModelContentTree(props) {
|
|
14
|
+
return (_jsx(Tree, { ...props, treeName: IModelContentTreeComponent.id, getHierarchyDefinition: getDefinitionsProvider, selectionMode: props.selectionMode ?? "extended", treeRenderer: (treeProps) => _jsx(TreeRenderer, { ...treeProps, getIcon: getIcon }) }));
|
|
18
15
|
}
|
|
19
|
-
|
|
16
|
+
const getDefinitionsProvider = ({ imodelAccess }) => {
|
|
20
17
|
return new IModelContentTreeDefinition({
|
|
21
|
-
imodelAccess
|
|
22
|
-
idsCache: new IModelContentTreeIdsCache(
|
|
18
|
+
imodelAccess,
|
|
19
|
+
idsCache: new IModelContentTreeIdsCache(imodelAccess),
|
|
23
20
|
});
|
|
24
|
-
}
|
|
21
|
+
};
|
|
25
22
|
function getIcon(node) {
|
|
26
23
|
if (node.extendedData?.imageId === undefined) {
|
|
27
24
|
return undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IModelContentTree.js","sourceRoot":"","sources":["../../../../../src/components/trees/imodel-content-tree/IModelContentTree.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,gBAAgB,EAAE,eAAe,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAClI,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"IModelContentTree.js","sourceRoot":"","sources":["../../../../../src/components/trees/imodel-content-tree/IModelContentTree.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,gBAAgB,EAAE,eAAe,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAClI,OAAO,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AAkBjF,YAAY;AACZ,MAAM,UAAU,iBAAiB,CAAC,KAA6B;IAC7D,OAAO,CACL,KAAC,IAAI,OACC,KAAK,EACT,QAAQ,EAAE,0BAA0B,CAAC,EAAE,EACvC,sBAAsB,EAAE,sBAAsB,EAC9C,aAAa,EAAE,KAAK,CAAC,aAAa,IAAI,UAAU,EAChD,YAAY,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,KAAC,YAAY,OAAK,SAAS,EAAE,OAAO,EAAE,OAAO,GAAI,GAC9E,CACH,CAAC;AACJ,CAAC;AAED,MAAM,sBAAsB,GAAwC,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE;IACvF,OAAO,IAAI,2BAA2B,CAAC;QACrC,YAAY;QACZ,QAAQ,EAAE,IAAI,yBAAyB,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,KAAC,SAAS,KAAG,CAAC;QACvB,KAAK,WAAW;YACd,OAAO,KAAC,OAAO,KAAG,CAAC;QACrB,KAAK,eAAe;YAClB,OAAO,KAAC,OAAO,KAAG,CAAC;QACrB,KAAK,sBAAsB;YACzB,OAAO,KAAC,eAAe,KAAG,CAAC;QAC7B,KAAK,aAAa;YAChB,OAAO,KAAC,SAAS,KAAG,CAAC;QACvB,KAAK,YAAY;YACf,OAAO,KAAC,QAAQ,KAAG,CAAC;QACtB,KAAK,qBAAqB;YACxB,OAAO,KAAC,gBAAgB,KAAG,CAAC;QAC9B,KAAK,YAAY;YACf,OAAO,KAAC,QAAQ,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\";\nimport { TreeRenderer } from \"../common/components/TreeRenderer\";\nimport { IModelContentTreeComponent } from \"./IModelContentTreeComponent\";\nimport { IModelContentTreeDefinition } from \"./IModelContentTreeDefinition\";\nimport { IModelContentTreeIdsCache } from \"./internal/IModelContentTreeIdsCache\";\n\nimport type { ReactElement } from \"react\";\nimport type { PresentationHierarchyNode } from \"@itwin/presentation-hierarchies-react\";\n\n/** @beta */\ninterface IModelContentTreeOwnProps {\n hierarchyLevelConfig?: {\n sizeLimit?: number;\n };\n}\n\n/** @beta */\ntype TreeProps = Parameters<typeof Tree>[0];\n\n/** @beta */\ntype IModelContentTreeProps = IModelContentTreeOwnProps & Pick<TreeProps, \"imodel\" | \"getSchemaContext\" | \"selectionStorage\" | \"density\" | \"selectionMode\">;\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,16 +1,16 @@
|
|
|
1
1
|
import { IModelContentTree } from "./IModelContentTree";
|
|
2
2
|
import type { ComponentPropsWithoutRef } from "react";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
/** @beta */
|
|
4
|
+
interface IModelContentTreeComponentProps extends Pick<ComponentPropsWithoutRef<typeof IModelContentTree>, "getSchemaContext" | "selectionStorage" | "density" | "hierarchyLevelConfig" | "selectionMode"> {
|
|
5
|
+
onPerformanceMeasured?: (featureId: string, duration: number) => void;
|
|
6
|
+
onFeatureUsed?: (feature: string) => void;
|
|
7
7
|
}
|
|
8
8
|
/**
|
|
9
9
|
* A component that renders `IModelContentTree`.
|
|
10
10
|
* @beta
|
|
11
11
|
*/
|
|
12
12
|
export declare const IModelContentTreeComponent: {
|
|
13
|
-
(props: IModelContentTreeComponentProps): JSX.Element | null;
|
|
13
|
+
({ onFeatureUsed, onPerformanceMeasured, ...props }: IModelContentTreeComponentProps): JSX.Element | null;
|
|
14
14
|
/**
|
|
15
15
|
* Id of the component. May be used when a creating a `TreeDefinition` for `SelectableTree`.
|
|
16
16
|
* @beta
|
|
@@ -4,20 +4,19 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
4
4
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
5
5
|
*--------------------------------------------------------------------------------------------*/
|
|
6
6
|
import { useActiveIModelConnection } from "@itwin/appui-react";
|
|
7
|
-
import { UnifiedSelectionProvider } from "@itwin/presentation-hierarchies-react";
|
|
8
7
|
import { TreeWidget } from "../../../TreeWidget";
|
|
9
|
-
import {
|
|
8
|
+
import { TelemetryContextProvider } from "../common/UseTelemetryContext";
|
|
10
9
|
import { IModelContentTree } from "./IModelContentTree";
|
|
11
10
|
/**
|
|
12
11
|
* A component that renders `IModelContentTree`.
|
|
13
12
|
* @beta
|
|
14
13
|
*/
|
|
15
|
-
export const IModelContentTreeComponent = (props) => {
|
|
14
|
+
export const IModelContentTreeComponent = ({ onFeatureUsed, onPerformanceMeasured, ...props }) => {
|
|
16
15
|
const imodel = useActiveIModelConnection();
|
|
17
16
|
if (!imodel) {
|
|
18
17
|
return null;
|
|
19
18
|
}
|
|
20
|
-
return (_jsx(
|
|
19
|
+
return (_jsx(TelemetryContextProvider, { componentIdentifier: IModelContentTreeComponent.id, onFeatureUsed: onFeatureUsed, onPerformanceMeasured: onPerformanceMeasured, children: _jsx(IModelContentTree, { ...props, imodel: imodel }) }));
|
|
21
20
|
};
|
|
22
21
|
/**
|
|
23
22
|
* Id of the component. May be used when a creating a `TreeDefinition` for `SelectableTree`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IModelContentTreeComponent.js","sourceRoot":"","sources":["../../../../../src/components/trees/imodel-content-tree/IModelContentTreeComponent.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"IModelContentTreeComponent.js","sourceRoot":"","sources":["../../../../../src/components/trees/imodel-content-tree/IModelContentTreeComponent.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAcxD;;;GAGG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,EAAE,aAAa,EAAE,qBAAqB,EAAE,GAAG,KAAK,EAAmC,EAAE,EAAE;IAChI,MAAM,MAAM,GAAG,yBAAyB,EAAE,CAAC;IAE3C,IAAI,CAAC,MAAM,EAAE;QACX,OAAO,IAAI,CAAC;KACb;IAED,OAAO,CACL,KAAC,wBAAwB,IAAC,mBAAmB,EAAE,0BAA0B,CAAC,EAAE,EAAE,aAAa,EAAE,aAAa,EAAE,qBAAqB,EAAE,qBAAqB,YACtJ,KAAC,iBAAiB,OAAK,KAAK,EAAE,MAAM,EAAE,MAAM,GAAI,GACvB,CAC5B,CAAC;AACJ,CAAC,CAAC;AAEF;;;GAGG;AACH,0BAA0B,CAAC,EAAE,GAAG,wBAAwB,CAAC;AAEzD;;;GAGG;AACH,0BAA0B,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAC,UAAU,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\";\nimport { TelemetryContextProvider } from \"../common/UseTelemetryContext\";\nimport { IModelContentTree } from \"./IModelContentTree\";\n\nimport type { ComponentPropsWithoutRef } from \"react\";\n\n/** @beta */\ninterface IModelContentTreeComponentProps\n extends Pick<\n ComponentPropsWithoutRef<typeof IModelContentTree>,\n \"getSchemaContext\" | \"selectionStorage\" | \"density\" | \"hierarchyLevelConfig\" | \"selectionMode\"\n > {\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"]}
|