@gooddata/sdk-ui-pivot 10.36.0-alpha.2 → 10.36.0-alpha.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/esm/next/PivotTableNext.d.ts.map +1 -1
  2. package/esm/next/PivotTableNext.js +15 -25
  3. package/esm/next/PivotTableNext.js.map +1 -1
  4. package/esm/next/context/TableMetadataContext.d.ts +24 -0
  5. package/esm/next/context/TableMetadataContext.d.ts.map +1 -0
  6. package/esm/next/context/TableMetadataContext.js +26 -0
  7. package/esm/next/context/TableMetadataContext.js.map +1 -0
  8. package/esm/next/dataSource/createServerSideDataSource.d.ts +3 -1
  9. package/esm/next/dataSource/createServerSideDataSource.d.ts.map +1 -1
  10. package/esm/next/dataSource/createServerSideDataSource.js +4 -1
  11. package/esm/next/dataSource/createServerSideDataSource.js.map +1 -1
  12. package/esm/next/drill/headerMapping.d.ts +7 -0
  13. package/esm/next/drill/headerMapping.d.ts.map +1 -0
  14. package/esm/next/drill/headerMapping.js +74 -0
  15. package/esm/next/drill/headerMapping.js.map +1 -0
  16. package/esm/next/drill/intersection.d.ts +12 -0
  17. package/esm/next/drill/intersection.d.ts.map +1 -0
  18. package/esm/next/drill/intersection.js +38 -0
  19. package/esm/next/drill/intersection.js.map +1 -0
  20. package/esm/next/drill/isDrillable.d.ts +15 -0
  21. package/esm/next/drill/isDrillable.d.ts.map +1 -0
  22. package/esm/next/drill/isDrillable.js +51 -0
  23. package/esm/next/drill/isDrillable.js.map +1 -0
  24. package/esm/next/hooks/useDrilling.d.ts +18 -0
  25. package/esm/next/hooks/useDrilling.d.ts.map +1 -0
  26. package/esm/next/hooks/useDrilling.js +81 -0
  27. package/esm/next/hooks/useDrilling.js.map +1 -0
  28. package/esm/next/hooks/useServerSideRowModel.d.ts.map +1 -1
  29. package/esm/next/hooks/useServerSideRowModel.js +4 -1
  30. package/esm/next/hooks/useServerSideRowModel.js.map +1 -1
  31. package/esm/next/hooks/useSorting.d.ts +18 -0
  32. package/esm/next/hooks/useSorting.d.ts.map +1 -0
  33. package/esm/next/hooks/useSorting.js +34 -0
  34. package/esm/next/hooks/useSorting.js.map +1 -0
  35. package/esm/next/mapProps/mapDataViewToAgGridRowData.d.ts.map +1 -1
  36. package/esm/next/mapProps/mapDataViewToAgGridRowData.js +9 -1
  37. package/esm/next/mapProps/mapDataViewToAgGridRowData.js.map +1 -1
  38. package/esm/next/types/public.d.ts +7 -3
  39. package/esm/next/types/public.d.ts.map +1 -1
  40. package/package.json +10 -10
@@ -1 +1 @@
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
+ {"version":3,"file":"PivotTableNext.d.ts","sourceRoot":"","sources":["../../src/next/PivotTableNext.tsx"],"names":[],"mappings":"AACA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAMvC,OAAO,EAEH,wBAAwB,EACxB,oBAAoB,EACvB,MAAM,mBAAmB,CAAC;AAgB3B;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,oBAAoB,qBAIzD;AAED,iBAAS,kBAAkB,CAAC,KAAK,EAAE,wBAAwB,qBAoC1D;AAoCD;;;;GAIG;AACH,QAAA,MAAM,0BAA0B,sDAyB9B,CAAC;AAEH,OAAO,EAAE,0BAA0B,IAAI,kBAAkB,EAAE,CAAC"}
@@ -1,17 +1,19 @@
1
1
  // (C) 2025 GoodData Corporation
2
- import React, { useCallback, useMemo } from "react";
2
+ import React, { useMemo } from "react";
3
3
  import { AgGridReact } from "ag-grid-react";
4
4
  import { ModuleRegistry, AllEnterpriseModule } from "ag-grid-enterprise";
5
+ import isEqual from "lodash/isEqual.js";
5
6
  import { ErrorComponent } from "./components/ErrorComponent.js";
6
7
  import { LoadingComponent } from "./components/LoadingComponent.js";
7
8
  import { useInitExecution, useInitExecutionResult } from "./hooks/useInitExecution.js";
8
9
  import { useServerSideRowModel } from "./hooks/useServerSideRowModel.js";
10
+ import { useDrilling } from "./hooks/useDrilling.js";
11
+ import { useSorting } from "./hooks/useSorting.js";
9
12
  import { getIsPivotMode, getMeasureGroupDimension, getExecutionProps, getColumnHeadersPosition, } from "./mapProps/props.js";
10
13
  import { mapDimensionsToColDefs } from "./mapProps/mapDimensionsToColDefs.js";
11
- import { mapSortModelToSortItems } from "./mapProps/mapSortModelToSortItems.js";
12
14
  import { AG_GRID_DEFAULT_PROPS } from "./constants/agGrid.js";
13
15
  import { PAGE_SIZE } from "./constants/internal.js";
14
- import isEqual from "lodash/isEqual.js";
16
+ import { TableMetadataProvider } from "./context/TableMetadataContext.js";
15
17
  /**
16
18
  * Simple wrapper for the core pivot table component that creates execution based on provided props.
17
19
  * There is no sophisticated props validation so when used directly, it is recommended to handle the validation yourself.
@@ -41,7 +43,8 @@ function CorePivotTableNext(props) {
41
43
  if (status === "pending" || status === "loading") {
42
44
  return React.createElement(LoadingComponent, null);
43
45
  }
44
- return React.createElement(RenderAgGrid, { ...props, executionResult: executionResult });
46
+ return (React.createElement(TableMetadataProvider, null,
47
+ React.createElement(RenderAgGrid, { ...props, executionResult: executionResult })));
45
48
  }
46
49
  function RenderAgGrid(props) {
47
50
  useMemo(() => {
@@ -50,34 +53,17 @@ function RenderAgGrid(props) {
50
53
  AllEnterpriseModule,
51
54
  ]);
52
55
  }, []);
53
- const { executionResult, pushData } = props;
56
+ const { executionResult, pushData, drillableItems, onDrill } = props;
54
57
  const serverSideRowModelProps = useServerSideRowModel({ ...props, executionResult });
55
58
  const measureGroupDimension = getMeasureGroupDimension(props);
56
59
  const { sortBy, rows, measures } = getExecutionProps(props);
60
+ const sortingHandlers = useSorting({ pushData, rows, measures });
61
+ const drillingHandlers = useDrilling({ drillableItems, onDrill });
57
62
  const columnDefs = executionResult?.dimensions
58
63
  ? mapDimensionsToColDefs(executionResult.dimensions, measureGroupDimension, sortBy)
59
64
  : [];
60
65
  const isPivotMode = getIsPivotMode(props);
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 }));
66
+ return (React.createElement(AgGridReact, { ...AG_GRID_DEFAULT_PROPS, ...serverSideRowModelProps, columnDefs: columnDefs, pivotMode: isPivotMode, onSortChanged: sortingHandlers.onSortChanged, onCellClicked: drillingHandlers.onCellClicked, onCellKeyDown: drillingHandlers.onCellKeyDown }));
81
67
  }
82
68
  /**
83
69
  * Memoized wrapper for the AgGridReact component that needs to be provided with prepared execution.
@@ -93,6 +79,8 @@ const MemoizedCorePivotTableNext = React.memo(CorePivotTableNext, (prevProps, ne
93
79
  const columnsChanged = !isEqual(prevProps.columns, nextProps.columns);
94
80
  const filtersChanged = !isEqual(prevProps.filters, nextProps.filters);
95
81
  const sortChanged = !isEqual(prevProps.sortBy, nextProps.sortBy);
82
+ const totalsChanged = !isEqual(prevProps.totals, nextProps.totals);
83
+ const drillableItemsChanged = !isEqual(prevProps.drillableItems, nextProps.drillableItems);
96
84
  const themeChanged = prevProps.theme !== nextProps.theme;
97
85
  return !(executionChanged ||
98
86
  configChanged ||
@@ -101,6 +89,8 @@ const MemoizedCorePivotTableNext = React.memo(CorePivotTableNext, (prevProps, ne
101
89
  columnsChanged ||
102
90
  filtersChanged ||
103
91
  sortChanged ||
92
+ totalsChanged ||
93
+ drillableItemsChanged ||
104
94
  themeChanged);
105
95
  });
106
96
  export { MemoizedCorePivotTableNext as CorePivotTableNext };
@@ -1 +1 @@
1
- {"version":3,"file":"PivotTableNext.js","sourceRoot":"","sources":["../../src/next/PivotTableNext.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PivotTableNext.js","sourceRoot":"","sources":["../../src/next/PivotTableNext.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,OAAO,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAMpE,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACvF,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EACH,cAAc,EACd,wBAAwB,EACxB,iBAAiB,EACjB,wBAAwB,GAC3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAE1E;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,KAA2B;IACtD,MAAM,SAAS,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAE1C,OAAO,oBAAC,kBAAkB,OAAK,KAAK,EAAE,SAAS,EAAE,SAAS,GAAI,CAAC;AACnE,CAAC;AAED,SAAS,kBAAkB,CAAC,KAA+B;IACvD,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,GAAG,SAAS,EAAE,GAAG,KAAK,CAAC;IAC7F,MAAM,qBAAqB,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAC9D,MAAM,qBAAqB,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAE9D,MAAM,EACF,MAAM,EAAE,eAAe,EACvB,MAAM,EACN,KAAK,GACR,GAAG,sBAAsB,CACtB,SAAS,EACT;QACI,gBAAgB;QAChB,QAAQ;QACR,aAAa;KAChB,EACD;QACI,qBAAqB;QACrB,qBAAqB;QACrB,QAAQ;KACX,CACJ,CAAC;IAEF,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,CACH,oBAAC,qBAAqB;QAClB,oBAAC,YAAY,OAAK,KAAK,EAAE,eAAe,EAAE,eAAe,GAAI,CACzC,CAC3B,CAAC;AACN,CAAC;AAED,SAAS,YAAY,CAAC,KAAoC;IACtD,OAAO,CAAC,GAAG,EAAE;QACT,cAAc,CAAC,eAAe,CAAC;YAC3B,iEAAiE;YACjE,mBAAmB;SACtB,CAAC,CAAC;IACP,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IACrE,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,IAAI,EAAE,QAAQ,EAAE,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAC5D,MAAM,eAAe,GAAG,UAAU,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IACjE,MAAM,gBAAgB,GAAG,WAAW,CAAC,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,CAAC;IAElE,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,EACtB,aAAa,EAAE,eAAe,CAAC,aAAa,EAC5C,aAAa,EAAE,gBAAgB,CAAC,aAAa,EAC7C,aAAa,EAAE,gBAAgB,CAAC,aAAa,GAC/C,CACL,CAAC;AACN,CAAC;AAED;;;;GAIG;AACH,MAAM,0BAA0B,GAAG,KAAK,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,EAAE;IACvF,2DAA2D;IAC3D,MAAM,gBAAgB,GAAG,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;IACjG,MAAM,aAAa,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACnE,MAAM,eAAe,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;IACzE,MAAM,WAAW,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;IAC7D,MAAM,cAAc,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IACtE,MAAM,cAAc,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IACtE,MAAM,WAAW,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACjE,MAAM,aAAa,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACnE,MAAM,qBAAqB,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,cAAc,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;IAC3F,MAAM,YAAY,GAAG,SAAS,CAAC,KAAK,KAAK,SAAS,CAAC,KAAK,CAAC;IAEzD,OAAO,CAAC,CACJ,gBAAgB;QAChB,aAAa;QACb,eAAe;QACf,WAAW;QACX,cAAc;QACd,cAAc;QACd,WAAW;QACX,aAAa;QACb,qBAAqB;QACrB,YAAY,CACf,CAAC;AACN,CAAC,CAAC,CAAC;AAEH,OAAO,EAAE,0BAA0B,IAAI,kBAAkB,EAAE,CAAC"}
@@ -0,0 +1,24 @@
1
+ import React, { ReactNode } from "react";
2
+ import { DataViewFacade } from "@gooddata/sdk-ui";
3
+ /**
4
+ * Context for sharing table metadata between data source and other components
5
+ * @internal
6
+ */
7
+ interface ITableMetadataContext {
8
+ currentDataView: DataViewFacade | null;
9
+ setCurrentDataView: (dataView: DataViewFacade | null) => void;
10
+ }
11
+ /**
12
+ * Provider for table metadata context
13
+ * @internal
14
+ */
15
+ export declare function TableMetadataProvider({ children }: {
16
+ children: ReactNode;
17
+ }): React.JSX.Element;
18
+ /**
19
+ * Hook to access table metadata context
20
+ * @internal
21
+ */
22
+ export declare function useTableMetadata(): ITableMetadataContext;
23
+ export {};
24
+ //# sourceMappingURL=TableMetadataContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableMetadataContext.d.ts","sourceRoot":"","sources":["../../../src/next/context/TableMetadataContext.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAuC,SAAS,EAAE,MAAM,OAAO,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD;;;GAGG;AACH,UAAU,qBAAqB;IAC3B,eAAe,EAAE,cAAc,GAAG,IAAI,CAAC;IACvC,kBAAkB,EAAE,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI,KAAK,IAAI,CAAC;CACjE;AAID;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,qBAa1E;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,qBAAqB,CAMxD"}
@@ -0,0 +1,26 @@
1
+ // (C) 2025 GoodData Corporation
2
+ import React, { createContext, useContext, useState } from "react";
3
+ const TableMetadataContext = createContext(undefined);
4
+ /**
5
+ * Provider for table metadata context
6
+ * @internal
7
+ */
8
+ export function TableMetadataProvider({ children }) {
9
+ const [currentDataView, setCurrentDataView] = useState(null);
10
+ return (React.createElement(TableMetadataContext.Provider, { value: {
11
+ currentDataView,
12
+ setCurrentDataView,
13
+ } }, children));
14
+ }
15
+ /**
16
+ * Hook to access table metadata context
17
+ * @internal
18
+ */
19
+ export function useTableMetadata() {
20
+ const context = useContext(TableMetadataContext);
21
+ if (context === undefined) {
22
+ throw new Error("useTableMetadata must be used within a TableMetadataProvider");
23
+ }
24
+ return context;
25
+ }
26
+ //# sourceMappingURL=TableMetadataContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableMetadataContext.js","sourceRoot":"","sources":["../../../src/next/context/TableMetadataContext.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAa,MAAM,OAAO,CAAC;AAY9E,MAAM,oBAAoB,GAAG,aAAa,CAAoC,SAAS,CAAC,CAAC;AAEzF;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,EAAE,QAAQ,EAA2B;IACvE,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAwB,IAAI,CAAC,CAAC;IAEpF,OAAO,CACH,oBAAC,oBAAoB,CAAC,QAAQ,IAC1B,KAAK,EAAE;YACH,eAAe;YACf,kBAAkB;SACrB,IAEA,QAAQ,CACmB,CACnC,CAAC;AACN,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB;IAC5B,MAAM,OAAO,GAAG,UAAU,CAAC,oBAAoB,CAAC,CAAC;IACjD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;IACpF,CAAC;IACD,OAAO,OAAO,CAAC;AACnB,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { IServerSideDatasource } from "ag-grid-enterprise";
2
2
  import { IExecutionResult } from "@gooddata/sdk-backend-spi";
3
+ import { DataViewFacade } from "@gooddata/sdk-ui";
3
4
  import { ColumnHeadersPosition } from "../types/public.js";
4
5
  import { AgGridRowData } from "../types/internal.js";
5
6
  import { IAttribute, IMeasure, ISortItem } from "@gooddata/sdk-model";
@@ -13,7 +14,8 @@ interface ICreateServerSideDataSourceParams {
13
14
  executionResult: IExecutionResult;
14
15
  isPivotMode: boolean;
15
16
  columnHeadersPosition: ColumnHeadersPosition;
17
+ setCurrentDataView: (dataView: DataViewFacade | null) => void;
16
18
  }
17
- export declare const createServerSideDataSource: ({ measures, rows, sortBy, executionResult, isPivotMode, columnHeadersPosition, }: ICreateServerSideDataSourceParams) => IServerSideDatasource<AgGridRowData>;
19
+ export declare const createServerSideDataSource: ({ measures, rows, sortBy, executionResult, isPivotMode, columnHeadersPosition, setCurrentDataView, }: ICreateServerSideDataSourceParams) => IServerSideDatasource<AgGridRowData>;
18
20
  export {};
19
21
  //# sourceMappingURL=createServerSideDataSource.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createServerSideDataSource.d.ts","sourceRoot":"","sources":["../../../src/next/dataSource/createServerSideDataSource.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAA+C,MAAM,oBAAoB,CAAC;AACxG,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGrD,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAQtE;;GAEG;AACH,UAAU,iCAAiC;IACvC,QAAQ,EAAE,QAAQ,EAAE,CAAC;IACrB,IAAI,EAAE,UAAU,EAAE,CAAC;IACnB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,eAAe,EAAE,gBAAgB,CAAC;IAClC,WAAW,EAAE,OAAO,CAAC;IACrB,qBAAqB,EAAE,qBAAqB,CAAC;CAChD;AAED,eAAO,MAAM,0BAA0B,GAAI,kFAOxC,iCAAiC,KAAG,qBAAqB,CAAC,aAAa,CAgEzE,CAAC"}
1
+ {"version":3,"file":"createServerSideDataSource.d.ts","sourceRoot":"","sources":["../../../src/next/dataSource/createServerSideDataSource.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAA+C,MAAM,oBAAoB,CAAC;AACxG,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGrD,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAQtE;;GAEG;AACH,UAAU,iCAAiC;IACvC,QAAQ,EAAE,QAAQ,EAAE,CAAC;IACrB,IAAI,EAAE,UAAU,EAAE,CAAC;IACnB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,eAAe,EAAE,gBAAgB,CAAC;IAClC,WAAW,EAAE,OAAO,CAAC;IACrB,qBAAqB,EAAE,qBAAqB,CAAC;IAC7C,kBAAkB,EAAE,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI,KAAK,IAAI,CAAC;CACjE;AAED,eAAO,MAAM,0BAA0B,GAAI,sGAQxC,iCAAiC,KAAG,qBAAqB,CAAC,aAAa,CAoEzE,CAAC"}
@@ -3,13 +3,15 @@ import { AG_GRID_DEFAULT_CACHE_BLOCK_SIZE } from "../constants/agGrid.js";
3
3
  import { getDesiredSorts } from "../mapProps/mapSortModelToSortItems.js";
4
4
  import { mapDataViewToAgGridRowData, } from "../mapProps/mapDataViewToAgGridRowData.js";
5
5
  import isEqual from "lodash/isEqual.js";
6
- export const createServerSideDataSource = ({ measures, rows, sortBy, executionResult, isPivotMode, columnHeadersPosition = "top", }) => {
6
+ export const createServerSideDataSource = ({ measures, rows, sortBy, executionResult, isPivotMode, columnHeadersPosition = "top", setCurrentDataView, }) => {
7
7
  const abortController = new AbortController();
8
8
  let isFirstRequest = true;
9
9
  let resultColumnDefinitionByColId = {};
10
10
  return {
11
11
  destroy: () => {
12
12
  abortController.abort();
13
+ // Clear the context when data source is destroyed
14
+ setCurrentDataView(null);
13
15
  },
14
16
  getRows: async (params) => {
15
17
  const startRow = params.request.startRow ?? 0;
@@ -41,6 +43,7 @@ export const createServerSideDataSource = ({ measures, rows, sortBy, executionRe
41
43
  successParam.pivotResultFields = pivotResultFields;
42
44
  }
43
45
  resultColumnDefinitionByColId = columnDefinitionByColId;
46
+ setCurrentDataView(dataView);
44
47
  params.success(successParam);
45
48
  params.api.setGridOption("pinnedBottomRowData", grandTotalRowData);
46
49
  })
@@ -1 +1 @@
1
- {"version":3,"file":"createServerSideDataSource.js","sourceRoot":"","sources":["../../../src/next/dataSource/createServerSideDataSource.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,6BAA6B,EAAE,MAAM,8BAA8B,CAAC;AAC7E,OAAO,EAAE,gCAAgC,EAAE,MAAM,wBAAwB,CAAC;AAE1E,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AACzE,OAAO,EAEH,0BAA0B,GAC7B,MAAM,2CAA2C,CAAC;AACnD,OAAO,OAAO,MAAM,mBAAmB,CAAC;AAcxC,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,EACvC,QAAQ,EACR,IAAI,EACJ,MAAM,EACN,eAAe,EACf,WAAW,EACX,qBAAqB,GAAG,KAAK,GACG,EAAwC,EAAE;IAC1E,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;IAC9C,IAAI,cAAc,GAAG,IAAI,CAAC;IAC1B,IAAI,6BAA6B,GAA2C,EAAE,CAAC;IAE/E,OAAO;QACH,OAAO,EAAE,GAAG,EAAE;YACV,eAAe,CAAC,KAAK,EAAE,CAAC;QAC5B,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,MAA+C,EAAE,EAAE;YAC/D,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC;YAC9C,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,IAAI,gCAAgC,CAAC;YACzE,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;YAE3C,MAAM,YAAY,GAAG,eAAe,CAChC,cAAc,EACd,SAAS,EACT,MAAM,EACN,6BAA6B,CAChC,CAAC;YAEF,IAAI,wBAAwB,GAAG,eAAe,CAAC;YAC/C,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,EAAE,CAAC;gBACjC,wBAAwB,GAAG,MAAM,eAAe;qBAC3C,SAAS,EAAE;qBACX,WAAW,CAAC,GAAG,YAAY,CAAC;qBAC5B,OAAO,EAAE,CAAC;YACnB,CAAC;YAED,6BAA6B,CAAC;gBAC1B,eAAe,EAAE,wBAAwB;gBACzC,QAAQ;gBACR,MAAM;aACT,CAAC;iBACG,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;gBACf,MAAM,EAAE,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,GAC5E,0BAA0B,CAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAC;gBAEhE,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAEhE,2HAA2H;gBAC3H,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBAEjF,MAAM,YAAY,GAAqC;oBACnD,OAAO;oBACP,QAAQ,EAAE,aAAa;iBAC1B,CAAC;gBAEF,IAAI,WAAW,EAAE,CAAC;oBACd,YAAY,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;gBACvD,CAAC;gBACD,6BAA6B,GAAG,uBAAuB,CAAC;gBAExD,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;gBAC7B,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,qBAAqB,EAAE,iBAAiB,CAAC,CAAC;YACvE,CAAC,CAAC;iBACD,KAAK,CAAC,GAAG,EAAE;gBACR,MAAM,CAAC,IAAI,EAAE,CAAC;YAClB,CAAC,CAAC;iBACD,OAAO,CAAC,GAAG,EAAE;gBACV,cAAc,GAAG,KAAK,CAAC;YAC3B,CAAC,CAAC,CAAC;QACX,CAAC;KACJ,CAAC;AACN,CAAC,CAAC"}
1
+ {"version":3,"file":"createServerSideDataSource.js","sourceRoot":"","sources":["../../../src/next/dataSource/createServerSideDataSource.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { IMappingHeader, ITableRowDefinition, ITableColumnDefinition } from "@gooddata/sdk-ui";
2
+ export declare function extractAllColumnMappingHeaders(columnDefinition: ITableColumnDefinition): IMappingHeader[];
3
+ export declare function extractRowMappingHeadersAtPosition(rowDefinition: ITableRowDefinition, position: number): IMappingHeader[];
4
+ export declare function extractRowMappingHeadersUpToPosition(rowDefinition: ITableRowDefinition, position: number): IMappingHeader[];
5
+ export declare function extractAllRowMappingHeaders(rowDefinition: ITableRowDefinition): IMappingHeader[];
6
+ export declare function extractAllRowMeasureMappingHeaders(rowDefinition: ITableRowDefinition): IMappingHeader[];
7
+ //# sourceMappingURL=headerMapping.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"headerMapping.d.ts","sourceRoot":"","sources":["../../../src/next/drill/headerMapping.ts"],"names":[],"mappings":"AAEA,OAAO,EAEH,cAAc,EACd,mBAAmB,EACnB,sBAAsB,EACzB,MAAM,kBAAkB,CAAC;AA0D1B,wBAAgB,8BAA8B,CAAC,gBAAgB,EAAE,sBAAsB,GAAG,cAAc,EAAE,CAUzG;AAED,wBAAgB,kCAAkC,CAC9C,aAAa,EAAE,mBAAmB,EAClC,QAAQ,EAAE,MAAM,GACjB,cAAc,EAAE,CAMlB;AAED,wBAAgB,oCAAoC,CAChD,aAAa,EAAE,mBAAmB,EAClC,QAAQ,EAAE,MAAM,GACjB,cAAc,EAAE,CAMlB;AAED,wBAAgB,2BAA2B,CAAC,aAAa,EAAE,mBAAmB,GAAG,cAAc,EAAE,CAMhG;AAED,wBAAgB,kCAAkC,CAAC,aAAa,EAAE,mBAAmB,GAAG,cAAc,EAAE,CAQvG"}
@@ -0,0 +1,74 @@
1
+ // (C) 2025 GoodData Corporation
2
+ import { isMeasureDescriptor } from "@gooddata/sdk-model";
3
+ function extractMappingHeadersUpToPosition(scopes, position) {
4
+ return scopes.flatMap((scope, scopeIndex) => {
5
+ if (scopeIndex > position) {
6
+ return [];
7
+ }
8
+ if (scope.type === "measureGroupScope") {
9
+ throw new Error("measureGroupScope header is not supported");
10
+ }
11
+ if (scope.type !== "measureScope") {
12
+ return [scope.header, scope.descriptor];
13
+ }
14
+ return [scope.descriptor];
15
+ });
16
+ }
17
+ function extractMappingHeadersAtPosition(scopes, position) {
18
+ return scopes.flatMap((scope, scopeIndex) => {
19
+ if (scopeIndex !== position) {
20
+ return [];
21
+ }
22
+ if (scope.type === "measureGroupScope") {
23
+ throw new Error("measureGroupScope header is not supported");
24
+ }
25
+ if (scope.type !== "measureScope") {
26
+ return [scope.header, scope.descriptor];
27
+ }
28
+ return [scope.descriptor];
29
+ });
30
+ }
31
+ function extractAllMappingHeaders(scopes) {
32
+ return scopes.flatMap((scope) => {
33
+ if (scope.type === "measureGroupScope") {
34
+ throw new Error("measureGroupScope header is not supported");
35
+ }
36
+ if (scope.type !== "measureScope") {
37
+ return [scope.header, scope.descriptor];
38
+ }
39
+ return [scope.descriptor];
40
+ });
41
+ }
42
+ export function extractAllColumnMappingHeaders(columnDefinition) {
43
+ if (columnDefinition.type === "value" ||
44
+ columnDefinition.type === "subtotal" ||
45
+ columnDefinition.type === "grandTotal") {
46
+ return extractAllMappingHeaders(columnDefinition.columnScope);
47
+ }
48
+ return [];
49
+ }
50
+ export function extractRowMappingHeadersAtPosition(rowDefinition, position) {
51
+ if (rowDefinition.type === "value" || rowDefinition.type === "subtotal") {
52
+ return extractMappingHeadersAtPosition(rowDefinition.rowScope, position);
53
+ }
54
+ return [];
55
+ }
56
+ export function extractRowMappingHeadersUpToPosition(rowDefinition, position) {
57
+ if (rowDefinition.type === "value" || rowDefinition.type === "subtotal") {
58
+ return extractMappingHeadersUpToPosition(rowDefinition.rowScope, position);
59
+ }
60
+ return [];
61
+ }
62
+ export function extractAllRowMappingHeaders(rowDefinition) {
63
+ if (rowDefinition.type === "value" || rowDefinition.type === "subtotal") {
64
+ return extractAllMappingHeaders(rowDefinition.rowScope);
65
+ }
66
+ return [];
67
+ }
68
+ export function extractAllRowMeasureMappingHeaders(rowDefinition) {
69
+ if (rowDefinition.type === "value" || rowDefinition.type === "subtotal") {
70
+ return extractAllMappingHeaders(rowDefinition.rowScope).filter((header) => isMeasureDescriptor(header));
71
+ }
72
+ return [];
73
+ }
74
+ //# sourceMappingURL=headerMapping.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"headerMapping.js","sourceRoot":"","sources":["../../../src/next/drill/headerMapping.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { ColDef } from "ag-grid-community";
2
+ import { IDrillEventIntersectionElement } from "@gooddata/sdk-ui";
3
+ import { AgGridRowData } from "../types/internal.js";
4
+ /**
5
+ * Creates drill intersection elements for a cell
6
+ *
7
+ * @param colDef - The column definition from ag-grid
8
+ * @param data - The row data from ag-grid
9
+ * @returns Array of drill intersection elements
10
+ */
11
+ export declare function createDrillIntersection(colDef: ColDef<AgGridRowData, string>, data: AgGridRowData): IDrillEventIntersectionElement[];
12
+ //# sourceMappingURL=intersection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intersection.d.ts","sourceRoot":"","sources":["../../../src/next/drill/intersection.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAwC,8BAA8B,EAAE,MAAM,kBAAkB,CAAC;AACxG,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAuCrD;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACnC,MAAM,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,EACrC,IAAI,EAAE,aAAa,GACpB,8BAA8B,EAAE,CAIlC"}
@@ -0,0 +1,38 @@
1
+ import { getDrillIntersection } from "@gooddata/sdk-ui";
2
+ import { extractAllColumnMappingHeaders, extractRowMappingHeadersUpToPosition } from "./headerMapping.js";
3
+ /**
4
+ * Creates mapping headers for drill intersection for a cell
5
+ *
6
+ * @param colDef - The column definition from ag-grid
7
+ * @param data - The row data from ag-grid
8
+ * @returns Array of mapping headers
9
+ */
10
+ function createCellMappingHeadersForIntersection(colDef, data) {
11
+ const mappingHeaders = [];
12
+ const colId = colDef.colId;
13
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
14
+ // @ts-expect-error
15
+ const colData = data.meta[colId];
16
+ const rowDefinition = colData.rowDefinition;
17
+ const columnDefinition = colData.columnDefinition;
18
+ if (colData.type === "attributeHeader") {
19
+ mappingHeaders.push(...extractRowMappingHeadersUpToPosition(rowDefinition, columnDefinition.columnIndex));
20
+ }
21
+ if (colData.type === "value") {
22
+ mappingHeaders.push(...extractRowMappingHeadersUpToPosition(rowDefinition, columnDefinition.columnIndex));
23
+ mappingHeaders.push(...extractAllColumnMappingHeaders(columnDefinition));
24
+ }
25
+ return mappingHeaders;
26
+ }
27
+ /**
28
+ * Creates drill intersection elements for a cell
29
+ *
30
+ * @param colDef - The column definition from ag-grid
31
+ * @param data - The row data from ag-grid
32
+ * @returns Array of drill intersection elements
33
+ */
34
+ export function createDrillIntersection(colDef, data) {
35
+ const mappingHeaders = createCellMappingHeadersForIntersection(colDef, data);
36
+ return getDrillIntersection(mappingHeaders);
37
+ }
38
+ //# sourceMappingURL=intersection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intersection.js","sourceRoot":"","sources":["../../../src/next/drill/intersection.ts"],"names":[],"mappings":"AAEA,OAAO,EAAkB,oBAAoB,EAAkC,MAAM,kBAAkB,CAAC;AAExG,OAAO,EAAE,8BAA8B,EAAE,oCAAoC,EAAE,MAAM,oBAAoB,CAAC;AAE1G;;;;;;GAMG;AACH,SAAS,uCAAuC,CAC5C,MAAqC,EACrC,IAAmB;IAEnB,MAAM,cAAc,GAAqB,EAAE,CAAC;IAC5C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAM,CAAC;IAC5B,6DAA6D;IAC7D,mBAAmB;IACnB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAoB,CAAC;IAEpD,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;IAC5C,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAElD,IAAI,OAAO,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;QACrC,cAAc,CAAC,IAAI,CACf,GAAG,oCAAoC,CAAC,aAAa,EAAE,gBAAgB,CAAC,WAAW,CAAC,CACvF,CAAC;IACN,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC3B,cAAc,CAAC,IAAI,CACf,GAAG,oCAAoC,CAAC,aAAa,EAAE,gBAAgB,CAAC,WAAW,CAAC,CACvF,CAAC;QACF,cAAc,CAAC,IAAI,CAAC,GAAG,8BAA8B,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC7E,CAAC;IAED,OAAO,cAAc,CAAC;AAC1B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CACnC,MAAqC,EACrC,IAAmB;IAEnB,MAAM,cAAc,GAAG,uCAAuC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAE7E,OAAO,oBAAoB,CAAC,cAAc,CAAC,CAAC;AAChD,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { DataViewFacade, ExplicitDrill } from "@gooddata/sdk-ui";
2
+ import { AgGridRowData } from "../types/internal.js";
3
+ import { ColDef } from "ag-grid-community";
4
+ /**
5
+ * Checks if a cell is drillable based on drillable items and cell data
6
+ *
7
+ * @param colDef - The column definition from ag-grid
8
+ * @param data - The row data from ag-grid
9
+ * @param drillableItems - Array of drillable items to check against
10
+ * @param dv - Current data view facade for context
11
+ * @param isTransposed - Whether the table is transposed
12
+ * @returns True if the cell is drillable, false otherwise
13
+ */
14
+ export declare function isCellDrillable(colDef: ColDef<AgGridRowData, string>, data: AgGridRowData, drillableItems: ExplicitDrill[], dv: DataViewFacade, isTransposed: boolean): boolean;
15
+ //# sourceMappingURL=isDrillable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isDrillable.d.ts","sourceRoot":"","sources":["../../../src/next/drill/isDrillable.ts"],"names":[],"mappings":"AACA,OAAO,EAIH,cAAc,EACd,aAAa,EAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AA8C3C;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAC3B,MAAM,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,EACrC,IAAI,EAAE,aAAa,EACnB,cAAc,EAAE,aAAa,EAAE,EAC/B,EAAE,EAAE,cAAc,EAClB,YAAY,EAAE,OAAO,GACtB,OAAO,CAWT"}
@@ -0,0 +1,51 @@
1
+ // (C) 2025 GoodData Corporation
2
+ import { isSomeHeaderPredicateMatched, convertDrillableItemsToPredicates, } from "@gooddata/sdk-ui";
3
+ import { extractAllColumnMappingHeaders, extractAllRowMeasureMappingHeaders, extractRowMappingHeadersAtPosition, } from "./headerMapping.js";
4
+ /**
5
+ * Extracts headers for drill intersection for a cell
6
+ *
7
+ * @param colDef - The column definition from ag-grid
8
+ * @param data - The row data from ag-grid
9
+ * @param isTransposed - Whether the table is transposed
10
+ * @returns Array of mapping headers
11
+ */
12
+ function getCellDrillHeaders(colDef, data, isTransposed) {
13
+ const mappingHeaders = [];
14
+ const colId = colDef.colId;
15
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
16
+ // @ts-expect-error
17
+ const colData = data.meta[colId];
18
+ const rowDefinition = colData.rowDefinition;
19
+ const columnDefinition = colData.columnDefinition;
20
+ if (colData.type === "attributeHeader") {
21
+ mappingHeaders.push(...extractRowMappingHeadersAtPosition(rowDefinition, columnDefinition.columnIndex));
22
+ }
23
+ if (colData.type === "value") {
24
+ if (!isTransposed) {
25
+ mappingHeaders.push(...extractAllColumnMappingHeaders(columnDefinition));
26
+ }
27
+ else {
28
+ mappingHeaders.push(...extractAllRowMeasureMappingHeaders(rowDefinition));
29
+ }
30
+ }
31
+ return mappingHeaders;
32
+ }
33
+ /**
34
+ * Checks if a cell is drillable based on drillable items and cell data
35
+ *
36
+ * @param colDef - The column definition from ag-grid
37
+ * @param data - The row data from ag-grid
38
+ * @param drillableItems - Array of drillable items to check against
39
+ * @param dv - Current data view facade for context
40
+ * @param isTransposed - Whether the table is transposed
41
+ * @returns True if the cell is drillable, false otherwise
42
+ */
43
+ export function isCellDrillable(colDef, data, drillableItems, dv, isTransposed) {
44
+ const mappingHeaders = getCellDrillHeaders(colDef, data, isTransposed);
45
+ if (mappingHeaders.length === 0) {
46
+ return false;
47
+ }
48
+ const drillablePredicates = convertDrillableItemsToPredicates(drillableItems);
49
+ return mappingHeaders.some((header) => isSomeHeaderPredicateMatched(drillablePredicates, header, dv));
50
+ }
51
+ //# sourceMappingURL=isDrillable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isDrillable.js","sourceRoot":"","sources":["../../../src/next/drill/isDrillable.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,EAEH,4BAA4B,EAC5B,iCAAiC,GAGpC,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACH,8BAA8B,EAC9B,kCAAkC,EAClC,kCAAkC,GACrC,MAAM,oBAAoB,CAAC;AAE5B;;;;;;;GAOG;AACH,SAAS,mBAAmB,CACxB,MAAqC,EACrC,IAAmB,EACnB,YAAqB;IAErB,MAAM,cAAc,GAAqB,EAAE,CAAC;IAC5C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAM,CAAC;IAC5B,6DAA6D;IAC7D,mBAAmB;IACnB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAoB,CAAC;IAEpD,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;IAC5C,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAElD,IAAI,OAAO,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;QACrC,cAAc,CAAC,IAAI,CACf,GAAG,kCAAkC,CAAC,aAAa,EAAE,gBAAgB,CAAC,WAAW,CAAC,CACrF,CAAC;IACN,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC3B,IAAI,CAAC,YAAY,EAAE,CAAC;YAChB,cAAc,CAAC,IAAI,CAAC,GAAG,8BAA8B,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC7E,CAAC;aAAM,CAAC;YACJ,cAAc,CAAC,IAAI,CAAC,GAAG,kCAAkC,CAAC,aAAa,CAAC,CAAC,CAAC;QAC9E,CAAC;IACL,CAAC;IAED,OAAO,cAAc,CAAC;AAC1B,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,eAAe,CAC3B,MAAqC,EACrC,IAAmB,EACnB,cAA+B,EAC/B,EAAkB,EAClB,YAAqB;IAErB,MAAM,cAAc,GAAG,mBAAmB,CAAC,MAAM,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;IACvE,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,MAAM,mBAAmB,GAAG,iCAAiC,CAAC,cAAc,CAAC,CAAC;IAE9E,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC,MAAsB,EAAE,EAAE,CAClD,4BAA4B,CAAC,mBAAmB,EAAE,MAAM,EAAE,EAAE,CAAC,CAChE,CAAC;AACN,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { CellKeyDownEvent, CellClickedEvent } from "ag-grid-community";
2
+ import { ExplicitDrill, OnFiredDrillEvent } from "@gooddata/sdk-ui";
3
+ import { AgGridRowData } from "../types/internal.js";
4
+ interface IUseDrillingProps {
5
+ drillableItems?: ExplicitDrill[];
6
+ onDrill?: OnFiredDrillEvent;
7
+ }
8
+ /**
9
+ * Hook that provides drilling handlers for the new pivot table
10
+ *
11
+ * @alpha
12
+ */
13
+ export declare function useDrilling(props: IUseDrillingProps): {
14
+ onCellClicked: (event: CellClickedEvent<AgGridRowData, string>) => boolean;
15
+ onCellKeyDown: (event: CellKeyDownEvent) => void;
16
+ };
17
+ export {};
18
+ //# sourceMappingURL=useDrilling.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDrilling.d.ts","sourceRoot":"","sources":["../../../src/next/hooks/useDrilling.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EACH,aAAa,EAGb,iBAAiB,EAGpB,MAAM,kBAAkB,CAAC;AAI1B,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAKrD,UAAU,iBAAiB;IACvB,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;IACjC,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC/B;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,iBAAiB;2BAKpC,gBAAgB,CAAC,aAAa,EAAE,MAAM,CAAC;2BAsDvC,gBAAgB;EA4B/B"}
@@ -0,0 +1,81 @@
1
+ // (C) 2025 GoodData Corporation
2
+ import { useCallback } from "react";
3
+ import { VisualizationTypes, } from "@gooddata/sdk-ui";
4
+ import { isEnterKey, isSpaceKey } from "@gooddata/sdk-ui-kit";
5
+ import isNil from "lodash/isNil.js";
6
+ import { useTableMetadata } from "../context/TableMetadataContext.js";
7
+ import { isCellDrillable } from "../drill/isDrillable.js";
8
+ import { createDrillIntersection } from "../drill/intersection.js";
9
+ /**
10
+ * Hook that provides drilling handlers for the new pivot table
11
+ *
12
+ * @alpha
13
+ */
14
+ export function useDrilling(props) {
15
+ const { drillableItems = [], onDrill } = props;
16
+ const { currentDataView } = useTableMetadata();
17
+ const onCellClicked = useCallback((event) => {
18
+ if (!onDrill || drillableItems.length === 0 || !currentDataView) {
19
+ return false;
20
+ }
21
+ const { data, rowIndex, colDef } = event;
22
+ if (!data || !colDef || isNil(rowIndex)) {
23
+ return false;
24
+ }
25
+ const isTransposed = currentDataView.data().asTable().isTransposed;
26
+ if (!isCellDrillable(colDef, data, drillableItems, currentDataView, isTransposed)) {
27
+ return false;
28
+ }
29
+ const colId = colDef.colId;
30
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
31
+ // @ts-expect-error
32
+ const cellMeta = data.meta?.[colId];
33
+ const columnIndex = cellMeta.columnIndex;
34
+ const rowData = data.row;
35
+ // Create a basic drill context
36
+ const drillContext = {
37
+ type: VisualizationTypes.TABLE,
38
+ element: "cell",
39
+ columnIndex: columnIndex,
40
+ rowIndex: rowIndex,
41
+ row: rowData,
42
+ intersection: createDrillIntersection(colDef, data),
43
+ };
44
+ // Create drill event with actual dataView from context
45
+ const drillEvent = {
46
+ dataView: currentDataView.dataView,
47
+ drillContext,
48
+ };
49
+ if (onDrill(drillEvent)) {
50
+ // Dispatch custom drill event for embedded scenarios
51
+ const customEvent = new CustomEvent("drill", {
52
+ detail: drillEvent,
53
+ bubbles: true,
54
+ });
55
+ event.event?.target?.dispatchEvent(customEvent);
56
+ return true;
57
+ }
58
+ return false;
59
+ }, [onDrill, drillableItems, currentDataView]);
60
+ const onCellKeyDown = useCallback((event) => {
61
+ if (!onDrill || drillableItems.length === 0) {
62
+ return;
63
+ }
64
+ // Check if it's a keyboard event and if Enter or Space was pressed
65
+ if (!event.event || !(event.event instanceof KeyboardEvent)) {
66
+ return;
67
+ }
68
+ if (!isEnterKey(event.event) &&
69
+ !isSpaceKey(event.event)) {
70
+ return;
71
+ }
72
+ // Trigger the same drill logic as cell click
73
+ const cellEvent = event;
74
+ onCellClicked(cellEvent);
75
+ }, [onCellClicked, onDrill, drillableItems]);
76
+ return {
77
+ onCellClicked,
78
+ onCellKeyDown,
79
+ };
80
+ }
81
+ //# sourceMappingURL=useDrilling.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDrilling.js","sourceRoot":"","sources":["../../../src/next/hooks/useDrilling.ts"],"names":[],"mappings":"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"}
@@ -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,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
+ {"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;AAMrD;;GAEG;AACH,eAAO,MAAM,qBAAqB,GAC9B,OAAO,6BAA6B,KACrC,gBAAgB,CAAC,aAAa,CA0BhC,CAAC"}
@@ -3,6 +3,7 @@ import { useMemo } from "react";
3
3
  import { AG_GRID_PIVOT_RESULT_FIELD_SEPARATOR } from "../constants/agGrid.js";
4
4
  import { createServerSideDataSource } from "../dataSource/createServerSideDataSource.js";
5
5
  import { getColumnHeadersPosition, getExecutionProps, getIsPivotMode } from "../mapProps/props.js";
6
+ import { useTableMetadata } from "../context/TableMetadataContext.js";
6
7
  /**
7
8
  * @alpha
8
9
  */
@@ -11,6 +12,7 @@ export const useServerSideRowModel = (props) => {
11
12
  const isPivotMode = getIsPivotMode(props);
12
13
  const columnHeadersPosition = getColumnHeadersPosition(props);
13
14
  const { rows, measures, sortBy } = getExecutionProps(props);
15
+ const { setCurrentDataView } = useTableMetadata();
14
16
  const dataSource = useMemo(() => createServerSideDataSource({
15
17
  rows,
16
18
  measures,
@@ -18,7 +20,8 @@ export const useServerSideRowModel = (props) => {
18
20
  isPivotMode,
19
21
  executionResult,
20
22
  columnHeadersPosition,
21
- }), [columnHeadersPosition, executionResult, isPivotMode, measures, rows, sortBy]);
23
+ setCurrentDataView,
24
+ }), [columnHeadersPosition, executionResult, isPivotMode, measures, rows, sortBy, setCurrentDataView]);
22
25
  return {
23
26
  rowModelType: "serverSide",
24
27
  serverSideDatasource: dataSource,
@@ -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;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
+ {"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;AACnG,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAEtE;;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;IAC5D,MAAM,EAAE,kBAAkB,EAAE,GAAG,gBAAgB,EAAE,CAAC;IAElD,MAAM,UAAU,GAAG,OAAO,CACtB,GAAG,EAAE,CACD,0BAA0B,CAAC;QACvB,IAAI;QACJ,QAAQ;QACR,MAAM;QACN,WAAW;QACX,eAAe;QACf,qBAAqB;QACrB,kBAAkB;KACrB,CAAC,EACN,CAAC,qBAAqB,EAAE,eAAe,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,kBAAkB,CAAC,CACpG,CAAC;IAEF,OAAO;QACH,YAAY,EAAE,YAAY;QAC1B,oBAAoB,EAAE,UAAU;QAChC,mCAAmC,EAAE,oCAAoC;KAC5E,CAAC;AACN,CAAC,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { SortChangedEvent } from "ag-grid-community";
2
+ import { IAttribute, IMeasure } from "@gooddata/sdk-model";
3
+ import { IPushData } from "@gooddata/sdk-ui";
4
+ interface IUseSortingProps {
5
+ pushData?: (data: IPushData) => void;
6
+ rows: IAttribute[];
7
+ measures: IMeasure[];
8
+ }
9
+ /**
10
+ * Hook that provides sorting handlers for the pivot table
11
+ *
12
+ * @alpha
13
+ */
14
+ export declare function useSorting(props: IUseSortingProps): {
15
+ onSortChanged: (event: SortChangedEvent) => void;
16
+ };
17
+ export {};
18
+ //# sourceMappingURL=useSorting.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSorting.d.ts","sourceRoot":"","sources":["../../../src/next/hooks/useSorting.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG7C,UAAU,gBAAgB;IACtB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;IACrC,IAAI,EAAE,UAAU,EAAE,CAAC;IACnB,QAAQ,EAAE,QAAQ,EAAE,CAAC;CACxB;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,gBAAgB;2BAIlC,gBAAgB;EA4B/B"}
@@ -0,0 +1,34 @@
1
+ // (C) 2025 GoodData Corporation
2
+ import { useCallback } from "react";
3
+ import { mapSortModelToSortItems } from "../mapProps/mapSortModelToSortItems.js";
4
+ /**
5
+ * Hook that provides sorting handlers for the pivot table
6
+ *
7
+ * @alpha
8
+ */
9
+ export function useSorting(props) {
10
+ const { pushData, rows, measures } = props;
11
+ const onSortChanged = useCallback((event) => {
12
+ if (!pushData) {
13
+ return;
14
+ }
15
+ // Get the current sort model from ag-grid
16
+ const sortModel = event.api
17
+ .getColumnState()
18
+ .filter((col) => col.sort !== null)
19
+ .map((col) => ({
20
+ colId: col.colId,
21
+ sort: col.sort,
22
+ }));
23
+ const sortItems = mapSortModelToSortItems(sortModel, rows, measures);
24
+ pushData({
25
+ properties: {
26
+ sortItems,
27
+ },
28
+ });
29
+ }, [pushData, rows, measures]);
30
+ return {
31
+ onSortChanged,
32
+ };
33
+ }
34
+ //# sourceMappingURL=useSorting.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSorting.js","sourceRoot":"","sources":["../../../src/next/hooks/useSorting.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAIpC,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AAQjF;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,KAAuB;IAC9C,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAE3C,MAAM,aAAa,GAAG,WAAW,CAC7B,CAAC,KAAuB,EAAE,EAAE;QACxB,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,OAAO;QACX,CAAC;QAED,0CAA0C;QAC1C,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG;aACtB,cAAc,EAAE;aAChB,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC;aAClC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACX,KAAK,EAAE,GAAG,CAAC,KAAM;YACjB,IAAI,EAAE,GAAG,CAAC,IAAK;SAClB,CAAC,CAAC,CAAC;QAER,MAAM,SAAS,GAAG,uBAAuB,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QAErE,QAAQ,CAAC;YACL,UAAU,EAAE;gBACR,SAAS;aACZ;SACJ,CAAC,CAAC;IACP,CAAC,EACD,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,CAC7B,CAAC;IAEF,OAAO;QACH,aAAa;KAChB,CAAC;AACN,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"mapDataViewToAgGridRowData.d.ts","sourceRoot":"","sources":["../../../src/next/mapProps/mapDataViewToAgGridRowData.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAyB,MAAM,kBAAkB,CAAC;AACjG,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AASrD;;;;GAIG;AACH,MAAM,WAAW,sCAAsC;IACnD,CAAC,cAAc,EAAE,MAAM,GAAG,sBAAsB,CAAC;CACpD;AAED;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CACtC,QAAQ,EAAE,cAAc,EACxB,qBAAqB,GAAE,qBAA6B,GACrD;IACC,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,iBAAiB,EAAE,aAAa,EAAE,CAAC;IACnC,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,uBAAuB,EAAE,sCAAsC,CAAC;CACnE,CAmCA"}
1
+ {"version":3,"file":"mapDataViewToAgGridRowData.d.ts","sourceRoot":"","sources":["../../../src/next/mapProps/mapDataViewToAgGridRowData.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAyB,MAAM,kBAAkB,CAAC;AACjG,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AASrD;;;;GAIG;AACH,MAAM,WAAW,sCAAsC;IACnD,CAAC,cAAc,EAAE,MAAM,GAAG,sBAAsB,CAAC;CACpD;AAED;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CACtC,QAAQ,EAAE,cAAc,EACxB,qBAAqB,GAAE,qBAA6B,GACrD;IACC,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,iBAAiB,EAAE,aAAa,EAAE,CAAC;IACnC,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,uBAAuB,EAAE,sCAAsC,CAAC;CACnE,CA2CA"}
@@ -22,10 +22,18 @@ export function mapDataViewToAgGridRowData(dataView, columnHeadersPosition = "to
22
22
  const rowData = [];
23
23
  const grandTotalRowData = [];
24
24
  tableData.data.forEach((row, rowIndex) => {
25
- const data = {};
25
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
26
+ // @ts-expect-error
27
+ const data = { meta: {}, row: [] };
26
28
  row.forEach((cell) => {
27
29
  const key = buildColumnKey(cell.columnDefinition, tableData.isTransposed, columnHeadersPosition);
28
30
  data[key] = cell.formattedValue;
31
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
32
+ // @ts-expect-error
33
+ data.meta[key] = cell;
34
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
35
+ // @ts-expect-error
36
+ data.row.push(cell.value);
29
37
  });
30
38
  if (tableData.rowDefinitions[rowIndex].type === "grandTotal") {
31
39
  grandTotalRowData.push(data);
@@ -1 +1 @@
1
- {"version":3,"file":"mapDataViewToAgGridRowData.js","sourceRoot":"","sources":["../../../src/next/mapProps/mapDataViewToAgGridRowData.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mapDataViewToAgGridRowData.js","sourceRoot":"","sources":["../../../src/next/mapProps/mapDataViewToAgGridRowData.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { IAnalyticalBackend, IExecutionResult, IPreparedExecution } from "@gooddata/sdk-backend-spi";
2
2
  import { IAttribute, IFilter, IMeasure, ISortItem, ITheme, ITotal } from "@gooddata/sdk-model";
3
- import { IVisualizationCallbacks } from "@gooddata/sdk-ui";
3
+ import { IVisualizationCallbacks, ExplicitDrill, IVisualizationProps } from "@gooddata/sdk-ui";
4
4
  /**
5
5
  * Whether to display measures in columns or rows (transposed).
6
6
  *
@@ -45,7 +45,7 @@ export type PivotTableNextConfig = {
45
45
  /**
46
46
  * @alpha
47
47
  */
48
- export interface IPivotTableNextProps {
48
+ export interface IPivotTableNextProps extends IVisualizationProps, IVisualizationCallbacks {
49
49
  /**
50
50
  * Backend to use for the pivot table.
51
51
  */
@@ -78,6 +78,10 @@ export interface IPivotTableNextProps {
78
78
  * Sort by to apply to the pivot table.
79
79
  */
80
80
  sortBy?: ISortItem[];
81
+ /**
82
+ * Configure drillability; e.g. which parts of the visualization can be interacted with.
83
+ */
84
+ drillableItems?: ExplicitDrill[];
81
85
  /**
82
86
  * Configuration for the pivot table.
83
87
  */
@@ -93,7 +97,7 @@ export interface IPivotTableNextProps {
93
97
  /**
94
98
  * @alpha
95
99
  */
96
- export interface ICorePivotTableNextProps extends IPivotTableNextProps, IVisualizationCallbacks {
100
+ export interface ICorePivotTableNextProps extends IPivotTableNextProps {
97
101
  execution: IPreparedExecution;
98
102
  theme?: ITheme;
99
103
  }
@@ -1 +1 @@
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"}
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,aAAa,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAE/F;;;;;;;;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,oBAAqB,SAAQ,mBAAmB,EAAE,uBAAuB;IACtF;;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,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;IAEjC;;OAEG;IACH,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAE9B;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAyB,SAAQ,oBAAoB;IAClE,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.36.0-alpha.2",
3
+ "version": "10.36.0-alpha.4",
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.36.0-alpha.2",
47
- "@gooddata/sdk-ui-kit": "10.36.0-alpha.2",
48
- "@gooddata/sdk-ui": "10.36.0-alpha.2",
49
- "@gooddata/sdk-ui-theme-provider": "10.36.0-alpha.2",
50
- "@gooddata/sdk-backend-spi": "10.36.0-alpha.2",
51
- "@gooddata/sdk-ui-vis-commons": "10.36.0-alpha.2"
46
+ "@gooddata/sdk-backend-spi": "10.36.0-alpha.4",
47
+ "@gooddata/sdk-model": "10.36.0-alpha.4",
48
+ "@gooddata/sdk-ui-vis-commons": "10.36.0-alpha.4",
49
+ "@gooddata/sdk-ui-theme-provider": "10.36.0-alpha.4",
50
+ "@gooddata/sdk-ui-kit": "10.36.0-alpha.4",
51
+ "@gooddata/sdk-ui": "10.36.0-alpha.4"
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.36.0-alpha.2",
101
- "@gooddata/sdk-backend-base": "10.36.0-alpha.2",
102
- "@gooddata/sdk-backend-mockingbird": "10.36.0-alpha.2"
100
+ "@gooddata/sdk-backend-base": "10.36.0-alpha.4",
101
+ "@gooddata/sdk-backend-mockingbird": "10.36.0-alpha.4",
102
+ "@gooddata/reference-workspace": "10.36.0-alpha.4"
103
103
  },
104
104
  "scripts": {
105
105
  "clean": "rm -rf ci dist esm coverage *.log styles/css tsconfig.tsbuildinfo",