@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.
- package/esm/next/PivotTableNext.d.ts +12 -1
- package/esm/next/PivotTableNext.d.ts.map +1 -1
- package/esm/next/PivotTableNext.js +79 -15
- package/esm/next/PivotTableNext.js.map +1 -1
- package/esm/next/constants/internal.d.ts +6 -0
- package/esm/next/constants/internal.d.ts.map +1 -1
- package/esm/next/constants/internal.js +6 -0
- package/esm/next/constants/internal.js.map +1 -1
- package/esm/next/drill/getAvailableDrillTargets.d.ts +12 -0
- package/esm/next/drill/getAvailableDrillTargets.d.ts.map +1 -0
- package/esm/next/drill/getAvailableDrillTargets.js +33 -0
- package/esm/next/drill/getAvailableDrillTargets.js.map +1 -0
- package/esm/next/execution/getExecution.d.ts +1 -2
- package/esm/next/execution/getExecution.d.ts.map +1 -1
- package/esm/next/execution/getExecution.js +3 -8
- package/esm/next/execution/getExecution.js.map +1 -1
- package/esm/next/hooks/useInitExecution.d.ts +23 -3
- package/esm/next/hooks/useInitExecution.d.ts.map +1 -1
- package/esm/next/hooks/useInitExecution.js +72 -16
- package/esm/next/hooks/useInitExecution.js.map +1 -1
- package/esm/next/hooks/useServerSideRowModel.d.ts +2 -5
- package/esm/next/hooks/useServerSideRowModel.d.ts.map +1 -1
- package/esm/next/hooks/useServerSideRowModel.js.map +1 -1
- package/esm/next/index.d.ts +2 -2
- package/esm/next/index.d.ts.map +1 -1
- package/esm/next/index.js +1 -1
- package/esm/next/index.js.map +1 -1
- package/esm/next/mapProps/mapSortModelToSortItems.d.ts +12 -1
- package/esm/next/mapProps/mapSortModelToSortItems.d.ts.map +1 -1
- package/esm/next/mapProps/mapSortModelToSortItems.js +36 -1
- package/esm/next/mapProps/mapSortModelToSortItems.js.map +1 -1
- package/esm/next/types/public.d.ts +23 -2
- package/esm/next/types/public.d.ts.map +1 -1
- 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,
|
|
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
|
-
|
|
13
|
-
|
|
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
|
-
|
|
22
|
+
const execution = useInitExecution(props);
|
|
23
|
+
return React.createElement(CorePivotTableNext, { ...props, execution: execution });
|
|
21
24
|
}
|
|
22
|
-
function
|
|
23
|
-
const {
|
|
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(
|
|
44
|
+
return React.createElement(RenderAgGrid, { ...props, executionResult: executionResult });
|
|
31
45
|
}
|
|
32
|
-
function
|
|
33
|
-
|
|
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
|
-
|
|
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;
|
|
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,
|
|
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;
|
|
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
|
|
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
|
-
|
|
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":"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;
|
|
1
|
+
{"version":3,"file":"getExecution.js","sourceRoot":"","sources":["../../../src/next/execution/getExecution.ts"],"names":[],"mappings":"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"}
|
|
@@ -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) =>
|
|
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":"
|
|
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
|
-
|
|
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) =>
|
|
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
|
-
|
|
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":"
|
|
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 {
|
|
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:
|
|
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,
|
|
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;
|
|
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"}
|
package/esm/next/index.d.ts
CHANGED
|
@@ -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
|
package/esm/next/index.d.ts.map
CHANGED
|
@@ -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;
|
|
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
package/esm/next/index.js.map
CHANGED
|
@@ -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,
|
|
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":"AAAA,gCAAgC;AAChC,OAAO,EAGH,gBAAgB,EAChB,cAAc,EAId,0BAA0B,
|
|
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;
|
|
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.
|
|
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-
|
|
47
|
-
"@gooddata/sdk-
|
|
48
|
-
"@gooddata/sdk-ui": "10.35.0-alpha.
|
|
49
|
-
"@gooddata/sdk-ui-
|
|
50
|
-
"@gooddata/sdk-
|
|
51
|
-
"@gooddata/sdk-ui-
|
|
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.
|
|
101
|
-
"@gooddata/sdk-backend-base": "10.35.0-alpha.
|
|
102
|
-
"@gooddata/sdk-backend-mockingbird": "10.35.0-alpha.
|
|
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",
|