@gooddata/sdk-ui-ext 9.8.0-alpha.23 → 9.8.0-alpha.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (108) hide show
  1. package/esm/internal/components/dialogs/userManagementDialogs/AddDataSourceToSubjects.d.ts +19 -0
  2. package/esm/internal/components/dialogs/userManagementDialogs/AddDataSourceToSubjects.d.ts.map +1 -0
  3. package/esm/internal/components/dialogs/userManagementDialogs/AddDataSourceToSubjects.js +18 -0
  4. package/esm/internal/components/dialogs/userManagementDialogs/AddDataSourceToSubjects.js.map +1 -0
  5. package/esm/internal/components/dialogs/userManagementDialogs/DataSources/AddDataSource.d.ts +14 -0
  6. package/esm/internal/components/dialogs/userManagementDialogs/DataSources/AddDataSource.d.ts.map +1 -0
  7. package/esm/internal/components/dialogs/userManagementDialogs/DataSources/AddDataSource.js +19 -0
  8. package/esm/internal/components/dialogs/userManagementDialogs/DataSources/AddDataSource.js.map +1 -0
  9. package/esm/internal/components/dialogs/userManagementDialogs/DataSources/AddDataSourceSelect.d.ts +4 -0
  10. package/esm/internal/components/dialogs/userManagementDialogs/DataSources/AddDataSourceSelect.d.ts.map +1 -0
  11. package/esm/internal/components/dialogs/userManagementDialogs/DataSources/AddDataSourceSelect.js +60 -0
  12. package/esm/internal/components/dialogs/userManagementDialogs/DataSources/AddDataSourceSelect.js.map +1 -0
  13. package/esm/internal/components/dialogs/userManagementDialogs/DataSources/AsyncSelectComponents.d.ts +12 -0
  14. package/esm/internal/components/dialogs/userManagementDialogs/DataSources/AsyncSelectComponents.d.ts.map +1 -0
  15. package/esm/internal/components/dialogs/userManagementDialogs/DataSources/AsyncSelectComponents.js +60 -0
  16. package/esm/internal/components/dialogs/userManagementDialogs/DataSources/AsyncSelectComponents.js.map +1 -0
  17. package/esm/internal/components/dialogs/userManagementDialogs/DataSources/DataSourceItem.d.ts +12 -0
  18. package/esm/internal/components/dialogs/userManagementDialogs/DataSources/DataSourceItem.d.ts.map +1 -0
  19. package/esm/internal/components/dialogs/userManagementDialogs/DataSources/DataSourceItem.js +23 -0
  20. package/esm/internal/components/dialogs/userManagementDialogs/DataSources/DataSourceItem.js.map +1 -0
  21. package/esm/internal/components/dialogs/userManagementDialogs/DataSources/DataSourceList.d.ts +12 -0
  22. package/esm/internal/components/dialogs/userManagementDialogs/DataSources/DataSourceList.d.ts.map +1 -0
  23. package/esm/internal/components/dialogs/userManagementDialogs/DataSources/DataSourceList.js +17 -0
  24. package/esm/internal/components/dialogs/userManagementDialogs/DataSources/DataSourceList.js.map +1 -0
  25. package/esm/internal/components/dialogs/userManagementDialogs/DataSources/DataSourceListEmpty.d.ts +8 -0
  26. package/esm/internal/components/dialogs/userManagementDialogs/DataSources/DataSourceListEmpty.d.ts.map +1 -0
  27. package/esm/internal/components/dialogs/userManagementDialogs/DataSources/DataSourceListEmpty.js +17 -0
  28. package/esm/internal/components/dialogs/userManagementDialogs/DataSources/DataSourceListEmpty.js.map +1 -0
  29. package/esm/internal/components/dialogs/userManagementDialogs/DataSources/PermissionsDropdown.d.ts +15 -0
  30. package/esm/internal/components/dialogs/userManagementDialogs/DataSources/PermissionsDropdown.d.ts.map +1 -0
  31. package/esm/internal/components/dialogs/userManagementDialogs/DataSources/PermissionsDropdown.js +64 -0
  32. package/esm/internal/components/dialogs/userManagementDialogs/DataSources/PermissionsDropdown.js.map +1 -0
  33. package/esm/internal/components/dialogs/userManagementDialogs/DataSources/PermissionsDropdownItem.d.ts +12 -0
  34. package/esm/internal/components/dialogs/userManagementDialogs/DataSources/PermissionsDropdownItem.d.ts.map +1 -0
  35. package/esm/internal/components/dialogs/userManagementDialogs/DataSources/PermissionsDropdownItem.js +24 -0
  36. package/esm/internal/components/dialogs/userManagementDialogs/DataSources/PermissionsDropdownItem.js.map +1 -0
  37. package/esm/internal/components/dialogs/userManagementDialogs/DataSources/PermissionsDropdownList.d.ts +15 -0
  38. package/esm/internal/components/dialogs/userManagementDialogs/DataSources/PermissionsDropdownList.d.ts.map +1 -0
  39. package/esm/internal/components/dialogs/userManagementDialogs/DataSources/PermissionsDropdownList.js +45 -0
  40. package/esm/internal/components/dialogs/userManagementDialogs/DataSources/PermissionsDropdownList.js.map +1 -0
  41. package/esm/internal/components/dialogs/userManagementDialogs/DataSources/QuestionMarkIcon.d.ts +3 -0
  42. package/esm/internal/components/dialogs/userManagementDialogs/DataSources/QuestionMarkIcon.d.ts.map +1 -0
  43. package/esm/internal/components/dialogs/userManagementDialogs/DataSources/QuestionMarkIcon.js +10 -0
  44. package/esm/internal/components/dialogs/userManagementDialogs/DataSources/QuestionMarkIcon.js.map +1 -0
  45. package/esm/internal/components/dialogs/userManagementDialogs/DataSources/backend/loadUserDataSourceOptionsPromise.d.ts +5 -0
  46. package/esm/internal/components/dialogs/userManagementDialogs/DataSources/backend/loadUserDataSourceOptionsPromise.d.ts.map +1 -0
  47. package/esm/internal/components/dialogs/userManagementDialogs/DataSources/backend/loadUserDataSourceOptionsPromise.js +35 -0
  48. package/esm/internal/components/dialogs/userManagementDialogs/DataSources/backend/loadUserDataSourceOptionsPromise.js.map +1 -0
  49. package/esm/internal/components/dialogs/userManagementDialogs/DataSources/locales.d.ts +12 -0
  50. package/esm/internal/components/dialogs/userManagementDialogs/DataSources/locales.d.ts.map +1 -0
  51. package/esm/internal/components/dialogs/userManagementDialogs/DataSources/locales.js +8 -0
  52. package/esm/internal/components/dialogs/userManagementDialogs/DataSources/locales.js.map +1 -0
  53. package/esm/internal/components/dialogs/userManagementDialogs/DataSources/useAddDataSource.d.ts +11 -0
  54. package/esm/internal/components/dialogs/userManagementDialogs/DataSources/useAddDataSource.d.ts.map +1 -0
  55. package/esm/internal/components/dialogs/userManagementDialogs/DataSources/useAddDataSource.js +82 -0
  56. package/esm/internal/components/dialogs/userManagementDialogs/DataSources/useAddDataSource.js.map +1 -0
  57. package/esm/internal/components/dialogs/userManagementDialogs/DataSources/usePermissionsDropdownState.d.ts +5 -0
  58. package/esm/internal/components/dialogs/userManagementDialogs/DataSources/usePermissionsDropdownState.d.ts.map +1 -0
  59. package/esm/internal/components/dialogs/userManagementDialogs/DataSources/usePermissionsDropdownState.js +8 -0
  60. package/esm/internal/components/dialogs/userManagementDialogs/DataSources/usePermissionsDropdownState.js.map +1 -0
  61. package/esm/internal/components/dialogs/userManagementDialogs/TelemetryContext.d.ts +1 -1
  62. package/esm/internal/components/dialogs/userManagementDialogs/TelemetryContext.d.ts.map +1 -1
  63. package/esm/internal/components/dialogs/userManagementDialogs/TelemetryContext.js +1 -1
  64. package/esm/internal/components/dialogs/userManagementDialogs/TelemetryContext.js.map +1 -1
  65. package/esm/internal/components/dialogs/userManagementDialogs/UserEditDialog.d.ts +2 -1
  66. package/esm/internal/components/dialogs/userManagementDialogs/UserEditDialog.d.ts.map +1 -1
  67. package/esm/internal/components/dialogs/userManagementDialogs/UserEditDialog.js +18 -6
  68. package/esm/internal/components/dialogs/userManagementDialogs/UserEditDialog.js.map +1 -1
  69. package/esm/internal/components/dialogs/userManagementDialogs/UserGroupEditDialog.d.ts +2 -1
  70. package/esm/internal/components/dialogs/userManagementDialogs/UserGroupEditDialog.d.ts.map +1 -1
  71. package/esm/internal/components/dialogs/userManagementDialogs/UserGroupEditDialog.js +17 -5
  72. package/esm/internal/components/dialogs/userManagementDialogs/UserGroupEditDialog.js.map +1 -1
  73. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/AddWorkspace.d.ts.map +1 -1
  74. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/AddWorkspace.js +3 -3
  75. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/AddWorkspace.js.map +1 -1
  76. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/{workspaceHooks.d.ts → useAddWorkspace.d.ts} +2 -2
  77. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/useAddWorkspace.d.ts.map +1 -0
  78. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/useAddWorkspace.js +83 -0
  79. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/useAddWorkspace.js.map +1 -0
  80. package/esm/internal/components/dialogs/userManagementDialogs/dialogHooks.d.ts +3 -9
  81. package/esm/internal/components/dialogs/userManagementDialogs/dialogHooks.d.ts.map +1 -1
  82. package/esm/internal/components/dialogs/userManagementDialogs/dialogHooks.js +22 -92
  83. package/esm/internal/components/dialogs/userManagementDialogs/dialogHooks.js.map +1 -1
  84. package/esm/internal/components/dialogs/userManagementDialogs/hooks/usePermissions.d.ts +12 -0
  85. package/esm/internal/components/dialogs/userManagementDialogs/hooks/usePermissions.d.ts.map +1 -0
  86. package/esm/internal/components/dialogs/userManagementDialogs/hooks/usePermissions.js +133 -0
  87. package/esm/internal/components/dialogs/userManagementDialogs/hooks/usePermissions.js.map +1 -0
  88. package/esm/internal/components/dialogs/userManagementDialogs/index.d.ts +2 -1
  89. package/esm/internal/components/dialogs/userManagementDialogs/index.d.ts.map +1 -1
  90. package/esm/internal/components/dialogs/userManagementDialogs/index.js +2 -1
  91. package/esm/internal/components/dialogs/userManagementDialogs/index.js.map +1 -1
  92. package/esm/internal/components/dialogs/userManagementDialogs/locales.d.ts +57 -0
  93. package/esm/internal/components/dialogs/userManagementDialogs/locales.d.ts.map +1 -1
  94. package/esm/internal/components/dialogs/userManagementDialogs/locales.js +20 -1
  95. package/esm/internal/components/dialogs/userManagementDialogs/locales.js.map +1 -1
  96. package/esm/internal/components/dialogs/userManagementDialogs/types.d.ts +33 -2
  97. package/esm/internal/components/dialogs/userManagementDialogs/types.d.ts.map +1 -1
  98. package/esm/internal/components/dialogs/userManagementDialogs/types.js +4 -1
  99. package/esm/internal/components/dialogs/userManagementDialogs/types.js.map +1 -1
  100. package/esm/internal/components/dialogs/userManagementDialogs/utils.d.ts +10 -2
  101. package/esm/internal/components/dialogs/userManagementDialogs/utils.d.ts.map +1 -1
  102. package/esm/internal/components/dialogs/userManagementDialogs/utils.js +85 -1
  103. package/esm/internal/components/dialogs/userManagementDialogs/utils.js.map +1 -1
  104. package/esm/sdk-ui-ext.d.ts +41 -3
  105. package/package.json +18 -18
  106. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/workspaceHooks.d.ts.map +0 -1
  107. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/workspaceHooks.js +0 -104
  108. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/workspaceHooks.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gooddata/sdk-ui-ext",
3
- "version": "9.8.0-alpha.23",
3
+ "version": "9.8.0-alpha.24",
4
4
  "description": "GoodData.UI SDK - Extensions",
5
5
  "repository": {
6
6
  "type": "git",
@@ -49,19 +49,19 @@
49
49
  "uuid": "^8.3.2",
50
50
  "debounce-promise": "^3.1.2",
51
51
  "json-stable-stringify": "^1.0.1",
52
- "@gooddata/sdk-backend-base": "9.8.0-alpha.23",
53
- "@gooddata/sdk-backend-spi": "9.8.0-alpha.23",
54
- "@gooddata/sdk-embedding": "9.8.0-alpha.23",
55
- "@gooddata/sdk-model": "9.8.0-alpha.23",
56
- "@gooddata/sdk-ui": "9.8.0-alpha.23",
57
- "@gooddata/sdk-ui-charts": "9.8.0-alpha.23",
58
- "@gooddata/sdk-ui-filters": "9.8.0-alpha.23",
59
- "@gooddata/sdk-ui-kit": "9.8.0-alpha.23",
60
- "@gooddata/sdk-ui-geo": "9.8.0-alpha.23",
61
- "@gooddata/sdk-ui-pivot": "9.8.0-alpha.23",
62
- "@gooddata/sdk-ui-theme-provider": "9.8.0-alpha.23",
63
- "@gooddata/util": "9.8.0-alpha.23",
64
- "@gooddata/sdk-ui-vis-commons": "9.8.0-alpha.23"
52
+ "@gooddata/sdk-backend-spi": "9.8.0-alpha.24",
53
+ "@gooddata/sdk-embedding": "9.8.0-alpha.24",
54
+ "@gooddata/sdk-backend-base": "9.8.0-alpha.24",
55
+ "@gooddata/sdk-ui": "9.8.0-alpha.24",
56
+ "@gooddata/sdk-model": "9.8.0-alpha.24",
57
+ "@gooddata/sdk-ui-filters": "9.8.0-alpha.24",
58
+ "@gooddata/sdk-ui-charts": "9.8.0-alpha.24",
59
+ "@gooddata/sdk-ui-geo": "9.8.0-alpha.24",
60
+ "@gooddata/sdk-ui-kit": "9.8.0-alpha.24",
61
+ "@gooddata/sdk-ui-pivot": "9.8.0-alpha.24",
62
+ "@gooddata/sdk-ui-theme-provider": "9.8.0-alpha.24",
63
+ "@gooddata/util": "9.8.0-alpha.24",
64
+ "@gooddata/sdk-ui-vis-commons": "9.8.0-alpha.24"
65
65
  },
66
66
  "peerDependencies": {
67
67
  "react": "^16.10.0 || ^17.0.0 || ^18.0.0",
@@ -116,10 +116,10 @@
116
116
  "vitest-dom": "0.1.1",
117
117
  "@types/debounce-promise": "^3.1.4",
118
118
  "@types/json-stable-stringify": "^1.0.32",
119
- "@gooddata/i18n-toolkit": "9.8.0-alpha.23",
120
- "@gooddata/live-examples-workspace": "9.8.0-alpha.23",
121
- "@gooddata/reference-workspace": "9.8.0-alpha.23",
122
- "@gooddata/sdk-backend-mockingbird": "9.8.0-alpha.23"
119
+ "@gooddata/i18n-toolkit": "9.8.0-alpha.24",
120
+ "@gooddata/reference-workspace": "9.8.0-alpha.24",
121
+ "@gooddata/sdk-backend-mockingbird": "9.8.0-alpha.24",
122
+ "@gooddata/live-examples-workspace": "9.8.0-alpha.24"
123
123
  },
124
124
  "scripts": {
125
125
  "clean": "rm -rf ci dist esm coverage *.log styles/css tsconfig.tsbuildinfo",
@@ -1 +0,0 @@
1
- {"version":3,"file":"workspaceHooks.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/components/dialogs/userManagementDialogs/Workspace/workspaceHooks.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAIjE,OAAO,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAM5E,eAAO,MAAM,eAAe,QACnB,MAAM,EAAE,eACA,0BAA0B,qBACpB,iBAAiB,EAAE,yBACf,iBAAiB,EAAE,KAAK,IAAI,YACzC,MAAM,IAAI;;0BASS,iBAAiB;0BAIjB,iBAAiB;8BAsFb,oBAAoB;;;CAsBxD,CAAC"}
@@ -1,104 +0,0 @@
1
- // (C) 2023 GoodData Corporation
2
- import { useState } from "react";
3
- import { useBackendStrict } from "@gooddata/sdk-ui";
4
- import { useToastMessage } from "@gooddata/sdk-ui-kit";
5
- import { sortByName, asPermissionAssignment } from "../utils.js";
6
- import { messages } from "../locales.js";
7
- import { useOrganizationId } from "../OrganizationIdContext.js";
8
- import { useTelemetry } from "../TelemetryContext.js";
9
- export const useAddWorkspace = (ids, subjectType, grantedWorkspaces, onSubmit, onCancel) => {
10
- const { addSuccess, addError } = useToastMessage();
11
- const backend = useBackendStrict();
12
- const organizationId = useOrganizationId();
13
- const [addedWorkspaces, setAddedWorkspaces] = useState([]);
14
- const [isProcessing, setIsProcessing] = useState(false);
15
- const trackEvent = useTelemetry();
16
- const onDelete = (workspace) => {
17
- setAddedWorkspaces(addedWorkspaces.filter((item) => item.id !== workspace.id));
18
- };
19
- const onChange = (workspace) => {
20
- const unchangedWorkspaces = addedWorkspaces.filter((item) => item.id !== workspace.id);
21
- setAddedWorkspaces([...unchangedWorkspaces, workspace].sort(sortByName));
22
- };
23
- const onAdd = () => {
24
- setIsProcessing(true);
25
- if (ids.length === 1) {
26
- backend
27
- .organization(organizationId)
28
- .permissions()
29
- .updateWorkspacePermissions([
30
- ...grantedWorkspaces.map((workspace) => asPermissionAssignment(ids[0], subjectType, workspace)),
31
- ...addedWorkspaces.map((workspace) => asPermissionAssignment(ids[0], subjectType, workspace)),
32
- ])
33
- .then(() => {
34
- addSuccess(messages.workspaceAddedSuccess);
35
- trackEvent(subjectType === "user"
36
- ? "permission-added-to-single-user"
37
- : "permission-added-to-single-group");
38
- onSubmit(addedWorkspaces);
39
- onCancel();
40
- })
41
- .catch((error) => {
42
- console.error("Addition of workspace permission failed", error);
43
- addError(messages.workspaceAddedError);
44
- })
45
- .finally(() => setIsProcessing(false));
46
- }
47
- else {
48
- const permissionLoader = subjectType === "user"
49
- ? backend.organization(organizationId).permissions().getWorkspacePermissionsForUser
50
- : backend.organization(organizationId).permissions().getWorkspacePermissionsForUserGroup;
51
- Promise
52
- // fetch permissions for every edited subject and merge them with new permissions
53
- .all(ids.map(async (id) => {
54
- const newPermissions = addedWorkspaces.map((workspace) => asPermissionAssignment(id, subjectType, workspace));
55
- return permissionLoader(id).then((existingPermissions) => [
56
- ...existingPermissions,
57
- ...newPermissions,
58
- ]);
59
- }))
60
- // set new permissions
61
- .then((permissions) => backend
62
- .organization(organizationId)
63
- .permissions()
64
- .updateWorkspacePermissions([].concat(...permissions))
65
- .then(() => {
66
- addSuccess(subjectType === "user"
67
- ? messages.workspacesAddedToUsersSuccess
68
- : messages.workspacesAddedToUserGroupsSuccess);
69
- trackEvent(subjectType === "user"
70
- ? "permission-added-to-multiple-users"
71
- : "permission-added-to-multiple-groups");
72
- onSubmit(addedWorkspaces);
73
- onCancel();
74
- })
75
- .catch((error) => {
76
- console.error("Addition of workspace permissions failed", error);
77
- addError(subjectType === "user"
78
- ? messages.workspacesAddedToUsersError
79
- : messages.workspacesAddedToUserGroupsError);
80
- })
81
- .finally(() => setIsProcessing(false)));
82
- }
83
- };
84
- const onSelect = ({ id, title }) => {
85
- setAddedWorkspaces([
86
- ...addedWorkspaces,
87
- {
88
- id,
89
- title,
90
- permission: "VIEW",
91
- isHierarchical: false,
92
- },
93
- ].sort(sortByName));
94
- };
95
- return {
96
- addedWorkspaces,
97
- onDelete,
98
- onChange,
99
- onSelect,
100
- onAdd,
101
- isProcessing,
102
- };
103
- };
104
- //# sourceMappingURL=workspaceHooks.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"workspaceHooks.js","sourceRoot":"","sources":["../../../../../../src/internal/components/dialogs/userManagementDialogs/Workspace/workspaceHooks.ts"],"names":[],"mappings":"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"}