@itwin/tree-widget-react 0.1.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/LICENSE.md +9 -0
- package/README.md +32 -0
- package/lib/cjs/TreeWidget.d.ts +27 -0
- package/lib/cjs/TreeWidget.js +57 -0
- package/lib/cjs/TreeWidget.js.map +1 -0
- package/lib/cjs/components/IconButton.d.ts +14 -0
- package/lib/cjs/components/IconButton.js +42 -0
- package/lib/cjs/components/IconButton.js.map +1 -0
- package/lib/cjs/components/IconButton.scss +73 -0
- package/lib/cjs/components/TreeFilteringState.d.ts +16 -0
- package/lib/cjs/components/TreeFilteringState.js +67 -0
- package/lib/cjs/components/TreeFilteringState.js.map +1 -0
- package/lib/cjs/components/TreeWidgetComponent.d.ts +8 -0
- package/lib/cjs/components/TreeWidgetComponent.js +41 -0
- package/lib/cjs/components/TreeWidgetComponent.js.map +1 -0
- package/lib/cjs/components/TreeWidgetComponent.scss +64 -0
- package/lib/cjs/components/TreeWidgetControl.d.ts +25 -0
- package/lib/cjs/components/TreeWidgetControl.js +64 -0
- package/lib/cjs/components/TreeWidgetControl.js.map +1 -0
- package/lib/cjs/components/TreeWidgetUiItemsProvider.d.ts +19 -0
- package/lib/cjs/components/TreeWidgetUiItemsProvider.js +81 -0
- package/lib/cjs/components/TreeWidgetUiItemsProvider.js.map +1 -0
- package/lib/cjs/components/header/TreeHeader.d.ts +14 -0
- package/lib/cjs/components/header/TreeHeader.js +43 -0
- package/lib/cjs/components/header/TreeHeader.js.map +1 -0
- package/lib/cjs/components/header/TreeHeader.scss +19 -0
- package/lib/cjs/components/rulesets/ClassificationSystems.json +122 -0
- package/lib/cjs/components/search-bar/Popup.d.ts +50 -0
- package/lib/cjs/components/search-bar/Popup.js +246 -0
- package/lib/cjs/components/search-bar/Popup.js.map +1 -0
- package/lib/cjs/components/search-bar/Popup.scss +316 -0
- package/lib/cjs/components/search-bar/SearchBar.d.ts +53 -0
- package/lib/cjs/components/search-bar/SearchBar.js +97 -0
- package/lib/cjs/components/search-bar/SearchBar.js.map +1 -0
- package/lib/cjs/components/search-bar/SearchBar.scss +110 -0
- package/lib/cjs/components/search-bar/SearchBox.d.ts +76 -0
- package/lib/cjs/components/search-bar/SearchBox.js +184 -0
- package/lib/cjs/components/search-bar/SearchBox.js.map +1 -0
- package/lib/cjs/components/search-bar/SearchBox.scss +91 -0
- package/lib/cjs/components/trees/CategoriesTree.d.ts +9 -0
- package/lib/cjs/components/trees/CategoriesTree.js +76 -0
- package/lib/cjs/components/trees/CategoriesTree.js.map +1 -0
- package/lib/cjs/components/trees/CategoriesTree.scss +13 -0
- package/lib/cjs/components/trees/ClassificationsTree.d.ts +6 -0
- package/lib/cjs/components/trees/ClassificationsTree.js +43 -0
- package/lib/cjs/components/trees/ClassificationsTree.js.map +1 -0
- package/lib/cjs/components/trees/ModelsTree.d.ts +10 -0
- package/lib/cjs/components/trees/ModelsTree.js +135 -0
- package/lib/cjs/components/trees/ModelsTree.js.map +1 -0
- package/lib/cjs/components/trees/ModelsTree.scss +14 -0
- package/lib/cjs/components/trees/SpatialTree.d.ts +3 -0
- package/lib/cjs/components/trees/SpatialTree.js +41 -0
- package/lib/cjs/components/trees/SpatialTree.js.map +1 -0
- package/lib/cjs/components/trees/TreeWithRuleset.d.ts +35 -0
- package/lib/cjs/components/trees/TreeWithRuleset.js +108 -0
- package/lib/cjs/components/trees/TreeWithRuleset.js.map +1 -0
- package/lib/cjs/components/trees/TreeWithRulesetTree.scss +17 -0
- package/lib/cjs/components/trees/index.d.ts +6 -0
- package/lib/cjs/components/trees/index.js +22 -0
- package/lib/cjs/components/trees/index.js.map +1 -0
- package/lib/cjs/tree-widget-react.d.ts +7 -0
- package/lib/cjs/tree-widget-react.js +23 -0
- package/lib/cjs/tree-widget-react.js.map +1 -0
- package/lib/esm/TreeWidget.d.ts +27 -0
- package/lib/esm/TreeWidget.js +53 -0
- package/lib/esm/TreeWidget.js.map +1 -0
- package/lib/esm/components/IconButton.d.ts +14 -0
- package/lib/esm/components/IconButton.js +16 -0
- package/lib/esm/components/IconButton.js.map +1 -0
- package/lib/esm/components/IconButton.scss +73 -0
- package/lib/esm/components/TreeFilteringState.d.ts +16 -0
- package/lib/esm/components/TreeFilteringState.js +44 -0
- package/lib/esm/components/TreeFilteringState.js.map +1 -0
- package/lib/esm/components/TreeWidgetComponent.d.ts +8 -0
- package/lib/esm/components/TreeWidgetComponent.js +18 -0
- package/lib/esm/components/TreeWidgetComponent.js.map +1 -0
- package/lib/esm/components/TreeWidgetComponent.scss +64 -0
- package/lib/esm/components/TreeWidgetControl.d.ts +25 -0
- package/lib/esm/components/TreeWidgetControl.js +57 -0
- package/lib/esm/components/TreeWidgetControl.js.map +1 -0
- package/lib/esm/components/TreeWidgetUiItemsProvider.d.ts +19 -0
- package/lib/esm/components/TreeWidgetUiItemsProvider.js +74 -0
- package/lib/esm/components/TreeWidgetUiItemsProvider.js.map +1 -0
- package/lib/esm/components/header/TreeHeader.d.ts +14 -0
- package/lib/esm/components/header/TreeHeader.js +20 -0
- package/lib/esm/components/header/TreeHeader.js.map +1 -0
- package/lib/esm/components/header/TreeHeader.scss +19 -0
- package/lib/esm/components/rulesets/ClassificationSystems.json +122 -0
- package/lib/esm/components/search-bar/Popup.d.ts +50 -0
- package/lib/esm/components/search-bar/Popup.js +220 -0
- package/lib/esm/components/search-bar/Popup.js.map +1 -0
- package/lib/esm/components/search-bar/Popup.scss +316 -0
- package/lib/esm/components/search-bar/SearchBar.d.ts +53 -0
- package/lib/esm/components/search-bar/SearchBar.js +71 -0
- package/lib/esm/components/search-bar/SearchBar.js.map +1 -0
- package/lib/esm/components/search-bar/SearchBar.scss +110 -0
- package/lib/esm/components/search-bar/SearchBox.d.ts +76 -0
- package/lib/esm/components/search-bar/SearchBox.js +158 -0
- package/lib/esm/components/search-bar/SearchBox.js.map +1 -0
- package/lib/esm/components/search-bar/SearchBox.scss +91 -0
- package/lib/esm/components/trees/CategoriesTree.d.ts +9 -0
- package/lib/esm/components/trees/CategoriesTree.js +53 -0
- package/lib/esm/components/trees/CategoriesTree.js.map +1 -0
- package/lib/esm/components/trees/CategoriesTree.scss +13 -0
- package/lib/esm/components/trees/ClassificationsTree.d.ts +6 -0
- package/lib/esm/components/trees/ClassificationsTree.js +17 -0
- package/lib/esm/components/trees/ClassificationsTree.js.map +1 -0
- package/lib/esm/components/trees/ModelsTree.d.ts +10 -0
- package/lib/esm/components/trees/ModelsTree.js +112 -0
- package/lib/esm/components/trees/ModelsTree.js.map +1 -0
- package/lib/esm/components/trees/ModelsTree.scss +14 -0
- package/lib/esm/components/trees/SpatialTree.d.ts +3 -0
- package/lib/esm/components/trees/SpatialTree.js +18 -0
- package/lib/esm/components/trees/SpatialTree.js.map +1 -0
- package/lib/esm/components/trees/TreeWithRuleset.d.ts +35 -0
- package/lib/esm/components/trees/TreeWithRuleset.js +83 -0
- package/lib/esm/components/trees/TreeWithRuleset.js.map +1 -0
- package/lib/esm/components/trees/TreeWithRulesetTree.scss +17 -0
- package/lib/esm/components/trees/index.d.ts +6 -0
- package/lib/esm/components/trees/index.js +10 -0
- package/lib/esm/components/trees/index.js.map +1 -0
- package/lib/esm/tree-widget-react.d.ts +7 -0
- package/lib/esm/tree-widget-react.js +11 -0
- package/lib/esm/tree-widget-react.js.map +1 -0
- package/lib/public/locales/en/TreeWidget.json +16 -0
- package/package.json +97 -0
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/*---------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
3
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
@import "~@itwin/core-react/lib/esm/core-react/index";
|
|
6
|
+
@import "~@itwin/appui-layout-react/lib/esm/appui-layout-react/footer/_variables";
|
|
7
|
+
|
|
8
|
+
.tree-widget-icon-button {
|
|
9
|
+
display: inline-block;
|
|
10
|
+
align-items: center;
|
|
11
|
+
justify-content: center;
|
|
12
|
+
width: 32px;
|
|
13
|
+
height: 32px;
|
|
14
|
+
border: 0;
|
|
15
|
+
color: $buic-icon-color;
|
|
16
|
+
background-color: transparent;
|
|
17
|
+
outline: none;
|
|
18
|
+
box-shadow: none;
|
|
19
|
+
font-family: $uicore-font-family;
|
|
20
|
+
font-size: $uicore-font-size;
|
|
21
|
+
text-decoration: none;
|
|
22
|
+
cursor: pointer;
|
|
23
|
+
transition: color 0.25s;
|
|
24
|
+
|
|
25
|
+
&:hover {
|
|
26
|
+
text-decoration: none;
|
|
27
|
+
color: $buic-foreground-primary;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
&:active {
|
|
31
|
+
outline: none;
|
|
32
|
+
box-shadow: none;
|
|
33
|
+
text-decoration: none;
|
|
34
|
+
background-color: transparent;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
&:focus {
|
|
38
|
+
outline: none;
|
|
39
|
+
box-shadow: none;
|
|
40
|
+
text-decoration: none;
|
|
41
|
+
background-color: transparent;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
&[disabled],
|
|
45
|
+
&[disabled]:hover,
|
|
46
|
+
&[disabled]:active,
|
|
47
|
+
&[disabled]:focus {
|
|
48
|
+
opacity: 0.4;
|
|
49
|
+
color: $uicore-gray;
|
|
50
|
+
background: transparent;
|
|
51
|
+
cursor: not-allowed;
|
|
52
|
+
pointer-events: none;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
.tree-widget-icon-label {
|
|
57
|
+
display: inline-flex;
|
|
58
|
+
align-items: center;
|
|
59
|
+
justify-content: center;
|
|
60
|
+
height: 32px;
|
|
61
|
+
font-family: $uicore-font-family;
|
|
62
|
+
font-size: $uicore-font-size;
|
|
63
|
+
color: $buic-icon-color;
|
|
64
|
+
margin-left: 5px;
|
|
65
|
+
|
|
66
|
+
&[disabled] {
|
|
67
|
+
opacity: 0.4;
|
|
68
|
+
color: $uicore-gray;
|
|
69
|
+
background: transparent;
|
|
70
|
+
cursor: not-allowed;
|
|
71
|
+
pointer-events: none;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { IPresentationTreeDataProvider } from "@itwin/presentation-components";
|
|
2
|
+
export interface SearchOptions {
|
|
3
|
+
isFiltering: boolean;
|
|
4
|
+
onFilterCancel: () => void;
|
|
5
|
+
onFilterStart: (newFilter: string) => void;
|
|
6
|
+
onResultSelectedChanged: (index: number) => void;
|
|
7
|
+
matchedResultCount: number | undefined;
|
|
8
|
+
}
|
|
9
|
+
export declare const useTreeFilteringState: () => {
|
|
10
|
+
searchOptions: SearchOptions;
|
|
11
|
+
filterString: string;
|
|
12
|
+
activeMatchIndex: number | undefined;
|
|
13
|
+
onFilterApplied: (provider: IPresentationTreeDataProvider, matches: number) => void;
|
|
14
|
+
filteredProvider: IPresentationTreeDataProvider | undefined;
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=TreeFilteringState.d.ts.map
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/*---------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
3
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
import React, { useState } from "react";
|
|
6
|
+
export const useTreeFilteringState = () => {
|
|
7
|
+
const [filterString, setFilterString] = useState("");
|
|
8
|
+
const [matchedResultCount, setMatchedResultCount] = useState();
|
|
9
|
+
const [activeMatchIndex, setActiveMatchIndex] = useState();
|
|
10
|
+
const [filteredProvider, setFilteredProvider] = useState();
|
|
11
|
+
const onFilterCancel = React.useCallback(() => {
|
|
12
|
+
setFilterString("");
|
|
13
|
+
setMatchedResultCount(undefined);
|
|
14
|
+
setFilteredProvider(undefined);
|
|
15
|
+
}, []);
|
|
16
|
+
const onFilterStart = React.useCallback((newFilter) => {
|
|
17
|
+
setFilterString(newFilter);
|
|
18
|
+
setMatchedResultCount(undefined);
|
|
19
|
+
setFilteredProvider(undefined);
|
|
20
|
+
}, []);
|
|
21
|
+
const onResultSelectedChanged = React.useCallback((index) => {
|
|
22
|
+
setActiveMatchIndex(index);
|
|
23
|
+
}, []);
|
|
24
|
+
const onFilterApplied = React.useCallback((provider, matches) => {
|
|
25
|
+
setFilteredProvider(provider);
|
|
26
|
+
setMatchedResultCount(matches);
|
|
27
|
+
}, []);
|
|
28
|
+
const isFiltering = !!filterString && matchedResultCount === undefined;
|
|
29
|
+
const searchOptions = {
|
|
30
|
+
isFiltering,
|
|
31
|
+
onFilterCancel,
|
|
32
|
+
onFilterStart,
|
|
33
|
+
onResultSelectedChanged,
|
|
34
|
+
matchedResultCount,
|
|
35
|
+
};
|
|
36
|
+
return {
|
|
37
|
+
searchOptions,
|
|
38
|
+
filterString,
|
|
39
|
+
activeMatchIndex,
|
|
40
|
+
onFilterApplied,
|
|
41
|
+
filteredProvider,
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
//# sourceMappingURL=TreeFilteringState.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TreeFilteringState.js","sourceRoot":"","sources":["../../../src/components/TreeFilteringState.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAWxC,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,EAAE;IACxC,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACrD,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,QAAQ,EAAU,CAAC;IACvE,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,EAAU,CAAC;IACnE,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,EAAiC,CAAC;IAE1F,MAAM,cAAc,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QAC5C,eAAe,CAAC,EAAE,CAAC,CAAC;QACpB,qBAAqB,CAAC,SAAS,CAAC,CAAC;QACjC,mBAAmB,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,aAAa,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,SAAiB,EAAE,EAAE;QAC5D,eAAe,CAAC,SAAS,CAAC,CAAC;QAC3B,qBAAqB,CAAC,SAAS,CAAC,CAAC;QACjC,mBAAmB,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,uBAAuB,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,KAAa,EAAE,EAAE;QAClE,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,eAAe,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,QAAuC,EAAE,OAAe,EAAE,EAAE;QACrG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAC9B,qBAAqB,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,WAAW,GAAG,CAAC,CAAC,YAAY,IAAI,kBAAkB,KAAK,SAAS,CAAC;IACvE,MAAM,aAAa,GAAkB;QACnC,WAAW;QACX,cAAc;QACd,aAAa;QACb,uBAAuB;QACvB,kBAAkB;KACnB,CAAC;IAEF,OAAO;QACL,aAAa;QACb,YAAY;QACZ,gBAAgB;QAChB,eAAe;QACf,gBAAgB;KACjB,CAAC;AACJ,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*--------------------------------------------------------------------------------------------*/\nimport React, { useState } from \"react\";\nimport { IPresentationTreeDataProvider } from \"@itwin/presentation-components\";\n\nexport interface SearchOptions {\n isFiltering: boolean;\n onFilterCancel: () => void;\n onFilterStart: (newFilter: string) => void;\n onResultSelectedChanged: (index: number) => void;\n matchedResultCount: number | undefined;\n}\n\nexport const useTreeFilteringState = () => {\n const [filterString, setFilterString] = useState(\"\");\n const [matchedResultCount, setMatchedResultCount] = useState<number>();\n const [activeMatchIndex, setActiveMatchIndex] = useState<number>();\n const [filteredProvider, setFilteredProvider] = useState<IPresentationTreeDataProvider>();\n\n const onFilterCancel = React.useCallback(() => {\n setFilterString(\"\");\n setMatchedResultCount(undefined);\n setFilteredProvider(undefined);\n }, []);\n\n const onFilterStart = React.useCallback((newFilter: string) => {\n setFilterString(newFilter);\n setMatchedResultCount(undefined);\n setFilteredProvider(undefined);\n }, []);\n\n const onResultSelectedChanged = React.useCallback((index: number) => {\n setActiveMatchIndex(index);\n }, []);\n\n const onFilterApplied = React.useCallback((provider: IPresentationTreeDataProvider, matches: number) => {\n setFilteredProvider(provider);\n setMatchedResultCount(matches);\n }, []);\n\n const isFiltering = !!filterString && matchedResultCount === undefined;\n const searchOptions: SearchOptions = {\n isFiltering,\n onFilterCancel,\n onFilterStart,\n onResultSelectedChanged,\n matchedResultCount,\n };\n\n return {\n searchOptions,\n filterString,\n activeMatchIndex,\n onFilterApplied,\n filteredProvider,\n };\n};\n"]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import "./TreeWidgetComponent.scss";
|
|
2
|
+
import { SelectableContentDefinition } from "@itwin/components-react";
|
|
3
|
+
interface TreeWidgetComponentProps {
|
|
4
|
+
trees?: SelectableContentDefinition[];
|
|
5
|
+
}
|
|
6
|
+
export declare function TreeWidgetComponent(props: TreeWidgetComponentProps): JSX.Element;
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=TreeWidgetComponent.d.ts.map
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/*---------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
3
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
import * as React from "react";
|
|
6
|
+
import "./TreeWidgetComponent.scss";
|
|
7
|
+
import { SelectableContent, } from "@itwin/components-react";
|
|
8
|
+
export function TreeWidgetComponent(props) {
|
|
9
|
+
const trees = [];
|
|
10
|
+
if (props.trees && props.trees.length !== 0) {
|
|
11
|
+
for (const entry of props.trees) {
|
|
12
|
+
trees.push(entry);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
return (React.createElement("div", { className: "tree-widget-visibility-widget" },
|
|
16
|
+
React.createElement(SelectableContent, { children: trees, defaultSelectedContentId: trees[0].id })));
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=TreeWidgetComponent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TreeWidgetComponent.js","sourceRoot":"","sources":["../../../src/components/TreeWidgetComponent.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,4BAA4B,CAAC;AAEpC,OAAO,EACL,iBAAiB,GAElB,MAAM,yBAAyB,CAAC;AAMjC,MAAM,UAAU,mBAAmB,CAAC,KAA+B;IACjE,MAAM,KAAK,GAAkC,EAAE,CAAC;IAEhD,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;QAC3C,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,KAAK,EAAE;YAC/B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACnB;KACF;IAED,OAAO,CACL,6BAAK,SAAS,EAAC,+BAA+B;QAC5C,oBAAC,iBAAiB,IAChB,QAAQ,EAAE,KAAK,EACf,wBAAwB,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,GACrC,CACE,CACP,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*--------------------------------------------------------------------------------------------*/\nimport * as React from \"react\";\nimport \"./TreeWidgetComponent.scss\";\nimport { useState } from \"react\";\nimport {\n SelectableContent,\n SelectableContentDefinition,\n} from \"@itwin/components-react\";\n\ninterface TreeWidgetComponentProps {\n trees?: SelectableContentDefinition[];\n}\n\nexport function TreeWidgetComponent(props: TreeWidgetComponentProps) {\n const trees: SelectableContentDefinition[] = [];\n\n if (props.trees && props.trees.length !== 0) {\n for (const entry of props.trees) {\n trees.push(entry);\n }\n }\n\n return (\n <div className=\"tree-widget-visibility-widget\">\n <SelectableContent\n children={trees}\n defaultSelectedContentId={trees[0].id}\n />\n </div>\n );\n}\n"]}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/*---------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
3
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
@import "~@itwin/core-react/lib/esm/core-react/index";
|
|
6
|
+
|
|
7
|
+
.tree-widget-visibility-widget {
|
|
8
|
+
padding: $uicore-s;
|
|
9
|
+
width: 100%;
|
|
10
|
+
height: 100%;
|
|
11
|
+
box-sizing: border-box;
|
|
12
|
+
display: flex;
|
|
13
|
+
flex-direction: column;
|
|
14
|
+
|
|
15
|
+
.components-selectable-content {
|
|
16
|
+
flex: 1;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.components-selectable-content-header {
|
|
20
|
+
display: flex;
|
|
21
|
+
align-items: center;
|
|
22
|
+
margin-bottom: $uicore-xs;
|
|
23
|
+
|
|
24
|
+
.uicore-reactSelectTop {
|
|
25
|
+
flex: 1;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.components-selectable-content-wrapper {
|
|
30
|
+
display: flex;
|
|
31
|
+
flex-direction: column;
|
|
32
|
+
flex-grow: 1;
|
|
33
|
+
height: 100%;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
.visibility-tree-toolbar {
|
|
37
|
+
display: flex;
|
|
38
|
+
flex-direction: row;
|
|
39
|
+
align-items: center;
|
|
40
|
+
margin-bottom: $uicore-xs;
|
|
41
|
+
|
|
42
|
+
.tree-toolbar-searchbox {
|
|
43
|
+
margin-left: auto;
|
|
44
|
+
|
|
45
|
+
.components-filtering-input {
|
|
46
|
+
margin: 0;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.tree-widget-select {
|
|
53
|
+
margin-bottom: $uicore-xs;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
.tree-widget-tree-container {
|
|
57
|
+
flex: 1;
|
|
58
|
+
display: flex;
|
|
59
|
+
flex-direction: column;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
.tree-widget-search-bar {
|
|
63
|
+
margin-bottom: $uicore-s;
|
|
64
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { WidgetControl, ConfigurableCreateInfo } from "@itwin/appui-react";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { IModelConnection, Viewport } from "@itwin/core-frontend";
|
|
4
|
+
import { SelectableContentDefinition } from "@itwin/components-react";
|
|
5
|
+
export interface TreeWidgetControlOptions {
|
|
6
|
+
iModelConnection: IModelConnection;
|
|
7
|
+
activeView?: Viewport;
|
|
8
|
+
enableElementsClassGrouping?: boolean;
|
|
9
|
+
allViewports?: boolean;
|
|
10
|
+
additionalTrees?: SelectableContentDefinition[];
|
|
11
|
+
additionalProps?: {
|
|
12
|
+
modelsTree?: {};
|
|
13
|
+
categoriesTree?: {};
|
|
14
|
+
spatialTree?: {};
|
|
15
|
+
};
|
|
16
|
+
treeReplacements?: {
|
|
17
|
+
modelsTree?: () => React.ReactNode;
|
|
18
|
+
categoriesTree?: () => React.ReactNode;
|
|
19
|
+
spatialTree?: () => React.ReactNode;
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
export declare class TreeWidgetControl extends WidgetControl {
|
|
23
|
+
constructor(info: ConfigurableCreateInfo, options: TreeWidgetControlOptions);
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=TreeWidgetControl.d.ts.map
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/*---------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
3
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
import { WidgetControl, ClassGroupingOption, } from "@itwin/appui-react";
|
|
6
|
+
import React from "react";
|
|
7
|
+
import { ModelsTreeComponent, CategoriesTreeComponent, SpatialTreeComponent, } from "./trees";
|
|
8
|
+
import { TreeWidgetComponent } from "./TreeWidgetComponent";
|
|
9
|
+
import { TreeWidget } from "../TreeWidget";
|
|
10
|
+
export class TreeWidgetControl extends WidgetControl {
|
|
11
|
+
constructor(info, options) {
|
|
12
|
+
var _a, _b, _c, _d, _e, _f;
|
|
13
|
+
super(info, options);
|
|
14
|
+
const { iModelConnection: imodel, activeView } = options;
|
|
15
|
+
const modelsTreeProps = (_a = options.additionalProps) === null || _a === void 0 ? void 0 : _a.modelsTree;
|
|
16
|
+
const categoriesTreeProps = (_b = options.additionalProps) === null || _b === void 0 ? void 0 : _b.categoriesTree;
|
|
17
|
+
const spatialTreeProps = (_c = options.additionalProps) === null || _c === void 0 ? void 0 : _c.spatialTree;
|
|
18
|
+
const enableElementsClassGrouping = options.enableElementsClassGrouping;
|
|
19
|
+
const allViewPorts = options.allViewports;
|
|
20
|
+
const additionalTrees = options.additionalTrees;
|
|
21
|
+
const modelsTreeReplacement = (_d = options.treeReplacements) === null || _d === void 0 ? void 0 : _d.modelsTree;
|
|
22
|
+
const categoriesTreeReplacement = (_e = options.treeReplacements) === null || _e === void 0 ? void 0 : _e.categoriesTree;
|
|
23
|
+
const spatialTreeReplacement = (_f = options.treeReplacements) === null || _f === void 0 ? void 0 : _f.spatialTree;
|
|
24
|
+
const modelsTreeComponent = (React.createElement(ModelsTreeComponent, { iModel: imodel, allViewports: allViewPorts, activeView: activeView, enableElementsClassGrouping: enableElementsClassGrouping, ...modelsTreeProps }));
|
|
25
|
+
const categoriesTreeComponent = (React.createElement(CategoriesTreeComponent, { iModel: imodel, allViewports: allViewPorts, activeView: activeView, ...categoriesTreeProps }));
|
|
26
|
+
const spatialContainmentComponent = (React.createElement(SpatialTreeComponent, { iModel: imodel, enableElementsClassGrouping: enableElementsClassGrouping
|
|
27
|
+
? ClassGroupingOption.Yes
|
|
28
|
+
: ClassGroupingOption.No, ...spatialTreeProps }));
|
|
29
|
+
const trees = [
|
|
30
|
+
{
|
|
31
|
+
label: TreeWidget.translate("modeltree"),
|
|
32
|
+
id: "model-tree",
|
|
33
|
+
render: modelsTreeReplacement
|
|
34
|
+
? modelsTreeReplacement
|
|
35
|
+
: () => modelsTreeComponent,
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
label: TreeWidget.translate("categories"),
|
|
39
|
+
id: "categories-tree",
|
|
40
|
+
render: categoriesTreeReplacement
|
|
41
|
+
? categoriesTreeReplacement
|
|
42
|
+
: () => categoriesTreeComponent,
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
label: TreeWidget.translate("containment"),
|
|
46
|
+
id: "spatial-containment-tree",
|
|
47
|
+
render: spatialTreeReplacement
|
|
48
|
+
? spatialTreeReplacement
|
|
49
|
+
: () => spatialContainmentComponent,
|
|
50
|
+
},
|
|
51
|
+
];
|
|
52
|
+
if (additionalTrees)
|
|
53
|
+
trees.push(...additionalTrees);
|
|
54
|
+
this.reactNode = React.createElement(TreeWidgetComponent, { trees: trees });
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=TreeWidgetControl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TreeWidgetControl.js","sourceRoot":"","sources":["../../../src/components/TreeWidgetControl.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\nimport {\n WidgetControl,\n ConfigurableCreateInfo,\n ClassGroupingOption,\n} from \"@itwin/appui-react\";\nimport React from \"react\";\nimport {\n ModelsTreeComponent,\n CategoriesTreeComponent,\n SpatialTreeComponent,\n} from \"./trees\";\nimport { IModelConnection, Viewport } from \"@itwin/core-frontend\";\nimport { TreeWidgetComponent } from \"./TreeWidgetComponent\";\nimport { SelectableContentDefinition } from \"@itwin/components-react\";\nimport { TreeWidget } from \"../TreeWidget\";\n\nexport interface TreeWidgetControlOptions {\n iModelConnection: IModelConnection;\n activeView?: Viewport;\n enableElementsClassGrouping?: boolean;\n allViewports?: boolean;\n additionalTrees?: SelectableContentDefinition[];\n additionalProps?: {\n modelsTree?: {};\n categoriesTree?: {};\n spatialTree?: {};\n };\n treeReplacements?: {\n modelsTree?: () => React.ReactNode;\n categoriesTree?: () => React.ReactNode;\n spatialTree?: () => React.ReactNode;\n };\n}\n\nexport class TreeWidgetControl extends WidgetControl {\n constructor(info: ConfigurableCreateInfo, options: TreeWidgetControlOptions) {\n super(info, options);\n\n const { iModelConnection: imodel, activeView } = options;\n const modelsTreeProps = options.additionalProps?.modelsTree;\n const categoriesTreeProps = options.additionalProps?.categoriesTree;\n const spatialTreeProps = options.additionalProps?.spatialTree;\n const enableElementsClassGrouping = options.enableElementsClassGrouping;\n const allViewPorts = options.allViewports;\n const additionalTrees = options.additionalTrees;\n const modelsTreeReplacement = options.treeReplacements?.modelsTree;\n const categoriesTreeReplacement = options.treeReplacements?.categoriesTree;\n const spatialTreeReplacement = options.treeReplacements?.spatialTree;\n\n const modelsTreeComponent = (\n <ModelsTreeComponent\n iModel={imodel}\n allViewports={allViewPorts}\n activeView={activeView}\n enableElementsClassGrouping={enableElementsClassGrouping}\n {...modelsTreeProps}\n />\n );\n\n const categoriesTreeComponent = (\n <CategoriesTreeComponent\n iModel={imodel}\n allViewports={allViewPorts}\n activeView={activeView}\n {...categoriesTreeProps}\n />\n );\n\n const spatialContainmentComponent = (\n <SpatialTreeComponent\n iModel={imodel}\n enableElementsClassGrouping={\n enableElementsClassGrouping\n ? ClassGroupingOption.Yes\n : ClassGroupingOption.No\n }\n {...spatialTreeProps}\n />\n );\n\n const trees: SelectableContentDefinition[] = [\n {\n label: TreeWidget.translate(\"modeltree\"),\n id: \"model-tree\",\n render: modelsTreeReplacement\n ? modelsTreeReplacement\n : () => modelsTreeComponent,\n },\n {\n label: TreeWidget.translate(\"categories\"),\n id: \"categories-tree\",\n render: categoriesTreeReplacement\n ? categoriesTreeReplacement\n : () => categoriesTreeComponent,\n },\n {\n label: TreeWidget.translate(\"containment\"),\n id: \"spatial-containment-tree\",\n render: spatialTreeReplacement\n ? spatialTreeReplacement\n : () => spatialContainmentComponent,\n },\n ];\n\n if (additionalTrees) trees.push(...additionalTrees);\n\n this.reactNode = <TreeWidgetComponent trees={trees} />;\n }\n}\n"]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { AbstractWidgetProps, StagePanelLocation, StagePanelSection, UiItemsProvider } from "@itwin/appui-abstract";
|
|
2
|
+
import { TreeWidgetControlOptions } from "./TreeWidgetControl";
|
|
3
|
+
export declare class TreeWidgetUiItemsProvider implements UiItemsProvider {
|
|
4
|
+
readonly id = "TreeWidgetUiitemsProvider";
|
|
5
|
+
private _imodel?;
|
|
6
|
+
private _activeView?;
|
|
7
|
+
private _enableElementsClassGrouping?;
|
|
8
|
+
private _allViewports?;
|
|
9
|
+
private _additionalTrees?;
|
|
10
|
+
private _modelsTreeProps?;
|
|
11
|
+
private _categoriesTreeProps?;
|
|
12
|
+
private _spatialTreeProps?;
|
|
13
|
+
private _modelsTreeReplacement?;
|
|
14
|
+
private _categoriesTreeReplacement?;
|
|
15
|
+
private _spatialTreeReplacement?;
|
|
16
|
+
constructor(props?: Partial<TreeWidgetControlOptions>);
|
|
17
|
+
provideWidgets(_stageId: string, stageUsage: string, location: StagePanelLocation, _section: StagePanelSection | undefined): ReadonlyArray<AbstractWidgetProps>;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=TreeWidgetUiItemsProvider.d.ts.map
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/*---------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
3
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
import { StagePanelLocation, StageUsage, } from "@itwin/appui-abstract";
|
|
6
|
+
import { ClassGroupingOption, UiFramework } from "@itwin/appui-react";
|
|
7
|
+
import React from "react";
|
|
8
|
+
import { TreeWidgetComponent } from "./TreeWidgetComponent";
|
|
9
|
+
import { ModelsTreeComponent, CategoriesTreeComponent, SpatialTreeComponent, } from "./trees";
|
|
10
|
+
import { TreeWidget } from "../TreeWidget";
|
|
11
|
+
export class TreeWidgetUiItemsProvider {
|
|
12
|
+
constructor(props) {
|
|
13
|
+
var _a, _b, _c, _d, _e, _f;
|
|
14
|
+
this.id = "TreeWidgetUiitemsProvider";
|
|
15
|
+
this._imodel = props === null || props === void 0 ? void 0 : props.iModelConnection;
|
|
16
|
+
this._activeView = props === null || props === void 0 ? void 0 : props.activeView;
|
|
17
|
+
this._enableElementsClassGrouping = props === null || props === void 0 ? void 0 : props.enableElementsClassGrouping;
|
|
18
|
+
this._allViewports = props === null || props === void 0 ? void 0 : props.allViewports;
|
|
19
|
+
this._additionalTrees = props === null || props === void 0 ? void 0 : props.additionalTrees;
|
|
20
|
+
this._modelsTreeProps = (_a = props === null || props === void 0 ? void 0 : props.additionalProps) === null || _a === void 0 ? void 0 : _a.modelsTree;
|
|
21
|
+
this._categoriesTreeProps = (_b = props === null || props === void 0 ? void 0 : props.additionalProps) === null || _b === void 0 ? void 0 : _b.categoriesTree;
|
|
22
|
+
this._spatialTreeProps = (_c = props === null || props === void 0 ? void 0 : props.additionalProps) === null || _c === void 0 ? void 0 : _c.spatialTree;
|
|
23
|
+
this._modelsTreeReplacement = (_d = props === null || props === void 0 ? void 0 : props.treeReplacements) === null || _d === void 0 ? void 0 : _d.modelsTree;
|
|
24
|
+
this._categoriesTreeReplacement = (_e = props === null || props === void 0 ? void 0 : props.treeReplacements) === null || _e === void 0 ? void 0 : _e.categoriesTree;
|
|
25
|
+
this._spatialTreeReplacement = (_f = props === null || props === void 0 ? void 0 : props.treeReplacements) === null || _f === void 0 ? void 0 : _f.spatialTree;
|
|
26
|
+
}
|
|
27
|
+
provideWidgets(_stageId, stageUsage, location, _section) {
|
|
28
|
+
var _a, _b, _c;
|
|
29
|
+
const widgets = [];
|
|
30
|
+
const imodel = UiFramework.getIModelConnection();
|
|
31
|
+
if (stageUsage === StageUsage.General &&
|
|
32
|
+
location === StagePanelLocation.Right &&
|
|
33
|
+
imodel !== undefined) {
|
|
34
|
+
const modelsTreeComponent = (React.createElement(ModelsTreeComponent, { iModel: (_a = this._imodel) !== null && _a !== void 0 ? _a : imodel, allViewports: this._allViewports, activeView: this._activeView, enableElementsClassGrouping: this._enableElementsClassGrouping, ...this._modelsTreeProps }));
|
|
35
|
+
const categoriesTreeComponent = (React.createElement(CategoriesTreeComponent, { iModel: (_b = this._imodel) !== null && _b !== void 0 ? _b : imodel, allViewports: this._allViewports, activeView: this._activeView, ...this._categoriesTreeProps }));
|
|
36
|
+
const spatialContainmentComponent = (React.createElement(SpatialTreeComponent, { iModel: (_c = this._imodel) !== null && _c !== void 0 ? _c : imodel, enableElementsClassGrouping: this._enableElementsClassGrouping
|
|
37
|
+
? ClassGroupingOption.Yes
|
|
38
|
+
: ClassGroupingOption.No, ...this._spatialTreeProps }));
|
|
39
|
+
const trees = [
|
|
40
|
+
{
|
|
41
|
+
label: TreeWidget.translate("modeltree"),
|
|
42
|
+
id: "model-tree",
|
|
43
|
+
render: this._modelsTreeReplacement
|
|
44
|
+
? this._modelsTreeReplacement
|
|
45
|
+
: () => modelsTreeComponent,
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
label: TreeWidget.translate("categories"),
|
|
49
|
+
id: "categories-tree",
|
|
50
|
+
render: this._categoriesTreeReplacement
|
|
51
|
+
? this._categoriesTreeReplacement
|
|
52
|
+
: () => categoriesTreeComponent,
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
label: TreeWidget.translate("containment"),
|
|
56
|
+
id: "spatial-containment-tree",
|
|
57
|
+
render: this._spatialTreeReplacement
|
|
58
|
+
? this._spatialTreeReplacement
|
|
59
|
+
: () => spatialContainmentComponent,
|
|
60
|
+
},
|
|
61
|
+
];
|
|
62
|
+
if (this._additionalTrees) {
|
|
63
|
+
trees.push(...this._additionalTrees);
|
|
64
|
+
}
|
|
65
|
+
widgets.push({
|
|
66
|
+
id: "tree",
|
|
67
|
+
label: TreeWidget.translate("treeview"),
|
|
68
|
+
getWidgetContent: () => React.createElement(TreeWidgetComponent, { trees: trees }),
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
return widgets;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=TreeWidgetUiItemsProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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*--------------------------------------------------------------------------------------------*/\nimport {\n AbstractWidgetProps,\n StagePanelLocation,\n StagePanelSection,\n StageUsage,\n UiItemsProvider,\n} from \"@itwin/appui-abstract\";\nimport { ClassGroupingOption, UiFramework } from \"@itwin/appui-react\";\nimport React from \"react\";\nimport { TreeWidgetComponent } from \"./TreeWidgetComponent\";\nimport {\n ModelsTreeComponent,\n CategoriesTreeComponent,\n SpatialTreeComponent,\n} from \"./trees\";\nimport { IModelConnection, Viewport } from \"@itwin/core-frontend\";\nimport { SelectableContentDefinition } from \"@itwin/components-react\";\nimport { TreeWidget } from \"../TreeWidget\";\nimport { TreeWidgetControlOptions } from \"./TreeWidgetControl\";\n\nexport class TreeWidgetUiItemsProvider implements UiItemsProvider {\n public readonly id = \"TreeWidgetUiitemsProvider\";\n\n private _imodel?: IModelConnection;\n private _activeView?: Viewport;\n private _enableElementsClassGrouping?: boolean;\n private _allViewports?: boolean;\n private _additionalTrees?: SelectableContentDefinition[];\n private _modelsTreeProps?: {};\n private _categoriesTreeProps?: {};\n private _spatialTreeProps?: {};\n private _modelsTreeReplacement?: () => React.ReactNode;\n private _categoriesTreeReplacement?: () => React.ReactNode;\n private _spatialTreeReplacement?: () => React.ReactNode;\n\n constructor(props?: Partial<TreeWidgetControlOptions>) {\n this._imodel = props?.iModelConnection;\n this._activeView = props?.activeView;\n this._enableElementsClassGrouping = props?.enableElementsClassGrouping;\n this._allViewports = props?.allViewports;\n this._additionalTrees = props?.additionalTrees;\n this._modelsTreeProps = props?.additionalProps?.modelsTree;\n this._categoriesTreeProps = props?.additionalProps?.categoriesTree;\n this._spatialTreeProps = props?.additionalProps?.spatialTree;\n this._modelsTreeReplacement = props?.treeReplacements?.modelsTree;\n this._categoriesTreeReplacement = props?.treeReplacements?.categoriesTree;\n this._spatialTreeReplacement = props?.treeReplacements?.spatialTree;\n }\n\n public provideWidgets(\n _stageId: string,\n stageUsage: string,\n location: StagePanelLocation,\n _section: StagePanelSection | undefined\n ): ReadonlyArray<AbstractWidgetProps> {\n const widgets: AbstractWidgetProps[] = [];\n const imodel = UiFramework.getIModelConnection();\n if (\n stageUsage === StageUsage.General &&\n location === StagePanelLocation.Right &&\n imodel !== undefined\n ) {\n const modelsTreeComponent = (\n <ModelsTreeComponent\n iModel={this._imodel ?? imodel}\n allViewports={this._allViewports}\n activeView={this._activeView}\n enableElementsClassGrouping={this._enableElementsClassGrouping}\n {...this._modelsTreeProps}\n />\n );\n\n const categoriesTreeComponent = (\n <CategoriesTreeComponent\n iModel={this._imodel ?? imodel}\n allViewports={this._allViewports}\n activeView={this._activeView}\n {...this._categoriesTreeProps}\n />\n );\n\n const spatialContainmentComponent = (\n <SpatialTreeComponent\n iModel={this._imodel ?? imodel}\n enableElementsClassGrouping={\n this._enableElementsClassGrouping\n ? ClassGroupingOption.Yes\n : ClassGroupingOption.No\n }\n {...this._spatialTreeProps}\n />\n );\n\n const trees: SelectableContentDefinition[] = [\n {\n label: TreeWidget.translate(\"modeltree\"),\n id: \"model-tree\",\n render: this._modelsTreeReplacement\n ? this._modelsTreeReplacement\n : () => modelsTreeComponent,\n },\n {\n label: TreeWidget.translate(\"categories\"),\n id: \"categories-tree\",\n render: this._categoriesTreeReplacement\n ? this._categoriesTreeReplacement\n : () => categoriesTreeComponent,\n },\n {\n label: TreeWidget.translate(\"containment\"),\n id: \"spatial-containment-tree\",\n render: this._spatialTreeReplacement\n ? this._spatialTreeReplacement\n : () => spatialContainmentComponent,\n },\n ];\n\n if (this._additionalTrees) {\n trees.push(...this._additionalTrees);\n }\n\n widgets.push({\n id: \"tree\",\n label: TreeWidget.translate(\"treeview\"),\n getWidgetContent: () => <TreeWidgetComponent trees={trees} />,\n });\n }\n\n return widgets;\n }\n}\n"]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { SearchOptions } from "../TreeFilteringState";
|
|
2
|
+
import "./TreeHeader.scss";
|
|
3
|
+
export interface TreeHeaderComponentProps {
|
|
4
|
+
showAll?: () => void;
|
|
5
|
+
hideAll?: () => void;
|
|
6
|
+
invert?: () => void;
|
|
7
|
+
toggle2D?: () => void;
|
|
8
|
+
toggle2DIcon?: string;
|
|
9
|
+
toggle3D?: () => void;
|
|
10
|
+
toggle3DIcon?: string;
|
|
11
|
+
searchOptions: SearchOptions;
|
|
12
|
+
}
|
|
13
|
+
export declare function TreeHeaderComponent({ searchOptions, showAll, hideAll, invert, toggle2D, toggle2DIcon, toggle3D, toggle3DIcon, }: TreeHeaderComponentProps): JSX.Element;
|
|
14
|
+
//# sourceMappingURL=TreeHeader.d.ts.map
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/*---------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
3
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
import * as React from "react";
|
|
6
|
+
import { IconButton } from "../IconButton";
|
|
7
|
+
import { SearchBar } from "../search-bar/SearchBar";
|
|
8
|
+
import { TreeWidget } from "../../TreeWidget";
|
|
9
|
+
import "./TreeHeader.scss";
|
|
10
|
+
export function TreeHeaderComponent({ searchOptions, showAll, hideAll, invert, toggle2D, toggle2DIcon, toggle3D, toggle3DIcon, }) {
|
|
11
|
+
var _a;
|
|
12
|
+
return (React.createElement(SearchBar, { value: "", className: "tree-widget-header-tree-search-bar", valueChangedDelay: 500, placeholder: TreeWidget.translate("search"), title: TreeWidget.translate("searchForSomething"), filteringInProgress: searchOptions.isFiltering, onFilterCancel: searchOptions.onFilterCancel, onFilterClear: searchOptions.onFilterCancel, onFilterStart: searchOptions.onFilterStart, onSelectedChanged: searchOptions.onResultSelectedChanged, resultCount: (_a = searchOptions.matchedResultCount) !== null && _a !== void 0 ? _a : 0 },
|
|
13
|
+
React.createElement("div", { className: "tree-widget-search-bar-button-container" },
|
|
14
|
+
showAll && (React.createElement(IconButton, { className: "tree-widget-header-tree-toolbar-icon", key: "show-all-btn", icon: "icon-visibility", title: TreeWidget.translate("showAll"), onClick: showAll })),
|
|
15
|
+
hideAll && (React.createElement(IconButton, { className: "tree-widget-header-tree-toolbar-icon", key: "hide-all-btn", icon: "icon-visibility-hide-2", title: TreeWidget.translate("hideAll"), onClick: hideAll })),
|
|
16
|
+
invert && (React.createElement(IconButton, { key: "invert-all-btn", className: "tree-widget-header-tree-toolbar-icon", title: TreeWidget.translate("invert"), icon: "icon-visibility-invert", onClick: invert })),
|
|
17
|
+
toggle2D && toggle2DIcon && (React.createElement(IconButton, { className: "tree-widget-header-tree-toolbar-icon", key: "view-2d-btn", icon: toggle2DIcon, title: TreeWidget.translate("toggle2DViews"), onClick: toggle2D, label: TreeWidget.translate("label2D") })),
|
|
18
|
+
toggle3D && toggle3DIcon && (React.createElement(IconButton, { className: "tree-widget-header-tree-toolbar-icon", key: "view-3d-btn", icon: toggle3DIcon, title: TreeWidget.translate("toggle3DViews"), onClick: toggle3D, label: TreeWidget.translate("label3D") })))));
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=TreeHeader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TreeHeader.js","sourceRoot":"","sources":["../../../../src/components/header/TreeHeader.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEpD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,mBAAmB,CAAC;AAa3B,MAAM,UAAU,mBAAmB,CAAC,EAClC,aAAa,EACb,OAAO,EACP,OAAO,EACP,MAAM,EACN,QAAQ,EACR,YAAY,EACZ,QAAQ,EACR,YAAY,GACa;;IACzB,OAAO,CACL,oBAAC,SAAS,IACR,KAAK,EAAC,EAAE,EACR,SAAS,EAAC,oCAAoC,EAC9C,iBAAiB,EAAE,GAAG,EACtB,WAAW,EAAE,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,EAC3C,KAAK,EAAE,UAAU,CAAC,SAAS,CAAC,oBAAoB,CAAC,EACjD,mBAAmB,EAAE,aAAa,CAAC,WAAW,EAC9C,cAAc,EAAE,aAAa,CAAC,cAAc,EAC5C,aAAa,EAAE,aAAa,CAAC,cAAc,EAC3C,aAAa,EAAE,aAAa,CAAC,aAAa,EAC1C,iBAAiB,EAAE,aAAa,CAAC,uBAAuB,EACxD,WAAW,EAAE,MAAA,aAAa,CAAC,kBAAkB,mCAAI,CAAC;QAElD,6BAAK,SAAS,EAAC,yCAAyC;YACrD,OAAO,IAAI,CACV,oBAAC,UAAU,IACT,SAAS,EAAE,sCAAsC,EACjD,GAAG,EAAC,cAAc,EAClB,IAAI,EAAC,iBAAiB,EACtB,KAAK,EAAE,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,EACtC,OAAO,EAAE,OAAO,GAChB,CACH;YACA,OAAO,IAAI,CACV,oBAAC,UAAU,IACT,SAAS,EAAE,sCAAsC,EACjD,GAAG,EAAC,cAAc,EAClB,IAAI,EAAC,wBAAwB,EAC7B,KAAK,EAAE,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,EACtC,OAAO,EAAE,OAAO,GAChB,CACH;YACA,MAAM,IAAI,CACT,oBAAC,UAAU,IACT,GAAG,EAAC,gBAAgB,EACpB,SAAS,EAAE,sCAAsC,EACjD,KAAK,EAAE,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,EACrC,IAAI,EAAC,wBAAwB,EAC7B,OAAO,EAAE,MAAM,GACf,CACH;YACA,QAAQ,IAAI,YAAY,IAAI,CAC3B,oBAAC,UAAU,IACT,SAAS,EAAE,sCAAsC,EACjD,GAAG,EAAC,aAAa,EACjB,IAAI,EAAE,YAAY,EAClB,KAAK,EAAE,UAAU,CAAC,SAAS,CAAC,eAAe,CAAC,EAC5C,OAAO,EAAE,QAAQ,EACjB,KAAK,EAAE,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,GACtC,CACH;YACA,QAAQ,IAAI,YAAY,IAAI,CAC3B,oBAAC,UAAU,IACT,SAAS,EAAE,sCAAsC,EACjD,GAAG,EAAC,aAAa,EACjB,IAAI,EAAE,YAAY,EAClB,KAAK,EAAE,UAAU,CAAC,SAAS,CAAC,eAAe,CAAC,EAC5C,OAAO,EAAE,QAAQ,EACjB,KAAK,EAAE,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,GACtC,CACH,CACG,CACI,CACb,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*--------------------------------------------------------------------------------------------*/\nimport * as React from \"react\";\nimport { IconButton } from \"../IconButton\";\nimport { SearchBar } from \"../search-bar/SearchBar\";\nimport { SearchOptions } from \"../TreeFilteringState\";\nimport { TreeWidget } from \"../../TreeWidget\";\nimport \"./TreeHeader.scss\";\n\nexport interface TreeHeaderComponentProps {\n showAll?: () => void;\n hideAll?: () => void;\n invert?: () => void;\n toggle2D?: () => void;\n toggle2DIcon?: string;\n toggle3D?: () => void;\n toggle3DIcon?: string;\n searchOptions: SearchOptions;\n}\n\nexport function TreeHeaderComponent({\n searchOptions,\n showAll,\n hideAll,\n invert,\n toggle2D,\n toggle2DIcon,\n toggle3D,\n toggle3DIcon,\n}: TreeHeaderComponentProps) {\n return (\n <SearchBar\n value=\"\"\n className=\"tree-widget-header-tree-search-bar\"\n valueChangedDelay={500}\n placeholder={TreeWidget.translate(\"search\")}\n title={TreeWidget.translate(\"searchForSomething\")}\n filteringInProgress={searchOptions.isFiltering}\n onFilterCancel={searchOptions.onFilterCancel}\n onFilterClear={searchOptions.onFilterCancel}\n onFilterStart={searchOptions.onFilterStart}\n onSelectedChanged={searchOptions.onResultSelectedChanged}\n resultCount={searchOptions.matchedResultCount ?? 0}\n >\n <div className=\"tree-widget-search-bar-button-container\">\n {showAll && (\n <IconButton\n className={\"tree-widget-header-tree-toolbar-icon\"}\n key=\"show-all-btn\"\n icon=\"icon-visibility\"\n title={TreeWidget.translate(\"showAll\")}\n onClick={showAll}\n />\n )}\n {hideAll && (\n <IconButton\n className={\"tree-widget-header-tree-toolbar-icon\"}\n key=\"hide-all-btn\"\n icon=\"icon-visibility-hide-2\"\n title={TreeWidget.translate(\"hideAll\")}\n onClick={hideAll}\n />\n )}\n {invert && (\n <IconButton\n key=\"invert-all-btn\"\n className={\"tree-widget-header-tree-toolbar-icon\"}\n title={TreeWidget.translate(\"invert\")}\n icon=\"icon-visibility-invert\"\n onClick={invert}\n />\n )}\n {toggle2D && toggle2DIcon && (\n <IconButton\n className={\"tree-widget-header-tree-toolbar-icon\"}\n key=\"view-2d-btn\"\n icon={toggle2DIcon}\n title={TreeWidget.translate(\"toggle2DViews\")}\n onClick={toggle2D}\n label={TreeWidget.translate(\"label2D\")}\n />\n )}\n {toggle3D && toggle3DIcon && (\n <IconButton\n className={\"tree-widget-header-tree-toolbar-icon\"}\n key=\"view-3d-btn\"\n icon={toggle3DIcon}\n title={TreeWidget.translate(\"toggle3DViews\")}\n onClick={toggle3D}\n label={TreeWidget.translate(\"label3D\")}\n />\n )}\n </div>\n </SearchBar>\n );\n}\n"]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/*---------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
3
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
@import "~@itwin/core-react/lib/esm/core-react/index";
|
|
6
|
+
|
|
7
|
+
.tree-widget-header-tree-search-bar {
|
|
8
|
+
margin-bottom: $uicore-s;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.tree-widget-header-tree-toolbar-icon {
|
|
12
|
+
color: $buic-icon-color;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.tree-widget-search-bar-button-container {
|
|
16
|
+
display: flex;
|
|
17
|
+
align-items: center;
|
|
18
|
+
width: 100%;
|
|
19
|
+
}
|