@gooddata/sdk-ui-pivot 11.2.0-alpha.1 → 11.2.0-alpha.3

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 (127) hide show
  1. package/esm/locales.d.ts.map +1 -1
  2. package/esm/locales.js +4 -0
  3. package/esm/locales.js.map +1 -1
  4. package/esm/next/components/Header/AttributeHeader.d.ts.map +1 -1
  5. package/esm/next/components/Header/AttributeHeader.js +7 -6
  6. package/esm/next/components/Header/AttributeHeader.js.map +1 -1
  7. package/esm/next/components/Header/EmptyMeasureGroupHeader.d.ts +1 -2
  8. package/esm/next/components/Header/EmptyMeasureGroupHeader.d.ts.map +1 -1
  9. package/esm/next/components/Header/EmptyMeasureGroupHeader.js +11 -4
  10. package/esm/next/components/Header/EmptyMeasureGroupHeader.js.map +1 -1
  11. package/esm/next/components/Header/HeaderCell/HeaderMenu.d.ts +3 -1
  12. package/esm/next/components/Header/HeaderCell/HeaderMenu.d.ts.map +1 -1
  13. package/esm/next/components/Header/HeaderCell/HeaderMenu.js +6 -3
  14. package/esm/next/components/Header/HeaderCell/HeaderMenu.js.map +1 -1
  15. package/esm/next/components/Header/HeaderCell/HeaderMenuComponents.d.ts +5 -4
  16. package/esm/next/components/Header/HeaderCell/HeaderMenuComponents.d.ts.map +1 -1
  17. package/esm/next/components/Header/HeaderCell/HeaderMenuComponents.js +31 -2
  18. package/esm/next/components/Header/HeaderCell/HeaderMenuComponents.js.map +1 -1
  19. package/esm/next/components/Header/MeasureGroupHeader.d.ts.map +1 -1
  20. package/esm/next/components/Header/MeasureGroupHeader.js +5 -3
  21. package/esm/next/components/Header/MeasureGroupHeader.js.map +1 -1
  22. package/esm/next/components/Header/MeasureHeader.d.ts.map +1 -1
  23. package/esm/next/components/Header/MeasureHeader.js +11 -6
  24. package/esm/next/components/Header/MeasureHeader.js.map +1 -1
  25. package/esm/next/components/Header/PivotGroupHeader.d.ts.map +1 -1
  26. package/esm/next/components/Header/PivotGroupHeader.js +23 -4
  27. package/esm/next/components/Header/PivotGroupHeader.js.map +1 -1
  28. package/esm/next/components/Header/SortIndicator.d.ts +14 -0
  29. package/esm/next/components/Header/SortIndicator.d.ts.map +1 -0
  30. package/esm/next/components/Header/SortIndicator.js +8 -0
  31. package/esm/next/components/Header/SortIndicator.js.map +1 -0
  32. package/esm/next/constants/agGridDefaultProps.d.ts.map +1 -1
  33. package/esm/next/constants/agGridDefaultProps.js +2 -0
  34. package/esm/next/constants/agGridDefaultProps.js.map +1 -1
  35. package/esm/next/features/aggregations/applyTotalsToExecutionDef.d.ts.map +1 -1
  36. package/esm/next/features/aggregations/applyTotalsToExecutionDef.js +3 -2
  37. package/esm/next/features/aggregations/applyTotalsToExecutionDef.js.map +1 -1
  38. package/esm/next/features/aggregations/ordering.d.ts +17 -0
  39. package/esm/next/features/aggregations/ordering.d.ts.map +1 -0
  40. package/esm/next/features/aggregations/ordering.js +21 -0
  41. package/esm/next/features/aggregations/ordering.js.map +1 -0
  42. package/esm/next/features/drilling/events.d.ts +9 -0
  43. package/esm/next/features/drilling/events.d.ts.map +1 -0
  44. package/esm/next/features/drilling/events.js +14 -0
  45. package/esm/next/features/drilling/events.js.map +1 -0
  46. package/esm/next/features/drilling/headerMapping.d.ts +2 -1
  47. package/esm/next/features/drilling/headerMapping.d.ts.map +1 -1
  48. package/esm/next/features/drilling/headerMapping.js +1 -1
  49. package/esm/next/features/drilling/headerMapping.js.map +1 -1
  50. package/esm/next/features/drilling/intersection.d.ts +7 -0
  51. package/esm/next/features/drilling/intersection.d.ts.map +1 -1
  52. package/esm/next/features/drilling/intersection.js +32 -2
  53. package/esm/next/features/drilling/intersection.js.map +1 -1
  54. package/esm/next/features/drilling/isDrillable.d.ts +10 -0
  55. package/esm/next/features/drilling/isDrillable.d.ts.map +1 -1
  56. package/esm/next/features/drilling/isDrillable.js +45 -1
  57. package/esm/next/features/drilling/isDrillable.js.map +1 -1
  58. package/esm/next/features/sorting/agGridSortingApi.d.ts.map +1 -1
  59. package/esm/next/features/sorting/agGridSortingApi.js +13 -4
  60. package/esm/next/features/sorting/agGridSortingApi.js.map +1 -1
  61. package/esm/next/features/sorting/applySortByToColDef.d.ts.map +1 -1
  62. package/esm/next/features/sorting/applySortByToColDef.js +1 -0
  63. package/esm/next/features/sorting/applySortByToColDef.js.map +1 -1
  64. package/esm/next/hooks/header/useHeaderDrilling.d.ts +18 -0
  65. package/esm/next/hooks/header/useHeaderDrilling.d.ts.map +1 -0
  66. package/esm/next/hooks/header/useHeaderDrilling.js +74 -0
  67. package/esm/next/hooks/header/useHeaderDrilling.js.map +1 -0
  68. package/esm/next/hooks/header/useHeaderGroupDrilling.d.ts +15 -0
  69. package/esm/next/hooks/header/useHeaderGroupDrilling.d.ts.map +1 -0
  70. package/esm/next/hooks/header/useHeaderGroupDrilling.js +65 -0
  71. package/esm/next/hooks/header/useHeaderGroupDrilling.js.map +1 -0
  72. package/esm/next/hooks/header/useHeaderMenu.d.ts +37 -0
  73. package/esm/next/hooks/header/useHeaderMenu.d.ts.map +1 -0
  74. package/esm/next/hooks/header/useHeaderMenu.js +65 -0
  75. package/esm/next/hooks/header/useHeaderMenu.js.map +1 -0
  76. package/esm/next/hooks/header/useHeaderMenuAggregations.d.ts +15 -0
  77. package/esm/next/hooks/header/useHeaderMenuAggregations.d.ts.map +1 -0
  78. package/esm/next/{components/Header/hooks/useHeaderMenuProps.js → hooks/header/useHeaderMenuAggregations.js} +7 -30
  79. package/esm/next/hooks/header/useHeaderMenuAggregations.js.map +1 -0
  80. package/esm/next/hooks/header/useHeaderMenuSorting.d.ts +13 -0
  81. package/esm/next/hooks/header/useHeaderMenuSorting.d.ts.map +1 -0
  82. package/esm/next/hooks/header/useHeaderMenuSorting.js +69 -0
  83. package/esm/next/hooks/header/useHeaderMenuSorting.js.map +1 -0
  84. package/esm/next/hooks/header/useHeaderMenuTextWrapping.d.ts +14 -0
  85. package/esm/next/hooks/header/useHeaderMenuTextWrapping.d.ts.map +1 -0
  86. package/esm/next/hooks/header/useHeaderMenuTextWrapping.js +43 -0
  87. package/esm/next/hooks/header/useHeaderMenuTextWrapping.js.map +1 -0
  88. package/esm/next/hooks/sorting/useSyncSort.d.ts.map +1 -1
  89. package/esm/next/hooks/sorting/useSyncSort.js +8 -2
  90. package/esm/next/hooks/sorting/useSyncSort.js.map +1 -1
  91. package/esm/next/hooks/textWrapping/useGetDefaultTextWrapping.d.ts +1 -1
  92. package/esm/next/hooks/textWrapping/useGetDefaultTextWrapping.d.ts.map +1 -1
  93. package/esm/next/hooks/textWrapping/useGetDefaultTextWrapping.js.map +1 -1
  94. package/esm/next/hooks/textWrapping/useUpdateTextWrapping.d.ts +1 -1
  95. package/esm/next/hooks/textWrapping/useUpdateTextWrapping.d.ts.map +1 -1
  96. package/esm/next/hooks/textWrapping/useUpdateTextWrapping.js.map +1 -1
  97. package/esm/next/hooks/totals/useUpdateTotals.d.ts.map +1 -1
  98. package/esm/next/hooks/totals/useUpdateTotals.js +7 -4
  99. package/esm/next/hooks/totals/useUpdateTotals.js.map +1 -1
  100. package/esm/next/hooks/useDrillingProps.d.ts.map +1 -1
  101. package/esm/next/hooks/useDrillingProps.js +2 -5
  102. package/esm/next/hooks/useDrillingProps.js.map +1 -1
  103. package/esm/next/types/agGrid.d.ts +8 -0
  104. package/esm/next/types/agGrid.d.ts.map +1 -1
  105. package/esm/next/types/agGrid.js +11 -1
  106. package/esm/next/types/agGrid.js.map +1 -1
  107. package/esm/next/types/menu.d.ts +12 -0
  108. package/esm/next/types/menu.d.ts.map +1 -1
  109. package/esm/next/types/menu.js +1 -0
  110. package/esm/next/types/menu.js.map +1 -1
  111. package/package.json +10 -10
  112. package/styles/css/main.css +19 -1
  113. package/styles/css/main.css.map +1 -1
  114. package/styles/css/pivotTableNext.css +19 -1
  115. package/styles/css/pivotTableNext.css.map +1 -1
  116. package/styles/scss/pivotTableNext.scss +22 -1
  117. package/esm/next/components/Header/hooks/useHeaderMenu.d.ts +0 -19
  118. package/esm/next/components/Header/hooks/useHeaderMenu.d.ts.map +0 -1
  119. package/esm/next/components/Header/hooks/useHeaderMenu.js +0 -24
  120. package/esm/next/components/Header/hooks/useHeaderMenu.js.map +0 -1
  121. package/esm/next/components/Header/hooks/useHeaderMenuProps.d.ts +0 -18
  122. package/esm/next/components/Header/hooks/useHeaderMenuProps.d.ts.map +0 -1
  123. package/esm/next/components/Header/hooks/useHeaderMenuProps.js.map +0 -1
  124. package/esm/next/components/Header/hooks/useHeaderSorting.d.ts +0 -16
  125. package/esm/next/components/Header/hooks/useHeaderSorting.d.ts.map +0 -1
  126. package/esm/next/components/Header/hooks/useHeaderSorting.js +0 -48
  127. package/esm/next/components/Header/hooks/useHeaderSorting.js.map +0 -1
@@ -0,0 +1,65 @@
1
+ // (C) 2025 GoodData Corporation
2
+ import { useHeaderDrilling } from "./useHeaderDrilling.js";
3
+ import { useHeaderMenuAggregations } from "./useHeaderMenuAggregations.js";
4
+ import { useHeaderMenuSorting } from "./useHeaderMenuSorting.js";
5
+ import { useHeaderMenuTextWrapping } from "./useHeaderMenuTextWrapping.js";
6
+ /**
7
+ * Hook for header cell components that handles menu item filtering.
8
+ *
9
+ * @param allowAggregations - Whether aggregation menu items should be included
10
+ * @param allowTextWrapping - Whether text wrapping menu items should be included
11
+ * @param measureIdentifiers - Array of measure identifiers for the cell
12
+ * @param pivotAttributeDescriptors - Array of pivot attribute descriptors
13
+ * @param gridApi - Optional ag-grid API for checking current state
14
+ * @returns Filtered menu items and handlers based on permissions
15
+ */
16
+ export function useHeaderMenu(options, additionalContext, agGridHeaderParams) {
17
+ const { allowAggregations, allowTextWrapping, allowSorting, allowDrilling } = options;
18
+ const { measureIdentifiers, pivotAttributeDescriptors } = additionalContext;
19
+ // Aggregations
20
+ const { aggregationsItems, handleAggregationsItemClick } = useHeaderMenuAggregations(measureIdentifiers, pivotAttributeDescriptors);
21
+ const sanitizedAggregationProps = allowAggregations
22
+ ? { aggregationsItems, handleAggregationsItemClick }
23
+ : { aggregationsItems: [], handleAggregationsItemClick: () => { } };
24
+ // Text wrapping
25
+ const { textWrappingItems, handleTextWrappingItemClick } = useHeaderMenuTextWrapping();
26
+ const sanitizedTextWrappingProps = allowTextWrapping
27
+ ? { textWrappingItems, handleTextWrappingItemClick }
28
+ : { textWrappingItems: [], handleTextWrappingItemClick: () => { } };
29
+ // Sorting
30
+ const { sortDirection, sortIndex, sortingItems, handleSortingItemClick, handleProgressSort } = useHeaderMenuSorting(agGridHeaderParams);
31
+ const sanitizedSortingProps = allowSorting
32
+ ? { sortingItems, sortDirection, sortIndex, handleSortingItemClick, handleProgressSort }
33
+ : {
34
+ sortingItems: [],
35
+ sortDirection: undefined,
36
+ sortIndex: undefined,
37
+ handleSortingItemClick: () => { },
38
+ handleProgressSort: () => { },
39
+ };
40
+ // Drills
41
+ const { handleHeaderDrill, isDrillable } = useHeaderDrilling(agGridHeaderParams);
42
+ const sanitizedDrillingProps = allowDrilling
43
+ ? { handleHeaderDrill, isDrillable }
44
+ : { handleHeaderDrill: () => { }, isDrillable: false };
45
+ const handleHeaderClick = (event) => {
46
+ event.preventDefault();
47
+ event.stopPropagation();
48
+ if (allowSorting) {
49
+ handleProgressSort();
50
+ }
51
+ if (allowDrilling) {
52
+ handleHeaderDrill(event);
53
+ }
54
+ };
55
+ const hasMenuItems = [...aggregationsItems, ...textWrappingItems, ...sortingItems].length > 0;
56
+ return {
57
+ ...sanitizedAggregationProps,
58
+ ...sanitizedTextWrappingProps,
59
+ ...sanitizedSortingProps,
60
+ ...sanitizedDrillingProps,
61
+ handleHeaderClick,
62
+ hasMenuItems,
63
+ };
64
+ }
65
+ //# sourceMappingURL=useHeaderMenu.js.map
@@ -0,0 +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;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CACzB,OAKC,EACD,iBAGC,EACD,kBAA6C;IAE7C,MAAM,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;IACtF,MAAM,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,GAAG,iBAAiB,CAAC;IAE5E,eAAe;IACf,MAAM,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,GAAG,yBAAyB,CAChF,kBAAkB,EAClB,yBAAyB,CAC5B,CAAC;IAEF,MAAM,yBAAyB,GAAG,iBAAiB;QAC/C,CAAC,CAAC,EAAE,iBAAiB,EAAE,2BAA2B,EAAE;QACpD,CAAC,CAAC,EAAE,iBAAiB,EAAE,EAAE,EAAE,2BAA2B,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CAAC;IAEvE,gBAAgB;IAChB,MAAM,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,GAAG,yBAAyB,EAAE,CAAC;IAEvF,MAAM,0BAA0B,GAAG,iBAAiB;QAChD,CAAC,CAAC,EAAE,iBAAiB,EAAE,2BAA2B,EAAE;QACpD,CAAC,CAAC,EAAE,iBAAiB,EAAE,EAAE,EAAE,2BAA2B,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CAAC;IAEvE,UAAU;IACV,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,YAAY,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,GACxF,oBAAoB,CAAC,kBAAkB,CAAC,CAAC;IAE7C,MAAM,qBAAqB,GAAG,YAAY;QACtC,CAAC,CAAC,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,sBAAsB,EAAE,kBAAkB,EAAE;QACxF,CAAC,CAAC;YACI,YAAY,EAAE,EAAE;YAChB,aAAa,EAAE,SAAS;YACxB,SAAS,EAAE,SAAS;YACpB,sBAAsB,EAAE,GAAG,EAAE,GAAE,CAAC;YAChC,kBAAkB,EAAE,GAAG,EAAE,GAAE,CAAC;SAC/B,CAAC;IAER,SAAS;IACT,MAAM,EAAE,iBAAiB,EAAE,WAAW,EAAE,GAAG,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;IAEjF,MAAM,sBAAsB,GAAG,aAAa;QACxC,CAAC,CAAC,EAAE,iBAAiB,EAAE,WAAW,EAAE;QACpC,CAAC,CAAC,EAAE,iBAAiB,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;IAE1D,MAAM,iBAAiB,GAAG,CAAC,KAAiC,EAAE,EAAE;QAC5D,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;QAExB,IAAI,YAAY,EAAE,CAAC;YACf,kBAAkB,EAAE,CAAC;QACzB,CAAC;QAED,IAAI,aAAa,EAAE,CAAC;YAChB,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,CAAC,GAAG,iBAAiB,EAAE,GAAG,iBAAiB,EAAE,GAAG,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAE9F,OAAO;QACH,GAAG,yBAAyB;QAC5B,GAAG,0BAA0B;QAC7B,GAAG,qBAAqB;QACxB,GAAG,sBAAsB;QACzB,iBAAiB;QACjB,YAAY;KACf,CAAC;AACN,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { IAttributeDescriptor } from "@gooddata/sdk-model";
2
+ import { IAggregationsSubMenuItem } from "../../types/menu.js";
3
+ /**
4
+ * Hook for header cell components that handles menu items and callbacks.
5
+ *
6
+ * @param measureIdentifiers - Array of measure identifiers for the cell
7
+ * @param pivotAttributeDescriptors - Array of pivot attribute descriptors
8
+ * @param gridApi - Optional ag-grid API for checking current text wrapping state
9
+ * @returns Menu items and callbacks
10
+ */
11
+ export declare const useHeaderMenuAggregations: (measureIdentifiers: string[], pivotAttributeDescriptors: IAttributeDescriptor[]) => {
12
+ aggregationsItems: import("../../types/menu.js").IAggregationsMenuItem[];
13
+ handleAggregationsItemClick: (item: IAggregationsSubMenuItem) => void;
14
+ };
15
+ //# sourceMappingURL=useHeaderMenuAggregations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useHeaderMenuAggregations.d.ts","sourceRoot":"","sources":["../../../../src/next/hooks/header/useHeaderMenuAggregations.ts"],"names":[],"mappings":"AAIA,OAAO,EACH,oBAAoB,EAOvB,MAAM,qBAAqB,CAAC;AAO7B,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAG/D;;;;;;;GAOG;AACH,eAAO,MAAM,yBAAyB,GAClC,oBAAoB,MAAM,EAAE,EAC5B,2BAA2B,oBAAoB,EAAE;;wCAwCN,wBAAwB;CAUtE,CAAC"}
@@ -2,14 +2,11 @@
2
2
  import { useIntl } from "react-intl";
3
3
  import { isMeasureValueFilter, isRankingFilter, measureValueFilterCondition, } from "@gooddata/sdk-model";
4
4
  import { BucketNames, isAttributeColumnDefinition } from "@gooddata/sdk-ui";
5
- import { messages } from "../../../../locales.js";
6
- import { useCurrentDataView } from "../../../context/CurrentDataViewContext.js";
7
- import { usePivotTableProps } from "../../../context/PivotTablePropsContext.js";
8
- import { useGetDefaultTextWrapping } from "../../../hooks/textWrapping/useGetDefaultTextWrapping.js";
9
- import { useUpdateTextWrapping } from "../../../hooks/textWrapping/useUpdateTextWrapping.js";
10
- import { useUpdateTotals } from "../../../hooks/totals/useUpdateTotals.js";
11
- import { constructAggregationsMenuItems } from "../utils/constructAggregationsMenuItems.js";
12
- import { constructTextWrappingMenuItems } from "../utils/constructTextWrappingMenuItems.js";
5
+ import { messages } from "../../../locales.js";
6
+ import { constructAggregationsMenuItems } from "../../components/Header/utils/constructAggregationsMenuItems.js";
7
+ import { useCurrentDataView } from "../../context/CurrentDataViewContext.js";
8
+ import { usePivotTableProps } from "../../context/PivotTablePropsContext.js";
9
+ import { useUpdateTotals } from "../totals/useUpdateTotals.js";
13
10
  /**
14
11
  * Hook for header cell components that handles menu items and callbacks.
15
12
  *
@@ -18,13 +15,11 @@ import { constructTextWrappingMenuItems } from "../utils/constructTextWrappingMe
18
15
  * @param gridApi - Optional ag-grid API for checking current text wrapping state
19
16
  * @returns Menu items and callbacks
20
17
  */
21
- export const useHeaderMenuProps = (measureIdentifiers, pivotAttributeDescriptors, gridApi) => {
18
+ export const useHeaderMenuAggregations = (measureIdentifiers, pivotAttributeDescriptors) => {
22
19
  const intl = useIntl();
23
20
  const { currentDataView } = useCurrentDataView();
24
21
  const { config, execution, rows, columns } = usePivotTableProps();
25
- const { onUpdateTextWrapping } = useUpdateTextWrapping();
26
22
  const { onUpdateTotals } = useUpdateTotals();
27
- const getCurrentTextWrapping = useGetDefaultTextWrapping();
28
23
  const { rowTotals, columnTotals } = getTotalsFromExecutionDefinition(execution.definition);
29
24
  const tableData = currentDataView?.data().asTable();
30
25
  const rowAttributeDescriptors = tableData?.columnDefinitions
@@ -44,27 +39,9 @@ export const useHeaderMenuProps = (measureIdentifiers, pivotAttributeDescriptors
44
39
  const currentTotals = item.isColumn ? columnTotals : rowTotals;
45
40
  onUpdateTotals(currentTotals, item.totalDefinitions, item.isActive, item.isColumn);
46
41
  };
47
- const currentTextWrapping = getCurrentTextWrapping(gridApi, config.textWrapping);
48
- const textWrappingItems = constructTextWrappingMenuItems({ textWrapping: currentTextWrapping }, intl);
49
- const handleTextWrappingItemClick = (item) => {
50
- const effectiveItem = textWrappingItems.find((i) => i.id === item.id);
51
- if (!effectiveItem) {
52
- return;
53
- }
54
- const isHeaderItem = effectiveItem.id === "header";
55
- const newTextWrapping = {
56
- ...currentTextWrapping,
57
- ...(isHeaderItem
58
- ? { wrapHeaderText: !effectiveItem.isActive }
59
- : { wrapText: !effectiveItem.isActive }),
60
- };
61
- onUpdateTextWrapping(newTextWrapping, gridApi);
62
- };
63
42
  return {
64
43
  aggregationsItems,
65
44
  handleAggregationsItemClick,
66
- textWrappingItems,
67
- handleTextWrappingItemClick,
68
45
  };
69
46
  };
70
47
  /**
@@ -92,4 +69,4 @@ function getTotalsFromBucket(buckets, bucketName) {
92
69
  const selectedBucket = buckets.find((bucket) => bucket.localIdentifier === bucketName);
93
70
  return selectedBucket?.totals ?? [];
94
71
  }
95
- //# sourceMappingURL=useHeaderMenuProps.js.map
72
+ //# sourceMappingURL=useHeaderMenuAggregations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useHeaderMenuAggregations.js","sourceRoot":"","sources":["../../../../src/next/hooks/header/useHeaderMenuAggregations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { AgGridHeaderParams } from "../../types/agGrid.js";
2
+ import { ISortingMenuItem } from "../../types/menu.js";
3
+ /**
4
+ * Renderer for attribute header.
5
+ */
6
+ export declare function useHeaderMenuSorting(params: AgGridHeaderParams | null): {
7
+ sortDirection: import("ag-grid-community").SortDirection | undefined;
8
+ sortIndex: number | undefined;
9
+ sortingItems: ISortingMenuItem[];
10
+ handleSortingItemClick: (item: ISortingMenuItem) => void;
11
+ handleProgressSort: () => void;
12
+ };
13
+ //# sourceMappingURL=useHeaderMenuSorting.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useHeaderMenuSorting.d.ts","sourceRoot":"","sources":["../../../../src/next/hooks/header/useHeaderMenuSorting.ts"],"names":[],"mappings":"AAQA,OAAO,EAAmB,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI;;;;mCAsC5B,gBAAgB;;EAgCzD"}
@@ -0,0 +1,69 @@
1
+ // (C) 2025 GoodData Corporation
2
+ import { useCallback } from "react";
3
+ import { useIntl } from "react-intl";
4
+ import { messages } from "../../../locales.js";
5
+ import { getSortModel } from "../../features/sorting/agGridSortingApi.js";
6
+ /**
7
+ * Renderer for attribute header.
8
+ */
9
+ export function useHeaderMenuSorting(params) {
10
+ const intl = useIntl();
11
+ const colDef = params?.column.getColDef();
12
+ const allowSorting = !!colDef?.sortable;
13
+ // Get current sort state for styling
14
+ const sortDirection = params?.column.getSort();
15
+ const sortModel = params ? getSortModel(params.api) : [];
16
+ const sortIndex = params?.column.getSortIndex() ?? undefined;
17
+ const sanitizedSortIndex = sortModel.length > 1 ? sortIndex : undefined; // Show sort index only in case there is multi-sort
18
+ // Direct sort setter for menu interactions
19
+ const handleSetSort = useCallback((direction) => {
20
+ params?.setSort(direction, true);
21
+ }, [params]);
22
+ const sortingItems = allowSorting
23
+ ? [
24
+ {
25
+ type: "sorting",
26
+ id: "sort-asc",
27
+ direction: "asc",
28
+ title: intl.formatMessage(messages["sortAscending"]),
29
+ isActive: sortDirection === "asc",
30
+ },
31
+ {
32
+ type: "sorting",
33
+ id: "sort-desc",
34
+ direction: "desc",
35
+ title: intl.formatMessage(messages["sortDescending"]),
36
+ isActive: sortDirection === "desc",
37
+ },
38
+ ]
39
+ : [];
40
+ const handleSortingItemClick = (item) => {
41
+ if (!allowSorting) {
42
+ return;
43
+ }
44
+ if (item.direction === sortDirection) {
45
+ handleSetSort(null);
46
+ return;
47
+ }
48
+ handleSetSort(item.direction);
49
+ };
50
+ const handleProgressSort = useCallback(() => {
51
+ params?.progressSort(true);
52
+ }, [params]);
53
+ return params
54
+ ? {
55
+ sortDirection,
56
+ sortIndex: sanitizedSortIndex,
57
+ sortingItems,
58
+ handleSortingItemClick,
59
+ handleProgressSort,
60
+ }
61
+ : {
62
+ sortDirection: undefined,
63
+ sortIndex: undefined,
64
+ sortingItems: [],
65
+ handleSortingItemClick: () => { },
66
+ handleProgressSort: () => { },
67
+ };
68
+ }
69
+ //# sourceMappingURL=useHeaderMenuSorting.js.map
@@ -0,0 +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;AAI1E;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAiC;IAClE,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,MAAM,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,SAAS,EAA4B,CAAC;IACpE,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC;IAExC,qCAAqC;IACrC,MAAM,aAAa,GAAG,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;IAC/C,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACzD,MAAM,SAAS,GAAG,MAAM,EAAE,MAAM,CAAC,YAAY,EAAE,IAAI,SAAS,CAAC;IAC7D,MAAM,kBAAkB,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,mDAAmD;IAE5H,2CAA2C;IAC3C,MAAM,aAAa,GAAG,WAAW,CAC7B,CAAC,SAAgC,EAAE,EAAE;QACjC,MAAM,EAAE,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC,EACD,CAAC,MAAM,CAAC,CACX,CAAC;IAEF,MAAM,YAAY,GAAuB,YAAY;QACjD,CAAC,CAAC;YACI;gBACI,IAAI,EAAE,SAAS;gBACf,EAAE,EAAE,UAAU;gBACd,SAAS,EAAE,KAAK;gBAChB,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;gBACpD,QAAQ,EAAE,aAAa,KAAK,KAAK;aACpC;YACD;gBACI,IAAI,EAAE,SAAS;gBACf,EAAE,EAAE,WAAW;gBACf,SAAS,EAAE,MAAM;gBACjB,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;gBACrD,QAAQ,EAAE,aAAa,KAAK,MAAM;aACrC;SACJ;QACH,CAAC,CAAC,EAAE,CAAC;IAET,MAAM,sBAAsB,GAAG,CAAC,IAAsB,EAAE,EAAE;QACtD,IAAI,CAAC,YAAY,EAAE,CAAC;YAChB,OAAO;QACX,CAAC;QAED,IAAI,IAAI,CAAC,SAAS,KAAK,aAAa,EAAE,CAAC;YACnC,aAAa,CAAC,IAAI,CAAC,CAAC;YACpB,OAAO;QACX,CAAC;QAED,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC,CAAC;IAEF,MAAM,kBAAkB,GAAG,WAAW,CAAC,GAAG,EAAE;QACxC,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,OAAO,MAAM;QACT,CAAC,CAAC;YACI,aAAa;YACb,SAAS,EAAE,kBAAkB;YAC7B,YAAY;YACZ,sBAAsB;YACtB,kBAAkB;SACrB;QACH,CAAC,CAAC;YACI,aAAa,EAAE,SAAS;YACxB,SAAS,EAAE,SAAS;YACpB,YAAY,EAAE,EAAE;YAChB,sBAAsB,EAAE,GAAG,EAAE,GAAE,CAAC;YAChC,kBAAkB,EAAE,GAAG,EAAE,GAAE,CAAC;SAC/B,CAAC;AACZ,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { ITextWrappingMenuItem } from "../../types/menu.js";
2
+ /**
3
+ * Hook for header cell components that handles menu items and callbacks.
4
+ *
5
+ * @param measureIdentifiers - Array of measure identifiers for the cell
6
+ * @param pivotAttributeDescriptors - Array of pivot attribute descriptors
7
+ * @param gridApi - Optional ag-grid API for checking current text wrapping state
8
+ * @returns Menu items and callbacks
9
+ */
10
+ export declare const useHeaderMenuTextWrapping: () => {
11
+ textWrappingItems: ITextWrappingMenuItem[];
12
+ handleTextWrappingItemClick: (item: ITextWrappingMenuItem) => void;
13
+ };
14
+ //# sourceMappingURL=useHeaderMenuTextWrapping.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useHeaderMenuTextWrapping.d.ts","sourceRoot":"","sources":["../../../../src/next/hooks/header/useHeaderMenuTextWrapping.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAI5D;;;;;;;GAOG;AACH,eAAO,MAAM,yBAAyB;;wCAUS,qBAAqB;CAsBnE,CAAC"}
@@ -0,0 +1,43 @@
1
+ // (C) 2025 GoodData Corporation
2
+ import { useIntl } from "react-intl";
3
+ import { constructTextWrappingMenuItems } from "../../components/Header/utils/constructTextWrappingMenuItems.js";
4
+ import { useAgGridApi } from "../../context/AgGridApiContext.js";
5
+ import { usePivotTableProps } from "../../context/PivotTablePropsContext.js";
6
+ import { useGetDefaultTextWrapping } from "../textWrapping/useGetDefaultTextWrapping.js";
7
+ import { useUpdateTextWrapping } from "../textWrapping/useUpdateTextWrapping.js";
8
+ /**
9
+ * Hook for header cell components that handles menu items and callbacks.
10
+ *
11
+ * @param measureIdentifiers - Array of measure identifiers for the cell
12
+ * @param pivotAttributeDescriptors - Array of pivot attribute descriptors
13
+ * @param gridApi - Optional ag-grid API for checking current text wrapping state
14
+ * @returns Menu items and callbacks
15
+ */
16
+ export const useHeaderMenuTextWrapping = () => {
17
+ const intl = useIntl();
18
+ const { config } = usePivotTableProps();
19
+ const { agGridApi } = useAgGridApi();
20
+ const { onUpdateTextWrapping } = useUpdateTextWrapping();
21
+ const getCurrentTextWrapping = useGetDefaultTextWrapping();
22
+ const currentTextWrapping = getCurrentTextWrapping(agGridApi, config.textWrapping);
23
+ const textWrappingItems = constructTextWrappingMenuItems({ textWrapping: currentTextWrapping }, intl);
24
+ const handleTextWrappingItemClick = (item) => {
25
+ const effectiveItem = textWrappingItems.find((i) => i.id === item.id);
26
+ if (!effectiveItem) {
27
+ return;
28
+ }
29
+ const isHeaderItem = effectiveItem.id === "header";
30
+ const newTextWrapping = {
31
+ ...currentTextWrapping,
32
+ ...(isHeaderItem
33
+ ? { wrapHeaderText: !effectiveItem.isActive }
34
+ : { wrapText: !effectiveItem.isActive }),
35
+ };
36
+ onUpdateTextWrapping(newTextWrapping, agGridApi);
37
+ };
38
+ return {
39
+ textWrappingItems,
40
+ handleTextWrappingItemClick,
41
+ };
42
+ };
43
+ //# sourceMappingURL=useHeaderMenuTextWrapping.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useHeaderMenuTextWrapping.js","sourceRoot":"","sources":["../../../../src/next/hooks/header/useHeaderMenuTextWrapping.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,OAAO,EAAE,8BAA8B,EAAE,MAAM,iEAAiE,CAAC;AACjH,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAE7E,OAAO,EAAE,yBAAyB,EAAE,MAAM,8CAA8C,CAAC;AACzF,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AAEjF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAG,EAAE;IAC1C,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,MAAM,EAAE,MAAM,EAAE,GAAG,kBAAkB,EAAE,CAAC;IACxC,MAAM,EAAE,SAAS,EAAE,GAAG,YAAY,EAAE,CAAC;IACrC,MAAM,EAAE,oBAAoB,EAAE,GAAG,qBAAqB,EAAE,CAAC;IACzD,MAAM,sBAAsB,GAAG,yBAAyB,EAAE,CAAC;IAE3D,MAAM,mBAAmB,GAAG,sBAAsB,CAAC,SAAS,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;IACnF,MAAM,iBAAiB,GAAG,8BAA8B,CAAC,EAAE,YAAY,EAAE,mBAAmB,EAAE,EAAE,IAAI,CAAC,CAAC;IAEtG,MAAM,2BAA2B,GAAG,CAAC,IAA2B,EAAE,EAAE;QAChE,MAAM,aAAa,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC;QAEtE,IAAI,CAAC,aAAa,EAAE,CAAC;YACjB,OAAO;QACX,CAAC;QAED,MAAM,YAAY,GAAG,aAAa,CAAC,EAAE,KAAK,QAAQ,CAAC;QACnD,MAAM,eAAe,GAAG;YACpB,GAAG,mBAAmB;YACtB,GAAG,CAAC,YAAY;gBACZ,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE;gBAC7C,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;SAC/C,CAAC;QAEF,oBAAoB,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;IACrD,CAAC,CAAC;IAEF,OAAO;QACH,iBAAiB;QACjB,2BAA2B;KAC9B,CAAC;AACN,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useSyncSort.d.ts","sourceRoot":"","sources":["../../../../src/next/hooks/sorting/useSyncSort.ts"],"names":[],"mappings":"AASA;;;;GAIG;AACH,wBAAgB,WAAW,SA4B1B"}
1
+ {"version":3,"file":"useSyncSort.d.ts","sourceRoot":"","sources":["../../../../src/next/hooks/sorting/useSyncSort.ts"],"names":[],"mappings":"AASA;;;;GAIG;AACH,wBAAgB,WAAW,SAmC1B"}
@@ -16,16 +16,22 @@ export function useSyncSort() {
16
16
  const { agGridApi } = useAgGridApi();
17
17
  useEffect(() => {
18
18
  if (agGridApi) {
19
- const updatedSortModel = sortItemsToSortModel(sortBy, columnDefinitionByColId, columnHeadersPosition);
19
+ const updatedSortModel = sortItemsToSortModel(sortBy, columnDefinitionByColId, columnHeadersPosition).filter(Boolean);
20
20
  const currentState = agGridApi.getColumnState();
21
21
  const updatedState = currentState.map((col) => {
22
+ const sortModelItem = updatedSortModel.find((sort) => sort.colId === col.colId);
23
+ const sortIndex = sortModelItem ? updatedSortModel.indexOf(sortModelItem) : undefined;
22
24
  return {
23
25
  ...col,
24
- sort: updatedSortModel.find((sort) => sort.colId === col.colId)?.sort ?? null,
26
+ sort: sortModelItem?.sort ?? null,
27
+ // Apply sortIndex to preserve multi-sort order
28
+ ...(sortIndex !== undefined && { sortIndex }),
25
29
  };
26
30
  });
27
31
  agGridApi.applyColumnState({
28
32
  state: updatedState,
33
+ // Clear sorts for columns not in the sort model
34
+ defaultState: { sort: null },
29
35
  });
30
36
  }
31
37
  }, [agGridApi, sortBy, columnDefinitionByColId, columnHeadersPosition, pushData]);
@@ -1 +1 @@
1
- {"version":3,"file":"useSyncSort.js","sourceRoot":"","sources":["../../../../src/next/hooks/sorting/useSyncSort.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,gDAAgD,CAAC;AAEtF;;;;GAIG;AACH,MAAM,UAAU,WAAW;IACvB,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,kBAAkB,EAAE,CAAC;IAC1D,MAAM,EAAE,uBAAuB,EAAE,GAAG,aAAa,EAAE,CAAC;IACpD,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,CAAC;IAEzC,MAAM,EAAE,SAAS,EAAE,GAAG,YAAY,EAAE,CAAC;IAErC,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,SAAS,EAAE,CAAC;YACZ,MAAM,gBAAgB,GAAG,oBAAoB,CACzC,MAAM,EACN,uBAAuB,EACvB,qBAAqB,CACxB,CAAC;YAEF,MAAM,YAAY,GAAG,SAAS,CAAC,cAAc,EAAE,CAAC;YAChD,MAAM,YAAY,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC1C,OAAO;oBACH,GAAG,GAAG;oBACN,IAAI,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,GAAG,CAAC,KAAK,CAAC,EAAE,IAAI,IAAI,IAAI;iBAChF,CAAC;YACN,CAAC,CAAC,CAAC;YAEH,SAAS,CAAC,gBAAgB,CAAC;gBACvB,KAAK,EAAE,YAAY;aACtB,CAAC,CAAC;QACP,CAAC;IACL,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,QAAQ,CAAC,CAAC,CAAC;AACtF,CAAC"}
1
+ {"version":3,"file":"useSyncSort.js","sourceRoot":"","sources":["../../../../src/next/hooks/sorting/useSyncSort.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,gDAAgD,CAAC;AAEtF;;;;GAIG;AACH,MAAM,UAAU,WAAW;IACvB,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,kBAAkB,EAAE,CAAC;IAC1D,MAAM,EAAE,uBAAuB,EAAE,GAAG,aAAa,EAAE,CAAC;IACpD,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,CAAC;IAEzC,MAAM,EAAE,SAAS,EAAE,GAAG,YAAY,EAAE,CAAC;IAErC,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,SAAS,EAAE,CAAC;YACZ,MAAM,gBAAgB,GAAG,oBAAoB,CACzC,MAAM,EACN,uBAAuB,EACvB,qBAAqB,CACxB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAElB,MAAM,YAAY,GAAG,SAAS,CAAC,cAAc,EAAE,CAAC;YAChD,MAAM,YAAY,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC1C,MAAM,aAAa,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;gBAChF,MAAM,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBAEtF,OAAO;oBACH,GAAG,GAAG;oBACN,IAAI,EAAE,aAAa,EAAE,IAAI,IAAI,IAAI;oBACjC,+CAA+C;oBAC/C,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,CAAC;iBAChD,CAAC;YACN,CAAC,CAAC,CAAC;YAEH,SAAS,CAAC,gBAAgB,CAAC;gBACvB,KAAK,EAAE,YAAY;gBACnB,gDAAgD;gBAChD,YAAY,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;aAC/B,CAAC,CAAC;QACP,CAAC;IACL,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,QAAQ,CAAC,CAAC,CAAC;AACtF,CAAC"}
@@ -5,5 +5,5 @@ import { ITextWrapping } from "../../types/textWrapping.js";
5
5
  *
6
6
  * @internal
7
7
  */
8
- export declare function useGetDefaultTextWrapping(): (gridApi: AgGridApi | undefined, configDefaults?: ITextWrapping) => ITextWrapping;
8
+ export declare function useGetDefaultTextWrapping(): (gridApi: AgGridApi | null, configDefaults?: ITextWrapping) => ITextWrapping;
9
9
  //# sourceMappingURL=useGetDefaultTextWrapping.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useGetDefaultTextWrapping.d.ts","sourceRoot":"","sources":["../../../../src/next/hooks/textWrapping/useGetDefaultTextWrapping.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D;;;;GAIG;AACH,wBAAgB,yBAAyB,cACR,SAAS,GAAG,SAAS,mBAAmB,aAAa,KAAG,aAAa,CAYrG"}
1
+ {"version":3,"file":"useGetDefaultTextWrapping.d.ts","sourceRoot":"","sources":["../../../../src/next/hooks/textWrapping/useGetDefaultTextWrapping.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D;;;;GAIG;AACH,wBAAgB,yBAAyB,cACR,SAAS,GAAG,IAAI,mBAAmB,aAAa,KAAG,aAAa,CAYhG"}
@@ -1 +1 @@
1
- {"version":3,"file":"useGetDefaultTextWrapping.js","sourceRoot":"","sources":["../../../../src/next/hooks/textWrapping/useGetDefaultTextWrapping.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAKpC;;;;GAIG;AACH,MAAM,UAAU,yBAAyB;IACrC,OAAO,WAAW,CAAC,CAAC,OAA8B,EAAE,cAA8B,EAAiB,EAAE;QACjG,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,OAAO,cAAc,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QACxE,CAAC;QAED,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;QAEnE,OAAO;YACH,cAAc,EAAE,CAAC,CAAC,aAAa,CAAC,cAAc;YAC9C,QAAQ,EAAE,CAAC,CAAC,aAAa,CAAC,QAAQ;SACrC,CAAC;IACN,CAAC,EAAE,EAAE,CAAC,CAAC;AACX,CAAC"}
1
+ {"version":3,"file":"useGetDefaultTextWrapping.js","sourceRoot":"","sources":["../../../../src/next/hooks/textWrapping/useGetDefaultTextWrapping.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAKpC;;;;GAIG;AACH,MAAM,UAAU,yBAAyB;IACrC,OAAO,WAAW,CAAC,CAAC,OAAyB,EAAE,cAA8B,EAAiB,EAAE;QAC5F,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,OAAO,cAAc,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QACxE,CAAC;QAED,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;QAEnE,OAAO;YACH,cAAc,EAAE,CAAC,CAAC,aAAa,CAAC,cAAc;YAC9C,QAAQ,EAAE,CAAC,CAAC,aAAa,CAAC,QAAQ;SACrC,CAAC;IACN,CAAC,EAAE,EAAE,CAAC,CAAC;AACX,CAAC"}
@@ -19,6 +19,6 @@ import { ITextWrapping } from "../../types/textWrapping.js";
19
19
  * @internal
20
20
  */
21
21
  export declare function useUpdateTextWrapping(): {
22
- onUpdateTextWrapping: (newTextWrapping: ITextWrapping, gridApi?: AgGridApi) => void;
22
+ onUpdateTextWrapping: (newTextWrapping: ITextWrapping, gridApi: AgGridApi | null) => void;
23
23
  };
24
24
  //# sourceMappingURL=useUpdateTextWrapping.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useUpdateTextWrapping.d.ts","sourceRoot":"","sources":["../../../../src/next/hooks/textWrapping/useUpdateTextWrapping.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAmB,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAI5D;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,qBAAqB;4CAOX,aAAa,YAAY,SAAS;EA+C3D"}
1
+ {"version":3,"file":"useUpdateTextWrapping.d.ts","sourceRoot":"","sources":["../../../../src/next/hooks/textWrapping/useUpdateTextWrapping.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAmB,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAI5D;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,qBAAqB;4CAOX,aAAa,WAAW,SAAS,GAAG,IAAI;EA+CjE"}
@@ -1 +1 @@
1
- {"version":3,"file":"useUpdateTextWrapping.js","sourceRoot":"","sources":["../../../../src/next/hooks/textWrapping/useUpdateTextWrapping.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEpC,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAG7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;AAEpF;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,qBAAqB;IACjC,MAAM,EAAE,QAAQ,EAAE,GAAG,kBAAkB,EAAE,CAAC;IAC1C,MAAM,sBAAsB,GAAG,yBAAyB,EAAE,CAAC;IAC3D,MAAM,yBAAyB,GAAG,4BAA4B,EAAE,CAAC;IACjE,MAAM,gBAAgB,GAAG,mBAAmB,EAAE,CAAC;IAE/C,MAAM,oBAAoB,GAAG,WAAW,CACpC,CAAC,eAA8B,EAAE,OAAmB,EAAE,EAAE;QACpD,IAAI,OAAO,EAAE,CAAC;YACV,MAAM,QAAQ,GAAG,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC;YAC5C,MAAM,cAAc,GAAG,CAAC,CAAC,eAAe,CAAC,cAAc,CAAC;YAExD,0FAA0F;YAC1F,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;YAC7C,MAAM,cAAc,GAAG,UAAU,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;gBAC9C,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;gBAClC,MAAM,YAAY,GAAG,MAAM,CAAC,cAAc,EAAE,CAAC;gBAE7C,OAAO;oBACH,GAAG,MAAM;oBACT,QAAQ;oBACR,cAAc;oBACd,8EAA8E;oBAC9E,UAAU,EAAE,QAAQ;oBACpB,gBAAgB,EAAE,cAAc;oBAChC,sFAAsF;oBACtF,KAAK,EAAE,YAAY;iBACtB,CAAC;YACN,CAAC,CAAC,CAAC;YAEH,IAAI,cAAc,EAAE,CAAC;gBACjB,sBAAsB,CAAC,cAAmC,EAAE,OAAO,CAAC,CAAC;YACzE,CAAC;YAED,iFAAiF;YACjF,yBAAyB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QACxD,CAAC;QAED,IAAI,QAAQ,EAAE,CAAC;YACX,QAAQ,CAAC;gBACL,UAAU,EAAE;oBACR,QAAQ,EAAE;wBACN,YAAY,EAAE,eAAe;qBAChC;iBACJ;aACJ,CAAC,CAAC;QACP,CAAC;IACL,CAAC,EACD,CAAC,QAAQ,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,yBAAyB,CAAC,CAClF,CAAC;IAEF,OAAO;QACH,oBAAoB;KACvB,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"useUpdateTextWrapping.js","sourceRoot":"","sources":["../../../../src/next/hooks/textWrapping/useUpdateTextWrapping.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEpC,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAG7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;AAEpF;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,qBAAqB;IACjC,MAAM,EAAE,QAAQ,EAAE,GAAG,kBAAkB,EAAE,CAAC;IAC1C,MAAM,sBAAsB,GAAG,yBAAyB,EAAE,CAAC;IAC3D,MAAM,yBAAyB,GAAG,4BAA4B,EAAE,CAAC;IACjE,MAAM,gBAAgB,GAAG,mBAAmB,EAAE,CAAC;IAE/C,MAAM,oBAAoB,GAAG,WAAW,CACpC,CAAC,eAA8B,EAAE,OAAyB,EAAE,EAAE;QAC1D,IAAI,OAAO,EAAE,CAAC;YACV,MAAM,QAAQ,GAAG,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC;YAC5C,MAAM,cAAc,GAAG,CAAC,CAAC,eAAe,CAAC,cAAc,CAAC;YAExD,0FAA0F;YAC1F,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;YAC7C,MAAM,cAAc,GAAG,UAAU,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;gBAC9C,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;gBAClC,MAAM,YAAY,GAAG,MAAM,CAAC,cAAc,EAAE,CAAC;gBAE7C,OAAO;oBACH,GAAG,MAAM;oBACT,QAAQ;oBACR,cAAc;oBACd,8EAA8E;oBAC9E,UAAU,EAAE,QAAQ;oBACpB,gBAAgB,EAAE,cAAc;oBAChC,sFAAsF;oBACtF,KAAK,EAAE,YAAY;iBACtB,CAAC;YACN,CAAC,CAAC,CAAC;YAEH,IAAI,cAAc,EAAE,CAAC;gBACjB,sBAAsB,CAAC,cAAmC,EAAE,OAAO,CAAC,CAAC;YACzE,CAAC;YAED,iFAAiF;YACjF,yBAAyB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QACxD,CAAC;QAED,IAAI,QAAQ,EAAE,CAAC;YACX,QAAQ,CAAC;gBACL,UAAU,EAAE;oBACR,QAAQ,EAAE;wBACN,YAAY,EAAE,eAAe;qBAChC;iBACJ;aACJ,CAAC,CAAC;QACP,CAAC;IACL,CAAC,EACD,CAAC,QAAQ,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,yBAAyB,CAAC,CAClF,CAAC;IAEF,OAAO;QACH,oBAAoB;KACvB,CAAC;AACN,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useUpdateTotals.d.ts","sourceRoot":"","sources":["../../../../src/next/hooks/totals/useUpdateTotals.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAM7C;;;;;GAKG;AACH,wBAAgB,eAAe;oCAIP,MAAM,EAAE,oBAAoB,MAAM,EAAE,YAAY,OAAO,YAAY,OAAO;EAmCjG"}
1
+ {"version":3,"file":"useUpdateTotals.d.ts","sourceRoot":"","sources":["../../../../src/next/hooks/totals/useUpdateTotals.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAO7C;;;;;GAKG;AACH,wBAAgB,eAAe;oCAIP,MAAM,EAAE,oBAAoB,MAAM,EAAE,YAAY,OAAO,YAAY,OAAO;EAsCjG"}
@@ -3,6 +3,7 @@ import { useCallback } from "react";
3
3
  import { isEqual, uniqWith } from "lodash-es";
4
4
  import { BucketNames } from "@gooddata/sdk-ui";
5
5
  import { usePivotTableProps } from "../../context/PivotTablePropsContext.js";
6
+ import { orderTotals } from "../../features/aggregations/ordering.js";
6
7
  import { sanitizeTotals } from "../../features/aggregations/sanitization.js";
7
8
  /**
8
9
  * Manages totals updates and communicates changes externally.
@@ -17,20 +18,22 @@ export function useUpdateTotals() {
17
18
  return;
18
19
  }
19
20
  // Update total definitions based on current state
20
- const newTotals = isActive
21
+ const updatedTotals = isActive
21
22
  ? currentTotals.filter((total) => !totalDefinitions.some((def) => isEqual(def, total)))
22
23
  : uniqWith([...currentTotals, ...totalDefinitions], isEqual);
24
+ // Apply consistent ordering to ensure external consumers receive properly ordered totals
25
+ const orderedTotals = orderTotals(updatedTotals);
23
26
  if (isColumn) {
24
27
  pushData({
25
28
  properties: {
26
- totals: newTotals,
29
+ totals: orderedTotals,
27
30
  bucketType: BucketNames.COLUMNS,
28
31
  },
29
32
  });
30
33
  }
31
34
  else {
32
- // Sanitize totals for row totals (attribute bucket)
33
- const sanitizedTotals = sanitizeTotals(execution.definition, newTotals);
35
+ // Sanitize totals for row totals (attribute bucket) and ensure ordering is maintained
36
+ const sanitizedTotals = orderTotals(sanitizeTotals(execution.definition, orderedTotals));
34
37
  pushData({
35
38
  properties: {
36
39
  totals: sanitizedTotals,
@@ -1 +1 @@
1
- {"version":3,"file":"useUpdateTotals.js","sourceRoot":"","sources":["../../../../src/next/hooks/totals/useUpdateTotals.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEpC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAG9C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;AAE7E;;;;;GAKG;AACH,MAAM,UAAU,eAAe;IAC3B,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,kBAAkB,EAAE,CAAC;IAErD,MAAM,cAAc,GAAG,WAAW,CAC9B,CAAC,aAAuB,EAAE,gBAA0B,EAAE,QAAiB,EAAE,QAAiB,EAAE,EAAE;QAC1F,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,OAAO;QACX,CAAC;QAED,kDAAkD;QAClD,MAAM,SAAS,GAAG,QAAQ;YACtB,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;YACvF,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,aAAa,EAAE,GAAG,gBAAgB,CAAC,EAAE,OAAO,CAAC,CAAC;QAEjE,IAAI,QAAQ,EAAE,CAAC;YACX,QAAQ,CAAC;gBACL,UAAU,EAAE;oBACR,MAAM,EAAE,SAAS;oBACjB,UAAU,EAAE,WAAW,CAAC,OAAO;iBAClC;aACJ,CAAC,CAAC;QACP,CAAC;aAAM,CAAC;YACJ,oDAAoD;YACpD,MAAM,eAAe,GAAG,cAAc,CAAC,SAAS,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;YAExE,QAAQ,CAAC;gBACL,UAAU,EAAE;oBACR,MAAM,EAAE,eAAe;oBACvB,UAAU,EAAE,WAAW,CAAC,SAAS;iBACpC;aACJ,CAAC,CAAC;QACP,CAAC;IACL,CAAC,EACD,CAAC,QAAQ,EAAE,SAAS,CAAC,UAAU,CAAC,CACnC,CAAC;IAEF,OAAO;QACH,cAAc;KACjB,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"useUpdateTotals.js","sourceRoot":"","sources":["../../../../src/next/hooks/totals/useUpdateTotals.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEpC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAG9C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,yCAAyC,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;AAE7E;;;;;GAKG;AACH,MAAM,UAAU,eAAe;IAC3B,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,kBAAkB,EAAE,CAAC;IAErD,MAAM,cAAc,GAAG,WAAW,CAC9B,CAAC,aAAuB,EAAE,gBAA0B,EAAE,QAAiB,EAAE,QAAiB,EAAE,EAAE;QAC1F,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,OAAO;QACX,CAAC;QAED,kDAAkD;QAClD,MAAM,aAAa,GAAG,QAAQ;YAC1B,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;YACvF,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,aAAa,EAAE,GAAG,gBAAgB,CAAC,EAAE,OAAO,CAAC,CAAC;QAEjE,yFAAyF;QACzF,MAAM,aAAa,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;QAEjD,IAAI,QAAQ,EAAE,CAAC;YACX,QAAQ,CAAC;gBACL,UAAU,EAAE;oBACR,MAAM,EAAE,aAAa;oBACrB,UAAU,EAAE,WAAW,CAAC,OAAO;iBAClC;aACJ,CAAC,CAAC;QACP,CAAC;aAAM,CAAC;YACJ,sFAAsF;YACtF,MAAM,eAAe,GAAG,WAAW,CAAC,cAAc,CAAC,SAAS,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC;YAEzF,QAAQ,CAAC;gBACL,UAAU,EAAE;oBACR,MAAM,EAAE,eAAe;oBACvB,UAAU,EAAE,WAAW,CAAC,SAAS;iBACpC;aACJ,CAAC,CAAC;QACP,CAAC;IACL,CAAC,EACD,CAAC,QAAQ,EAAE,SAAS,CAAC,UAAU,CAAC,CACnC,CAAC;IAEF,OAAO;QACH,cAAc;KACjB,CAAC;AACN,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useDrillingProps.d.ts","sourceRoot":"","sources":["../../../src/next/hooks/useDrillingProps.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAmB,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGlE;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,CAAC,gBAAgB,EAAE,WAAW,KAAK,WAAW,CA8GjF"}
1
+ {"version":3,"file":"useDrillingProps.d.ts","sourceRoot":"","sources":["../../../src/next/hooks/useDrillingProps.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAmB,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGlE;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,CAAC,gBAAgB,EAAE,WAAW,KAAK,WAAW,CA0GjF"}
@@ -4,6 +4,7 @@ import { UnexpectedSdkError, VisualizationTypes, } from "@gooddata/sdk-ui";
4
4
  import { isEnterKey, isSpaceKey } from "@gooddata/sdk-ui-kit";
5
5
  import { useCurrentDataView } from "../context/CurrentDataViewContext.js";
6
6
  import { usePivotTableProps } from "../context/PivotTablePropsContext.js";
7
+ import { createCustomDrillEvent } from "../features/drilling/events.js";
7
8
  import { createDrillIntersection } from "../features/drilling/intersection.js";
8
9
  import { isCellDrillable } from "../features/drilling/isDrillable.js";
9
10
  /**
@@ -49,11 +50,7 @@ export function useDrillingProps() {
49
50
  drillContext,
50
51
  };
51
52
  if (onDrill(drillEvent)) {
52
- // Dispatch custom drill event for embedded scenarios
53
- const customEvent = new CustomEvent("drill", {
54
- detail: drillEvent,
55
- bubbles: true,
56
- });
53
+ const customEvent = createCustomDrillEvent(drillEvent);
57
54
  event.event?.target?.dispatchEvent(customEvent);
58
55
  return true;
59
56
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useDrillingProps.js","sourceRoot":"","sources":["../../../src/next/hooks/useDrillingProps.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useDrillingProps.js","sourceRoot":"","sources":["../../../src/next/hooks/useDrillingProps.ts"],"names":[],"mappings":"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"}
@@ -51,4 +51,12 @@ export type AgGridHeaderParams = IHeaderParams<AgGridRowData, string | null>;
51
51
  * @internal
52
52
  */
53
53
  export type AgGridHeaderGroupParams = IHeaderGroupParams<AgGridRowData, string | null>;
54
+ /**
55
+ * @internal
56
+ * Checks if the column definition is a column group definition
57
+ *
58
+ * @param colDef - The column definition
59
+ * @returns true if the column definition is a column group definition, false otherwise
60
+ */
61
+ export declare const isAgGridColumnGroupDef: (colDef: unknown) => colDef is AgGridColumnGroupDef;
54
62
  //# sourceMappingURL=agGrid.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agGrid.d.ts","sourceRoot":"","sources":["../../../src/next/types/agGrid.ts"],"names":[],"mappings":"AACA,OAAO,EACH,MAAM,EACN,WAAW,EACX,MAAM,EACN,OAAO,EACP,mBAAmB,EACnB,kBAAkB,EAClB,aAAa,EAChB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,MAAM,MAAM,sBAAsB,GAAG;IACjC,gBAAgB,EAAE,sBAAsB,CAAC;IACzC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC,EAAE,SAAS,CAAC,GAAG;IAClF,OAAO,EAAE,sBAAsB,CAAC;CACnC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,SAAS,CAAC,GAAG;IAC7E,OAAO,EAAE,sBAAsB,CAAC;CACnC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG,mBAAmB,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;AAEzF;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;AAE/C;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAC;AAE1D;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,WAAW,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC;AAEhF;;GAEG;AACH,MAAM,MAAM,6BAA6B,GAAG,WAAW,CAAC,WAAW,CAAC,yBAAyB,CAAC,CAAC,CAAC;AAEhG;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;AAEjD;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,aAAa,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;AAE7E;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG,kBAAkB,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC"}
1
+ {"version":3,"file":"agGrid.d.ts","sourceRoot":"","sources":["../../../src/next/types/agGrid.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,MAAM,EACN,WAAW,EACX,MAAM,EACN,OAAO,EACP,mBAAmB,EACnB,kBAAkB,EAClB,aAAa,EAChB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,MAAM,MAAM,sBAAsB,GAAG;IACjC,gBAAgB,EAAE,sBAAsB,CAAC;IACzC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC,EAAE,SAAS,CAAC,GAAG;IAClF,OAAO,EAAE,sBAAsB,CAAC;CACnC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,SAAS,CAAC,GAAG;IAC7E,OAAO,EAAE,sBAAsB,CAAC;CACnC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG,mBAAmB,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;AAEzF;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;AAE/C;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAC;AAE1D;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,WAAW,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC;AAEhF;;GAEG;AACH,MAAM,MAAM,6BAA6B,GAAG,WAAW,CAAC,WAAW,CAAC,yBAAyB,CAAC,CAAC,CAAC;AAEhG;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;AAEjD;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,aAAa,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;AAE7E;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG,kBAAkB,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;AAEvF;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,GAAI,QAAQ,OAAO,KAAG,MAAM,IAAI,oBAElE,CAAC"}
@@ -1,2 +1,12 @@
1
- export {};
1
+ // (C) 2025 GoodData Corporation
2
+ /**
3
+ * @internal
4
+ * Checks if the column definition is a column group definition
5
+ *
6
+ * @param colDef - The column definition
7
+ * @returns true if the column definition is a column group definition, false otherwise
8
+ */
9
+ export const isAgGridColumnGroupDef = (colDef) => {
10
+ return colDef !== undefined && colDef !== null && colDef.children !== undefined;
11
+ };
2
12
  //# sourceMappingURL=agGrid.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agGrid.js","sourceRoot":"","sources":["../../../src/next/types/agGrid.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"agGrid.js","sourceRoot":"","sources":["../../../src/next/types/agGrid.ts"],"names":[],"mappings":"AAAA,gCAAgC;AA6EhC;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,MAAe,EAAkC,EAAE;IACtF,OAAO,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI,IAAK,MAA+B,CAAC,QAAQ,KAAK,SAAS,CAAC;AAC9G,CAAC,CAAC"}
@@ -89,4 +89,16 @@ export interface ITextWrappingMenuItem {
89
89
  title: string;
90
90
  isActive: boolean;
91
91
  }
92
+ /**
93
+ * Sorting menu item. Represents a single sorting option entry.
94
+ *
95
+ * @internal
96
+ */
97
+ export interface ISortingMenuItem {
98
+ type: "sorting";
99
+ id: string;
100
+ title: string;
101
+ isActive: boolean;
102
+ direction: "asc" | "desc" | null;
103
+ }
92
104
  //# sourceMappingURL=menu.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"menu.d.ts","sourceRoot":"","sources":["../../../src/next/types/menu.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAExD;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG;IACnC;;OAEG;IACH,IAAI,CAAC,EAAE,KAAK,CAAC;CAChB,CAAC;AAEF;;;;GAIG;AACH,MAAM,WAAW,KAAK;IAClB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B;;;;;;;;OAQG;IACH,gBAAgB,CAAC,EAAE,SAAS,EAAE,CAAC;IAE/B;;;;;;OAMG;IACH,0BAA0B,CAAC,EAAE,OAAO,CAAC;CACxC;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,qBAAqB;IAClC,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,wBAAwB,EAAE,CAAC;IACjC,OAAO,EAAE,wBAAwB,EAAE,CAAC;IACpC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,wBAAwB;IACrC,IAAI,EAAE,aAAa,CAAC;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC9B;AAED;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IAClC,IAAI,EAAE,cAAc,CAAC;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;CACrB"}
1
+ {"version":3,"file":"menu.d.ts","sourceRoot":"","sources":["../../../src/next/types/menu.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAExD;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG;IACnC;;OAEG;IACH,IAAI,CAAC,EAAE,KAAK,CAAC;CAChB,CAAC;AAEF;;;;GAIG;AACH,MAAM,WAAW,KAAK;IAClB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B;;;;;;;;OAQG;IACH,gBAAgB,CAAC,EAAE,SAAS,EAAE,CAAC;IAE/B;;;;;;OAMG;IACH,0BAA0B,CAAC,EAAE,OAAO,CAAC;CACxC;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,qBAAqB;IAClC,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,wBAAwB,EAAE,CAAC;IACjC,OAAO,EAAE,wBAAwB,EAAE,CAAC;IACpC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,wBAAwB;IACrC,IAAI,EAAE,aAAa,CAAC;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC9B;AAED;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IAClC,IAAI,EAAE,cAAc,CAAC;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;CACrB;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC7B,IAAI,EAAE,SAAS,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,KAAK,GAAG,MAAM,GAAG,IAAI,CAAC;CACpC"}
@@ -1,2 +1,3 @@
1
+ // (C) 2025 GoodData Corporation
1
2
  export {};
2
3
  //# sourceMappingURL=menu.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"menu.js","sourceRoot":"","sources":["../../../src/next/types/menu.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"menu.js","sourceRoot":"","sources":["../../../src/next/types/menu.ts"],"names":[],"mappings":"AAAA,gCAAgC"}