@gooddata/sdk-ui-ext 11.43.0-alpha.4 → 11.43.0

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 (87) hide show
  1. package/NOTICE +641 -841
  2. package/esm/internal/translations/de-DE.localization-bundle.d.ts +42 -0
  3. package/esm/internal/translations/de-DE.localization-bundle.d.ts.map +1 -1
  4. package/esm/internal/translations/de-DE.localization-bundle.js +43 -1
  5. package/esm/internal/translations/en-AU.localization-bundle.d.ts +42 -0
  6. package/esm/internal/translations/en-AU.localization-bundle.d.ts.map +1 -1
  7. package/esm/internal/translations/en-AU.localization-bundle.js +44 -2
  8. package/esm/internal/translations/en-GB.localization-bundle.d.ts +42 -0
  9. package/esm/internal/translations/en-GB.localization-bundle.d.ts.map +1 -1
  10. package/esm/internal/translations/en-GB.localization-bundle.js +44 -2
  11. package/esm/internal/translations/es-419.localization-bundle.d.ts +42 -0
  12. package/esm/internal/translations/es-419.localization-bundle.d.ts.map +1 -1
  13. package/esm/internal/translations/es-419.localization-bundle.js +44 -2
  14. package/esm/internal/translations/es-ES.localization-bundle.d.ts +42 -0
  15. package/esm/internal/translations/es-ES.localization-bundle.d.ts.map +1 -1
  16. package/esm/internal/translations/es-ES.localization-bundle.js +44 -2
  17. package/esm/internal/translations/fi-FI.localization-bundle.d.ts +42 -0
  18. package/esm/internal/translations/fi-FI.localization-bundle.d.ts.map +1 -1
  19. package/esm/internal/translations/fi-FI.localization-bundle.js +43 -1
  20. package/esm/internal/translations/fr-CA.localization-bundle.d.ts +42 -0
  21. package/esm/internal/translations/fr-CA.localization-bundle.d.ts.map +1 -1
  22. package/esm/internal/translations/fr-CA.localization-bundle.js +43 -1
  23. package/esm/internal/translations/fr-FR.localization-bundle.d.ts +42 -0
  24. package/esm/internal/translations/fr-FR.localization-bundle.d.ts.map +1 -1
  25. package/esm/internal/translations/fr-FR.localization-bundle.js +43 -1
  26. package/esm/internal/translations/id-ID.localization-bundle.d.ts +42 -0
  27. package/esm/internal/translations/id-ID.localization-bundle.d.ts.map +1 -1
  28. package/esm/internal/translations/id-ID.localization-bundle.js +43 -1
  29. package/esm/internal/translations/it-IT.localization-bundle.d.ts +42 -0
  30. package/esm/internal/translations/it-IT.localization-bundle.d.ts.map +1 -1
  31. package/esm/internal/translations/it-IT.localization-bundle.js +43 -1
  32. package/esm/internal/translations/ja-JP.localization-bundle.d.ts +42 -0
  33. package/esm/internal/translations/ja-JP.localization-bundle.d.ts.map +1 -1
  34. package/esm/internal/translations/ja-JP.localization-bundle.js +43 -1
  35. package/esm/internal/translations/ko-KR.localization-bundle.d.ts +42 -0
  36. package/esm/internal/translations/ko-KR.localization-bundle.d.ts.map +1 -1
  37. package/esm/internal/translations/ko-KR.localization-bundle.js +43 -1
  38. package/esm/internal/translations/nl-NL.localization-bundle.d.ts +42 -0
  39. package/esm/internal/translations/nl-NL.localization-bundle.d.ts.map +1 -1
  40. package/esm/internal/translations/nl-NL.localization-bundle.js +43 -1
  41. package/esm/internal/translations/pl-PL.localization-bundle.d.ts +42 -0
  42. package/esm/internal/translations/pl-PL.localization-bundle.d.ts.map +1 -1
  43. package/esm/internal/translations/pl-PL.localization-bundle.js +43 -1
  44. package/esm/internal/translations/pt-BR.localization-bundle.d.ts +42 -0
  45. package/esm/internal/translations/pt-BR.localization-bundle.d.ts.map +1 -1
  46. package/esm/internal/translations/pt-BR.localization-bundle.js +43 -1
  47. package/esm/internal/translations/pt-PT.localization-bundle.d.ts +42 -0
  48. package/esm/internal/translations/pt-PT.localization-bundle.d.ts.map +1 -1
  49. package/esm/internal/translations/pt-PT.localization-bundle.js +43 -1
  50. package/esm/internal/translations/ru-RU.localization-bundle.d.ts +42 -0
  51. package/esm/internal/translations/ru-RU.localization-bundle.d.ts.map +1 -1
  52. package/esm/internal/translations/ru-RU.localization-bundle.js +43 -1
  53. package/esm/internal/translations/sl-SI.localization-bundle.d.ts +42 -0
  54. package/esm/internal/translations/sl-SI.localization-bundle.d.ts.map +1 -1
  55. package/esm/internal/translations/sl-SI.localization-bundle.js +43 -1
  56. package/esm/internal/translations/th-TH.localization-bundle.d.ts +42 -0
  57. package/esm/internal/translations/th-TH.localization-bundle.d.ts.map +1 -1
  58. package/esm/internal/translations/th-TH.localization-bundle.js +43 -1
  59. package/esm/internal/translations/tr-TR.localization-bundle.d.ts +42 -0
  60. package/esm/internal/translations/tr-TR.localization-bundle.d.ts.map +1 -1
  61. package/esm/internal/translations/tr-TR.localization-bundle.js +43 -1
  62. package/esm/internal/translations/uk-UA.localization-bundle.d.ts +42 -0
  63. package/esm/internal/translations/uk-UA.localization-bundle.d.ts.map +1 -1
  64. package/esm/internal/translations/uk-UA.localization-bundle.js +43 -1
  65. package/esm/internal/translations/vi-VN.localization-bundle.d.ts +42 -0
  66. package/esm/internal/translations/vi-VN.localization-bundle.d.ts.map +1 -1
  67. package/esm/internal/translations/vi-VN.localization-bundle.js +43 -1
  68. package/esm/internal/translations/zh-HK.localization-bundle.d.ts +42 -0
  69. package/esm/internal/translations/zh-HK.localization-bundle.d.ts.map +1 -1
  70. package/esm/internal/translations/zh-HK.localization-bundle.js +44 -2
  71. package/esm/internal/translations/zh-Hans.localization-bundle.d.ts +42 -0
  72. package/esm/internal/translations/zh-Hans.localization-bundle.d.ts.map +1 -1
  73. package/esm/internal/translations/zh-Hans.localization-bundle.js +43 -1
  74. package/esm/internal/translations/zh-Hant.localization-bundle.d.ts +42 -0
  75. package/esm/internal/translations/zh-Hant.localization-bundle.d.ts.map +1 -1
  76. package/esm/internal/translations/zh-Hant.localization-bundle.js +45 -3
  77. package/esm/sdk-ui-ext.d.ts +27 -3
  78. package/esm/share/ObjectShareDialog.d.ts.map +1 -1
  79. package/esm/share/ObjectShareDialog.js +23 -2
  80. package/esm/share/objectShareController.helpers.d.ts +1 -1
  81. package/esm/share/objectShareController.helpers.d.ts.map +1 -1
  82. package/esm/share/objectShareController.helpers.js +26 -13
  83. package/esm/share/objectShareController.types.d.ts +27 -4
  84. package/esm/share/objectShareController.types.d.ts.map +1 -1
  85. package/esm/share/useObjectShareController.d.ts.map +1 -1
  86. package/esm/share/useObjectShareController.js +50 -0
  87. package/package.json +21 -22
@@ -1 +1 @@
1
- {"version":3,"file":"objectShareController.types.d.ts","sourceRoot":"","sources":["../../src/share/objectShareController.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"objectShareController.types.d.ts","sourceRoot":"","sources":["../../src/share/objectShareController.types.ts"],"names":[],"mappings":"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"}
@@ -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;AAa1E,OAAO,EACH,KAAK,sBAAsB,EAI3B,KAAK,sBAAsB,EAE9B,MAAM,kCAAkC,CAAC;AAI1C;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,wBAAwB,CACpC,MAAM,EAAE,wBAAwB,GAAG,SAAS,EAC5C,OAAO,CAAC,EAAE,sBAAsB,GACjC,sBAAsB,CAggBxB"}
1
+ {"version":3,"file":"useObjectShareController.d.ts","sourceRoot":"","sources":["../../src/share/useObjectShareController.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAa1E,OAAO,EACH,KAAK,sBAAsB,EAI3B,KAAK,sBAAsB,EAE9B,MAAM,kCAAkC,CAAC;AAI1C;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,wBAAwB,CACpC,MAAM,EAAE,wBAAwB,GAAG,SAAS,EAC5C,OAAO,CAAC,EAAE,sBAAsB,GACjC,sBAAsB,CAyjBxB"}
@@ -35,6 +35,11 @@ export function useObjectShareController(target, options) {
35
35
  const [subview, setSubview] = useState("main");
36
36
  const [pendingGrantees, setPendingGrantees] = useState([]);
37
37
  const [pendingGeneralAccess, setPendingGeneralAccess] = useState(undefined);
38
+ // True while a workspace-level re-grade is committing. The workspace rule has no
39
+ // grantee row to carry a `pending` flag (unlike named grantees), so this gates
40
+ // re-entry and disables the dropdown to keep rapid VIEW↔SHARE toggles from issuing
41
+ // overlapping writes that could settle out of order.
42
+ const [workspaceLevelSaving, setWorkspaceLevelSaving] = useState(false);
38
43
  // The backend access list, seeded into local state (rows, general access,
39
44
  // summary, the commit/picker primitives) lives in its own hook.
40
45
  const { targetKey, hasList, grantees, generalAccess, workspaceLevel, summary, status, loadError, commit, loadOptions, refForId, setGrantees, setGeneralAccess, setWorkspaceLevel, setKnownNames, } = useAccessList(target, onSaved);
@@ -63,11 +68,13 @@ export function useObjectShareController(target, options) {
63
68
  setSubview("main");
64
69
  setPendingGrantees([]);
65
70
  setPendingGeneralAccess(undefined);
71
+ setWorkspaceLevelSaving(false);
66
72
  }
67
73
  const reset = useCallback(() => {
68
74
  setSubview("main");
69
75
  setPendingGrantees([]);
70
76
  setPendingGeneralAccess(undefined);
77
+ setWorkspaceLevelSaving(false);
71
78
  }, []);
72
79
  const openAddGrantee = useCallback(() => {
73
80
  setSubview("addGrantee");
@@ -332,6 +339,13 @@ export function useObjectShareController(target, options) {
332
339
  setPendingGeneralAccess(undefined);
333
340
  return;
334
341
  }
342
+ // Don't toggle general access while a workspace-level re-grade is committing:
343
+ // the two write the same allWorkspaceUsers rule, so a late re-grade could land
344
+ // after this and leave the backend broader than the UI shows. The dialog also
345
+ // disables the radio in this window; this guards the controller directly.
346
+ if (workspaceLevelSaving) {
347
+ return;
348
+ }
335
349
  const startedFor = targetKey;
336
350
  const previous = generalAccess;
337
351
  const previousWorkspaceLevel = workspaceLevel;
@@ -379,6 +393,7 @@ export function useObjectShareController(target, options) {
379
393
  pendingGeneralAccess,
380
394
  generalAccess,
381
395
  workspaceLevel,
396
+ workspaceLevelSaving,
382
397
  targetKey,
383
398
  applyAccessChange,
384
399
  effectiveLabels,
@@ -386,6 +401,32 @@ export function useObjectShareController(target, options) {
386
401
  setGeneralAccess,
387
402
  setWorkspaceLevel,
388
403
  ]);
404
+ const changeWorkspaceLevel = useCallback(async (level) => {
405
+ // Only re-grade an already-granted workspace rule; ignore no-ops, calls made
406
+ // while access is restricted (no rule to re-grade), and re-entry while a
407
+ // previous re-grade is still in flight (would overlap writes).
408
+ if (generalAccess !== "WORKSPACE" || level === workspaceLevel || workspaceLevelSaving) {
409
+ return;
410
+ }
411
+ const startedFor = targetKey;
412
+ const previousLevel = workspaceLevel;
413
+ // Reflect the new level immediately and mark the write in flight, then commit
414
+ // it. Labels are untouched — they were already mirrored when workspace access
415
+ // was granted; this changes only the rule's permission grade.
416
+ setWorkspaceLevel(level);
417
+ setWorkspaceLevelSaving(true);
418
+ const ok = await commit([granularGranteeFor({ allWorkspaceUsers: true }, level)], objectShareMessages.toastGeneralAccessUpdated);
419
+ // Bail if the target switched mid-write — the workspace level now belongs to
420
+ // the other object, so neither keeping nor rolling back applies here. The
421
+ // saving flag is reset on the new target's seed, so don't touch it.
422
+ if (targetKeyRef.current !== startedFor) {
423
+ return;
424
+ }
425
+ if (!ok) {
426
+ setWorkspaceLevel(previousLevel);
427
+ }
428
+ setWorkspaceLevelSaving(false);
429
+ }, [generalAccess, workspaceLevel, workspaceLevelSaving, targetKey, commit, setWorkspaceLevel]);
389
430
  const actions = useMemo(() => ({
390
431
  reset,
391
432
  openAddGrantee,
@@ -399,6 +440,7 @@ export function useObjectShareController(target, options) {
399
440
  requestGeneralAccessChange,
400
441
  cancelGeneralAccessChange: () => setPendingGeneralAccess(undefined),
401
442
  confirmGeneralAccessChange,
443
+ changeWorkspaceLevel,
402
444
  }), [
403
445
  reset,
404
446
  openAddGrantee,
@@ -410,6 +452,7 @@ export function useObjectShareController(target, options) {
410
452
  changeGranteeLabels,
411
453
  requestGeneralAccessChange,
412
454
  confirmGeneralAccessChange,
455
+ changeWorkspaceLevel,
413
456
  ]);
414
457
  const state = useMemo(() => ({
415
458
  subview,
@@ -418,6 +461,11 @@ export function useObjectShareController(target, options) {
418
461
  summary,
419
462
  grantees,
420
463
  generalAccess,
464
+ // The workspace rule isn't granted while restricted, so its level is
465
+ // meaningless then — pin to VIEW so the (hidden) dropdown never shows a
466
+ // stale SHARE left over from a prior workspace grant.
467
+ workspaceLevel: generalAccess === "WORKSPACE" ? workspaceLevel : "VIEW",
468
+ workspaceLevelSaving,
421
469
  labels: effectiveLabels,
422
470
  labelsResolved,
423
471
  selectedLabelIdsByGrantee,
@@ -430,6 +478,8 @@ export function useObjectShareController(target, options) {
430
478
  summary,
431
479
  grantees,
432
480
  generalAccess,
481
+ workspaceLevel,
482
+ workspaceLevelSaving,
433
483
  effectiveLabels,
434
484
  labelsResolved,
435
485
  selectedLabelIdsByGrantee,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gooddata/sdk-ui-ext",
3
- "version": "11.43.0-alpha.4",
3
+ "version": "11.43.0",
4
4
  "description": "GoodData.UI SDK - Extensions",
5
5
  "license": "LicenseRef-LICENSE",
6
6
  "author": "GoodData Corporation",
@@ -48,7 +48,6 @@
48
48
  "date-fns": "4.1.0",
49
49
  "debounce-promise": "^3.1.2",
50
50
  "default-import": "1.1.5",
51
- "fixed-data-table-2": "2.0.22",
52
51
  "js-yaml": "^4.1.1",
53
52
  "json-stable-stringify": "1.3.0",
54
53
  "lodash-es": "^4.17.23",
@@ -64,20 +63,20 @@
64
63
  "ts-invariant": "0.10.3",
65
64
  "tslib": "2.8.1",
66
65
  "uuid": "11.1.1",
67
- "@gooddata/sdk-backend-base": "11.43.0-alpha.4",
68
- "@gooddata/sdk-embedding": "11.43.0-alpha.4",
69
- "@gooddata/sdk-model": "11.43.0-alpha.4",
70
- "@gooddata/sdk-backend-spi": "11.43.0-alpha.4",
71
- "@gooddata/sdk-ui": "11.43.0-alpha.4",
72
- "@gooddata/sdk-ui-charts": "11.43.0-alpha.4",
73
- "@gooddata/sdk-ui-filters": "11.43.0-alpha.4",
74
- "@gooddata/sdk-ui-geo": "11.43.0-alpha.4",
75
- "@gooddata/sdk-ui-kit": "11.43.0-alpha.4",
76
- "@gooddata/sdk-ui-semantic-search": "11.43.0-alpha.4",
77
- "@gooddata/sdk-ui-pivot": "11.43.0-alpha.4",
78
- "@gooddata/sdk-ui-theme-provider": "11.43.0-alpha.4",
79
- "@gooddata/sdk-ui-vis-commons": "11.43.0-alpha.4",
80
- "@gooddata/util": "11.43.0-alpha.4"
66
+ "@gooddata/sdk-backend-base": "11.43.0",
67
+ "@gooddata/sdk-backend-spi": "11.43.0",
68
+ "@gooddata/sdk-embedding": "11.43.0",
69
+ "@gooddata/sdk-model": "11.43.0",
70
+ "@gooddata/sdk-ui": "11.43.0",
71
+ "@gooddata/sdk-ui-charts": "11.43.0",
72
+ "@gooddata/sdk-ui-geo": "11.43.0",
73
+ "@gooddata/sdk-ui-kit": "11.43.0",
74
+ "@gooddata/sdk-ui-pivot": "11.43.0",
75
+ "@gooddata/sdk-ui-filters": "11.43.0",
76
+ "@gooddata/sdk-ui-semantic-search": "11.43.0",
77
+ "@gooddata/sdk-ui-theme-provider": "11.43.0",
78
+ "@gooddata/util": "11.43.0",
79
+ "@gooddata/sdk-ui-vis-commons": "11.43.0"
81
80
  },
82
81
  "devDependencies": {
83
82
  "@microsoft/api-documenter": "^7.17.0",
@@ -125,12 +124,12 @@
125
124
  "typescript": "5.9.3",
126
125
  "vitest": "4.1.8",
127
126
  "vitest-dom": "0.1.1",
128
- "@gooddata/eslint-config": "11.43.0-alpha.4",
129
- "@gooddata/i18n-toolkit": "11.43.0-alpha.4",
130
- "@gooddata/oxlint-config": "11.43.0-alpha.4",
131
- "@gooddata/sdk-backend-mockingbird": "11.43.0-alpha.4",
132
- "@gooddata/reference-workspace": "11.43.0-alpha.4",
133
- "@gooddata/stylelint-config": "11.43.0-alpha.4"
127
+ "@gooddata/eslint-config": "11.43.0",
128
+ "@gooddata/i18n-toolkit": "11.43.0",
129
+ "@gooddata/oxlint-config": "11.43.0",
130
+ "@gooddata/reference-workspace": "11.43.0",
131
+ "@gooddata/sdk-backend-mockingbird": "11.43.0",
132
+ "@gooddata/stylelint-config": "11.43.0"
134
133
  },
135
134
  "peerDependencies": {
136
135
  "react": "^18.0.0 || ^19.0.0",