@itwin/tree-widget-react 0.5.0 → 0.6.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/lib/cjs/TreeWidget.js +4 -2
- package/lib/cjs/TreeWidget.js.map +1 -1
- package/lib/cjs/components/TreeWidgetUiItemsProvider.js +6 -6
- package/lib/cjs/components/TreeWidgetUiItemsProvider.js.map +1 -1
- package/lib/cjs/components/rulesets/ClassificationSystems.json +122 -0
- package/lib/cjs/components/rulesets/IModelContent.json +407 -407
- package/lib/cjs/components/trees/Common.d.ts +21 -0
- package/lib/cjs/components/trees/Common.js +21 -0
- package/lib/cjs/components/trees/Common.js.map +1 -0
- package/lib/cjs/components/trees/VisibilityTreeBase.scss +53 -0
- package/lib/cjs/components/trees/VisibilityTreeEventHandler.d.ts +67 -0
- package/lib/cjs/components/trees/VisibilityTreeEventHandler.js +147 -0
- package/lib/cjs/components/trees/VisibilityTreeEventHandler.js.map +1 -0
- package/lib/cjs/components/trees/VisibilityTreeRenderer.d.ts +43 -0
- package/lib/cjs/components/trees/VisibilityTreeRenderer.js +81 -0
- package/lib/cjs/components/trees/VisibilityTreeRenderer.js.map +1 -0
- package/lib/cjs/components/trees/category-tree/Categories.json +102 -0
- package/lib/cjs/components/trees/category-tree/CategoriesTree.d.ts +65 -0
- package/lib/cjs/components/trees/category-tree/CategoriesTree.js +121 -0
- package/lib/cjs/components/trees/category-tree/CategoriesTree.js.map +1 -0
- package/lib/{esm/components/trees → cjs/components/trees/category-tree}/CategoriesTree.scss +5 -0
- package/lib/cjs/components/trees/{CategoriesTree.d.ts → category-tree/CategoriesTreeComponent.d.ts} +2 -2
- package/lib/cjs/components/trees/{CategoriesTree.js → category-tree/CategoriesTreeComponent.js} +14 -13
- package/lib/cjs/components/trees/category-tree/CategoriesTreeComponent.js.map +1 -0
- package/lib/cjs/components/trees/category-tree/CategoryVisibilityHandler.d.ts +54 -0
- package/lib/cjs/components/trees/category-tree/CategoryVisibilityHandler.js +213 -0
- package/lib/cjs/components/trees/category-tree/CategoryVisibilityHandler.js.map +1 -0
- package/lib/cjs/components/trees/index.d.ts +10 -3
- package/lib/cjs/components/trees/index.js +13 -6
- package/lib/cjs/components/trees/index.js.map +1 -1
- package/lib/cjs/components/trees/models-tree/Hierarchy.GroupedByClass.json +392 -0
- package/lib/cjs/components/trees/models-tree/Hierarchy.json +387 -0
- package/lib/cjs/components/trees/models-tree/ModelsTree.d.ts +82 -0
- package/lib/cjs/components/trees/models-tree/ModelsTree.js +144 -0
- package/lib/cjs/components/trees/models-tree/ModelsTree.js.map +1 -0
- package/lib/cjs/components/trees/{ModelsTree.scss → models-tree/ModelsTree.scss} +5 -1
- package/lib/{esm/components/trees/ModelsTree.d.ts → cjs/components/trees/models-tree/ModelsTreeComponent.d.ts} +2 -2
- package/lib/cjs/components/trees/{ModelsTree.js → models-tree/ModelsTreeComponent.js} +6 -5
- package/lib/cjs/components/trees/models-tree/ModelsTreeComponent.js.map +1 -0
- package/lib/cjs/components/trees/models-tree/ModelsTreeSearch.json +239 -0
- package/lib/cjs/components/trees/models-tree/ModelsVisibilityHandler.d.ts +100 -0
- package/lib/cjs/components/trees/models-tree/ModelsVisibilityHandler.js +477 -0
- package/lib/cjs/components/trees/models-tree/ModelsVisibilityHandler.js.map +1 -0
- package/lib/cjs/components/trees/models-tree/Utils.d.ts +10 -0
- package/lib/cjs/components/trees/models-tree/Utils.js +27 -0
- package/lib/cjs/components/trees/models-tree/Utils.js.map +1 -0
- package/lib/cjs/components/trees/{SpatialTree.d.ts → spatial-tree/SpatialTreeComponent.d.ts} +2 -2
- package/lib/cjs/components/trees/{SpatialTree.js → spatial-tree/SpatialTreeComponent.js} +2 -2
- package/lib/cjs/components/trees/spatial-tree/SpatialTreeComponent.js.map +1 -0
- package/lib/cjs/tree-widget-react.js +3 -3
- package/lib/cjs/tree-widget-react.js.map +1 -1
- package/lib/cjs/types.d.ts +3 -1
- package/lib/cjs/types.js.map +1 -1
- package/lib/esm/TreeWidget.js +4 -2
- package/lib/esm/TreeWidget.js.map +1 -1
- package/lib/esm/components/TreeWidgetUiItemsProvider.js +3 -3
- package/lib/esm/components/TreeWidgetUiItemsProvider.js.map +1 -1
- package/lib/esm/components/rulesets/ClassificationSystems.json +122 -0
- package/lib/esm/components/rulesets/IModelContent.json +407 -407
- package/lib/esm/components/trees/Common.d.ts +21 -0
- package/lib/esm/components/trees/Common.js +18 -0
- package/lib/esm/components/trees/Common.js.map +1 -0
- package/lib/esm/components/trees/VisibilityTreeBase.scss +53 -0
- package/lib/esm/components/trees/VisibilityTreeEventHandler.d.ts +67 -0
- package/lib/esm/components/trees/VisibilityTreeEventHandler.js +143 -0
- package/lib/esm/components/trees/VisibilityTreeEventHandler.js.map +1 -0
- package/lib/esm/components/trees/VisibilityTreeRenderer.d.ts +43 -0
- package/lib/esm/components/trees/VisibilityTreeRenderer.js +54 -0
- package/lib/esm/components/trees/VisibilityTreeRenderer.js.map +1 -0
- package/lib/esm/components/trees/category-tree/Categories.json +102 -0
- package/lib/esm/components/trees/category-tree/CategoriesTree.d.ts +65 -0
- package/lib/esm/components/trees/category-tree/CategoriesTree.js +96 -0
- package/lib/esm/components/trees/category-tree/CategoriesTree.js.map +1 -0
- package/lib/{cjs/components/trees → esm/components/trees/category-tree}/CategoriesTree.scss +5 -0
- package/lib/esm/components/trees/{CategoriesTree.d.ts → category-tree/CategoriesTreeComponent.d.ts} +2 -2
- package/lib/esm/components/trees/{CategoriesTree.js → category-tree/CategoriesTreeComponent.js} +8 -7
- package/lib/esm/components/trees/category-tree/CategoriesTreeComponent.js.map +1 -0
- package/lib/esm/components/trees/category-tree/CategoryVisibilityHandler.d.ts +54 -0
- package/lib/esm/components/trees/category-tree/CategoryVisibilityHandler.js +188 -0
- package/lib/esm/components/trees/category-tree/CategoryVisibilityHandler.js.map +1 -0
- package/lib/esm/components/trees/index.d.ts +10 -3
- package/lib/esm/components/trees/index.js +13 -6
- package/lib/esm/components/trees/index.js.map +1 -1
- package/lib/esm/components/trees/models-tree/Hierarchy.GroupedByClass.json +392 -0
- package/lib/esm/components/trees/models-tree/Hierarchy.json +387 -0
- package/lib/esm/components/trees/models-tree/ModelsTree.d.ts +82 -0
- package/lib/esm/components/trees/models-tree/ModelsTree.js +121 -0
- package/lib/esm/components/trees/models-tree/ModelsTree.js.map +1 -0
- package/lib/esm/components/trees/{ModelsTree.scss → models-tree/ModelsTree.scss} +5 -1
- package/lib/{cjs/components/trees/ModelsTree.d.ts → esm/components/trees/models-tree/ModelsTreeComponent.d.ts} +2 -2
- package/lib/esm/components/trees/{ModelsTree.js → models-tree/ModelsTreeComponent.js} +6 -5
- package/lib/esm/components/trees/models-tree/ModelsTreeComponent.js.map +1 -0
- package/lib/esm/components/trees/models-tree/ModelsTreeSearch.json +239 -0
- package/lib/esm/components/trees/models-tree/ModelsVisibilityHandler.d.ts +100 -0
- package/lib/esm/components/trees/models-tree/ModelsVisibilityHandler.js +472 -0
- package/lib/esm/components/trees/models-tree/ModelsVisibilityHandler.js.map +1 -0
- package/lib/esm/components/trees/models-tree/Utils.d.ts +10 -0
- package/lib/esm/components/trees/models-tree/Utils.js +23 -0
- package/lib/esm/components/trees/models-tree/Utils.js.map +1 -0
- package/lib/esm/components/trees/{SpatialTree.d.ts → spatial-tree/SpatialTreeComponent.d.ts} +2 -2
- package/lib/esm/components/trees/{SpatialTree.js → spatial-tree/SpatialTreeComponent.js} +2 -2
- package/lib/esm/components/trees/spatial-tree/SpatialTreeComponent.js.map +1 -0
- package/lib/esm/tree-widget-react.js +3 -3
- package/lib/esm/tree-widget-react.js.map +1 -1
- package/lib/esm/types.d.ts +3 -1
- package/lib/esm/types.js.map +1 -1
- package/lib/public/locales/en/TreeWidget.json +38 -1
- package/package.json +54 -32
- package/lib/cjs/components/trees/CategoriesTree.js.map +0 -1
- package/lib/cjs/components/trees/ModelsTree.js.map +0 -1
- package/lib/cjs/components/trees/SpatialTree.js.map +0 -1
- package/lib/esm/components/trees/CategoriesTree.js.map +0 -1
- package/lib/esm/components/trees/ModelsTree.js.map +0 -1
- package/lib/esm/components/trees/SpatialTree.js.map +0 -1
|
@@ -10,11 +10,11 @@ exports.SpatialTreeComponent = void 0;
|
|
|
10
10
|
*--------------------------------------------------------------------------------------------*/
|
|
11
11
|
const appui_react_1 = require("@itwin/appui-react");
|
|
12
12
|
const react_1 = __importDefault(require("react"));
|
|
13
|
-
const AutoSizer_1 = require("
|
|
13
|
+
const AutoSizer_1 = require("../../utils/AutoSizer");
|
|
14
14
|
const SpatialTreeComponent = (props) => {
|
|
15
15
|
const iModel = appui_react_1.useActiveIModelConnection();
|
|
16
16
|
return (react_1.default.createElement(react_1.default.Fragment, null, iModel &&
|
|
17
17
|
react_1.default.createElement(AutoSizer_1.AutoSizer, null, ({ width, height }) => react_1.default.createElement(appui_react_1.SpatialContainmentTree, { ...props, width: width, height: height, iModel: iModel }))));
|
|
18
18
|
};
|
|
19
19
|
exports.SpatialTreeComponent = SpatialTreeComponent;
|
|
20
|
-
//# sourceMappingURL=
|
|
20
|
+
//# sourceMappingURL=SpatialTreeComponent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SpatialTreeComponent.js","sourceRoot":"","sources":["../../../../../src/components/trees/spatial-tree/SpatialTreeComponent.tsx"],"names":[],"mappings":";;;;;;AAAA;;;+FAG+F;AAC/F,oDAAuF;AACvF,kDAA0B;AAE1B,qDAAkD;AAE3C,MAAM,oBAAoB,GAAG,CAClC,KAAuB,EAAE,EAAE;IAC3B,MAAM,MAAM,GAAG,uCAAyB,EAAE,CAAC;IAE3C,OAAO,CACL,8DACG,MAAM;QACL,8BAAC,qBAAS,QACP,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,8BAAC,oCAAsB,OAAK,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAI,CACjG,CAEb,CACJ,CAAC;AACJ,CAAC,CAAC;AAbW,QAAA,oBAAoB,wBAa/B","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*--------------------------------------------------------------------------------------------*/\nimport { SpatialContainmentTree, useActiveIModelConnection } from \"@itwin/appui-react\";\nimport React from \"react\";\nimport type { SpatialTreeProps } from \"../../../types\";\nimport { AutoSizer } from \"../../utils/AutoSizer\";\n\nexport const SpatialTreeComponent = (\n props: SpatialTreeProps) => {\n const iModel = useActiveIModelConnection();\n\n return (\n <>\n {iModel &&\n <AutoSizer>\n {({ width, height }) => <SpatialContainmentTree {...props} width={width} height={height} iModel={iModel} />}\n </AutoSizer>\n }\n </>\n );\n};\n"]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/*---------------------------------------------------------------------------------------------
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
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
6
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
7
7
|
if (k2 === undefined) k2 = k;
|
|
8
8
|
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree-widget-react.js","sourceRoot":"","sources":["../../src/tree-widget-react.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"tree-widget-react.js","sourceRoot":"","sources":["../../src/tree-widget-react.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;;;;;;;;;;;;AAE/F,0CAAwB;AACxB,+CAA6B;AAC7B,mEAAiD;AACjD,iEAA+C;AAC/C,qDAAmC;AACnC,yEAAuD","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 * from \"./types\";\nexport * from \"./TreeWidget\";\nexport * from \"./components/TreeWidgetComponent\";\nexport * from \"./components/header/TreeHeader\";\nexport * from \"./components/trees\";\nexport * from \"./components/TreeWidgetUiItemsProvider\";\n"]}
|
package/lib/cjs/types.d.ts
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import type { StagePanelLocation, StagePanelSection } from "@itwin/appui-abstract";
|
|
3
|
-
import type {
|
|
3
|
+
import type { SpatialContainmentTreeProps } from "@itwin/appui-react";
|
|
4
4
|
import type { SelectableContentDefinition } from "@itwin/components-react";
|
|
5
5
|
import type { IModelConnection } from "@itwin/core-frontend";
|
|
6
|
+
import type { CategoryTreeProps } from "./components/trees/category-tree/CategoriesTree";
|
|
7
|
+
import type { ModelsTreeProps } from "./components/trees/models-tree/ModelsTree";
|
|
6
8
|
export interface IModelContentTreeProps extends Omit<React.AllHTMLAttributes<HTMLDivElement>, "children"> {
|
|
7
9
|
iModel: IModelConnection;
|
|
8
10
|
}
|
package/lib/cjs/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";;;AAyCa,QAAA,YAAY,GAAG,aAAa,CAAC;AAE7B,QAAA,gBAAgB,GAAG,iBAAiB,CAAC;AAErC,QAAA,wBAAwB,GAAG,0BAA0B,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*--------------------------------------------------------------------------------------------*/\nimport type { StagePanelLocation, StagePanelSection } from \"@itwin/appui-abstract\";\nimport type { SpatialContainmentTreeProps } from \"@itwin/appui-react\";\nimport type { SelectableContentDefinition } from \"@itwin/components-react\";\nimport type { IModelConnection } from \"@itwin/core-frontend\";\nimport type { CategoryTreeProps } from \"./components/trees/category-tree/CategoriesTree\";\nimport type { ModelsTreeProps } from \"./components/trees/models-tree/ModelsTree\";\n\nexport interface IModelContentTreeProps\n extends Omit<React.AllHTMLAttributes<HTMLDivElement>, \"children\"> {\n iModel: IModelConnection;\n}\n\nexport type ModelTreeProps = Omit<\nModelsTreeProps,\n| \"iModel\"\n| \"activeView\"\n| \"width\"\n| \"height\"\n| \"filterInfo\"\n| \"onFilterApplied\"\n>;\n\nexport type CategoriesTreeProps = Omit<\nCategoryTreeProps,\n| \"iModel\"\n| \"activeView\"\n| \"width\"\n| \"height\"\n| \"filterInfo\"\n| \"onFilterApplied\"\n>;\n\nexport type SpatialTreeProps = Omit<\nSpatialContainmentTreeProps,\n\"iModel\" | \"width\" | \"height\"\n>;\n\nexport const ModelsTreeId = \"models-tree\";\n\nexport const CategoriesTreeId = \"categories-tree\";\n\nexport const SpatialContainmentTreeId = \"spatial-containment-tree\";\n\nexport interface TreeWidgetOptions {\n defaultPanelLocation?: StagePanelLocation;\n defaultPanelSection?: StagePanelSection;\n defaultTreeWidgetPriority?: number;\n enableElementsClassGrouping?: boolean;\n additionalTrees?: SelectableContentDefinition[];\n modelsTreeProps?: ModelTreeProps;\n categoriesTreeProps?: CategoriesTreeProps;\n spatialTreeProps?: SpatialTreeProps;\n defaultTreeId?: string;\n hideTrees?: {\n modelsTree?: boolean;\n categoriesTree?: boolean;\n spatialTree?: boolean;\n };\n}\n"]}
|
package/lib/esm/TreeWidget.js
CHANGED
|
@@ -16,7 +16,7 @@ export class TreeWidget {
|
|
|
16
16
|
static async initialize(i18n) {
|
|
17
17
|
if (this._initialized)
|
|
18
18
|
return;
|
|
19
|
-
|
|
19
|
+
TreeWidget._initialized = true;
|
|
20
20
|
TreeWidget._i18n = i18n !== null && i18n !== void 0 ? i18n : IModelApp.localization;
|
|
21
21
|
return TreeWidget._i18n.registerNamespace(TreeWidget.i18nNamespace);
|
|
22
22
|
}
|
|
@@ -25,6 +25,7 @@ export class TreeWidget {
|
|
|
25
25
|
if (TreeWidget._i18n)
|
|
26
26
|
TreeWidget._i18n.unregisterNamespace(TreeWidget.i18nNamespace);
|
|
27
27
|
TreeWidget._i18n = undefined;
|
|
28
|
+
TreeWidget._initialized = false;
|
|
28
29
|
}
|
|
29
30
|
/** The internationalization service created by the IModelApp. */
|
|
30
31
|
static get i18n() {
|
|
@@ -42,7 +43,8 @@ export class TreeWidget {
|
|
|
42
43
|
/** Calls i18n.translateWithNamespace with the "TreeWidget" namespace. Do NOT include the namespace in the key.
|
|
43
44
|
*/
|
|
44
45
|
static translate(key, options) {
|
|
45
|
-
|
|
46
|
+
const stringKey = `${TreeWidget.i18nNamespace}:${key}`;
|
|
47
|
+
return TreeWidget.i18n.getLocalizedString(stringKey, options);
|
|
46
48
|
}
|
|
47
49
|
static loggerCategory(obj) {
|
|
48
50
|
const className = getClassName(obj);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TreeWidget.js","sourceRoot":"","sources":["../../src/TreeWidget.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAE/F,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAIjD;;;GAGG;AACH,MAAM,OAAO,UAAU;IAIrB;;;OAGG;IACI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,IAAmB;QAChD,IAAI,IAAI,CAAC,YAAY;YAAE,OAAO;QAE9B,
|
|
1
|
+
{"version":3,"file":"TreeWidget.js","sourceRoot":"","sources":["../../src/TreeWidget.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAE/F,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAIjD;;;GAGG;AACH,MAAM,OAAO,UAAU;IAIrB;;;OAGG;IACI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,IAAmB;QAChD,IAAI,IAAI,CAAC,YAAY;YAAE,OAAO;QAE9B,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC;QAC/B,UAAU,CAAC,KAAK,GAAG,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,SAAS,CAAC,YAAY,CAAC;QAElD,OAAO,UAAU,CAAC,KAAK,CAAC,iBAAiB,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IACtE,CAAC;IAED,wEAAwE;IACjE,MAAM,CAAC,SAAS;QACrB,IAAI,UAAU,CAAC,KAAK;YAClB,UAAU,CAAC,KAAK,CAAC,mBAAmB,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QACjE,UAAU,CAAC,KAAK,GAAG,SAAS,CAAC;QAC7B,UAAU,CAAC,YAAY,GAAG,KAAK,CAAC;IAClC,CAAC;IAED,iEAAiE;IAC1D,MAAM,KAAK,IAAI;QACpB,IAAI,CAAC,UAAU,CAAC,KAAK;YACnB,MAAM,IAAI,OAAO,CACf,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,EAC/B,4BAA4B,CAC7B,CAAC;QACJ,OAAO,UAAU,CAAC,KAAK,CAAC;IAC1B,CAAC;IAED,kDAAkD;IAC3C,MAAM,KAAK,aAAa;QAC7B,OAAO,YAAY,CAAC;IACtB,CAAC;IAEM,MAAM,KAAK,WAAW;QAC3B,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAED;OACG;IACI,MAAM,CAAC,SAAS,CACrB,GAAsB,EACtB,OAA6B;QAE7B,MAAM,SAAS,GAAG,GAAG,UAAU,CAAC,aAAa,IAAI,GAAG,EAAE,CAAC;QACvD,OAAO,UAAU,CAAC,IAAI,CAAC,kBAAkB,CACvC,SAAS,EACT,OAAO,CACR,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,cAAc,CAAC,GAAQ;QACnC,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;QACpC,MAAM,QAAQ,GACZ,UAAU,CAAC,WAAW,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC9D,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF","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 { getClassName, UiError } from \"@itwin/appui-abstract\";\nimport { IModelApp } from \"@itwin/core-frontend\";\nimport type { Localization } from \"@itwin/core-common\";\nimport type { LocalizationOptions } from \"@itwin/core-i18n\";\n\n/**\n * Entry point for static initialization required by various components used in the package.\n * @public\n */\nexport class TreeWidget {\n private static _i18n?: Localization;\n private static _initialized?: boolean;\n\n /**\n * Called by IModelApp to initialize the Tree Widget\n * @param i18n - The internationalization service created by the IModelApp.\n */\n public static async initialize(i18n?: Localization): Promise<void> {\n if (this._initialized) return;\n\n TreeWidget._initialized = true;\n TreeWidget._i18n = i18n ?? IModelApp.localization;\n\n return TreeWidget._i18n.registerNamespace(TreeWidget.i18nNamespace);\n }\n\n /** Unregisters the TreeWidget internationalization service namespace */\n public static terminate() {\n if (TreeWidget._i18n)\n TreeWidget._i18n.unregisterNamespace(TreeWidget.i18nNamespace);\n TreeWidget._i18n = undefined;\n TreeWidget._initialized = false;\n }\n\n /** The internationalization service created by the IModelApp. */\n public static get i18n(): Localization {\n if (!TreeWidget._i18n)\n throw new UiError(\n TreeWidget.loggerCategory(this),\n \"TreeWidget not initialized\"\n );\n return TreeWidget._i18n;\n }\n\n /** The internationalization service namespace. */\n public static get i18nNamespace(): string {\n return \"TreeWidget\";\n }\n\n public static get packageName(): string {\n return \"tree-widget-react\";\n }\n\n /** Calls i18n.translateWithNamespace with the \"TreeWidget\" namespace. Do NOT include the namespace in the key.\n */\n public static translate(\n key: string | string[],\n options?: LocalizationOptions\n ): string {\n const stringKey = `${TreeWidget.i18nNamespace}:${key}`;\n return TreeWidget.i18n.getLocalizedString(\n stringKey,\n options\n );\n }\n\n public static loggerCategory(obj: any): string {\n const className = getClassName(obj);\n const category =\n TreeWidget.packageName + (className ? `.${className}` : \"\");\n return category;\n }\n}\n"]}
|
|
@@ -3,9 +3,9 @@ import { AbstractZoneLocation, StagePanelLocation, StageUsage, } from "@itwin/ap
|
|
|
3
3
|
import { ClassGroupingOption, UiFramework } from "@itwin/appui-react";
|
|
4
4
|
import React from "react";
|
|
5
5
|
import { TreeWidgetComponent } from "./TreeWidgetComponent";
|
|
6
|
-
import { CategoriesTreeComponent } from "./trees/
|
|
7
|
-
import { ModelsTreeComponent } from "./trees/
|
|
8
|
-
import { SpatialTreeComponent } from "./trees/
|
|
6
|
+
import { CategoriesTreeComponent } from "./trees/category-tree/CategoriesTreeComponent";
|
|
7
|
+
import { ModelsTreeComponent } from "./trees/models-tree/ModelsTreeComponent";
|
|
8
|
+
import { SpatialTreeComponent } from "./trees/spatial-tree/SpatialTreeComponent";
|
|
9
9
|
import { TreeWidget } from "../TreeWidget";
|
|
10
10
|
import { CategoriesTreeId, ModelsTreeId, SpatialContainmentTreeId } from "../types";
|
|
11
11
|
export const TreeWidgetId = "tree-widget-react:trees";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TreeWidgetUiItemsProvider.js","sourceRoot":"","sources":["../../../src/components/TreeWidgetUiItemsProvider.tsx"],"names":[],"mappings":"AASA,OAAO,EACL,iBAAiB,GAClB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,UAAU,GACX,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"TreeWidgetUiItemsProvider.js","sourceRoot":"","sources":["../../../src/components/TreeWidgetUiItemsProvider.tsx"],"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/* eslint-disable react/display-name */\nimport type {\n AbstractWidgetProps,\n UiItemsProvider,\n} from \"@itwin/appui-abstract\";\nimport {\n StagePanelSection,\n} from \"@itwin/appui-abstract\";\nimport {\n AbstractZoneLocation,\n StagePanelLocation,\n StageUsage,\n} from \"@itwin/appui-abstract\";\nimport { ClassGroupingOption, UiFramework } from \"@itwin/appui-react\";\nimport React from \"react\";\nimport { TreeWidgetComponent } from \"./TreeWidgetComponent\";\nimport { CategoriesTreeComponent } from \"./trees/category-tree/CategoriesTreeComponent\";\nimport { ModelsTreeComponent } from \"./trees/models-tree/ModelsTreeComponent\";\nimport { SpatialTreeComponent } from \"./trees/spatial-tree/SpatialTreeComponent\";\nimport type { SelectableContentDefinition } from \"@itwin/components-react\";\nimport { TreeWidget } from \"../TreeWidget\";\nimport type { TreeWidgetOptions } from \"../types\";\nimport { CategoriesTreeId, ModelsTreeId, SpatialContainmentTreeId } from \"../types\";\n\nexport const TreeWidgetId = \"tree-widget-react:trees\";\nexport class TreeWidgetUiItemsProvider implements UiItemsProvider {\n public readonly id = \"TreeWidgetUiItemsProvider\";\n\n constructor(private _treeWidgetOptions?: TreeWidgetOptions) { }\n\n public provideWidgets(\n _stageId: string,\n stageUsage: string,\n location: StagePanelLocation,\n section?: StagePanelSection,\n // eslint-disable-next-line deprecation/deprecation\n zoneLocation?: AbstractZoneLocation,\n ): ReadonlyArray<AbstractWidgetProps> {\n const widgets: AbstractWidgetProps[] = [];\n const preferredLocation = this._treeWidgetOptions?.defaultPanelLocation ?? StagePanelLocation.Right;\n const preferredPanelSection = this._treeWidgetOptions?.defaultPanelSection ?? StagePanelSection.Start;\n if (\n // eslint-disable-next-line deprecation/deprecation\n (!section && stageUsage === StageUsage.General && zoneLocation === AbstractZoneLocation.CenterRight) ||\n (stageUsage === StageUsage.General && location === preferredLocation && section === preferredPanelSection\n && UiFramework.uiVersion !== \"1\")\n ) {\n const trees: SelectableContentDefinition[] = [];\n\n if (!this._treeWidgetOptions?.hideTrees?.modelsTree) {\n trees.push({\n label: TreeWidget.translate(\"models\"),\n id: ModelsTreeId,\n render: () => (\n <ModelsTreeComponent\n enableElementsClassGrouping={\n this._treeWidgetOptions?.enableElementsClassGrouping\n ? ClassGroupingOption.YesWithCounts\n : ClassGroupingOption.No\n }\n {...this._treeWidgetOptions?.modelsTreeProps}\n />\n ),\n });\n }\n\n if (!this._treeWidgetOptions?.hideTrees?.categoriesTree) {\n trees.push({\n label: TreeWidget.translate(\"categories\"),\n id: CategoriesTreeId,\n render: () => (\n <CategoriesTreeComponent {...this._treeWidgetOptions?.categoriesTreeProps} />\n ),\n });\n }\n\n if (!this._treeWidgetOptions?.hideTrees?.spatialTree) {\n trees.push({\n label: TreeWidget.translate(\"containment\"),\n id: SpatialContainmentTreeId,\n render: () => (\n <SpatialTreeComponent\n enableElementsClassGrouping={\n this._treeWidgetOptions?.enableElementsClassGrouping\n ? ClassGroupingOption.YesWithCounts\n : ClassGroupingOption.No\n }\n {...this._treeWidgetOptions?.spatialTreeProps}\n />\n ),\n });\n }\n\n if (this._treeWidgetOptions?.additionalTrees) {\n trees.push(...this._treeWidgetOptions.additionalTrees);\n }\n\n if (this._treeWidgetOptions?.defaultTreeId && trees.length !== 0) {\n // Adding the defaultTree to first index\n const { defaultTreeId } = this._treeWidgetOptions;\n const extractedDefaultTree = trees.filter((tree) => tree.id === defaultTreeId)[0];\n const index = trees.indexOf(extractedDefaultTree);\n trees.unshift(trees.splice(index, 1)[0]);\n }\n\n widgets.push({\n id: TreeWidgetId,\n label: TreeWidget.translate(\"treeview\"),\n getWidgetContent: () => <TreeWidgetComponent trees={trees} />,\n icon: \"icon-hierarchy-tree\",\n restoreTransientState: () => true,\n priority: this._treeWidgetOptions?.defaultTreeWidgetPriority,\n });\n }\n\n return widgets;\n }\n}\n"]}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "tree-widget-react/ClassificationSystems",
|
|
3
|
+
"rules": [
|
|
4
|
+
{
|
|
5
|
+
"ruleType": "RootNodes",
|
|
6
|
+
"specifications": [
|
|
7
|
+
{
|
|
8
|
+
"specType": "InstanceNodesOfSpecificClasses",
|
|
9
|
+
"classes": [
|
|
10
|
+
{
|
|
11
|
+
"schemaName": "ClassificationSystems",
|
|
12
|
+
"classNames": [
|
|
13
|
+
"ClassificationSystem"
|
|
14
|
+
]
|
|
15
|
+
}
|
|
16
|
+
],
|
|
17
|
+
"arePolymorphic": false,
|
|
18
|
+
"groupByClass": false,
|
|
19
|
+
"groupByLabel": false
|
|
20
|
+
}
|
|
21
|
+
]
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"ruleType": "ChildNodes",
|
|
25
|
+
"condition": "ParentNode.IsOfClass(\"ClassificationSystem\", \"ClassificationSystems\")",
|
|
26
|
+
"specifications": [
|
|
27
|
+
{
|
|
28
|
+
"specType": "RelatedInstanceNodes",
|
|
29
|
+
"relationships": {
|
|
30
|
+
"schemaName": "ClassificationSystems",
|
|
31
|
+
"classNames": [
|
|
32
|
+
"ClassificationSystemOwnsClassificationTable"
|
|
33
|
+
]
|
|
34
|
+
},
|
|
35
|
+
"relatedClasses": {
|
|
36
|
+
"schemaName": "ClassificationSystems",
|
|
37
|
+
"classNames": [
|
|
38
|
+
"ClassificationTable"
|
|
39
|
+
]
|
|
40
|
+
},
|
|
41
|
+
"requiredDirection": "Forward",
|
|
42
|
+
"groupByClass": false,
|
|
43
|
+
"groupByLabel": false,
|
|
44
|
+
"doNotSort": true
|
|
45
|
+
}
|
|
46
|
+
]
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"ruleType": "ChildNodes",
|
|
50
|
+
"condition": "ParentNode.IsOfClass(\"ClassificationTable\", \"ClassificationSystems\")",
|
|
51
|
+
"specifications": [
|
|
52
|
+
{
|
|
53
|
+
"specType": "RelatedInstanceNodes",
|
|
54
|
+
"relationships": {
|
|
55
|
+
"schemaName": "BisCore",
|
|
56
|
+
"classNames": [
|
|
57
|
+
"ModelModelsElement"
|
|
58
|
+
]
|
|
59
|
+
},
|
|
60
|
+
"relatedClasses": {
|
|
61
|
+
"schemaName": "BisCore",
|
|
62
|
+
"classNames": [
|
|
63
|
+
"Model"
|
|
64
|
+
]
|
|
65
|
+
},
|
|
66
|
+
"requiredDirection": "Backward",
|
|
67
|
+
"groupByClass": false,
|
|
68
|
+
"groupByLabel": false,
|
|
69
|
+
"hideNodesInHierarchy": true
|
|
70
|
+
}
|
|
71
|
+
]
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
"ruleType": "ChildNodes",
|
|
75
|
+
"condition": "ParentNode.IsOfClass(\"Model\", \"BisCore\")",
|
|
76
|
+
"specifications": [
|
|
77
|
+
{
|
|
78
|
+
"specType": "RelatedInstanceNodes",
|
|
79
|
+
"relationships": {
|
|
80
|
+
"schemaName": "BisCore",
|
|
81
|
+
"classNames": [
|
|
82
|
+
"ModelContainsElements"
|
|
83
|
+
]
|
|
84
|
+
},
|
|
85
|
+
"relatedClasses": {
|
|
86
|
+
"schemaName": "ClassificationSystems",
|
|
87
|
+
"classNames": [
|
|
88
|
+
"Classification"
|
|
89
|
+
]
|
|
90
|
+
},
|
|
91
|
+
"requiredDirection": "Forward",
|
|
92
|
+
"groupByClass": false,
|
|
93
|
+
"groupByLabel": false
|
|
94
|
+
}
|
|
95
|
+
]
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
"ruleType": "ChildNodes",
|
|
99
|
+
"condition": "ParentNode.IsOfClass(\"Classification\", \"ClassificationSystems\")",
|
|
100
|
+
"specifications": [
|
|
101
|
+
{
|
|
102
|
+
"specType": "RelatedInstanceNodes",
|
|
103
|
+
"relationships": {
|
|
104
|
+
"schemaName": "ClassificationSystems",
|
|
105
|
+
"classNames": [
|
|
106
|
+
"ElementHasClassifications"
|
|
107
|
+
]
|
|
108
|
+
},
|
|
109
|
+
"relatedClasses": {
|
|
110
|
+
"schemaName": "BisCore",
|
|
111
|
+
"classNames": [
|
|
112
|
+
"Element"
|
|
113
|
+
]
|
|
114
|
+
},
|
|
115
|
+
"requiredDirection": "Backward",
|
|
116
|
+
"groupByClass": false,
|
|
117
|
+
"groupByLabel": false
|
|
118
|
+
}
|
|
119
|
+
]
|
|
120
|
+
}
|
|
121
|
+
]
|
|
122
|
+
}
|