@gooddata/sdk-ui-pivot 11.12.0-alpha.2 → 11.12.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 (174) hide show
  1. package/esm/index.d.ts +1 -1
  2. package/esm/index.d.ts.map +1 -1
  3. package/esm/index.js.map +1 -1
  4. package/esm/locales.d.ts.map +1 -1
  5. package/esm/locales.js +2 -0
  6. package/esm/locales.js.map +1 -1
  7. package/esm/next/PivotTableNext.d.ts.map +1 -1
  8. package/esm/next/PivotTableNext.js +27 -7
  9. package/esm/next/PivotTableNext.js.map +1 -1
  10. package/esm/next/PivotTableNextPluggable.d.ts.map +1 -1
  11. package/esm/next/PivotTableNextPluggable.js +1 -0
  12. package/esm/next/PivotTableNextPluggable.js.map +1 -1
  13. package/esm/next/components/AvoidResizeFlickering.d.ts +5 -1
  14. package/esm/next/components/AvoidResizeFlickering.d.ts.map +1 -1
  15. package/esm/next/components/AvoidResizeFlickering.js +12 -2
  16. package/esm/next/components/AvoidResizeFlickering.js.map +1 -1
  17. package/esm/next/components/Cell/AttributeCell.d.ts +1 -1
  18. package/esm/next/components/Cell/AttributeCell.d.ts.map +1 -1
  19. package/esm/next/components/Cell/AttributeCell.js.map +1 -1
  20. package/esm/next/components/Cell/MetricCell.d.ts +1 -1
  21. package/esm/next/components/Cell/MetricCell.d.ts.map +1 -1
  22. package/esm/next/components/Cell/MetricCell.js.map +1 -1
  23. package/esm/next/components/Cell/TransposedMetricCell.d.ts +1 -1
  24. package/esm/next/components/Cell/TransposedMetricCell.d.ts.map +1 -1
  25. package/esm/next/components/Cell/TransposedMetricCell.js.map +1 -1
  26. package/esm/next/components/Header/HeaderCell/HeaderMenu.d.ts.map +1 -1
  27. package/esm/next/components/Header/HeaderCell/HeaderMenu.js +2 -2
  28. package/esm/next/components/Header/HeaderCell/HeaderMenu.js.map +1 -1
  29. package/esm/next/components/Header/HeaderCell/HeaderMenuComponents.d.ts +1 -1
  30. package/esm/next/components/Header/HeaderCell/HeaderMenuComponents.d.ts.map +1 -1
  31. package/esm/next/components/Header/HeaderCell/HeaderMenuComponents.js +3 -3
  32. package/esm/next/components/Header/HeaderCell/HeaderMenuComponents.js.map +1 -1
  33. package/esm/next/components/Header/PivotGroupHeader.d.ts.map +1 -1
  34. package/esm/next/components/Header/PivotGroupHeader.js +4 -2
  35. package/esm/next/components/Header/PivotGroupHeader.js.map +1 -1
  36. package/esm/next/constants/agGridDefaultProps.d.ts.map +1 -1
  37. package/esm/next/constants/agGridDefaultProps.js +4 -1
  38. package/esm/next/constants/agGridDefaultProps.js.map +1 -1
  39. package/esm/next/context/ColumnDefsContext.d.ts.map +1 -1
  40. package/esm/next/context/ColumnDefsContext.js +5 -3
  41. package/esm/next/context/ColumnDefsContext.js.map +1 -1
  42. package/esm/next/context/DrillableItemsRefContext.d.ts +23 -0
  43. package/esm/next/context/DrillableItemsRefContext.d.ts.map +1 -0
  44. package/esm/next/context/DrillableItemsRefContext.js +33 -0
  45. package/esm/next/context/DrillableItemsRefContext.js.map +1 -0
  46. package/esm/next/context/RuntimeErrorContext.d.ts +13 -0
  47. package/esm/next/context/RuntimeErrorContext.d.ts.map +1 -0
  48. package/esm/next/context/RuntimeErrorContext.js +23 -0
  49. package/esm/next/context/RuntimeErrorContext.js.map +1 -0
  50. package/esm/next/context/TableReadyContext.d.ts +36 -0
  51. package/esm/next/context/TableReadyContext.d.ts.map +1 -0
  52. package/esm/next/context/TableReadyContext.js +59 -0
  53. package/esm/next/context/TableReadyContext.js.map +1 -0
  54. package/esm/next/features/columns/applyAllFeaturesToColDef.d.ts +3 -2
  55. package/esm/next/features/columns/applyAllFeaturesToColDef.d.ts.map +1 -1
  56. package/esm/next/features/columns/applyAllFeaturesToColDef.js +3 -3
  57. package/esm/next/features/columns/applyAllFeaturesToColDef.js.map +1 -1
  58. package/esm/next/features/columns/attributeColDef.d.ts +2 -2
  59. package/esm/next/features/columns/attributeColDef.d.ts.map +1 -1
  60. package/esm/next/features/columns/attributeColDef.js +2 -9
  61. package/esm/next/features/columns/attributeColDef.js.map +1 -1
  62. package/esm/next/features/columns/createColDef.d.ts +2 -2
  63. package/esm/next/features/columns/createColDef.d.ts.map +1 -1
  64. package/esm/next/features/columns/createColDef.js +7 -7
  65. package/esm/next/features/columns/createColDef.js.map +1 -1
  66. package/esm/next/features/columns/measureColDef.d.ts +2 -2
  67. package/esm/next/features/columns/measureColDef.d.ts.map +1 -1
  68. package/esm/next/features/columns/measureColDef.js +3 -9
  69. package/esm/next/features/columns/measureColDef.js.map +1 -1
  70. package/esm/next/features/data/createServerSideDataSource.d.ts +3 -2
  71. package/esm/next/features/data/createServerSideDataSource.d.ts.map +1 -1
  72. package/esm/next/features/data/createServerSideDataSource.js +15 -3
  73. package/esm/next/features/data/createServerSideDataSource.js.map +1 -1
  74. package/esm/next/features/data/dataViewToColDefs.d.ts +3 -2
  75. package/esm/next/features/data/dataViewToColDefs.d.ts.map +1 -1
  76. package/esm/next/features/data/dataViewToColDefs.js +3 -3
  77. package/esm/next/features/data/dataViewToColDefs.js.map +1 -1
  78. package/esm/next/features/drilling/applyCellRenderingToColDef.d.ts +15 -0
  79. package/esm/next/features/drilling/applyCellRenderingToColDef.d.ts.map +1 -0
  80. package/esm/next/features/drilling/applyCellRenderingToColDef.js +39 -0
  81. package/esm/next/features/drilling/applyCellRenderingToColDef.js.map +1 -0
  82. package/esm/next/features/pagination/utils.d.ts +29 -0
  83. package/esm/next/features/pagination/utils.d.ts.map +1 -0
  84. package/esm/next/features/pagination/utils.js +38 -0
  85. package/esm/next/features/pagination/utils.js.map +1 -0
  86. package/esm/next/features/styling/cell.d.ts +2 -23
  87. package/esm/next/features/styling/cell.d.ts.map +1 -1
  88. package/esm/next/features/styling/cell.js.map +1 -1
  89. package/esm/next/features/styling/icons.d.ts +2 -0
  90. package/esm/next/features/styling/icons.d.ts.map +1 -1
  91. package/esm/next/features/styling/icons.js +10 -0
  92. package/esm/next/features/styling/icons.js.map +1 -1
  93. package/esm/next/features/transposition/attributeHeaderColDef.d.ts +2 -2
  94. package/esm/next/features/transposition/attributeHeaderColDef.d.ts.map +1 -1
  95. package/esm/next/features/transposition/attributeHeaderColDef.js +3 -9
  96. package/esm/next/features/transposition/attributeHeaderColDef.js.map +1 -1
  97. package/esm/next/features/transposition/measureGroupValueColDef.d.ts +2 -2
  98. package/esm/next/features/transposition/measureGroupValueColDef.d.ts.map +1 -1
  99. package/esm/next/features/transposition/measureGroupValueColDef.js +3 -7
  100. package/esm/next/features/transposition/measureGroupValueColDef.js.map +1 -1
  101. package/esm/next/features/transposition/totalHeaderColDef.d.ts +2 -2
  102. package/esm/next/features/transposition/totalHeaderColDef.d.ts.map +1 -1
  103. package/esm/next/features/transposition/totalHeaderColDef.js +3 -7
  104. package/esm/next/features/transposition/totalHeaderColDef.js.map +1 -1
  105. package/esm/next/hooks/drilling/useSyncDrillableItems.d.ts +9 -0
  106. package/esm/next/hooks/drilling/useSyncDrillableItems.d.ts.map +1 -0
  107. package/esm/next/hooks/drilling/useSyncDrillableItems.js +27 -0
  108. package/esm/next/hooks/drilling/useSyncDrillableItems.js.map +1 -0
  109. package/esm/next/hooks/header/useHeaderGroupDrilling.d.ts.map +1 -1
  110. package/esm/next/hooks/header/useHeaderGroupDrilling.js +6 -0
  111. package/esm/next/hooks/header/useHeaderGroupDrilling.js.map +1 -1
  112. package/esm/next/hooks/init/useInitExecutionResult.d.ts.map +1 -1
  113. package/esm/next/hooks/init/useInitExecutionResult.js +3 -1
  114. package/esm/next/hooks/init/useInitExecutionResult.js.map +1 -1
  115. package/esm/next/hooks/resizing/useInitialAutoResizeVisibility.d.ts +9 -1
  116. package/esm/next/hooks/resizing/useInitialAutoResizeVisibility.d.ts.map +1 -1
  117. package/esm/next/hooks/resizing/useInitialAutoResizeVisibility.js +17 -5
  118. package/esm/next/hooks/resizing/useInitialAutoResizeVisibility.js.map +1 -1
  119. package/esm/next/hooks/useAfterRenderCallback.d.ts +3 -1
  120. package/esm/next/hooks/useAfterRenderCallback.d.ts.map +1 -1
  121. package/esm/next/hooks/useAfterRenderCallback.js +12 -14
  122. package/esm/next/hooks/useAfterRenderCallback.js.map +1 -1
  123. package/esm/next/hooks/useAgGridReactProps.d.ts.map +1 -1
  124. package/esm/next/hooks/useAgGridReactProps.js +8 -0
  125. package/esm/next/hooks/useAgGridReactProps.js.map +1 -1
  126. package/esm/next/hooks/useDataLoadingProps.d.ts.map +1 -1
  127. package/esm/next/hooks/useDataLoadingProps.js +35 -22
  128. package/esm/next/hooks/useDataLoadingProps.js.map +1 -1
  129. package/esm/next/hooks/useInteractionProps.d.ts.map +1 -1
  130. package/esm/next/hooks/useInteractionProps.js +3 -0
  131. package/esm/next/hooks/useInteractionProps.js.map +1 -1
  132. package/esm/next/hooks/useLocaleTextProps.d.ts +8 -0
  133. package/esm/next/hooks/useLocaleTextProps.d.ts.map +1 -0
  134. package/esm/next/hooks/useLocaleTextProps.js +25 -0
  135. package/esm/next/hooks/useLocaleTextProps.js.map +1 -0
  136. package/esm/next/hooks/usePaginationProps.d.ts +12 -0
  137. package/esm/next/hooks/usePaginationProps.d.ts.map +1 -0
  138. package/esm/next/hooks/usePaginationProps.js +30 -0
  139. package/esm/next/hooks/usePaginationProps.js.map +1 -0
  140. package/esm/next/hooks/useThemeProps.d.ts.map +1 -1
  141. package/esm/next/hooks/useThemeProps.js +7 -1
  142. package/esm/next/hooks/useThemeProps.js.map +1 -1
  143. package/esm/next/index.d.ts +1 -0
  144. package/esm/next/index.d.ts.map +1 -1
  145. package/esm/next/index.js.map +1 -1
  146. package/esm/next/testing/dataTestIdGenerators.d.ts +2 -2
  147. package/esm/next/testing/dataTestIdGenerators.d.ts.map +1 -1
  148. package/esm/next/testing/dataTestIdGenerators.js.map +1 -1
  149. package/esm/next/types/agGrid.d.ts +6 -0
  150. package/esm/next/types/agGrid.d.ts.map +1 -1
  151. package/esm/next/types/agGrid.js.map +1 -1
  152. package/esm/next/types/cellRendering.d.ts +38 -0
  153. package/esm/next/types/cellRendering.d.ts.map +1 -0
  154. package/esm/next/types/cellRendering.js +3 -0
  155. package/esm/next/types/cellRendering.js.map +1 -0
  156. package/esm/next/types/experimental.d.ts +6 -0
  157. package/esm/next/types/experimental.d.ts.map +1 -1
  158. package/esm/next/types/pagination.d.ts +29 -0
  159. package/esm/next/types/pagination.d.ts.map +1 -0
  160. package/esm/next/types/pagination.js +3 -0
  161. package/esm/next/types/pagination.js.map +1 -0
  162. package/esm/next/types/public.d.ts +2 -1
  163. package/esm/next/types/public.d.ts.map +1 -1
  164. package/esm/sdk-ui-pivot.d.ts +37 -1
  165. package/package.json +11 -11
  166. package/styles/css/main.css +64 -0
  167. package/styles/css/main.css.map +1 -1
  168. package/styles/css/pivotTableNext.css +64 -0
  169. package/styles/css/pivotTableNext.css.map +1 -1
  170. package/styles/scss/pivotTableNext.scss +82 -0
  171. package/esm/next/features/drilling/applyDrillsToColDef.d.ts +0 -9
  172. package/esm/next/features/drilling/applyDrillsToColDef.d.ts.map +0 -1
  173. package/esm/next/features/drilling/applyDrillsToColDef.js +0 -23
  174. package/esm/next/features/drilling/applyDrillsToColDef.js.map +0 -1
@@ -0,0 +1,23 @@
1
+ import { ReactNode, RefObject } from "react";
2
+ import { ExplicitDrill } from "@gooddata/sdk-ui";
3
+ type IDrillableItemsRefContext = RefObject<ExplicitDrill[]>;
4
+ /**
5
+ * Provides a stable ref to drillableItems that can be read from ag-grid callbacks
6
+ * without causing column definition recreation when drillableItems change.
7
+ *
8
+ * WHY REF: drillableItems changes during dashboard init ([] → populated).
9
+ * If drillableItems were in useMemo deps for columnDefs, columnDefs would recreate,
10
+ * causing DataSource recreation. For tables with initial sort, this triggers
11
+ * double execution due to ag-grid's SSRM quirk.
12
+ *
13
+ * @internal
14
+ */
15
+ export declare function DrillableItemsRefProvider({ children }: {
16
+ children: ReactNode;
17
+ }): import("react/jsx-runtime").JSX.Element;
18
+ /**
19
+ * @internal
20
+ */
21
+ export declare function useDrillableItemsRef(): IDrillableItemsRefContext;
22
+ export {};
23
+ //# sourceMappingURL=DrillableItemsRefContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DrillableItemsRefContext.d.ts","sourceRoot":"","sources":["../../../src/next/context/DrillableItemsRefContext.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAqC,MAAM,OAAO,CAAC;AAEhF,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAIjD,KAAK,yBAAyB,GAAG,SAAS,CAAC,aAAa,EAAE,CAAC,CAAC;AAI5D;;;;;;;;;;GAUG;AACH,wBAAgB,yBAAyB,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,2CAU9E;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,yBAAyB,CAQhE"}
@@ -0,0 +1,33 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ // (C) 2025 GoodData Corporation
3
+ import { createContext, useContext, useRef } from "react";
4
+ import { usePivotTableProps } from "./PivotTablePropsContext.js";
5
+ const DrillableItemsRefContext = createContext(undefined);
6
+ /**
7
+ * Provides a stable ref to drillableItems that can be read from ag-grid callbacks
8
+ * without causing column definition recreation when drillableItems change.
9
+ *
10
+ * WHY REF: drillableItems changes during dashboard init ([] → populated).
11
+ * If drillableItems were in useMemo deps for columnDefs, columnDefs would recreate,
12
+ * causing DataSource recreation. For tables with initial sort, this triggers
13
+ * double execution due to ag-grid's SSRM quirk.
14
+ *
15
+ * @internal
16
+ */
17
+ export function DrillableItemsRefProvider({ children }) {
18
+ const { drillableItems } = usePivotTableProps();
19
+ const drillableItemsRef = useRef(drillableItems);
20
+ drillableItemsRef.current = drillableItems;
21
+ return (_jsx(DrillableItemsRefContext.Provider, { value: drillableItemsRef, children: children }));
22
+ }
23
+ /**
24
+ * @internal
25
+ */
26
+ export function useDrillableItemsRef() {
27
+ const context = useContext(DrillableItemsRefContext);
28
+ if (context === undefined) {
29
+ throw new Error("useDrillableItemsRef must be used within a DrillableItemsRefProvider");
30
+ }
31
+ return context;
32
+ }
33
+ //# sourceMappingURL=DrillableItemsRefContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DrillableItemsRefContext.js","sourceRoot":"","sources":["../../../src/next/context/DrillableItemsRefContext.tsx"],"names":[],"mappings":";AAAA,gCAAgC;AAEhC,OAAO,EAAwB,aAAa,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAIhF,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAIjE,MAAM,wBAAwB,GAAG,aAAa,CAAwC,SAAS,CAAC,CAAC;AAEjG;;;;;;;;;;GAUG;AACH,MAAM,UAAU,yBAAyB,CAAC,EAAE,QAAQ,EAA2B;IAC3E,MAAM,EAAE,cAAc,EAAE,GAAG,kBAAkB,EAAE,CAAC;IAChD,MAAM,iBAAiB,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;IACjD,iBAAiB,CAAC,OAAO,GAAG,cAAc,CAAC;IAE3C,OAAO,CACH,KAAC,wBAAwB,CAAC,QAAQ,IAAC,KAAK,EAAE,iBAAiB,YACtD,QAAQ,GACuB,CACvC,CAAC;AACN,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB;IAChC,MAAM,OAAO,GAAG,UAAU,CAAC,wBAAwB,CAAC,CAAC;IAErD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;IAC5F,CAAC;IAED,OAAO,OAAO,CAAC;AACnB,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { ReactNode } from "react";
2
+ import { GoodDataSdkError } from "@gooddata/sdk-ui";
3
+ interface IRuntimeErrorContext {
4
+ runtimeError: GoodDataSdkError | undefined;
5
+ setRuntimeError: (error: GoodDataSdkError | undefined) => void;
6
+ }
7
+ interface IRuntimeErrorProviderProps {
8
+ children: ReactNode;
9
+ }
10
+ export declare function RuntimeErrorProvider({ children }: IRuntimeErrorProviderProps): import("react/jsx-runtime").JSX.Element;
11
+ export declare function useRuntimeError(): IRuntimeErrorContext;
12
+ export {};
13
+ //# sourceMappingURL=RuntimeErrorContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RuntimeErrorContext.d.ts","sourceRoot":"","sources":["../../../src/next/context/RuntimeErrorContext.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAA6D,MAAM,OAAO,CAAC;AAE7F,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,UAAU,oBAAoB;IAC1B,YAAY,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAC3C,eAAe,EAAE,CAAC,KAAK,EAAE,gBAAgB,GAAG,SAAS,KAAK,IAAI,CAAC;CAClE;AAID,UAAU,0BAA0B;IAChC,QAAQ,EAAE,SAAS,CAAC;CACvB;AAED,wBAAgB,oBAAoB,CAAC,EAAE,QAAQ,EAAE,EAAE,0BAA0B,2CAgB5E;AAED,wBAAgB,eAAe,IAAI,oBAAoB,CAQtD"}
@@ -0,0 +1,23 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ // (C) 2025 GoodData Corporation
3
+ import { createContext, useCallback, useContext, useMemo, useState } from "react";
4
+ const RuntimeErrorContext = createContext(undefined);
5
+ export function RuntimeErrorProvider({ children }) {
6
+ const [runtimeError, setRuntimeErrorState] = useState(undefined);
7
+ const setRuntimeError = useCallback((error) => {
8
+ setRuntimeErrorState(error);
9
+ }, []);
10
+ const value = useMemo(() => ({
11
+ runtimeError,
12
+ setRuntimeError,
13
+ }), [runtimeError, setRuntimeError]);
14
+ return _jsx(RuntimeErrorContext.Provider, { value: value, children: children });
15
+ }
16
+ export function useRuntimeError() {
17
+ const context = useContext(RuntimeErrorContext);
18
+ if (!context) {
19
+ throw new Error("useRuntimeError must be used within RuntimeErrorProvider");
20
+ }
21
+ return context;
22
+ }
23
+ //# sourceMappingURL=RuntimeErrorContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RuntimeErrorContext.js","sourceRoot":"","sources":["../../../src/next/context/RuntimeErrorContext.tsx"],"names":[],"mappings":";AAAA,gCAAgC;AAEhC,OAAO,EAAa,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAS7F,MAAM,mBAAmB,GAAG,aAAa,CAAmC,SAAS,CAAC,CAAC;AAMvF,MAAM,UAAU,oBAAoB,CAAC,EAAE,QAAQ,EAA8B;IACzE,MAAM,CAAC,YAAY,EAAE,oBAAoB,CAAC,GAAG,QAAQ,CAA+B,SAAS,CAAC,CAAC;IAE/F,MAAM,eAAe,GAAG,WAAW,CAAC,CAAC,KAAmC,EAAE,EAAE;QACxE,oBAAoB,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,KAAK,GAAG,OAAO,CACjB,GAAG,EAAE,CAAC,CAAC;QACH,YAAY;QACZ,eAAe;KAClB,CAAC,EACF,CAAC,YAAY,EAAE,eAAe,CAAC,CAClC,CAAC;IAEF,OAAO,KAAC,mBAAmB,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YAAG,QAAQ,GAAgC,CAAC;AACjG,CAAC;AAED,MAAM,UAAU,eAAe;IAC3B,MAAM,OAAO,GAAG,UAAU,CAAC,mBAAmB,CAAC,CAAC;IAEhD,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAChF,CAAC;IAED,OAAO,OAAO,CAAC;AACnB,CAAC"}
@@ -0,0 +1,36 @@
1
+ import { ReactNode } from "react";
2
+ interface ITableReadyContext {
3
+ /**
4
+ * Call when AG Grid fires onFirstDataRendered.
5
+ * Will trigger afterRender if visibility is also ready.
6
+ */
7
+ onFirstDataRendered: () => void;
8
+ /**
9
+ * Call when visibility becomes ready (resize calculations complete).
10
+ * Will trigger afterRender if first data is also rendered.
11
+ */
12
+ onVisibilityReady: () => void;
13
+ }
14
+ /**
15
+ * @internal
16
+ */
17
+ export interface ITableReadyProviderProps {
18
+ children: ReactNode;
19
+ }
20
+ /**
21
+ * Provider that coordinates afterRender timing.
22
+ * Calls afterRender when BOTH conditions are met:
23
+ * - AG Grid has rendered first data (onFirstDataRendered)
24
+ * - Visibility is ready (onVisibilityReady)
25
+ *
26
+ * Uses refs to avoid state/effect anti-patterns.
27
+ *
28
+ * @internal
29
+ */
30
+ export declare function TableReadyProvider({ children }: ITableReadyProviderProps): import("react/jsx-runtime").JSX.Element;
31
+ /**
32
+ * @internal
33
+ */
34
+ export declare function useTableReady(): ITableReadyContext;
35
+ export {};
36
+ //# sourceMappingURL=TableReadyContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableReadyContext.d.ts","sourceRoot":"","sources":["../../../src/next/context/TableReadyContext.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAkD,MAAM,OAAO,CAAC;AAIlF,UAAU,kBAAkB;IACxB;;;OAGG;IACH,mBAAmB,EAAE,MAAM,IAAI,CAAC;IAChC;;;OAGG;IACH,iBAAiB,EAAE,MAAM,IAAI,CAAC;CACjC;AAID;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACrC,QAAQ,EAAE,SAAS,CAAC;CACvB;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,QAAQ,EAAE,EAAE,wBAAwB,2CA4CxE;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,kBAAkB,CAMlD"}
@@ -0,0 +1,59 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ // (C) 2025 GoodData Corporation
3
+ import { createContext, useCallback, useContext, useRef } from "react";
4
+ import { usePivotTableProps } from "./PivotTablePropsContext.js";
5
+ const TableReadyContext = createContext(undefined);
6
+ /**
7
+ * Provider that coordinates afterRender timing.
8
+ * Calls afterRender when BOTH conditions are met:
9
+ * - AG Grid has rendered first data (onFirstDataRendered)
10
+ * - Visibility is ready (onVisibilityReady)
11
+ *
12
+ * Uses refs to avoid state/effect anti-patterns.
13
+ *
14
+ * @internal
15
+ */
16
+ export function TableReadyProvider({ children }) {
17
+ const { afterRender, execution } = usePivotTableProps();
18
+ const firstDataRenderedRef = useRef(false);
19
+ const visibilityReadyRef = useRef(false);
20
+ const afterRenderCalledRef = useRef(false);
21
+ const lastExecutionFingerprintRef = useRef(null);
22
+ // Check if execution changed and reset refs
23
+ const currentFingerprint = execution.fingerprint();
24
+ if (lastExecutionFingerprintRef.current !== currentFingerprint) {
25
+ lastExecutionFingerprintRef.current = currentFingerprint;
26
+ firstDataRenderedRef.current = false;
27
+ visibilityReadyRef.current = false;
28
+ afterRenderCalledRef.current = false;
29
+ }
30
+ const tryCallAfterRender = useCallback(() => {
31
+ if (firstDataRenderedRef.current &&
32
+ visibilityReadyRef.current &&
33
+ !afterRenderCalledRef.current &&
34
+ afterRender) {
35
+ afterRenderCalledRef.current = true;
36
+ afterRender();
37
+ }
38
+ }, [afterRender]);
39
+ const onFirstDataRendered = useCallback(() => {
40
+ firstDataRenderedRef.current = true;
41
+ tryCallAfterRender();
42
+ }, [tryCallAfterRender]);
43
+ const onVisibilityReady = useCallback(() => {
44
+ visibilityReadyRef.current = true;
45
+ tryCallAfterRender();
46
+ }, [tryCallAfterRender]);
47
+ return (_jsx(TableReadyContext.Provider, { value: { onFirstDataRendered, onVisibilityReady }, children: children }));
48
+ }
49
+ /**
50
+ * @internal
51
+ */
52
+ export function useTableReady() {
53
+ const context = useContext(TableReadyContext);
54
+ if (!context) {
55
+ throw new Error("useTableReady must be used within TableReadyProvider");
56
+ }
57
+ return context;
58
+ }
59
+ //# sourceMappingURL=TableReadyContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableReadyContext.js","sourceRoot":"","sources":["../../../src/next/context/TableReadyContext.tsx"],"names":[],"mappings":";AAAA,gCAAgC;AAEhC,OAAO,EAAa,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAElF,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAejE,MAAM,iBAAiB,GAAG,aAAa,CAAiC,SAAS,CAAC,CAAC;AASnF;;;;;;;;;GASG;AACH,MAAM,UAAU,kBAAkB,CAAC,EAAE,QAAQ,EAA4B;IACrE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,kBAAkB,EAAE,CAAC;IAExD,MAAM,oBAAoB,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,kBAAkB,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACzC,MAAM,oBAAoB,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,2BAA2B,GAAG,MAAM,CAAgB,IAAI,CAAC,CAAC;IAEhE,4CAA4C;IAC5C,MAAM,kBAAkB,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;IACnD,IAAI,2BAA2B,CAAC,OAAO,KAAK,kBAAkB,EAAE,CAAC;QAC7D,2BAA2B,CAAC,OAAO,GAAG,kBAAkB,CAAC;QACzD,oBAAoB,CAAC,OAAO,GAAG,KAAK,CAAC;QACrC,kBAAkB,CAAC,OAAO,GAAG,KAAK,CAAC;QACnC,oBAAoB,CAAC,OAAO,GAAG,KAAK,CAAC;IACzC,CAAC;IAED,MAAM,kBAAkB,GAAG,WAAW,CAAC,GAAG,EAAE;QACxC,IACI,oBAAoB,CAAC,OAAO;YAC5B,kBAAkB,CAAC,OAAO;YAC1B,CAAC,oBAAoB,CAAC,OAAO;YAC7B,WAAW,EACb,CAAC;YACC,oBAAoB,CAAC,OAAO,GAAG,IAAI,CAAC;YACpC,WAAW,EAAE,CAAC;QAClB,CAAC;IACL,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,MAAM,mBAAmB,GAAG,WAAW,CAAC,GAAG,EAAE;QACzC,oBAAoB,CAAC,OAAO,GAAG,IAAI,CAAC;QACpC,kBAAkB,EAAE,CAAC;IACzB,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAEzB,MAAM,iBAAiB,GAAG,WAAW,CAAC,GAAG,EAAE;QACvC,kBAAkB,CAAC,OAAO,GAAG,IAAI,CAAC;QAClC,kBAAkB,EAAE,CAAC;IACzB,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAEzB,OAAO,CACH,KAAC,iBAAiB,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,YACxE,QAAQ,GACgB,CAChC,CAAC;AACN,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa;IACzB,MAAM,OAAO,GAAG,UAAU,CAAC,iBAAiB,CAAC,CAAC;IAC9C,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,OAAO,CAAC;AACnB,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { RefObject } from "react";
1
2
  import { ISortItem } from "@gooddata/sdk-model";
2
3
  import { DataViewFacade, ExplicitDrill } from "@gooddata/sdk-ui";
3
4
  import { AgGridColumnDef } from "../../types/agGrid.js";
@@ -8,11 +9,11 @@ import { ITextWrapping } from "../../types/textWrapping.js";
8
9
  *
9
10
  * @internal
10
11
  */
11
- export declare const applyAllFeaturesToColDef: ({ columnWidths, sortBy, textWrapping, drillableItems, dataViewFacade, }: {
12
+ export declare const applyAllFeaturesToColDef: ({ columnWidths, sortBy, textWrapping, drillableItemsRef, dataViewFacade, }: {
12
13
  columnWidths: ColumnWidthItem[];
13
14
  sortBy: ISortItem[];
14
15
  textWrapping: ITextWrapping;
15
- drillableItems: ExplicitDrill[];
16
+ drillableItemsRef: RefObject<ExplicitDrill[]>;
16
17
  dataViewFacade?: DataViewFacade;
17
18
  }) => (colDef: AgGridColumnDef) => AgGridColumnDef;
18
19
  //# sourceMappingURL=applyAllFeaturesToColDef.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"applyAllFeaturesToColDef.d.ts","sourceRoot":"","sources":["../../../../src/next/features/columns/applyAllFeaturesToColDef.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAM5D;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,GAChC,yEAME;IACC,YAAY,EAAE,eAAe,EAAE,CAAC;IAChC,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,YAAY,EAAE,aAAa,CAAC;IAC5B,cAAc,EAAE,aAAa,EAAE,CAAC;IAChC,cAAc,CAAC,EAAE,cAAc,CAAC;CACnC,MACA,QAAQ,eAAe,KAAG,eAO1B,CAAC"}
1
+ {"version":3,"file":"applyAllFeaturesToColDef.d.ts","sourceRoot":"","sources":["../../../../src/next/features/columns/applyAllFeaturesToColDef.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAM5D;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,GAChC,4EAME;IACC,YAAY,EAAE,eAAe,EAAE,CAAC;IAChC,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,YAAY,EAAE,aAAa,CAAC;IAC5B,iBAAiB,EAAE,SAAS,CAAC,aAAa,EAAE,CAAC,CAAC;IAC9C,cAAc,CAAC,EAAE,cAAc,CAAC;CACnC,MACA,QAAQ,eAAe,KAAG,eAO1B,CAAC"}
@@ -1,5 +1,5 @@
1
1
  // (C) 2024-2025 GoodData Corporation
2
- import { applyDrillsToColDef } from "../drilling/applyDrillsToColDef.js";
2
+ import { applyCellRenderingToColDef } from "../drilling/applyCellRenderingToColDef.js";
3
3
  import { applyColumnWidthsToColDef } from "../resizing/applyColumnWidthsToColDef.js";
4
4
  import { applySortByToColDef } from "../sorting/applySortByToColDef.js";
5
5
  import { applyTextWrappingToColDef } from "../textWrapping/applyTextWrappingToColDef.js";
@@ -8,11 +8,11 @@ import { applyTextWrappingToColDef } from "../textWrapping/applyTextWrappingToCo
8
8
  *
9
9
  * @internal
10
10
  */
11
- export const applyAllFeaturesToColDef = ({ columnWidths, sortBy, textWrapping, drillableItems, dataViewFacade, }) => (colDef) => {
11
+ export const applyAllFeaturesToColDef = ({ columnWidths, sortBy, textWrapping, drillableItemsRef, dataViewFacade, }) => (colDef) => {
12
12
  return [
13
13
  applyColumnWidthsToColDef(columnWidths),
14
14
  applySortByToColDef(sortBy),
15
- applyDrillsToColDef(drillableItems, dataViewFacade),
15
+ applyCellRenderingToColDef(drillableItemsRef, dataViewFacade),
16
16
  applyTextWrappingToColDef(textWrapping),
17
17
  ].reduce((acc, fn) => fn(acc), colDef);
18
18
  };
@@ -1 +1 @@
1
- {"version":3,"file":"applyAllFeaturesToColDef.js","sourceRoot":"","sources":["../../../../src/next/features/columns/applyAllFeaturesToColDef.ts"],"names":[],"mappings":"AAAA,qCAAqC;AAQrC,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAC;AACrF,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,yBAAyB,EAAE,MAAM,8CAA8C,CAAC;AAEzF;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GACjC,CAAC,EACG,YAAY,EACZ,MAAM,EACN,YAAY,EACZ,cAAc,EACd,cAAc,GAOjB,EAAE,EAAE,CACL,CAAC,MAAuB,EAAmB,EAAE;IACzC,OAAO;QACH,yBAAyB,CAAC,YAAY,CAAC;QACvC,mBAAmB,CAAC,MAAM,CAAC;QAC3B,mBAAmB,CAAC,cAAc,EAAE,cAAc,CAAC;QACnD,yBAAyB,CAAC,YAAY,CAAC;KAC1C,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;AAC3C,CAAC,CAAC"}
1
+ {"version":3,"file":"applyAllFeaturesToColDef.js","sourceRoot":"","sources":["../../../../src/next/features/columns/applyAllFeaturesToColDef.ts"],"names":[],"mappings":"AAAA,qCAAqC;AAUrC,OAAO,EAAE,0BAA0B,EAAE,MAAM,2CAA2C,CAAC;AACvF,OAAO,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAC;AACrF,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,yBAAyB,EAAE,MAAM,8CAA8C,CAAC;AAEzF;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GACjC,CAAC,EACG,YAAY,EACZ,MAAM,EACN,YAAY,EACZ,iBAAiB,EACjB,cAAc,GAOjB,EAAE,EAAE,CACL,CAAC,MAAuB,EAAmB,EAAE;IACzC,OAAO;QACH,yBAAyB,CAAC,YAAY,CAAC;QACvC,mBAAmB,CAAC,MAAM,CAAC;QAC3B,0BAA0B,CAAC,iBAAiB,EAAE,cAAc,CAAC;QAC7D,yBAAyB,CAAC,YAAY,CAAC;KAC1C,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;AAC3C,CAAC,CAAC"}
@@ -1,10 +1,10 @@
1
1
  import { IntlShape } from "react-intl";
2
- import { DataViewFacade, ExplicitDrill, ITableAttributeColumnDefinition } from "@gooddata/sdk-ui";
2
+ import { ITableAttributeColumnDefinition } from "@gooddata/sdk-ui";
3
3
  import { AgGridColumnDef } from "../../types/agGrid.js";
4
4
  /**
5
5
  * Creates col def for row attribute.
6
6
  *
7
7
  * @internal
8
8
  */
9
- export declare function createAttributeColDef(colId: string, columnDefinition: ITableAttributeColumnDefinition, intl: IntlShape, drillableItems?: ExplicitDrill[], dv?: DataViewFacade): AgGridColumnDef;
9
+ export declare function createAttributeColDef(colId: string, columnDefinition: ITableAttributeColumnDefinition, intl: IntlShape): AgGridColumnDef;
10
10
  //# sourceMappingURL=attributeColDef.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"attributeColDef.d.ts","sourceRoot":"","sources":["../../../../src/next/features/columns/attributeColDef.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,+BAA+B,EAAE,MAAM,kBAAkB,CAAC;AAIlG,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAIxD;;;;GAIG;AACH,wBAAgB,qBAAqB,CACjC,KAAK,EAAE,MAAM,EACb,gBAAgB,EAAE,+BAA+B,EACjD,IAAI,EAAE,SAAS,EACf,cAAc,CAAC,EAAE,aAAa,EAAE,EAChC,EAAE,CAAC,EAAE,cAAc,GACpB,eAAe,CAuBjB"}
1
+ {"version":3,"file":"attributeColDef.d.ts","sourceRoot":"","sources":["../../../../src/next/features/columns/attributeColDef.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,+BAA+B,EAAE,MAAM,kBAAkB,CAAC;AAInE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGxD;;;;GAIG;AACH,wBAAgB,qBAAqB,CACjC,KAAK,EAAE,MAAM,EACb,gBAAgB,EAAE,+BAA+B,EACjD,IAAI,EAAE,SAAS,GAChB,eAAe,CAkBjB"}
@@ -2,31 +2,24 @@
2
2
  import { extractIntlFormattedValue } from "./shared.js";
3
3
  import { AttributeCell } from "../../components/Cell/AttributeCell.js";
4
4
  import { HEADER_CELL_CLASSNAME } from "../styling/bem.js";
5
- import { getCellClassName, getCellTypes } from "../styling/cell.js";
6
5
  /**
7
6
  * Creates col def for row attribute.
8
7
  *
9
8
  * @internal
10
9
  */
11
- export function createAttributeColDef(colId, columnDefinition, intl, drillableItems, dv) {
10
+ export function createAttributeColDef(colId, columnDefinition, intl) {
12
11
  const { attributeDescriptor } = columnDefinition;
13
12
  return {
14
13
  colId,
15
14
  field: `cellDataByColId.${colId}.formattedValue`,
16
15
  headerName: attributeDescriptor.attributeHeader.formOf.name,
17
16
  headerClass: HEADER_CELL_CLASSNAME,
18
- cellClass: (params) => {
19
- return getCellClassName(params, drillableItems, dv);
20
- },
21
17
  valueGetter: (params) => {
22
18
  return extractIntlFormattedValue(params, colId, intl);
23
19
  },
24
20
  context: {
25
21
  columnDefinition,
26
- },
27
- cellRenderer: (params) => {
28
- const cellTypes = getCellTypes(params, drillableItems, dv);
29
- return AttributeCell({ ...params, intl, colId, columnDefinition, cellTypes });
22
+ cellRendererFactory: (params, cellTypes) => AttributeCell({ ...params, intl, colId, columnDefinition, cellTypes }),
30
23
  },
31
24
  headerComponent: "AttributeHeader",
32
25
  };
@@ -1 +1 @@
1
- {"version":3,"file":"attributeColDef.js","sourceRoot":"","sources":["../../../../src/next/features/columns/attributeColDef.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAOhC,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAEvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEpE;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CACjC,KAAa,EACb,gBAAiD,EACjD,IAAe,EACf,cAAgC,EAChC,EAAmB;IAEnB,MAAM,EAAE,mBAAmB,EAAE,GAAG,gBAAgB,CAAC;IAEjD,OAAO;QACH,KAAK;QACL,KAAK,EAAE,mBAAmB,KAAK,iBAAiB;QAChD,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI;QAC3D,WAAW,EAAE,qBAAqB;QAClC,SAAS,EAAE,CAAC,MAAM,EAAE,EAAE;YAClB,OAAO,gBAAgB,CAAC,MAAM,EAAE,cAAc,EAAE,EAAE,CAAC,CAAC;QACxD,CAAC;QACD,WAAW,EAAE,CAAC,MAAM,EAAE,EAAE;YACpB,OAAO,yBAAyB,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAC1D,CAAC;QACD,OAAO,EAAE;YACL,gBAAgB;SACnB;QACD,YAAY,EAAE,CAAC,MAA2B,EAAE,EAAE;YAC1C,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,EAAE,cAAc,EAAE,EAAE,CAAC,CAAC;YAC3D,OAAO,aAAa,CAAC,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,CAAC,CAAC;QAClF,CAAC;QACD,eAAe,EAAE,iBAAiB;KACrC,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"attributeColDef.js","sourceRoot":"","sources":["../../../../src/next/features/columns/attributeColDef.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAMhC,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAEvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE1D;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CACjC,KAAa,EACb,gBAAiD,EACjD,IAAe;IAEf,MAAM,EAAE,mBAAmB,EAAE,GAAG,gBAAgB,CAAC;IAEjD,OAAO;QACH,KAAK;QACL,KAAK,EAAE,mBAAmB,KAAK,iBAAiB;QAChD,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI;QAC3D,WAAW,EAAE,qBAAqB;QAClC,WAAW,EAAE,CAAC,MAAM,EAAE,EAAE;YACpB,OAAO,yBAAyB,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAC1D,CAAC;QACD,OAAO,EAAE;YACL,gBAAgB;YAChB,mBAAmB,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,CACvC,aAAa,CAAC,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,CAAC;SAC7E;QACD,eAAe,EAAE,iBAAiB;KACrC,CAAC;AACN,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { IntlShape } from "react-intl";
2
- import { DataViewFacade, ExplicitDrill, ITableColumnDefinition } from "@gooddata/sdk-ui";
2
+ import { DataViewFacade, ITableColumnDefinition } from "@gooddata/sdk-ui";
3
3
  import { AgGridColumnDef } from "../../types/agGrid.js";
4
4
  import { ColumnHeadersPosition } from "../../types/transposition.js";
5
5
  /**
@@ -7,5 +7,5 @@ import { ColumnHeadersPosition } from "../../types/transposition.js";
7
7
  *
8
8
  * @internal
9
9
  */
10
- export declare function createColDef(columnDefinition: ITableColumnDefinition, columnHeadersPosition: ColumnHeadersPosition, intl: IntlShape, drillableItems?: ExplicitDrill[], dv?: DataViewFacade): AgGridColumnDef;
10
+ export declare function createColDef(columnDefinition: ITableColumnDefinition, columnHeadersPosition: ColumnHeadersPosition, intl: IntlShape, dv?: DataViewFacade): AgGridColumnDef;
11
11
  //# sourceMappingURL=createColDef.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createColDef.d.ts","sourceRoot":"","sources":["../../../../src/next/features/columns/createColDef.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAGvC,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,sBAAsB,EAAsB,MAAM,kBAAkB,CAAC;AAK7G,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAMrE;;;;GAIG;AACH,wBAAgB,YAAY,CACxB,gBAAgB,EAAE,sBAAsB,EACxC,qBAAqB,EAAE,qBAAqB,EAC5C,IAAI,EAAE,SAAS,EACf,cAAc,CAAC,EAAE,aAAa,EAAE,EAChC,EAAE,CAAC,EAAE,cAAc,GACpB,eAAe,CAgCjB"}
1
+ {"version":3,"file":"createColDef.d.ts","sourceRoot":"","sources":["../../../../src/next/features/columns/createColDef.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAGvC,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAsB,MAAM,kBAAkB,CAAC;AAK9F,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAMrE;;;;GAIG;AACH,wBAAgB,YAAY,CACxB,gBAAgB,EAAE,sBAAsB,EACxC,qBAAqB,EAAE,qBAAqB,EAC5C,IAAI,EAAE,SAAS,EACf,EAAE,CAAC,EAAE,cAAc,GACpB,eAAe,CAgCjB"}
@@ -13,28 +13,28 @@ import { createTotalHeaderColDef } from "../transposition/totalHeaderColDef.js";
13
13
  *
14
14
  * @internal
15
15
  */
16
- export function createColDef(columnDefinition, columnHeadersPosition, intl, drillableItems, dv) {
16
+ export function createColDef(columnDefinition, columnHeadersPosition, intl, dv) {
17
17
  const colId = columnDefinitionToColId(columnDefinition, columnHeadersPosition);
18
18
  switch (columnDefinition.type) {
19
19
  case "attribute":
20
- return createAttributeColDef(colId, columnDefinition, intl, drillableItems, dv);
20
+ return createAttributeColDef(colId, columnDefinition, intl);
21
21
  case "value":
22
22
  if (columnDefinition.isTransposed || columnDefinition.isEmpty) {
23
- return createAttributeHeaderColDef(colId, columnDefinition, intl, drillableItems, dv);
23
+ return createAttributeHeaderColDef(colId, columnDefinition, intl, dv);
24
24
  }
25
- return createMeasureColDef(colId, columnDefinition, drillableItems, dv);
25
+ return createMeasureColDef(colId, columnDefinition);
26
26
  case "subtotal":
27
27
  case "grandTotal": {
28
28
  if (columnDefinition.isTransposed) {
29
- return createTotalHeaderColDef(colId, columnDefinition, intl, drillableItems, dv);
29
+ return createTotalHeaderColDef(colId, columnDefinition, intl);
30
30
  }
31
- return createMeasureColDef(colId, columnDefinition, drillableItems, dv);
31
+ return createMeasureColDef(colId, columnDefinition);
32
32
  }
33
33
  case "measureGroupHeader": {
34
34
  return createMeasureGroupHeaderColDef(colId, columnDefinition, columnHeadersPosition);
35
35
  }
36
36
  case "measureGroupValue":
37
- return createMeasureGroupValueColDef(columnDefinition, drillableItems, dv);
37
+ return createMeasureGroupValueColDef(columnDefinition);
38
38
  default:
39
39
  assertNever(columnDefinition);
40
40
  throw new UnexpectedSdkError(`Cannot create col def for column definition: ${JSON.stringify(columnDefinition)}`);
@@ -1 +1 @@
1
- {"version":3,"file":"createColDef.js","sourceRoot":"","sources":["../../../../src/next/features/columns/createColDef.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAIhC,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAyD,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE7G,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAGzD,OAAO,EAAE,2BAA2B,EAAE,MAAM,2CAA2C,CAAC;AACxF,OAAO,EAAE,8BAA8B,EAAE,MAAM,8CAA8C,CAAC;AAC9F,OAAO,EAAE,6BAA6B,EAAE,MAAM,6CAA6C,CAAC;AAC5F,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAEhF;;;;GAIG;AACH,MAAM,UAAU,YAAY,CACxB,gBAAwC,EACxC,qBAA4C,EAC5C,IAAe,EACf,cAAgC,EAChC,EAAmB;IAEnB,MAAM,KAAK,GAAG,uBAAuB,CAAC,gBAAgB,EAAE,qBAAqB,CAAC,CAAC;IAE/E,QAAQ,gBAAgB,CAAC,IAAI,EAAE,CAAC;QAC5B,KAAK,WAAW;YACZ,OAAO,qBAAqB,CAAC,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,CAAC,CAAC;QACpF,KAAK,OAAO;YACR,IAAI,gBAAgB,CAAC,YAAY,IAAI,gBAAgB,CAAC,OAAO,EAAE,CAAC;gBAC5D,OAAO,2BAA2B,CAAC,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,CAAC,CAAC;YAC1F,CAAC;YAED,OAAO,mBAAmB,CAAC,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,EAAE,CAAC,CAAC;QAE5E,KAAK,UAAU,CAAC;QAChB,KAAK,YAAY,CAAC,CAAC,CAAC;YAChB,IAAI,gBAAgB,CAAC,YAAY,EAAE,CAAC;gBAChC,OAAO,uBAAuB,CAAC,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,CAAC,CAAC;YACtF,CAAC;YAED,OAAO,mBAAmB,CAAC,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,EAAE,CAAC,CAAC;QAC5E,CAAC;QACD,KAAK,oBAAoB,CAAC,CAAC,CAAC;YACxB,OAAO,8BAA8B,CAAC,KAAK,EAAE,gBAAgB,EAAE,qBAAqB,CAAC,CAAC;QAC1F,CAAC;QACD,KAAK,mBAAmB;YACpB,OAAO,6BAA6B,CAAC,gBAAgB,EAAE,cAAc,EAAE,EAAE,CAAC,CAAC;QAC/E;YACI,WAAW,CAAC,gBAAgB,CAAC,CAAC;YAC9B,MAAM,IAAI,kBAAkB,CACxB,gDAAgD,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAE,CACrF,CAAC;IACV,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"createColDef.js","sourceRoot":"","sources":["../../../../src/next/features/columns/createColDef.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAIhC,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAA0C,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE9F,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAGzD,OAAO,EAAE,2BAA2B,EAAE,MAAM,2CAA2C,CAAC;AACxF,OAAO,EAAE,8BAA8B,EAAE,MAAM,8CAA8C,CAAC;AAC9F,OAAO,EAAE,6BAA6B,EAAE,MAAM,6CAA6C,CAAC;AAC5F,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAEhF;;;;GAIG;AACH,MAAM,UAAU,YAAY,CACxB,gBAAwC,EACxC,qBAA4C,EAC5C,IAAe,EACf,EAAmB;IAEnB,MAAM,KAAK,GAAG,uBAAuB,CAAC,gBAAgB,EAAE,qBAAqB,CAAC,CAAC;IAE/E,QAAQ,gBAAgB,CAAC,IAAI,EAAE,CAAC;QAC5B,KAAK,WAAW;YACZ,OAAO,qBAAqB,CAAC,KAAK,EAAE,gBAAgB,EAAE,IAAI,CAAC,CAAC;QAChE,KAAK,OAAO;YACR,IAAI,gBAAgB,CAAC,YAAY,IAAI,gBAAgB,CAAC,OAAO,EAAE,CAAC;gBAC5D,OAAO,2BAA2B,CAAC,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;YAC1E,CAAC;YAED,OAAO,mBAAmB,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;QAExD,KAAK,UAAU,CAAC;QAChB,KAAK,YAAY,CAAC,CAAC,CAAC;YAChB,IAAI,gBAAgB,CAAC,YAAY,EAAE,CAAC;gBAChC,OAAO,uBAAuB,CAAC,KAAK,EAAE,gBAAgB,EAAE,IAAI,CAAC,CAAC;YAClE,CAAC;YAED,OAAO,mBAAmB,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;QACxD,CAAC;QACD,KAAK,oBAAoB,CAAC,CAAC,CAAC;YACxB,OAAO,8BAA8B,CAAC,KAAK,EAAE,gBAAgB,EAAE,qBAAqB,CAAC,CAAC;QAC1F,CAAC;QACD,KAAK,mBAAmB;YACpB,OAAO,6BAA6B,CAAC,gBAAgB,CAAC,CAAC;QAC3D;YACI,WAAW,CAAC,gBAAgB,CAAC,CAAC;YAC9B,MAAM,IAAI,kBAAkB,CACxB,gDAAgD,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAE,CACrF,CAAC;IACV,CAAC;AACL,CAAC"}
@@ -1,4 +1,4 @@
1
- import { DataViewFacade, ExplicitDrill, ITableGrandTotalColumnDefinition, ITableSubtotalColumnDefinition, ITableValueColumnDefinition } from "@gooddata/sdk-ui";
1
+ import { ITableGrandTotalColumnDefinition, ITableSubtotalColumnDefinition, ITableValueColumnDefinition } from "@gooddata/sdk-ui";
2
2
  import { AgGridColumnDef } from "../../types/agGrid.js";
3
3
  /**
4
4
  * Creates {@link AgGridColumnDef} for specified column definition {@link ITableValueColumnDefinition},
@@ -9,5 +9,5 @@ import { AgGridColumnDef } from "../../types/agGrid.js";
9
9
  export declare function createMeasureColDef(colId: string, columnDefinition: (ITableValueColumnDefinition | ITableSubtotalColumnDefinition | ITableGrandTotalColumnDefinition) & {
10
10
  isTransposed: false;
11
11
  isEmpty: false;
12
- }, drillableItems?: ExplicitDrill[], dv?: DataViewFacade): AgGridColumnDef;
12
+ }): AgGridColumnDef;
13
13
  //# sourceMappingURL=measureColDef.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"measureColDef.d.ts","sourceRoot":"","sources":["../../../../src/next/features/columns/measureColDef.ts"],"names":[],"mappings":"AAIA,OAAO,EACH,cAAc,EACd,aAAa,EACb,gCAAgC,EAChC,8BAA8B,EAC9B,2BAA2B,EAE9B,MAAM,kBAAkB,CAAC;AAI1B,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAIxD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAC/B,KAAK,EAAE,MAAM,EACb,gBAAgB,EAAE,CACZ,2BAA2B,GAC3B,8BAA8B,GAC9B,gCAAgC,CACrC,GAAG;IAAE,YAAY,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,KAAK,CAAA;CAAE,EAC3C,cAAc,CAAC,EAAE,aAAa,EAAE,EAChC,EAAE,CAAC,EAAE,cAAc,GACpB,eAAe,CAyBjB"}
1
+ {"version":3,"file":"measureColDef.d.ts","sourceRoot":"","sources":["../../../../src/next/features/columns/measureColDef.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,gCAAgC,EAChC,8BAA8B,EAC9B,2BAA2B,EAE9B,MAAM,kBAAkB,CAAC;AAI1B,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAIxD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAC/B,KAAK,EAAE,MAAM,EACb,gBAAgB,EAAE,CACZ,2BAA2B,GAC3B,8BAA8B,GAC9B,gCAAgC,CACrC,GAAG;IAAE,YAAY,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,KAAK,CAAA;CAAE,GAC5C,eAAe,CAmBjB"}
@@ -2,7 +2,7 @@
2
2
  import { isValueColumnDefinition, } from "@gooddata/sdk-ui";
3
3
  import { extractFormattedValue } from "./shared.js";
4
4
  import { MetricCell } from "../../components/Cell/MetricCell.js";
5
- import { getCellClassName, getCellTypes, getMeasureCellStyle } from "../styling/cell.js";
5
+ import { getMeasureCellStyle } from "../styling/cell.js";
6
6
  import { getHeaderCellClassName } from "../styling/headerCell.js";
7
7
  /**
8
8
  * Creates {@link AgGridColumnDef} for specified column definition {@link ITableValueColumnDefinition},
@@ -10,27 +10,21 @@ import { getHeaderCellClassName } from "../styling/headerCell.js";
10
10
  *
11
11
  * @internal
12
12
  */
13
- export function createMeasureColDef(colId, columnDefinition, drillableItems, dv) {
13
+ export function createMeasureColDef(colId, columnDefinition) {
14
14
  const { measureDescriptor } = columnDefinition;
15
15
  return {
16
16
  colId,
17
17
  field: `cellDataByColId.${colId}.formattedValue`,
18
18
  context: {
19
19
  columnDefinition,
20
+ cellRendererFactory: (params, cellTypes) => MetricCell({ ...params, cellTypes }),
20
21
  },
21
22
  headerClass: getHeaderCellClassName,
22
- cellClass: (params) => {
23
- return getCellClassName(params, drillableItems, dv);
24
- },
25
23
  cellStyle: getMeasureCellStyle,
26
24
  headerName: measureDescriptor.measureHeaderItem.name,
27
25
  valueGetter: (params) => {
28
26
  return extractFormattedValue(params, colId);
29
27
  },
30
- cellRenderer: (params) => {
31
- const cellTypes = getCellTypes(params, drillableItems, dv);
32
- return MetricCell({ ...params, cellTypes });
33
- },
34
28
  headerComponent: "MeasureHeader",
35
29
  sortable: isValueColumnDefinition(columnDefinition),
36
30
  };
@@ -1 +1 @@
1
- {"version":3,"file":"measureColDef.js","sourceRoot":"","sources":["../../../../src/next/features/columns/measureColDef.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAIhC,OAAO,EAMH,uBAAuB,GAC1B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AAEjE,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzF,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAC/B,KAAa,EACb,gBAI2C,EAC3C,cAAgC,EAChC,EAAmB;IAEnB,MAAM,EAAE,iBAAiB,EAAE,GAAG,gBAAgB,CAAC;IAE/C,OAAO;QACH,KAAK;QACL,KAAK,EAAE,mBAAmB,KAAK,iBAAiB;QAChD,OAAO,EAAE;YACL,gBAAgB;SACnB;QACD,WAAW,EAAE,sBAAsB;QACnC,SAAS,EAAE,CAAC,MAAM,EAAE,EAAE;YAClB,OAAO,gBAAgB,CAAC,MAAM,EAAE,cAAc,EAAE,EAAE,CAAC,CAAC;QACxD,CAAC;QACD,SAAS,EAAE,mBAAmB;QAC9B,UAAU,EAAE,iBAAiB,CAAC,iBAAiB,CAAC,IAAI;QACpD,WAAW,EAAE,CAAC,MAAM,EAAE,EAAE;YACpB,OAAO,qBAAqB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAChD,CAAC;QACD,YAAY,EAAE,CAAC,MAA2B,EAAE,EAAE;YAC1C,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,EAAE,cAAc,EAAE,EAAE,CAAC,CAAC;YAC3D,OAAO,UAAU,CAAC,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;QAChD,CAAC;QACD,eAAe,EAAE,eAAe;QAChC,QAAQ,EAAE,uBAAuB,CAAC,gBAAgB,CAAC;KACtD,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"measureColDef.js","sourceRoot":"","sources":["../../../../src/next/features/columns/measureColDef.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,EAIH,uBAAuB,GAC1B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AAEjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAC/B,KAAa,EACb,gBAI2C;IAE3C,MAAM,EAAE,iBAAiB,EAAE,GAAG,gBAAgB,CAAC;IAE/C,OAAO;QACH,KAAK;QACL,KAAK,EAAE,mBAAmB,KAAK,iBAAiB;QAChD,OAAO,EAAE;YACL,gBAAgB;YAChB,mBAAmB,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,CAAC;SACnF;QACD,WAAW,EAAE,sBAAsB;QACnC,SAAS,EAAE,mBAAmB;QAC9B,UAAU,EAAE,iBAAiB,CAAC,iBAAiB,CAAC,IAAI;QACpD,WAAW,EAAE,CAAC,MAAM,EAAE,EAAE;YACpB,OAAO,qBAAqB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAChD,CAAC;QACD,eAAe,EAAE,eAAe;QAChC,QAAQ,EAAE,uBAAuB,CAAC,gBAAgB,CAAC;KACtD,CAAC;AACN,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { IServerSideDatasource } from "ag-grid-enterprise";
2
2
  import { IAttribute, IMeasure, ISeparators, ISortItem } from "@gooddata/sdk-model";
3
- import { DataViewFacade, OnDataView, OnError, OnExportReady } from "@gooddata/sdk-ui";
3
+ import { DataViewFacade, GoodDataSdkError, OnDataView, OnError, OnExportReady } from "@gooddata/sdk-ui";
4
4
  import { AgGridApi } from "../../types/agGrid.js";
5
5
  import { GrandTotalsPosition } from "../../types/grandTotalsPosition.js";
6
6
  import { AgGridRowData, IInitialExecutionData, ITableColumnDefinitionByColId } from "../../types/internal.js";
@@ -18,6 +18,7 @@ interface ICreateServerSideDataSourceParams extends IInitialExecutionData {
18
18
  columnDefinitionByColId: ITableColumnDefinitionByColId;
19
19
  pageSize: number;
20
20
  setCurrentDataView: (dataView: DataViewFacade | undefined) => void;
21
+ setRuntimeError: (error: GoodDataSdkError | undefined) => void;
21
22
  setPivotResultColumns: (gridApi: AgGridApi) => void;
22
23
  setGrandTotalRows: (gridApi: AgGridApi, grandTotalRowData: AgGridRowData[]) => void;
23
24
  initSizingForEmptyData: (gridApi: AgGridApi, rowData: AgGridRowData[]) => void;
@@ -34,6 +35,6 @@ interface ICreateServerSideDataSourceParams extends IInitialExecutionData {
34
35
 
35
36
  * @internal
36
37
  */
37
- export declare const createServerSideDataSource: ({ measures, rows, sortBy, initialExecutionResult, initialDataView, columnHeadersPosition, grandTotalsPosition, columnDefinitionByColId, pageSize, setCurrentDataView, setPivotResultColumns, setGrandTotalRows, initSizingForEmptyData, onDataView, onError, onExportReady, exportTitle, separators, }: ICreateServerSideDataSourceParams) => IServerSideDatasource<AgGridRowData>;
38
+ export declare const createServerSideDataSource: ({ measures, rows, sortBy, initialExecutionResult, initialDataView, columnHeadersPosition, grandTotalsPosition, columnDefinitionByColId, pageSize, setCurrentDataView, setPivotResultColumns, setGrandTotalRows, initSizingForEmptyData, onDataView, onError, onExportReady, exportTitle, separators, setRuntimeError, }: ICreateServerSideDataSourceParams) => IServerSideDatasource<AgGridRowData>;
38
39
  export {};
39
40
  //# sourceMappingURL=createServerSideDataSource.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createServerSideDataSource.d.ts","sourceRoot":"","sources":["../../../../src/next/features/data/createServerSideDataSource.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAA+C,MAAM,oBAAoB,CAAC;AAIxG,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACnF,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,EAAgB,MAAM,kBAAkB,CAAC;AAKpG,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,6BAA6B,EAAE,MAAM,yBAAyB,CAAC;AAC9G,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAKrE;;GAEG;AACH,UAAU,iCAAkC,SAAQ,qBAAqB;IACrE,QAAQ,EAAE,QAAQ,EAAE,CAAC;IACrB,IAAI,EAAE,UAAU,EAAE,CAAC;IACnB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,qBAAqB,EAAE,qBAAqB,CAAC;IAC7C,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB,uBAAuB,EAAE,6BAA6B,CAAC;IACvD,QAAQ,EAAE,MAAM,CAAC;IACjB,kBAAkB,EAAE,CAAC,QAAQ,EAAE,cAAc,GAAG,SAAS,KAAK,IAAI,CAAC;IACnE,qBAAqB,EAAE,CAAC,OAAO,EAAE,SAAS,KAAK,IAAI,CAAC;IACpD,iBAAiB,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,aAAa,EAAE,KAAK,IAAI,CAAC;IACpF,sBAAsB,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,IAAI,CAAC;IAC/E,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AA4DD;;;;;;;GAOG;AACH,eAAO,MAAM,0BAA0B,GAAI,wSAmBxC,iCAAiC,KAAG,qBAAqB,CAAC,aAAa,CA2KzE,CAAC"}
1
+ {"version":3,"file":"createServerSideDataSource.d.ts","sourceRoot":"","sources":["../../../../src/next/features/data/createServerSideDataSource.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAA+C,MAAM,oBAAoB,CAAC;AAIxG,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACnF,OAAO,EACH,cAAc,EACd,gBAAgB,EAChB,UAAU,EACV,OAAO,EACP,aAAa,EAEhB,MAAM,kBAAkB,CAAC;AAK1B,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,6BAA6B,EAAE,MAAM,yBAAyB,CAAC;AAC9G,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAKrE;;GAEG;AACH,UAAU,iCAAkC,SAAQ,qBAAqB;IACrE,QAAQ,EAAE,QAAQ,EAAE,CAAC;IACrB,IAAI,EAAE,UAAU,EAAE,CAAC;IACnB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,qBAAqB,EAAE,qBAAqB,CAAC;IAC7C,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB,uBAAuB,EAAE,6BAA6B,CAAC;IACvD,QAAQ,EAAE,MAAM,CAAC;IACjB,kBAAkB,EAAE,CAAC,QAAQ,EAAE,cAAc,GAAG,SAAS,KAAK,IAAI,CAAC;IACnE,eAAe,EAAE,CAAC,KAAK,EAAE,gBAAgB,GAAG,SAAS,KAAK,IAAI,CAAC;IAC/D,qBAAqB,EAAE,CAAC,OAAO,EAAE,SAAS,KAAK,IAAI,CAAC;IACpD,iBAAiB,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,aAAa,EAAE,KAAK,IAAI,CAAC;IACpF,sBAAsB,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,IAAI,CAAC;IAC/E,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AA4DD;;;;;;;GAOG;AACH,eAAO,MAAM,0BAA0B,GAAI,yTAoBxC,iCAAiC,KAAG,qBAAqB,CAAC,aAAa,CAuLzE,CAAC"}
@@ -1,6 +1,6 @@
1
1
  // (C) 2025 GoodData Corporation
2
2
  import { isEqual } from "lodash-es";
3
- import { convertError } from "@gooddata/sdk-ui";
3
+ import { convertDataWindowError, } from "@gooddata/sdk-ui";
4
4
  import { agGridSetLoading } from "./agGridLoadingApi.js";
5
5
  import { dataViewToRowData } from "./dataViewToRowData.js";
6
6
  import { loadDataView } from "./loadDataView.js";
@@ -57,7 +57,7 @@ function getBackendRowOffset(agGridStartRow, agGridEndRow, grandTotalsPosition,
57
57
 
58
58
  * @internal
59
59
  */
60
- export const createServerSideDataSource = ({ measures, rows, sortBy, initialExecutionResult, initialDataView, columnHeadersPosition, grandTotalsPosition, columnDefinitionByColId, pageSize, setCurrentDataView, setPivotResultColumns, setGrandTotalRows, initSizingForEmptyData, onDataView, onError, onExportReady, exportTitle, separators, }) => {
60
+ export const createServerSideDataSource = ({ measures, rows, sortBy, initialExecutionResult, initialDataView, columnHeadersPosition, grandTotalsPosition, columnDefinitionByColId, pageSize, setCurrentDataView, setPivotResultColumns, setGrandTotalRows, initSizingForEmptyData, onDataView, onError, onExportReady, exportTitle, separators, setRuntimeError, }) => {
61
61
  const abortController = new AbortController();
62
62
  let isFirstRequest = true;
63
63
  let lastSortBy = sortBy;
@@ -65,6 +65,7 @@ export const createServerSideDataSource = ({ measures, rows, sortBy, initialExec
65
65
  let currentExecutionResult = initialExecutionResult;
66
66
  // Track grand total count for offset adjustment in non-pinned "top" position
67
67
  let cachedGrandTotalCount = 0;
68
+ let hasFatalRuntimeError = false;
68
69
  /**
69
70
  * There is 1 additional request when sorting + pivoting.
70
71
  * For some reason, ag-grid sends empty sort model in the first getRows request,
@@ -114,8 +115,15 @@ export const createServerSideDataSource = ({ measures, rows, sortBy, initialExec
114
115
  abortController.abort();
115
116
  // Clear the context when data source is destroyed
116
117
  setCurrentDataView(undefined);
118
+ // NOTE: Do NOT clear runtimeError here - if the grid is being destroyed
119
+ // because of a runtime error, clearing it would cause a re-render loop.
120
+ // The error should persist until the next execution starts.
117
121
  },
118
122
  getRows: async (params) => {
123
+ if (hasFatalRuntimeError) {
124
+ params.fail();
125
+ return;
126
+ }
119
127
  try {
120
128
  if (sortBy.length > 0 && params.request.sortModel.length === 0 && isFirstRequest) {
121
129
  handleExtraSortRequest(params);
@@ -144,6 +152,7 @@ export const createServerSideDataSource = ({ measures, rows, sortBy, initialExec
144
152
  rowCount: fixRowsCount(nextDataView, measures, rows, grandTotalsPosition, grandTotalCount),
145
153
  };
146
154
  params.success(successParam);
155
+ setRuntimeError(undefined);
147
156
  if (isFirstRequest) {
148
157
  setGrandTotalRows(params.api, grandTotalRowData);
149
158
  initSizingForEmptyData(params.api, rowData);
@@ -159,7 +168,10 @@ export const createServerSideDataSource = ({ measures, rows, sortBy, initialExec
159
168
  onDataView?.(nextDataView);
160
169
  }
161
170
  catch (e) {
162
- onError?.(convertError(e));
171
+ const error = convertDataWindowError(e);
172
+ hasFatalRuntimeError = true;
173
+ setRuntimeError(error);
174
+ onError?.(error);
163
175
  params.fail();
164
176
  }
165
177
  finally {
@@ -1 +1 @@
1
- {"version":3,"file":"createServerSideDataSource.js","sourceRoot":"","sources":["../../../../src/next/features/data/createServerSideDataSource.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createServerSideDataSource.js","sourceRoot":"","sources":["../../../../src/next/features/data/createServerSideDataSource.ts"],"names":[],"mappings":"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"}