@gooddata/sdk-ui-pivot 10.35.0-alpha.45 → 10.35.0-alpha.47

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 (34) hide show
  1. package/esm/next/PivotTableNext.d.ts +12 -1
  2. package/esm/next/PivotTableNext.d.ts.map +1 -1
  3. package/esm/next/PivotTableNext.js +79 -15
  4. package/esm/next/PivotTableNext.js.map +1 -1
  5. package/esm/next/constants/internal.d.ts +6 -0
  6. package/esm/next/constants/internal.d.ts.map +1 -1
  7. package/esm/next/constants/internal.js +6 -0
  8. package/esm/next/constants/internal.js.map +1 -1
  9. package/esm/next/drill/getAvailableDrillTargets.d.ts +12 -0
  10. package/esm/next/drill/getAvailableDrillTargets.d.ts.map +1 -0
  11. package/esm/next/drill/getAvailableDrillTargets.js +33 -0
  12. package/esm/next/drill/getAvailableDrillTargets.js.map +1 -0
  13. package/esm/next/execution/getExecution.d.ts +1 -2
  14. package/esm/next/execution/getExecution.d.ts.map +1 -1
  15. package/esm/next/execution/getExecution.js +3 -8
  16. package/esm/next/execution/getExecution.js.map +1 -1
  17. package/esm/next/hooks/useInitExecution.d.ts +23 -3
  18. package/esm/next/hooks/useInitExecution.d.ts.map +1 -1
  19. package/esm/next/hooks/useInitExecution.js +72 -16
  20. package/esm/next/hooks/useInitExecution.js.map +1 -1
  21. package/esm/next/hooks/useServerSideRowModel.d.ts +2 -5
  22. package/esm/next/hooks/useServerSideRowModel.d.ts.map +1 -1
  23. package/esm/next/hooks/useServerSideRowModel.js.map +1 -1
  24. package/esm/next/index.d.ts +2 -2
  25. package/esm/next/index.d.ts.map +1 -1
  26. package/esm/next/index.js +1 -1
  27. package/esm/next/index.js.map +1 -1
  28. package/esm/next/mapProps/mapSortModelToSortItems.d.ts +12 -1
  29. package/esm/next/mapProps/mapSortModelToSortItems.d.ts.map +1 -1
  30. package/esm/next/mapProps/mapSortModelToSortItems.js +36 -1
  31. package/esm/next/mapProps/mapSortModelToSortItems.js.map +1 -1
  32. package/esm/next/types/public.d.ts +23 -2
  33. package/esm/next/types/public.d.ts.map +1 -1
  34. package/package.json +10 -10
@@ -1,7 +1,18 @@
1
1
  import React from "react";
2
- import { IPivotTableNextProps } from "./types/public.js";
2
+ import { ICorePivotTableNextProps, IPivotTableNextProps } from "./types/public.js";
3
3
  /**
4
+ * Simple wrapper for the core pivot table component that creates execution based on provided props.
5
+ * There is no sophisticated props validation so when used directly, it is recommended to handle the validation yourself.
6
+ *
4
7
  * @alpha
5
8
  */
6
9
  export declare function PivotTableNext(props: IPivotTableNextProps): React.JSX.Element;
10
+ declare function CorePivotTableNext(props: ICorePivotTableNextProps): React.JSX.Element;
11
+ /**
12
+ * Memoized wrapper for the AgGridReact component that needs to be provided with prepared execution.
13
+ *
14
+ * @alpha
15
+ */
16
+ declare const MemoizedCorePivotTableNext: React.MemoExoticComponent<typeof CorePivotTableNext>;
17
+ export { MemoizedCorePivotTableNext as CorePivotTableNext };
7
18
  //# sourceMappingURL=PivotTableNext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PivotTableNext.d.ts","sourceRoot":"","sources":["../../src/next/PivotTableNext.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAazD;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,oBAAoB,qBAEzD"}
1
+ {"version":3,"file":"PivotTableNext.d.ts","sourceRoot":"","sources":["../../src/next/PivotTableNext.tsx"],"names":[],"mappings":"AACA,OAAO,KAA+B,MAAM,OAAO,CAAC;AAMpD,OAAO,EAEH,wBAAwB,EACxB,oBAAoB,EACvB,MAAM,mBAAmB,CAAC;AAe3B;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,oBAAoB,qBAIzD;AAED,iBAAS,kBAAkB,CAAC,KAAK,EAAE,wBAAwB,qBAgC1D;AA0DD;;;;GAIG;AACH,QAAA,MAAM,0BAA0B,sDAqB9B,CAAC;AAEH,OAAO,EAAE,0BAA0B,IAAI,kBAAkB,EAAE,CAAC"}
@@ -1,43 +1,107 @@
1
1
  // (C) 2025 GoodData Corporation
2
- import React from "react";
2
+ import React, { useCallback, useMemo } from "react";
3
3
  import { AgGridReact } from "ag-grid-react";
4
4
  import { ModuleRegistry, AllEnterpriseModule } from "ag-grid-enterprise";
5
5
  import { ErrorComponent } from "./components/ErrorComponent.js";
6
6
  import { LoadingComponent } from "./components/LoadingComponent.js";
7
- import { useInitExecution } from "./hooks/useInitExecution.js";
7
+ import { useInitExecution, useInitExecutionResult } from "./hooks/useInitExecution.js";
8
8
  import { useServerSideRowModel } from "./hooks/useServerSideRowModel.js";
9
- import { getIsPivotMode, getMeasureGroupDimension, getExecutionProps } from "./mapProps/props.js";
9
+ import { getIsPivotMode, getMeasureGroupDimension, getExecutionProps, getColumnHeadersPosition, } from "./mapProps/props.js";
10
10
  import { mapDimensionsToColDefs } from "./mapProps/mapDimensionsToColDefs.js";
11
+ import { mapSortModelToSortItems } from "./mapProps/mapSortModelToSortItems.js";
11
12
  import { AG_GRID_DEFAULT_PROPS } from "./constants/agGrid.js";
12
- ModuleRegistry.registerModules([
13
- // TODO: replace with used modules only (to decrease bundle size)
14
- AllEnterpriseModule,
15
- ]);
13
+ import { PAGE_SIZE } from "./constants/internal.js";
14
+ import isEqual from "lodash/isEqual.js";
16
15
  /**
16
+ * Simple wrapper for the core pivot table component that creates execution based on provided props.
17
+ * There is no sophisticated props validation so when used directly, it is recommended to handle the validation yourself.
18
+ *
17
19
  * @alpha
18
20
  */
19
21
  export function PivotTableNext(props) {
20
- return React.createElement(PivotTableNextInit, { ...props });
22
+ const execution = useInitExecution(props);
23
+ return React.createElement(CorePivotTableNext, { ...props, execution: execution });
21
24
  }
22
- function PivotTableNextInit(props) {
23
- const { result: executionResult, status, error } = useInitExecution(props);
25
+ function CorePivotTableNext(props) {
26
+ const { execution, onLoadingChanged, pushData, onExportReady, pageSize = PAGE_SIZE } = props;
27
+ const measureGroupDimension = getMeasureGroupDimension(props);
28
+ const columnHeadersPosition = getColumnHeadersPosition(props);
29
+ const { result: executionResult, status, error, } = useInitExecutionResult(execution, {
30
+ onLoadingChanged,
31
+ pushData,
32
+ onExportReady,
33
+ }, {
34
+ measureGroupDimension,
35
+ columnHeadersPosition,
36
+ pageSize,
37
+ });
24
38
  if (status === "error") {
25
39
  return React.createElement(ErrorComponent, { error: error });
26
40
  }
27
41
  if (status === "pending" || status === "loading") {
28
42
  return React.createElement(LoadingComponent, null);
29
43
  }
30
- return React.createElement(PivotTableNextRenderAgGrid, { ...props, executionResult: executionResult });
44
+ return React.createElement(RenderAgGrid, { ...props, executionResult: executionResult });
31
45
  }
32
- function PivotTableNextRenderAgGrid(props) {
33
- const { executionResult } = props;
46
+ function RenderAgGrid(props) {
47
+ useMemo(() => {
48
+ ModuleRegistry.registerModules([
49
+ // TODO: replace with used modules only (to decrease bundle size)
50
+ AllEnterpriseModule,
51
+ ]);
52
+ }, []);
53
+ const { executionResult, pushData } = props;
34
54
  const serverSideRowModelProps = useServerSideRowModel({ ...props, executionResult });
35
55
  const measureGroupDimension = getMeasureGroupDimension(props);
36
- const { sortBy } = getExecutionProps(props);
56
+ const { sortBy, rows, measures } = getExecutionProps(props);
37
57
  const columnDefs = executionResult?.dimensions
38
58
  ? mapDimensionsToColDefs(executionResult.dimensions, measureGroupDimension, sortBy)
39
59
  : [];
40
60
  const isPivotMode = getIsPivotMode(props);
41
- return (React.createElement(AgGridReact, { ...AG_GRID_DEFAULT_PROPS, ...serverSideRowModelProps, columnDefs: columnDefs, pivotMode: isPivotMode }));
61
+ const onSortChanged = useCallback((event) => {
62
+ if (!pushData) {
63
+ return;
64
+ }
65
+ // Get the current sort model from ag-grid
66
+ const sortModel = event.api
67
+ .getColumnState()
68
+ .filter((col) => col.sort !== null)
69
+ .map((col) => ({
70
+ colId: col.colId,
71
+ sort: col.sort,
72
+ }));
73
+ const sortItems = mapSortModelToSortItems(sortModel, rows, measures);
74
+ pushData({
75
+ properties: {
76
+ sortItems,
77
+ },
78
+ });
79
+ }, [pushData, rows, measures]);
80
+ return (React.createElement(AgGridReact, { ...AG_GRID_DEFAULT_PROPS, ...serverSideRowModelProps, columnDefs: columnDefs, pivotMode: isPivotMode, onSortChanged: onSortChanged }));
42
81
  }
82
+ /**
83
+ * Memoized wrapper for the AgGridReact component that needs to be provided with prepared execution.
84
+ *
85
+ * @alpha
86
+ */
87
+ const MemoizedCorePivotTableNext = React.memo(CorePivotTableNext, (prevProps, nextProps) => {
88
+ // More specific comparison to avoid unnecessary re-renders
89
+ const executionChanged = prevProps.execution.fingerprint() !== nextProps.execution.fingerprint();
90
+ const configChanged = !isEqual(prevProps.config, nextProps.config);
91
+ const measuresChanged = !isEqual(prevProps.measures, nextProps.measures);
92
+ const rowsChanged = !isEqual(prevProps.rows, nextProps.rows);
93
+ const columnsChanged = !isEqual(prevProps.columns, nextProps.columns);
94
+ const filtersChanged = !isEqual(prevProps.filters, nextProps.filters);
95
+ const sortChanged = !isEqual(prevProps.sortBy, nextProps.sortBy);
96
+ const themeChanged = prevProps.theme !== nextProps.theme;
97
+ return !(executionChanged ||
98
+ configChanged ||
99
+ measuresChanged ||
100
+ rowsChanged ||
101
+ columnsChanged ||
102
+ filtersChanged ||
103
+ sortChanged ||
104
+ themeChanged);
105
+ });
106
+ export { MemoizedCorePivotTableNext as CorePivotTableNext };
43
107
  //# sourceMappingURL=PivotTableNext.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PivotTableNext.js","sourceRoot":"","sources":["../../src/next/PivotTableNext.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAEpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAClG,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAG9D,cAAc,CAAC,eAAe,CAAC;IAC3B,iEAAiE;IACjE,mBAAmB;CACtB,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,KAA2B;IACtD,OAAO,oBAAC,kBAAkB,OAAK,KAAK,GAAI,CAAC;AAC7C,CAAC;AAED,SAAS,kBAAkB,CAAC,KAA2B;IACnD,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAE3E,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;QACrB,OAAO,oBAAC,cAAc,IAAC,KAAK,EAAE,KAAK,GAAI,CAAC;IAC5C,CAAC;IAED,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QAC/C,OAAO,oBAAC,gBAAgB,OAAG,CAAC;IAChC,CAAC;IAED,OAAO,oBAAC,0BAA0B,OAAK,KAAK,EAAE,eAAe,EAAE,eAAe,GAAI,CAAC;AACvF,CAAC;AAED,SAAS,0BAA0B,CAC/B,KAEC;IAED,MAAM,EAAE,eAAe,EAAE,GAAG,KAAK,CAAC;IAClC,MAAM,uBAAuB,GAAG,qBAAqB,CAAC,EAAE,GAAG,KAAK,EAAE,eAAe,EAAE,CAAC,CAAC;IACrF,MAAM,qBAAqB,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAC9D,MAAM,EAAE,MAAM,EAAE,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAE5C,MAAM,UAAU,GAAG,eAAe,EAAE,UAAU;QAC1C,CAAC,CAAC,sBAAsB,CAAC,eAAe,CAAC,UAAU,EAAE,qBAAqB,EAAE,MAAM,CAAC;QACnF,CAAC,CAAC,EAAE,CAAC;IAET,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IAE1C,OAAO,CACH,oBAAC,WAAW,OACJ,qBAAqB,KACrB,uBAAuB,EAC3B,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,WAAW,GACxB,CACL,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"PivotTableNext.js","sourceRoot":"","sources":["../../src/next/PivotTableNext.tsx"],"names":[],"mappings":"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"}
@@ -42,6 +42,12 @@ export declare const EMPTY_SORT_BY: ISortItem[];
42
42
  * @internal
43
43
  */
44
44
  export declare const COLUMNS_PER_PAGE = 1000;
45
+ /**
46
+ * Default page size for data fetching.
47
+ *
48
+ * @internal
49
+ */
50
+ export declare const PAGE_SIZE = 100;
45
51
  /**
46
52
  * Unique identifier of the column, used for rendering metric name.
47
53
  * This is used only in case of transposition, when metrics are rendered in rows.
@@ -1 +1 @@
1
- {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../../src/next/constants/internal.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACvF,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,kBAAkB,CAAC;AAErD;;GAEG;AACH,eAAO,MAAM,kBAAkB,MAAM,CAAC;AAEtC;;GAEG;AACH,eAAO,MAAM,sCAAsC,QAAQ,CAAC;AAE5D;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,UAAU,EAAO,CAAC;AAEjD;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,QAAQ,EAAO,CAAC;AAE5C;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,OAAO,EAAO,CAAC;AAE3C;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,MAAM,EAAO,CAAC;AAEzC;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,oBAAyB,CAAC;AAErD;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,SAAS,EAAO,CAAC;AAE7C;;GAEG;AACH,eAAO,MAAM,gBAAgB,OAAO,CAAC;AAErC;;;;;GAKG;AACH,eAAO,MAAM,4BAA4B,sBAAsB,CAAC;AAEhE;;;;;GAKG;AACH,eAAO,MAAM,6BAA6B,uBAAuB,CAAC"}
1
+ {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../../src/next/constants/internal.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACvF,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,kBAAkB,CAAC;AAErD;;GAEG;AACH,eAAO,MAAM,kBAAkB,MAAM,CAAC;AAEtC;;GAEG;AACH,eAAO,MAAM,sCAAsC,QAAQ,CAAC;AAE5D;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,UAAU,EAAO,CAAC;AAEjD;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,QAAQ,EAAO,CAAC;AAE5C;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,OAAO,EAAO,CAAC;AAE3C;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,MAAM,EAAO,CAAC;AAEzC;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,oBAAyB,CAAC;AAErD;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,SAAS,EAAO,CAAC;AAE7C;;GAEG;AACH,eAAO,MAAM,gBAAgB,OAAO,CAAC;AAErC;;;;GAIG;AACH,eAAO,MAAM,SAAS,MAAM,CAAC;AAE7B;;;;;GAKG;AACH,eAAO,MAAM,4BAA4B,sBAAsB,CAAC;AAEhE;;;;;GAKG;AACH,eAAO,MAAM,6BAA6B,uBAAuB,CAAC"}
@@ -41,6 +41,12 @@ export const EMPTY_SORT_BY = [];
41
41
  * @internal
42
42
  */
43
43
  export const COLUMNS_PER_PAGE = 1000;
44
+ /**
45
+ * Default page size for data fetching.
46
+ *
47
+ * @internal
48
+ */
49
+ export const PAGE_SIZE = 100;
44
50
  /**
45
51
  * Unique identifier of the column, used for rendering metric name.
46
52
  * This is used only in case of transposition, when metrics are rendered in rows.
@@ -1 +1 @@
1
- {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../src/next/constants/internal.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAKhC;;;;GAIG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,eAAe,CAAC;AAErD;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAEtC;;GAEG;AACH,MAAM,CAAC,MAAM,sCAAsC,GAAG,KAAK,CAAC;AAE5D;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAiB,EAAE,CAAC;AAEjD;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAe,EAAE,CAAC;AAE5C;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAc,EAAE,CAAC;AAE3C;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAa,EAAE,CAAC;AAEzC;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAyB,EAAE,CAAC;AAErD;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAgB,EAAE,CAAC;AAE7C;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAErC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,mBAAmB,CAAC;AAEhE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,oBAAoB,CAAC"}
1
+ {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../src/next/constants/internal.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAKhC;;;;GAIG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,eAAe,CAAC;AAErD;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAEtC;;GAEG;AACH,MAAM,CAAC,MAAM,sCAAsC,GAAG,KAAK,CAAC;AAE5D;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAiB,EAAE,CAAC;AAEjD;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAe,EAAE,CAAC;AAE5C;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAc,EAAE,CAAC;AAE3C;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAa,EAAE,CAAC;AAEzC;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAyB,EAAE,CAAC;AAErD;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAgB,EAAE,CAAC;AAE7C;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAErC;;;;GAIG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,CAAC;AAE7B;;;;;GAKG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,mBAAmB,CAAC;AAEhE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,oBAAoB,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { DataViewFacade, IAvailableDrillTargets } from "@gooddata/sdk-ui";
2
+ /**
3
+ * Calculate available drill targets for the pivot table next implementation.
4
+ *
5
+ * @param dv - Data view facade
6
+ * @param measureGroupDimension - Whether measures are in columns or rows
7
+ * @param columnHeadersPosition - Position of column headers
8
+ * @returns Available drill targets
9
+ * @alpha
10
+ */
11
+ export declare function getAvailableDrillTargets(dv: DataViewFacade, measureGroupDimension?: "columns" | "rows", columnHeadersPosition?: "left" | "top"): IAvailableDrillTargets;
12
+ //# sourceMappingURL=getAvailableDrillTargets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getAvailableDrillTargets.d.ts","sourceRoot":"","sources":["../../../src/next/drill/getAvailableDrillTargets.ts"],"names":[],"mappings":"AACA,OAAO,EACH,cAAc,EAId,sBAAsB,EACzB,MAAM,kBAAkB,CAAC;AAG1B;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACpC,EAAE,EAAE,cAAc,EAClB,qBAAqB,GAAE,SAAS,GAAG,MAAkB,EACrD,qBAAqB,GAAE,MAAM,GAAG,KAAa,GAC9C,sBAAsB,CAwBxB"}
@@ -0,0 +1,33 @@
1
+ // (C) 2025 GoodData Corporation
2
+ import { getIntersectionAttributes, } from "@gooddata/sdk-ui";
3
+ /**
4
+ * Calculate available drill targets for the pivot table next implementation.
5
+ *
6
+ * @param dv - Data view facade
7
+ * @param measureGroupDimension - Whether measures are in columns or rows
8
+ * @param columnHeadersPosition - Position of column headers
9
+ * @returns Available drill targets
10
+ * @alpha
11
+ */
12
+ export function getAvailableDrillTargets(dv, measureGroupDimension = "columns", columnHeadersPosition = "top") {
13
+ const measureDescriptors = dv
14
+ .meta()
15
+ .measureDescriptors()
16
+ .map((measure) => ({
17
+ measure,
18
+ attributes: dv.meta().attributeDescriptors(),
19
+ }));
20
+ const dimensionIndex = measureGroupDimension === "rows" && columnHeadersPosition === "left" ? 1 : 0;
21
+ const attributeItems = dv
22
+ .meta()
23
+ .attributeDescriptorsForDim(dimensionIndex)
24
+ .map((attribute, _index, attributes) => ({
25
+ attribute,
26
+ intersectionAttributes: getIntersectionAttributes(attribute, attributes),
27
+ }));
28
+ return {
29
+ measures: measureDescriptors,
30
+ attributes: attributeItems,
31
+ };
32
+ }
33
+ //# sourceMappingURL=getAvailableDrillTargets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getAvailableDrillTargets.js","sourceRoot":"","sources":["../../../src/next/drill/getAvailableDrillTargets.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,EAEH,yBAAyB,GAI5B,MAAM,kBAAkB,CAAC;AAG1B;;;;;;;;GAQG;AACH,MAAM,UAAU,wBAAwB,CACpC,EAAkB,EAClB,wBAA4C,SAAS,EACrD,wBAAwC,KAAK;IAE7C,MAAM,kBAAkB,GAAG,EAAE;SACxB,IAAI,EAAE;SACN,kBAAkB,EAAE;SACpB,GAAG,CACA,CAAC,OAA2B,EAAgC,EAAE,CAAC,CAAC;QAC5D,OAAO;QACP,UAAU,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,oBAAoB,EAAE;KAC/C,CAAC,CACL,CAAC;IAEN,MAAM,cAAc,GAAG,qBAAqB,KAAK,MAAM,IAAI,qBAAqB,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpG,MAAM,cAAc,GAAqC,EAAE;SACtD,IAAI,EAAE;SACN,0BAA0B,CAAC,cAAc,CAAC;SAC1C,GAAG,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;QACrC,SAAS;QACT,sBAAsB,EAAE,yBAAyB,CAAC,SAAS,EAAE,UAAU,CAAC;KAC3E,CAAC,CAAC,CAAC;IAER,OAAO;QACH,QAAQ,EAAE,kBAAkB;QAC5B,UAAU,EAAE,cAAc;KAC7B,CAAC;AACN,CAAC"}
@@ -15,7 +15,6 @@ export interface IGetExecutionParams {
15
15
  sortBy: ISortItem[];
16
16
  totals: ITotal[];
17
17
  measureGroupDimension: MeasureGroupDimension;
18
- signal: AbortSignal;
19
18
  }
20
19
  /**
21
20
  * @internal
@@ -34,7 +33,7 @@ export interface IGetFullExecutionDataViewParams {
34
33
  /**
35
34
  * @internal
36
35
  */
37
- export declare function getExecution({ backend, workspace, columns, rows, measures, filters, sortBy, totals, signal, measureGroupDimension, }: IGetExecutionParams): Promise<IExecutionResult>;
36
+ export declare function getExecution({ backend, workspace, columns, rows, measures, filters, sortBy, totals, measureGroupDimension, }: IGetExecutionParams): import("@gooddata/sdk-backend-spi").IPreparedExecution;
38
37
  /**
39
38
  * @internal
40
39
  */
@@ -1 +1 @@
1
- {"version":3,"file":"getExecution.d.ts","sourceRoot":"","sources":["../../../src/next/execution/getExecution.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,EAAE,UAAU,EAAc,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAa,MAAM,qBAAqB,CAAC;AAE9G,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAE3D;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAChC,OAAO,EAAE,kBAAkB,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,IAAI,EAAE,UAAU,EAAE,CAAC;IACnB,QAAQ,EAAE,QAAQ,EAAE,CAAC;IACrB,OAAO,EAAE,OAAO,EAAE,CAAC;IACnB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,qBAAqB,EAAE,qBAAqB,CAAC;IAC7C,MAAM,EAAE,WAAW,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IACxC,eAAe,EAAE,gBAAgB,CAAC;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,+BAA+B;IAC5C,eAAe,EAAE,gBAAgB,CAAC;CACrC;AAsCD;;GAEG;AACH,wBAAsB,YAAY,CAAC,EAC/B,OAAO,EACP,SAAS,EACT,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,MAAM,EACN,MAAM,EACN,MAAM,EACN,qBAAqB,GACxB,EAAE,mBAAmB,6BAiCrB;AAED;;GAEG;AACH,wBAAsB,6BAA6B,CAAC,EAChD,eAAe,EACf,QAAQ,EACR,MAAM,GACT,EAAE,2BAA2B,2BAI7B;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAAC,EAAE,eAAe,EAAE,EAAE,2BAA2B,2BAI9F"}
1
+ {"version":3,"file":"getExecution.d.ts","sourceRoot":"","sources":["../../../src/next/execution/getExecution.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,EAAE,UAAU,EAAc,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAa,MAAM,qBAAqB,CAAC;AAE9G,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAE3D;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAChC,OAAO,EAAE,kBAAkB,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,IAAI,EAAE,UAAU,EAAE,CAAC;IACnB,QAAQ,EAAE,QAAQ,EAAE,CAAC;IACrB,OAAO,EAAE,OAAO,EAAE,CAAC;IACnB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,qBAAqB,EAAE,qBAAqB,CAAC;CAChD;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IACxC,eAAe,EAAE,gBAAgB,CAAC;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,+BAA+B;IAC5C,eAAe,EAAE,gBAAgB,CAAC;CACrC;AAsCD;;GAEG;AACH,wBAAgB,YAAY,CAAC,EACzB,OAAO,EACP,SAAS,EACT,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,MAAM,EACN,MAAM,EACN,qBAAqB,GACxB,EAAE,mBAAmB,0DA2BrB;AAED;;GAEG;AACH,wBAAsB,6BAA6B,CAAC,EAChD,eAAe,EACf,QAAQ,EACR,MAAM,GACT,EAAE,2BAA2B,2BAI7B;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAAC,EAAE,eAAe,EAAE,EAAE,2BAA2B,2BAI9F"}
@@ -30,7 +30,7 @@ function getDimensions(rows, columns, measures, rowTotals, columnTotals, measure
30
30
  /**
31
31
  * @internal
32
32
  */
33
- export async function getExecution({ backend, workspace, columns, rows, measures, filters, sortBy, totals, signal, measureGroupDimension, }) {
33
+ export function getExecution({ backend, workspace, columns, rows, measures, filters, sortBy, totals, measureGroupDimension, }) {
34
34
  const rowTotals = totals.filter((total) => rows.find((attr) => attr.attribute.localIdentifier === total.attributeIdentifier));
35
35
  const columnTotals = totals.filter((total) => columns.find((attr) => attr.attribute.localIdentifier === total.attributeIdentifier));
36
36
  const dimensions = getDimensions(rows, columns, measures, rowTotals, columnTotals, measureGroupDimension);
@@ -40,10 +40,7 @@ export async function getExecution({ backend, workspace, columns, rows, measures
40
40
  newBucket(BucketNames.ATTRIBUTE, ...rows, ...rowTotals),
41
41
  newBucket(BucketNames.COLUMNS, ...columns, ...columnTotals),
42
42
  ];
43
- const execution = backend
44
- .workspace(workspace)
45
- .execution()
46
- .forDefinition({
43
+ return backend.workspace(workspace).execution().forDefinition({
47
44
  workspace,
48
45
  attributes,
49
46
  measures,
@@ -53,9 +50,7 @@ export async function getExecution({ backend, workspace, columns, rows, measures
53
50
  sortBy,
54
51
  // TODO: if this is missing, it's causing recordings not matching
55
52
  postProcessing: {},
56
- })
57
- .withSignal(signal);
58
- return execution.execute();
53
+ });
59
54
  }
60
55
  /**
61
56
  * @internal
@@ -1 +1 @@
1
- {"version":3,"file":"getExecution.js","sourceRoot":"","sources":["../../../src/next/execution/getExecution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getExecution.js","sourceRoot":"","sources":["../../../src/next/execution/getExecution.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAE/D,OAAO,EAAgE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC9G,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAkC5D,SAAS,aAAa,CAClB,IAAkB,EAClB,OAAqB,EACrB,QAAoB,EACpB,SAAmB,EACnB,YAAsB,EACtB,qBAA4C;IAE5C,MAAM,UAAU,GAAiB;QAC7B;YACI,eAAe,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;SACrE;QACD;YACI,eAAe,EAAE,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;SACxE;KACJ,CAAC;IAEF,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,SAAS,CAAC;IACrC,CAAC;IAED,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,YAAY,CAAC;IACxC,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,IAAI,qBAAqB,KAAK,SAAS,EAAE,CAAC;YACtC,UAAU,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACvD,CAAC;aAAM,IAAI,qBAAqB,KAAK,MAAM,EAAE,CAAC;YAC1C,UAAU,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACvD,CAAC;IACL,CAAC;IAED,OAAO,UAAU,CAAC;AACtB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,EACzB,OAAO,EACP,SAAS,EACT,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,MAAM,EACN,MAAM,EACN,qBAAqB,GACH;IAClB,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CACtC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,KAAK,KAAK,CAAC,mBAAmB,CAAC,CACpF,CAAC;IACF,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CACzC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,KAAK,KAAK,CAAC,mBAAmB,CAAC,CACvF,CAAC;IACF,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,qBAAqB,CAAC,CAAC;IAC1G,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAExC,MAAM,OAAO,GAAG;QACZ,SAAS,CAAC,WAAW,CAAC,QAAQ,EAAE,GAAG,QAAQ,CAAC;QAC5C,SAAS,CAAC,WAAW,CAAC,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,SAAS,CAAC;QACvD,SAAS,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,OAAO,EAAE,GAAG,YAAY,CAAC;KAC9D,CAAC;IAEF,OAAO,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,SAAS,EAAE,CAAC,aAAa,CAAC;QAC1D,SAAS;QACT,UAAU;QACV,QAAQ;QACR,UAAU;QACV,OAAO;QACP,OAAO;QACP,MAAM;QACN,iEAAiE;QACjE,cAAc,EAAE,EAAE;KACrB,CAAC,CAAC;AACP,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,6BAA6B,CAAC,EAChD,eAAe,EACf,QAAQ,EACR,MAAM,GACoB;IAC1B,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,GAAG,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAEtG,OAAO,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,EAAE,eAAe,EAA+B;IAC3F,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,OAAO,EAAE,CAAC;IAE/C,OAAO,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACtC,CAAC"}
@@ -1,8 +1,28 @@
1
- import { IExecutionResult } from "@gooddata/sdk-backend-spi";
2
- import { GoodDataSdkError } from "@gooddata/sdk-ui";
1
+ import { IExecutionResult, IPreparedExecution } from "@gooddata/sdk-backend-spi";
2
+ import { GoodDataSdkError, ILoadingState, IPushData, OnExportReady } from "@gooddata/sdk-ui";
3
3
  import { IPivotTableNextProps } from "../types/public.js";
4
4
  /**
5
5
  * @alpha
6
6
  */
7
- export declare const useInitExecution: (props: IPivotTableNextProps) => import("@gooddata/sdk-ui").UseCancelablePromiseState<IExecutionResult, GoodDataSdkError>;
7
+ export declare const useInitExecution: (props: IPivotTableNextProps) => IPreparedExecution;
8
+ /**
9
+ * @alpha
10
+ */
11
+ export interface IExecutionResultCallbacks {
12
+ onLoadingChanged?: (loadingState: ILoadingState) => void;
13
+ pushData?: (data: IPushData) => void;
14
+ onExportReady?: OnExportReady;
15
+ }
16
+ /**
17
+ * @alpha
18
+ */
19
+ export interface IExecutionResultOptions {
20
+ measureGroupDimension?: "columns" | "rows";
21
+ columnHeadersPosition?: "left" | "top";
22
+ pageSize?: number;
23
+ }
24
+ /**
25
+ * @alpha
26
+ */
27
+ export declare const useInitExecutionResult: (execution: IPreparedExecution, callbacks?: IExecutionResultCallbacks, options?: IExecutionResultOptions) => import("@gooddata/sdk-ui").UseCancelablePromiseState<IExecutionResult, GoodDataSdkError>;
8
28
  //# sourceMappingURL=useInitExecution.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useInitExecution.d.ts","sourceRoot":"","sources":["../../../src/next/hooks/useInitExecution.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAIH,gBAAgB,EACnB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAAI,OAAO,oBAAoB,6FAyB3D,CAAC"}
1
+ {"version":3,"file":"useInitExecution.d.ts","sourceRoot":"","sources":["../../../src/next/hooks/useInitExecution.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,EAIH,gBAAgB,EAChB,aAAa,EACb,SAAS,EACT,aAAa,EAGhB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAI1D;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAAI,OAAO,oBAAoB,uBAwB3D,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACtC,gBAAgB,CAAC,EAAE,CAAC,YAAY,EAAE,aAAa,KAAK,IAAI,CAAC;IACzD,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;IACrC,aAAa,CAAC,EAAE,aAAa,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACpC,qBAAqB,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAC3C,qBAAqB,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AA8DD;;GAEG;AACH,eAAO,MAAM,sBAAsB,GAC/B,WAAW,kBAAkB,EAC7B,YAAW,yBAA8B,EACzC,UAAS,uBAA4B,6FAcxC,CAAC"}
@@ -1,28 +1,84 @@
1
- import { useBackendStrict, useWorkspaceStrict, useCancelablePromise, } from "@gooddata/sdk-ui";
1
+ // (C) 2025 GoodData Corporation
2
+ import { useMemo } from "react";
3
+ import { useBackendStrict, useWorkspaceStrict, useCancelablePromise, createExportFunction, DataViewFacade, } from "@gooddata/sdk-ui";
2
4
  import { getExecutionProps, getMeasureGroupDimension } from "../mapProps/props.js";
3
5
  import { getExecution } from "../execution/getExecution.js";
6
+ import { getAvailableDrillTargets } from "../drill/getAvailableDrillTargets.js";
7
+ import { COLUMNS_PER_PAGE, PAGE_SIZE } from "../constants/internal.js";
4
8
  /**
5
9
  * @alpha
6
10
  */
7
11
  export const useInitExecution = (props) => {
8
12
  const backend = useBackendStrict(props.backend, "useInitExecution");
9
13
  const workspace = useWorkspaceStrict(props.workspace, "useInitExecution");
10
- const measureGroupDimension = getMeasureGroupDimension(props);
11
- const { columns, rows, measures, filters, sortBy, totals } = getExecutionProps(props);
14
+ const measureGroupDimension = useMemo(() => getMeasureGroupDimension(props), [props]);
15
+ const { columns, rows, measures, filters, sortBy, totals } = useMemo(() => getExecutionProps(props), [props]);
16
+ return useMemo(() => getExecution({
17
+ backend,
18
+ workspace,
19
+ columns,
20
+ rows,
21
+ measures,
22
+ filters,
23
+ sortBy,
24
+ totals,
25
+ measureGroupDimension,
26
+ }), [backend, workspace, columns, rows, measures, filters, sortBy, totals, measureGroupDimension]);
27
+ };
28
+ /**
29
+ * Handles push data functionality by reading data view and preparing drill targets
30
+ */
31
+ const handlePushData = async (result, pushData, pageSize, measureGroupDimension, columnHeadersPosition) => {
32
+ const dataView = await result.readWindow([0, 0], [pageSize, COLUMNS_PER_PAGE]);
33
+ const dv = DataViewFacade.for(dataView);
34
+ const availableDrillTargets = getAvailableDrillTargets(dv, measureGroupDimension, columnHeadersPosition);
35
+ pushData({
36
+ dataView: dv.dataView,
37
+ availableDrillTargets,
38
+ });
39
+ };
40
+ /**
41
+ * Handles export ready functionality by creating export function
42
+ */
43
+ const handleExportReady = (result, onExportReady) => {
44
+ const exportFunction = createExportFunction(result, undefined);
45
+ onExportReady(exportFunction);
46
+ };
47
+ /**
48
+ * Processes successful execution result by handling callbacks
49
+ */
50
+ const handleExecutionSuccess = async (result, callbacks, options) => {
51
+ const { onLoadingChanged, pushData, onExportReady } = callbacks;
52
+ const { measureGroupDimension, columnHeadersPosition, pageSize = PAGE_SIZE } = options;
53
+ if (onLoadingChanged) {
54
+ onLoadingChanged({ isLoading: false });
55
+ }
56
+ if (!pushData && !onExportReady) {
57
+ return;
58
+ }
59
+ try {
60
+ if (pushData) {
61
+ await handlePushData(result, pushData, pageSize, measureGroupDimension, columnHeadersPosition);
62
+ }
63
+ if (onExportReady) {
64
+ handleExportReady(result, onExportReady);
65
+ }
66
+ }
67
+ catch (error) {
68
+ console.error("Error processing execution result:", error);
69
+ }
70
+ };
71
+ /**
72
+ * @alpha
73
+ */
74
+ export const useInitExecutionResult = (execution, callbacks = {}, options = {}) => {
75
+ const { onLoadingChanged } = callbacks;
12
76
  return useCancelablePromise({
13
- promise: (signal) => getExecution({
14
- backend,
15
- workspace,
16
- columns,
17
- rows,
18
- measures,
19
- filters,
20
- sortBy,
21
- totals,
22
- measureGroupDimension,
23
- signal,
24
- }),
77
+ promise: (signal) => execution.withSignal(signal).execute(),
25
78
  enableAbortController: true,
26
- }, [backend, workspace, columns, rows, measures, measureGroupDimension, sortBy]);
79
+ onLoading: onLoadingChanged ? () => onLoadingChanged({ isLoading: true }) : undefined,
80
+ onSuccess: (result) => handleExecutionSuccess(result, callbacks, options),
81
+ onError: onLoadingChanged ? () => onLoadingChanged({ isLoading: false }) : undefined,
82
+ }, [execution.fingerprint()]);
27
83
  };
28
84
  //# sourceMappingURL=useInitExecution.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useInitExecution.js","sourceRoot":"","sources":["../../../src/next/hooks/useInitExecution.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,GAEvB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AACnF,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAG5D;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAA2B,EAAE,EAAE;IAC5D,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;IACpE,MAAM,SAAS,GAAG,kBAAkB,CAAC,KAAK,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;IAC1E,MAAM,qBAAqB,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAC9D,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAEtF,OAAO,oBAAoB,CACvB;QACI,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE,CAChB,YAAY,CAAC;YACT,OAAO;YACP,SAAS;YACT,OAAO;YACP,IAAI;YACJ,QAAQ;YACR,OAAO;YACP,MAAM;YACN,MAAM;YACN,qBAAqB;YACrB,MAAM;SACT,CAAC;QACN,qBAAqB,EAAE,IAAI;KAC9B,EACD,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,CAAC,CAC/E,CAAC;AACN,CAAC,CAAC"}
1
+ {"version":3,"file":"useInitExecution.js","sourceRoot":"","sources":["../../../src/next/hooks/useInitExecution.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,8 @@
1
1
  import { AgGridReactProps } from "ag-grid-react";
2
- import { IExecutionResult } from "@gooddata/sdk-backend-spi";
3
- import { IPivotTableNextProps } from "../types/public.js";
2
+ import { ICorePivotTableInnerNextProps } from "../types/public.js";
4
3
  import { AgGridRowData } from "../types/internal.js";
5
4
  /**
6
5
  * @alpha
7
6
  */
8
- export declare const useServerSideRowModel: (props: IPivotTableNextProps & {
9
- executionResult: IExecutionResult;
10
- }) => AgGridReactProps<AgGridRowData>;
7
+ export declare const useServerSideRowModel: (props: ICorePivotTableInnerNextProps) => AgGridReactProps<AgGridRowData>;
11
8
  //# sourceMappingURL=useServerSideRowModel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useServerSideRowModel.d.ts","sourceRoot":"","sources":["../../../src/next/hooks/useServerSideRowModel.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAKrD;;GAEG;AACH,eAAO,MAAM,qBAAqB,GAC9B,OAAO,oBAAoB,GAAG;IAAE,eAAe,EAAE,gBAAgB,CAAA;CAAE,KACpE,gBAAgB,CAAC,aAAa,CAwBhC,CAAC"}
1
+ {"version":3,"file":"useServerSideRowModel.d.ts","sourceRoot":"","sources":["../../../src/next/hooks/useServerSideRowModel.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAKrD;;GAEG;AACH,eAAO,MAAM,qBAAqB,GAC9B,OAAO,6BAA6B,KACrC,gBAAgB,CAAC,aAAa,CAwBhC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useServerSideRowModel.js","sourceRoot":"","sources":["../../../src/next/hooks/useServerSideRowModel.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAKhC,OAAO,EAAE,oCAAoC,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,0BAA0B,EAAE,MAAM,6CAA6C,CAAC;AACzF,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEnG;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACjC,KAAmE,EACpC,EAAE;IACjC,MAAM,EAAE,eAAe,EAAE,GAAG,KAAK,CAAC;IAClC,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IAC1C,MAAM,qBAAqB,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAC9D,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAE5D,MAAM,UAAU,GAAG,OAAO,CACtB,GAAG,EAAE,CACD,0BAA0B,CAAC;QACvB,IAAI;QACJ,QAAQ;QACR,MAAM;QACN,WAAW;QACX,eAAe;QACf,qBAAqB;KACxB,CAAC,EACN,CAAC,qBAAqB,EAAE,eAAe,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,CAChF,CAAC;IAEF,OAAO;QACH,YAAY,EAAE,YAAY;QAC1B,oBAAoB,EAAE,UAAU;QAChC,mCAAmC,EAAE,oCAAoC;KAC5E,CAAC;AACN,CAAC,CAAC"}
1
+ {"version":3,"file":"useServerSideRowModel.js","sourceRoot":"","sources":["../../../src/next/hooks/useServerSideRowModel.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAIhC,OAAO,EAAE,oCAAoC,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,0BAA0B,EAAE,MAAM,6CAA6C,CAAC;AACzF,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEnG;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACjC,KAAoC,EACL,EAAE;IACjC,MAAM,EAAE,eAAe,EAAE,GAAG,KAAK,CAAC;IAClC,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IAC1C,MAAM,qBAAqB,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAC9D,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAE5D,MAAM,UAAU,GAAG,OAAO,CACtB,GAAG,EAAE,CACD,0BAA0B,CAAC;QACvB,IAAI;QACJ,QAAQ;QACR,MAAM;QACN,WAAW;QACX,eAAe;QACf,qBAAqB;KACxB,CAAC,EACN,CAAC,qBAAqB,EAAE,eAAe,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,CAChF,CAAC;IAEF,OAAO;QACH,YAAY,EAAE,YAAY;QAC1B,oBAAoB,EAAE,UAAU;QAChC,mCAAmC,EAAE,oCAAoC;KAC5E,CAAC;AACN,CAAC,CAAC"}
@@ -1,3 +1,3 @@
1
- export { PivotTableNext } from "./PivotTableNext.js";
2
- export type { IPivotTableNextProps } from "./types/public.js";
1
+ export { PivotTableNext, CorePivotTableNext } from "./PivotTableNext.js";
2
+ export type { IPivotTableNextProps, PivotTableNextConfig, ICorePivotTableNextProps } from "./types/public.js";
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/next/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,YAAY,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/next/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzE,YAAY,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC"}
package/esm/next/index.js CHANGED
@@ -1,3 +1,3 @@
1
1
  // (C) 2025 GoodData Corporation
2
- export { PivotTableNext } from "./PivotTableNext.js";
2
+ export { PivotTableNext, CorePivotTableNext } from "./PivotTableNext.js";
3
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/next/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/next/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC"}
@@ -1,4 +1,4 @@
1
- import { ISortItem } from "@gooddata/sdk-model";
1
+ import { ISortItem, IAttribute, IMeasure } from "@gooddata/sdk-model";
2
2
  import { SortModelItem } from "ag-grid-community";
3
3
  import { ITableColumnDefinitionByPivotOrLocalId } from "./mapDataViewToAgGridRowData.js";
4
4
  /**
@@ -16,4 +16,15 @@ import { ITableColumnDefinitionByPivotOrLocalId } from "./mapDataViewToAgGridRow
16
16
  * @returns The desired sort items to apply
17
17
  */
18
18
  export declare function getDesiredSorts(isFirstRequest: boolean, sortModel: SortModelItem[] | undefined, initialSortBy: ISortItem[], columnDefinitionByColId: ITableColumnDefinitionByPivotOrLocalId): ISortItem[];
19
+ /**
20
+ * Maps AG Grid sort model to sort items.
21
+ *
22
+ * @param sortModel - The sort model from AG Grid
23
+ * @param rows - Row attributes for mapping
24
+ * @param measures - Measures for mapping
25
+ * @returns Array of sort items
26
+ *
27
+ * @internal
28
+ */
29
+ export declare function mapSortModelToSortItems(sortModel: SortModelItem[], rows: IAttribute[], measures: IMeasure[]): ISortItem[];
19
30
  //# sourceMappingURL=mapSortModelToSortItems.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mapSortModelToSortItems.d.ts","sourceRoot":"","sources":["../../../src/next/mapProps/mapSortModelToSortItems.ts"],"names":[],"mappings":"AACA,OAAO,EACH,SAAS,EAQZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,EAAE,sCAAsC,EAAE,MAAM,iCAAiC,CAAC;AA2EzF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAC3B,cAAc,EAAE,OAAO,EACvB,SAAS,EAAE,aAAa,EAAE,GAAG,SAAS,EACtC,aAAa,EAAE,SAAS,EAAE,EAC1B,uBAAuB,EAAE,sCAAsC,GAChE,SAAS,EAAE,CA8Bb"}
1
+ {"version":3,"file":"mapSortModelToSortItems.d.ts","sourceRoot":"","sources":["../../../src/next/mapProps/mapSortModelToSortItems.ts"],"names":[],"mappings":"AACA,OAAO,EACH,SAAS,EAQT,UAAU,EACV,QAAQ,EAGX,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,EAAE,sCAAsC,EAAE,MAAM,iCAAiC,CAAC;AA2EzF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAC3B,cAAc,EAAE,OAAO,EACvB,SAAS,EAAE,aAAa,EAAE,GAAG,SAAS,EACtC,aAAa,EAAE,SAAS,EAAE,EAC1B,uBAAuB,EAAE,sCAAsC,GAChE,SAAS,EAAE,CA8Bb;AAED;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CACnC,SAAS,EAAE,aAAa,EAAE,EAC1B,IAAI,EAAE,UAAU,EAAE,EAClB,QAAQ,EAAE,QAAQ,EAAE,GACrB,SAAS,EAAE,CA+Bb"}
@@ -1,5 +1,5 @@
1
1
  // (C) 2025 GoodData Corporation
2
- import { newAttributeSort, newMeasureSort, newMeasureSortFromLocators, } from "@gooddata/sdk-model";
2
+ import { newAttributeSort, newMeasureSort, newMeasureSortFromLocators, attributeLocalId, measureLocalId, } from "@gooddata/sdk-model";
3
3
  import { UnexpectedSdkError } from "@gooddata/sdk-ui";
4
4
  /**
5
5
  * @internal
@@ -95,4 +95,39 @@ export function getDesiredSorts(isFirstRequest, sortModel, initialSortBy, column
95
95
  }
96
96
  return sortItems;
97
97
  }
98
+ /**
99
+ * Maps AG Grid sort model to sort items.
100
+ *
101
+ * @param sortModel - The sort model from AG Grid
102
+ * @param rows - Row attributes for mapping
103
+ * @param measures - Measures for mapping
104
+ * @returns Array of sort items
105
+ *
106
+ * @internal
107
+ */
108
+ export function mapSortModelToSortItems(sortModel, rows, measures) {
109
+ if (!sortModel || sortModel.length === 0) {
110
+ return [];
111
+ }
112
+ const sortItems = [];
113
+ for (const sortItem of sortModel) {
114
+ const { colId, sort } = sortItem;
115
+ if (!colId || !sort)
116
+ continue;
117
+ // First, try to match against attributes (rows)
118
+ const matchingAttribute = rows.find((attr) => attributeLocalId(attr) === colId);
119
+ if (matchingAttribute) {
120
+ sortItems.push(newAttributeSort(matchingAttribute, sort));
121
+ continue;
122
+ }
123
+ // If no attribute match, try to match against measures
124
+ const matchingMeasure = measures.find((measure) => measureLocalId(measure) === colId);
125
+ if (matchingMeasure) {
126
+ sortItems.push(newMeasureSort(matchingMeasure, sort));
127
+ continue;
128
+ }
129
+ console.warn(`No matching attribute or measure found for colId: ${colId}`);
130
+ }
131
+ return sortItems;
132
+ }
98
133
  //# sourceMappingURL=mapSortModelToSortItems.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mapSortModelToSortItems.js","sourceRoot":"","sources":["../../../src/next/mapProps/mapSortModelToSortItems.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mapSortModelToSortItems.js","sourceRoot":"","sources":["../../../src/next/mapProps/mapSortModelToSortItems.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
- import { IAnalyticalBackend } from "@gooddata/sdk-backend-spi";
2
- import { IAttribute, IFilter, IMeasure, ISortItem, ITotal } from "@gooddata/sdk-model";
1
+ import { IAnalyticalBackend, IExecutionResult, IPreparedExecution } from "@gooddata/sdk-backend-spi";
2
+ import { IAttribute, IFilter, IMeasure, ISortItem, ITheme, ITotal } from "@gooddata/sdk-model";
3
+ import { IVisualizationCallbacks } from "@gooddata/sdk-ui";
3
4
  /**
4
5
  * Whether to display measures in columns or rows (transposed).
5
6
  *
@@ -81,5 +82,25 @@ export interface IPivotTableNextProps {
81
82
  * Configuration for the pivot table.
82
83
  */
83
84
  config?: PivotTableNextConfig;
85
+ /**
86
+ * Customize size of page when fetching data from backend.
87
+ *
88
+ * @remarks
89
+ * Default is 100.
90
+ */
91
+ pageSize?: number;
92
+ }
93
+ /**
94
+ * @alpha
95
+ */
96
+ export interface ICorePivotTableNextProps extends IPivotTableNextProps, IVisualizationCallbacks {
97
+ execution: IPreparedExecution;
98
+ theme?: ITheme;
99
+ }
100
+ /**
101
+ * @alpha
102
+ */
103
+ export interface ICorePivotTableInnerNextProps extends ICorePivotTableNextProps {
104
+ executionResult: IExecutionResult;
84
105
  }
85
106
  //# sourceMappingURL=public.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../../src/next/types/public.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAEvF;;;;;;;;GAQG;AACH,MAAM,MAAM,qBAAqB,GAAG,SAAS,GAAG,MAAM,CAAC;AAEvD;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,KAAK,CAAC;AAEnD;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG;IAC/B;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;;;;;;;OAQG;IACH,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IAE9C;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;CACjD,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC;;OAEG;IACH,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAE7B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;IAEvB;;OAEG;IACH,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC;IAEpB;;OAEG;IACH,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;IAEtB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;IAEpB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAElB;;OAEG;IACH,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;IAErB;;OAEG;IACH,MAAM,CAAC,EAAE,oBAAoB,CAAC;CACjC"}
1
+ {"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../../src/next/types/public.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACrG,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC/F,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAE3D;;;;;;;;GAQG;AACH,MAAM,MAAM,qBAAqB,GAAG,SAAS,GAAG,MAAM,CAAC;AAEvD;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,KAAK,CAAC;AAEnD;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG;IAC/B;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;;;;;;;OAQG;IACH,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IAE9C;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;CACjD,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC;;OAEG;IACH,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAE7B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;IAEvB;;OAEG;IACH,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC;IAEpB;;OAEG;IACH,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;IAEtB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;IAEpB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAElB;;OAEG;IACH,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;IAErB;;OAEG;IACH,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAE9B;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAyB,SAAQ,oBAAoB,EAAE,uBAAuB;IAC3F,SAAS,EAAE,kBAAkB,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,6BAA8B,SAAQ,wBAAwB;IAC3E,eAAe,EAAE,gBAAgB,CAAC;CACrC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gooddata/sdk-ui-pivot",
3
- "version": "10.35.0-alpha.45",
3
+ "version": "10.35.0-alpha.47",
4
4
  "description": "GoodData.UI SDK - Pivot Table",
5
5
  "repository": {
6
6
  "type": "git",
@@ -43,12 +43,12 @@
43
43
  "ts-invariant": "^0.7.5",
44
44
  "tslib": "2.8.1",
45
45
  "uuid": "^8.3.2",
46
- "@gooddata/sdk-model": "10.35.0-alpha.45",
47
- "@gooddata/sdk-backend-spi": "10.35.0-alpha.45",
48
- "@gooddata/sdk-ui": "10.35.0-alpha.45",
49
- "@gooddata/sdk-ui-theme-provider": "10.35.0-alpha.45",
50
- "@gooddata/sdk-ui-kit": "10.35.0-alpha.45",
51
- "@gooddata/sdk-ui-vis-commons": "10.35.0-alpha.45"
46
+ "@gooddata/sdk-backend-spi": "10.35.0-alpha.47",
47
+ "@gooddata/sdk-ui": "10.35.0-alpha.47",
48
+ "@gooddata/sdk-ui-theme-provider": "10.35.0-alpha.47",
49
+ "@gooddata/sdk-ui-vis-commons": "10.35.0-alpha.47",
50
+ "@gooddata/sdk-model": "10.35.0-alpha.47",
51
+ "@gooddata/sdk-ui-kit": "10.35.0-alpha.47"
52
52
  },
53
53
  "peerDependencies": {
54
54
  "react": "^16.10.0 || ^17.0.0 || ^18.0.0",
@@ -97,9 +97,9 @@
97
97
  "typescript": "5.8.3",
98
98
  "vitest": "3.2.4",
99
99
  "vitest-dom": "0.1.1",
100
- "@gooddata/reference-workspace": "10.35.0-alpha.45",
101
- "@gooddata/sdk-backend-base": "10.35.0-alpha.45",
102
- "@gooddata/sdk-backend-mockingbird": "10.35.0-alpha.45"
100
+ "@gooddata/reference-workspace": "10.35.0-alpha.47",
101
+ "@gooddata/sdk-backend-base": "10.35.0-alpha.47",
102
+ "@gooddata/sdk-backend-mockingbird": "10.35.0-alpha.47"
103
103
  },
104
104
  "scripts": {
105
105
  "clean": "rm -rf ci dist esm coverage *.log styles/css tsconfig.tsbuildinfo",