@itwin/tree-widget-react 0.5.0 → 0.6.1
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 +68 -0
- package/lib/cjs/components/trees/VisibilityTreeEventHandler.js +162 -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 +103 -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 +68 -0
- package/lib/esm/components/trees/VisibilityTreeEventHandler.js +158 -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 +103 -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
package/lib/cjs/TreeWidget.js
CHANGED
|
@@ -19,7 +19,7 @@ class TreeWidget {
|
|
|
19
19
|
static async initialize(i18n) {
|
|
20
20
|
if (this._initialized)
|
|
21
21
|
return;
|
|
22
|
-
|
|
22
|
+
TreeWidget._initialized = true;
|
|
23
23
|
TreeWidget._i18n = i18n !== null && i18n !== void 0 ? i18n : core_frontend_1.IModelApp.localization;
|
|
24
24
|
return TreeWidget._i18n.registerNamespace(TreeWidget.i18nNamespace);
|
|
25
25
|
}
|
|
@@ -28,6 +28,7 @@ class TreeWidget {
|
|
|
28
28
|
if (TreeWidget._i18n)
|
|
29
29
|
TreeWidget._i18n.unregisterNamespace(TreeWidget.i18nNamespace);
|
|
30
30
|
TreeWidget._i18n = undefined;
|
|
31
|
+
TreeWidget._initialized = false;
|
|
31
32
|
}
|
|
32
33
|
/** The internationalization service created by the IModelApp. */
|
|
33
34
|
static get i18n() {
|
|
@@ -45,7 +46,8 @@ class TreeWidget {
|
|
|
45
46
|
/** Calls i18n.translateWithNamespace with the "TreeWidget" namespace. Do NOT include the namespace in the key.
|
|
46
47
|
*/
|
|
47
48
|
static translate(key, options) {
|
|
48
|
-
|
|
49
|
+
const stringKey = `${TreeWidget.i18nNamespace}:${key}`;
|
|
50
|
+
return TreeWidget.i18n.getLocalizedString(stringKey, options);
|
|
49
51
|
}
|
|
50
52
|
static loggerCategory(obj) {
|
|
51
53
|
const className = appui_abstract_1.getClassName(obj);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TreeWidget.js","sourceRoot":"","sources":["../../src/TreeWidget.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;;;AAE/F,0DAA8D;AAC9D,wDAAiD;AAIjD;;;GAGG;AACH,MAAa,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,0DAA8D;AAC9D,wDAAiD;AAIjD;;;GAGG;AACH,MAAa,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,yBAAS,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,wBAAO,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,6BAAY,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;AA/DD,gCA+DC","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"]}
|
|
@@ -9,9 +9,9 @@ const appui_abstract_2 = require("@itwin/appui-abstract");
|
|
|
9
9
|
const appui_react_1 = require("@itwin/appui-react");
|
|
10
10
|
const react_1 = __importDefault(require("react"));
|
|
11
11
|
const TreeWidgetComponent_1 = require("./TreeWidgetComponent");
|
|
12
|
-
const
|
|
13
|
-
const
|
|
14
|
-
const
|
|
12
|
+
const CategoriesTreeComponent_1 = require("./trees/category-tree/CategoriesTreeComponent");
|
|
13
|
+
const ModelsTreeComponent_1 = require("./trees/models-tree/ModelsTreeComponent");
|
|
14
|
+
const SpatialTreeComponent_1 = require("./trees/spatial-tree/SpatialTreeComponent");
|
|
15
15
|
const TreeWidget_1 = require("../TreeWidget");
|
|
16
16
|
const types_1 = require("../types");
|
|
17
17
|
exports.TreeWidgetId = "tree-widget-react:trees";
|
|
@@ -39,7 +39,7 @@ class TreeWidgetUiItemsProvider {
|
|
|
39
39
|
id: types_1.ModelsTreeId,
|
|
40
40
|
render: () => {
|
|
41
41
|
var _a, _b;
|
|
42
|
-
return (react_1.default.createElement(
|
|
42
|
+
return (react_1.default.createElement(ModelsTreeComponent_1.ModelsTreeComponent, { enableElementsClassGrouping: ((_a = this._treeWidgetOptions) === null || _a === void 0 ? void 0 : _a.enableElementsClassGrouping)
|
|
43
43
|
? appui_react_1.ClassGroupingOption.YesWithCounts
|
|
44
44
|
: appui_react_1.ClassGroupingOption.No, ...(_b = this._treeWidgetOptions) === null || _b === void 0 ? void 0 : _b.modelsTreeProps }));
|
|
45
45
|
},
|
|
@@ -51,7 +51,7 @@ class TreeWidgetUiItemsProvider {
|
|
|
51
51
|
id: types_1.CategoriesTreeId,
|
|
52
52
|
render: () => {
|
|
53
53
|
var _a;
|
|
54
|
-
return (react_1.default.createElement(
|
|
54
|
+
return (react_1.default.createElement(CategoriesTreeComponent_1.CategoriesTreeComponent, { ...(_a = this._treeWidgetOptions) === null || _a === void 0 ? void 0 : _a.categoriesTreeProps }));
|
|
55
55
|
},
|
|
56
56
|
});
|
|
57
57
|
}
|
|
@@ -61,7 +61,7 @@ class TreeWidgetUiItemsProvider {
|
|
|
61
61
|
id: types_1.SpatialContainmentTreeId,
|
|
62
62
|
render: () => {
|
|
63
63
|
var _a, _b;
|
|
64
|
-
return (react_1.default.createElement(
|
|
64
|
+
return (react_1.default.createElement(SpatialTreeComponent_1.SpatialTreeComponent, { enableElementsClassGrouping: ((_a = this._treeWidgetOptions) === null || _a === void 0 ? void 0 : _a.enableElementsClassGrouping)
|
|
65
65
|
? appui_react_1.ClassGroupingOption.YesWithCounts
|
|
66
66
|
: appui_react_1.ClassGroupingOption.No, ...(_b = this._treeWidgetOptions) === null || _b === void 0 ? void 0 : _b.spatialTreeProps }));
|
|
67
67
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TreeWidgetUiItemsProvider.js","sourceRoot":"","sources":["../../../src/components/TreeWidgetUiItemsProvider.tsx"],"names":[],"mappings":";;;;;;AASA,0DAE+B;AAC/B,0DAI+B;AAC/B,oDAAsE;AACtE,kDAA0B;AAC1B,+DAA4D;AAC5D,
|
|
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
|
+
}
|