@gooddata/sdk-ui 11.42.0-alpha.3 → 11.42.0-alpha.4

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 (85) hide show
  1. package/esm/base/localization/bundles/de-DE.localization-bundle.d.ts +5 -0
  2. package/esm/base/localization/bundles/de-DE.localization-bundle.d.ts.map +1 -1
  3. package/esm/base/localization/bundles/de-DE.localization-bundle.js +5 -0
  4. package/esm/base/localization/bundles/en-AU.localization-bundle.d.ts +5 -0
  5. package/esm/base/localization/bundles/en-AU.localization-bundle.d.ts.map +1 -1
  6. package/esm/base/localization/bundles/en-AU.localization-bundle.js +5 -0
  7. package/esm/base/localization/bundles/en-GB.localization-bundle.d.ts +5 -0
  8. package/esm/base/localization/bundles/en-GB.localization-bundle.d.ts.map +1 -1
  9. package/esm/base/localization/bundles/en-GB.localization-bundle.js +5 -0
  10. package/esm/base/localization/bundles/en-US.localization-bundle.d.ts +21 -5
  11. package/esm/base/localization/bundles/en-US.localization-bundle.d.ts.map +1 -1
  12. package/esm/base/localization/bundles/en-US.localization-bundle.js +32 -16
  13. package/esm/base/localization/bundles/es-419.localization-bundle.d.ts +5 -0
  14. package/esm/base/localization/bundles/es-419.localization-bundle.d.ts.map +1 -1
  15. package/esm/base/localization/bundles/es-419.localization-bundle.js +5 -0
  16. package/esm/base/localization/bundles/es-ES.localization-bundle.d.ts +5 -0
  17. package/esm/base/localization/bundles/es-ES.localization-bundle.d.ts.map +1 -1
  18. package/esm/base/localization/bundles/es-ES.localization-bundle.js +5 -0
  19. package/esm/base/localization/bundles/fi-FI.localization-bundle.d.ts +5 -0
  20. package/esm/base/localization/bundles/fi-FI.localization-bundle.d.ts.map +1 -1
  21. package/esm/base/localization/bundles/fi-FI.localization-bundle.js +5 -0
  22. package/esm/base/localization/bundles/fr-CA.localization-bundle.d.ts +5 -0
  23. package/esm/base/localization/bundles/fr-CA.localization-bundle.d.ts.map +1 -1
  24. package/esm/base/localization/bundles/fr-CA.localization-bundle.js +5 -0
  25. package/esm/base/localization/bundles/fr-FR.localization-bundle.d.ts +5 -0
  26. package/esm/base/localization/bundles/fr-FR.localization-bundle.d.ts.map +1 -1
  27. package/esm/base/localization/bundles/fr-FR.localization-bundle.js +5 -0
  28. package/esm/base/localization/bundles/id-ID.localization-bundle.d.ts +5 -0
  29. package/esm/base/localization/bundles/id-ID.localization-bundle.d.ts.map +1 -1
  30. package/esm/base/localization/bundles/id-ID.localization-bundle.js +5 -0
  31. package/esm/base/localization/bundles/it-IT.localization-bundle.d.ts +5 -0
  32. package/esm/base/localization/bundles/it-IT.localization-bundle.d.ts.map +1 -1
  33. package/esm/base/localization/bundles/it-IT.localization-bundle.js +5 -0
  34. package/esm/base/localization/bundles/ja-JP.localization-bundle.d.ts +5 -0
  35. package/esm/base/localization/bundles/ja-JP.localization-bundle.d.ts.map +1 -1
  36. package/esm/base/localization/bundles/ja-JP.localization-bundle.js +5 -0
  37. package/esm/base/localization/bundles/ko-KR.localization-bundle.d.ts +5 -0
  38. package/esm/base/localization/bundles/ko-KR.localization-bundle.d.ts.map +1 -1
  39. package/esm/base/localization/bundles/ko-KR.localization-bundle.js +5 -0
  40. package/esm/base/localization/bundles/nl-NL.localization-bundle.d.ts +5 -0
  41. package/esm/base/localization/bundles/nl-NL.localization-bundle.d.ts.map +1 -1
  42. package/esm/base/localization/bundles/nl-NL.localization-bundle.js +5 -0
  43. package/esm/base/localization/bundles/pl-PL.localization-bundle.d.ts +5 -0
  44. package/esm/base/localization/bundles/pl-PL.localization-bundle.d.ts.map +1 -1
  45. package/esm/base/localization/bundles/pl-PL.localization-bundle.js +5 -0
  46. package/esm/base/localization/bundles/pt-BR.localization-bundle.d.ts +5 -0
  47. package/esm/base/localization/bundles/pt-BR.localization-bundle.d.ts.map +1 -1
  48. package/esm/base/localization/bundles/pt-BR.localization-bundle.js +5 -0
  49. package/esm/base/localization/bundles/pt-PT.localization-bundle.d.ts +5 -0
  50. package/esm/base/localization/bundles/pt-PT.localization-bundle.d.ts.map +1 -1
  51. package/esm/base/localization/bundles/pt-PT.localization-bundle.js +5 -0
  52. package/esm/base/localization/bundles/ru-RU.localization-bundle.d.ts +5 -0
  53. package/esm/base/localization/bundles/ru-RU.localization-bundle.d.ts.map +1 -1
  54. package/esm/base/localization/bundles/ru-RU.localization-bundle.js +5 -0
  55. package/esm/base/localization/bundles/sl-SI.localization-bundle.d.ts +5 -0
  56. package/esm/base/localization/bundles/sl-SI.localization-bundle.d.ts.map +1 -1
  57. package/esm/base/localization/bundles/sl-SI.localization-bundle.js +5 -0
  58. package/esm/base/localization/bundles/th-TH.localization-bundle.d.ts +5 -0
  59. package/esm/base/localization/bundles/th-TH.localization-bundle.d.ts.map +1 -1
  60. package/esm/base/localization/bundles/th-TH.localization-bundle.js +5 -0
  61. package/esm/base/localization/bundles/tr-TR.localization-bundle.d.ts +5 -0
  62. package/esm/base/localization/bundles/tr-TR.localization-bundle.d.ts.map +1 -1
  63. package/esm/base/localization/bundles/tr-TR.localization-bundle.js +5 -0
  64. package/esm/base/localization/bundles/uk-UA.localization-bundle.d.ts +5 -0
  65. package/esm/base/localization/bundles/uk-UA.localization-bundle.d.ts.map +1 -1
  66. package/esm/base/localization/bundles/uk-UA.localization-bundle.js +5 -0
  67. package/esm/base/localization/bundles/vi-VN.localization-bundle.d.ts +5 -0
  68. package/esm/base/localization/bundles/vi-VN.localization-bundle.d.ts.map +1 -1
  69. package/esm/base/localization/bundles/vi-VN.localization-bundle.js +5 -0
  70. package/esm/base/localization/bundles/zh-HK.localization-bundle.d.ts +5 -0
  71. package/esm/base/localization/bundles/zh-HK.localization-bundle.d.ts.map +1 -1
  72. package/esm/base/localization/bundles/zh-HK.localization-bundle.js +5 -0
  73. package/esm/base/localization/bundles/zh-Hans.localization-bundle.d.ts +5 -0
  74. package/esm/base/localization/bundles/zh-Hans.localization-bundle.d.ts.map +1 -1
  75. package/esm/base/localization/bundles/zh-Hans.localization-bundle.js +5 -0
  76. package/esm/base/localization/bundles/zh-Hant.localization-bundle.d.ts +5 -0
  77. package/esm/base/localization/bundles/zh-Hant.localization-bundle.d.ts.map +1 -1
  78. package/esm/base/localization/bundles/zh-Hant.localization-bundle.js +5 -0
  79. package/esm/base/url/dashboardUrl.js +1 -1
  80. package/esm/execution/warningPartialResult/messages.d.ts +18 -6
  81. package/esm/execution/warningPartialResult/messages.d.ts.map +1 -1
  82. package/esm/execution/warningPartialResult/messages.js +12 -8
  83. package/esm/execution/warningPartialResult/partialDataWarning.d.ts.map +1 -1
  84. package/esm/execution/warningPartialResult/partialDataWarning.js +59 -61
  85. package/package.json +11 -11
@@ -3,6 +3,44 @@ import { executionResultLimitTypeToKind } from "@gooddata/sdk-model";
3
3
  import { messages } from "./messages.js";
4
4
  const COMPACT_FORMAT_THRESHOLD = 10000;
5
5
  const COMPACT_FORMATTING_OPTIONS = { style: "decimal", notation: "compact" };
6
+ // Canonical order in which limit break kinds appear in the combined messages.
7
+ const KIND_ORDER = ["columns", "cells", "rows"];
8
+ const VALUE_KEYS = {
9
+ columns: { limit: "columnLimit", overflow: "columnOverflow" },
10
+ cells: { limit: "cellLimit", overflow: "cellOverflow" },
11
+ rows: { limit: "rowLimit", overflow: "rowOverflow" },
12
+ };
13
+ // Maps the set of broken limit kinds (in canonical order, comma-joined) to its message pair.
14
+ const MESSAGES_BY_KINDS = {
15
+ columns: {
16
+ withOverflow: messages.columnsDescription,
17
+ unknownTotal: messages.columnsDescriptionUnknownTotal,
18
+ },
19
+ cells: {
20
+ withOverflow: messages.cellsDescription,
21
+ unknownTotal: messages.cellsDescriptionUnknownTotal,
22
+ },
23
+ rows: {
24
+ withOverflow: messages.rowsDescription,
25
+ unknownTotal: messages.rowsDescriptionUnknownTotal,
26
+ },
27
+ "columns,rows": {
28
+ withOverflow: messages.columnsRowsDescription,
29
+ unknownTotal: messages.columnsRowsDescriptionUnknownTotal,
30
+ },
31
+ "columns,cells": {
32
+ withOverflow: messages.columnsCellsDescription,
33
+ unknownTotal: messages.columnsCellsDescriptionUnknownTotal,
34
+ },
35
+ "cells,rows": {
36
+ withOverflow: messages.cellsRowsDescription,
37
+ unknownTotal: messages.cellsRowsDescriptionUnknownTotal,
38
+ },
39
+ "columns,cells,rows": {
40
+ withOverflow: messages.columnsCellsRowsDescription,
41
+ unknownTotal: messages.columnsCellsRowsDescriptionUnknownTotal,
42
+ },
43
+ };
6
44
  function getLimitBreakKind(limitBreak) {
7
45
  return executionResultLimitTypeToKind(limitBreak.limitType);
8
46
  }
@@ -30,72 +68,32 @@ function getLimitBreaksByKind(limitBreaks) {
30
68
  return result;
31
69
  }, {});
32
70
  }
33
- function getRowsAndColumnsDetailMessage(rowLimitBreak, columnLimitBreak, intl) {
34
- const values = {
35
- rowLimit: formatLimit(rowLimitBreak, intl),
36
- columnLimit: formatLimit(columnLimitBreak, intl),
37
- rowOverflow: formatOverflow(rowLimitBreak, intl),
38
- columnOverflow: formatOverflow(columnLimitBreak, intl),
39
- };
40
- if (values.rowOverflow && values.columnOverflow) {
41
- return { ...messages.rowsColumnsDescription, values };
42
- }
43
- if (values.rowOverflow) {
44
- return { ...messages.rowsColumnsDescriptionUnknownColumnTotal, values };
45
- }
46
- if (values.columnOverflow) {
47
- return { ...messages.rowsColumnsDescriptionUnknownRowTotal, values };
48
- }
49
- return { ...messages.rowsColumnsDescriptionUnknownTotal, values };
50
- }
51
- function getRowsDetailMessage(rowLimitBreak, intl) {
52
- const values = {
53
- rowLimit: formatLimit(rowLimitBreak, intl),
54
- rowOverflow: formatOverflow(rowLimitBreak, intl),
55
- };
56
- return {
57
- ...(values.rowOverflow ? messages.rowsDescription : messages.rowsDescriptionUnknownTotal),
58
- values,
59
- };
60
- }
61
- function getColumnsDetailMessage(columnLimitBreak, intl) {
62
- const values = {
63
- columnLimit: formatLimit(columnLimitBreak, intl),
64
- columnOverflow: formatOverflow(columnLimitBreak, intl),
65
- };
66
- return {
67
- ...(values.columnOverflow ? messages.columnsDescription : messages.columnsDescriptionUnknownTotal),
68
- values,
69
- };
70
- }
71
- function getCellsDetailMessage(cellLimitBreak, intl) {
72
- const values = {
73
- cellLimit: formatLimit(cellLimitBreak, intl),
74
- cellOverflow: formatOverflow(cellLimitBreak, intl),
75
- };
76
- return {
77
- ...(values.cellOverflow ? messages.cellsDescription : messages.cellsDescriptionUnknownTotal),
78
- values,
79
- };
71
+ function buildValues(byKind, presentKinds, intl) {
72
+ const values = {};
73
+ presentKinds.forEach((kind) => {
74
+ const limitBreak = byKind[kind];
75
+ const keys = VALUE_KEYS[kind];
76
+ values[keys.limit] = formatLimit(limitBreak, intl);
77
+ values[keys.overflow] = formatOverflow(limitBreak, intl);
78
+ });
79
+ return values;
80
80
  }
81
81
  /**
82
82
  * @internal
83
83
  */
84
84
  export function getPartialDataWarningMessage(limitBreaks, intl) {
85
85
  const byKind = getLimitBreaksByKind(limitBreaks);
86
- const rowLimitBreak = byKind.rows;
87
- const columnLimitBreak = byKind.columns;
88
- if (rowLimitBreak) {
89
- return columnLimitBreak
90
- ? getRowsAndColumnsDetailMessage(rowLimitBreak, columnLimitBreak, intl)
91
- : getRowsDetailMessage(rowLimitBreak, intl);
92
- }
93
- if (columnLimitBreak) {
94
- return getColumnsDetailMessage(columnLimitBreak, intl);
95
- }
96
- const cellLimitBreak = byKind.cells;
97
- if (cellLimitBreak) {
98
- return getCellsDetailMessage(cellLimitBreak, intl);
86
+ const presentKinds = KIND_ORDER.filter((kind) => byKind[kind]);
87
+ const messagePair = MESSAGES_BY_KINDS[presentKinds.join(",")];
88
+ if (!messagePair) {
89
+ return messages.description;
99
90
  }
100
- return messages.description;
91
+ const values = buildValues(byKind, presentKinds, intl);
92
+ // Overflow can only be rendered when it is known for every broken limit; otherwise the
93
+ // warning omits the exact amounts and falls back to the "unknown total" wording.
94
+ const allOverflowsKnown = presentKinds.every((kind) => values[VALUE_KEYS[kind].overflow] !== undefined);
95
+ return {
96
+ ...(allOverflowsKnown ? messagePair.withOverflow : messagePair.unknownTotal),
97
+ values,
98
+ };
101
99
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gooddata/sdk-ui",
3
- "version": "11.42.0-alpha.3",
3
+ "version": "11.42.0-alpha.4",
4
4
  "description": "GoodData.UI SDK - Core",
5
5
  "license": "MIT",
6
6
  "author": "GoodData Corporation",
@@ -42,9 +42,9 @@
42
42
  "ts-invariant": "0.10.3",
43
43
  "tslib": "2.8.1",
44
44
  "uuid": "11.1.1",
45
- "@gooddata/sdk-backend-spi": "11.42.0-alpha.3",
46
- "@gooddata/sdk-model": "11.42.0-alpha.3",
47
- "@gooddata/util": "11.42.0-alpha.3"
45
+ "@gooddata/sdk-backend-spi": "11.42.0-alpha.4",
46
+ "@gooddata/sdk-model": "11.42.0-alpha.4",
47
+ "@gooddata/util": "11.42.0-alpha.4"
48
48
  },
49
49
  "devDependencies": {
50
50
  "@microsoft/api-documenter": "^7.17.0",
@@ -87,13 +87,13 @@
87
87
  "typescript": "5.9.3",
88
88
  "vitest": "4.1.8",
89
89
  "vitest-dom": "0.1.1",
90
- "@gooddata/eslint-config": "11.42.0-alpha.3",
91
- "@gooddata/i18n-toolkit": "11.42.0-alpha.3",
92
- "@gooddata/oxlint-config": "11.42.0-alpha.3",
93
- "@gooddata/reference-workspace": "11.42.0-alpha.3",
94
- "@gooddata/sdk-backend-base": "11.42.0-alpha.3",
95
- "@gooddata/sdk-backend-mockingbird": "11.42.0-alpha.3",
96
- "@gooddata/stylelint-config": "11.42.0-alpha.3"
90
+ "@gooddata/eslint-config": "11.42.0-alpha.4",
91
+ "@gooddata/i18n-toolkit": "11.42.0-alpha.4",
92
+ "@gooddata/oxlint-config": "11.42.0-alpha.4",
93
+ "@gooddata/reference-workspace": "11.42.0-alpha.4",
94
+ "@gooddata/sdk-backend-base": "11.42.0-alpha.4",
95
+ "@gooddata/sdk-backend-mockingbird": "11.42.0-alpha.4",
96
+ "@gooddata/stylelint-config": "11.42.0-alpha.4"
97
97
  },
98
98
  "peerDependencies": {
99
99
  "react": "^18.0.0 || ^19.0.0",