@gooddata/sdk-ui-pivot 11.4.0 → 11.5.0-alpha.1
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.map +1 -1
- package/esm/next/PivotTableNext.js +10 -2
- package/esm/next/PivotTableNext.js.map +1 -1
- package/esm/next/components/Header/AttributeHeader.d.ts.map +1 -1
- package/esm/next/components/Header/AttributeHeader.js +15 -3
- package/esm/next/components/Header/AttributeHeader.js.map +1 -1
- package/esm/next/components/Header/EmptyMeasureGroupHeader.d.ts +2 -1
- package/esm/next/components/Header/EmptyMeasureGroupHeader.d.ts.map +1 -1
- package/esm/next/components/Header/EmptyMeasureGroupHeader.js +6 -2
- package/esm/next/components/Header/EmptyMeasureGroupHeader.js.map +1 -1
- package/esm/next/components/Header/EmptyMeasureGroupValueHeader.d.ts +8 -0
- package/esm/next/components/Header/EmptyMeasureGroupValueHeader.d.ts.map +1 -0
- package/esm/next/components/Header/EmptyMeasureGroupValueHeader.js +34 -0
- package/esm/next/components/Header/EmptyMeasureGroupValueHeader.js.map +1 -0
- package/esm/next/components/Header/MeasureGroupHeader.d.ts.map +1 -1
- package/esm/next/components/Header/MeasureGroupHeader.js +21 -2
- package/esm/next/components/Header/MeasureGroupHeader.js.map +1 -1
- package/esm/next/components/Header/MeasureHeader.d.ts.map +1 -1
- package/esm/next/components/Header/MeasureHeader.js +10 -1
- package/esm/next/components/Header/MeasureHeader.js.map +1 -1
- package/esm/next/components/Header/PivotGroupHeader.d.ts.map +1 -1
- package/esm/next/components/Header/PivotGroupHeader.js +8 -2
- package/esm/next/components/Header/PivotGroupHeader.js.map +1 -1
- package/esm/next/components/Header/utils/constructTextWrappingMenuItems.d.ts +5 -1
- package/esm/next/components/Header/utils/constructTextWrappingMenuItems.d.ts.map +1 -1
- package/esm/next/components/Header/utils/constructTextWrappingMenuItems.js +11 -7
- package/esm/next/components/Header/utils/constructTextWrappingMenuItems.js.map +1 -1
- package/esm/next/constants/agGridDefaultProps.d.ts.map +1 -1
- package/esm/next/constants/agGridDefaultProps.js +1 -0
- package/esm/next/constants/agGridDefaultProps.js.map +1 -1
- package/esm/next/features/data/dataViewToColDefs.d.ts.map +1 -1
- package/esm/next/features/data/dataViewToColDefs.js +17 -1
- package/esm/next/features/data/dataViewToColDefs.js.map +1 -1
- package/esm/next/features/pivoting/columnDefsToPivotGroups.d.ts.map +1 -1
- package/esm/next/features/pivoting/columnDefsToPivotGroups.js +2 -1
- package/esm/next/features/pivoting/columnDefsToPivotGroups.js.map +1 -1
- package/esm/next/features/resizing/createColumnWidthItemForColumnDefinition.d.ts.map +1 -1
- package/esm/next/features/resizing/createColumnWidthItemForColumnDefinition.js +2 -1
- package/esm/next/features/resizing/createColumnWidthItemForColumnDefinition.js.map +1 -1
- package/esm/next/features/textWrapping/allowCellWrappingByColumnDefinition.d.ts +29 -0
- package/esm/next/features/textWrapping/allowCellWrappingByColumnDefinition.d.ts.map +1 -0
- package/esm/next/features/textWrapping/allowCellWrappingByColumnDefinition.js +44 -0
- package/esm/next/features/textWrapping/allowCellWrappingByColumnDefinition.js.map +1 -0
- package/esm/next/features/textWrapping/applyTextWrappingToColDef.d.ts +9 -0
- package/esm/next/features/textWrapping/applyTextWrappingToColDef.d.ts.map +1 -1
- package/esm/next/features/textWrapping/applyTextWrappingToColDef.js +35 -9
- package/esm/next/features/textWrapping/applyTextWrappingToColDef.js.map +1 -1
- package/esm/next/features/textWrapping/applyTextWrappingToGroupDef.d.ts +14 -0
- package/esm/next/features/textWrapping/applyTextWrappingToGroupDef.d.ts.map +1 -0
- package/esm/next/features/textWrapping/applyTextWrappingToGroupDef.js +28 -0
- package/esm/next/features/textWrapping/applyTextWrappingToGroupDef.js.map +1 -0
- package/esm/next/features/textWrapping/createColumnTextWrappingItemForColumnDefinition.d.ts +28 -0
- package/esm/next/features/textWrapping/createColumnTextWrappingItemForColumnDefinition.d.ts.map +1 -0
- package/esm/next/features/textWrapping/createColumnTextWrappingItemForColumnDefinition.js +96 -0
- package/esm/next/features/textWrapping/createColumnTextWrappingItemForColumnDefinition.js.map +1 -0
- package/esm/next/features/textWrapping/getColumnTextWrappingItemForColumnDefinition.d.ts +9 -0
- package/esm/next/features/textWrapping/getColumnTextWrappingItemForColumnDefinition.d.ts.map +1 -0
- package/esm/next/features/textWrapping/getColumnTextWrappingItemForColumnDefinition.js +14 -0
- package/esm/next/features/textWrapping/getColumnTextWrappingItemForColumnDefinition.js.map +1 -0
- package/esm/next/features/textWrapping/getPivotGroupTextWrappingItemForColumnDefinition.d.ts +18 -0
- package/esm/next/features/textWrapping/getPivotGroupTextWrappingItemForColumnDefinition.d.ts.map +1 -0
- package/esm/next/features/textWrapping/getPivotGroupTextWrappingItemForColumnDefinition.js +99 -0
- package/esm/next/features/textWrapping/getPivotGroupTextWrappingItemForColumnDefinition.js.map +1 -0
- package/esm/next/features/textWrapping/isColumnTextWrappingItemMatch.d.ts +13 -0
- package/esm/next/features/textWrapping/isColumnTextWrappingItemMatch.d.ts.map +1 -0
- package/esm/next/features/textWrapping/isColumnTextWrappingItemMatch.js +18 -0
- package/esm/next/features/textWrapping/isColumnTextWrappingItemMatch.js.map +1 -0
- package/esm/next/features/transposition/measureGroupValueColDef.js +1 -1
- package/esm/next/features/transposition/measureGroupValueColDef.js.map +1 -1
- package/esm/next/hooks/columns/useUpdateAgGridColumnDefs.d.ts.map +1 -1
- package/esm/next/hooks/columns/useUpdateAgGridColumnDefs.js +18 -2
- package/esm/next/hooks/columns/useUpdateAgGridColumnDefs.js.map +1 -1
- package/esm/next/hooks/header/useHeaderDrilling.d.ts +2 -5
- package/esm/next/hooks/header/useHeaderDrilling.d.ts.map +1 -1
- package/esm/next/hooks/header/useHeaderDrilling.js +11 -13
- package/esm/next/hooks/header/useHeaderDrilling.js.map +1 -1
- package/esm/next/hooks/header/useHeaderMenu.d.ts +23 -3
- package/esm/next/hooks/header/useHeaderMenu.d.ts.map +1 -1
- package/esm/next/hooks/header/useHeaderMenu.js +9 -2
- package/esm/next/hooks/header/useHeaderMenu.js.map +1 -1
- package/esm/next/hooks/header/useHeaderMenuSorting.d.ts +2 -2
- package/esm/next/hooks/header/useHeaderMenuSorting.d.ts.map +1 -1
- package/esm/next/hooks/header/useHeaderMenuSorting.js +23 -24
- package/esm/next/hooks/header/useHeaderMenuSorting.js.map +1 -1
- package/esm/next/hooks/header/useHeaderMenuTextWrapping.d.ts +6 -5
- package/esm/next/hooks/header/useHeaderMenuTextWrapping.d.ts.map +1 -1
- package/esm/next/hooks/header/useHeaderMenuTextWrapping.js +341 -23
- package/esm/next/hooks/header/useHeaderMenuTextWrapping.js.map +1 -1
- package/esm/next/hooks/textWrapping/useUpdateTextWrapping.d.ts.map +1 -1
- package/esm/next/hooks/textWrapping/useUpdateTextWrapping.js +7 -2
- package/esm/next/hooks/textWrapping/useUpdateTextWrapping.js.map +1 -1
- package/esm/next/hooks/useAgGridReactProps.d.ts.map +1 -1
- package/esm/next/hooks/useAgGridReactProps.js +8 -0
- package/esm/next/hooks/useAgGridReactProps.js.map +1 -1
- package/esm/next/hooks/useCellSelectionProps.d.ts +8 -0
- package/esm/next/hooks/useCellSelectionProps.d.ts.map +1 -0
- package/esm/next/hooks/useCellSelectionProps.js +23 -0
- package/esm/next/hooks/useCellSelectionProps.js.map +1 -0
- package/esm/next/hooks/useClearCellSelection.d.ts +7 -0
- package/esm/next/hooks/useClearCellSelection.d.ts.map +1 -0
- package/esm/next/hooks/useClearCellSelection.js +15 -0
- package/esm/next/hooks/useClearCellSelection.js.map +1 -0
- package/esm/next/hooks/useClipboardProps.d.ts +13 -0
- package/esm/next/hooks/useClipboardProps.d.ts.map +1 -0
- package/esm/next/hooks/useClipboardProps.js +46 -0
- package/esm/next/hooks/useClipboardProps.js.map +1 -0
- package/esm/next/hooks/useHeaderComponents.d.ts.map +1 -1
- package/esm/next/hooks/useHeaderComponents.js +4 -1
- package/esm/next/hooks/useHeaderComponents.js.map +1 -1
- package/esm/next/hooks/useInteractionProps.d.ts.map +1 -1
- package/esm/next/hooks/useInteractionProps.js +15 -10
- package/esm/next/hooks/useInteractionProps.js.map +1 -1
- package/esm/next/index.d.ts +4 -2
- package/esm/next/index.d.ts.map +1 -1
- package/esm/next/index.js +2 -1
- package/esm/next/index.js.map +1 -1
- package/esm/next/types/agGrid.d.ts +16 -0
- package/esm/next/types/agGrid.d.ts.map +1 -1
- package/esm/next/types/agGrid.js +22 -0
- package/esm/next/types/agGrid.js.map +1 -1
- package/esm/next/types/cellSelection.d.ts +17 -0
- package/esm/next/types/cellSelection.d.ts.map +1 -0
- package/esm/next/types/cellSelection.js +3 -0
- package/esm/next/types/cellSelection.js.map +1 -0
- package/esm/next/types/locators.d.ts +119 -0
- package/esm/next/types/locators.d.ts.map +1 -0
- package/esm/next/types/locators.js +79 -0
- package/esm/next/types/locators.js.map +1 -0
- package/esm/next/types/public.d.ts +2 -1
- package/esm/next/types/public.d.ts.map +1 -1
- package/esm/next/types/public.js +1 -0
- package/esm/next/types/public.js.map +1 -1
- package/esm/next/types/resizing.d.ts +1 -117
- package/esm/next/types/resizing.d.ts.map +1 -1
- package/esm/next/types/resizing.js +2 -76
- package/esm/next/types/resizing.js.map +1 -1
- package/esm/next/types/textWrapping.d.ts +41 -2
- package/esm/next/types/textWrapping.d.ts.map +1 -1
- package/package.json +11 -11
|
@@ -6,6 +6,7 @@ import { usePivotTableProps } from "../../context/PivotTablePropsContext.js";
|
|
|
6
6
|
import { agGridSetColumnDefs } from "../../features/columns/agGridColDefsApi.js";
|
|
7
7
|
import { agGridSetPivotResultColumns } from "../../features/pivoting/agGridPivotingApi.js";
|
|
8
8
|
import { columnDefsToPivotGroups } from "../../features/pivoting/columnDefsToPivotGroups.js";
|
|
9
|
+
import { applyTextWrappingToGroupDef } from "../../features/textWrapping/applyTextWrappingToGroupDef.js";
|
|
9
10
|
/**
|
|
10
11
|
* Updates column defs in ag-grid, by updated column defs (use this only if you are working with flat column defs).
|
|
11
12
|
*
|
|
@@ -19,13 +20,28 @@ export function useUpdateAgGridColumnDefs() {
|
|
|
19
20
|
return useCallback((updatedColDefs, gridApi) => {
|
|
20
21
|
if (isPivoted) {
|
|
21
22
|
const groupedColumnDefs = columnDefsToPivotGroups(updatedColDefs, columnHeadersPosition, intl);
|
|
23
|
+
// Apply text wrapping to group definitions recursively
|
|
24
|
+
const applyTextWrappingToTree = (defs) => {
|
|
25
|
+
return defs.map((def) => {
|
|
26
|
+
if ("children" in def && def.children) {
|
|
27
|
+
// This is a group definition
|
|
28
|
+
const updatedGroupDef = applyTextWrappingToGroupDef(def, config.textWrapping ?? {});
|
|
29
|
+
return {
|
|
30
|
+
...updatedGroupDef,
|
|
31
|
+
children: applyTextWrappingToTree(def.children),
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
return def;
|
|
35
|
+
});
|
|
36
|
+
};
|
|
37
|
+
const groupedColumnDefsWithWrapping = applyTextWrappingToTree(groupedColumnDefs);
|
|
22
38
|
agGridSetPivotResultColumns({
|
|
23
|
-
colDefs:
|
|
39
|
+
colDefs: groupedColumnDefsWithWrapping,
|
|
24
40
|
}, gridApi);
|
|
25
41
|
}
|
|
26
42
|
else {
|
|
27
43
|
agGridSetColumnDefs({ colDefs: updatedColDefs }, gridApi);
|
|
28
44
|
}
|
|
29
|
-
}, [isPivoted, columnHeadersPosition, intl]);
|
|
45
|
+
}, [isPivoted, columnHeadersPosition, intl, config.textWrapping]);
|
|
30
46
|
}
|
|
31
47
|
//# sourceMappingURL=useUpdateAgGridColumnDefs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useUpdateAgGridColumnDefs.js","sourceRoot":"","sources":["../../../../src/next/hooks/columns/useUpdateAgGridColumnDefs.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEpC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AACjF,OAAO,EAAE,2BAA2B,EAAE,MAAM,8CAA8C,CAAC;AAC3F,OAAO,EAAE,uBAAuB,EAAE,MAAM,oDAAoD,CAAC;
|
|
1
|
+
{"version":3,"file":"useUpdateAgGridColumnDefs.js","sourceRoot":"","sources":["../../../../src/next/hooks/columns/useUpdateAgGridColumnDefs.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEpC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AACjF,OAAO,EAAE,2BAA2B,EAAE,MAAM,8CAA8C,CAAC;AAC3F,OAAO,EAAE,uBAAuB,EAAE,MAAM,oDAAoD,CAAC;AAC7F,OAAO,EAAE,2BAA2B,EAAE,MAAM,4DAA4D,CAAC;AAGzG;;;;GAIG;AACH,MAAM,UAAU,yBAAyB;IACrC,MAAM,EAAE,MAAM,EAAE,GAAG,kBAAkB,EAAE,CAAC;IACxC,MAAM,EAAE,SAAS,EAAE,GAAG,aAAa,EAAE,CAAC;IACtC,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,CAAC;IACzC,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IAEvB,OAAO,WAAW,CACd,CAAC,cAAiC,EAAE,OAAkB,EAAE,EAAE;QACtD,IAAI,SAAS,EAAE,CAAC;YACZ,MAAM,iBAAiB,GAAG,uBAAuB,CAC7C,cAAc,EACd,qBAAqB,EACrB,IAAI,CACP,CAAC;YAEF,uDAAuD;YACvD,MAAM,uBAAuB,GAAG,CAC5B,IAAgD,EACN,EAAE;gBAC5C,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;oBACpB,IAAI,UAAU,IAAI,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;wBACpC,6BAA6B;wBAC7B,MAAM,eAAe,GAAG,2BAA2B,CAC/C,GAAG,EACH,MAAM,CAAC,YAAY,IAAI,EAAE,CAC5B,CAAC;wBACF,OAAO;4BACH,GAAG,eAAe;4BAClB,QAAQ,EAAE,uBAAuB,CAC7B,GAAG,CAAC,QAAsD,CAC7D;yBACJ,CAAC;oBACN,CAAC;oBACD,OAAO,GAAG,CAAC;gBACf,CAAC,CAAC,CAAC;YACP,CAAC,CAAC;YAEF,MAAM,6BAA6B,GAAG,uBAAuB,CAAC,iBAAiB,CAAC,CAAC;YAEjF,2BAA2B,CACvB;gBACI,OAAO,EAAE,6BAA6B;aACzC,EACD,OAAO,CACV,CAAC;QACN,CAAC;aAAM,CAAC;YACJ,mBAAmB,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,OAAO,CAAC,CAAC;QAC9D,CAAC;IACL,CAAC,EACD,CAAC,SAAS,EAAE,qBAAqB,EAAE,IAAI,EAAE,MAAM,CAAC,YAAY,CAAC,CAChE,CAAC;AACN,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { MouseEvent } from "react";
|
|
2
|
-
import { AgGridHeaderParams } from "../../types/agGrid.js";
|
|
2
|
+
import { AgGridHeaderGroupParams, AgGridHeaderParams } from "../../types/agGrid.js";
|
|
3
3
|
/**
|
|
4
4
|
* Custom hook that provides header drilling functionality.
|
|
5
5
|
* Returns a click handler that can be used alongside sorting functionality.
|
|
@@ -8,11 +8,8 @@ import { AgGridHeaderParams } from "../../types/agGrid.js";
|
|
|
8
8
|
* @returns Object with header drilling functions
|
|
9
9
|
* @internal
|
|
10
10
|
*/
|
|
11
|
-
export declare function useHeaderDrilling(params: AgGridHeaderParams | null): {
|
|
11
|
+
export declare function useHeaderDrilling(params: AgGridHeaderParams | AgGridHeaderGroupParams | null): {
|
|
12
12
|
handleHeaderDrill: (event: MouseEvent) => boolean;
|
|
13
13
|
isDrillable: boolean;
|
|
14
|
-
} | {
|
|
15
|
-
handleHeaderDrill: () => void;
|
|
16
|
-
isDrillable: boolean;
|
|
17
14
|
};
|
|
18
15
|
//# sourceMappingURL=useHeaderDrilling.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useHeaderDrilling.d.ts","sourceRoot":"","sources":["../../../../src/next/hooks/header/useHeaderDrilling.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAwB,MAAM,OAAO,CAAC;AAczD,OAAO,
|
|
1
|
+
{"version":3,"file":"useHeaderDrilling.d.ts","sourceRoot":"","sources":["../../../../src/next/hooks/header/useHeaderDrilling.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAwB,MAAM,OAAO,CAAC;AAczD,OAAO,EAEH,uBAAuB,EACvB,kBAAkB,EAErB,MAAM,uBAAuB,CAAC;AAE/B;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,kBAAkB,GAAG,uBAAuB,GAAG,IAAI;+BAwB7E,UAAU;;EA0CzB"}
|
|
@@ -6,6 +6,7 @@ import { usePivotTableProps } from "../../context/PivotTablePropsContext.js";
|
|
|
6
6
|
import { createCustomDrillEvent } from "../../features/drilling/events.js";
|
|
7
7
|
import { createHeaderDrillIntersection } from "../../features/drilling/intersection.js";
|
|
8
8
|
import { isHeaderCellDrillable } from "../../features/drilling/isDrillable.js";
|
|
9
|
+
import { isAgGridHeaderParams, } from "../../types/agGrid.js";
|
|
9
10
|
/**
|
|
10
11
|
* Custom hook that provides header drilling functionality.
|
|
11
12
|
* Returns a click handler that can be used alongside sorting functionality.
|
|
@@ -17,22 +18,24 @@ import { isHeaderCellDrillable } from "../../features/drilling/isDrillable.js";
|
|
|
17
18
|
export function useHeaderDrilling(params) {
|
|
18
19
|
const { drillableItems, onDrill, config } = usePivotTableProps();
|
|
19
20
|
const { currentDataView } = useCurrentDataView();
|
|
21
|
+
// Only regular header params support drilling (not group headers)
|
|
22
|
+
const isRegularHeader = isAgGridHeaderParams(params);
|
|
20
23
|
/**
|
|
21
24
|
* Check if the header cell is drillable (memoized)
|
|
22
25
|
*/
|
|
23
26
|
const isDrillable = useMemo(() => {
|
|
24
|
-
if (!drillableItems.length || !currentDataView
|
|
27
|
+
if (!isRegularHeader || !drillableItems.length || !currentDataView) {
|
|
25
28
|
return false;
|
|
26
29
|
}
|
|
27
30
|
const colDef = params.column.getColDef();
|
|
28
31
|
return isHeaderCellDrillable(colDef, drillableItems, currentDataView, config.columnHeadersPosition);
|
|
29
|
-
}, [drillableItems, currentDataView, params, config.columnHeadersPosition]);
|
|
32
|
+
}, [isRegularHeader, drillableItems, currentDataView, params, config.columnHeadersPosition]);
|
|
30
33
|
/**
|
|
31
34
|
* Handle header click for drilling
|
|
32
35
|
* This function should be called after sorting logic to avoid interference
|
|
33
36
|
*/
|
|
34
37
|
const handleHeaderDrill = useCallback((event) => {
|
|
35
|
-
if (!
|
|
38
|
+
if (!isRegularHeader || !onDrill || !isDrillable || !currentDataView) {
|
|
36
39
|
return false;
|
|
37
40
|
}
|
|
38
41
|
const colDef = params.column.getColDef();
|
|
@@ -60,15 +63,10 @@ export function useHeaderDrilling(params) {
|
|
|
60
63
|
return true;
|
|
61
64
|
}
|
|
62
65
|
return false;
|
|
63
|
-
}, [onDrill, isDrillable, params, currentDataView]);
|
|
64
|
-
return
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
}
|
|
69
|
-
: {
|
|
70
|
-
handleHeaderDrill: () => { },
|
|
71
|
-
isDrillable: false,
|
|
72
|
-
};
|
|
66
|
+
}, [isRegularHeader, onDrill, isDrillable, params, currentDataView]);
|
|
67
|
+
return {
|
|
68
|
+
handleHeaderDrill,
|
|
69
|
+
isDrillable,
|
|
70
|
+
};
|
|
73
71
|
}
|
|
74
72
|
//# sourceMappingURL=useHeaderDrilling.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useHeaderDrilling.js","sourceRoot":"","sources":["../../../../src/next/hooks/header/useHeaderDrilling.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,EAAc,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEzD,OAAO,EAGH,kBAAkB,EAClB,uBAAuB,GAC1B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAE,6BAA6B,EAAE,MAAM,yCAAyC,CAAC;AACxF,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;
|
|
1
|
+
{"version":3,"file":"useHeaderDrilling.js","sourceRoot":"","sources":["../../../../src/next/hooks/header/useHeaderDrilling.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
import { MouseEvent } from "react";
|
|
2
2
|
import { IAttributeDescriptor } from "@gooddata/sdk-model";
|
|
3
|
-
import { AgGridHeaderParams } from "../../types/agGrid.js";
|
|
3
|
+
import { AgGridHeaderGroupParams, AgGridHeaderParams } from "../../types/agGrid.js";
|
|
4
4
|
/**
|
|
5
5
|
* Hook for header cell components that handles menu item filtering.
|
|
6
6
|
*
|
|
7
7
|
* @param allowAggregations - Whether aggregation menu items should be included
|
|
8
8
|
* @param allowTextWrapping - Whether text wrapping menu items should be included
|
|
9
|
+
* @param allowSorting - Whether sorting menu items should be included
|
|
10
|
+
* @param allowDrilling - Whether drilling menu items should be included
|
|
11
|
+
* @param includeHeaderWrapping - Whether header wrapping menu items should be included
|
|
12
|
+
* @param includeCellWrapping - Whether cell wrapping menu items should be included
|
|
9
13
|
* @param measureIdentifiers - Array of measure identifiers for the cell
|
|
10
14
|
* @param pivotAttributeDescriptors - Array of pivot attribute descriptors
|
|
11
15
|
* @param gridApi - Optional ag-grid API for checking current state
|
|
@@ -16,13 +20,29 @@ export declare function useHeaderMenu(options: {
|
|
|
16
20
|
allowTextWrapping: boolean;
|
|
17
21
|
allowSorting: boolean;
|
|
18
22
|
allowDrilling: boolean;
|
|
23
|
+
includeHeaderWrapping: boolean;
|
|
24
|
+
includeCellWrapping: boolean;
|
|
19
25
|
}, additionalContext: {
|
|
20
26
|
measureIdentifiers: string[];
|
|
21
27
|
pivotAttributeDescriptors: IAttributeDescriptor[];
|
|
22
|
-
}, agGridHeaderParams: AgGridHeaderParams | null): {
|
|
28
|
+
}, agGridHeaderParams: AgGridHeaderParams | AgGridHeaderGroupParams | null): {
|
|
23
29
|
handleHeaderClick: (event: MouseEvent<HTMLDivElement>) => void;
|
|
24
30
|
hasMenuItems: boolean;
|
|
25
|
-
handleHeaderDrill: (
|
|
31
|
+
handleHeaderDrill: (event: MouseEvent) => boolean;
|
|
32
|
+
isDrillable: boolean;
|
|
33
|
+
sortingItems: import("../../types/menu.js").ISortingMenuItem[];
|
|
34
|
+
sortDirection: import("ag-grid-community").SortDirection | undefined;
|
|
35
|
+
sortIndex: number | undefined;
|
|
36
|
+
handleSortingItemClick: (item: import("../../types/menu.js").ISortingMenuItem) => void;
|
|
37
|
+
handleProgressSort: () => void;
|
|
38
|
+
textWrappingItems: import("../../types/menu.js").ITextWrappingMenuItem[];
|
|
39
|
+
handleTextWrappingItemClick: (item: import("../../types/menu.js").ITextWrappingMenuItem) => void;
|
|
40
|
+
aggregationsItems: import("../../types/menu.js").IAggregationsMenuItem[];
|
|
41
|
+
handleAggregationsItemClick: (item: import("../../types/menu.js").IAggregationsSubMenuItem) => void;
|
|
42
|
+
} | {
|
|
43
|
+
handleHeaderClick: (event: MouseEvent<HTMLDivElement>) => void;
|
|
44
|
+
hasMenuItems: boolean;
|
|
45
|
+
handleHeaderDrill: () => void;
|
|
26
46
|
isDrillable: boolean;
|
|
27
47
|
sortingItems: import("../../types/menu.js").ISortingMenuItem[];
|
|
28
48
|
sortDirection: import("ag-grid-community").SortDirection | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useHeaderMenu.d.ts","sourceRoot":"","sources":["../../../../src/next/hooks/header/useHeaderMenu.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAEnC,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAM3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"useHeaderMenu.d.ts","sourceRoot":"","sources":["../../../../src/next/hooks/header/useHeaderMenu.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAEnC,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAM3D,OAAO,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEpF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,CACzB,OAAO,EAAE;IACL,iBAAiB,EAAE,OAAO,CAAC;IAC3B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,OAAO,CAAC;IACvB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,mBAAmB,EAAE,OAAO,CAAC;CAChC,EACD,iBAAiB,EAAE;IACf,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,yBAAyB,EAAE,oBAAoB,EAAE,CAAC;CACrD,EACD,kBAAkB,EAAE,kBAAkB,GAAG,uBAAuB,GAAG,IAAI;+BAqDrC,UAAU,CAAC,cAAc,CAAC;;;;;;;;;;;;;;+BAA1B,UAAU,CAAC,cAAc,CAAC;;;;;;;;;;;;;EA4B/D"}
|
|
@@ -8,13 +8,17 @@ import { useHeaderMenuTextWrapping } from "./useHeaderMenuTextWrapping.js";
|
|
|
8
8
|
*
|
|
9
9
|
* @param allowAggregations - Whether aggregation menu items should be included
|
|
10
10
|
* @param allowTextWrapping - Whether text wrapping menu items should be included
|
|
11
|
+
* @param allowSorting - Whether sorting menu items should be included
|
|
12
|
+
* @param allowDrilling - Whether drilling menu items should be included
|
|
13
|
+
* @param includeHeaderWrapping - Whether header wrapping menu items should be included
|
|
14
|
+
* @param includeCellWrapping - Whether cell wrapping menu items should be included
|
|
11
15
|
* @param measureIdentifiers - Array of measure identifiers for the cell
|
|
12
16
|
* @param pivotAttributeDescriptors - Array of pivot attribute descriptors
|
|
13
17
|
* @param gridApi - Optional ag-grid API for checking current state
|
|
14
18
|
* @returns Filtered menu items and handlers based on permissions
|
|
15
19
|
*/
|
|
16
20
|
export function useHeaderMenu(options, additionalContext, agGridHeaderParams) {
|
|
17
|
-
const { allowAggregations, allowTextWrapping, allowSorting, allowDrilling } = options;
|
|
21
|
+
const { allowAggregations, allowTextWrapping, allowSorting, allowDrilling, includeHeaderWrapping, includeCellWrapping, } = options;
|
|
18
22
|
const { measureIdentifiers, pivotAttributeDescriptors } = additionalContext;
|
|
19
23
|
// Aggregations
|
|
20
24
|
const { aggregationsItems, handleAggregationsItemClick } = useHeaderMenuAggregations(measureIdentifiers, pivotAttributeDescriptors);
|
|
@@ -22,7 +26,10 @@ export function useHeaderMenu(options, additionalContext, agGridHeaderParams) {
|
|
|
22
26
|
? { aggregationsItems, handleAggregationsItemClick }
|
|
23
27
|
: { aggregationsItems: [], handleAggregationsItemClick: () => { } };
|
|
24
28
|
// Text wrapping
|
|
25
|
-
const { textWrappingItems, handleTextWrappingItemClick } = useHeaderMenuTextWrapping(
|
|
29
|
+
const { textWrappingItems, handleTextWrappingItemClick } = useHeaderMenuTextWrapping(agGridHeaderParams, {
|
|
30
|
+
includeHeaderWrapping,
|
|
31
|
+
includeCellWrapping,
|
|
32
|
+
});
|
|
26
33
|
const sanitizedTextWrappingProps = allowTextWrapping
|
|
27
34
|
? { textWrappingItems, handleTextWrappingItemClick }
|
|
28
35
|
: { textWrappingItems: [], handleTextWrappingItemClick: () => { } };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useHeaderMenu.js","sourceRoot":"","sources":["../../../../src/next/hooks/header/useHeaderMenu.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAMhC,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAG3E
|
|
1
|
+
{"version":3,"file":"useHeaderMenu.js","sourceRoot":"","sources":["../../../../src/next/hooks/header/useHeaderMenu.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { AgGridHeaderParams } from "../../types/agGrid.js";
|
|
1
|
+
import { AgGridHeaderGroupParams, AgGridHeaderParams } from "../../types/agGrid.js";
|
|
2
2
|
import { ISortingMenuItem } from "../../types/menu.js";
|
|
3
3
|
/**
|
|
4
4
|
* Renderer for attribute header.
|
|
5
5
|
*/
|
|
6
|
-
export declare function useHeaderMenuSorting(params: AgGridHeaderParams | null): {
|
|
6
|
+
export declare function useHeaderMenuSorting(params: AgGridHeaderParams | AgGridHeaderGroupParams | null): {
|
|
7
7
|
sortDirection: import("ag-grid-community").SortDirection | undefined;
|
|
8
8
|
sortIndex: number | undefined;
|
|
9
9
|
sortingItems: ISortingMenuItem[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useHeaderMenuSorting.d.ts","sourceRoot":"","sources":["../../../../src/next/hooks/header/useHeaderMenuSorting.ts"],"names":[],"mappings":"AAQA,OAAO,
|
|
1
|
+
{"version":3,"file":"useHeaderMenuSorting.d.ts","sourceRoot":"","sources":["../../../../src/next/hooks/header/useHeaderMenuSorting.ts"],"names":[],"mappings":"AAQA,OAAO,EAEH,uBAAuB,EACvB,kBAAkB,EAErB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,kBAAkB,GAAG,uBAAuB,GAAG,IAAI;;;;mCA6CjF,gBAAgB;;EA4B9B"}
|
|
@@ -3,22 +3,27 @@ import { useCallback } from "react";
|
|
|
3
3
|
import { useIntl } from "react-intl";
|
|
4
4
|
import { messages } from "../../../locales.js";
|
|
5
5
|
import { getSortModel } from "../../features/sorting/agGridSortingApi.js";
|
|
6
|
+
import { isAgGridHeaderParams, } from "../../types/agGrid.js";
|
|
6
7
|
/**
|
|
7
8
|
* Renderer for attribute header.
|
|
8
9
|
*/
|
|
9
10
|
export function useHeaderMenuSorting(params) {
|
|
10
11
|
const intl = useIntl();
|
|
11
|
-
|
|
12
|
+
// Only regular header params support sorting (not group headers)
|
|
13
|
+
const isRegularHeader = isAgGridHeaderParams(params);
|
|
14
|
+
const colDef = isRegularHeader ? params.column.getColDef() : undefined;
|
|
12
15
|
const allowSorting = !!colDef?.sortable;
|
|
13
16
|
// Get current sort state for styling
|
|
14
|
-
const sortDirection = params
|
|
15
|
-
const sortModel =
|
|
16
|
-
const sortIndex = params
|
|
17
|
+
const sortDirection = isRegularHeader ? params.column.getSort() : undefined;
|
|
18
|
+
const sortModel = isRegularHeader ? getSortModel(params.api) : [];
|
|
19
|
+
const sortIndex = isRegularHeader ? (params.column.getSortIndex() ?? undefined) : undefined;
|
|
17
20
|
const sanitizedSortIndex = sortModel.length > 1 ? sortIndex : undefined; // Show sort index only in case there is multi-sort
|
|
18
21
|
// Direct sort setter for menu interactions
|
|
19
22
|
const handleSetSort = useCallback((direction) => {
|
|
20
|
-
|
|
21
|
-
|
|
23
|
+
if (isRegularHeader) {
|
|
24
|
+
params.setSort(direction, true);
|
|
25
|
+
}
|
|
26
|
+
}, [params, isRegularHeader]);
|
|
22
27
|
const sortingItems = allowSorting
|
|
23
28
|
? [
|
|
24
29
|
{
|
|
@@ -37,7 +42,7 @@ export function useHeaderMenuSorting(params) {
|
|
|
37
42
|
},
|
|
38
43
|
]
|
|
39
44
|
: [];
|
|
40
|
-
const handleSortingItemClick = (item) => {
|
|
45
|
+
const handleSortingItemClick = useCallback((item) => {
|
|
41
46
|
if (!allowSorting) {
|
|
42
47
|
return;
|
|
43
48
|
}
|
|
@@ -46,24 +51,18 @@ export function useHeaderMenuSorting(params) {
|
|
|
46
51
|
return;
|
|
47
52
|
}
|
|
48
53
|
handleSetSort(item.direction);
|
|
49
|
-
};
|
|
54
|
+
}, [allowSorting, sortDirection, handleSetSort]);
|
|
50
55
|
const handleProgressSort = useCallback(() => {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
return params
|
|
54
|
-
? {
|
|
55
|
-
sortDirection,
|
|
56
|
-
sortIndex: sanitizedSortIndex,
|
|
57
|
-
sortingItems,
|
|
58
|
-
handleSortingItemClick,
|
|
59
|
-
handleProgressSort,
|
|
56
|
+
if (isRegularHeader) {
|
|
57
|
+
params.progressSort(true);
|
|
60
58
|
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
59
|
+
}, [params, isRegularHeader]);
|
|
60
|
+
return {
|
|
61
|
+
sortDirection,
|
|
62
|
+
sortIndex: sanitizedSortIndex,
|
|
63
|
+
sortingItems,
|
|
64
|
+
handleSortingItemClick,
|
|
65
|
+
handleProgressSort,
|
|
66
|
+
};
|
|
68
67
|
}
|
|
69
68
|
//# sourceMappingURL=useHeaderMenuSorting.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useHeaderMenuSorting.js","sourceRoot":"","sources":["../../../../src/next/hooks/header/useHeaderMenuSorting.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEpC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;
|
|
1
|
+
{"version":3,"file":"useHeaderMenuSorting.js","sourceRoot":"","sources":["../../../../src/next/hooks/header/useHeaderMenuSorting.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
|
+
import { ITextWrappingMenuOptions } from "../../components/Header/utils/constructTextWrappingMenuItems.js";
|
|
2
|
+
import { AgGridHeaderGroupParams, AgGridHeaderParams } from "../../types/agGrid.js";
|
|
1
3
|
import { ITextWrappingMenuItem } from "../../types/menu.js";
|
|
2
4
|
/**
|
|
3
|
-
* Hook for header cell components that handles menu items and callbacks.
|
|
5
|
+
* Hook for header cell components that handles menu items and callbacks for per-column text wrapping.
|
|
4
6
|
*
|
|
5
|
-
* @param
|
|
6
|
-
* @param
|
|
7
|
-
* @param gridApi - Optional ag-grid API for checking current text wrapping state
|
|
7
|
+
* @param agGridHeaderParams - ag-grid header or header group params to identify the current column(s)
|
|
8
|
+
* @param options - options to control which text wrapping items to show
|
|
8
9
|
* @returns Menu items and callbacks
|
|
9
10
|
*/
|
|
10
|
-
export declare const useHeaderMenuTextWrapping: () => {
|
|
11
|
+
export declare const useHeaderMenuTextWrapping: (agGridHeaderParams: AgGridHeaderParams | AgGridHeaderGroupParams | null, options?: ITextWrappingMenuOptions) => {
|
|
11
12
|
textWrappingItems: ITextWrappingMenuItem[];
|
|
12
13
|
handleTextWrappingItemClick: (item: ITextWrappingMenuItem) => void;
|
|
13
14
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useHeaderMenuTextWrapping.d.ts","sourceRoot":"","sources":["../../../../src/next/hooks/header/useHeaderMenuTextWrapping.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useHeaderMenuTextWrapping.d.ts","sourceRoot":"","sources":["../../../../src/next/hooks/header/useHeaderMenuTextWrapping.ts"],"names":[],"mappings":"AAeA,OAAO,EACH,wBAAwB,EAE3B,MAAM,iEAAiE,CAAC;AAOzE,OAAO,EAGH,uBAAuB,EACvB,kBAAkB,EAErB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAK5D;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,GAClC,oBAAoB,kBAAkB,GAAG,uBAAuB,GAAG,IAAI,EACvE,UAAU,wBAAwB;;wCA6DvB,qBAAqB;CAoEnC,CAAC"}
|