@gooddata/sdk-ui 11.48.0-alpha.1 → 11.48.0-alpha.3

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 (91) hide show
  1. package/esm/base/localization/bundles/de-DE.localization-bundle.d.ts +2 -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 +3 -1
  4. package/esm/base/localization/bundles/en-AU.localization-bundle.d.ts +2 -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 +3 -1
  7. package/esm/base/localization/bundles/en-GB.localization-bundle.d.ts +2 -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 +3 -1
  10. package/esm/base/localization/bundles/es-419.localization-bundle.d.ts +2 -0
  11. package/esm/base/localization/bundles/es-419.localization-bundle.d.ts.map +1 -1
  12. package/esm/base/localization/bundles/es-419.localization-bundle.js +3 -1
  13. package/esm/base/localization/bundles/es-ES.localization-bundle.d.ts +2 -0
  14. package/esm/base/localization/bundles/es-ES.localization-bundle.d.ts.map +1 -1
  15. package/esm/base/localization/bundles/es-ES.localization-bundle.js +3 -1
  16. package/esm/base/localization/bundles/fi-FI.localization-bundle.d.ts +2 -0
  17. package/esm/base/localization/bundles/fi-FI.localization-bundle.d.ts.map +1 -1
  18. package/esm/base/localization/bundles/fi-FI.localization-bundle.js +3 -1
  19. package/esm/base/localization/bundles/fr-CA.localization-bundle.d.ts +2 -0
  20. package/esm/base/localization/bundles/fr-CA.localization-bundle.d.ts.map +1 -1
  21. package/esm/base/localization/bundles/fr-CA.localization-bundle.js +3 -1
  22. package/esm/base/localization/bundles/fr-FR.localization-bundle.d.ts +2 -0
  23. package/esm/base/localization/bundles/fr-FR.localization-bundle.d.ts.map +1 -1
  24. package/esm/base/localization/bundles/fr-FR.localization-bundle.js +3 -1
  25. package/esm/base/localization/bundles/id-ID.localization-bundle.d.ts +2 -0
  26. package/esm/base/localization/bundles/id-ID.localization-bundle.d.ts.map +1 -1
  27. package/esm/base/localization/bundles/id-ID.localization-bundle.js +3 -1
  28. package/esm/base/localization/bundles/it-IT.localization-bundle.d.ts +2 -0
  29. package/esm/base/localization/bundles/it-IT.localization-bundle.d.ts.map +1 -1
  30. package/esm/base/localization/bundles/it-IT.localization-bundle.js +3 -1
  31. package/esm/base/localization/bundles/ja-JP.localization-bundle.d.ts +2 -0
  32. package/esm/base/localization/bundles/ja-JP.localization-bundle.d.ts.map +1 -1
  33. package/esm/base/localization/bundles/ja-JP.localization-bundle.js +3 -1
  34. package/esm/base/localization/bundles/ko-KR.localization-bundle.d.ts +2 -0
  35. package/esm/base/localization/bundles/ko-KR.localization-bundle.d.ts.map +1 -1
  36. package/esm/base/localization/bundles/ko-KR.localization-bundle.js +3 -1
  37. package/esm/base/localization/bundles/nl-NL.localization-bundle.d.ts +2 -0
  38. package/esm/base/localization/bundles/nl-NL.localization-bundle.d.ts.map +1 -1
  39. package/esm/base/localization/bundles/nl-NL.localization-bundle.js +3 -1
  40. package/esm/base/localization/bundles/pl-PL.localization-bundle.d.ts +2 -0
  41. package/esm/base/localization/bundles/pl-PL.localization-bundle.d.ts.map +1 -1
  42. package/esm/base/localization/bundles/pl-PL.localization-bundle.js +3 -1
  43. package/esm/base/localization/bundles/pt-BR.localization-bundle.d.ts +2 -0
  44. package/esm/base/localization/bundles/pt-BR.localization-bundle.d.ts.map +1 -1
  45. package/esm/base/localization/bundles/pt-BR.localization-bundle.js +3 -1
  46. package/esm/base/localization/bundles/pt-PT.localization-bundle.d.ts +2 -0
  47. package/esm/base/localization/bundles/pt-PT.localization-bundle.d.ts.map +1 -1
  48. package/esm/base/localization/bundles/pt-PT.localization-bundle.js +3 -1
  49. package/esm/base/localization/bundles/ru-RU.localization-bundle.d.ts +2 -0
  50. package/esm/base/localization/bundles/ru-RU.localization-bundle.d.ts.map +1 -1
  51. package/esm/base/localization/bundles/ru-RU.localization-bundle.js +3 -1
  52. package/esm/base/localization/bundles/sl-SI.localization-bundle.d.ts +2 -0
  53. package/esm/base/localization/bundles/sl-SI.localization-bundle.d.ts.map +1 -1
  54. package/esm/base/localization/bundles/sl-SI.localization-bundle.js +3 -1
  55. package/esm/base/localization/bundles/th-TH.localization-bundle.d.ts +2 -0
  56. package/esm/base/localization/bundles/th-TH.localization-bundle.d.ts.map +1 -1
  57. package/esm/base/localization/bundles/th-TH.localization-bundle.js +3 -1
  58. package/esm/base/localization/bundles/tr-TR.localization-bundle.d.ts +2 -0
  59. package/esm/base/localization/bundles/tr-TR.localization-bundle.d.ts.map +1 -1
  60. package/esm/base/localization/bundles/tr-TR.localization-bundle.js +3 -1
  61. package/esm/base/localization/bundles/uk-UA.localization-bundle.d.ts +2 -0
  62. package/esm/base/localization/bundles/uk-UA.localization-bundle.d.ts.map +1 -1
  63. package/esm/base/localization/bundles/uk-UA.localization-bundle.js +3 -1
  64. package/esm/base/localization/bundles/vi-VN.localization-bundle.d.ts +2 -0
  65. package/esm/base/localization/bundles/vi-VN.localization-bundle.d.ts.map +1 -1
  66. package/esm/base/localization/bundles/vi-VN.localization-bundle.js +3 -1
  67. package/esm/base/localization/bundles/zh-HK.localization-bundle.d.ts +2 -0
  68. package/esm/base/localization/bundles/zh-HK.localization-bundle.d.ts.map +1 -1
  69. package/esm/base/localization/bundles/zh-HK.localization-bundle.js +3 -1
  70. package/esm/base/localization/bundles/zh-Hans.localization-bundle.d.ts +2 -0
  71. package/esm/base/localization/bundles/zh-Hans.localization-bundle.d.ts.map +1 -1
  72. package/esm/base/localization/bundles/zh-Hans.localization-bundle.js +3 -1
  73. package/esm/base/localization/bundles/zh-Hant.localization-bundle.d.ts +2 -0
  74. package/esm/base/localization/bundles/zh-Hant.localization-bundle.d.ts.map +1 -1
  75. package/esm/base/localization/bundles/zh-Hant.localization-bundle.js +3 -1
  76. package/esm/base/vis/createExportExecutionDefinition.d.ts +23 -1
  77. package/esm/base/vis/createExportExecutionDefinition.d.ts.map +1 -1
  78. package/esm/base/vis/createExportExecutionDefinition.js +72 -2
  79. package/esm/base/vis/export.d.ts.map +1 -1
  80. package/esm/base/vis/export.js +9 -0
  81. package/esm/base/vis/geoDataExport.d.ts +31 -0
  82. package/esm/base/vis/geoDataExport.d.ts.map +1 -1
  83. package/esm/base/vis/geoDataExport.js +106 -26
  84. package/esm/index.d.ts +1 -1
  85. package/esm/index.d.ts.map +1 -1
  86. package/esm/index.js +1 -1
  87. package/esm/internal.d.ts +1 -1
  88. package/esm/internal.d.ts.map +1 -1
  89. package/esm/internal.js +1 -1
  90. package/esm/sdk-ui.d.ts +33 -0
  91. package/package.json +11 -11
@@ -1,10 +1,79 @@
1
1
  // (C) 2026 GoodData Corporation
2
- import { defWithDimensions, defaultDimensionsGenerator, newDefForInsight, } from "@gooddata/sdk-model";
2
+ import { isEqual } from "lodash-es";
3
+ import { attributeLocalId, defWithDimensions, defaultDimensionsGenerator, isLocalIdRef, isMeasureValueFilter, isRankingFilter, localIdRef, measureLocalId, measureValueFilterDimensionality, measureValueFilterMeasure, mergeFilters, newDefForInsight, } from "@gooddata/sdk-model";
4
+ /**
5
+ * Mirrors the render-path routing (`routeLocalIdRefFiltersToLayers` in sdk-ui-ext): a measure
6
+ * value/ranking filter referencing local identifiers applies only to an execution that contains
7
+ * all of those local identifiers; all other filters pass through.
8
+ */
9
+ function createLocalIdFilterPredicate(definition) {
10
+ const attributeLocalIds = new Set(definition.attributes.map(attributeLocalId));
11
+ const measureLocalIds = new Set(definition.measures.map(measureLocalId));
12
+ return (filter) => {
13
+ if (isMeasureValueFilter(filter)) {
14
+ const measure = measureValueFilterMeasure(filter);
15
+ const dimensionality = measureValueFilterDimensionality(filter) ?? [];
16
+ const hasMissingMeasure = isLocalIdRef(measure) && !measureLocalIds.has(measure.localIdentifier);
17
+ const hasMissingDimensionality = dimensionality
18
+ .filter(isLocalIdRef)
19
+ .some((ref) => !attributeLocalIds.has(ref.localIdentifier));
20
+ return !hasMissingMeasure && !hasMissingDimensionality;
21
+ }
22
+ if (isRankingFilter(filter)) {
23
+ const { measure, attributes = [] } = filter.rankingFilter;
24
+ const hasMissingMeasure = isLocalIdRef(measure) && !measureLocalIds.has(measure.localIdentifier);
25
+ const hasMissingAttributes = attributes
26
+ .filter(isLocalIdRef)
27
+ .some((ref) => !attributeLocalIds.has(ref.localIdentifier));
28
+ return !hasMissingMeasure && !hasMissingAttributes;
29
+ }
30
+ return true;
31
+ };
32
+ }
33
+ function remapFilterAttributeLocalIds(filters, mapping) {
34
+ const remapRef = (ref) => isLocalIdRef(ref) && mapping[ref.localIdentifier] ? localIdRef(mapping[ref.localIdentifier]) : ref;
35
+ const needsRemap = (refs) => refs?.some((ref) => isLocalIdRef(ref) && mapping[ref.localIdentifier]) ?? false;
36
+ return filters.map((filter) => {
37
+ if (isMeasureValueFilter(filter)) {
38
+ const dimensionality = measureValueFilterDimensionality(filter);
39
+ if (dimensionality && needsRemap(dimensionality)) {
40
+ return {
41
+ measureValueFilter: {
42
+ ...filter.measureValueFilter,
43
+ dimensionality: dimensionality.map(remapRef),
44
+ },
45
+ };
46
+ }
47
+ }
48
+ if (isRankingFilter(filter)) {
49
+ const { attributes } = filter.rankingFilter;
50
+ if (attributes && needsRemap(attributes)) {
51
+ return {
52
+ rankingFilter: {
53
+ ...filter.rankingFilter,
54
+ attributes: attributes.map(remapRef),
55
+ },
56
+ };
57
+ }
58
+ }
59
+ return filter;
60
+ });
61
+ }
3
62
  /**
4
63
  * @internal
5
64
  */
6
- export function createExportExecutionDefinition(insight, workspace, baseExecutionDefinition) {
65
+ export function createExportExecutionDefinition(insight, workspace, baseExecutionDefinition, options) {
7
66
  const exportDefinitionTemplate = defWithDimensions(newDefForInsight(workspace, insight), defaultDimensionsGenerator);
67
+ const buildMergedFilters = () => {
68
+ const mergedFilters = mergeFilters(exportDefinitionTemplate.filters, baseExecutionDefinition.filters);
69
+ const remappedFilters = options?.attributeLocalIdMapping
70
+ ? remapFilterAttributeLocalIds(mergedFilters, options.attributeLocalIdMapping)
71
+ : mergedFilters;
72
+ // the insight and the base definition typically both carry the root insight's filters
73
+ // (mergeFilters concatenates attribute/ranking filters), so drop exact duplicates
74
+ const dedupedFilters = remappedFilters.filter((filter, index) => remappedFilters.findIndex((candidate) => isEqual(candidate, filter)) === index);
75
+ return dedupedFilters.filter(createLocalIdFilterPredicate(exportDefinitionTemplate));
76
+ };
8
77
  return {
9
78
  ...baseExecutionDefinition,
10
79
  buckets: exportDefinitionTemplate.buckets,
@@ -12,5 +81,6 @@ export function createExportExecutionDefinition(insight, workspace, baseExecutio
12
81
  measures: exportDefinitionTemplate.measures,
13
82
  sortBy: exportDefinitionTemplate.sortBy,
14
83
  dimensions: exportDefinitionTemplate.dimensions,
84
+ ...(options?.includeInsightFilters ? { filters: buildMergedFilters() } : {}),
15
85
  };
16
86
  }
@@ -1 +1 @@
1
- {"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../../src/base/vis/export.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,gBAAgB,EAA0C,MAAM,2BAA2B,CAAC;AAE1G,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEtE,OAAO,EAAE,KAAK,eAAe,EAA8B,MAAM,aAAa,CAAC;AAuC/E;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,gBAAgB,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,eAAe,CAKpG;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,gBAAgB,GAAG,eAAe,CAIlF"}
1
+ {"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../../src/base/vis/export.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,gBAAgB,EAA0C,MAAM,2BAA2B,CAAC;AAE1G,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEtE,OAAO,EAAE,KAAK,eAAe,EAA8B,MAAM,aAAa,CAAC;AAgD/E;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,gBAAgB,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,eAAe,CAKpG;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,gBAAgB,GAAG,eAAe,CAIlF"}
@@ -9,6 +9,15 @@ function buildExportRequestConfig(exportConfig, exportTitle) {
9
9
  title,
10
10
  delimiter,
11
11
  ...(grandTotalsPosition ? { grandTotalsPosition } : {}),
12
+ // layer titles become sheet/file names, so they need the same sanitization as the main title
13
+ ...(exportConfig.additionalExecutions
14
+ ? {
15
+ additionalExecutions: exportConfig.additionalExecutions.map((execution) => ({
16
+ ...execution,
17
+ ...(execution.title ? { title: escapeFileName(execution.title) } : {}),
18
+ })),
19
+ }
20
+ : {}),
12
21
  timeout,
13
22
  };
14
23
  if (includeFilterContext || showFilters) {
@@ -27,6 +27,37 @@ export declare function getGeoDefaultDisplayFormRefs(insight: IInsightDefinition
27
27
  * @internal
28
28
  */
29
29
  export declare function prepareGeoInsightForDataExport(insight: IInsightDefinition, options: IGeoDataExportPreparationOptions): IInsightDefinition | undefined;
30
+ /**
31
+ * A single geo layer prepared as a table insight for a multi-layer data export.
32
+ *
33
+ * @internal
34
+ */
35
+ export interface IGeoLayerExportInsight {
36
+ /** Stable id — "root" for the root layer, layer.id for additional layers. */
37
+ layerId: string;
38
+ /** Human-readable name used for the exported sheet or file. */
39
+ layerName: string;
40
+ /** The layer converted to a `local:table` insight definition. */
41
+ tableInsight: IInsightDefinition;
42
+ /**
43
+ * Maps original attribute local ids to their replacements in the table insight (the geo
44
+ * label is swapped for its default display form under a new local id). Callers use it to
45
+ * remap local-id filter references when building the layer's execution definition.
46
+ */
47
+ attributeLocalIdMapping?: Record<string, string>;
48
+ }
49
+ /**
50
+ * Decomposes a multi-layer geo insight into one table insight per layer for data export.
51
+ *
52
+ * @remarks
53
+ * Returns `undefined` when the insight is not a new-geo insight (flags off, non-geo, etc.).
54
+ * The returned array starts with the root layer, followed by the additional layers in their
55
+ * original order. Callers execute each layer and pass the results as export layers so the export
56
+ * ends up with one sheet (XLSX) or file (CSV zip) per layer.
57
+ *
58
+ * @internal
59
+ */
60
+ export declare function prepareGeoLayerInsightsForDataExport(insight: IInsightDefinition, options: IGeoDataExportPreparationOptions): IGeoLayerExportInsight[] | undefined;
30
61
  /**
31
62
  * @internal
32
63
  */
@@ -1 +1 @@
1
- {"version":3,"file":"geoDataExport.d.ts","sourceRoot":"","sources":["../../../src/base/vis/geoDataExport.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAC1E,OAAO,EAOH,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,SAAS,EACd,KAAK,MAAM,EAgBd,MAAM,qBAAqB,CAAC;AAO7B;;GAEG;AACH,MAAM,MAAM,yBAAyB,GAAG;IACpC,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,sBAAsB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChD,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,gCAAgC,GAAG;IAC3C,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,iBAAiB,EAAE,iBAAiB,EAAE,CAAC;IACvC,iCAAiC,CAAC,EAAE,wBAAwB,EAAE,CAAC;CAClE,CAAC;AAoKF;;GAEG;AACH,wBAAgB,0CAA0C,CACtD,cAAc,EAAE,MAAM,EACtB,iBAAiB,EAAE,iBAAiB,EAAE,EACtC,iCAAiC,CAAC,EAAE,wBAAwB,EAAE,GAC/D,MAAM,GAAG,SAAS,CAWpB;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CACxC,OAAO,EAAE,kBAAkB,EAC3B,QAAQ,EAAE,SAAS,GAAG,SAAS,EAC/B,iBAAiB,EAAE,iBAAiB,EAAE,EACtC,iCAAiC,CAAC,EAAE,wBAAwB,EAAE,GAC/D,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CA6BjC;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAC1C,OAAO,EAAE,kBAAkB,EAC3B,OAAO,EAAE,gCAAgC,GAC1C,kBAAkB,GAAG,SAAS,CAgBhC;AAED;;GAEG;AACH,wBAAgB,kCAAkC,CAC9C,OAAO,EAAE,kBAAkB,EAC3B,OAAO,GAAE,yBAA8B,GACxC,kBAAkB,GAAG,SAAS,CAuDhC"}
1
+ {"version":3,"file":"geoDataExport.d.ts","sourceRoot":"","sources":["../../../src/base/vis/geoDataExport.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAC1E,OAAO,EAOH,KAAK,iBAAiB,EAEtB,KAAK,kBAAkB,EACvB,KAAK,SAAS,EAEd,KAAK,MAAM,EAmBd,MAAM,qBAAqB,CAAC;AAO7B;;GAEG;AACH,MAAM,MAAM,yBAAyB,GAAG;IACpC,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,sBAAsB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChD,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,gCAAgC,GAAG;IAC3C,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,iBAAiB,EAAE,iBAAiB,EAAE,CAAC;IACvC,iCAAiC,CAAC,EAAE,wBAAwB,EAAE,CAAC;CAClE,CAAC;AAqKF;;GAEG;AACH,wBAAgB,0CAA0C,CACtD,cAAc,EAAE,MAAM,EACtB,iBAAiB,EAAE,iBAAiB,EAAE,EACtC,iCAAiC,CAAC,EAAE,wBAAwB,EAAE,GAC/D,MAAM,GAAG,SAAS,CAWpB;AA2BD;;GAEG;AACH,wBAAgB,4BAA4B,CACxC,OAAO,EAAE,kBAAkB,EAC3B,QAAQ,EAAE,SAAS,GAAG,SAAS,EAC/B,iBAAiB,EAAE,iBAAiB,EAAE,EACtC,iCAAiC,CAAC,EAAE,wBAAwB,EAAE,GAC/D,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAgBjC;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAC1C,OAAO,EAAE,kBAAkB,EAC3B,OAAO,EAAE,gCAAgC,GAC1C,kBAAkB,GAAG,SAAS,CAgBhC;AAED;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACnC,+EAA6E;IAC7E,OAAO,EAAE,MAAM,CAAC;IAChB,+DAA+D;IAC/D,SAAS,EAAE,MAAM,CAAC;IAClB,iEAAiE;IACjE,YAAY,EAAE,kBAAkB,CAAC;IACjC;;;;OAIG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oCAAoC,CAChD,OAAO,EAAE,kBAAkB,EAC3B,OAAO,EAAE,gCAAgC,GAC1C,sBAAsB,EAAE,GAAG,SAAS,CAoFtC;AAoED;;GAEG;AACH,wBAAgB,kCAAkC,CAC9C,OAAO,EAAE,kBAAkB,EAC3B,OAAO,GAAE,yBAA8B,GACxC,kBAAkB,GAAG,SAAS,CAUhC"}
@@ -1,11 +1,22 @@
1
1
  // (C) 2026 GoodData Corporation
2
- import { GeoLayerTypes, areObjRefsEqual, attributeAlias, attributeDisplayFormRef, attributeLocalId, bucketAttribute, bucketsFind, geoLayerTypeFromVisualizationType, insightBuckets, insightLayers, insightSorts, insightVisualizationType, isGeoLayerType, isMeasure, newAttribute, serializeObjRef, } from "@gooddata/sdk-model";
2
+ import { GeoLayerTypes, areObjRefsEqual, attributeAlias, attributeDisplayFormRef, attributeLocalId, bucketAttribute, bucketsFind, geoLayerTypeFromVisualizationType, insightBuckets, insightFilters, insightLayers, insightSorts, insightTitle, insightVisualizationType, isGeoLayerType, isMeasure, mergeFilters, newAttribute, serializeObjRef, } from "@gooddata/sdk-model";
3
3
  import { BucketNames } from "../constants/bucketNames.js";
4
4
  import { isGeoVisualizationUsingNewEngine } from "./isGeoVisualizationUsingNewEngine.js";
5
5
  import { VisualizationTypes } from "./visualizationTypes.js";
6
6
  function getGeoVisualizationType(layerType) {
7
7
  return layerType === GeoLayerTypes.AREA ? VisualizationTypes.CHOROPLETH : VisualizationTypes.PUSHPIN;
8
8
  }
9
+ /**
10
+ * Finds the bucket carrying the layer's primary geo attribute. Persisted pushpin layers may
11
+ * store explicit LATITUDE/LONGITUDE buckets instead of LOCATION (see `geoLayerToInsightLayer`
12
+ * in sdk-ui-geo) — in that case the latitude attribute is the effective location attribute.
13
+ */
14
+ function findGeoPrimaryBucket(layerType, buckets) {
15
+ if (layerType === GeoLayerTypes.AREA) {
16
+ return bucketsFind(buckets, BucketNames.AREA);
17
+ }
18
+ return bucketsFind(buckets, BucketNames.LOCATION) ?? bucketsFind(buckets, BucketNames.LATITUDE);
19
+ }
9
20
  function parseGeoLayerType(layerType) {
10
21
  return isGeoLayerType(layerType) ? layerType : undefined;
11
22
  }
@@ -78,13 +89,7 @@ function transformGeoBucketAttributeUsingDefaultDisplayForm(bucket, defaultDispl
78
89
  });
79
90
  }
80
91
  function resolveGeoPrimaryAttribute(layerType, buckets, options) {
81
- if (layerType === GeoLayerTypes.PUSHPIN) {
82
- return transformGeoBucketAttributeUsingDefaultDisplayForm(bucketsFind(buckets, BucketNames.LOCATION), options.defaultDisplayFormRefs, "table_default_label");
83
- }
84
- if (layerType === GeoLayerTypes.AREA) {
85
- return transformGeoBucketAttributeUsingDefaultDisplayForm(bucketsFind(buckets, BucketNames.AREA), options.defaultDisplayFormRefs, "table_default_label");
86
- }
87
- return undefined;
92
+ return transformGeoBucketAttributeUsingDefaultDisplayForm(findGeoPrimaryBucket(layerType, buckets), options.defaultDisplayFormRefs, "table_default_label");
88
93
  }
89
94
  function getGeoTableAttributes(layerType, buckets, options) {
90
95
  const primaryAttribute = resolveGeoPrimaryAttribute(layerType, buckets, options);
@@ -112,6 +117,19 @@ export function resolveDefaultDisplayFormRefForDisplayForm(displayFormRef, catal
112
117
  }
113
118
  return getDefaultDisplayFormRef(attribute.displayForms ?? []);
114
119
  }
120
+ function resolveLayerDefaultDisplayFormRefs(layerType, buckets, catalogAttributes, preloadedAttributesWithReferences) {
121
+ const geoBucket = findGeoPrimaryBucket(layerType, buckets);
122
+ const geoAttribute = geoBucket ? bucketAttribute(geoBucket) : undefined;
123
+ if (!geoAttribute) {
124
+ return undefined;
125
+ }
126
+ const geoDisplayFormRef = attributeDisplayFormRef(geoAttribute);
127
+ const defaultDisplayFormRef = resolveDefaultDisplayFormRefForDisplayForm(geoDisplayFormRef, catalogAttributes, preloadedAttributesWithReferences);
128
+ if (!defaultDisplayFormRef) {
129
+ return undefined;
130
+ }
131
+ return new Map([[serializeObjRef(geoDisplayFormRef), defaultDisplayFormRef]]);
132
+ }
115
133
  /**
116
134
  * @internal
117
135
  */
@@ -123,18 +141,7 @@ export function getGeoDefaultDisplayFormRefs(insight, settings, catalogAttribute
123
141
  if (!exportSource) {
124
142
  return undefined;
125
143
  }
126
- const bucketName = exportSource.layerType === GeoLayerTypes.AREA ? BucketNames.AREA : BucketNames.LOCATION;
127
- const geoBucket = bucketsFind(exportSource.buckets, bucketName);
128
- const geoAttribute = geoBucket ? bucketAttribute(geoBucket) : undefined;
129
- if (!geoAttribute) {
130
- return undefined;
131
- }
132
- const geoDisplayFormRef = attributeDisplayFormRef(geoAttribute);
133
- const defaultDisplayFormRef = resolveDefaultDisplayFormRefForDisplayForm(geoDisplayFormRef, catalogAttributes, preloadedAttributesWithReferences);
134
- if (!defaultDisplayFormRef) {
135
- return undefined;
136
- }
137
- return new Map([[serializeObjRef(geoDisplayFormRef), defaultDisplayFormRef]]);
144
+ return resolveLayerDefaultDisplayFormRefs(exportSource.layerType, exportSource.buckets, catalogAttributes, preloadedAttributesWithReferences);
138
145
  }
139
146
  /**
140
147
  * @internal
@@ -150,15 +157,75 @@ export function prepareGeoInsightForDataExport(insight, options) {
150
157
  });
151
158
  }
152
159
  /**
160
+ * Decomposes a multi-layer geo insight into one table insight per layer for data export.
161
+ *
162
+ * @remarks
163
+ * Returns `undefined` when the insight is not a new-geo insight (flags off, non-geo, etc.).
164
+ * The returned array starts with the root layer, followed by the additional layers in their
165
+ * original order. Callers execute each layer and pass the results as export layers so the export
166
+ * ends up with one sheet (XLSX) or file (CSV zip) per layer.
167
+ *
153
168
  * @internal
154
169
  */
155
- export function convertGeoInsightToTableDefinition(insight, options = {}) {
156
- const exportSource = getGeoInsightExportSource(insight);
157
- if (!exportSource ||
158
- !isGeoVisualizationUsingNewEngine(getGeoVisualizationType(exportSource.layerType), options.settings)) {
170
+ export function prepareGeoLayerInsightsForDataExport(insight, options) {
171
+ // Per-layer export has its own rollout flag on top of the geo a11y improvements rollout
172
+ // (which gates the multi-layer geo features, e.g. the layered table view).
173
+ if (!options.settings?.enableGeoLayersExport) {
174
+ return undefined;
175
+ }
176
+ if (!options.settings?.enableGeoChartA11yImprovements) {
177
+ return undefined;
178
+ }
179
+ if (!canPrepareGeoInsightForDataExport(insight, options.settings)) {
159
180
  return undefined;
160
181
  }
161
- const buckets = exportSource.buckets;
182
+ const rootLayerType = geoLayerTypeFromVisualizationType(insightVisualizationType(insight));
183
+ if (!rootLayerType) {
184
+ return undefined;
185
+ }
186
+ const buildEntry = (layerId, layerName, layerType, buckets, layerOverrides) => {
187
+ const defaultDisplayFormRefs = resolveLayerDefaultDisplayFormRefs(layerType, buckets, options.catalogAttributes, options.preloadedAttributesWithReferences);
188
+ const conversionOptions = { settings: options.settings, defaultDisplayFormRefs };
189
+ const tableInsight = buildGeoLayerTableInsight(insight, buckets, layerType, conversionOptions, layerOverrides);
190
+ if (!tableInsight) {
191
+ return undefined;
192
+ }
193
+ const geoBucket = findGeoPrimaryBucket(layerType, buckets);
194
+ const originalAttribute = geoBucket ? bucketAttribute(geoBucket) : undefined;
195
+ const transformedAttribute = resolveGeoPrimaryAttribute(layerType, buckets, conversionOptions);
196
+ const originalLocalId = originalAttribute ? attributeLocalId(originalAttribute) : undefined;
197
+ const transformedLocalId = transformedAttribute ? attributeLocalId(transformedAttribute) : undefined;
198
+ const attributeLocalIdMapping = originalLocalId && transformedLocalId && originalLocalId !== transformedLocalId
199
+ ? { [originalLocalId]: transformedLocalId }
200
+ : undefined;
201
+ return {
202
+ layerId,
203
+ layerName,
204
+ tableInsight,
205
+ ...(attributeLocalIdMapping ? { attributeLocalIdMapping } : {}),
206
+ };
207
+ };
208
+ const rootEntry = buildEntry("root", insightTitle(insight), rootLayerType, insightBuckets(insight));
209
+ if (!rootEntry) {
210
+ return undefined;
211
+ }
212
+ const layerEntries = insightLayers(insight).flatMap((layer) => {
213
+ if (!isGeoLayerType(layer.type)) {
214
+ return [];
215
+ }
216
+ const entry = buildEntry(layer.id, layer.name ?? layer.id, layer.type, layer.buckets, {
217
+ // Mirrors the render path: a layer combines its own filters with the root insight's
218
+ // (root wins date conflicts, same as global filters at render). Root measure/ranking
219
+ // filters bound to other layers' local ids are dropped later, when the layer's
220
+ // execution definition is created.
221
+ filters: mergeFilters(layer.filters ?? [], insightFilters(insight)),
222
+ sorts: layer.sorts,
223
+ });
224
+ return entry ? [entry] : [];
225
+ });
226
+ return [rootEntry, ...layerEntries];
227
+ }
228
+ function buildGeoLayerTableInsight(insight, buckets, layerType, options, layerOverrides) {
162
229
  const measureBucketIdentifiers = new Set([
163
230
  BucketNames.MEASURES,
164
231
  BucketNames.SIZE,
@@ -168,7 +235,7 @@ export function convertGeoInsightToTableDefinition(insight, options = {}) {
168
235
  const measures = buckets
169
236
  .filter((bucket) => measureBucketIdentifiers.has(bucket.localIdentifier ?? ""))
170
237
  .flatMap((bucket) => bucket.items.filter(isMeasure));
171
- const geoAttributes = getGeoTableAttributes(exportSource.layerType, buckets, options);
238
+ const geoAttributes = getGeoTableAttributes(layerType, buckets, options);
172
239
  if (!geoAttributes) {
173
240
  return undefined;
174
241
  }
@@ -184,6 +251,8 @@ export function convertGeoInsightToTableDefinition(insight, options = {}) {
184
251
  { localIdentifier: BucketNames.ATTRIBUTE, items: geoAttributes.rowAttributes },
185
252
  { localIdentifier: BucketNames.COLUMNS, items: geoAttributes.columnAttributes },
186
253
  ],
254
+ ...(layerOverrides?.filters ? { filters: layerOverrides.filters } : {}),
255
+ ...(layerOverrides?.sorts ? { sorts: layerOverrides.sorts } : {}),
187
256
  properties: onlyMeasures
188
257
  ? {
189
258
  controls: {
@@ -201,3 +270,14 @@ export function convertGeoInsightToTableDefinition(insight, options = {}) {
201
270
  },
202
271
  };
203
272
  }
273
+ /**
274
+ * @internal
275
+ */
276
+ export function convertGeoInsightToTableDefinition(insight, options = {}) {
277
+ const exportSource = getGeoInsightExportSource(insight);
278
+ if (!exportSource ||
279
+ !isGeoVisualizationUsingNewEngine(getGeoVisualizationType(exportSource.layerType), options.settings)) {
280
+ return undefined;
281
+ }
282
+ return buildGeoLayerTableInsight(insight, exportSource.buckets, exportSource.layerType, options);
283
+ }
package/esm/index.d.ts CHANGED
@@ -74,7 +74,7 @@ export { convertDrillableItemsToPredicates, isSomeHeaderPredicateMatched, getDri
74
74
  export { createExportFunction, createExportErrorFunction } from "./base/vis/export.js";
75
75
  export { type GeoDefaultDisplayFormRefResolver, type IGeoInsightExportNormalizationOptions, normalizeGeoInsightForRawExport, } from "./base/vis/geoExportNormalization.js";
76
76
  export { isGeoVisualizationUsingNewEngine } from "./base/vis/isGeoVisualizationUsingNewEngine.js";
77
- export { type GeoTableConversionOptions, type IGeoDataExportPreparationOptions, convertGeoInsightToTableDefinition, getGeoDefaultDisplayFormRefs, prepareGeoInsightForDataExport, resolveDefaultDisplayFormRefForDisplayForm, } from "./base/vis/geoDataExport.js";
77
+ export { type GeoTableConversionOptions, type IGeoDataExportPreparationOptions, type IGeoLayerExportInsight, convertGeoInsightToTableDefinition, getGeoDefaultDisplayFormRefs, prepareGeoInsightForDataExport, prepareGeoLayerInsightsForDataExport, resolveDefaultDisplayFormRefForDisplayForm, } from "./base/vis/geoDataExport.js";
78
78
  export { type VisualizationEnvironment, type ChartType, type VisType, type HeadlineElementType, type ChartElementType, type HeadlineType, type TableElementType, type TableType, type VisElementType, type XirrType, VisualizationTypes, getVisualizationType, } from "./base/vis/visualizationTypes.js";
79
79
  export type { Subtract } from "./base/typings/subtract.js";
80
80
  export { type OverTimeComparisonType, OverTimeComparisonTypes, } from "./base/interfaces/OverTimeComparison.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/esm/index.js CHANGED
@@ -78,7 +78,7 @@ export { convertDrillableItemsToPredicates, isSomeHeaderPredicateMatched, getDri
78
78
  export { createExportFunction, createExportErrorFunction } from "./base/vis/export.js";
79
79
  export { normalizeGeoInsightForRawExport, } from "./base/vis/geoExportNormalization.js";
80
80
  export { isGeoVisualizationUsingNewEngine } from "./base/vis/isGeoVisualizationUsingNewEngine.js";
81
- export { convertGeoInsightToTableDefinition, getGeoDefaultDisplayFormRefs, prepareGeoInsightForDataExport, resolveDefaultDisplayFormRefForDisplayForm, } from "./base/vis/geoDataExport.js";
81
+ export { convertGeoInsightToTableDefinition, getGeoDefaultDisplayFormRefs, prepareGeoInsightForDataExport, prepareGeoLayerInsightsForDataExport, resolveDefaultDisplayFormRefForDisplayForm, } from "./base/vis/geoDataExport.js";
82
82
  export { VisualizationTypes, getVisualizationType, } from "./base/vis/visualizationTypes.js";
83
83
  export { OverTimeComparisonTypes, } from "./base/interfaces/OverTimeComparison.js";
84
84
  // Results
package/esm/internal.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  export { useDebugEquality } from "./base/react/useDebugEquality.js";
2
2
  export { useDeepMemo } from "./base/react/useDeepMemo.js";
3
3
  export { useInitialProp } from "./base/react/useInitialProp.js";
4
- export { createExportExecutionDefinition } from "./base/vis/createExportExecutionDefinition.js";
4
+ export { type ICreateExportExecutionDefinitionOptions, createExportExecutionDefinition, } from "./base/vis/createExportExecutionDefinition.js";
5
5
  export { buildMeasureTitles } from "./base/measureTitles/fillMissingTitles.js";
6
6
  //# sourceMappingURL=internal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,+BAA+B,EAAE,MAAM,+CAA+C,CAAC;AAChG,OAAO,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC"}
1
+ {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EACH,KAAK,uCAAuC,EAC5C,+BAA+B,GAClC,MAAM,+CAA+C,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC"}
package/esm/internal.js CHANGED
@@ -3,5 +3,5 @@
3
3
  export { useDebugEquality } from "./base/react/useDebugEquality.js";
4
4
  export { useDeepMemo } from "./base/react/useDeepMemo.js";
5
5
  export { useInitialProp } from "./base/react/useInitialProp.js";
6
- export { createExportExecutionDefinition } from "./base/vis/createExportExecutionDefinition.js";
6
+ export { createExportExecutionDefinition, } from "./base/vis/createExportExecutionDefinition.js";
7
7
  export { buildMeasureTitles } from "./base/measureTitles/fillMissingTitles.js";
package/esm/sdk-ui.d.ts CHANGED
@@ -2752,6 +2752,26 @@ export declare type IGeoInsightExportNormalizationOptions = {
2752
2752
  resolveDefaultDisplayFormRef: GeoDefaultDisplayFormRefResolver;
2753
2753
  };
2754
2754
 
2755
+ /**
2756
+ * A single geo layer prepared as a table insight for a multi-layer data export.
2757
+ *
2758
+ * @internal
2759
+ */
2760
+ export declare interface IGeoLayerExportInsight {
2761
+ /** Stable id — "root" for the root layer, layer.id for additional layers. */
2762
+ layerId: string;
2763
+ /** Human-readable name used for the exported sheet or file. */
2764
+ layerName: string;
2765
+ /** The layer converted to a `local:table` insight definition. */
2766
+ tableInsight: IInsightDefinition;
2767
+ /**
2768
+ * Maps original attribute local ids to their replacements in the table insight (the geo
2769
+ * label is swapped for its default display form under a new local id). Callers use it to
2770
+ * remap local-id filter references when building the layer's execution definition.
2771
+ */
2772
+ attributeLocalIdMapping?: Record<string, string>;
2773
+ }
2774
+
2755
2775
  /**
2756
2776
  * This function ignores the titles of simple measures.
2757
2777
  *
@@ -5638,6 +5658,19 @@ export declare type PlaceholderValue<T> = T extends IPlaceholder<infer A> ? A :
5638
5658
  */
5639
5659
  export declare function prepareGeoInsightForDataExport(insight: IInsightDefinition, options: IGeoDataExportPreparationOptions): IInsightDefinition | undefined;
5640
5660
 
5661
+ /**
5662
+ * Decomposes a multi-layer geo insight into one table insight per layer for data export.
5663
+ *
5664
+ * @remarks
5665
+ * Returns `undefined` when the insight is not a new-geo insight (flags off, non-geo, etc.).
5666
+ * The returned array starts with the root layer, followed by the additional layers in their
5667
+ * original order. Callers execute each layer and pass the results as export layers so the export
5668
+ * ends up with one sheet (XLSX) or file (CSV zip) per layer.
5669
+ *
5670
+ * @internal
5671
+ */
5672
+ export declare function prepareGeoLayerInsightsForDataExport(insight: IInsightDefinition, options: IGeoDataExportPreparationOptions): IGeoLayerExportInsight[] | undefined;
5673
+
5641
5674
  /**
5642
5675
  * This error means that requested visualization is restricted by access rules.
5643
5676
  * Please contact your administrator.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gooddata/sdk-ui",
3
- "version": "11.48.0-alpha.1",
3
+ "version": "11.48.0-alpha.3",
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.48.0-alpha.1",
46
- "@gooddata/util": "11.48.0-alpha.1",
47
- "@gooddata/sdk-model": "11.48.0-alpha.1"
45
+ "@gooddata/sdk-backend-spi": "11.48.0-alpha.3",
46
+ "@gooddata/sdk-model": "11.48.0-alpha.3",
47
+ "@gooddata/util": "11.48.0-alpha.3"
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.48.0-alpha.1",
91
- "@gooddata/i18n-toolkit": "11.48.0-alpha.1",
92
- "@gooddata/oxlint-config": "11.48.0-alpha.1",
93
- "@gooddata/reference-workspace": "11.48.0-alpha.1",
94
- "@gooddata/sdk-backend-base": "11.48.0-alpha.1",
95
- "@gooddata/stylelint-config": "11.48.0-alpha.1",
96
- "@gooddata/sdk-backend-mockingbird": "11.48.0-alpha.1"
90
+ "@gooddata/eslint-config": "11.48.0-alpha.3",
91
+ "@gooddata/i18n-toolkit": "11.48.0-alpha.3",
92
+ "@gooddata/oxlint-config": "11.48.0-alpha.3",
93
+ "@gooddata/reference-workspace": "11.48.0-alpha.3",
94
+ "@gooddata/sdk-backend-base": "11.48.0-alpha.3",
95
+ "@gooddata/sdk-backend-mockingbird": "11.48.0-alpha.3",
96
+ "@gooddata/stylelint-config": "11.48.0-alpha.3"
97
97
  },
98
98
  "peerDependencies": {
99
99
  "react": "^18.0.0 || ^19.0.0",