@gooddata/sdk-ui-ext 11.61.0-alpha.3 → 11.61.0-alpha.5

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 (119) hide show
  1. package/NOTICE +409 -550
  2. package/esm/internal/components/dialogs/userManagementDialogs/AddWorkspaceToSubjects.d.ts +1 -0
  3. package/esm/internal/components/dialogs/userManagementDialogs/AddWorkspaceToSubjects.d.ts.map +1 -1
  4. package/esm/internal/components/dialogs/userManagementDialogs/AddWorkspaceToSubjects.js +2 -2
  5. package/esm/internal/components/dialogs/userManagementDialogs/UserEditDialog.d.ts +1 -0
  6. package/esm/internal/components/dialogs/userManagementDialogs/UserEditDialog.d.ts.map +1 -1
  7. package/esm/internal/components/dialogs/userManagementDialogs/UserEditDialog.js +2 -2
  8. package/esm/internal/components/dialogs/userManagementDialogs/UserGroupEditDialog.d.ts +1 -0
  9. package/esm/internal/components/dialogs/userManagementDialogs/UserGroupEditDialog.d.ts.map +1 -1
  10. package/esm/internal/components/dialogs/userManagementDialogs/UserGroupEditDialog.js +2 -2
  11. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/AddWorkspace.d.ts +2 -1
  12. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/AddWorkspace.d.ts.map +1 -1
  13. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/AddWorkspace.js +4 -4
  14. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/GranularPermissions.d.ts +2 -1
  15. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/GranularPermissions.d.ts.map +1 -1
  16. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/GranularPermissions.js +24 -24
  17. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/granularPermissionUtils.d.ts +3 -3
  18. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/granularPermissionUtils.d.ts.map +1 -1
  19. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/granularPermissionUtils.js +21 -15
  20. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/locales.d.ts +6 -0
  21. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/locales.d.ts.map +1 -1
  22. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/locales.js +4 -0
  23. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/useAddWorkspace.d.ts.map +1 -1
  24. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/useAddWorkspace.js +10 -3
  25. package/esm/internal/components/pluggableVisualizations/chartCodeGenUtils.d.ts.map +1 -1
  26. package/esm/internal/components/pluggableVisualizations/chartCodeGenUtils.js +1 -0
  27. package/esm/internal/translations/de-DE.localization-bundle.d.ts +6 -1
  28. package/esm/internal/translations/de-DE.localization-bundle.d.ts.map +1 -1
  29. package/esm/internal/translations/de-DE.localization-bundle.js +6 -1
  30. package/esm/internal/translations/en-AU.localization-bundle.d.ts +6 -1
  31. package/esm/internal/translations/en-AU.localization-bundle.d.ts.map +1 -1
  32. package/esm/internal/translations/en-AU.localization-bundle.js +6 -1
  33. package/esm/internal/translations/en-GB.localization-bundle.d.ts +6 -1
  34. package/esm/internal/translations/en-GB.localization-bundle.d.ts.map +1 -1
  35. package/esm/internal/translations/en-GB.localization-bundle.js +6 -1
  36. package/esm/internal/translations/en-US.localization-bundle.d.ts +8 -0
  37. package/esm/internal/translations/en-US.localization-bundle.d.ts.map +1 -1
  38. package/esm/internal/translations/en-US.localization-bundle.js +9 -1
  39. package/esm/internal/translations/es-419.localization-bundle.d.ts +6 -1
  40. package/esm/internal/translations/es-419.localization-bundle.d.ts.map +1 -1
  41. package/esm/internal/translations/es-419.localization-bundle.js +6 -1
  42. package/esm/internal/translations/es-ES.localization-bundle.d.ts +6 -1
  43. package/esm/internal/translations/es-ES.localization-bundle.d.ts.map +1 -1
  44. package/esm/internal/translations/es-ES.localization-bundle.js +6 -1
  45. package/esm/internal/translations/fi-FI.localization-bundle.d.ts +6 -1
  46. package/esm/internal/translations/fi-FI.localization-bundle.d.ts.map +1 -1
  47. package/esm/internal/translations/fi-FI.localization-bundle.js +6 -1
  48. package/esm/internal/translations/fr-CA.localization-bundle.d.ts +6 -1
  49. package/esm/internal/translations/fr-CA.localization-bundle.d.ts.map +1 -1
  50. package/esm/internal/translations/fr-CA.localization-bundle.js +6 -1
  51. package/esm/internal/translations/fr-FR.localization-bundle.d.ts +6 -1
  52. package/esm/internal/translations/fr-FR.localization-bundle.d.ts.map +1 -1
  53. package/esm/internal/translations/fr-FR.localization-bundle.js +6 -1
  54. package/esm/internal/translations/id-ID.localization-bundle.d.ts +6 -1
  55. package/esm/internal/translations/id-ID.localization-bundle.d.ts.map +1 -1
  56. package/esm/internal/translations/id-ID.localization-bundle.js +6 -1
  57. package/esm/internal/translations/it-IT.localization-bundle.d.ts +6 -1
  58. package/esm/internal/translations/it-IT.localization-bundle.d.ts.map +1 -1
  59. package/esm/internal/translations/it-IT.localization-bundle.js +7 -2
  60. package/esm/internal/translations/ja-JP.localization-bundle.d.ts +6 -1
  61. package/esm/internal/translations/ja-JP.localization-bundle.d.ts.map +1 -1
  62. package/esm/internal/translations/ja-JP.localization-bundle.js +6 -1
  63. package/esm/internal/translations/ko-KR.localization-bundle.d.ts +6 -1
  64. package/esm/internal/translations/ko-KR.localization-bundle.d.ts.map +1 -1
  65. package/esm/internal/translations/ko-KR.localization-bundle.js +6 -1
  66. package/esm/internal/translations/nl-NL.localization-bundle.d.ts +6 -1
  67. package/esm/internal/translations/nl-NL.localization-bundle.d.ts.map +1 -1
  68. package/esm/internal/translations/nl-NL.localization-bundle.js +6 -1
  69. package/esm/internal/translations/pl-PL.localization-bundle.d.ts +6 -1
  70. package/esm/internal/translations/pl-PL.localization-bundle.d.ts.map +1 -1
  71. package/esm/internal/translations/pl-PL.localization-bundle.js +6 -1
  72. package/esm/internal/translations/pt-BR.localization-bundle.d.ts +6 -1
  73. package/esm/internal/translations/pt-BR.localization-bundle.d.ts.map +1 -1
  74. package/esm/internal/translations/pt-BR.localization-bundle.js +6 -1
  75. package/esm/internal/translations/pt-PT.localization-bundle.d.ts +6 -1
  76. package/esm/internal/translations/pt-PT.localization-bundle.d.ts.map +1 -1
  77. package/esm/internal/translations/pt-PT.localization-bundle.js +6 -1
  78. package/esm/internal/translations/ru-RU.localization-bundle.d.ts +6 -1
  79. package/esm/internal/translations/ru-RU.localization-bundle.d.ts.map +1 -1
  80. package/esm/internal/translations/ru-RU.localization-bundle.js +6 -1
  81. package/esm/internal/translations/sl-SI.localization-bundle.d.ts +6 -1
  82. package/esm/internal/translations/sl-SI.localization-bundle.d.ts.map +1 -1
  83. package/esm/internal/translations/sl-SI.localization-bundle.js +6 -1
  84. package/esm/internal/translations/th-TH.localization-bundle.d.ts +6 -1
  85. package/esm/internal/translations/th-TH.localization-bundle.d.ts.map +1 -1
  86. package/esm/internal/translations/th-TH.localization-bundle.js +6 -1
  87. package/esm/internal/translations/tr-TR.localization-bundle.d.ts +6 -1
  88. package/esm/internal/translations/tr-TR.localization-bundle.d.ts.map +1 -1
  89. package/esm/internal/translations/tr-TR.localization-bundle.js +6 -1
  90. package/esm/internal/translations/uk-UA.localization-bundle.d.ts +6 -1
  91. package/esm/internal/translations/uk-UA.localization-bundle.d.ts.map +1 -1
  92. package/esm/internal/translations/uk-UA.localization-bundle.js +6 -1
  93. package/esm/internal/translations/vi-VN.localization-bundle.d.ts +6 -1
  94. package/esm/internal/translations/vi-VN.localization-bundle.d.ts.map +1 -1
  95. package/esm/internal/translations/vi-VN.localization-bundle.js +6 -1
  96. package/esm/internal/translations/zh-HK.localization-bundle.d.ts +6 -1
  97. package/esm/internal/translations/zh-HK.localization-bundle.d.ts.map +1 -1
  98. package/esm/internal/translations/zh-HK.localization-bundle.js +6 -1
  99. package/esm/internal/translations/zh-Hans.localization-bundle.d.ts +6 -1
  100. package/esm/internal/translations/zh-Hans.localization-bundle.d.ts.map +1 -1
  101. package/esm/internal/translations/zh-Hans.localization-bundle.js +6 -1
  102. package/esm/internal/translations/zh-Hant.localization-bundle.d.ts +6 -1
  103. package/esm/internal/translations/zh-Hant.localization-bundle.d.ts.map +1 -1
  104. package/esm/internal/translations/zh-Hant.localization-bundle.js +6 -1
  105. package/esm/sdk-ui-ext.d.ts +4 -1
  106. package/esm/share/ObjectShareDialog.js +3 -4
  107. package/esm/share/messages.d.ts +13 -2
  108. package/esm/share/messages.d.ts.map +1 -1
  109. package/esm/share/messages.js +9 -2
  110. package/esm/share/objectShareController.types.d.ts +17 -9
  111. package/esm/share/objectShareController.types.d.ts.map +1 -1
  112. package/esm/share/useAccessList.d.ts +5 -0
  113. package/esm/share/useAccessList.d.ts.map +1 -1
  114. package/esm/share/useAccessList.js +2 -0
  115. package/esm/share/useObjectShareController.d.ts.map +1 -1
  116. package/esm/share/useObjectShareController.js +40 -11
  117. package/esm/share/useObjectShareDialog.d.ts.map +1 -1
  118. package/esm/share/useObjectShareDialog.js +27 -15
  119. package/package.json +21 -21
@@ -27,6 +27,11 @@ export interface IAccessList {
27
27
  * the backend would allow. The Admin self row needs an explicit `true`.
28
28
  */
29
29
  isWorkspaceManager: boolean | undefined;
30
+ /**
31
+ * Whether the caller may edit and share every visualization of this workspace through the
32
+ * MANAGE_VISUALIZATIONS or MANAGE workspace permission, or **undefined** while pending or after it failed.
33
+ */
34
+ canManageVisualizations: boolean | undefined;
30
35
  /**
31
36
  * The strongest level the caller holds on the target, from every source the backend
32
37
  * resolves (own grants, groups, parent workspaces, workspace permissions), or
@@ -1 +1 @@
1
- {"version":3,"file":"useAccessList.d.ts","sourceRoot":"","sources":["../../src/share/useAccessList.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useAccessList.d.ts","sourceRoot":"","sources":["../../src/share/useAccessList.ts"],"names":[],"mappings":"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"}
@@ -71,6 +71,7 @@ export function useAccessList(target, draftOptions = {}) {
71
71
  onError: () => { },
72
72
  }, [backend, workspace]);
73
73
  const isWorkspaceManager = workspacePermissions?.canManageProject;
74
+ const canManageVisualizations = workspacePermissions?.canManageVisualizations;
74
75
  // Re-read after every write, since a change to the caller's own row, a group or the rule
75
76
  // can change their level. The last answer stays in place while the next one loads, and is
76
77
  // dropped if that read fails, so the policies fall back to the caller's own row.
@@ -298,6 +299,7 @@ export function useAccessList(target, draftOptions = {}) {
298
299
  grantees,
299
300
  selfIdentity,
300
301
  isWorkspaceManager,
302
+ canManageVisualizations,
301
303
  callerLevel,
302
304
  selfIdentityResolved,
303
305
  generalAccess,
@@ -1 +1 @@
1
- {"version":3,"file":"useObjectShareController.d.ts","sourceRoot":"","sources":["../../src/share/useObjectShareController.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAkB1E,OAAO,EACH,KAAK,sBAAsB,EAI3B,KAAK,sBAAsB,EAE9B,MAAM,kCAAkC,CAAC;AAI1C;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,wBAAwB,CACpC,MAAM,EAAE,wBAAwB,GAAG,SAAS,EAC5C,OAAO,CAAC,EAAE,sBAAsB,GACjC,sBAAsB,CA+yBxB"}
1
+ {"version":3,"file":"useObjectShareController.d.ts","sourceRoot":"","sources":["../../src/share/useObjectShareController.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAkB1E,OAAO,EACH,KAAK,sBAAsB,EAI3B,KAAK,sBAAsB,EAG9B,MAAM,kCAAkC,CAAC;AA8B1C;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,wBAAwB,CACpC,MAAM,EAAE,wBAAwB,GAAG,SAAS,EAC5C,OAAO,CAAC,EAAE,sBAAsB,GACjC,sBAAsB,CA40BxB"}
@@ -6,6 +6,19 @@ import { objectShareMessages } from "./messages.js";
6
6
  import { EMPTY_IDS, NO_LABELS, changesEffectiveLevel, granularGranteeFor, levelsAbove, levelsBelow, mergeDisabledLevels, sortGrantees, toGranularGrantee, } from "./objectShareController.helpers.js";
7
7
  import { useAccessList } from "./useAccessList.js";
8
8
  import { useLabelScope } from "./useLabelScope.js";
9
+ function resolveRoleAccess({ loaded, isWorkspaceManager, canManageVisualizations, kind, callerLevel, }) {
10
+ if (!loaded) {
11
+ return undefined;
12
+ }
13
+ if (isWorkspaceManager) {
14
+ return "workspaceManager";
15
+ }
16
+ // The backend's EDIT is required too: inherited visualizations stay view-only for a holder.
17
+ if (canManageVisualizations && kind === "insight" && callerLevel === "EDIT") {
18
+ return "visualizationManager";
19
+ }
20
+ return undefined;
21
+ }
9
22
  /**
10
23
  * Manages the share-dialog state and backend I/O for ONE dialog session: the hook
11
24
  * is mounted while the dialog is open, for a single target that must not change
@@ -35,7 +48,15 @@ export function useObjectShareController(target, options) {
35
48
  const [subview, setSubview] = useState("main");
36
49
  const [pendingGrantees, setPendingGrantees] = useState([]);
37
50
  const [pendingGeneralAccess, setPendingGeneralAccess] = useState(undefined);
38
- const { hasList, grantees, isWorkspaceManager, callerLevel, selfIdentityResolved, generalAccess, workspaceLevel, workspaceInheritedLevel, workspaceLevelSaving, summary, status, loadError, commit, loadOptions, applyGranteeAdd, applyGranteeLevel, applyGranteeLock, applyGranteeRemove, settleGranteeEdit, failGranteeEdit, applyRuleEdit, settleRuleEdit, failRuleEdit, draft: draftValue, } = useAccessList(target, { draft, initialDraft, initialDraftGeneralAccess });
51
+ const { hasList, grantees, isWorkspaceManager, canManageVisualizations, callerLevel, selfIdentityResolved, generalAccess, workspaceLevel, workspaceInheritedLevel, workspaceLevelSaving, summary, status, loadError, commit, loadOptions, applyGranteeAdd, applyGranteeLevel, applyGranteeLock, applyGranteeRemove, settleGranteeEdit, failGranteeEdit, applyRuleEdit, settleRuleEdit, failRuleEdit, draft: draftValue, } = useAccessList(target, { draft, initialDraft, initialDraftGeneralAccess });
52
+ const roleAccess = resolveRoleAccess({
53
+ loaded: !draft && status === "success",
54
+ isWorkspaceManager,
55
+ canManageVisualizations,
56
+ kind: target?.kind,
57
+ callerLevel,
58
+ });
59
+ const roleLockedGranteeId = roleAccess === "visualizationManager" ? grantees.find((g) => g.isSelf)?.id : undefined;
39
60
  // Grantee ids the label-scope probe resolves against — a removing row is excluded
40
61
  // so its scope is dropped, not re-seeded.
41
62
  const committedGranteeIds = useMemo(() => {
@@ -218,7 +239,11 @@ export function useObjectShareController(target, options) {
218
239
  // Also refused before the label scope resolves: the re-grade below would run
219
240
  // over the assumed-all fallback and mint grants the grantee never held. The
220
241
  // UI gates on the same fact (isMutable); the controller stays authoritative.
221
- if (!grantee || grantee.pending || !labelsResolved || !changesEffectiveLevel(grantee, level)) {
242
+ if (!grantee ||
243
+ grantee.pending ||
244
+ !labelsResolved ||
245
+ granteeId === roleLockedGranteeId ||
246
+ !changesEffectiveLevel(grantee, level)) {
222
247
  return;
223
248
  }
224
249
  applyGranteeLevel(granteeId, level);
@@ -278,6 +303,7 @@ export function useObjectShareController(target, options) {
278
303
  applyGranteeLevel,
279
304
  settleGranteeEdit,
280
305
  failGranteeEdit,
306
+ roleLockedGranteeId,
281
307
  ]);
282
308
  const removeGrantee = useCallback(async (granteeId) => {
283
309
  const grantee = grantees.find((g) => g.id === granteeId);
@@ -288,7 +314,11 @@ export function useObjectShareController(target, options) {
288
314
  // this keeps the controller — not the UI — authoritative. Same for an
289
315
  // unresolved label scope: the revoke below would run over the assumed-all
290
316
  // fallback and revoke (then compensate with) grants that never existed.
291
- if (!grantee || grantee.pending || !labelsResolved || grantee.directLevel === undefined) {
317
+ if (!grantee ||
318
+ grantee.pending ||
319
+ !labelsResolved ||
320
+ grantee.directLevel === undefined ||
321
+ granteeId === roleLockedGranteeId) {
292
322
  return;
293
323
  }
294
324
  // Mark the row removed but keep it visible (muted) until the write lands.
@@ -375,6 +405,7 @@ export function useObjectShareController(target, options) {
375
405
  settleGranteeEdit,
376
406
  failGranteeEdit,
377
407
  setSelectedLabelIdsByGrantee,
408
+ roleLockedGranteeId,
378
409
  ]);
379
410
  const changeGranteeLabels = useCallback(async (granteeId, requested) => {
380
411
  const grantee = grantees.find((g) => g.id === granteeId);
@@ -607,7 +638,7 @@ export function useObjectShareController(target, options) {
607
638
  // Sorted for display only; the overlay stays in write-through order, so
608
639
  // add/rollback logic is unaffected. Memoized apart from the state assembly so
609
640
  // the array identity changes only when the rows do, not on every state change.
610
- const sortedGrantees = useMemo(() => sortGrantees(grantees), [grantees]);
641
+ const sortedGrantees = useMemo(() => sortGrantees(grantees).map((g) => g.id === roleLockedGranteeId ? { ...g, level: "EDIT", effectivePermission: undefined } : g), [grantees, roleLockedGranteeId]);
611
642
  const state = useMemo(() => {
612
643
  // Row policy is classified here, not in the dialog, so a consumer
613
644
  // injecting this controller into its own UI gets the same classification.
@@ -615,7 +646,7 @@ export function useObjectShareController(target, options) {
615
646
  // it special is that the access is THEIRS. A manager is exempt, their access
616
647
  // comes from the role, so there is no ceiling to cap and no lockout to warn of.
617
648
  const ownRow = grantees.find((g) => g.isSelf);
618
- const selfRow = isWorkspaceManager ? undefined : ownRow;
649
+ const selfRow = isWorkspaceManager || roleLockedGranteeId ? undefined : ownRow;
619
650
  const selfManagedGranteeId = selfRow?.id;
620
651
  // The caller cannot grant above what they hold, and the server refuses such a write.
621
652
  // The backend's own answer covers groups, parent workspaces and workspace permissions.
@@ -627,10 +658,6 @@ export function useObjectShareController(target, options) {
627
658
  : undefined
628
659
  : levelsAbove(callerLevel);
629
660
  const granteeControlsLocked = !selfIdentityResolved && !isWorkspaceManager && grantees.some((g) => g.kind === "user");
630
- // Policy in `IObjectShareControllerState.showAdminAccessNote`: role-based access is
631
- // explained by a note, not a grantee row, so it does not depend on the caller having
632
- // (or lacking) a row of their own.
633
- const showAdminAccessNote = !draft && status === "success" && isWorkspaceManager === true;
634
661
  return {
635
662
  subview,
636
663
  status,
@@ -645,7 +672,8 @@ export function useObjectShareController(target, options) {
645
672
  grantableDisabledLevels,
646
673
  callerLevel,
647
674
  granteeControlsLocked,
648
- showAdminAccessNote,
675
+ roleAccess,
676
+ roleLockedGranteeId,
649
677
  ...effectiveWorkspace,
650
678
  workspaceInheritedLevel: workspaceInheritedLevel,
651
679
  workspaceLevelLocked: generalAccess !== "WORKSPACE" || workspaceInheritedLevel === "EDIT",
@@ -665,8 +693,9 @@ export function useObjectShareController(target, options) {
665
693
  summary,
666
694
  selfIdentityResolved,
667
695
  isWorkspaceManager,
696
+ roleAccess,
697
+ roleLockedGranteeId,
668
698
  callerLevel,
669
- draft,
670
699
  grantees,
671
700
  sortedGrantees,
672
701
  effectiveWorkspace,
@@ -1 +1 @@
1
- {"version":3,"file":"useObjectShareDialog.d.ts","sourceRoot":"","sources":["../../src/share/useObjectShareDialog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useObjectShareDialog.d.ts","sourceRoot":"","sources":["../../src/share/useObjectShareDialog.ts"],"names":[],"mappings":"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"}
@@ -100,12 +100,29 @@ export function useObjectShareDialog({ target, onClose, onSummaryChange, draft,
100
100
  const isRowAboveCaller = useCallback((grantee) => state.callerLevel !== undefined &&
101
101
  grantee.directLevel !== undefined &&
102
102
  levelsAbove(state.callerLevel).includes(grantee.directLevel), [state.callerLevel]);
103
+ const coveredByWorkspacePermissionTooltip = intl.formatMessage(objectShareMessages.granteeCoveredByWorkspacePermission);
103
104
  const aboveCallerUserTooltip = intl.formatMessage(objectShareMessages.granteeAboveCallerUser);
104
105
  const aboveCallerGroupTooltip = intl.formatMessage(objectShareMessages.granteeAboveCallerGroup);
105
- const aboveCallerTooltip = useCallback((grantee) => grantee.kind === "group" ? aboveCallerGroupTooltip : aboveCallerUserTooltip, [aboveCallerUserTooltip, aboveCallerGroupTooltip]);
106
- const rowDisabledLevels = useCallback((grantee) => {
106
+ const rowLock = useCallback((grantee) => {
107
107
  if (isRowAboveCaller(grantee)) {
108
- return [...ALL_LEVELS];
108
+ const tooltip = grantee.kind === "group" ? aboveCallerGroupTooltip : aboveCallerUserTooltip;
109
+ return { levels: [...ALL_LEVELS], tooltip };
110
+ }
111
+ if (state.roleLockedGranteeId === grantee.id) {
112
+ return { levels: levelsBelow("EDIT"), tooltip: coveredByWorkspacePermissionTooltip };
113
+ }
114
+ return undefined;
115
+ }, [
116
+ isRowAboveCaller,
117
+ state.roleLockedGranteeId,
118
+ aboveCallerUserTooltip,
119
+ aboveCallerGroupTooltip,
120
+ coveredByWorkspacePermissionTooltip,
121
+ ]);
122
+ const rowDisabledLevels = useCallback((grantee) => {
123
+ const lock = rowLock(grantee);
124
+ if (lock) {
125
+ return lock.levels;
109
126
  }
110
127
  const self = state.selfManagedGranteeId === grantee.id ? (state.selfManagedDisabledLevels ?? []) : [];
111
128
  // Self caps levels ABOVE the row and coverage disables those BELOW, so those
@@ -118,16 +135,11 @@ export function useObjectShareDialog({ target, onClose, onSummaryChange, draft,
118
135
  ]),
119
136
  ];
120
137
  return merged.length > 0 ? merged : undefined;
121
- }, [
122
- isRowAboveCaller,
123
- state.selfManagedGranteeId,
124
- state.selfManagedDisabledLevels,
125
- state.grantableDisabledLevels,
126
- ]);
138
+ }, [rowLock, state.selfManagedGranteeId, state.selfManagedDisabledLevels, state.grantableDisabledLevels]);
127
139
  const rowDisabledLevelTooltips = useCallback((grantee) => {
128
- if (isRowAboveCaller(grantee)) {
129
- const tooltip = aboveCallerTooltip(grantee);
130
- return Object.fromEntries(ALL_LEVELS.map((level) => [level, tooltip]));
140
+ const lock = rowLock(grantee);
141
+ if (lock) {
142
+ return Object.fromEntries(lock.levels.map((level) => [level, lock.tooltip]));
131
143
  }
132
144
  const covered = inheritedCoveredLevels(grantee);
133
145
  if (covered.length === 0) {
@@ -138,10 +150,10 @@ export function useObjectShareDialog({ target, onClose, onSummaryChange, draft,
138
150
  map[level] = inheritedCoveredTooltip;
139
151
  }
140
152
  return map;
141
- }, [isRowAboveCaller, aboveCallerTooltip, inheritedCoveredTooltip]);
142
- const isRowRemoveDisabled = useCallback((grantee) => grantee.directLevel === undefined || isRowAboveCaller(grantee), [isRowAboveCaller]);
153
+ }, [rowLock, inheritedCoveredTooltip]);
154
+ const isRowRemoveDisabled = useCallback((grantee) => grantee.directLevel === undefined || rowLock(grantee) !== undefined, [rowLock]);
143
155
  const removeInheritedTooltip = intl.formatMessage(objectShareMessages.granteeRemoveInherited);
144
- const rowRemoveDisabledTooltip = useCallback((grantee) => isRowAboveCaller(grantee) ? aboveCallerTooltip(grantee) : removeInheritedTooltip, [isRowAboveCaller, aboveCallerTooltip, removeInheritedTooltip]);
156
+ const rowRemoveDisabledTooltip = useCallback((grantee) => rowLock(grantee)?.tooltip ?? removeInheritedTooltip, [rowLock, removeInheritedTooltip]);
145
157
  const grantLimitTooltip = intl.formatMessage(objectShareMessages.toastEscalationRefused);
146
158
  // Only USER rows can be the caller's own, so a group row stays usable while the
147
159
  // profile is unresolved.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gooddata/sdk-ui-ext",
3
- "version": "11.61.0-alpha.3",
3
+ "version": "11.61.0-alpha.5",
4
4
  "description": "GoodData.UI SDK - Extensions",
5
5
  "license": "LicenseRef-LICENSE",
6
6
  "author": "GoodData Corporation",
@@ -63,20 +63,20 @@
63
63
  "ts-invariant": "0.10.3",
64
64
  "tslib": "2.8.1",
65
65
  "uuid": "11.1.1",
66
- "@gooddata/sdk-backend-base": "11.61.0-alpha.3",
67
- "@gooddata/sdk-backend-spi": "11.61.0-alpha.3",
68
- "@gooddata/sdk-embedding": "11.61.0-alpha.3",
69
- "@gooddata/sdk-model": "11.61.0-alpha.3",
70
- "@gooddata/sdk-ui": "11.61.0-alpha.3",
71
- "@gooddata/sdk-ui-charts": "11.61.0-alpha.3",
72
- "@gooddata/sdk-ui-geo": "11.61.0-alpha.3",
73
- "@gooddata/sdk-ui-filters": "11.61.0-alpha.3",
74
- "@gooddata/sdk-ui-kit": "11.61.0-alpha.3",
75
- "@gooddata/sdk-ui-semantic-search": "11.61.0-alpha.3",
76
- "@gooddata/sdk-ui-theme-provider": "11.61.0-alpha.3",
77
- "@gooddata/sdk-ui-pivot": "11.61.0-alpha.3",
78
- "@gooddata/util": "11.61.0-alpha.3",
79
- "@gooddata/sdk-ui-vis-commons": "11.61.0-alpha.3"
66
+ "@gooddata/sdk-backend-base": "11.61.0-alpha.5",
67
+ "@gooddata/sdk-model": "11.61.0-alpha.5",
68
+ "@gooddata/sdk-backend-spi": "11.61.0-alpha.5",
69
+ "@gooddata/sdk-embedding": "11.61.0-alpha.5",
70
+ "@gooddata/sdk-ui": "11.61.0-alpha.5",
71
+ "@gooddata/sdk-ui-charts": "11.61.0-alpha.5",
72
+ "@gooddata/sdk-ui-filters": "11.61.0-alpha.5",
73
+ "@gooddata/sdk-ui-kit": "11.61.0-alpha.5",
74
+ "@gooddata/sdk-ui-geo": "11.61.0-alpha.5",
75
+ "@gooddata/sdk-ui-pivot": "11.61.0-alpha.5",
76
+ "@gooddata/sdk-ui-semantic-search": "11.61.0-alpha.5",
77
+ "@gooddata/sdk-ui-theme-provider": "11.61.0-alpha.5",
78
+ "@gooddata/sdk-ui-vis-commons": "11.61.0-alpha.5",
79
+ "@gooddata/util": "11.61.0-alpha.5"
80
80
  },
81
81
  "devDependencies": {
82
82
  "@microsoft/api-documenter": "7.30.16",
@@ -120,12 +120,12 @@
120
120
  "typescript": "7.0.2",
121
121
  "vitest": "4.1.11",
122
122
  "vitest-dom": "0.1.1",
123
- "@gooddata/eslint-config": "11.61.0-alpha.3",
124
- "@gooddata/i18n-toolkit": "11.61.0-alpha.3",
125
- "@gooddata/oxlint-config": "11.61.0-alpha.3",
126
- "@gooddata/reference-workspace": "11.61.0-alpha.3",
127
- "@gooddata/sdk-backend-mockingbird": "11.61.0-alpha.3",
128
- "@gooddata/stylelint-config": "11.61.0-alpha.3"
123
+ "@gooddata/i18n-toolkit": "11.61.0-alpha.5",
124
+ "@gooddata/eslint-config": "11.61.0-alpha.5",
125
+ "@gooddata/oxlint-config": "11.61.0-alpha.5",
126
+ "@gooddata/sdk-backend-mockingbird": "11.61.0-alpha.5",
127
+ "@gooddata/stylelint-config": "11.61.0-alpha.5",
128
+ "@gooddata/reference-workspace": "11.61.0-alpha.5"
129
129
  },
130
130
  "peerDependencies": {
131
131
  "react": "^18.0.0 || ^19.0.0",