@itwin/grouping-mapping-widget 0.7.0 → 0.8.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/widget/components/BlockingOverlay.js +1 -2
- package/lib/cjs/widget/components/BlockingOverlay.js.map +1 -1
- package/lib/cjs/widget/components/BlockingOverlay.scss +8 -10
- package/lib/cjs/widget/components/GroupPropertyAction.d.ts +1 -1
- package/lib/cjs/widget/components/GroupPropertyAction.js +149 -302
- package/lib/cjs/widget/components/GroupPropertyAction.js.map +1 -1
- package/lib/cjs/widget/components/GroupPropertyAction.scss +82 -8
- package/lib/cjs/widget/components/GroupPropertyUtils.d.ts +21 -0
- package/lib/cjs/widget/components/GroupPropertyUtils.js +287 -0
- package/lib/cjs/widget/components/GroupPropertyUtils.js.map +1 -0
- package/lib/cjs/widget/components/GroupingMapping.scss +4 -1
- package/lib/cjs/widget/components/HorizontalTile.d.ts +5 -3
- package/lib/cjs/widget/components/HorizontalTile.js +9 -6
- package/lib/cjs/widget/components/HorizontalTile.js.map +1 -1
- package/lib/cjs/widget/components/HorizontalTile.scss +46 -22
- package/lib/cjs/widget/components/SelectProject.js +2 -0
- package/lib/cjs/widget/components/SelectProject.js.map +1 -1
- package/lib/cjs/widget/components/SortableHorizontalTile.d.ts +8 -0
- package/lib/cjs/widget/components/SortableHorizontalTile.js +51 -0
- package/lib/cjs/widget/components/SortableHorizontalTile.js.map +1 -0
- package/lib/esm/widget/components/BlockingOverlay.js +1 -2
- package/lib/esm/widget/components/BlockingOverlay.js.map +1 -1
- package/lib/esm/widget/components/BlockingOverlay.scss +8 -10
- package/lib/esm/widget/components/GroupPropertyAction.d.ts +1 -1
- package/lib/esm/widget/components/GroupPropertyAction.js +151 -304
- package/lib/esm/widget/components/GroupPropertyAction.js.map +1 -1
- package/lib/esm/widget/components/GroupPropertyAction.scss +82 -8
- package/lib/esm/widget/components/GroupPropertyUtils.d.ts +21 -0
- package/lib/esm/widget/components/GroupPropertyUtils.js +280 -0
- package/lib/esm/widget/components/GroupPropertyUtils.js.map +1 -0
- package/lib/esm/widget/components/GroupingMapping.scss +4 -1
- package/lib/esm/widget/components/HorizontalTile.d.ts +5 -3
- package/lib/esm/widget/components/HorizontalTile.js +9 -6
- package/lib/esm/widget/components/HorizontalTile.js.map +1 -1
- package/lib/esm/widget/components/HorizontalTile.scss +46 -22
- package/lib/esm/widget/components/SelectProject.js +2 -0
- package/lib/esm/widget/components/SelectProject.js.map +1 -1
- package/lib/esm/widget/components/SortableHorizontalTile.d.ts +8 -0
- package/lib/esm/widget/components/SortableHorizontalTile.js +30 -0
- package/lib/esm/widget/components/SortableHorizontalTile.js.map +1 -0
- package/package.json +8 -3
|
@@ -5,6 +5,9 @@
|
|
|
5
5
|
@import "~@itwin/itwinui-css/scss/variables";
|
|
6
6
|
|
|
7
7
|
.gmw-group-mapping-container {
|
|
8
|
+
position: absolute;
|
|
9
|
+
right: 0;
|
|
10
|
+
left: 0;
|
|
8
11
|
display: flex;
|
|
9
12
|
flex-direction: column;
|
|
10
13
|
padding: $iui-baseline $iui-m;
|
|
@@ -15,4 +18,4 @@
|
|
|
15
18
|
|
|
16
19
|
.gmw-field-legend {
|
|
17
20
|
color: $iui-color-system-gray;
|
|
18
|
-
}
|
|
21
|
+
}
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
import type { ReactNode } from "react";
|
|
2
2
|
import "./HorizontalTile.scss";
|
|
3
|
-
interface HorizontalTileProps {
|
|
3
|
+
export interface HorizontalTileProps {
|
|
4
4
|
title: string;
|
|
5
5
|
actionGroup: ReactNode;
|
|
6
6
|
subText?: string;
|
|
7
|
+
onClick?: () => void;
|
|
7
8
|
onClickTitle?: () => void;
|
|
8
9
|
titleTooltip?: string;
|
|
9
10
|
subtextToolTip?: string;
|
|
11
|
+
selected?: boolean;
|
|
12
|
+
dragHandle?: ReactNode;
|
|
10
13
|
}
|
|
11
|
-
export declare const HorizontalTile: (
|
|
12
|
-
export {};
|
|
14
|
+
export declare const HorizontalTile: (props: HorizontalTileProps) => JSX.Element;
|
|
13
15
|
//# sourceMappingURL=HorizontalTile.d.ts.map
|
|
@@ -7,12 +7,15 @@ exports.HorizontalTile = void 0;
|
|
|
7
7
|
const react_1 = __importDefault(require("react"));
|
|
8
8
|
const itwinui_react_1 = require("@itwin/itwinui-react");
|
|
9
9
|
require("./HorizontalTile.scss");
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
10
|
+
const classnames_1 = __importDefault(require("classnames"));
|
|
11
|
+
const HorizontalTile = (props) => {
|
|
12
|
+
return (react_1.default.createElement("div", { className: classnames_1.default("gmw-horizontal-tile-container", { "gmw-horizontal-tile-selected": props.selected }), onClick: props.onClick, "data-testid": "gmw-horizontal-tile" },
|
|
13
|
+
react_1.default.createElement("div", { className: "gmw-body-container" },
|
|
14
|
+
props.dragHandle,
|
|
15
|
+
react_1.default.createElement("div", { className: "gmw-body" },
|
|
16
|
+
react_1.default.createElement(itwinui_react_1.Text, { className: classnames_1.default("gmw-body-text", { "iui-anchor": !!props.onClickTitle }), onClick: props.onClickTitle, variant: "body", title: props.titleTooltip }, props.title),
|
|
17
|
+
props.subText && react_1.default.createElement(itwinui_react_1.Text, { className: "gmw-body-text", isMuted: true, title: props.subtextToolTip, variant: "small" }, props.subText))),
|
|
18
|
+
react_1.default.createElement("div", { className: "gmw-action-button", "data-testid": "tile-action-button" }, props.actionGroup)));
|
|
16
19
|
};
|
|
17
20
|
exports.HorizontalTile = HorizontalTile;
|
|
18
21
|
//# sourceMappingURL=HorizontalTile.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HorizontalTile.js","sourceRoot":"","sources":["../../../../src/widget/components/HorizontalTile.tsx"],"names":[],"mappings":";;;;;;AAKA,kDAA0B;AAC1B,wDAA4C;AAC5C,iCAA+B;
|
|
1
|
+
{"version":3,"file":"HorizontalTile.js","sourceRoot":"","sources":["../../../../src/widget/components/HorizontalTile.tsx"],"names":[],"mappings":";;;;;;AAKA,kDAA0B;AAC1B,wDAA4C;AAC5C,iCAA+B;AAC/B,4DAAoC;AAc7B,MAAM,cAAc,GAAG,CAAC,KAA0B,EAAE,EAAE;IAE3D,OAAO,CACL,uCAAK,SAAS,EAAE,oBAAU,CAAC,+BAA+B,EAAE,EAAE,8BAA8B,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,iBAAc,qBAAqB;QACxK,uCAAK,SAAS,EAAC,oBAAoB;YAChC,KAAK,CAAC,UAAU;YACjB,uCAAK,SAAS,EAAC,UAAU;gBACvB,8BAAC,oBAAI,IAAC,SAAS,EAAE,oBAAU,CAAC,eAAe,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,YAAY,EAAE,OAAO,EAAC,MAAM,EAAC,KAAK,EAAE,KAAK,CAAC,YAAY,IAAG,KAAK,CAAC,KAAK,CAAQ;gBAChL,KAAK,CAAC,OAAO,IAAI,8BAAC,oBAAI,IAAC,SAAS,EAAC,eAAe,EAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,cAAc,EAAE,OAAO,EAAC,OAAO,IAAE,KAAK,CAAC,OAAO,CAAQ,CAChI,CACF;QACN,uCAAK,SAAS,EAAC,mBAAmB,iBAAa,oBAAoB,IAChE,KAAK,CAAC,WAAW,CACd,CACF,CACP,CAAC;AAEJ,CAAC,CAAC;AAjBW,QAAA,cAAc,kBAiBzB","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 { ReactNode } from \"react\";\nimport React from \"react\";\nimport { Text } from \"@itwin/itwinui-react\";\nimport \"./HorizontalTile.scss\";\nimport classNames from \"classnames\";\n\nexport interface HorizontalTileProps {\n title: string;\n actionGroup: ReactNode;\n subText?: string;\n onClick?: () => void;\n onClickTitle?: () => void;\n titleTooltip?: string;\n subtextToolTip?: string;\n selected?: boolean;\n dragHandle?: ReactNode;\n}\n\nexport const HorizontalTile = (props: HorizontalTileProps) => {\n\n return (\n <div className={classNames(\"gmw-horizontal-tile-container\", { \"gmw-horizontal-tile-selected\": props.selected })} onClick={props.onClick} data-testid=\"gmw-horizontal-tile\">\n <div className=\"gmw-body-container\">\n {props.dragHandle}\n <div className=\"gmw-body\">\n <Text className={classNames(\"gmw-body-text\", { \"iui-anchor\": !!props.onClickTitle })} onClick={props.onClickTitle} variant=\"body\" title={props.titleTooltip}>{props.title}</Text>\n {props.subText && <Text className=\"gmw-body-text\" isMuted={true} title={props.subtextToolTip} variant=\"small\">{props.subText}</Text>}\n </div>\n </div>\n <div className=\"gmw-action-button\" data-testid=\"tile-action-button\">\n {props.actionGroup}\n </div>\n </div>\n );\n\n};\n"]}
|
|
@@ -2,31 +2,55 @@
|
|
|
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
|
|
5
|
+
@import "~@itwin/itwinui-css/scss/variables";
|
|
6
|
+
@import "~@itwin/itwinui-css/scss/icon/index";
|
|
6
7
|
|
|
7
|
-
.gmw-horizontal-tile
|
|
8
|
-
|
|
9
|
-
justify-content: space-between;
|
|
10
|
-
border-radius: 5px;
|
|
11
|
-
background-color: var(--iui-color-background-2);
|
|
12
|
-
height: $iui-baseline * 4;
|
|
13
|
-
padding: 5.5px $iui-s;
|
|
14
|
-
.gmw-body {
|
|
8
|
+
.gmw-horizontal-tile {
|
|
9
|
+
&-container {
|
|
15
10
|
display: flex;
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
11
|
+
justify-content: space-between;
|
|
12
|
+
border-radius: 5px;
|
|
13
|
+
background-color: var(--iui-color-background-2);
|
|
14
|
+
min-height: $iui-baseline * 4;
|
|
15
|
+
padding: 5.5px $iui-s;
|
|
16
|
+
|
|
17
|
+
.gmw-body-container {
|
|
18
|
+
display: flex;
|
|
19
|
+
min-width: 0;
|
|
20
|
+
.gmw-drag-icon {
|
|
21
|
+
@include iui-icons-large();
|
|
22
|
+
justify-content: center;
|
|
23
|
+
height: 100%;
|
|
24
|
+
}
|
|
25
|
+
.gmw-body {
|
|
26
|
+
display: flex;
|
|
27
|
+
flex-direction: column;
|
|
28
|
+
min-width: 0;
|
|
29
|
+
justify-content: center;
|
|
30
|
+
&-text {
|
|
31
|
+
overflow: hidden;
|
|
32
|
+
white-space: nowrap;
|
|
33
|
+
text-overflow: ellipsis;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
.gmw-action-button {
|
|
38
|
+
margin-left: 0;
|
|
39
|
+
align-self: center;
|
|
40
|
+
min-width: 36px;
|
|
41
|
+
margin-right: $iui-xs;
|
|
42
|
+
flex-shrink: 0;
|
|
23
43
|
}
|
|
24
44
|
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
45
|
+
|
|
46
|
+
&-selected {
|
|
47
|
+
@include themed {
|
|
48
|
+
border: 1px solid t(iui-color-foreground-primary);
|
|
49
|
+
background: linear-gradient(
|
|
50
|
+
rgba(t(iui-color-foreground-primary-rgb), t(iui-opacity-6)),
|
|
51
|
+
rgba(t(iui-color-foreground-primary-rgb), t(iui-opacity-6))
|
|
52
|
+
),
|
|
53
|
+
linear-gradient(t(iui-color-background-1), t(iui-color-background-1));
|
|
54
|
+
}
|
|
31
55
|
}
|
|
32
56
|
}
|
|
@@ -49,6 +49,8 @@ const SelectProject = ({ onSelect, onCancel }) => {
|
|
|
49
49
|
void fetchAccessToken();
|
|
50
50
|
}, [getAccessToken]);
|
|
51
51
|
const startSearch = react_1.useCallback(() => {
|
|
52
|
+
if (!searchInput)
|
|
53
|
+
return;
|
|
52
54
|
setActiveSearchInput(searchInput);
|
|
53
55
|
setSearched(true);
|
|
54
56
|
}, [searchInput]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectProject.js","sourceRoot":"","sources":["../../../../src/widget/components/SelectProject.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 type { AccessToken } from \"@itwin/core-bentley\";\nimport type {\n ApiOverrides,\n IModelFull,\n ProjectFull,\n} from \"@itwin/imodel-browser-react\";\nimport { ProjectGrid } from \"@itwin/imodel-browser-react\";\nimport {\n SvgCalendar,\n SvgClose,\n SvgList,\n SvgSearch,\n SvgStarHollow,\n} from \"@itwin/itwinui-icons-react\";\nimport {\n Button,\n HorizontalTabs,\n IconButton,\n LabeledInput,\n Tab,\n} from \"@itwin/itwinui-react\";\nimport React, { useCallback, useEffect, useState } from \"react\";\nimport { useGroupingMappingApiConfig } from \"./context/GroupingApiConfigContext\";\nimport \"./SelectProject.scss\";\n\nconst tabsWithIcons = [\n <Tab\n key=\"favorite\"\n label=\"Favorite projects\"\n startIcon={<SvgStarHollow />}\n />,\n <Tab key=\"recents\" label=\"Recent projects\" startIcon={<SvgCalendar />} />,\n <Tab key=\"all\" label=\"My projects\" startIcon={<SvgList />} />,\n];\ninterface SelectProjectProps {\n onSelect: (project: ProjectFull) => void;\n onCancel: () => void;\n}\nconst SelectProject = ({ onSelect, onCancel }: SelectProjectProps) => {\n const { getAccessToken, prefix } = useGroupingMappingApiConfig();\n const [projectType, setProjectType] = useState<number>(0);\n const [searchInput, setSearchInput] = useState<string>(\"\");\n const [activeSearchInput, setActiveSearchInput] = useState<string>(\"\");\n const [accessToken, setAccessToken] = useState<AccessToken>();\n const [apiOverrides, setApiOverrides] = useState<ApiOverrides<IModelFull[]>>({\n serverEnvironmentPrefix: prefix,\n });\n const [searched, setSearched] = useState<boolean>(false);\n\n useEffect(\n () => setApiOverrides({ serverEnvironmentPrefix: prefix }),\n [prefix]\n );\n\n useEffect(() => {\n const fetchAccessToken = async () => {\n const accessToken = await getAccessToken();\n setAccessToken(accessToken);\n };\n void fetchAccessToken();\n }, [getAccessToken]);\n\n const startSearch = useCallback(() => {\n setActiveSearchInput(searchInput);\n setSearched(true);\n }, [searchInput]);\n\n const clearSearch = useCallback(() => {\n setSearchInput(\"\");\n setActiveSearchInput(\"\");\n setSearched(false);\n }, []);\n\n useEffect(() => {\n if (searchInput.length === 0) {\n setSearched(false);\n clearSearch();\n }\n }, [searchInput, setSearched, clearSearch]);\n\n return (\n <div className=\"gmw-select-project-grid-container\">\n <HorizontalTabs\n labels={tabsWithIcons}\n onTabSelected={setProjectType}\n activeIndex={projectType}\n type={\"borderless\"}\n contentClassName=\"gmw-grid-holding-tab\"\n >\n <LabeledInput\n displayStyle=\"inline\"\n iconDisplayStyle=\"inline\"\n className=\"gmw-search-input\"\n label=\"Search\"\n value={searchInput}\n placeholder=\"Search....\"\n onChange={(event) => {\n const {\n target: { value },\n } = event;\n setSearchInput(value);\n }}\n onKeyDown={(event) => {\n if (event.key === \"Enter\") {\n startSearch();\n }\n }}\n svgIcon={\n searched ? (\n <IconButton onClick={clearSearch} styleType=\"borderless\">\n <SvgClose />\n </IconButton>\n ) : (\n <IconButton onClick={startSearch} styleType=\"borderless\">\n <SvgSearch />\n </IconButton>\n )\n }\n />\n </HorizontalTabs>\n <div className=\"gmw-project-grid\">\n <ProjectGrid\n onThumbnailClick={onSelect}\n accessToken={accessToken}\n apiOverrides={apiOverrides}\n filterOptions={activeSearchInput}\n requestType={\n projectType === 0 ? \"favorites\" : projectType === 1 ? \"recents\" : \"\"\n }\n />\n </div>\n <div className=\"gmw-select-project-action-panel\">\n <Button onClick={onCancel}>Cancel</Button>\n </div>\n </div>\n );\n};\n\nexport default SelectProject;\n"]}
|
|
1
|
+
{"version":3,"file":"SelectProject.js","sourceRoot":"","sources":["../../../../src/widget/components/SelectProject.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 type { AccessToken } from \"@itwin/core-bentley\";\nimport type {\n ApiOverrides,\n IModelFull,\n ProjectFull,\n} from \"@itwin/imodel-browser-react\";\nimport { ProjectGrid } from \"@itwin/imodel-browser-react\";\nimport {\n SvgCalendar,\n SvgClose,\n SvgList,\n SvgSearch,\n SvgStarHollow,\n} from \"@itwin/itwinui-icons-react\";\nimport {\n Button,\n HorizontalTabs,\n IconButton,\n LabeledInput,\n Tab,\n} from \"@itwin/itwinui-react\";\nimport React, { useCallback, useEffect, useState } from \"react\";\nimport { useGroupingMappingApiConfig } from \"./context/GroupingApiConfigContext\";\nimport \"./SelectProject.scss\";\n\nconst tabsWithIcons = [\n <Tab\n key=\"favorite\"\n label=\"Favorite projects\"\n startIcon={<SvgStarHollow />}\n />,\n <Tab key=\"recents\" label=\"Recent projects\" startIcon={<SvgCalendar />} />,\n <Tab key=\"all\" label=\"My projects\" startIcon={<SvgList />} />,\n];\ninterface SelectProjectProps {\n onSelect: (project: ProjectFull) => void;\n onCancel: () => void;\n}\nconst SelectProject = ({ onSelect, onCancel }: SelectProjectProps) => {\n const { getAccessToken, prefix } = useGroupingMappingApiConfig();\n const [projectType, setProjectType] = useState<number>(0);\n const [searchInput, setSearchInput] = useState<string>(\"\");\n const [activeSearchInput, setActiveSearchInput] = useState<string>(\"\");\n const [accessToken, setAccessToken] = useState<AccessToken>();\n const [apiOverrides, setApiOverrides] = useState<ApiOverrides<IModelFull[]>>({\n serverEnvironmentPrefix: prefix,\n });\n const [searched, setSearched] = useState<boolean>(false);\n\n useEffect(\n () => setApiOverrides({ serverEnvironmentPrefix: prefix }),\n [prefix]\n );\n\n useEffect(() => {\n const fetchAccessToken = async () => {\n const accessToken = await getAccessToken();\n setAccessToken(accessToken);\n };\n void fetchAccessToken();\n }, [getAccessToken]);\n\n const startSearch = useCallback(() => {\n if (!searchInput) return;\n setActiveSearchInput(searchInput);\n setSearched(true);\n }, [searchInput]);\n\n const clearSearch = useCallback(() => {\n setSearchInput(\"\");\n setActiveSearchInput(\"\");\n setSearched(false);\n }, []);\n\n useEffect(() => {\n if (searchInput.length === 0) {\n setSearched(false);\n clearSearch();\n }\n }, [searchInput, setSearched, clearSearch]);\n\n return (\n <div className=\"gmw-select-project-grid-container\">\n <HorizontalTabs\n labels={tabsWithIcons}\n onTabSelected={setProjectType}\n activeIndex={projectType}\n type={\"borderless\"}\n contentClassName=\"gmw-grid-holding-tab\"\n >\n <LabeledInput\n displayStyle=\"inline\"\n iconDisplayStyle=\"inline\"\n className=\"gmw-search-input\"\n label=\"Search\"\n value={searchInput}\n placeholder=\"Search....\"\n onChange={(event) => {\n const {\n target: { value },\n } = event;\n setSearchInput(value);\n }}\n onKeyDown={(event) => {\n if (event.key === \"Enter\") {\n startSearch();\n }\n }}\n svgIcon={\n searched ? (\n <IconButton onClick={clearSearch} styleType=\"borderless\">\n <SvgClose />\n </IconButton>\n ) : (\n <IconButton onClick={startSearch} styleType=\"borderless\">\n <SvgSearch />\n </IconButton>\n )\n }\n />\n </HorizontalTabs>\n <div className=\"gmw-project-grid\">\n <ProjectGrid\n onThumbnailClick={onSelect}\n accessToken={accessToken}\n apiOverrides={apiOverrides}\n filterOptions={activeSearchInput}\n requestType={\n projectType === 0 ? \"favorites\" : projectType === 1 ? \"recents\" : \"\"\n }\n />\n </div>\n <div className=\"gmw-select-project-action-panel\">\n <Button onClick={onCancel}>Cancel</Button>\n </div>\n </div>\n );\n};\n\nexport default SelectProject;\n"]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import type { HorizontalTileProps } from "./HorizontalTile";
|
|
3
|
+
interface SortableHorizontalTileProps extends HorizontalTileProps {
|
|
4
|
+
id: string;
|
|
5
|
+
}
|
|
6
|
+
declare const SortableHorizontalTile: ({ id, ...props }: SortableHorizontalTileProps) => JSX.Element;
|
|
7
|
+
export default SortableHorizontalTile;
|
|
8
|
+
//# sourceMappingURL=SortableHorizontalTile.d.ts.map
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
/*---------------------------------------------------------------------------------------------
|
|
23
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
24
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
25
|
+
*--------------------------------------------------------------------------------------------*/
|
|
26
|
+
const react_1 = __importStar(require("react"));
|
|
27
|
+
const sortable_1 = require("@dnd-kit/sortable");
|
|
28
|
+
const HorizontalTile_1 = require("./HorizontalTile");
|
|
29
|
+
const utilities_1 = require("@dnd-kit/utilities");
|
|
30
|
+
const itwinui_icons_react_1 = require("@itwin/itwinui-icons-react");
|
|
31
|
+
const SortableHorizontalTile = ({ id, ...props }) => {
|
|
32
|
+
const { attributes, listeners, isDragging, setNodeRef, transform, transition, } = sortable_1.useSortable({ id });
|
|
33
|
+
const style = {
|
|
34
|
+
transform: utilities_1.CSS.Transform.toString(transform),
|
|
35
|
+
transition,
|
|
36
|
+
};
|
|
37
|
+
react_1.useEffect(() => {
|
|
38
|
+
if (!isDragging) {
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
document.body.style.cursor = "grabbing";
|
|
42
|
+
return () => {
|
|
43
|
+
document.body.style.cursor = "";
|
|
44
|
+
};
|
|
45
|
+
}, [isDragging]);
|
|
46
|
+
return (react_1.default.createElement("div", { ref: setNodeRef, ...attributes, style: { ...style, visibility: isDragging ? "hidden" : "visible" } },
|
|
47
|
+
react_1.default.createElement(HorizontalTile_1.HorizontalTile, { dragHandle: react_1.default.createElement("div", { className: "gmw-drag-icon", style: { cursor: "grab" }, title: "Drag & Drop", ...listeners },
|
|
48
|
+
react_1.default.createElement(itwinui_icons_react_1.SvgDragHandleVertical, null)), ...props })));
|
|
49
|
+
};
|
|
50
|
+
exports.default = SortableHorizontalTile;
|
|
51
|
+
//# sourceMappingURL=SortableHorizontalTile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SortableHorizontalTile.js","sourceRoot":"","sources":["../../../../src/widget/components/SortableHorizontalTile.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;;+FAG+F;AAC/F,+CAAyC;AACzC,gDAAgD;AAEhD,qDAAkD;AAClD,kDAAyC;AACzC,oEAAmE;AAMnE,MAAM,sBAAsB,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,KAAK,EAA+B,EAAE,EAAE;IAC/E,MAAM,EACJ,UAAU,EACV,SAAS,EACT,UAAU,EACV,UAAU,EACV,SAAS,EACT,UAAU,GACX,GAAG,sBAAW,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAExB,MAAM,KAAK,GAAG;QACZ,SAAS,EAAE,eAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC5C,UAAU;KACX,CAAC;IAEF,iBAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,UAAU,EAAE;YACf,OAAO;SACR;QACD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,UAAU,CAAC;QACxC,OAAO,GAAG,EAAE;YACV,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC;QAClC,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB,OAAO,CACL,uCACE,GAAG,EAAE,UAAU,KACX,UAAU,EACd,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EAAE;QAElE,8BAAC,+BAAc,IACb,UAAU,EACR,uCAAK,SAAS,EAAC,eAAe,EAAC,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,KAAK,EAAC,aAAa,KAAK,SAAS;gBACzF,8BAAC,2CAAqB,OAAG,CACrB,KAEJ,KAAK,GACT,CACE,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,sBAAsB,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, { useEffect } from \"react\";\nimport { useSortable } from \"@dnd-kit/sortable\";\nimport type { HorizontalTileProps } from \"./HorizontalTile\";\nimport { HorizontalTile } from \"./HorizontalTile\";\nimport { CSS } from \"@dnd-kit/utilities\";\nimport { SvgDragHandleVertical } from \"@itwin/itwinui-icons-react\";\n\ninterface SortableHorizontalTileProps extends HorizontalTileProps {\n id: string;\n}\n\nconst SortableHorizontalTile = ({ id, ...props }: SortableHorizontalTileProps) => {\n const {\n attributes,\n listeners,\n isDragging,\n setNodeRef,\n transform,\n transition,\n } = useSortable({ id });\n\n const style = {\n transform: CSS.Transform.toString(transform),\n transition,\n };\n\n useEffect(() => {\n if (!isDragging) {\n return;\n }\n document.body.style.cursor = \"grabbing\";\n return () => {\n document.body.style.cursor = \"\";\n };\n }, [isDragging]);\n\n return (\n <div\n ref={setNodeRef}\n {...attributes}\n style={{ ...style, visibility: isDragging ? \"hidden\" : \"visible\" }}\n >\n <HorizontalTile\n dragHandle={\n <div className=\"gmw-drag-icon\" style={{ cursor: \"grab\" }} title=\"Drag & Drop\" {...listeners}>\n <SvgDragHandleVertical />\n </div>\n }\n {...props}\n />\n </div>\n );\n};\n\nexport default SortableHorizontalTile;\n"]}
|
|
@@ -8,7 +8,6 @@ import { LoadingSpinner } from "./utils";
|
|
|
8
8
|
import "./BlockingOverlay.scss";
|
|
9
9
|
export const BlockingOverlay = ({ isVisible }) => {
|
|
10
10
|
return (React.createElement("div", { className: classnames("gmw-group-mapping-blocking-overlay", isVisible && "gmw-visible") },
|
|
11
|
-
React.createElement(
|
|
12
|
-
React.createElement(LoadingSpinner, null))));
|
|
11
|
+
React.createElement(LoadingSpinner, null)));
|
|
13
12
|
};
|
|
14
13
|
//# sourceMappingURL=BlockingOverlay.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BlockingOverlay.js","sourceRoot":"","sources":["../../../../src/widget/components/BlockingOverlay.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,wBAAwB,CAAC;AAMhC,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAAE,SAAS,EAAwB,EAAE,EAAE;IACrE,OAAO,CACL,6BAAK,SAAS,EAAE,UAAU,CAAC,oCAAoC,EAAE,SAAS,IAAI,aAAa,CAAC;QAC1F,
|
|
1
|
+
{"version":3,"file":"BlockingOverlay.js","sourceRoot":"","sources":["../../../../src/widget/components/BlockingOverlay.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,wBAAwB,CAAC;AAMhC,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAAE,SAAS,EAAwB,EAAE,EAAE;IACrE,OAAO,CACL,6BAAK,SAAS,EAAE,UAAU,CAAC,oCAAoC,EAAE,SAAS,IAAI,aAAa,CAAC;QAC1F,oBAAC,cAAc,OAAG,CACd,CACP,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 classnames from \"classnames\";\nimport React from \"react\";\nimport { LoadingSpinner } from \"./utils\";\nimport \"./BlockingOverlay.scss\";\n\nexport interface BlockingOverlayProps {\n isVisible: boolean;\n}\n\nexport const BlockingOverlay = ({ isVisible }: BlockingOverlayProps) => {\n return (\n <div className={classnames(\"gmw-group-mapping-blocking-overlay\", isVisible && \"gmw-visible\")}>\n <LoadingSpinner />\n </div>\n );\n};\n"]}
|
|
@@ -2,14 +2,18 @@
|
|
|
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
|
|
5
|
+
@import "~@itwin/itwinui-css/scss/variables";
|
|
6
6
|
|
|
7
7
|
.gmw-group-mapping-blocking-overlay {
|
|
8
8
|
background-color: black;
|
|
9
9
|
position: absolute;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
display: flex;
|
|
11
|
+
justify-content: center;
|
|
12
|
+
align-items: center;
|
|
13
|
+
top: $iui-baseline;
|
|
14
|
+
bottom: $iui-baseline;
|
|
15
|
+
right: $iui-s;
|
|
16
|
+
left: $iui-s;
|
|
13
17
|
opacity: 60%;
|
|
14
18
|
z-index: 9999;
|
|
15
19
|
visibility: hidden;
|
|
@@ -18,9 +22,3 @@
|
|
|
18
22
|
visibility: visible;
|
|
19
23
|
}
|
|
20
24
|
}
|
|
21
|
-
|
|
22
|
-
.gmw-group-mapping-blocking-overlay-spinner {
|
|
23
|
-
display: flex;
|
|
24
|
-
justify-content: center;
|
|
25
|
-
height: inherit;
|
|
26
|
-
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import type { KeySet } from "@itwin/presentation-common";
|
|
3
3
|
import type { SelectOption } from "@itwin/itwinui-react";
|
|
4
|
-
import "./GroupPropertyAction.scss";
|
|
5
4
|
import { QuantityType } from "@itwin/insights-client";
|
|
5
|
+
import "./GroupPropertyAction.scss";
|
|
6
6
|
interface GroupPropertyActionProps {
|
|
7
7
|
iModelId: string;
|
|
8
8
|
mappingId: string;
|