@gooddata/sdk-ui-ext 10.14.0-alpha.2 → 10.14.0-alpha.21
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/esm/internal/components/dialogs/userManagementDialogs/AddWorkspaceToSubjects.d.ts +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/AddWorkspaceToSubjects.d.ts.map +1 -1
- package/esm/internal/components/dialogs/userManagementDialogs/AddWorkspaceToSubjects.js +3 -3
- package/esm/internal/components/dialogs/userManagementDialogs/AddWorkspaceToSubjects.js.map +1 -1
- package/esm/internal/components/dialogs/userManagementDialogs/RemoveIcon.d.ts +9 -0
- package/esm/internal/components/dialogs/userManagementDialogs/RemoveIcon.d.ts.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/RemoveIcon.js +11 -0
- package/esm/internal/components/dialogs/userManagementDialogs/RemoveIcon.js.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/UserEditDialog.d.ts +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/UserEditDialog.d.ts.map +1 -1
- package/esm/internal/components/dialogs/userManagementDialogs/UserEditDialog.js +22 -6
- package/esm/internal/components/dialogs/userManagementDialogs/UserEditDialog.js.map +1 -1
- package/esm/internal/components/dialogs/userManagementDialogs/UserGroupEditDialog.d.ts +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/UserGroupEditDialog.d.ts.map +1 -1
- package/esm/internal/components/dialogs/userManagementDialogs/UserGroupEditDialog.js +22 -6
- package/esm/internal/components/dialogs/userManagementDialogs/UserGroupEditDialog.js.map +1 -1
- package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/UserGroupItem.d.ts.map +1 -1
- package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/UserGroupItem.js +9 -14
- package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/UserGroupItem.js.map +1 -1
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/AddSingleWorkspaceSelect.d.ts +4 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/AddSingleWorkspaceSelect.d.ts.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/AddSingleWorkspaceSelect.js +67 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/AddSingleWorkspaceSelect.js.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/AddWorkspace.d.ts +2 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/AddWorkspace.d.ts.map +1 -1
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/AddWorkspace.js +23 -6
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/AddWorkspace.js.map +1 -1
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/AsyncSelectComponents.d.ts +2 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/AsyncSelectComponents.d.ts.map +1 -1
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/AsyncSelectComponents.js +13 -1
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/AsyncSelectComponents.js.map +1 -1
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/GranularPermissions.d.ts +11 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/GranularPermissions.d.ts.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/GranularPermissions.js +72 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/GranularPermissions.js.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/GranularPermissionsItems.d.ts +18 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/GranularPermissionsItems.d.ts.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/GranularPermissionsItems.js +26 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/GranularPermissionsItems.js.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/GranularPermissionsWorkspaceItem.d.ts +10 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/GranularPermissionsWorkspaceItem.d.ts.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/GranularPermissionsWorkspaceItem.js +24 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/GranularPermissionsWorkspaceItem.js.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/PermissionsDropdown.d.ts.map +1 -1
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/PermissionsDropdown.js +2 -2
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/PermissionsDropdown.js.map +1 -1
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/QuestionMarkIcon.d.ts +6 -1
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/QuestionMarkIcon.d.ts.map +1 -1
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/QuestionMarkIcon.js +3 -3
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/QuestionMarkIcon.js.map +1 -1
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/WorkspaceIcon.d.ts +3 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/WorkspaceIcon.d.ts.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/WorkspaceIcon.js +9 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/WorkspaceIcon.js.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/WorkspaceItem.d.ts.map +1 -1
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/WorkspaceItem.js +1 -6
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/WorkspaceItem.js.map +1 -1
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/granularPermissionUtils.d.ts +62 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/granularPermissionUtils.d.ts.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/granularPermissionUtils.js +190 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/granularPermissionUtils.js.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/locales.d.ts +71 -1
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/locales.d.ts.map +1 -1
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/locales.js +68 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/locales.js.map +1 -1
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceList.d.ts +2 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceList.d.ts.map +1 -1
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceList.js +3 -2
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceList.js.map +1 -1
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/backend/loadWorkspaceOptionsPromise.d.ts +9 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/backend/loadWorkspaceOptionsPromise.d.ts.map +1 -1
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/backend/loadWorkspaceOptionsPromise.js +36 -1
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/backend/loadWorkspaceOptionsPromise.js.map +1 -1
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/useAddWorkspace.d.ts +2 -1
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/useAddWorkspace.d.ts.map +1 -1
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/useAddWorkspace.js +14 -12
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/useAddWorkspace.js.map +1 -1
- package/esm/internal/components/dialogs/userManagementDialogs/hooks/usePermissions.d.ts +1 -1
- package/esm/internal/components/dialogs/userManagementDialogs/hooks/usePermissions.d.ts.map +1 -1
- package/esm/internal/components/dialogs/userManagementDialogs/hooks/usePermissions.js +7 -5
- package/esm/internal/components/dialogs/userManagementDialogs/hooks/usePermissions.js.map +1 -1
- package/esm/internal/components/dialogs/userManagementDialogs/locales.d.ts +3 -0
- package/esm/internal/components/dialogs/userManagementDialogs/locales.d.ts.map +1 -1
- package/esm/internal/components/dialogs/userManagementDialogs/locales.js +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/locales.js.map +1 -1
- package/esm/internal/components/dialogs/userManagementDialogs/types.d.ts +15 -3
- package/esm/internal/components/dialogs/userManagementDialogs/types.d.ts.map +1 -1
- package/esm/internal/components/dialogs/userManagementDialogs/types.js.map +1 -1
- package/esm/internal/components/dialogs/userManagementDialogs/utils.d.ts +2 -2
- package/esm/internal/components/dialogs/userManagementDialogs/utils.d.ts.map +1 -1
- package/esm/internal/components/dialogs/userManagementDialogs/utils.js +13 -7
- package/esm/internal/components/dialogs/userManagementDialogs/utils.js.map +1 -1
- package/esm/internal/components/pluggableVisualizations/drillDownUtil.d.ts.map +1 -1
- package/esm/internal/components/pluggableVisualizations/drillDownUtil.js +1 -1
- package/esm/internal/components/pluggableVisualizations/drillDownUtil.js.map +1 -1
- package/esm/sdk-ui-ext.d.ts +3 -0
- package/package.json +16 -16
- package/styles/css/main.css +78 -0
- package/styles/css/main.css.map +1 -1
- package/styles/internal/css/user_management_dialogs.css +78 -0
- package/styles/internal/css/user_management_dialogs.css.map +1 -1
- package/styles/internal/scss/user_management_dialogs.scss +93 -0
package/esm/internal/components/dialogs/userManagementDialogs/Workspace/AsyncSelectComponents.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
// (C) 2021-
|
|
1
|
+
// (C) 2021-2024 GoodData Corporation
|
|
2
2
|
import React from "react";
|
|
3
3
|
import { components as ReactSelectComponents, } from "react-select";
|
|
4
4
|
import { Typography, LoadingMask } from "@gooddata/sdk-ui-kit";
|
|
5
|
+
import { wrapMenuList } from "react-select-async-paginate";
|
|
5
6
|
import { isWorkspaceItem, isSelectErrorOption } from "../types.js";
|
|
6
7
|
import { getWorkspaceItemTestId } from "../utils.js";
|
|
7
8
|
export const EmptyRenderer = () => {
|
|
@@ -19,10 +20,21 @@ export const MenuListRendered = (props) => {
|
|
|
19
20
|
return (React.createElement(ReactSelectComponents.MenuList, { ...props },
|
|
20
21
|
React.createElement("div", { className: "s-user-management-menu", "aria-label": "Share dialog menu list" }, props.children)));
|
|
21
22
|
};
|
|
23
|
+
export const WrappedMenuListRenderer = wrapMenuList((props) => {
|
|
24
|
+
return (React.createElement(ReactSelectComponents.MenuList, { ...props },
|
|
25
|
+
React.createElement("div", { className: "s-user-management-menu", "aria-label": "Share dialog menu list" }, props.children)));
|
|
26
|
+
});
|
|
22
27
|
export const InputRendered = (props) => {
|
|
23
28
|
return (React.createElement("div", { className: "gd-share-dialog-input s-user-management-input" },
|
|
24
29
|
React.createElement(ReactSelectComponents.Input, { ...props })));
|
|
25
30
|
};
|
|
31
|
+
export const SingleValueInputRenderer = (props) => {
|
|
32
|
+
if (props.hasValue) {
|
|
33
|
+
return null;
|
|
34
|
+
}
|
|
35
|
+
return (React.createElement("div", { className: "gd-share-dialog-input s-user-management-input" },
|
|
36
|
+
React.createElement(ReactSelectComponents.Input, { ...props })));
|
|
37
|
+
};
|
|
26
38
|
const OptionContentRenderer = (item) => {
|
|
27
39
|
if (isWorkspaceItem(item.value)) {
|
|
28
40
|
return React.createElement(React.Fragment, null,
|
package/esm/internal/components/dialogs/userManagementDialogs/Workspace/AsyncSelectComponents.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AsyncSelectComponents.js","sourceRoot":"","sources":["../../../../../../src/internal/components/dialogs/userManagementDialogs/Workspace/AsyncSelectComponents.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EACH,UAAU,IAAI,qBAAqB,GAMtC,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"AsyncSelectComponents.js","sourceRoot":"","sources":["../../../../../../src/internal/components/dialogs/userManagementDialogs/Workspace/AsyncSelectComponents.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { IGrantedWorkspace } from "../../types.js";
|
|
3
|
+
interface IGranularPermissionsProps {
|
|
4
|
+
workspace: IGrantedWorkspace | undefined;
|
|
5
|
+
onChange: (workspace: IGrantedWorkspace) => void;
|
|
6
|
+
areFilterViewsEnabled: boolean;
|
|
7
|
+
showRedundancyWarningMessage: boolean;
|
|
8
|
+
}
|
|
9
|
+
export declare const GranularPermissions: React.FC<IGranularPermissionsProps>;
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=GranularPermissions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GranularPermissions.d.ts","sourceRoot":"","sources":["../../../../../../../src/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/GranularPermissions.tsx"],"names":[],"mappings":"AACA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAI/D,OAAO,EACH,iBAAiB,EAIpB,MAAM,gBAAgB,CAAC;AAwBxB,UAAU,yBAAyB;IAC/B,SAAS,EAAE,iBAAiB,GAAG,SAAS,CAAC;IACzC,QAAQ,EAAE,CAAC,SAAS,EAAE,iBAAiB,KAAK,IAAI,CAAC;IACjD,qBAAqB,EAAE,OAAO,CAAC;IAC/B,4BAA4B,EAAE,OAAO,CAAC;CACzC;AAED,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CAiJnE,CAAC"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
// (C) 2024 GoodData Corporation
|
|
2
|
+
import React, { useCallback, useMemo } from "react";
|
|
3
|
+
import { FormattedMessage, useIntl } from "react-intl";
|
|
4
|
+
import { DialogListHeader, Message } from "@gooddata/sdk-ui-kit";
|
|
5
|
+
import { AdditionalAccessPermissionItem, WorkspaceAccessPermissionItem } from "./GranularPermissionsItems.js";
|
|
6
|
+
import { getWorkspaceAccessPermissionDescription, workspaceGranularPermissionMessages } from "./locales.js";
|
|
7
|
+
import { getGranularPermissions, getWorkspacePermission, isExportPermissionIndefinite, isPermissionDisabled, workspacePermissions, sanitizeExportPermissions, removeRedundantPermissions, getImplicitGranularPermissions, } from "./granularPermissionUtils.js";
|
|
8
|
+
import { QuestionMarkIcon } from "./QuestionMarkIcon.js";
|
|
9
|
+
const granularPermissions = [
|
|
10
|
+
{ id: "CREATE_FILTER_VIEW", enabled: true },
|
|
11
|
+
{ id: "CREATE_AUTOMATION", enabled: true },
|
|
12
|
+
{ id: "EXPORT", enabled: true },
|
|
13
|
+
{ id: "EXPORT_PDF", enabled: true, group: true },
|
|
14
|
+
{ id: "EXPORT_TABULAR", enabled: true, group: true },
|
|
15
|
+
];
|
|
16
|
+
export const GranularPermissions = ({ workspace, areFilterViewsEnabled, onChange, showRedundancyWarningMessage, }) => {
|
|
17
|
+
const intl = useIntl();
|
|
18
|
+
const { permissions: selectedPermissions = [], isHierarchical = false } = workspace ?? {};
|
|
19
|
+
const selectedWorkspacePermission = getWorkspacePermission(selectedPermissions);
|
|
20
|
+
const selectedGranularPermissions = getGranularPermissions(selectedPermissions);
|
|
21
|
+
const granularItems = useMemo(() => granularPermissions.filter((item) => areFilterViewsEnabled || item.id !== "CREATE_FILTER_VIEW"), [areFilterViewsEnabled]);
|
|
22
|
+
const handleChange = useCallback((permissions, isHierarchical) => {
|
|
23
|
+
const sanitizedPermissions = removeRedundantPermissions(permissions);
|
|
24
|
+
onChange({ ...workspace, permissions: sanitizedPermissions, isHierarchical });
|
|
25
|
+
}, [onChange, workspace]);
|
|
26
|
+
const handleHierarchicalChange = useCallback((isHierarchical) => {
|
|
27
|
+
handleChange([selectedWorkspacePermission, ...selectedGranularPermissions], isHierarchical);
|
|
28
|
+
}, [handleChange, selectedGranularPermissions, selectedWorkspacePermission]);
|
|
29
|
+
const handleWorkspacePermissionChange = useCallback((workspacePermission) => {
|
|
30
|
+
const updatedGranularPermissions = getImplicitGranularPermissions(workspacePermission);
|
|
31
|
+
handleChange([workspacePermission, ...updatedGranularPermissions], isHierarchical);
|
|
32
|
+
}, [handleChange, isHierarchical]);
|
|
33
|
+
const handleGranularPermissionChange = useCallback((granularPermission) => {
|
|
34
|
+
const isPermissionSelected = selectedGranularPermissions.includes(granularPermission);
|
|
35
|
+
const updatedGranularPermissions = isPermissionSelected
|
|
36
|
+
? selectedGranularPermissions.filter((p) => p !== granularPermission)
|
|
37
|
+
: [...selectedGranularPermissions, granularPermission];
|
|
38
|
+
const sanitizedGranularPermissions = sanitizeExportPermissions(granularPermission, updatedGranularPermissions, !isPermissionSelected);
|
|
39
|
+
handleChange([selectedWorkspacePermission, ...sanitizedGranularPermissions], isHierarchical);
|
|
40
|
+
}, [handleChange, isHierarchical, selectedGranularPermissions, selectedWorkspacePermission]);
|
|
41
|
+
if (!workspace) {
|
|
42
|
+
return (React.createElement("div", { className: "gd-granular-permissions-empty" },
|
|
43
|
+
React.createElement(FormattedMessage, { id: "userManagement.workspace.granularPermission.noWorkspace" })));
|
|
44
|
+
}
|
|
45
|
+
return (React.createElement("div", { className: "gd-granular-permissions" },
|
|
46
|
+
React.createElement("div", { className: "gd-granular-permissions__hierarchy" },
|
|
47
|
+
React.createElement("label", { className: "input-checkbox-toggle" },
|
|
48
|
+
React.createElement("input", { type: "checkbox", checked: isHierarchical, onChange: (e) => handleHierarchicalChange(e.currentTarget.checked) }),
|
|
49
|
+
React.createElement("span", { className: "input-label-text" },
|
|
50
|
+
React.createElement(FormattedMessage, { id: "userManagement.workspace.granularPermission.hierarchy" }))),
|
|
51
|
+
React.createElement("div", { className: "gd-granular-permissions__hierarchy-icon" },
|
|
52
|
+
React.createElement(QuestionMarkIcon, { bubbleTextId: workspaceGranularPermissionMessages.hierarchyTooltip.id, width: 14, height: 14 }))),
|
|
53
|
+
React.createElement(DialogListHeader, { title: intl.formatMessage({
|
|
54
|
+
id: "userManagement.workspace.granularPermission.workspaceAccess.title",
|
|
55
|
+
}) }),
|
|
56
|
+
React.createElement("div", { className: "gd-granular-permissions__workspace-access" }, workspacePermissions.map((workspacePermission) => {
|
|
57
|
+
return (React.createElement(WorkspaceAccessPermissionItem, { key: workspacePermission, item: workspacePermission, checked: workspacePermission === selectedWorkspacePermission, onChange: () => handleWorkspacePermissionChange(workspacePermission) }));
|
|
58
|
+
})),
|
|
59
|
+
React.createElement("div", { className: "gd-granular-permissions__workspace-access-description" },
|
|
60
|
+
React.createElement(FormattedMessage, { id: getWorkspaceAccessPermissionDescription(selectedWorkspacePermission).id })),
|
|
61
|
+
React.createElement(DialogListHeader, { title: intl.formatMessage({
|
|
62
|
+
id: "userManagement.workspace.granularPermission.additionalAccess.title",
|
|
63
|
+
}) }),
|
|
64
|
+
React.createElement("div", { className: "gd-granular-permissions__additional-access-wrapper" }, granularItems.map((granularPermission) => {
|
|
65
|
+
return (React.createElement(AdditionalAccessPermissionItem, { key: granularPermission.id, item: granularPermission, checked: selectedGranularPermissions.includes(granularPermission.id), indefinite: isExportPermissionIndefinite(granularPermission.id, selectedGranularPermissions), disabled: isPermissionDisabled(granularPermission.id, selectedWorkspacePermission, selectedGranularPermissions), onChange: () => handleGranularPermissionChange(granularPermission.id) }));
|
|
66
|
+
})),
|
|
67
|
+
showRedundancyWarningMessage ? (React.createElement(Message, { type: "warning", className: "gd-granular-permissions__warning" },
|
|
68
|
+
React.createElement(FormattedMessage, { id: "userManagement.workspace.granularPermission.warning", values: {
|
|
69
|
+
b: (chunks) => React.createElement("strong", null, chunks),
|
|
70
|
+
} }))) : null));
|
|
71
|
+
};
|
|
72
|
+
//# sourceMappingURL=GranularPermissions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GranularPermissions.js","sourceRoot":"","sources":["../../../../../../../src/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/GranularPermissions.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { IPermissionsItem, WorkspacePermission } from "../../types.js";
|
|
3
|
+
interface IWorkspaceAccessPermissionItemProps {
|
|
4
|
+
item: WorkspacePermission;
|
|
5
|
+
checked: boolean;
|
|
6
|
+
onChange: () => void;
|
|
7
|
+
}
|
|
8
|
+
export declare const WorkspaceAccessPermissionItem: React.FC<IWorkspaceAccessPermissionItemProps>;
|
|
9
|
+
interface IAdditionalAccessPermissionItemProps {
|
|
10
|
+
item: IPermissionsItem;
|
|
11
|
+
checked: boolean;
|
|
12
|
+
indefinite: boolean;
|
|
13
|
+
disabled: boolean;
|
|
14
|
+
onChange: () => void;
|
|
15
|
+
}
|
|
16
|
+
export declare const AdditionalAccessPermissionItem: React.FC<IAdditionalAccessPermissionItemProps>;
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=GranularPermissionsItems.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GranularPermissionsItems.d.ts","sourceRoot":"","sources":["../../../../../../../src/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/GranularPermissionsItems.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAEvE,UAAU,mCAAmC;IACzC,IAAI,EAAE,mBAAmB,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,eAAO,MAAM,6BAA6B,EAAE,KAAK,CAAC,EAAE,CAAC,mCAAmC,CAmBvF,CAAC;AAEF,UAAU,oCAAoC;IAC1C,IAAI,EAAE,gBAAgB,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,eAAO,MAAM,8BAA8B,EAAE,KAAK,CAAC,EAAE,CAAC,oCAAoC,CAwBzF,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
// (C) 2024 GoodData Corporation
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { FormattedMessage } from "react-intl";
|
|
4
|
+
import cx from "classnames";
|
|
5
|
+
import { getGranularPermissionTitle, granularTooltipMessages } from "./locales.js";
|
|
6
|
+
import { QuestionMarkIcon } from "./QuestionMarkIcon.js";
|
|
7
|
+
export const WorkspaceAccessPermissionItem = (props) => {
|
|
8
|
+
const { item, checked, onChange } = props;
|
|
9
|
+
return (React.createElement("div", null,
|
|
10
|
+
React.createElement("label", { className: "input-radio-label" },
|
|
11
|
+
React.createElement("input", { type: "radio", className: "input-radio", name: "workspace-access-permission", checked: checked, onChange: onChange }),
|
|
12
|
+
React.createElement("span", { className: "input-label-text" },
|
|
13
|
+
React.createElement(FormattedMessage, { id: getGranularPermissionTitle(item).id })))));
|
|
14
|
+
};
|
|
15
|
+
export const AdditionalAccessPermissionItem = (props) => {
|
|
16
|
+
const { item, checked, indefinite, disabled, onChange } = props;
|
|
17
|
+
return (React.createElement("div", { className: "gd-granular-permissions__additional-access-item" },
|
|
18
|
+
item.group ? React.createElement("div", { className: "gd-granular-permissions__additional-access-item-indent" }) : null,
|
|
19
|
+
React.createElement("label", { className: "input-checkbox-label" },
|
|
20
|
+
React.createElement("input", { type: "checkbox", className: cx("input-checkbox", { "checkbox-indefinite": indefinite }), name: "additional-access-permission", checked: checked || indefinite, onChange: onChange, disabled: disabled }),
|
|
21
|
+
React.createElement("span", { className: "input-label-text" },
|
|
22
|
+
React.createElement(FormattedMessage, { id: getGranularPermissionTitle(item.id).id }))),
|
|
23
|
+
React.createElement("div", { className: "gd-granular-permissions__additional-access-item-info" },
|
|
24
|
+
React.createElement(QuestionMarkIcon, { bubbleTextId: granularTooltipMessages[item.id].id, width: 14, height: 14 }))));
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=GranularPermissionsItems.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GranularPermissionsItems.js","sourceRoot":"","sources":["../../../../../../../src/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/GranularPermissionsItems.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,0BAA0B,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AASzD,MAAM,CAAC,MAAM,6BAA6B,GAAkD,CAAC,KAAK,EAAE,EAAE;IAClG,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAE1C,OAAO,CACH;QACI,+BAAO,SAAS,EAAC,mBAAmB;YAChC,+BACI,IAAI,EAAC,OAAO,EACZ,SAAS,EAAC,aAAa,EACvB,IAAI,EAAC,6BAA6B,EAClC,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,GACpB;YACF,8BAAM,SAAS,EAAC,kBAAkB;gBAC9B,oBAAC,gBAAgB,IAAC,EAAE,EAAE,0BAA0B,CAAC,IAAI,CAAC,CAAC,EAAE,GAAI,CAC1D,CACH,CACN,CACT,CAAC;AACN,CAAC,CAAC;AAUF,MAAM,CAAC,MAAM,8BAA8B,GAAmD,CAAC,KAAK,EAAE,EAAE;IACpG,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAEhE,OAAO,CACH,6BAAK,SAAS,EAAC,iDAAiD;QAC3D,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,6BAAK,SAAS,EAAC,wDAAwD,GAAG,CAAC,CAAC,CAAC,IAAI;QAC/F,+BAAO,SAAS,EAAC,sBAAsB;YACnC,+BACI,IAAI,EAAC,UAAU,EACf,SAAS,EAAE,EAAE,CAAC,gBAAgB,EAAE,EAAE,qBAAqB,EAAE,UAAU,EAAE,CAAC,EACtE,IAAI,EAAC,8BAA8B,EACnC,OAAO,EAAE,OAAO,IAAI,UAAU,EAC9B,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,GACpB;YACF,8BAAM,SAAS,EAAC,kBAAkB;gBAC9B,oBAAC,gBAAgB,IAAC,EAAE,EAAE,0BAA0B,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,GAAI,CAC7D,CACH;QACR,6BAAK,SAAS,EAAC,sDAAsD;YACjE,oBAAC,gBAAgB,IAAC,YAAY,EAAE,uBAAuB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,GAAI,CAC5F,CACJ,CACT,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { IGrantedWorkspace } from "../../types.js";
|
|
3
|
+
interface IGranularPermissionsWorkspaceItemProps {
|
|
4
|
+
workspace: IGrantedWorkspace;
|
|
5
|
+
onDelete: (workspace: IGrantedWorkspace) => void;
|
|
6
|
+
onClick?: (workspace: IGrantedWorkspace) => void;
|
|
7
|
+
}
|
|
8
|
+
export declare const GranularPermissionsWorkspaceItem: React.FC<IGranularPermissionsWorkspaceItemProps>;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=GranularPermissionsWorkspaceItem.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GranularPermissionsWorkspaceItem.d.ts","sourceRoot":"","sources":["../../../../../../../src/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/GranularPermissionsWorkspaceItem.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAOnD,UAAU,sCAAsC;IAC5C,SAAS,EAAE,iBAAiB,CAAC;IAC7B,QAAQ,EAAE,CAAC,SAAS,EAAE,iBAAiB,KAAK,IAAI,CAAC;IACjD,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,iBAAiB,KAAK,IAAI,CAAC;CACpD;AAED,eAAO,MAAM,gCAAgC,EAAE,KAAK,CAAC,EAAE,CAAC,sCAAsC,CA2B7F,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
// (C) 2024 GoodData Corporation
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { useIntl } from "react-intl";
|
|
4
|
+
import cx from "classnames";
|
|
5
|
+
import { RemoveIcon } from "../../RemoveIcon.js";
|
|
6
|
+
import { usePermissionsDropdownState } from "./usePermissionsDropdownState.js";
|
|
7
|
+
import { WorkspaceIcon } from "./WorkspaceIcon.js";
|
|
8
|
+
import { workspaceGranularPermissionMessages } from "./locales.js";
|
|
9
|
+
import { getHumanReadablePermissionsTitle } from "./granularPermissionUtils.js";
|
|
10
|
+
export const GranularPermissionsWorkspaceItem = ({ workspace, onDelete, onClick, }) => {
|
|
11
|
+
const { isDropdownOpen } = usePermissionsDropdownState();
|
|
12
|
+
const intl = useIntl();
|
|
13
|
+
const itemClassName = cx("s-user-management-workspace-item", "gd-share-dialog-grantee-item", {
|
|
14
|
+
"is-active": isDropdownOpen,
|
|
15
|
+
});
|
|
16
|
+
const subtitle = getHumanReadablePermissionsTitle(workspace.permissions, intl);
|
|
17
|
+
return (React.createElement("div", { className: itemClassName },
|
|
18
|
+
React.createElement(RemoveIcon, { tooltipMessage: intl.formatMessage(workspaceGranularPermissionMessages.remove), onClick: () => onDelete(workspace) }),
|
|
19
|
+
React.createElement("div", { className: "gd-grantee-content", onClick: () => onClick?.(workspace) },
|
|
20
|
+
React.createElement("div", { className: "gd-grantee-content-label" }, workspace.title),
|
|
21
|
+
React.createElement("div", { className: "gd-grantee-content-label gd-grantee-content-email", title: subtitle }, subtitle)),
|
|
22
|
+
React.createElement(WorkspaceIcon, null)));
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=GranularPermissionsWorkspaceItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GranularPermissionsWorkspaceItem.js","sourceRoot":"","sources":["../../../../../../../src/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/GranularPermissionsWorkspaceItem.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,MAAM,YAAY,CAAC;AAG5B,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,mCAAmC,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,EAAE,gCAAgC,EAAE,MAAM,8BAA8B,CAAC;AAQhF,MAAM,CAAC,MAAM,gCAAgC,GAAqD,CAAC,EAC/F,SAAS,EACT,QAAQ,EACR,OAAO,GACV,EAAE,EAAE;IACD,MAAM,EAAE,cAAc,EAAE,GAAG,2BAA2B,EAAE,CAAC;IACzD,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,MAAM,aAAa,GAAG,EAAE,CAAC,kCAAkC,EAAE,8BAA8B,EAAE;QACzF,WAAW,EAAE,cAAc;KAC9B,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,gCAAgC,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IAE/E,OAAO,CACH,6BAAK,SAAS,EAAE,aAAa;QACzB,oBAAC,UAAU,IACP,cAAc,EAAE,IAAI,CAAC,aAAa,CAAC,mCAAmC,CAAC,MAAM,CAAC,EAC9E,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,GACpC;QACF,6BAAK,SAAS,EAAC,oBAAoB,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC;YACnE,6BAAK,SAAS,EAAC,0BAA0B,IAAE,SAAS,CAAC,KAAK,CAAO;YACjE,6BAAK,SAAS,EAAC,mDAAmD,EAAC,KAAK,EAAE,QAAQ,IAC7E,QAAQ,CACP,CACJ;QACN,oBAAC,aAAa,OAAG,CACf,CACT,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PermissionsDropdown.d.ts","sourceRoot":"","sources":["../../../../../../../src/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/PermissionsDropdown.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAyC,MAAM,OAAO,CAAC;AAM9D,OAAO,EAGH,iBAAiB,EACjB,0BAA0B,EAC7B,MAAM,gBAAgB,CAAC;AAqCxB,UAAU,iCAAiC;IACvC,SAAS,EAAE,iBAAiB,CAAC;IAC7B,WAAW,EAAE,0BAA0B,CAAC;IACxC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,QAAQ,EAAE,CAAC,SAAS,EAAE,iBAAiB,KAAK,IAAI,CAAC;IACjD,QAAQ,EAAE,CAAC,SAAS,EAAE,iBAAiB,KAAK,IAAI,CAAC;IACjD,SAAS,EAAE,MAAM,CAAC;IAClB,qBAAqB,EAAE,OAAO,CAAC;CAClC;
|
|
1
|
+
{"version":3,"file":"PermissionsDropdown.d.ts","sourceRoot":"","sources":["../../../../../../../src/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/PermissionsDropdown.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAyC,MAAM,OAAO,CAAC;AAM9D,OAAO,EAGH,iBAAiB,EACjB,0BAA0B,EAC7B,MAAM,gBAAgB,CAAC;AAqCxB,UAAU,iCAAiC;IACvC,SAAS,EAAE,iBAAiB,CAAC;IAC7B,WAAW,EAAE,0BAA0B,CAAC;IACxC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,QAAQ,EAAE,CAAC,SAAS,EAAE,iBAAiB,KAAK,IAAI,CAAC;IACjD,QAAQ,EAAE,CAAC,SAAS,EAAE,iBAAiB,KAAK,IAAI,CAAC;IACjD,SAAS,EAAE,MAAM,CAAC;IAClB,qBAAqB,EAAE,OAAO,CAAC;CAClC;AA8ID,eAAO,MAAM,mBAAmB,+FAAuB,CAAC"}
|
|
@@ -78,10 +78,10 @@ const trackPermissionChange = (trackEvent, subjectType, permission) => {
|
|
|
78
78
|
};
|
|
79
79
|
const Dropdown = ({ workspace, subjectType, isDropdownDisabled, isDropdownOpen, toggleDropdown, onChange, onDelete, className, areFilterViewsEnabled, }) => {
|
|
80
80
|
const intl = useIntl();
|
|
81
|
-
const [selectedPermission, setSelectedPermission] = useState(workspace.
|
|
81
|
+
const [selectedPermission, setSelectedPermission] = useState(workspace.permissions[0]);
|
|
82
82
|
const trackEvent = useTelemetry();
|
|
83
83
|
const handleOnSelect = (permission) => {
|
|
84
|
-
onChange({ ...workspace, permission });
|
|
84
|
+
onChange({ ...workspace, permissions: [permission] });
|
|
85
85
|
trackPermissionChange(trackEvent, subjectType, permission);
|
|
86
86
|
setSelectedPermission(permission);
|
|
87
87
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PermissionsDropdown.js","sourceRoot":"","sources":["../../../../../../../src/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/PermissionsDropdown.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AAErC,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAQ7C,OAAO,EAAE,YAAY,EAAsB,MAAM,2BAA2B,CAAC;AAE7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,MAAM,KAAK,GAAuB;IAC9B;QACI,EAAE,EAAE,MAAM;QACV,OAAO,EAAE,IAAI;KAChB;IACD;QACI,EAAE,EAAE,qBAAqB;QACzB,OAAO,EAAE,IAAI;KAChB;IACD;QACI,EAAE,EAAE,iBAAiB;QACrB,OAAO,EAAE,IAAI;KAChB;IACD;QACI,EAAE,EAAE,gCAAgC;QACpC,OAAO,EAAE,IAAI;KAChB;IACD;QACI,EAAE,EAAE,SAAS;QACb,OAAO,EAAE,IAAI;KAChB;IACD;QACI,EAAE,EAAE,oBAAoB;QACxB,OAAO,EAAE,IAAI;KAChB;IACD;QACI,EAAE,EAAE,QAAQ;QACZ,OAAO,EAAE,IAAI;KAChB;CACJ,CAAC;AAcF,MAAM,qBAAqB,GAAG,CAC1B,UAA8B,EAC9B,WAAuC,EACvC,UAA+B,EACjC,EAAE;IACA,QAAQ,UAAU,EAAE,CAAC;QACjB,KAAK,MAAM;YACP,UAAU,CACN,WAAW,KAAK,MAAM;gBAClB,CAAC,CAAC,iCAAiC;gBACnC,CAAC,CAAC,kCAAkC,CAC3C,CAAC;YACF,MAAM;QACV,KAAK,qBAAqB;YACtB,UAAU,CACN,WAAW,KAAK,MAAM;gBAClB,CAAC,CAAC,4CAA4C;gBAC9C,CAAC,CAAC,6CAA6C,CACtD,CAAC;YACF,MAAM;QACV,KAAK,iBAAiB;YAClB,UAAU,CACN,WAAW,KAAK,MAAM;gBAClB,CAAC,CAAC,wCAAwC;gBAC1C,CAAC,CAAC,yCAAyC,CAClD,CAAC;YACF,MAAM;QACV,KAAK,gCAAgC;YACjC,UAAU,CACN,WAAW,KAAK,MAAM;gBAClB,CAAC,CAAC,mDAAmD;gBACrD,CAAC,CAAC,oDAAoD,CAC7D,CAAC;YACF,MAAM;QACV,KAAK,SAAS;YACV,UAAU,CACN,WAAW,KAAK,MAAM;gBAClB,CAAC,CAAC,oCAAoC;gBACtC,CAAC,CAAC,qCAAqC,CAC9C,CAAC;YACF,MAAM;QACV,KAAK,oBAAoB;YACrB,UAAU,CACN,WAAW,KAAK,MAAM;gBAClB,CAAC,CAAC,2CAA2C;gBAC7C,CAAC,CAAC,4CAA4C,CACrD,CAAC;YACF,MAAM;QACV,KAAK,QAAQ;YACT,UAAU,CACN,WAAW,KAAK,MAAM;gBAClB,CAAC,CAAC,mCAAmC;gBACrC,CAAC,CAAC,oCAAoC,CAC7C,CAAC;YACF,MAAM;IACd,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAgD,CAAC,EAC3D,SAAS,EACT,WAAW,EACX,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,qBAAqB,GACxB,EAAE,EAAE;IACD,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,QAAQ,
|
|
1
|
+
{"version":3,"file":"PermissionsDropdown.js","sourceRoot":"","sources":["../../../../../../../src/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/PermissionsDropdown.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,8 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
|
|
2
|
+
interface IColoredIconProps {
|
|
3
|
+
width?: number;
|
|
4
|
+
height?: number;
|
|
5
|
+
}
|
|
6
|
+
export declare const QuestionMarkIcon: React.FC<IColoredIconProps & import("@gooddata/sdk-ui-kit").IWithBubbleProps>;
|
|
7
|
+
export {};
|
|
3
8
|
//# sourceMappingURL=QuestionMarkIcon.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QuestionMarkIcon.d.ts","sourceRoot":"","sources":["../../../../../../../src/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/QuestionMarkIcon.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"QuestionMarkIcon.d.ts","sourceRoot":"","sources":["../../../../../../../src/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/QuestionMarkIcon.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,UAAU,iBAAiB;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAaD,eAAO,MAAM,gBAAgB,+EAA0B,CAAC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
// (C) 2023 GoodData Corporation
|
|
1
|
+
// (C) 2023-2024 GoodData Corporation
|
|
2
2
|
import React from "react";
|
|
3
3
|
import { useTheme } from "@gooddata/sdk-ui-theme-provider";
|
|
4
4
|
import { Icon, withBubble } from "@gooddata/sdk-ui-kit";
|
|
5
|
-
const ColoredIcon = () => {
|
|
5
|
+
const ColoredIcon = ({ width, height }) => {
|
|
6
6
|
const theme = useTheme();
|
|
7
|
-
return React.createElement(Icon.QuestionMark, { color: theme?.palette?.complementary?.c7 ?? "#B0BECA" });
|
|
7
|
+
return (React.createElement(Icon.QuestionMark, { color: theme?.palette?.complementary?.c7 ?? "#B0BECA", width: width, height: height }));
|
|
8
8
|
};
|
|
9
9
|
export const QuestionMarkIcon = withBubble(ColoredIcon);
|
|
10
10
|
//# sourceMappingURL=QuestionMarkIcon.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QuestionMarkIcon.js","sourceRoot":"","sources":["../../../../../../../src/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/QuestionMarkIcon.tsx"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"QuestionMarkIcon.js","sourceRoot":"","sources":["../../../../../../../src/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/QuestionMarkIcon.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AAErC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAOxD,MAAM,WAAW,GAAgC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE;IACnE,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,OAAO,CACH,oBAAC,IAAI,CAAC,YAAY,IACd,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,IAAI,SAAS,EACrD,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,GAChB,CACL,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WorkspaceIcon.d.ts","sourceRoot":"","sources":["../../../../../../../src/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/WorkspaceIcon.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAmBjC,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
// (C) 2024 GoodData Corporation
|
|
2
|
+
import React from "react";
|
|
3
|
+
export const WorkspaceIcon = () => {
|
|
4
|
+
return (React.createElement("div", { className: "gd-grantee-item-icon-left-background" },
|
|
5
|
+
React.createElement("span", { className: "gd-grantee-item-icon gd-grantee-item-icon-left" },
|
|
6
|
+
React.createElement("svg", { width: "14", height: "15", viewBox: "0 0 14 15", fill: "none", xmlns: "http://www.w3.org/2000/svg" },
|
|
7
|
+
React.createElement("path", { d: "M13.5967 4.4707C13.7106 4.66211 13.8063 4.90137 13.8838 5.18848C13.9613 5.47559 14 5.72852 14 5.94727V8.05273C14 8.2806 13.9339 8.48568 13.8018 8.66797C13.6696 8.8457 13.5033 8.96875 13.3027 9.03711V13.6514C13.3027 13.9385 13.2002 14.1846 12.9951 14.3896C12.79 14.5947 12.5417 14.6973 12.25 14.6973H1.75C1.45833 14.6973 1.20996 14.5947 1.00488 14.3896C0.799805 14.1846 0.697266 13.9385 0.697266 13.6514V9.03711C0.496745 8.96875 0.330404 8.8457 0.198242 8.66797C0.0660807 8.48568 0 8.2806 0 8.05273V5.94727C0 5.72852 0.038737 5.47559 0.116211 5.18848C0.193685 4.90137 0.289388 4.66211 0.40332 4.4707L2.14648 1.47656C2.27409 1.25781 2.46777 1.07324 2.72754 0.922852C2.9873 0.772461 3.24479 0.697266 3.5 0.697266H10.5C10.7552 0.697266 11.0127 0.772461 11.2725 0.922852C11.5322 1.07324 11.7259 1.25781 11.8535 1.47656L13.5967 4.4707ZM2.74805 1.83203L1.00488 4.81934C0.995768 4.83301 0.986654 4.84668 0.977539 4.86035C0.972982 4.87402 0.968424 4.8877 0.963867 4.90137C0.977539 4.90137 0.991211 4.90137 1.00488 4.90137C1.01855 4.90137 1.03451 4.90137 1.05273 4.90137H12.9473C12.9655 4.90137 12.9814 4.90137 12.9951 4.90137C13.0088 4.90137 13.0225 4.90137 13.0361 4.90137C13.0316 4.8877 13.0247 4.87402 13.0156 4.86035C13.0111 4.84668 13.0042 4.83301 12.9951 4.81934L11.252 1.83203C11.1836 1.7181 11.0742 1.61784 10.9238 1.53125C10.7734 1.44466 10.6322 1.40137 10.5 1.40137H3.5C3.36784 1.40137 3.22656 1.44466 3.07617 1.53125C2.92578 1.61784 2.81641 1.7181 2.74805 1.83203ZM12.25 14C12.3457 14 12.4277 13.9658 12.4961 13.8975C12.5645 13.8291 12.5986 13.7471 12.5986 13.6514V9.09863H1.40137V13.6514C1.40137 13.7471 1.43555 13.8291 1.50391 13.8975C1.57227 13.9658 1.6543 14 1.75 14H12.25ZM13.3027 8.05273V5.94727C13.3027 5.85156 13.2686 5.76953 13.2002 5.70117C13.1318 5.63281 13.0475 5.59863 12.9473 5.59863H1.05273C0.952474 5.59863 0.868164 5.63281 0.799805 5.70117C0.731445 5.76953 0.697266 5.85156 0.697266 5.94727V8.05273C0.697266 8.14844 0.731445 8.23047 0.799805 8.29883C0.868164 8.36719 0.952474 8.40137 1.05273 8.40137H12.9473C13.0475 8.40137 13.1318 8.36719 13.2002 8.29883C13.2686 8.23047 13.3027 8.14844 13.3027 8.05273ZM8.75 11.9014C9.04167 11.9014 9.29004 11.7988 9.49512 11.5938C9.7002 11.3887 9.80273 11.1403 9.80273 10.8486C9.80273 10.5615 9.7002 10.3154 9.49512 10.1104C9.29004 9.90527 9.04167 9.80273 8.75 9.80273H5.25C4.95833 9.80273 4.70996 9.90527 4.50488 10.1104C4.2998 10.3154 4.19727 10.5615 4.19727 10.8486C4.19727 11.1403 4.2998 11.3887 4.50488 11.5938C4.70996 11.7988 4.95833 11.9014 5.25 11.9014H8.75ZM5.25 10.5H8.75C8.8457 10.5 8.92773 10.5342 8.99609 10.6025C9.06445 10.6709 9.09863 10.7529 9.09863 10.8486C9.09863 10.9443 9.06445 11.0264 8.99609 11.0947C8.92773 11.1631 8.8457 11.1973 8.75 11.1973H5.25C5.1543 11.1973 5.07227 11.1631 5.00391 11.0947C4.93555 11.0264 4.90137 10.9443 4.90137 10.8486C4.90137 10.7529 4.93555 10.6709 5.00391 10.6025C5.07227 10.5342 5.1543 10.5 5.25 10.5Z", fill: "#B0BECA" })))));
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=WorkspaceIcon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WorkspaceIcon.js","sourceRoot":"","sources":["../../../../../../../src/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/WorkspaceIcon.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,CAAC,MAAM,aAAa,GAAa,GAAG,EAAE;IACxC,OAAO,CACH,6BAAK,SAAS,EAAC,sCAAsC;QACjD,8BAAM,SAAS,EAAC,gDAAgD;YAC5D,6BACI,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,4BAA4B;gBAElC,8BACI,CAAC,EAAC,61FAA61F,EAC/1F,IAAI,EAAC,SAAS,GAChB,CACA,CACH,CACL,CACT,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkspaceItem.d.ts","sourceRoot":"","sources":["../../../../../../../src/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/WorkspaceItem.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"WorkspaceItem.d.ts","sourceRoot":"","sources":["../../../../../../../src/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/WorkspaceItem.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAO/E,UAAU,kCAAkC;IACxC,SAAS,EAAE,iBAAiB,CAAC;IAC7B,WAAW,EAAE,0BAA0B,CAAC;IACxC,QAAQ,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC/C,QAAQ,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC/C,qBAAqB,EAAE,OAAO,CAAC;CAClC;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kCAAkC,CAyCtE,CAAC"}
|
|
@@ -4,12 +4,7 @@ import cx from "classnames";
|
|
|
4
4
|
import { usePermissionsDropdownState } from "./usePermissionsDropdownState.js";
|
|
5
5
|
import { PermissionsDropdown } from "./PermissionsDropdown.js";
|
|
6
6
|
import { HierarchicalPermissionsDropdown } from "./HierarchicalPermissionsDropdown.js";
|
|
7
|
-
|
|
8
|
-
return (React.createElement("div", { className: "gd-grantee-item-icon-left-background" },
|
|
9
|
-
React.createElement("span", { className: "gd-grantee-item-icon gd-grantee-item-icon-left" },
|
|
10
|
-
React.createElement("svg", { width: "14", height: "15", viewBox: "0 0 14 15", fill: "none", xmlns: "http://www.w3.org/2000/svg" },
|
|
11
|
-
React.createElement("path", { d: "M13.5967 4.4707C13.7106 4.66211 13.8063 4.90137 13.8838 5.18848C13.9613 5.47559 14 5.72852 14 5.94727V8.05273C14 8.2806 13.9339 8.48568 13.8018 8.66797C13.6696 8.8457 13.5033 8.96875 13.3027 9.03711V13.6514C13.3027 13.9385 13.2002 14.1846 12.9951 14.3896C12.79 14.5947 12.5417 14.6973 12.25 14.6973H1.75C1.45833 14.6973 1.20996 14.5947 1.00488 14.3896C0.799805 14.1846 0.697266 13.9385 0.697266 13.6514V9.03711C0.496745 8.96875 0.330404 8.8457 0.198242 8.66797C0.0660807 8.48568 0 8.2806 0 8.05273V5.94727C0 5.72852 0.038737 5.47559 0.116211 5.18848C0.193685 4.90137 0.289388 4.66211 0.40332 4.4707L2.14648 1.47656C2.27409 1.25781 2.46777 1.07324 2.72754 0.922852C2.9873 0.772461 3.24479 0.697266 3.5 0.697266H10.5C10.7552 0.697266 11.0127 0.772461 11.2725 0.922852C11.5322 1.07324 11.7259 1.25781 11.8535 1.47656L13.5967 4.4707ZM2.74805 1.83203L1.00488 4.81934C0.995768 4.83301 0.986654 4.84668 0.977539 4.86035C0.972982 4.87402 0.968424 4.8877 0.963867 4.90137C0.977539 4.90137 0.991211 4.90137 1.00488 4.90137C1.01855 4.90137 1.03451 4.90137 1.05273 4.90137H12.9473C12.9655 4.90137 12.9814 4.90137 12.9951 4.90137C13.0088 4.90137 13.0225 4.90137 13.0361 4.90137C13.0316 4.8877 13.0247 4.87402 13.0156 4.86035C13.0111 4.84668 13.0042 4.83301 12.9951 4.81934L11.252 1.83203C11.1836 1.7181 11.0742 1.61784 10.9238 1.53125C10.7734 1.44466 10.6322 1.40137 10.5 1.40137H3.5C3.36784 1.40137 3.22656 1.44466 3.07617 1.53125C2.92578 1.61784 2.81641 1.7181 2.74805 1.83203ZM12.25 14C12.3457 14 12.4277 13.9658 12.4961 13.8975C12.5645 13.8291 12.5986 13.7471 12.5986 13.6514V9.09863H1.40137V13.6514C1.40137 13.7471 1.43555 13.8291 1.50391 13.8975C1.57227 13.9658 1.6543 14 1.75 14H12.25ZM13.3027 8.05273V5.94727C13.3027 5.85156 13.2686 5.76953 13.2002 5.70117C13.1318 5.63281 13.0475 5.59863 12.9473 5.59863H1.05273C0.952474 5.59863 0.868164 5.63281 0.799805 5.70117C0.731445 5.76953 0.697266 5.85156 0.697266 5.94727V8.05273C0.697266 8.14844 0.731445 8.23047 0.799805 8.29883C0.868164 8.36719 0.952474 8.40137 1.05273 8.40137H12.9473C13.0475 8.40137 13.1318 8.36719 13.2002 8.29883C13.2686 8.23047 13.3027 8.14844 13.3027 8.05273ZM8.75 11.9014C9.04167 11.9014 9.29004 11.7988 9.49512 11.5938C9.7002 11.3887 9.80273 11.1403 9.80273 10.8486C9.80273 10.5615 9.7002 10.3154 9.49512 10.1104C9.29004 9.90527 9.04167 9.80273 8.75 9.80273H5.25C4.95833 9.80273 4.70996 9.90527 4.50488 10.1104C4.2998 10.3154 4.19727 10.5615 4.19727 10.8486C4.19727 11.1403 4.2998 11.3887 4.50488 11.5938C4.70996 11.7988 4.95833 11.9014 5.25 11.9014H8.75ZM5.25 10.5H8.75C8.8457 10.5 8.92773 10.5342 8.99609 10.6025C9.06445 10.6709 9.09863 10.7529 9.09863 10.8486C9.09863 10.9443 9.06445 11.0264 8.99609 11.0947C8.92773 11.1631 8.8457 11.1973 8.75 11.1973H5.25C5.1543 11.1973 5.07227 11.1631 5.00391 11.0947C4.93555 11.0264 4.90137 10.9443 4.90137 10.8486C4.90137 10.7529 4.93555 10.6709 5.00391 10.6025C5.07227 10.5342 5.1543 10.5 5.25 10.5Z", fill: "#B0BECA" })))));
|
|
12
|
-
};
|
|
7
|
+
import { WorkspaceIcon } from "./WorkspaceIcon.js";
|
|
13
8
|
export const WorkspaceItem = ({ workspace, subjectType, onChange, onDelete, areFilterViewsEnabled, }) => {
|
|
14
9
|
const { isDropdownOpen, toggleDropdown } = usePermissionsDropdownState();
|
|
15
10
|
const { isDropdownOpen: isHierarchicalDropdownOpen, toggleDropdown: toggleHierarchicalDropdown } = usePermissionsDropdownState();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkspaceItem.js","sourceRoot":"","sources":["../../../../../../../src/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/WorkspaceItem.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AAErC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,YAAY,CAAC;AAI5B,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,+BAA+B,EAAE,MAAM,sCAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"WorkspaceItem.js","sourceRoot":"","sources":["../../../../../../../src/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/WorkspaceItem.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AAErC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,YAAY,CAAC;AAI5B,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,+BAA+B,EAAE,MAAM,sCAAsC,CAAC;AACvF,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAUnD,MAAM,CAAC,MAAM,aAAa,GAAiD,CAAC,EACxE,SAAS,EACT,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,qBAAqB,GACxB,EAAE,EAAE;IACD,MAAM,EAAE,cAAc,EAAE,cAAc,EAAE,GAAG,2BAA2B,EAAE,CAAC;IACzE,MAAM,EAAE,cAAc,EAAE,0BAA0B,EAAE,cAAc,EAAE,0BAA0B,EAAE,GAC5F,2BAA2B,EAAE,CAAC;IAElC,MAAM,aAAa,GAAG,EAAE,CAAC,kCAAkC,EAAE,8BAA8B,EAAE;QACzF,WAAW,EAAE,cAAc;KAC9B,CAAC,CAAC;IAEH,OAAO,CACH,6BAAK,SAAS,EAAE,aAAa;QACzB,oBAAC,+BAA+B,IAC5B,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,0BAA0B,EAC1C,cAAc,EAAE,0BAA0B,EAC1C,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAC,gCAAgC,GAC5C;QACF,oBAAC,mBAAmB,IAChB,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAC,gCAAgC,EAC1C,qBAAqB,EAAE,qBAAqB,GAC9C;QACF,6BAAK,SAAS,EAAC,oBAAoB;YAC/B,6BAAK,SAAS,EAAC,0BAA0B,IAAE,SAAS,CAAC,KAAK,CAAO,CAC/D;QACN,oBAAC,aAAa,OAAG,CACf,CACT,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { IntlShape } from "react-intl";
|
|
2
|
+
import { IGrantedWorkspace, WorkspacePermission, WorkspacePermissions } from "../../types.js";
|
|
3
|
+
export declare const workspacePermissions: WorkspacePermissions;
|
|
4
|
+
export declare const exportPermissions: WorkspacePermissions;
|
|
5
|
+
/**
|
|
6
|
+
* Main workspace permissions imply some of the granular permissions that
|
|
7
|
+
* we want to explicitly show on UI but not necessarily store on backend.
|
|
8
|
+
*
|
|
9
|
+
* Returns the list of these granular permissions.
|
|
10
|
+
*/
|
|
11
|
+
export declare const getImplicitGranularPermissions: (workspacePermission: WorkspacePermission) => WorkspacePermissions;
|
|
12
|
+
/**
|
|
13
|
+
* Returns hierarchically strongest permission from the list.
|
|
14
|
+
*/
|
|
15
|
+
export declare const getWorkspacePermission: (permissions: WorkspacePermissions) => WorkspacePermission;
|
|
16
|
+
/**
|
|
17
|
+
* Returns all granular permissions from a list, inluding implicit ones.
|
|
18
|
+
*/
|
|
19
|
+
export declare const getGranularPermissions: (permissions: WorkspacePermissions) => WorkspacePermissions;
|
|
20
|
+
/**
|
|
21
|
+
* Export permission is a granular permission that has subpermissions,
|
|
22
|
+
* so sanitization on UI is needed when selecting and deselecting occurs.
|
|
23
|
+
*
|
|
24
|
+
* Returns the list of permissions with export permissions sanitized.
|
|
25
|
+
*/
|
|
26
|
+
export declare const sanitizeExportPermissions: (changedPermission: WorkspacePermission, permissions: WorkspacePermissions, include: boolean) => WorkspacePermissions;
|
|
27
|
+
/**
|
|
28
|
+
* When export permission is not selected, but one of its child permissions is,
|
|
29
|
+
* we want to show it in indefinite state on UI.
|
|
30
|
+
*
|
|
31
|
+
* Returns whether the export permission is indefinite.
|
|
32
|
+
*/
|
|
33
|
+
export declare const isExportPermissionIndefinite: (permission: WorkspacePermission, selectedGranularPermissions: WorkspacePermissions) => boolean;
|
|
34
|
+
/**
|
|
35
|
+
* In some cases, we want to disable implicit permissions on UI to avoid confusion in the hierarchy.
|
|
36
|
+
*
|
|
37
|
+
* Returns whether a permission is disabled.
|
|
38
|
+
*/
|
|
39
|
+
export declare const isPermissionDisabled: (permission: WorkspacePermission, selectedWorkspacePermission: WorkspacePermission, selectedGranularPermissions: WorkspacePermissions) => boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Before persisting permissions, we want to remove implicit permissions as they are not needed on BE.
|
|
42
|
+
*
|
|
43
|
+
* Returns the list of permissions without implicit ones.
|
|
44
|
+
*/
|
|
45
|
+
export declare const removeRedundantPermissions: (permissions: WorkspacePermissions) => WorkspacePermissions;
|
|
46
|
+
/**
|
|
47
|
+
* Returns whether two workspaces have the same permissions.
|
|
48
|
+
*
|
|
49
|
+
* Remark: possible implicit permissions are not removed here.
|
|
50
|
+
*/
|
|
51
|
+
export declare const areWorkspacePermissionsEqual: (workspace1: IGrantedWorkspace, workspace2: IGrantedWorkspace) => boolean;
|
|
52
|
+
/**
|
|
53
|
+
* Returns human-readable title of effective permissions for UI description.
|
|
54
|
+
*/
|
|
55
|
+
export declare const getHumanReadablePermissionsTitle: (permissions: WorkspacePermissions, intl: IntlShape) => string;
|
|
56
|
+
/**
|
|
57
|
+
* BE might store redundant permissions like ANALYZE, VIEW in one list.
|
|
58
|
+
*
|
|
59
|
+
* Returns whether redundant permissions are present in the list.
|
|
60
|
+
*/
|
|
61
|
+
export declare const areRedundantPermissionsPresent: (permissions: WorkspacePermissions) => boolean;
|
|
62
|
+
//# sourceMappingURL=granularPermissionUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"granularPermissionUtils.d.ts","sourceRoot":"","sources":["../../../../../../../src/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/granularPermissionUtils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAG9F,eAAO,MAAM,oBAAoB,EAAE,oBAAoD,CAAC;AAExF,eAAO,MAAM,iBAAiB,EAAE,oBAA0D,CAAC;AAE3F;;;;;GAKG;AACH,eAAO,MAAM,8BAA8B,wBAClB,mBAAmB,yBAY3C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,yCAAwC,mBAQ1E,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,6DAWlC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,sBACf,mBAAmB,8CAE7B,OAAO,yBA4BnB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,4BAA4B,eACzB,mBAAmB,+DAQlC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,eACjB,mBAAmB,+BACF,mBAAmB,+DAUnD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,6DAiBtC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,eACzB,iBAAiB,cACjB,iBAAiB,YAUhC,CAAC;AAkCF;;GAEG;AACH,eAAO,MAAM,gCAAgC,4CAEnC,SAAS,KAChB,MAeF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,8BAA8B,yCAAwC,OAGlF,CAAC"}
|