@gooddata/sdk-ui-pivot 10.38.0-alpha.2 → 10.39.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/PivotTable.d.ts.map +1 -1
- package/esm/PivotTable.js +23 -18
- package/esm/PivotTable.js.map +1 -1
- package/esm/impl/structure/headers/AggregationsMenu.d.ts +1 -11
- package/esm/impl/structure/headers/AggregationsMenu.d.ts.map +1 -1
- package/esm/impl/structure/headers/AggregationsMenu.js +71 -66
- package/esm/impl/structure/headers/AggregationsMenu.js.map +1 -1
- package/esm/impl/structure/headers/AggregationsSubMenu.d.ts +1 -4
- package/esm/impl/structure/headers/AggregationsSubMenu.d.ts.map +1 -1
- package/esm/impl/structure/headers/AggregationsSubMenu.js +17 -23
- package/esm/impl/structure/headers/AggregationsSubMenu.js.map +1 -1
- package/esm/impl/structure/headers/ColumnGroupHeader.d.ts +1 -3
- package/esm/impl/structure/headers/ColumnGroupHeader.d.ts.map +1 -1
- package/esm/impl/structure/headers/ColumnGroupHeader.js +9 -12
- package/esm/impl/structure/headers/ColumnGroupHeader.js.map +1 -1
- package/esm/impl/structure/headers/ColumnTotalHeader.d.ts +1 -5
- package/esm/impl/structure/headers/ColumnTotalHeader.d.ts.map +1 -1
- package/esm/impl/structure/headers/ColumnTotalHeader.js +8 -12
- package/esm/impl/structure/headers/ColumnTotalHeader.js.map +1 -1
- package/esm/impl/structure/headers/HeaderCell.d.ts +1 -27
- package/esm/impl/structure/headers/HeaderCell.d.ts.map +1 -1
- package/esm/impl/structure/headers/HeaderCell.js +122 -137
- package/esm/impl/structure/headers/HeaderCell.js.map +1 -1
- package/esm/impl/structure/headers/MixedValuesColumnHeader.d.ts +1 -3
- package/esm/impl/structure/headers/MixedValuesColumnHeader.d.ts.map +1 -1
- package/esm/impl/structure/headers/MixedValuesColumnHeader.js +3 -5
- package/esm/impl/structure/headers/MixedValuesColumnHeader.js.map +1 -1
- package/esm/impl/structure/headers/TotalHeaderCell.d.ts +1 -5
- package/esm/impl/structure/headers/TotalHeaderCell.d.ts.map +1 -1
- package/esm/impl/structure/headers/TotalHeaderCell.js +9 -18
- package/esm/impl/structure/headers/TotalHeaderCell.js.map +1 -1
- package/esm/next/features/data/createServerSideDataSource.d.ts.map +1 -1
- package/esm/next/features/data/createServerSideDataSource.js +5 -3
- package/esm/next/features/data/createServerSideDataSource.js.map +1 -1
- package/package.json +10 -10
package/esm/PivotTable.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PivotTable.d.ts","sourceRoot":"","sources":["../src/PivotTable.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAOH,OAAO,EACP,UAAU,EASb,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAEH,KAAK,EAGL,gBAAgB,EACnB,MAAM,kBAAkB,CAAC;AAW1B,OAAO,EAAE,oBAAoB,EAAsB,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"PivotTable.d.ts","sourceRoot":"","sources":["../src/PivotTable.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAOH,OAAO,EACP,UAAU,EASb,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAEH,KAAK,EAGL,gBAAgB,EACnB,MAAM,kBAAkB,CAAC;AAW1B,OAAO,EAAE,oBAAoB,EAAsB,MAAM,2BAA2B,CAAC;AAmIrF;;;;;GAKG;AACH,eAAO,MAAM,UAAU,GAAI,OAAO,gBAAgB,sBAOjD,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,6BAA6B,CACzC,YAAY,EAAE,oBAAoB,EAClC,WAAW,GAAE,KAAU,GACxB,KAAK,CAsBP;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,YAAY,EAAE,OAAO,GAAG,UAAU,EAAE,CAmB/F"}
|
package/esm/PivotTable.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// (C) 2007-
|
|
1
|
+
// (C) 2007-2025 GoodData Corporation
|
|
2
2
|
import React from "react";
|
|
3
3
|
import { CorePivotTableAgImpl } from "./CorePivotTable.js";
|
|
4
4
|
import { bucketAttributes, bucketIsEmpty, bucketsFind, bucketTotals, MeasureGroupIdentifier, newBucket, newTwoDimensional, isMeasureSort, } from "@gooddata/sdk-model";
|
|
@@ -56,23 +56,28 @@ const validateConfig = (props) => {
|
|
|
56
56
|
}
|
|
57
57
|
return config;
|
|
58
58
|
};
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
59
|
+
function RenderPivotTable(props) {
|
|
60
|
+
const { exportTitle, backend, workspace, config = {} } = props;
|
|
61
|
+
invariant(backend, "Backend was not provided for PivotTable. Either pass it as a prop or use BackendContext.");
|
|
62
|
+
invariant(workspace, "Workspace was not provided for PivotTable. Either pass it as a prop or use WorkspaceContext.");
|
|
63
|
+
const newProps = omit(props, [
|
|
64
|
+
"measures",
|
|
65
|
+
"rows",
|
|
66
|
+
"columns",
|
|
67
|
+
"totals",
|
|
68
|
+
"filters",
|
|
69
|
+
"sortBy",
|
|
70
|
+
]);
|
|
71
|
+
const pivotTableConfig = {
|
|
72
|
+
...validateConfig(props),
|
|
73
|
+
menu: pivotTableMenuForCapabilities(backend.capabilities, config?.menu),
|
|
74
|
+
};
|
|
75
|
+
const corePivotProps = omit(newProps, ["backend", "workspace"]);
|
|
76
|
+
const execution = prepareExecution(props);
|
|
77
|
+
return (React.createElement(IntlWrapper, { locale: props.locale },
|
|
78
|
+
React.createElement(IntlTranslationsProvider, null, (translationProps) => {
|
|
79
|
+
return (React.createElement(CorePivotTableAgImpl, { ...corePivotProps, config: pivotTableConfig, intl: translationProps.intl, execution: execution, exportTitle: exportTitle || "PivotTable" }));
|
|
80
|
+
})));
|
|
76
81
|
}
|
|
77
82
|
const WrappedPivotTable = withContexts(RenderPivotTable);
|
|
78
83
|
/**
|
package/esm/PivotTable.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PivotTable.js","sourceRoot":"","sources":["../src/PivotTable.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"PivotTable.js","sourceRoot":"","sources":["../src/PivotTable.tsx"],"names":[],"mappings":"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"}
|
|
@@ -20,15 +20,5 @@ export interface IAggregationsMenuProps {
|
|
|
20
20
|
onMenuOpenedChange: ({ opened, source }: IOnOpenedChangeParams) => void;
|
|
21
21
|
theme?: ITheme;
|
|
22
22
|
}
|
|
23
|
-
export default
|
|
24
|
-
render(): React.JSX.Element | null;
|
|
25
|
-
private getColumnTotals;
|
|
26
|
-
private getRowTotals;
|
|
27
|
-
private getTogglerClassNames;
|
|
28
|
-
private renderMenuItemContent;
|
|
29
|
-
private getItemClassNames;
|
|
30
|
-
private isTableFilteredByMeasureValue;
|
|
31
|
-
private isTableFilteredByRankingFilter;
|
|
32
|
-
private renderMainMenuItems;
|
|
33
|
-
}
|
|
23
|
+
export default function AggregationsMenu({ intl, colId, getTableDescriptor, isMenuOpened, onMenuOpenedChange, showColumnsSubMenu, isMenuButtonVisible, getColumnTotals, getRowTotals, getExecutionDefinition, onAggregationSelect, showSubmenu, availableTotalTypes, }: IAggregationsMenuProps): React.JSX.Element | null;
|
|
34
24
|
//# sourceMappingURL=AggregationsMenu.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AggregationsMenu.d.ts","sourceRoot":"","sources":["../../../../src/impl/structure/headers/AggregationsMenu.tsx"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"AggregationsMenu.d.ts","sourceRoot":"","sources":["../../../../src/impl/structure/headers/AggregationsMenu.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAsB,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EACH,oBAAoB,EAEpB,MAAM,EACN,SAAS,EAGT,MAAM,EAET,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAQH,qBAAqB,EACxB,MAAM,sBAAsB,CAAC;AAM9B,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAQxD,OAAO,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AAUpE,MAAM,WAAW,sBAAsB;IACnC,IAAI,EAAE,SAAS,CAAC;IAChB,YAAY,EAAE,OAAO,CAAC;IACtB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,WAAW,EAAE,OAAO,CAAC;IACrB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,mBAAmB,EAAE,SAAS,EAAE,CAAC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,kBAAkB,EAAE,MAAM,eAAe,CAAC;IAC1C,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;IACnD,eAAe,CAAC,EAAE,MAAM,MAAM,EAAE,CAAC;IACjC,YAAY,CAAC,EAAE,MAAM,MAAM,EAAE,CAAC;IAC9B,mBAAmB,EAAE,CAAC,WAAW,EAAE,2BAA2B,KAAK,IAAI,CAAC;IACxE,kBAAkB,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,qBAAqB,KAAK,IAAI,CAAC;IACxE,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAWD,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EACrC,IAAI,EACJ,KAAK,EACL,kBAAkB,EAClB,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,YAAY,EACZ,sBAAsB,EACtB,mBAAmB,EACnB,WAAW,EACX,mBAAmB,GACtB,EAAE,sBAAsB,4BAoOxB"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
// (C) 2019-
|
|
1
|
+
// (C) 2019-2025 GoodData Corporation
|
|
2
2
|
import cx from "classnames";
|
|
3
|
-
import React from "react";
|
|
3
|
+
import React, { useCallback } from "react";
|
|
4
4
|
import { isMeasureValueFilter, measureValueFilterCondition, isRankingFilter, } from "@gooddata/sdk-model";
|
|
5
5
|
import { Bubble, BubbleHoverTrigger, Header, Icon, Item, ItemsWrapper, Menu, } from "@gooddata/sdk-ui-kit";
|
|
6
6
|
import { useTheme } from "@gooddata/sdk-ui-theme-provider";
|
|
@@ -20,101 +20,106 @@ const MenuToggler = () => {
|
|
|
20
20
|
return (React.createElement("div", { className: "menu-icon" },
|
|
21
21
|
React.createElement(Icon.BurgerMenu, { color: theme?.palette?.complementary?.c8 })));
|
|
22
22
|
};
|
|
23
|
-
export default
|
|
24
|
-
|
|
25
|
-
const
|
|
26
|
-
if (!colId) {
|
|
27
|
-
return null;
|
|
28
|
-
}
|
|
29
|
-
// Because of Ag-grid react wrapper does not rerender the component when we pass
|
|
30
|
-
// new gridOptions we need to pull the data manually on each render
|
|
31
|
-
const tableDescriptor = getTableDescriptor();
|
|
32
|
-
const canShowMenu = tableDescriptor.canTableHaveColumnTotals() && showColumnsSubMenu;
|
|
33
|
-
if (!tableDescriptor.canTableHaveRowTotals() && !canShowMenu) {
|
|
34
|
-
return null;
|
|
35
|
-
}
|
|
36
|
-
const col = tableDescriptor.getCol(colId);
|
|
37
|
-
if (isSliceCol(col) || isRootCol(col)) {
|
|
38
|
-
// aggregation menu should not appear on headers of the slicing columns or on the
|
|
39
|
-
// very to header which describes table grouping
|
|
40
|
-
return null;
|
|
41
|
-
}
|
|
42
|
-
// Note: for measures in rows, where the column is of type isSliceMeasureCol()
|
|
43
|
-
// we have all measures associated with the menu. This is overriden in the individual
|
|
44
|
-
// cell renderers for particular measure with specific onMenuAggregationClick fn.
|
|
45
|
-
const measures = isSeriesCol(col)
|
|
46
|
-
? [col.seriesDescriptor.measureDescriptor]
|
|
47
|
-
: tableDescriptor.getMeasures();
|
|
48
|
-
const measureLocalIdentifiers = measures.map((m) => m.measureHeaderItem.localIdentifier);
|
|
49
|
-
const useGrouped = isScopeCol(col) || isSliceMeasureCol(col);
|
|
50
|
-
const columnTotals = this.getColumnTotals(measureLocalIdentifiers, useGrouped, isSliceMeasureCol(col));
|
|
51
|
-
const rowTotals = this.getRowTotals(measureLocalIdentifiers, useGrouped, isSliceMeasureCol(col));
|
|
52
|
-
const rowAttributeDescriptors = tableDescriptor.getSlicingAttributes();
|
|
53
|
-
const columnAttributeDescriptors = tableDescriptor.getScopingAttributes();
|
|
54
|
-
return (React.createElement(Menu, { toggler: React.createElement(MenuToggler, null), togglerWrapperClassName: this.getTogglerClassNames(), opened: isMenuOpened, onOpenedChange: onMenuOpenedChange, openAction: "click", closeOnScroll: true },
|
|
55
|
-
React.createElement(ItemsWrapper, null,
|
|
56
|
-
React.createElement("div", { className: "s-table-header-menu-content" },
|
|
57
|
-
React.createElement(Header, null, intl.formatMessage({ id: "visualizations.menu.aggregations" })),
|
|
58
|
-
this.renderMainMenuItems(columnTotals, rowTotals, measureLocalIdentifiers, rowAttributeDescriptors, columnAttributeDescriptors, showColumnsSubMenu)))));
|
|
59
|
-
}
|
|
60
|
-
getColumnTotals(measureLocalIdentifiers, isGroupedHeader, ignoreMeasures) {
|
|
61
|
-
const columnTotals = this.props.getColumnTotals?.() ?? [];
|
|
23
|
+
export default function AggregationsMenu({ intl, colId, getTableDescriptor, isMenuOpened, onMenuOpenedChange, showColumnsSubMenu, isMenuButtonVisible, getColumnTotals, getRowTotals, getExecutionDefinition, onAggregationSelect, showSubmenu, availableTotalTypes, }) {
|
|
24
|
+
const getColumnTotalsWrapper = (measureLocalIdentifiers, isGroupedHeader, ignoreMeasures) => {
|
|
25
|
+
const columnTotals = getColumnTotals?.() ?? [];
|
|
62
26
|
if (isGroupedHeader) {
|
|
63
27
|
return menuHelper.getTotalsForAttributeHeader(columnTotals, measureLocalIdentifiers, ignoreMeasures);
|
|
64
28
|
}
|
|
65
29
|
return menuHelper.getTotalsForMeasureHeader(columnTotals, measureLocalIdentifiers[0]);
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
const rowTotals =
|
|
30
|
+
};
|
|
31
|
+
const getRowTotalsWrapper = useCallback((measureLocalIdentifiers, isGroupedHeader, ignoreMeasures) => {
|
|
32
|
+
const rowTotals = getRowTotals?.() ?? [];
|
|
69
33
|
if (isGroupedHeader) {
|
|
70
34
|
return menuHelper.getTotalsForAttributeHeader(rowTotals, measureLocalIdentifiers, ignoreMeasures);
|
|
71
35
|
}
|
|
72
36
|
return menuHelper.getTotalsForMeasureHeader(rowTotals, measureLocalIdentifiers[0]);
|
|
73
|
-
}
|
|
74
|
-
getTogglerClassNames() {
|
|
75
|
-
const { isMenuButtonVisible, isMenuOpened } = this.props;
|
|
37
|
+
}, [getRowTotals]);
|
|
38
|
+
const getTogglerClassNames = useCallback(() => {
|
|
76
39
|
return cx("s-table-header-menu", "gd-pivot-table-header-menu", {
|
|
77
40
|
"gd-pivot-table-header-menu--show": isMenuButtonVisible,
|
|
78
41
|
"gd-pivot-table-header-menu--hide": !isMenuButtonVisible,
|
|
79
42
|
"gd-pivot-table-header-menu--open": isMenuOpened,
|
|
80
43
|
});
|
|
81
|
-
}
|
|
82
|
-
renderMenuItemContent(totalType, isSelected, hasSubMenu = false, disabled, tooltipMessage) {
|
|
83
|
-
const { intl } = this.props;
|
|
44
|
+
}, [isMenuButtonVisible, isMenuOpened]);
|
|
45
|
+
const renderMenuItemContent = useCallback((totalType, isSelected, hasSubMenu = false, disabled, tooltipMessage) => {
|
|
84
46
|
const itemElement = (React.createElement(Item, { checked: isSelected, subMenu: hasSubMenu, disabled: disabled },
|
|
85
47
|
React.createElement("div", { className: "gd-aggregation-menu-item-inner s-menu-aggregation-inner" }, intl.formatMessage(messages[totalType]))));
|
|
86
48
|
return disabled ? (React.createElement(BubbleHoverTrigger, { showDelay: SHOW_DELAY_DEFAULT, hideDelay: HIDE_DELAY_DEFAULT },
|
|
87
49
|
itemElement,
|
|
88
50
|
React.createElement(Bubble, { className: "bubble-primary", alignPoints: [{ align: "bc tc" }] }, tooltipMessage))) : (itemElement);
|
|
89
|
-
}
|
|
90
|
-
getItemClassNames(totalType) {
|
|
51
|
+
}, [intl]);
|
|
52
|
+
const getItemClassNames = useCallback((totalType) => {
|
|
91
53
|
return cx("gd-aggregation-menu-item", "s-menu-aggregation", `s-menu-aggregation-${totalType}`);
|
|
92
|
-
}
|
|
93
|
-
isTableFilteredByMeasureValue() {
|
|
94
|
-
const definition =
|
|
54
|
+
}, []);
|
|
55
|
+
const isTableFilteredByMeasureValue = useCallback(() => {
|
|
56
|
+
const definition = getExecutionDefinition();
|
|
95
57
|
// ignore measure value filters without condition, these are not yet specified by the user and are not sent as part of the execution
|
|
96
58
|
return definition.filters.some((filter) => isMeasureValueFilter(filter) && !!measureValueFilterCondition(filter));
|
|
97
|
-
}
|
|
98
|
-
isTableFilteredByRankingFilter() {
|
|
99
|
-
const definition =
|
|
59
|
+
}, [getExecutionDefinition]);
|
|
60
|
+
const isTableFilteredByRankingFilter = useCallback(() => {
|
|
61
|
+
const definition = getExecutionDefinition();
|
|
100
62
|
return definition.filters.some(isRankingFilter);
|
|
101
|
-
}
|
|
102
|
-
renderMainMenuItems(columnTotals, rowTotals, measureLocalIdentifiers, rowAttributeDescriptors, columnAttributeDescriptors, showColumnsSubMenu) {
|
|
103
|
-
const
|
|
104
|
-
const
|
|
105
|
-
const isFilteredByRankingFilter = this.isTableFilteredByRankingFilter();
|
|
63
|
+
}, [getExecutionDefinition]);
|
|
64
|
+
const renderMainMenuItems = useCallback((columnTotals, rowTotals, measureLocalIdentifiers, rowAttributeDescriptors, columnAttributeDescriptors, showColumnsSubMenu) => {
|
|
65
|
+
const isFilteredByMeasureValue = isTableFilteredByMeasureValue();
|
|
66
|
+
const isFilteredByRankingFilter = isTableFilteredByRankingFilter();
|
|
106
67
|
const rowAttributeIdentifiers = getAttributeDescriptorsLocalId(rowAttributeDescriptors);
|
|
107
68
|
const columnAttributeIdentifiers = getAttributeDescriptorsLocalId(columnAttributeDescriptors);
|
|
108
69
|
return availableTotalTypes.map((totalType) => {
|
|
109
70
|
const isSelected = menuHelper.isTotalEnabledForAttribute(rowAttributeIdentifiers, columnAttributeIdentifiers, totalType, columnTotals, rowTotals);
|
|
110
|
-
const itemClassNames =
|
|
71
|
+
const itemClassNames = getItemClassNames(totalType);
|
|
111
72
|
const disabled = totalType === "nat" && (isFilteredByMeasureValue || isFilteredByRankingFilter);
|
|
112
|
-
const cause = isFilteredByMeasureValue
|
|
73
|
+
const cause = isFilteredByMeasureValue
|
|
74
|
+
? messages[`disabled.mvf`]
|
|
75
|
+
: messages[`disabled.ranking`];
|
|
113
76
|
const tooltipMessage = disabled ? intl.formatMessage(cause) : undefined;
|
|
114
77
|
const renderSubmenu = !disabled && showSubmenu;
|
|
115
|
-
const toggler =
|
|
78
|
+
const toggler = renderMenuItemContent(totalType, isSelected, renderSubmenu, disabled, tooltipMessage);
|
|
116
79
|
return (React.createElement("div", { className: itemClassNames, key: totalType }, renderSubmenu ? (React.createElement(AggregationsSubMenu, { intl: intl, totalType: totalType, rowAttributeDescriptors: rowAttributeDescriptors, columnAttributeDescriptors: columnAttributeDescriptors, columnTotals: columnTotals, rowTotals: rowTotals, measureLocalIdentifiers: measureLocalIdentifiers, onAggregationSelect: onAggregationSelect, toggler: toggler, showColumnsSubMenu: showColumnsSubMenu })) : (toggler)));
|
|
117
80
|
});
|
|
81
|
+
}, [
|
|
82
|
+
availableTotalTypes,
|
|
83
|
+
getItemClassNames,
|
|
84
|
+
intl,
|
|
85
|
+
isTableFilteredByMeasureValue,
|
|
86
|
+
isTableFilteredByRankingFilter,
|
|
87
|
+
onAggregationSelect,
|
|
88
|
+
renderMenuItemContent,
|
|
89
|
+
showSubmenu,
|
|
90
|
+
]);
|
|
91
|
+
if (!colId) {
|
|
92
|
+
return null;
|
|
93
|
+
}
|
|
94
|
+
// Because of Ag-grid react wrapper does not rerender the component when we pass
|
|
95
|
+
// new gridOptions we need to pull the data manually on each render
|
|
96
|
+
const tableDescriptor = getTableDescriptor();
|
|
97
|
+
const canShowMenu = tableDescriptor.canTableHaveColumnTotals() && showColumnsSubMenu;
|
|
98
|
+
if (!tableDescriptor.canTableHaveRowTotals() && !canShowMenu) {
|
|
99
|
+
return null;
|
|
100
|
+
}
|
|
101
|
+
const col = tableDescriptor.getCol(colId);
|
|
102
|
+
if (isSliceCol(col) || isRootCol(col)) {
|
|
103
|
+
// aggregation menu should not appear on headers of the slicing columns or on the
|
|
104
|
+
// very to header which describes table grouping
|
|
105
|
+
return null;
|
|
118
106
|
}
|
|
107
|
+
// Note: for measures in rows, where the column is of type isSliceMeasureCol()
|
|
108
|
+
// we have all measures associated with the menu. This is overriden in the individual
|
|
109
|
+
// cell renderers for particular measure with specific onMenuAggregationClick fn.
|
|
110
|
+
const measures = isSeriesCol(col)
|
|
111
|
+
? [col.seriesDescriptor.measureDescriptor]
|
|
112
|
+
: tableDescriptor.getMeasures();
|
|
113
|
+
const measureLocalIdentifiers = measures.map((m) => m.measureHeaderItem.localIdentifier);
|
|
114
|
+
const useGrouped = isScopeCol(col) || isSliceMeasureCol(col);
|
|
115
|
+
const columnTotals = getColumnTotalsWrapper(measureLocalIdentifiers, useGrouped, isSliceMeasureCol(col));
|
|
116
|
+
const rowTotals = getRowTotalsWrapper(measureLocalIdentifiers, useGrouped, isSliceMeasureCol(col));
|
|
117
|
+
const rowAttributeDescriptors = tableDescriptor.getSlicingAttributes();
|
|
118
|
+
const columnAttributeDescriptors = tableDescriptor.getScopingAttributes();
|
|
119
|
+
return (React.createElement(Menu, { toggler: React.createElement(MenuToggler, null), togglerWrapperClassName: getTogglerClassNames(), opened: isMenuOpened, onOpenedChange: onMenuOpenedChange, openAction: "click", closeOnScroll: true },
|
|
120
|
+
React.createElement(ItemsWrapper, null,
|
|
121
|
+
React.createElement("div", { className: "s-table-header-menu-content" },
|
|
122
|
+
React.createElement(Header, null, intl.formatMessage({ id: "visualizations.menu.aggregations" })),
|
|
123
|
+
renderMainMenuItems(columnTotals, rowTotals, measureLocalIdentifiers, rowAttributeDescriptors, columnAttributeDescriptors, showColumnsSubMenu)))));
|
|
119
124
|
}
|
|
120
125
|
//# sourceMappingURL=AggregationsMenu.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AggregationsMenu.js","sourceRoot":"","sources":["../../../../src/impl/structure/headers/AggregationsMenu.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"AggregationsMenu.js","sourceRoot":"","sources":["../../../../src/impl/structure/headers/AggregationsMenu.tsx"],"names":[],"mappings":"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"}
|
|
@@ -16,8 +16,5 @@ export interface IAggregationsSubMenuProps {
|
|
|
16
16
|
showColumnsSubMenu: boolean;
|
|
17
17
|
onAggregationSelect: (clickConfig: IMenuAggregationClickConfig) => void;
|
|
18
18
|
}
|
|
19
|
-
export default
|
|
20
|
-
static defaultProps: Pick<IAggregationsSubMenuProps, "isMenuOpened">;
|
|
21
|
-
render(): React.JSX.Element;
|
|
22
|
-
}
|
|
19
|
+
export default function AggregationsSubMenu({ intl, totalType, toggler, isMenuOpened, rowAttributeDescriptors, columnAttributeDescriptors, measureLocalIdentifiers, columnTotals, rowTotals, showColumnsSubMenu, onAggregationSelect, }: IAggregationsSubMenuProps): React.JSX.Element;
|
|
23
20
|
//# sourceMappingURL=AggregationsSubMenu.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AggregationsSubMenu.d.ts","sourceRoot":"","sources":["../../../../src/impl/structure/headers/AggregationsSubMenu.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAEtE,OAAO,KAAK,EAAE,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AAQpE,MAAM,WAAW,yBAAyB;IACtC,IAAI,EAAE,SAAS,CAAC;IAChB,SAAS,EAAE,SAAS,CAAC;IACrB,OAAO,EAAE,YAAY,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,uBAAuB,EAAE,oBAAoB,EAAE,CAAC;IAChD,0BAA0B,EAAE,oBAAoB,EAAE,CAAC;IACnD,uBAAuB,EAAE,MAAM,EAAE,CAAC;IAClC,YAAY,EAAE,YAAY,EAAE,CAAC;IAC7B,SAAS,EAAE,YAAY,EAAE,CAAC;IAC1B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,mBAAmB,EAAE,CAAC,WAAW,EAAE,2BAA2B,KAAK,IAAI,CAAC;CAC3E;AAED,MAAM,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"AggregationsSubMenu.d.ts","sourceRoot":"","sources":["../../../../src/impl/structure/headers/AggregationsSubMenu.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAEtE,OAAO,KAAK,EAAE,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AAQpE,MAAM,WAAW,yBAAyB;IACtC,IAAI,EAAE,SAAS,CAAC;IAChB,SAAS,EAAE,SAAS,CAAC;IACrB,OAAO,EAAE,YAAY,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,uBAAuB,EAAE,oBAAoB,EAAE,CAAC;IAChD,0BAA0B,EAAE,oBAAoB,EAAE,CAAC;IACnD,uBAAuB,EAAE,MAAM,EAAE,CAAC;IAClC,YAAY,EAAE,YAAY,EAAE,CAAC;IAC7B,SAAS,EAAE,YAAY,EAAE,CAAC;IAC1B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,mBAAmB,EAAE,CAAC,WAAW,EAAE,2BAA2B,KAAK,IAAI,CAAC;CAC3E;AAED,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,EACxC,IAAI,EACJ,SAAS,EACT,OAAO,EACP,YAAoB,EACpB,uBAAuB,EACvB,0BAA0B,EAC1B,uBAAuB,EACvB,YAAY,EACZ,SAAS,EACT,kBAAkB,EAClB,mBAAmB,GACtB,EAAE,yBAAyB,qBAmD3B"}
|
|
@@ -7,28 +7,22 @@ import { AggregationsSubMenuItems } from "./AggregationsSubMenuItems.js";
|
|
|
7
7
|
import { RowsHeaderIcon } from "./subMenuIcons/RowsIcon.js";
|
|
8
8
|
import { ColumnsHeaderIcon } from "./subMenuIcons/ColumnsIcon.js";
|
|
9
9
|
const MENU_HEADER_OFFSET = -36;
|
|
10
|
-
export default
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
"gd-aggregation-submenu-rows-separator": shouldRenderSeparator,
|
|
28
|
-
}) }),
|
|
29
|
-
tableHasColumnAttributes(columnAttributeDescriptors) && showColumnsSubMenu ? (React.createElement(AggregationsSubMenuItems, { intl: intl, attributeDescriptors: columnAttributeDescriptors, measureLocalIdentifiers: measureLocalIdentifiers, totalType: totalType, totals: rowTotals, isColumn: false, icon: React.createElement(ColumnsHeaderIcon, null), headerText: intl.formatMessage({
|
|
30
|
-
id: "visualizations.menu.aggregations.columns",
|
|
31
|
-
}), onAggregationSelect: onAggregationSelect })) : null))));
|
|
32
|
-
}
|
|
10
|
+
export default function AggregationsSubMenu({ intl, totalType, toggler, isMenuOpened = false, rowAttributeDescriptors, columnAttributeDescriptors, measureLocalIdentifiers, columnTotals, rowTotals, showColumnsSubMenu, onAggregationSelect, }) {
|
|
11
|
+
const menuOpenedProp = isMenuOpened ? { opened: true } : {};
|
|
12
|
+
const shouldRenderSeparator = tableHasRowAttributes(rowAttributeDescriptors) &&
|
|
13
|
+
tableHasColumnAttributes(columnAttributeDescriptors) &&
|
|
14
|
+
showColumnsSubMenu;
|
|
15
|
+
return (React.createElement(SubMenu, { toggler: toggler, offset: MENU_HEADER_OFFSET, ...menuOpenedProp },
|
|
16
|
+
React.createElement(ItemsWrapper, null,
|
|
17
|
+
React.createElement("div", { className: "gd-aggregation-submenu s-table-header-submenu-content" },
|
|
18
|
+
tableHasRowAttributes(rowAttributeDescriptors) ? (React.createElement(AggregationsSubMenuItems, { intl: intl, attributeDescriptors: rowAttributeDescriptors, measureLocalIdentifiers: measureLocalIdentifiers, totalType: totalType, totals: columnTotals, isColumn: true, icon: React.createElement(RowsHeaderIcon, null), headerText: intl.formatMessage({
|
|
19
|
+
id: "visualizations.menu.aggregations.rows",
|
|
20
|
+
}), onAggregationSelect: onAggregationSelect })) : null,
|
|
21
|
+
React.createElement("div", { className: cx("s-table-header-submenu-rows-separator", {
|
|
22
|
+
"gd-aggregation-submenu-rows-separator": shouldRenderSeparator,
|
|
23
|
+
}) }),
|
|
24
|
+
tableHasColumnAttributes(columnAttributeDescriptors) && showColumnsSubMenu ? (React.createElement(AggregationsSubMenuItems, { intl: intl, attributeDescriptors: columnAttributeDescriptors, measureLocalIdentifiers: measureLocalIdentifiers, totalType: totalType, totals: rowTotals, isColumn: false, icon: React.createElement(ColumnsHeaderIcon, null), headerText: intl.formatMessage({
|
|
25
|
+
id: "visualizations.menu.aggregations.columns",
|
|
26
|
+
}), onAggregationSelect: onAggregationSelect })) : null))));
|
|
33
27
|
}
|
|
34
28
|
//# sourceMappingURL=AggregationsSubMenu.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AggregationsSubMenu.js","sourceRoot":"","sources":["../../../../src/impl/structure/headers/AggregationsSubMenu.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE7D,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,KAAuB,MAAM,OAAO,CAAC;AAK5C,OAAO,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACjF,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAElE,MAAM,kBAAkB,GAAG,CAAC,EAAE,CAAC;AAgB/B,MAAM,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"AggregationsSubMenu.js","sourceRoot":"","sources":["../../../../src/impl/structure/headers/AggregationsSubMenu.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE7D,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,KAAuB,MAAM,OAAO,CAAC;AAK5C,OAAO,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACjF,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAElE,MAAM,kBAAkB,GAAG,CAAC,EAAE,CAAC;AAgB/B,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,EACxC,IAAI,EACJ,SAAS,EACT,OAAO,EACP,YAAY,GAAG,KAAK,EACpB,uBAAuB,EACvB,0BAA0B,EAC1B,uBAAuB,EACvB,YAAY,EACZ,SAAS,EACT,kBAAkB,EAClB,mBAAmB,GACK;IACxB,MAAM,cAAc,GAAG,YAAY,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAE5D,MAAM,qBAAqB,GACvB,qBAAqB,CAAC,uBAAuB,CAAC;QAC9C,wBAAwB,CAAC,0BAA0B,CAAC;QACpD,kBAAkB,CAAC;IAEvB,OAAO,CACH,oBAAC,OAAO,IAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,kBAAkB,KAAM,cAAc;QACrE,oBAAC,YAAY;YACT,6BAAK,SAAS,EAAC,uDAAuD;gBACjE,qBAAqB,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAC9C,oBAAC,wBAAwB,IACrB,IAAI,EAAE,IAAI,EACV,oBAAoB,EAAE,uBAAuB,EAC7C,uBAAuB,EAAE,uBAAuB,EAChD,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,IAAI,EACd,IAAI,EAAE,oBAAC,cAAc,OAAG,EACxB,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC;wBAC3B,EAAE,EAAE,uCAAuC;qBAC9C,CAAC,EACF,mBAAmB,EAAE,mBAAmB,GAC1C,CACL,CAAC,CAAC,CAAC,IAAI;gBACR,6BACI,SAAS,EAAE,EAAE,CAAC,uCAAuC,EAAE;wBACnD,uCAAuC,EAAE,qBAAqB;qBACjE,CAAC,GACJ;gBACD,wBAAwB,CAAC,0BAA0B,CAAC,IAAI,kBAAkB,CAAC,CAAC,CAAC,CAC1E,oBAAC,wBAAwB,IACrB,IAAI,EAAE,IAAI,EACV,oBAAoB,EAAE,0BAA0B,EAChD,uBAAuB,EAAE,uBAAuB,EAChD,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,KAAK,EACf,IAAI,EAAE,oBAAC,iBAAiB,OAAG,EAC3B,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC;wBAC3B,EAAE,EAAE,0CAA0C;qBACjD,CAAC,EACF,mBAAmB,EAAE,mBAAmB,GAC1C,CACL,CAAC,CAAC,CAAC,IAAI,CACN,CACK,CACT,CACb,CAAC;AACN,CAAC"}
|
|
@@ -5,7 +5,5 @@ import { ICommonHeaderParams } from "./HeaderCell.js";
|
|
|
5
5
|
export interface IProps extends ICommonHeaderParams, IHeaderGroupParams {
|
|
6
6
|
menu?: () => IMenu;
|
|
7
7
|
}
|
|
8
|
-
export default
|
|
9
|
-
render(): React.JSX.Element;
|
|
10
|
-
}
|
|
8
|
+
export default function ColumnGroupHeader({ menu, columnGroup, intl, getTableDescriptor, displayName, onMenuAggregationClick, getExecutionDefinition, getColumnTotals, getRowTotals, }: IProps): React.JSX.Element;
|
|
11
9
|
//# sourceMappingURL=ColumnGroupHeader.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColumnGroupHeader.d.ts","sourceRoot":"","sources":["../../../../src/impl/structure/headers/ColumnGroupHeader.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAEhD,OAAmB,EAAc,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAG9E,MAAM,WAAW,MAAO,SAAQ,mBAAmB,EAAE,kBAAkB;IACnE,IAAI,CAAC,EAAE,MAAM,KAAK,CAAC;CACtB;AAED,MAAM,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"ColumnGroupHeader.d.ts","sourceRoot":"","sources":["../../../../src/impl/structure/headers/ColumnGroupHeader.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAEhD,OAAmB,EAAc,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAG9E,MAAM,WAAW,MAAO,SAAQ,mBAAmB,EAAE,kBAAkB;IACnE,IAAI,CAAC,EAAE,MAAM,KAAK,CAAC;CACtB;AAED,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,EACtC,IAAI,EACJ,WAAW,EACX,IAAI,EACJ,kBAAkB,EAClB,WAAW,EACX,sBAAsB,EACtB,sBAAsB,EACtB,eAAe,EACf,YAAY,GACf,EAAE,MAAM,qBA2BR"}
|
|
@@ -1,17 +1,14 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import HeaderCell, { ALIGN_LEFT } from "./HeaderCell.js";
|
|
3
3
|
import { agColId } from "../tableDescriptorTypes.js";
|
|
4
|
-
export default
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
const showMenu = !!parent && !!colGroupDef.headerName && !isTransposed;
|
|
14
|
-
return (React.createElement(HeaderCell, { className: "s-pivot-table-column-group-header", displayText: this.props.displayName, enableSorting: false, menuPosition: ALIGN_LEFT, textAlign: ALIGN_LEFT, menu: showMenu ? menu?.() : undefined, onMenuAggregationClick: this.props.onMenuAggregationClick, colId: colId, getTableDescriptor: getTableDescriptor, getExecutionDefinition: this.props.getExecutionDefinition, getColumnTotals: this.props.getColumnTotals, getRowTotals: this.props.getRowTotals, intl: intl }));
|
|
15
|
-
}
|
|
4
|
+
export default function ColumnGroupHeader({ menu, columnGroup, intl, getTableDescriptor, displayName, onMenuAggregationClick, getExecutionDefinition, getColumnTotals, getRowTotals, }) {
|
|
5
|
+
const colGroupDef = columnGroup.getColGroupDef();
|
|
6
|
+
const colId = agColId(colGroupDef);
|
|
7
|
+
const parent = columnGroup.getParent();
|
|
8
|
+
// do not show menu for the first group header and empty headers above row attribute column headers
|
|
9
|
+
// and also do not show when table is transposed => handled in rows
|
|
10
|
+
const isTransposed = getTableDescriptor().isTransposed();
|
|
11
|
+
const showMenu = !!parent && !!colGroupDef.headerName && !isTransposed;
|
|
12
|
+
return (React.createElement(HeaderCell, { className: "s-pivot-table-column-group-header", displayText: displayName, enableSorting: false, menuPosition: ALIGN_LEFT, textAlign: ALIGN_LEFT, menu: showMenu ? menu?.() : undefined, onMenuAggregationClick: onMenuAggregationClick, colId: colId, getTableDescriptor: getTableDescriptor, getExecutionDefinition: getExecutionDefinition, getColumnTotals: getColumnTotals, getRowTotals: getRowTotals, intl: intl }));
|
|
16
13
|
}
|
|
17
14
|
//# sourceMappingURL=ColumnGroupHeader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColumnGroupHeader.js","sourceRoot":"","sources":["../../../../src/impl/structure/headers/ColumnGroupHeader.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,UAAU,EAAE,EAAE,UAAU,EAAuB,MAAM,iBAAiB,CAAC;AAC9E,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAMrD,MAAM,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"ColumnGroupHeader.js","sourceRoot":"","sources":["../../../../src/impl/structure/headers/ColumnGroupHeader.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,UAAU,EAAE,EAAE,UAAU,EAAuB,MAAM,iBAAiB,CAAC;AAC9E,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAMrD,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,EACtC,IAAI,EACJ,WAAW,EACX,IAAI,EACJ,kBAAkB,EAClB,WAAW,EACX,sBAAsB,EACtB,sBAAsB,EACtB,eAAe,EACf,YAAY,GACP;IACL,MAAM,WAAW,GAAG,WAAW,CAAC,cAAc,EAAG,CAAC;IAClD,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACnC,MAAM,MAAM,GAAG,WAAW,CAAC,SAAS,EAAE,CAAC;IAEvC,mGAAmG;IACnG,mEAAmE;IACnE,MAAM,YAAY,GAAG,kBAAkB,EAAE,CAAC,YAAY,EAAE,CAAC;IACzD,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,WAAW,CAAC,UAAU,IAAI,CAAC,YAAY,CAAC;IAEvE,OAAO,CACH,oBAAC,UAAU,IACP,SAAS,EAAC,mCAAmC,EAC7C,WAAW,EAAE,WAAW,EACxB,aAAa,EAAE,KAAK,EACpB,YAAY,EAAE,UAAU,EACxB,SAAS,EAAE,UAAU,EACrB,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,EACrC,sBAAsB,EAAE,sBAAsB,EAC9C,KAAK,EAAE,KAAK,EACZ,kBAAkB,EAAE,kBAAkB,EACtC,sBAAsB,EAAE,sBAAsB,EAC9C,eAAe,EAAE,eAAe,EAChC,YAAY,EAAE,YAAY,EAC1B,IAAI,EAAE,IAAI,GACZ,CACL,CAAC;AACN,CAAC"}
|
|
@@ -5,9 +5,5 @@ import { ICommonHeaderParams } from "./HeaderCell.js";
|
|
|
5
5
|
export interface IColumnHeaderProps extends ICommonHeaderParams, IHeaderParams {
|
|
6
6
|
menu?: () => IMenu;
|
|
7
7
|
}
|
|
8
|
-
|
|
9
|
-
render(): React.JSX.Element;
|
|
10
|
-
private getColDescriptor;
|
|
11
|
-
}
|
|
12
|
-
export default ColumnTotalHeader;
|
|
8
|
+
export default function ColumnTotalHeader({ getTableDescriptor, getExecutionDefinition, getColumnTotals, getRowTotals, displayName, column, intl, }: IColumnHeaderProps): React.JSX.Element;
|
|
13
9
|
//# sourceMappingURL=ColumnTotalHeader.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColumnTotalHeader.d.ts","sourceRoot":"","sources":["../../../../src/impl/structure/headers/ColumnTotalHeader.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,
|
|
1
|
+
{"version":3,"file":"ColumnTotalHeader.d.ts","sourceRoot":"","sources":["../../../../src/impl/structure/headers/ColumnTotalHeader.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAsB,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAEhD,OAAmB,EAA2B,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAG3F,MAAM,WAAW,kBAAmB,SAAQ,mBAAmB,EAAE,aAAa;IAC1E,IAAI,CAAC,EAAE,MAAM,KAAK,CAAC;CACtB;AAED,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,EACtC,kBAAkB,EAClB,sBAAsB,EACtB,eAAe,EACf,YAAY,EACZ,WAAW,EACX,MAAM,EACN,IAAI,GACP,EAAE,kBAAkB,qBAsBpB"}
|
|
@@ -1,16 +1,12 @@
|
|
|
1
|
-
import React from "react";
|
|
1
|
+
import React, { useCallback } from "react";
|
|
2
2
|
import HeaderCell, { ALIGN_LEFT, ALIGN_RIGHT } from "./HeaderCell.js";
|
|
3
3
|
import { isEmptyScopeCol, isSliceCol } from "../tableDescriptorTypes.js";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
}
|
|
11
|
-
getColDescriptor() {
|
|
12
|
-
return this.props.getTableDescriptor().getCol(this.props.column);
|
|
13
|
-
}
|
|
4
|
+
export default function ColumnTotalHeader({ getTableDescriptor, getExecutionDefinition, getColumnTotals, getRowTotals, displayName, column, intl, }) {
|
|
5
|
+
const getColDescriptor = useCallback(() => {
|
|
6
|
+
return getTableDescriptor().getCol(column);
|
|
7
|
+
}, [column, getTableDescriptor]);
|
|
8
|
+
const col = getColDescriptor();
|
|
9
|
+
const textAlign = isSliceCol(col) || isEmptyScopeCol(col) ? ALIGN_LEFT : ALIGN_RIGHT;
|
|
10
|
+
return (React.createElement(HeaderCell, { className: "gd-pivot-table-column-total-header s-pivot-table-column-total-header", textAlign: textAlign, displayText: displayName, enableSorting: false, colId: column.getColDef().field, getTableDescriptor: getTableDescriptor, getExecutionDefinition: getExecutionDefinition, getColumnTotals: getColumnTotals, getRowTotals: getRowTotals, intl: intl }));
|
|
14
11
|
}
|
|
15
|
-
export default ColumnTotalHeader;
|
|
16
12
|
//# sourceMappingURL=ColumnTotalHeader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColumnTotalHeader.js","sourceRoot":"","sources":["../../../../src/impl/structure/headers/ColumnTotalHeader.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"ColumnTotalHeader.js","sourceRoot":"","sources":["../../../../src/impl/structure/headers/ColumnTotalHeader.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAG3C,OAAO,UAAU,EAAE,EAAE,UAAU,EAAE,WAAW,EAAuB,MAAM,iBAAiB,CAAC;AAC3F,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAMzE,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,EACtC,kBAAkB,EAClB,sBAAsB,EACtB,eAAe,EACf,YAAY,EACZ,WAAW,EACX,MAAM,EACN,IAAI,GACa;IACjB,MAAM,gBAAgB,GAAG,WAAW,CAAC,GAAG,EAAE;QACtC,OAAO,kBAAkB,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC,EAAE,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAEjC,MAAM,GAAG,GAAG,gBAAgB,EAAE,CAAC;IAC/B,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC;IAErF,OAAO,CACH,oBAAC,UAAU,IACP,SAAS,EAAC,sEAAsE,EAChF,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,aAAa,EAAE,KAAK,EACpB,KAAK,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,KAAK,EAC/B,kBAAkB,EAAE,kBAAkB,EACtC,sBAAsB,EAAE,sBAAsB,EAC9C,eAAe,EAAE,eAAe,EAChC,YAAY,EAAE,YAAY,EAC1B,IAAI,EAAE,IAAI,GACZ,CACL,CAAC;AACN,CAAC"}
|
|
@@ -29,31 +29,5 @@ export interface IHeaderCellProps extends ICommonHeaderParams {
|
|
|
29
29
|
colId?: string;
|
|
30
30
|
isFocused?: boolean;
|
|
31
31
|
}
|
|
32
|
-
export
|
|
33
|
-
isMenuOpen: boolean;
|
|
34
|
-
isMenuButtonVisible: boolean;
|
|
35
|
-
currentSortDirection: SortDirection | null;
|
|
36
|
-
}
|
|
37
|
-
export default class HeaderCell extends React.Component<IHeaderCellProps, IHeaderCellState> {
|
|
38
|
-
static defaultProps: Pick<IHeaderCellProps, "sortDirection" | "textAlign" | "menuPosition" | "menu" | "enableSorting" | "onMenuAggregationClick" | "onSortClick">;
|
|
39
|
-
private resetSortDirection;
|
|
40
|
-
state: IHeaderCellState;
|
|
41
|
-
componentDidMount(): void;
|
|
42
|
-
componentDidUpdate(prevProps: Readonly<IHeaderCellProps>): void;
|
|
43
|
-
UNSAFE_componentWillReceiveProps(nextProps: IHeaderCellProps): void;
|
|
44
|
-
render(): React.JSX.Element;
|
|
45
|
-
private renderMenu;
|
|
46
|
-
private renderText;
|
|
47
|
-
private renderSorting;
|
|
48
|
-
private onMouseEnterHeaderCell;
|
|
49
|
-
private onMouseLeaveHeaderCell;
|
|
50
|
-
private onMouseEnterHeaderCellText;
|
|
51
|
-
private onMouseLeaveHeaderCellText;
|
|
52
|
-
private onTextClick;
|
|
53
|
-
private showMenuButton;
|
|
54
|
-
private hideMenuButton;
|
|
55
|
-
private hideAndCloseMenu;
|
|
56
|
-
private menuItemClick;
|
|
57
|
-
private handleMenuOpenedChange;
|
|
58
|
-
}
|
|
32
|
+
export default function HeaderCell({ sortDirection, textAlign, menuPosition, menu, enableSorting, onMenuAggregationClick, onSortClick, displayText, className, defaultSortDirection, intl, colId, getTableDescriptor, getExecutionDefinition, getColumnTotals, getRowTotals, isFocused, }: IHeaderCellProps): React.JSX.Element;
|
|
59
33
|
//# sourceMappingURL=HeaderCell.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HeaderCell.d.ts","sourceRoot":"","sources":["../../../../src/impl/structure/headers/HeaderCell.tsx"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"HeaderCell.d.ts","sourceRoot":"","sources":["../../../../src/impl/structure/headers/HeaderCell.tsx"],"names":[],"mappings":"AACA,OAAO,KAAmD,MAAM,OAAO,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGlF,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAEhD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AAIpE,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AACzD,eAAO,MAAM,UAAU,SAAS,CAAC;AACjC,eAAO,MAAM,WAAW,UAAU,CAAC;AAEnC,MAAM,WAAW,mBAAmB;IAChC,kBAAkB,EAAE,MAAM,eAAe,CAAC;IAC1C,sBAAsB,CAAC,EAAE,CAAC,MAAM,EAAE,2BAA2B,KAAK,IAAI,CAAC;IACvE,sBAAsB,CAAC,EAAE,MAAM,oBAAoB,CAAC;IACpD,eAAe,CAAC,EAAE,MAAM,MAAM,EAAE,CAAC;IACjC,YAAY,CAAC,EAAE,MAAM,MAAM,EAAE,CAAC;IAC9B,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CACvD;AAED,MAAM,WAAW,gBAAiB,SAAQ,mBAAmB;IACzD,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,oBAAoB,CAAC,EAAE,aAAa,CAAC;IACrC,YAAY,CAAC,EAAE,cAAc,CAAC;IAC9B,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,aAAa,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IACrC,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,IAAI,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EAC/B,aAAoB,EACpB,SAAsB,EACtB,YAAyB,EACzB,IAAW,EACX,aAAqB,EACrB,sBAAmC,EACnC,WAAwB,EACxB,WAAW,EACX,SAAS,EACT,oBAAoB,EACpB,IAAI,EACJ,KAAK,EACL,kBAAkB,EAClB,sBAAsB,EACtB,eAAe,EACf,YAAY,EACZ,SAAS,GACZ,EAAE,gBAAgB,qBA6MlB"}
|
|
@@ -1,101 +1,32 @@
|
|
|
1
1
|
// (C) 2007-2025 GoodData Corporation
|
|
2
|
-
import React from "react";
|
|
2
|
+
import React, { useState, useEffect, useCallback, useRef } from "react";
|
|
3
3
|
import cx from "classnames";
|
|
4
4
|
import { AVAILABLE_TOTALS, HEADER_LABEL_CLASS } from "../../base/constants.js";
|
|
5
5
|
import AggregationsMenu from "./AggregationsMenu.js";
|
|
6
6
|
export const ALIGN_LEFT = "left";
|
|
7
7
|
export const ALIGN_RIGHT = "right";
|
|
8
|
-
export default
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
state = {
|
|
24
|
-
isMenuOpen: false,
|
|
25
|
-
isMenuButtonVisible: false,
|
|
26
|
-
currentSortDirection: null,
|
|
27
|
-
};
|
|
28
|
-
componentDidMount() {
|
|
29
|
-
this.resetSortDirection();
|
|
30
|
-
}
|
|
31
|
-
componentDidUpdate(prevProps) {
|
|
32
|
-
if (prevProps.isFocused !== this.props.isFocused) {
|
|
33
|
-
if (this.props.isFocused) {
|
|
34
|
-
this.onMouseEnterHeaderCellText();
|
|
35
|
-
}
|
|
36
|
-
else {
|
|
37
|
-
this.onMouseLeaveHeaderCellText();
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
UNSAFE_componentWillReceiveProps(nextProps) {
|
|
42
|
-
if (nextProps.sortDirection !== this.props.sortDirection) {
|
|
43
|
-
this.setState({
|
|
44
|
-
currentSortDirection: this.props.sortDirection,
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
render() {
|
|
49
|
-
const { menuPosition, className } = this.props;
|
|
50
|
-
return (React.createElement("div", { className: cx("gd-pivot-table-header", {
|
|
51
|
-
"gd-pivot-table-header--open": this.state.isMenuButtonVisible,
|
|
52
|
-
}, className), onMouseEnter: this.onMouseEnterHeaderCell, onMouseLeave: this.onMouseLeaveHeaderCell },
|
|
53
|
-
menuPosition === "left" && this.renderMenu(),
|
|
54
|
-
this.renderText(),
|
|
55
|
-
menuPosition === "right" && this.renderMenu()));
|
|
56
|
-
}
|
|
57
|
-
renderMenu() {
|
|
58
|
-
const { intl, colId, menu, getTableDescriptor, getExecutionDefinition, getColumnTotals, getRowTotals, } = this.props;
|
|
59
|
-
const { isMenuOpen, isMenuButtonVisible } = this.state;
|
|
60
|
-
if (!menu?.aggregations) {
|
|
61
|
-
return null;
|
|
8
|
+
export default function HeaderCell({ sortDirection = null, textAlign = ALIGN_LEFT, menuPosition = ALIGN_LEFT, menu = null, enableSorting = false, onMenuAggregationClick = () => null, onSortClick = () => null, displayText, className, defaultSortDirection, intl, colId, getTableDescriptor, getExecutionDefinition, getColumnTotals, getRowTotals, isFocused, }) {
|
|
9
|
+
const [isMenuOpen, setIsMenuOpen] = useState(false);
|
|
10
|
+
const [isMenuButtonVisible, setIsMenuButtonVisible] = useState(false);
|
|
11
|
+
const [currentSortDirection, setCurrentSortDirection] = useState(null);
|
|
12
|
+
const resetSortDirection = useCallback(() => {
|
|
13
|
+
setCurrentSortDirection(sortDirection);
|
|
14
|
+
}, [sortDirection]);
|
|
15
|
+
// This effect replaces UNSAFE_componentWillReceiveProps
|
|
16
|
+
// It should only update currentSortDirection when sortDirection prop changes
|
|
17
|
+
// and is different from the current value
|
|
18
|
+
const prevSortDirectionRef = useRef(sortDirection);
|
|
19
|
+
useEffect(() => {
|
|
20
|
+
if (prevSortDirectionRef.current !== sortDirection) {
|
|
21
|
+
prevSortDirectionRef.current = sortDirection;
|
|
22
|
+
resetSortDirection();
|
|
62
23
|
}
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
const classes = cx(HEADER_LABEL_CLASS, "gd-pivot-table-header-label", {
|
|
68
|
-
"gd-pivot-table-header-label--right": textAlign === "right",
|
|
69
|
-
"gd-pivot-table-header-label--center": textAlign === "center",
|
|
70
|
-
"gd-pivot-table-header-label--clickable": enableSorting,
|
|
71
|
-
});
|
|
72
|
-
return (React.createElement("div", { className: classes, onClick: this.onTextClick, onMouseEnter: this.onMouseEnterHeaderCellText, onMouseLeave: this.onMouseLeaveHeaderCellText },
|
|
73
|
-
React.createElement("span", null, displayText ? displayText : ""),
|
|
74
|
-
this.renderSorting()));
|
|
75
|
-
}
|
|
76
|
-
renderSorting() {
|
|
77
|
-
const { enableSorting } = this.props;
|
|
78
|
-
const { currentSortDirection } = this.state;
|
|
79
|
-
const sortClasses = cx("s-sort-direction-arrow", `s-sorted-${currentSortDirection}`, {
|
|
80
|
-
"gd-pivot-table-header-arrow-up": currentSortDirection === "asc",
|
|
81
|
-
"gd-pivot-table-header-arrow-down": currentSortDirection === "desc",
|
|
82
|
-
});
|
|
83
|
-
return (currentSortDirection &&
|
|
84
|
-
enableSorting && (React.createElement("span", { className: "gd-pivot-table-header-next-sort" },
|
|
85
|
-
React.createElement("span", { className: sortClasses }))));
|
|
86
|
-
}
|
|
87
|
-
onMouseEnterHeaderCell = () => {
|
|
88
|
-
this.showMenuButton();
|
|
89
|
-
};
|
|
90
|
-
onMouseLeaveHeaderCell = () => {
|
|
91
|
-
this.hideMenuButton();
|
|
92
|
-
};
|
|
93
|
-
onMouseEnterHeaderCellText = () => {
|
|
94
|
-
if (this.props.enableSorting) {
|
|
95
|
-
const { sortDirection } = this.props;
|
|
96
|
-
let newSortDirection = null;
|
|
24
|
+
}, [sortDirection, resetSortDirection]);
|
|
25
|
+
const onMouseEnterHeaderCellText = useCallback(() => {
|
|
26
|
+
if (enableSorting) {
|
|
27
|
+
let newSortDirection;
|
|
97
28
|
if (sortDirection === null) {
|
|
98
|
-
newSortDirection =
|
|
29
|
+
newSortDirection = defaultSortDirection ?? null;
|
|
99
30
|
}
|
|
100
31
|
else if (sortDirection === "asc") {
|
|
101
32
|
newSortDirection = "desc";
|
|
@@ -106,61 +37,115 @@ export default class HeaderCell extends React.Component {
|
|
|
106
37
|
else {
|
|
107
38
|
newSortDirection = null;
|
|
108
39
|
}
|
|
109
|
-
|
|
110
|
-
currentSortDirection: newSortDirection,
|
|
111
|
-
});
|
|
40
|
+
setCurrentSortDirection(newSortDirection);
|
|
112
41
|
}
|
|
113
|
-
};
|
|
114
|
-
onMouseLeaveHeaderCellText = () => {
|
|
115
|
-
|
|
116
|
-
};
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
return;
|
|
42
|
+
}, [enableSorting, sortDirection, defaultSortDirection, setCurrentSortDirection]);
|
|
43
|
+
const onMouseLeaveHeaderCellText = useCallback(() => {
|
|
44
|
+
resetSortDirection();
|
|
45
|
+
}, [resetSortDirection]);
|
|
46
|
+
useEffect(() => {
|
|
47
|
+
if (isFocused) {
|
|
48
|
+
onMouseEnterHeaderCellText();
|
|
121
49
|
}
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
showMenuButton = () => {
|
|
125
|
-
if (this.state.isMenuOpen) {
|
|
126
|
-
return;
|
|
50
|
+
else {
|
|
51
|
+
onMouseLeaveHeaderCellText();
|
|
127
52
|
}
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
53
|
+
}, [isFocused, onMouseEnterHeaderCellText, onMouseLeaveHeaderCellText]);
|
|
54
|
+
const handleMenuOpenedChange = useCallback(({ opened, source }) => {
|
|
55
|
+
setIsMenuOpen(opened);
|
|
56
|
+
// When source is 'TOGGLER_BUTTON_CLICK' we do not want to hide menu
|
|
57
|
+
// button visibility. Because user is hovering over this button
|
|
58
|
+
// so we do not want to hide it.
|
|
59
|
+
if (source === "OUTSIDE_CLICK" || source === "SCROLL") {
|
|
60
|
+
setIsMenuButtonVisible(false);
|
|
61
|
+
}
|
|
62
|
+
}, []);
|
|
63
|
+
const hideAndCloseMenu = useCallback(() => {
|
|
64
|
+
setIsMenuButtonVisible(false);
|
|
65
|
+
setIsMenuOpen(false);
|
|
66
|
+
}, []);
|
|
67
|
+
const menuItemClick = useCallback((menuAggregationClickConfig) => {
|
|
68
|
+
hideAndCloseMenu();
|
|
69
|
+
if (onMenuAggregationClick) {
|
|
70
|
+
onMenuAggregationClick(menuAggregationClickConfig);
|
|
71
|
+
}
|
|
72
|
+
}, [hideAndCloseMenu, onMenuAggregationClick]);
|
|
73
|
+
const renderMenu = useCallback(() => {
|
|
74
|
+
if (!menu?.aggregations) {
|
|
75
|
+
return null;
|
|
76
|
+
}
|
|
77
|
+
return (React.createElement(AggregationsMenu, { intl: intl, colId: colId, isMenuOpened: isMenuOpen, isMenuButtonVisible: isMenuButtonVisible, showSubmenu: menu.aggregations ?? false, showColumnsSubMenu: menu.aggregationsSubMenuForRows ?? false, availableTotalTypes: menu.aggregationTypes ?? AVAILABLE_TOTALS, getTableDescriptor: getTableDescriptor, getExecutionDefinition: getExecutionDefinition, getColumnTotals: getColumnTotals, getRowTotals: getRowTotals, onMenuOpenedChange: handleMenuOpenedChange, onAggregationSelect: menuItemClick }));
|
|
78
|
+
}, [
|
|
79
|
+
colId,
|
|
80
|
+
getColumnTotals,
|
|
81
|
+
getExecutionDefinition,
|
|
82
|
+
getRowTotals,
|
|
83
|
+
getTableDescriptor,
|
|
84
|
+
handleMenuOpenedChange,
|
|
85
|
+
intl,
|
|
86
|
+
isMenuButtonVisible,
|
|
87
|
+
isMenuOpen,
|
|
88
|
+
menu?.aggregationTypes,
|
|
89
|
+
menu?.aggregations,
|
|
90
|
+
menu?.aggregationsSubMenuForRows,
|
|
91
|
+
menuItemClick,
|
|
92
|
+
]);
|
|
93
|
+
const onTextClick = useCallback(() => {
|
|
94
|
+
if (!enableSorting) {
|
|
134
95
|
return;
|
|
135
96
|
}
|
|
136
|
-
|
|
137
|
-
|
|
97
|
+
onSortClick();
|
|
98
|
+
}, [enableSorting, onSortClick]);
|
|
99
|
+
const renderSorting = useCallback(() => {
|
|
100
|
+
const sortClasses = cx("s-sort-direction-arrow", `s-sorted-${currentSortDirection}`, {
|
|
101
|
+
"gd-pivot-table-header-arrow-up": currentSortDirection === "asc",
|
|
102
|
+
"gd-pivot-table-header-arrow-down": currentSortDirection === "desc",
|
|
138
103
|
});
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
104
|
+
return (currentSortDirection &&
|
|
105
|
+
enableSorting && (React.createElement("span", { className: "gd-pivot-table-header-next-sort" },
|
|
106
|
+
React.createElement("span", { className: sortClasses }))));
|
|
107
|
+
}, [currentSortDirection, enableSorting]);
|
|
108
|
+
const renderText = useCallback(() => {
|
|
109
|
+
const classes = cx(HEADER_LABEL_CLASS, "gd-pivot-table-header-label", {
|
|
110
|
+
"gd-pivot-table-header-label--right": textAlign === "right",
|
|
111
|
+
"gd-pivot-table-header-label--center": textAlign === "center",
|
|
112
|
+
"gd-pivot-table-header-label--clickable": enableSorting,
|
|
144
113
|
});
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
114
|
+
return (React.createElement("div", { className: classes, onClick: onTextClick, onMouseEnter: onMouseEnterHeaderCellText, onMouseLeave: onMouseLeaveHeaderCellText },
|
|
115
|
+
React.createElement("span", null, displayText ? displayText : ""),
|
|
116
|
+
renderSorting()));
|
|
117
|
+
}, [
|
|
118
|
+
displayText,
|
|
119
|
+
enableSorting,
|
|
120
|
+
onMouseEnterHeaderCellText,
|
|
121
|
+
onMouseLeaveHeaderCellText,
|
|
122
|
+
onTextClick,
|
|
123
|
+
renderSorting,
|
|
124
|
+
textAlign,
|
|
125
|
+
]);
|
|
126
|
+
const hideMenuButton = useCallback(() => {
|
|
127
|
+
if (isMenuOpen) {
|
|
128
|
+
return;
|
|
150
129
|
}
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
// When source is 'TOGGLER_BUTTON_CLICK' we do not want to hide menu
|
|
157
|
-
// button visibility. Because user is hovering over this button
|
|
158
|
-
// so we do not want to hide it.
|
|
159
|
-
if (source === "OUTSIDE_CLICK" || source === "SCROLL") {
|
|
160
|
-
this.setState({
|
|
161
|
-
isMenuButtonVisible: false,
|
|
162
|
-
});
|
|
130
|
+
setIsMenuButtonVisible(false);
|
|
131
|
+
}, [isMenuOpen]);
|
|
132
|
+
const showMenuButton = useCallback(() => {
|
|
133
|
+
if (isMenuOpen) {
|
|
134
|
+
return;
|
|
163
135
|
}
|
|
164
|
-
|
|
136
|
+
setIsMenuButtonVisible(true);
|
|
137
|
+
}, [isMenuOpen]);
|
|
138
|
+
const onMouseEnterHeaderCell = useCallback(() => {
|
|
139
|
+
showMenuButton();
|
|
140
|
+
}, [showMenuButton]);
|
|
141
|
+
const onMouseLeaveHeaderCell = useCallback(() => {
|
|
142
|
+
hideMenuButton();
|
|
143
|
+
}, [hideMenuButton]);
|
|
144
|
+
return (React.createElement("div", { className: cx("gd-pivot-table-header", {
|
|
145
|
+
"gd-pivot-table-header--open": isMenuButtonVisible,
|
|
146
|
+
}, className), onMouseEnter: onMouseEnterHeaderCell, onMouseLeave: onMouseLeaveHeaderCell },
|
|
147
|
+
menuPosition === "left" && renderMenu(),
|
|
148
|
+
renderText(),
|
|
149
|
+
menuPosition === "right" && renderMenu()));
|
|
165
150
|
}
|
|
166
151
|
//# sourceMappingURL=HeaderCell.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HeaderCell.js","sourceRoot":"","sources":["../../../../src/impl/structure/headers/HeaderCell.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"HeaderCell.js","sourceRoot":"","sources":["../../../../src/impl/structure/headers/HeaderCell.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
import { IHeaderGroupParams } from "ag-grid-community";
|
|
2
2
|
import React from "react";
|
|
3
|
-
export default
|
|
4
|
-
render(): React.JSX.Element;
|
|
5
|
-
}
|
|
3
|
+
export default function MixedValuesColumnHeader(_props: IHeaderGroupParams): React.JSX.Element;
|
|
6
4
|
//# sourceMappingURL=MixedValuesColumnHeader.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MixedValuesColumnHeader.d.ts","sourceRoot":"","sources":["../../../../src/impl/structure/headers/MixedValuesColumnHeader.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,MAAM,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"MixedValuesColumnHeader.d.ts","sourceRoot":"","sources":["../../../../src/impl/structure/headers/MixedValuesColumnHeader.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,MAAM,CAAC,OAAO,UAAU,uBAAuB,CAAC,MAAM,EAAE,kBAAkB,qBAUzE"}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import cx from "classnames";
|
|
3
3
|
import { HEADER_LABEL_CLASS } from "../../base/constants.js";
|
|
4
|
-
export default
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
React.createElement("div", { className: cx(HEADER_LABEL_CLASS, "gd-pivot-table-header-label") })));
|
|
8
|
-
}
|
|
4
|
+
export default function MixedValuesColumnHeader(_props) {
|
|
5
|
+
return (React.createElement("div", { className: cx("gd-pivot-table-header s-pivot-table-column-header s-pivot-table-mixed-values-column-header") },
|
|
6
|
+
React.createElement("div", { className: cx(HEADER_LABEL_CLASS, "gd-pivot-table-header-label") })));
|
|
9
7
|
}
|
|
10
8
|
//# sourceMappingURL=MixedValuesColumnHeader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MixedValuesColumnHeader.js","sourceRoot":"","sources":["../../../../src/impl/structure/headers/MixedValuesColumnHeader.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,MAAM,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"MixedValuesColumnHeader.js","sourceRoot":"","sources":["../../../../src/impl/structure/headers/MixedValuesColumnHeader.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,MAAM,CAAC,OAAO,UAAU,uBAAuB,CAAC,MAA0B;IACtE,OAAO,CACH,6BACI,SAAS,EAAE,EAAE,CACT,4FAA4F,CAC/F;QAED,6BAAK,SAAS,EAAE,EAAE,CAAC,kBAAkB,EAAE,6BAA6B,CAAC,GAAQ,CAC3E,CACT,CAAC;AACN,CAAC"}
|
|
@@ -6,9 +6,5 @@ export interface IHeaderCellProps {
|
|
|
6
6
|
className?: string;
|
|
7
7
|
textAlign?: AlignPositions;
|
|
8
8
|
}
|
|
9
|
-
export default
|
|
10
|
-
static defaultProps: Pick<IHeaderCellProps, "textAlign">;
|
|
11
|
-
render(): React.JSX.Element;
|
|
12
|
-
private renderText;
|
|
13
|
-
}
|
|
9
|
+
export default function TotalHeaderCell({ displayText, className, textAlign, }: IHeaderCellProps): React.JSX.Element;
|
|
14
10
|
//# sourceMappingURL=TotalHeaderCell.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TotalHeaderCell.d.ts","sourceRoot":"","sources":["../../../../src/impl/structure/headers/TotalHeaderCell.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AACzD,eAAO,MAAM,UAAU,SAAS,CAAC;AAEjC,MAAM,WAAW,gBAAgB;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,cAAc,CAAC;CAC9B;AAED,MAAM,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"TotalHeaderCell.d.ts","sourceRoot":"","sources":["../../../../src/impl/structure/headers/TotalHeaderCell.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AACzD,eAAO,MAAM,UAAU,SAAS,CAAC;AAEjC,MAAM,WAAW,gBAAgB;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,cAAc,CAAC;CAC9B;AAED,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EACpC,WAAW,EACX,SAAS,EACT,SAAsB,GACzB,EAAE,gBAAgB,qBAalB"}
|
|
@@ -1,24 +1,15 @@
|
|
|
1
|
-
// (C) 2023 GoodData Corporation
|
|
1
|
+
// (C) 2023-2025 GoodData Corporation
|
|
2
2
|
import React from "react";
|
|
3
3
|
import cx from "classnames";
|
|
4
4
|
import { HEADER_LABEL_CLASS } from "../../base/constants.js";
|
|
5
5
|
export const ALIGN_LEFT = "left";
|
|
6
|
-
export default
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
renderText() {
|
|
15
|
-
const { displayText, textAlign } = this.props;
|
|
16
|
-
const classes = cx(HEADER_LABEL_CLASS, "gd-pivot-table-header-label", {
|
|
17
|
-
"gd-pivot-table-header-label--right": textAlign === "right",
|
|
18
|
-
"gd-pivot-table-header-label--center": textAlign === "center",
|
|
19
|
-
});
|
|
20
|
-
return (React.createElement("div", { className: classes },
|
|
21
|
-
React.createElement("span", null, displayText ? displayText : "")));
|
|
22
|
-
}
|
|
6
|
+
export default function TotalHeaderCell({ displayText, className, textAlign = ALIGN_LEFT, }) {
|
|
7
|
+
const classes = cx(HEADER_LABEL_CLASS, "gd-pivot-table-header-label", {
|
|
8
|
+
"gd-pivot-table-header-label--right": textAlign === "right",
|
|
9
|
+
"gd-pivot-table-header-label--center": textAlign === "center",
|
|
10
|
+
});
|
|
11
|
+
return (React.createElement("div", { className: cx("gd-pivot-table-header", className) },
|
|
12
|
+
React.createElement("div", { className: classes },
|
|
13
|
+
React.createElement("span", null, displayText ? displayText : ""))));
|
|
23
14
|
}
|
|
24
15
|
//# sourceMappingURL=TotalHeaderCell.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TotalHeaderCell.js","sourceRoot":"","sources":["../../../../src/impl/structure/headers/TotalHeaderCell.tsx"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"TotalHeaderCell.js","sourceRoot":"","sources":["../../../../src/impl/structure/headers/TotalHeaderCell.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAG7D,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC;AAQjC,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EACpC,WAAW,EACX,SAAS,EACT,SAAS,GAAG,UAAU,GACP;IACf,MAAM,OAAO,GAAG,EAAE,CAAC,kBAAkB,EAAE,6BAA6B,EAAE;QAClE,oCAAoC,EAAE,SAAS,KAAK,OAAO;QAC3D,qCAAqC,EAAE,SAAS,KAAK,QAAQ;KAChE,CAAC,CAAC;IAEH,OAAO,CACH,6BAAK,SAAS,EAAE,EAAE,CAAC,uBAAuB,EAAE,SAAS,CAAC;QAClD,6BAAK,SAAS,EAAE,OAAO;YACnB,kCAAO,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAQ,CAC3C,CACJ,CACT,CAAC;AACN,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createServerSideDataSource.d.ts","sourceRoot":"","sources":["../../../../src/next/features/data/createServerSideDataSource.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAA+C,MAAM,oBAAoB,CAAC;AACxG,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,6BAA6B,EAAE,MAAM,yBAAyB,CAAC;AAC9G,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAMtE,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"createServerSideDataSource.d.ts","sourceRoot":"","sources":["../../../../src/next/features/data/createServerSideDataSource.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAA+C,MAAM,oBAAoB,CAAC;AACxG,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,6BAA6B,EAAE,MAAM,yBAAyB,CAAC;AAC9G,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAMtE,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAIlD;;GAEG;AACH,UAAU,iCAAkC,SAAQ,qBAAqB;IACrE,QAAQ,EAAE,QAAQ,EAAE,CAAC;IACrB,IAAI,EAAE,UAAU,EAAE,CAAC;IACnB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,qBAAqB,EAAE,qBAAqB,CAAC;IAC7C,uBAAuB,EAAE,6BAA6B,CAAC;IACvD,QAAQ,EAAE,MAAM,CAAC;IACjB,kBAAkB,EAAE,CAAC,QAAQ,EAAE,cAAc,GAAG,SAAS,KAAK,IAAI,CAAC;IACnE,qBAAqB,EAAE,CAAC,OAAO,EAAE,SAAS,KAAK,IAAI,CAAC;IACpD,iBAAiB,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,aAAa,EAAE,KAAK,IAAI,CAAC;IACpF,sBAAsB,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,IAAI,CAAC;CAClF;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,0BAA0B,GAAI,sNAaxC,iCAAiC,KAAG,qBAAqB,CAAC,aAAa,CA2FzE,CAAC"}
|
|
@@ -16,6 +16,8 @@ export const createServerSideDataSource = ({ measures, rows, sortBy, initialExec
|
|
|
16
16
|
const abortController = new AbortController();
|
|
17
17
|
let isFirstRequest = true;
|
|
18
18
|
let lastSortBy = sortBy;
|
|
19
|
+
// Keep track of the current execution result to ensure consistency across getRows calls
|
|
20
|
+
let currentExecutionResult = initialExecutionResult;
|
|
19
21
|
/**
|
|
20
22
|
* There is 1 additional request when sorting + pivoting.
|
|
21
23
|
* For some reason, ag-grid sends empty sort model in the first getRows request,
|
|
@@ -31,21 +33,21 @@ export const createServerSideDataSource = ({ measures, rows, sortBy, initialExec
|
|
|
31
33
|
}
|
|
32
34
|
/**
|
|
33
35
|
* Applies updated sort to execution result, if the sort model is changed.
|
|
36
|
+
* Updates the currentExecutionResult to ensure subsequent calls use the correct execution.
|
|
34
37
|
*/
|
|
35
38
|
async function applyChangedSortToExecutionResult(params) {
|
|
36
|
-
let effectiveExecutionResult = initialExecutionResult;
|
|
37
39
|
// params.request.sortModel is out of sync (empty) with the first getRows request,
|
|
38
40
|
// once fixed in ag-grid, we can replace getSortModel this with it
|
|
39
41
|
const sortModel = getSortModel(params.api);
|
|
40
42
|
const updatedSortBy = sortModelToSortItems(sortModel, columnDefinitionByColId);
|
|
41
43
|
if (!isEqual(lastSortBy, updatedSortBy)) {
|
|
42
|
-
|
|
44
|
+
currentExecutionResult = await currentExecutionResult
|
|
43
45
|
.transform()
|
|
44
46
|
.withSorting(...updatedSortBy)
|
|
45
47
|
.execute();
|
|
46
48
|
lastSortBy = updatedSortBy;
|
|
47
49
|
}
|
|
48
|
-
return
|
|
50
|
+
return currentExecutionResult;
|
|
49
51
|
}
|
|
50
52
|
return {
|
|
51
53
|
destroy: () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createServerSideDataSource.js","sourceRoot":"","sources":["../../../../src/next/features/data/createServerSideDataSource.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,OAAO,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"createServerSideDataSource.js","sourceRoot":"","sources":["../../../../src/next/features/data/createServerSideDataSource.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gooddata/sdk-ui-pivot",
|
|
3
|
-
"version": "10.
|
|
3
|
+
"version": "10.39.0-alpha.1",
|
|
4
4
|
"description": "GoodData.UI SDK - Pivot Table",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -43,12 +43,12 @@
|
|
|
43
43
|
"ts-invariant": "^0.7.5",
|
|
44
44
|
"tslib": "2.8.1",
|
|
45
45
|
"uuid": "^8.3.2",
|
|
46
|
-
"@gooddata/sdk-
|
|
47
|
-
"@gooddata/sdk-
|
|
48
|
-
"@gooddata/sdk-
|
|
49
|
-
"@gooddata/sdk-ui-theme-provider": "10.
|
|
50
|
-
"@gooddata/sdk-ui-
|
|
51
|
-
"@gooddata/sdk-
|
|
46
|
+
"@gooddata/sdk-ui": "10.39.0-alpha.1",
|
|
47
|
+
"@gooddata/sdk-backend-spi": "10.39.0-alpha.1",
|
|
48
|
+
"@gooddata/sdk-ui-kit": "10.39.0-alpha.1",
|
|
49
|
+
"@gooddata/sdk-ui-theme-provider": "10.39.0-alpha.1",
|
|
50
|
+
"@gooddata/sdk-ui-vis-commons": "10.39.0-alpha.1",
|
|
51
|
+
"@gooddata/sdk-model": "10.39.0-alpha.1"
|
|
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.
|
|
101
|
-
"@gooddata/sdk-backend-base": "10.
|
|
102
|
-
"@gooddata/sdk-backend-mockingbird": "10.
|
|
100
|
+
"@gooddata/reference-workspace": "10.39.0-alpha.1",
|
|
101
|
+
"@gooddata/sdk-backend-base": "10.39.0-alpha.1",
|
|
102
|
+
"@gooddata/sdk-backend-mockingbird": "10.39.0-alpha.1"
|
|
103
103
|
},
|
|
104
104
|
"scripts": {
|
|
105
105
|
"clean": "../../common/scripts/clean-command-state.sh && rm -rf ci dist esm coverage *.log styles/css tsconfig.tsbuildinfo",
|