@itwin/tree-widget-react 3.1.0 → 3.2.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.
Files changed (31) hide show
  1. package/CHANGELOG.md +16 -19
  2. package/README.md +8 -8
  3. package/lib/cjs/components/trees/common/components/Tree.d.ts +6 -1
  4. package/lib/cjs/components/trees/common/components/Tree.js +14 -4
  5. package/lib/cjs/components/trees/common/components/Tree.js.map +1 -1
  6. package/lib/cjs/components/trees/models-tree/ModelsTree.d.ts +1 -1
  7. package/lib/cjs/components/trees/models-tree/ModelsTree.js +2 -1
  8. package/lib/cjs/components/trees/models-tree/ModelsTree.js.map +1 -1
  9. package/lib/cjs/components/trees/models-tree/ModelsTreeComponent.d.ts +1 -1
  10. package/lib/cjs/components/trees/models-tree/ModelsTreeComponent.js.map +1 -1
  11. package/lib/cjs/components/trees/models-tree/UseModelsTree.d.ts +11 -2
  12. package/lib/cjs/components/trees/models-tree/UseModelsTree.js +9 -1
  13. package/lib/cjs/components/trees/models-tree/UseModelsTree.js.map +1 -1
  14. package/lib/cjs/components/trees/models-tree/internal/ModelsTreeNode.d.ts +12 -6
  15. package/lib/cjs/components/trees/models-tree/internal/ModelsTreeNode.js +17 -0
  16. package/lib/cjs/components/trees/models-tree/internal/ModelsTreeNode.js.map +1 -1
  17. package/lib/esm/components/trees/common/components/Tree.d.ts +6 -1
  18. package/lib/esm/components/trees/common/components/Tree.js +14 -4
  19. package/lib/esm/components/trees/common/components/Tree.js.map +1 -1
  20. package/lib/esm/components/trees/models-tree/ModelsTree.d.ts +1 -1
  21. package/lib/esm/components/trees/models-tree/ModelsTree.js +2 -1
  22. package/lib/esm/components/trees/models-tree/ModelsTree.js.map +1 -1
  23. package/lib/esm/components/trees/models-tree/ModelsTreeComponent.d.ts +1 -1
  24. package/lib/esm/components/trees/models-tree/ModelsTreeComponent.js.map +1 -1
  25. package/lib/esm/components/trees/models-tree/UseModelsTree.d.ts +11 -2
  26. package/lib/esm/components/trees/models-tree/UseModelsTree.js +9 -1
  27. package/lib/esm/components/trees/models-tree/UseModelsTree.js.map +1 -1
  28. package/lib/esm/components/trees/models-tree/internal/ModelsTreeNode.d.ts +12 -6
  29. package/lib/esm/components/trees/models-tree/internal/ModelsTreeNode.js +17 -0
  30. package/lib/esm/components/trees/models-tree/internal/ModelsTreeNode.js.map +1 -1
  31. package/package.json +37 -31
@@ -2,6 +2,7 @@
2
2
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
3
  * See LICENSE.md in the project root for license terms and full copyright notice.
4
4
  *--------------------------------------------------------------------------------------------*/
5
+ import { HierarchyNodeKey } from "@itwin/presentation-hierarchies";
5
6
  /**
6
7
  * @internal
7
8
  */
@@ -19,6 +20,22 @@ export var ModelsTreeNode;
19
20
  * Determines if a node represents a category.
20
21
  */
21
22
  ModelsTreeNode.isCategoryNode = (node) => !!node.extendedData?.isCategory;
23
+ /** Returns type of the node. */
24
+ ModelsTreeNode.getType = (node) => {
25
+ if (HierarchyNodeKey.isClassGrouping(node.key)) {
26
+ return "elements-class-group";
27
+ }
28
+ if (ModelsTreeNode.isSubjectNode(node)) {
29
+ return "subject";
30
+ }
31
+ if (ModelsTreeNode.isModelNode(node)) {
32
+ return "model";
33
+ }
34
+ if (ModelsTreeNode.isCategoryNode(node)) {
35
+ return "category";
36
+ }
37
+ return "element";
38
+ };
22
39
  /**
23
40
  * Retrieves model ID from node's extended data.
24
41
  */
@@ -1 +1 @@
1
- {"version":3,"file":"ModelsTreeNode.js","sourceRoot":"","sources":["../../../../../../src/components/trees/models-tree/internal/ModelsTreeNode.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAQhG;;GAEG;AACH,MAAM,KAAW,cAAc,CAgC9B;AAhCD,WAAiB,cAAc;IAC7B;;OAEG;IACU,4BAAa,GAAG,CAAC,IAAoB,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC;IAEtF;;OAEG;IACU,0BAAW,GAAG,CAAC,IAAoB,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC;IAElF;;OAEG;IACU,6BAAc,GAAG,CAAC,IAAoB,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC;IAExF;;OAEG;IACU,yBAAU,GAAG,CAAC,IAAoB,EAA0B,EAAE;QACzE,IAAI,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE;YAC9B,OAAO,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC;SACnC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;QAClD,OAAO,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACxE,CAAC,CAAC;IAEF;;OAEG;IACU,4BAAa,GAAG,CAAC,IAAoB,EAA0B,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC;AAC/G,CAAC,EAhCgB,cAAc,KAAd,cAAc,QAgC9B","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 type { Id64String } from \"@itwin/core-bentley\";\n\ninterface ModelsTreeNode {\n extendedData?: any;\n}\n\n/**\n * @internal\n */\nexport namespace ModelsTreeNode {\n /**\n * Determines if a node represents a subject.\n */\n export const isSubjectNode = (node: ModelsTreeNode) => !!node.extendedData?.isSubject;\n\n /**\n * Determines if a node represents a model.\n */\n export const isModelNode = (node: ModelsTreeNode) => !!node.extendedData?.isModel;\n\n /**\n * Determines if a node represents a category.\n */\n export const isCategoryNode = (node: ModelsTreeNode) => !!node.extendedData?.isCategory;\n\n /**\n * Retrieves model ID from node's extended data.\n */\n export const getModelId = (node: ModelsTreeNode): Id64String | undefined => {\n if (node.extendedData?.modelId) {\n return node.extendedData?.modelId;\n }\n\n const modelIds = node.extendedData?.modelIds?.[0];\n return modelIds && (Array.isArray(modelIds) ? modelIds[0] : modelIds);\n };\n\n /**\n * Retrieves category ID from node's extended data.\n */\n export const getCategoryId = (node: ModelsTreeNode): Id64String | undefined => node.extendedData?.categoryId;\n}\n"]}
1
+ {"version":3,"file":"ModelsTreeNode.js","sourceRoot":"","sources":["../../../../../../src/components/trees/models-tree/internal/ModelsTreeNode.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAGhG,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAOnE;;GAEG;AACH,MAAM,KAAW,cAAc,CAiD9B;AAjDD,WAAiB,cAAc;IAC7B;;OAEG;IACU,4BAAa,GAAG,CAAC,IAA0C,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC;IAE5G;;OAEG;IACU,0BAAW,GAAG,CAAC,IAA0C,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC;IAExG;;OAEG;IACU,6BAAc,GAAG,CAAC,IAA0C,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC;IAE9G,gCAAgC;IACnB,sBAAO,GAAG,CAAC,IAAoB,EAAyE,EAAE;QACrH,IAAI,gBAAgB,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YAC9C,OAAO,sBAAsB,CAAC;SAC/B;QACD,IAAI,eAAA,aAAa,CAAC,IAAI,CAAC,EAAE;YACvB,OAAO,SAAS,CAAC;SAClB;QACD,IAAI,eAAA,WAAW,CAAC,IAAI,CAAC,EAAE;YACrB,OAAO,OAAO,CAAC;SAChB;QACD,IAAI,eAAA,cAAc,CAAC,IAAI,CAAC,EAAE;YACxB,OAAO,UAAU,CAAC;SACnB;QACD,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC;IAEF;;OAEG;IACU,yBAAU,GAAG,CAAC,IAA0C,EAA0B,EAAE;QAC/F,IAAI,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE;YAC9B,OAAO,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC;SACnC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;QAClD,OAAO,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACxE,CAAC,CAAC;IAEF;;OAEG;IACU,4BAAa,GAAG,CAAC,IAA0C,EAA0B,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC;AACrI,CAAC,EAjDgB,cAAc,KAAd,cAAc,QAiD9B","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 type { Id64String } from \"@itwin/core-bentley\";\nimport { HierarchyNodeKey } from \"@itwin/presentation-hierarchies\";\n\ninterface ModelsTreeNode {\n key: HierarchyNodeKey;\n extendedData?: { [id: string]: any };\n}\n\n/**\n * @internal\n */\nexport namespace ModelsTreeNode {\n /**\n * Determines if a node represents a subject.\n */\n export const isSubjectNode = (node: Pick<ModelsTreeNode, \"extendedData\">) => !!node.extendedData?.isSubject;\n\n /**\n * Determines if a node represents a model.\n */\n export const isModelNode = (node: Pick<ModelsTreeNode, \"extendedData\">) => !!node.extendedData?.isModel;\n\n /**\n * Determines if a node represents a category.\n */\n export const isCategoryNode = (node: Pick<ModelsTreeNode, \"extendedData\">) => !!node.extendedData?.isCategory;\n\n /** Returns type of the node. */\n export const getType = (node: ModelsTreeNode): \"subject\" | \"model\" | \"category\" | \"element\" | \"elements-class-group\" => {\n if (HierarchyNodeKey.isClassGrouping(node.key)) {\n return \"elements-class-group\";\n }\n if (isSubjectNode(node)) {\n return \"subject\";\n }\n if (isModelNode(node)) {\n return \"model\";\n }\n if (isCategoryNode(node)) {\n return \"category\";\n }\n return \"element\";\n };\n\n /**\n * Retrieves model ID from node's extended data.\n */\n export const getModelId = (node: Pick<ModelsTreeNode, \"extendedData\">): Id64String | undefined => {\n if (node.extendedData?.modelId) {\n return node.extendedData?.modelId;\n }\n\n const modelIds = node.extendedData?.modelIds?.[0];\n return modelIds && (Array.isArray(modelIds) ? modelIds[0] : modelIds);\n };\n\n /**\n * Retrieves category ID from node's extended data.\n */\n export const getCategoryId = (node: Pick<ModelsTreeNode, \"extendedData\">): Id64String | undefined => node.extendedData?.categoryId;\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@itwin/tree-widget-react",
3
- "version": "3.1.0",
3
+ "version": "3.2.0",
4
4
  "description": "Tree Widget React",
5
5
  "keywords": [
6
6
  "Bentley",
@@ -21,8 +21,6 @@
21
21
  "module": "lib/esm/tree-widget-react.js",
22
22
  "typings": "lib/cjs/tree-widget-react",
23
23
  "scripts": {
24
- "start:test-viewer": "node ./scripts/start-test-viewer.js",
25
- "start:test-viewer:watch": "node ./scripts/start-test-viewer.js --watch",
26
24
  "build": "npm run -s dual-build && npm run -s copy:assets",
27
25
  "dual-build": "npm run -s build:cjs && npm run -s build:esm",
28
26
  "build:cjs": "tsc 1>&2 --outDir lib/cjs",
@@ -65,41 +63,42 @@
65
63
  "@itwin/itwinui-icons-react": "^2.9.0",
66
64
  "@itwin/itwinui-illustrations-react": "^2.1.0",
67
65
  "@itwin/presentation-core-interop": "^1.1.2",
68
- "@itwin/presentation-hierarchies": "^1.3.0",
69
- "@itwin/presentation-hierarchies-react": "^1.2.0",
66
+ "@itwin/presentation-hierarchies": "^1.4.0",
67
+ "@itwin/presentation-hierarchies-react": "^1.3.0",
70
68
  "@itwin/presentation-shared": "^1.2.0",
71
- "@itwin/unified-selection": "^1.1.2",
69
+ "@itwin/unified-selection": "^1.2.0",
72
70
  "classnames": "^2.5.1",
73
71
  "react-error-boundary": "^4.1.2",
74
72
  "rxjs": "^7.8.1"
75
73
  },
76
74
  "devDependencies": {
77
- "@itwin/appui-abstract": "^4.9.1",
78
- "@itwin/appui-react": "^4.17.0",
79
- "@itwin/build-tools": "^4.9.1",
80
- "@itwin/components-react": "^4.17.0",
81
- "@itwin/core-backend": "^4.9.1",
82
- "@itwin/core-bentley": "^4.9.1",
83
- "@itwin/core-common": "^4.9.1",
84
- "@itwin/core-frontend": "^4.9.1",
85
- "@itwin/core-geometry": "^4.9.1",
86
- "@itwin/core-i18n": "^4.9.1",
87
- "@itwin/core-markup": "^4.9.1",
88
- "@itwin/core-orbitgt": "^4.9.1",
89
- "@itwin/core-quantity": "^4.9.1",
90
- "@itwin/core-react": "^4.17.0",
91
- "@itwin/core-telemetry": "^4.9.1",
92
- "@itwin/ecschema-metadata": "^4.9.1",
93
- "@itwin/ecschema-rpcinterface-common": "^4.9.1",
94
- "@itwin/ecschema-rpcinterface-impl": "^4.9.1",
75
+ "@itwin/appui-abstract": "^4.10.2",
76
+ "@itwin/appui-react": "^4.17.6",
77
+ "@itwin/build-tools": "^4.10.2",
78
+ "@itwin/components-react": "^4.17.6",
79
+ "@itwin/core-backend": "^4.10.2",
80
+ "@itwin/core-bentley": "^4.10.2",
81
+ "@itwin/core-common": "^4.10.2",
82
+ "@itwin/core-frontend": "^4.10.2",
83
+ "@itwin/core-geometry": "^4.10.2",
84
+ "@itwin/core-i18n": "^4.10.2",
85
+ "@itwin/core-markup": "^4.10.2",
86
+ "@itwin/core-orbitgt": "^4.10.2",
87
+ "@itwin/core-quantity": "^4.10.2",
88
+ "@itwin/core-react": "^4.17.6",
89
+ "@itwin/core-telemetry": "^4.10.2",
90
+ "@itwin/ecschema-metadata": "^4.10.2",
91
+ "@itwin/ecschema-rpcinterface-common": "^4.10.2",
92
+ "@itwin/ecschema-rpcinterface-impl": "^4.10.2",
95
93
  "@itwin/eslint-plugin": "^4.1.1",
96
- "@itwin/imodel-components-react": "^4.17.0",
97
- "@itwin/presentation-backend": "^4.9.1",
98
- "@itwin/presentation-common": "^4.9.1",
99
- "@itwin/presentation-components": "^5.5.0",
100
- "@itwin/presentation-frontend": "^4.9.1",
101
- "@itwin/presentation-testing": "^5.0.13",
102
- "@itwin/webgl-compatibility": "^4.9.1",
94
+ "@itwin/imodel-components-react": "^4.17.6",
95
+ "@itwin/oidc-signin-tool": "^4.4.0",
96
+ "@itwin/presentation-backend": "^4.10.2",
97
+ "@itwin/presentation-common": "^4.10.2",
98
+ "@itwin/presentation-components": "^5.7.0",
99
+ "@itwin/presentation-frontend": "^4.10.2",
100
+ "@itwin/presentation-testing": "~5.0.17",
101
+ "@itwin/webgl-compatibility": "^4.10.2",
103
102
  "@playwright/test": "^1.48.2",
104
103
  "@testing-library/dom": "^9.3.3",
105
104
  "@testing-library/react": "^14.1.2",
@@ -133,6 +132,7 @@
133
132
  "eslint-plugin-unused-imports": "^3.2.0",
134
133
  "fast-xml-parser": "^4.3.6",
135
134
  "global-jsdom": "^9.2.0",
135
+ "http-server": "^14.1.1",
136
136
  "ignore-styles": "^5.0.1",
137
137
  "jsdom": "^23.1.0",
138
138
  "mocha": "^10.2.0",
@@ -157,5 +157,11 @@
157
157
  "extends": [
158
158
  ".eslintrc.js"
159
159
  ]
160
+ },
161
+ "pnpm": {
162
+ "overrides": {
163
+ "@itwin/oidc-signin-tool>@itwin/core-common": "4.10.2",
164
+ "@itwin/service-authorization>@itwin/core-common": "4.10.2"
165
+ }
160
166
  }
161
167
  }