@gooddata/sdk-ui-charts 10.38.0 → 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/NOTICE +3 -3
- package/esm/charts/_base/BaseChart.d.ts +1 -1
- package/esm/charts/_base/BaseChart.d.ts.map +1 -1
- package/esm/charts/_base/BaseChart.js +38 -36
- package/esm/charts/_base/BaseChart.js.map +1 -1
- package/esm/charts/_commons/defaultProps.d.ts +3 -1
- package/esm/charts/_commons/defaultProps.d.ts.map +1 -1
- package/esm/charts/_commons/defaultProps.js +8 -2
- package/esm/charts/_commons/defaultProps.js.map +1 -1
- package/esm/charts/areaChart/CoreAreaChart.d.ts +1 -3
- package/esm/charts/areaChart/CoreAreaChart.d.ts.map +1 -1
- package/esm/charts/areaChart/CoreAreaChart.js +5 -7
- package/esm/charts/areaChart/CoreAreaChart.js.map +1 -1
- package/esm/charts/barChart/CoreBarChart.d.ts +1 -3
- package/esm/charts/barChart/CoreBarChart.d.ts.map +1 -1
- package/esm/charts/barChart/CoreBarChart.js +5 -7
- package/esm/charts/barChart/CoreBarChart.js.map +1 -1
- package/esm/charts/bubbleChart/CoreBubbleChart.d.ts +1 -3
- package/esm/charts/bubbleChart/CoreBubbleChart.d.ts.map +1 -1
- package/esm/charts/bubbleChart/CoreBubbleChart.js +3 -5
- package/esm/charts/bubbleChart/CoreBubbleChart.js.map +1 -1
- package/esm/charts/bulletChart/CoreBulletChart.d.ts +1 -3
- package/esm/charts/bulletChart/CoreBulletChart.d.ts.map +1 -1
- package/esm/charts/bulletChart/CoreBulletChart.js +5 -7
- package/esm/charts/bulletChart/CoreBulletChart.js.map +1 -1
- package/esm/charts/columnChart/CoreColumnChart.d.ts +1 -3
- package/esm/charts/columnChart/CoreColumnChart.d.ts.map +1 -1
- package/esm/charts/columnChart/CoreColumnChart.js +5 -7
- package/esm/charts/columnChart/CoreColumnChart.js.map +1 -1
- package/esm/charts/comboChart/CoreComboChart.d.ts +1 -3
- package/esm/charts/comboChart/CoreComboChart.d.ts.map +1 -1
- package/esm/charts/comboChart/CoreComboChart.js +5 -7
- package/esm/charts/comboChart/CoreComboChart.js.map +1 -1
- package/esm/charts/dependencyWheelChart/CoreDependencyWheelChart.d.ts +1 -3
- package/esm/charts/dependencyWheelChart/CoreDependencyWheelChart.d.ts.map +1 -1
- package/esm/charts/dependencyWheelChart/CoreDependencyWheelChart.js +5 -7
- package/esm/charts/dependencyWheelChart/CoreDependencyWheelChart.js.map +1 -1
- package/esm/charts/donutChart/CoreDonutChart.d.ts +1 -3
- package/esm/charts/donutChart/CoreDonutChart.d.ts.map +1 -1
- package/esm/charts/donutChart/CoreDonutChart.js +5 -7
- package/esm/charts/donutChart/CoreDonutChart.js.map +1 -1
- package/esm/charts/funnelChart/CoreFunnelChart.d.ts +1 -3
- package/esm/charts/funnelChart/CoreFunnelChart.d.ts.map +1 -1
- package/esm/charts/funnelChart/CoreFunnelChart.js +5 -7
- package/esm/charts/funnelChart/CoreFunnelChart.js.map +1 -1
- package/esm/charts/headline/CoreHeadline.d.ts +2 -23
- package/esm/charts/headline/CoreHeadline.d.ts.map +1 -1
- package/esm/charts/headline/CoreHeadline.js +15 -30
- package/esm/charts/headline/CoreHeadline.js.map +1 -1
- package/esm/charts/headline/HeadlineProviderFactory.d.ts.map +1 -1
- package/esm/charts/headline/HeadlineProviderFactory.js +6 -6
- package/esm/charts/headline/HeadlineProviderFactory.js.map +1 -1
- package/esm/charts/headline/internal/headlines/LegacyHeadline.d.ts +2 -22
- package/esm/charts/headline/internal/headlines/LegacyHeadline.d.ts.map +1 -1
- package/esm/charts/headline/internal/headlines/LegacyHeadline.js +94 -93
- package/esm/charts/headline/internal/headlines/LegacyHeadline.js.map +1 -1
- package/esm/charts/headline/internal/headlines/baseHeadline/BaseHeadline.d.ts +2 -2
- package/esm/charts/headline/internal/headlines/baseHeadline/BaseHeadline.d.ts.map +1 -1
- package/esm/charts/headline/internal/headlines/baseHeadline/BaseHeadline.js +3 -4
- package/esm/charts/headline/internal/headlines/baseHeadline/BaseHeadline.js.map +1 -1
- package/esm/charts/headline/internal/headlines/baseHeadline/CompareSection.d.ts +2 -2
- package/esm/charts/headline/internal/headlines/baseHeadline/CompareSection.d.ts.map +1 -1
- package/esm/charts/headline/internal/headlines/baseHeadline/CompareSection.js +10 -16
- package/esm/charts/headline/internal/headlines/baseHeadline/CompareSection.js.map +1 -1
- package/esm/charts/headline/internal/headlines/baseHeadline/CompareSectionItem.d.ts +4 -2
- package/esm/charts/headline/internal/headlines/baseHeadline/CompareSectionItem.d.ts.map +1 -1
- package/esm/charts/headline/internal/headlines/baseHeadline/CompareSectionItem.js +3 -4
- package/esm/charts/headline/internal/headlines/baseHeadline/CompareSectionItem.js.map +1 -1
- package/esm/charts/headline/internal/headlines/baseHeadline/PrimarySection.d.ts +2 -2
- package/esm/charts/headline/internal/headlines/baseHeadline/PrimarySection.d.ts.map +1 -1
- package/esm/charts/headline/internal/headlines/baseHeadline/PrimarySection.js +4 -5
- package/esm/charts/headline/internal/headlines/baseHeadline/PrimarySection.js.map +1 -1
- package/esm/charts/headline/internal/headlines/baseHeadline/PrimarySectionCompactContent.d.ts +2 -2
- package/esm/charts/headline/internal/headlines/baseHeadline/PrimarySectionCompactContent.d.ts.map +1 -1
- package/esm/charts/headline/internal/headlines/baseHeadline/PrimarySectionCompactContent.js +3 -4
- package/esm/charts/headline/internal/headlines/baseHeadline/PrimarySectionCompactContent.js.map +1 -1
- package/esm/charts/headline/internal/headlines/baseHeadline/PrimarySectionContent.d.ts +2 -2
- package/esm/charts/headline/internal/headlines/baseHeadline/PrimarySectionContent.d.ts.map +1 -1
- package/esm/charts/headline/internal/headlines/baseHeadline/PrimarySectionContent.js +2 -3
- package/esm/charts/headline/internal/headlines/baseHeadline/PrimarySectionContent.js.map +1 -1
- package/esm/charts/headline/internal/headlines/baseHeadline/baseHeadlineDataItems/BaseHeadlineDataItem.d.ts +1 -2
- package/esm/charts/headline/internal/headlines/baseHeadline/baseHeadlineDataItems/BaseHeadlineDataItem.d.ts.map +1 -1
- package/esm/charts/headline/internal/headlines/baseHeadline/baseHeadlineDataItems/BaseHeadlineDataItem.js +7 -5
- package/esm/charts/headline/internal/headlines/baseHeadline/baseHeadlineDataItems/BaseHeadlineDataItem.js.map +1 -1
- package/esm/charts/headline/internal/headlines/baseHeadline/baseHeadlineDataItems/comparisonItems/ComparisonDataItem.d.ts +1 -2
- package/esm/charts/headline/internal/headlines/baseHeadline/baseHeadlineDataItems/comparisonItems/ComparisonDataItem.d.ts.map +1 -1
- package/esm/charts/headline/internal/headlines/baseHeadline/baseHeadlineDataItems/comparisonItems/ComparisonDataItem.js +12 -8
- package/esm/charts/headline/internal/headlines/baseHeadline/baseHeadlineDataItems/comparisonItems/ComparisonDataItem.js.map +1 -1
- package/esm/charts/headline/internal/headlines/baseHeadline/baseHeadlineDataItems/comparisonItems/ComparisonDataWithSubItem.d.ts +1 -2
- package/esm/charts/headline/internal/headlines/baseHeadline/baseHeadlineDataItems/comparisonItems/ComparisonDataWithSubItem.d.ts.map +1 -1
- package/esm/charts/headline/internal/headlines/baseHeadline/baseHeadlineDataItems/comparisonItems/ComparisonDataWithSubItem.js +12 -8
- package/esm/charts/headline/internal/headlines/baseHeadline/baseHeadlineDataItems/comparisonItems/ComparisonDataWithSubItem.js.map +1 -1
- package/esm/charts/headline/internal/headlines/baseHeadline/baseHeadlineDataItems/comparisonItems/ComparisonIndicator.d.ts +3 -2
- package/esm/charts/headline/internal/headlines/baseHeadline/baseHeadlineDataItems/comparisonItems/ComparisonIndicator.d.ts.map +1 -1
- package/esm/charts/headline/internal/headlines/baseHeadline/baseHeadlineDataItems/comparisonItems/ComparisonIndicator.js +33 -9
- package/esm/charts/headline/internal/headlines/baseHeadline/baseHeadlineDataItems/comparisonItems/ComparisonIndicator.js.map +1 -1
- package/esm/charts/headline/internal/headlines/baseHeadline/baseHeadlineDataItems/comparisonItems/ComparisonValue.d.ts +2 -2
- package/esm/charts/headline/internal/headlines/baseHeadline/baseHeadlineDataItems/comparisonItems/ComparisonValue.d.ts.map +1 -1
- package/esm/charts/headline/internal/headlines/baseHeadline/baseHeadlineDataItems/comparisonItems/ComparisonValue.js +2 -3
- package/esm/charts/headline/internal/headlines/baseHeadline/baseHeadlineDataItems/comparisonItems/ComparisonValue.js.map +1 -1
- package/esm/charts/headline/internal/headlines/baseHeadline/baseHeadlineDataItems/comparisonItems/useComparisonDataItem.d.ts +4 -2
- package/esm/charts/headline/internal/headlines/baseHeadline/baseHeadlineDataItems/comparisonItems/useComparisonDataItem.d.ts.map +1 -1
- package/esm/charts/headline/internal/headlines/baseHeadline/baseHeadlineDataItems/comparisonItems/useComparisonDataItem.js +31 -2
- package/esm/charts/headline/internal/headlines/baseHeadline/baseHeadlineDataItems/comparisonItems/useComparisonDataItem.js.map +1 -1
- package/esm/charts/headline/internal/headlines/baseHeadline/baseHeadlineDataItems/useOutOfBoundsDetection.d.ts +20 -0
- package/esm/charts/headline/internal/headlines/baseHeadline/baseHeadlineDataItems/useOutOfBoundsDetection.d.ts.map +1 -0
- package/esm/charts/headline/internal/headlines/baseHeadline/baseHeadlineDataItems/useOutOfBoundsDetection.js +168 -0
- package/esm/charts/headline/internal/headlines/baseHeadline/baseHeadlineDataItems/useOutOfBoundsDetection.js.map +1 -0
- package/esm/charts/headline/internal/headlines/baseHeadline/baseHeadlineDataItems/withTitle.d.ts.map +1 -1
- package/esm/charts/headline/internal/headlines/baseHeadline/baseHeadlineDataItems/withTitle.js +2 -2
- package/esm/charts/headline/internal/headlines/baseHeadline/baseHeadlineDataItems/withTitle.js.map +1 -1
- package/esm/charts/headline/internal/interfaces/BaseHeadlines.d.ts +7 -3
- package/esm/charts/headline/internal/interfaces/BaseHeadlines.d.ts.map +1 -1
- package/esm/charts/headline/internal/interfaces/BaseHeadlines.js +4 -0
- package/esm/charts/headline/internal/interfaces/BaseHeadlines.js.map +1 -1
- package/esm/charts/headline/internal/providers/AbstractProvider.d.ts +1 -2
- package/esm/charts/headline/internal/providers/AbstractProvider.d.ts.map +1 -1
- package/esm/charts/headline/internal/providers/AbstractProvider.js +2 -3
- package/esm/charts/headline/internal/providers/AbstractProvider.js.map +1 -1
- package/esm/charts/headline/internal/providers/ComparisonProvider.d.ts +2 -3
- package/esm/charts/headline/internal/providers/ComparisonProvider.d.ts.map +1 -1
- package/esm/charts/headline/internal/providers/ComparisonProvider.js +3 -4
- package/esm/charts/headline/internal/providers/ComparisonProvider.js.map +1 -1
- package/esm/charts/headline/internal/providers/LegacyProvider.d.ts +2 -3
- package/esm/charts/headline/internal/providers/LegacyProvider.d.ts.map +1 -1
- package/esm/charts/headline/internal/providers/LegacyProvider.js +2 -3
- package/esm/charts/headline/internal/providers/LegacyProvider.js.map +1 -1
- package/esm/charts/headline/internal/providers/MultiMeasuresProvider.d.ts +2 -3
- package/esm/charts/headline/internal/providers/MultiMeasuresProvider.d.ts.map +1 -1
- package/esm/charts/headline/internal/providers/MultiMeasuresProvider.js +3 -4
- package/esm/charts/headline/internal/providers/MultiMeasuresProvider.js.map +1 -1
- package/esm/charts/headline/internal/transformations/ComparisonTransformation.d.ts +1 -2
- package/esm/charts/headline/internal/transformations/ComparisonTransformation.d.ts.map +1 -1
- package/esm/charts/headline/internal/transformations/ComparisonTransformation.js +2 -3
- package/esm/charts/headline/internal/transformations/ComparisonTransformation.js.map +1 -1
- package/esm/charts/headline/internal/transformations/LegacyHeadlineTransformation.d.ts.map +1 -1
- package/esm/charts/headline/internal/transformations/LegacyHeadlineTransformation.js +15 -27
- package/esm/charts/headline/internal/transformations/LegacyHeadlineTransformation.js.map +1 -1
- package/esm/charts/headline/internal/transformations/MultiMeasuresTransformation.d.ts +1 -2
- package/esm/charts/headline/internal/transformations/MultiMeasuresTransformation.d.ts.map +1 -1
- package/esm/charts/headline/internal/transformations/MultiMeasuresTransformation.js +2 -3
- package/esm/charts/headline/internal/transformations/MultiMeasuresTransformation.js.map +1 -1
- package/esm/charts/headline/internal/utils/BaseHeadlineTransformationUtils.js +1 -1
- package/esm/charts/headline/internal/utils/BaseHeadlineTransformationUtils.js.map +1 -1
- package/esm/charts/headline/internal/utils/ComparisonDataItemUtils.d.ts +1 -1
- package/esm/charts/headline/internal/utils/ComparisonDataItemUtils.d.ts.map +1 -1
- package/esm/charts/headline/internal/utils/ComparisonDataItemUtils.js.map +1 -1
- package/esm/charts/headline/internal/utils/ComparisonTransformationUtils.js +2 -2
- package/esm/charts/headline/internal/utils/ComparisonTransformationUtils.js.map +1 -1
- package/esm/charts/heatmap/CoreHeatmap.d.ts +1 -3
- package/esm/charts/heatmap/CoreHeatmap.d.ts.map +1 -1
- package/esm/charts/heatmap/CoreHeatmap.js +5 -7
- package/esm/charts/heatmap/CoreHeatmap.js.map +1 -1
- package/esm/charts/lineChart/CoreLineChart.d.ts +1 -3
- package/esm/charts/lineChart/CoreLineChart.d.ts.map +1 -1
- package/esm/charts/lineChart/CoreLineChart.js +5 -7
- package/esm/charts/lineChart/CoreLineChart.js.map +1 -1
- package/esm/charts/pieChart/CorePieChart.d.ts +1 -3
- package/esm/charts/pieChart/CorePieChart.d.ts.map +1 -1
- package/esm/charts/pieChart/CorePieChart.js +5 -7
- package/esm/charts/pieChart/CorePieChart.js.map +1 -1
- package/esm/charts/pyramidChart/CorePyramidChart.d.ts +1 -3
- package/esm/charts/pyramidChart/CorePyramidChart.d.ts.map +1 -1
- package/esm/charts/pyramidChart/CorePyramidChart.js +5 -7
- package/esm/charts/pyramidChart/CorePyramidChart.js.map +1 -1
- package/esm/charts/sankeyChart/CoreSankeyChart.d.ts +1 -3
- package/esm/charts/sankeyChart/CoreSankeyChart.d.ts.map +1 -1
- package/esm/charts/sankeyChart/CoreSankeyChart.js +5 -7
- package/esm/charts/sankeyChart/CoreSankeyChart.js.map +1 -1
- package/esm/charts/scatterPlot/CoreScatterPlot.d.ts +1 -3
- package/esm/charts/scatterPlot/CoreScatterPlot.d.ts.map +1 -1
- package/esm/charts/scatterPlot/CoreScatterPlot.js +9 -11
- package/esm/charts/scatterPlot/CoreScatterPlot.js.map +1 -1
- package/esm/charts/treemap/CoreTreemap.d.ts +1 -3
- package/esm/charts/treemap/CoreTreemap.d.ts.map +1 -1
- package/esm/charts/treemap/CoreTreemap.js +5 -7
- package/esm/charts/treemap/CoreTreemap.js.map +1 -1
- package/esm/charts/waterfallChart/CoreWaterfallChart.d.ts +1 -3
- package/esm/charts/waterfallChart/CoreWaterfallChart.d.ts.map +1 -1
- package/esm/charts/waterfallChart/CoreWaterfallChart.js +5 -7
- package/esm/charts/waterfallChart/CoreWaterfallChart.js.map +1 -1
- package/esm/charts/xirr/CoreXirr.d.ts +2 -12
- package/esm/charts/xirr/CoreXirr.d.ts.map +1 -1
- package/esm/charts/xirr/CoreXirr.js +15 -28
- package/esm/charts/xirr/CoreXirr.js.map +1 -1
- package/esm/charts/xirr/internal/XirrTransformation.d.ts.map +1 -1
- package/esm/charts/xirr/internal/XirrTransformation.js +11 -21
- package/esm/charts/xirr/internal/XirrTransformation.js.map +1 -1
- package/esm/sdk-ui-charts.d.ts +3 -3
- package/package.json +10 -10
@@ -0,0 +1,168 @@
|
|
1
|
+
// (C) 2025 GoodData Corporation
|
2
|
+
import { useRef, useCallback, useLayoutEffect, useEffect, useMemo, useState, createRef } from "react";
|
3
|
+
import { useBaseHeadline } from "../BaseHeadlineContext.js";
|
4
|
+
import { getCompareSectionClasses } from "../../../utils/HeadlineDataItemUtils.js";
|
5
|
+
import { shouldRenderPagination } from "@gooddata/sdk-ui-vis-commons";
|
6
|
+
export const useOutOfBoundsDetection = (onValueOverflow, measurementTrigger) => {
|
7
|
+
const div = useRef(null);
|
8
|
+
const lastReportedValue = useRef(null);
|
9
|
+
const measurementTimeoutId = useRef(null);
|
10
|
+
const callbackRef = useRef(onValueOverflow);
|
11
|
+
const hasMeasured = useRef(false);
|
12
|
+
// Keep callback ref updated without causing re-runs of effects
|
13
|
+
callbackRef.current = onValueOverflow;
|
14
|
+
const handler = useCallback(() => {
|
15
|
+
const element = div.current;
|
16
|
+
if (!element || !callbackRef.current) {
|
17
|
+
return;
|
18
|
+
}
|
19
|
+
const { scrollWidth, clientWidth } = element;
|
20
|
+
const isOverflowing = scrollWidth > clientWidth;
|
21
|
+
// Only call the callback if the value has actually changed OR if this is the first measurement
|
22
|
+
if (lastReportedValue.current !== isOverflowing || !hasMeasured.current) {
|
23
|
+
lastReportedValue.current = isOverflowing;
|
24
|
+
hasMeasured.current = true;
|
25
|
+
callbackRef.current(isOverflowing);
|
26
|
+
}
|
27
|
+
}, []);
|
28
|
+
// Only measure once after the component mounts and layout is complete
|
29
|
+
useLayoutEffect(() => {
|
30
|
+
// Clear any existing timeout
|
31
|
+
if (measurementTimeoutId.current) {
|
32
|
+
clearTimeout(measurementTimeoutId.current);
|
33
|
+
}
|
34
|
+
// Schedule measurement after layout is complete, but only if we haven't measured yet
|
35
|
+
if (!hasMeasured.current) {
|
36
|
+
measurementTimeoutId.current = setTimeout(() => {
|
37
|
+
handler();
|
38
|
+
}, 0); // fix node vs. browser type mismatch
|
39
|
+
}
|
40
|
+
return () => {
|
41
|
+
if (measurementTimeoutId.current) {
|
42
|
+
clearTimeout(measurementTimeoutId.current);
|
43
|
+
}
|
44
|
+
};
|
45
|
+
}, [handler]);
|
46
|
+
// Trigger remeasurement when the measurement trigger changes
|
47
|
+
useEffect(() => {
|
48
|
+
if (measurementTrigger !== undefined && measurementTrigger > 0) {
|
49
|
+
// Reset the measurement state to force a new measurement
|
50
|
+
hasMeasured.current = false;
|
51
|
+
lastReportedValue.current = null;
|
52
|
+
handler();
|
53
|
+
}
|
54
|
+
}, [measurementTrigger, handler]);
|
55
|
+
return {
|
56
|
+
containerRef: div,
|
57
|
+
};
|
58
|
+
};
|
59
|
+
const SIGNIFICANT_CHANGE_THRESHOLD_IN_PX = 5;
|
60
|
+
export const usePagination = (hasTertiaryItem) => {
|
61
|
+
const { config, clientHeight, clientWidth } = useBaseHeadline();
|
62
|
+
const { enableCompactSize } = config;
|
63
|
+
const secondaryItemTitleWrapperRef = createRef();
|
64
|
+
// Determine if the container is too small and need to render pagination based on its width and height
|
65
|
+
const isContainerTooSmall = useMemo(() => shouldRenderPagination(enableCompactSize, clientWidth, clientHeight), [enableCompactSize, clientHeight, clientWidth]);
|
66
|
+
// Determine the classes to apply to the compare section based on the container width
|
67
|
+
const compareSectionClassNames = useMemo(() => getCompareSectionClasses(clientWidth, secondaryItemTitleWrapperRef), [clientWidth, secondaryItemTitleWrapperRef]);
|
68
|
+
// Track overflow state in a single object to prevent race conditions
|
69
|
+
const [overflowState, setOverflowState] = useState({
|
70
|
+
isSecondaryOverflow: false,
|
71
|
+
isTertiaryOverflow: false,
|
72
|
+
measurementComplete: false,
|
73
|
+
measurementKey: 0,
|
74
|
+
hasSecondaryMeasurement: false,
|
75
|
+
hasTertiaryMeasurement: false,
|
76
|
+
});
|
77
|
+
// Track resize state to coordinate with overflow measurements
|
78
|
+
const isResizing = useRef(false);
|
79
|
+
const resizeTimeoutId = useRef(null);
|
80
|
+
// Reset overflow state when dimensions change significantly
|
81
|
+
const prevDimensions = useRef({ width: 0, height: 0 });
|
82
|
+
useLayoutEffect(() => {
|
83
|
+
const prevWidth = prevDimensions.current.width || 0;
|
84
|
+
const prevHeight = prevDimensions.current.height || 0;
|
85
|
+
// Only reset if dimensions have actually changed and are valid
|
86
|
+
// On the first render (prev = 0), always trigger if current dimensions are valid
|
87
|
+
const isFirstRender = prevWidth === 0 && prevHeight === 0;
|
88
|
+
const hasSignificantChange = Math.abs(clientWidth - prevWidth) > SIGNIFICANT_CHANGE_THRESHOLD_IN_PX ||
|
89
|
+
Math.abs(clientHeight - prevHeight) > SIGNIFICANT_CHANGE_THRESHOLD_IN_PX;
|
90
|
+
if (clientWidth > 0 && clientHeight > 0 && (isFirstRender || hasSignificantChange)) {
|
91
|
+
setOverflowState((prev) => ({
|
92
|
+
isSecondaryOverflow: false,
|
93
|
+
isTertiaryOverflow: false,
|
94
|
+
measurementComplete: false,
|
95
|
+
measurementKey: prev.measurementKey + 1, // Increment to trigger new measurements
|
96
|
+
hasSecondaryMeasurement: false,
|
97
|
+
hasTertiaryMeasurement: false,
|
98
|
+
}));
|
99
|
+
isResizing.current = false;
|
100
|
+
prevDimensions.current = { width: clientWidth, height: clientHeight };
|
101
|
+
}
|
102
|
+
}, [clientWidth, clientHeight]);
|
103
|
+
// Handle overflow callback with coordination
|
104
|
+
const handleOverflowCallback = useCallback((field) => (isOverflowing) => {
|
105
|
+
// Don't update state if we're in the middle of a resize
|
106
|
+
if (isResizing.current) {
|
107
|
+
return;
|
108
|
+
}
|
109
|
+
setOverflowState((prevState) => {
|
110
|
+
const newState = { ...prevState, [field]: isOverflowing };
|
111
|
+
// Track which measurements we've received
|
112
|
+
if (field === "isSecondaryOverflow") {
|
113
|
+
newState.hasSecondaryMeasurement = true;
|
114
|
+
}
|
115
|
+
else if (field === "isTertiaryOverflow") {
|
116
|
+
newState.hasTertiaryMeasurement = true;
|
117
|
+
}
|
118
|
+
// Mark the measurement complete only when ALL expected measurements are received
|
119
|
+
if (hasTertiaryItem) {
|
120
|
+
// With tertiary item, we need BOTH secondary and tertiary measurements
|
121
|
+
newState.measurementComplete =
|
122
|
+
newState.hasSecondaryMeasurement && newState.hasTertiaryMeasurement;
|
123
|
+
}
|
124
|
+
else {
|
125
|
+
// With only secondary item, we only need the secondary measurement
|
126
|
+
newState.measurementComplete = newState.hasSecondaryMeasurement;
|
127
|
+
}
|
128
|
+
return newState;
|
129
|
+
});
|
130
|
+
}, [hasTertiaryItem]);
|
131
|
+
const handleSecondaryOverflow = handleOverflowCallback("isSecondaryOverflow");
|
132
|
+
const handleTertiaryOverflow = handleOverflowCallback("isTertiaryOverflow");
|
133
|
+
// Clean up any pending timeouts on component unmount
|
134
|
+
useEffect(() => {
|
135
|
+
return () => {
|
136
|
+
if (resizeTimeoutId.current) {
|
137
|
+
// we want to clear the timeout during component unmount, not matter what
|
138
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
139
|
+
clearTimeout(resizeTimeoutId.current);
|
140
|
+
}
|
141
|
+
};
|
142
|
+
}, []);
|
143
|
+
// Determine if we should use pagination based on built-in logic OR overflow detection
|
144
|
+
const shouldUsePagination = useMemo(() => {
|
145
|
+
// Always use built-in pagination logic if it applies
|
146
|
+
if (isContainerTooSmall && hasTertiaryItem) {
|
147
|
+
return true;
|
148
|
+
}
|
149
|
+
// Only use overflow-based pagination if the measurement is complete and there are overflows
|
150
|
+
if (overflowState.measurementComplete && hasTertiaryItem) {
|
151
|
+
return overflowState.isSecondaryOverflow || overflowState.isTertiaryOverflow;
|
152
|
+
}
|
153
|
+
return false;
|
154
|
+
}, [isContainerTooSmall, hasTertiaryItem, overflowState]);
|
155
|
+
const prevShouldUsePagination = useRef(shouldUsePagination);
|
156
|
+
if (prevShouldUsePagination.current !== shouldUsePagination) {
|
157
|
+
prevShouldUsePagination.current = shouldUsePagination;
|
158
|
+
}
|
159
|
+
return {
|
160
|
+
shouldUsePagination,
|
161
|
+
compareSectionClassNames,
|
162
|
+
overflowState,
|
163
|
+
handleSecondaryOverflow,
|
164
|
+
handleTertiaryOverflow,
|
165
|
+
secondaryItemTitleWrapperRef,
|
166
|
+
};
|
167
|
+
};
|
168
|
+
//# sourceMappingURL=useOutOfBoundsDetection.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"useOutOfBoundsDetection.js","sourceRoot":"","sources":["../../../../../../../src/charts/headline/internal/headlines/baseHeadline/baseHeadlineDataItems/useOutOfBoundsDetection.ts"],"names":[],"mappings":"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"}
|
package/esm/charts/headline/internal/headlines/baseHeadline/baseHeadlineDataItems/withTitle.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"withTitle.d.ts","sourceRoot":"","sources":["../../../../../../../src/charts/headline/internal/headlines/baseHeadline/baseHeadlineDataItems/withTitle.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAG7C,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAE3F,eAAO,MAAM,SAAS,GAAI,CAAC,EAAE,CAAC,SAAS,kBAAkB,EACrD,sBAAsB,aAAa,CAAC,CAAC,CAAC,KACvC,KAAK,CAAC,aAAa,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,
|
1
|
+
{"version":3,"file":"withTitle.d.ts","sourceRoot":"","sources":["../../../../../../../src/charts/headline/internal/headlines/baseHeadline/baseHeadlineDataItems/withTitle.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAG7C,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAE3F,eAAO,MAAM,SAAS,GAAI,CAAC,EAAE,CAAC,SAAS,kBAAkB,EACrD,sBAAsB,aAAa,CAAC,CAAC,CAAC,KACvC,KAAK,CAAC,aAAa,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAmB5C,CAAC"}
|
package/esm/charts/headline/internal/headlines/baseHeadline/baseHeadlineDataItems/withTitle.js
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
// (C) 2023 GoodData Corporation
|
1
|
+
// (C) 2023-2025 GoodData Corporation
|
2
2
|
import React from "react";
|
3
3
|
import { wrapDisplayName } from "@gooddata/sdk-ui";
|
4
4
|
export const withTitle = (BaseHeadlineDataItem) => {
|
@@ -6,7 +6,7 @@ export const withTitle = (BaseHeadlineDataItem) => {
|
|
6
6
|
const { shouldHideTitle, titleRef, dataItem } = props;
|
7
7
|
return (React.createElement(React.Fragment, null,
|
8
8
|
React.createElement(BaseHeadlineDataItem, { ...props }),
|
9
|
-
|
9
|
+
shouldHideTitle ? null : (React.createElement("div", { className: "headline-title-wrapper s-headline-title-wrapper", title: dataItem?.title, ref: titleRef }, dataItem?.title))));
|
10
10
|
};
|
11
11
|
return wrapDisplayName("withTitle", BaseHeadlineDataItem)(WithTitle);
|
12
12
|
};
|
package/esm/charts/headline/internal/headlines/baseHeadline/baseHeadlineDataItems/withTitle.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"withTitle.js","sourceRoot":"","sources":["../../../../../../../src/charts/headline/internal/headlines/baseHeadline/baseHeadlineDataItems/withTitle.tsx"],"names":[],"mappings":"AAAA,
|
1
|
+
{"version":3,"file":"withTitle.js","sourceRoot":"","sources":["../../../../../../../src/charts/headline/internal/headlines/baseHeadline/baseHeadlineDataItems/withTitle.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,KAAwB,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAInD,MAAM,CAAC,MAAM,SAAS,GAAG,CACrB,oBAAsC,EACK,EAAE;IAC7C,MAAM,SAAS,GAAqC,CAAC,KAAK,EAAE,EAAE;QAC1D,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;QACtD,OAAO,CACH;YACI,oBAAC,oBAAoB,OAAK,KAAK,GAAI;YAClC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACtB,6BACI,SAAS,EAAC,iDAAiD,EAC3D,KAAK,EAAE,QAAQ,EAAE,KAAK,EACtB,GAAG,EAAE,QAAQ,IAEZ,QAAQ,EAAE,KAAK,CACd,CACT,CACF,CACN,CAAC;IACN,CAAC,CAAC;IACF,OAAO,eAAe,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC,SAAS,CAAC,CAAC;AACzE,CAAC,CAAC"}
|
@@ -1,7 +1,7 @@
|
|
1
|
-
import { HeadlineElementType } from "@gooddata/sdk-ui";
|
2
|
-
import { IHeadlineDataItem } from "./Headlines.js";
|
3
1
|
import { ComponentType, RefObject } from "react";
|
2
|
+
import { HeadlineElementType } from "@gooddata/sdk-ui";
|
4
3
|
import { IComparison } from "../../../../interfaces/index.js";
|
4
|
+
import { IHeadlineDataItem } from "./Headlines.js";
|
5
5
|
export declare const COMPARISON_DEFAULT_OBJECT: IComparison;
|
6
6
|
export type BaseHeadlineDataItemComponentType<T> = ComponentType<IBaseHeadlineDataItemProps<T> & IWithTitleProps<T> & IWithDrillableItemProps<T>>;
|
7
7
|
export interface IBaseHeadlineTitle {
|
@@ -40,7 +40,9 @@ export interface IComparisonDataWithSubItem extends IBaseHeadlineTitle {
|
|
40
40
|
item: IBaseHeadlineValueItem;
|
41
41
|
subItem: IBaseHeadlineValueItem;
|
42
42
|
}
|
43
|
-
export type
|
43
|
+
export type ComparisonDataItem = IComparisonDataItem | IComparisonDataWithSubItem;
|
44
|
+
export declare function isComparisonDataWithSubItem(dataItem: ComparisonDataItem): dataItem is IComparisonDataWithSubItem;
|
45
|
+
export type BaseHeadlineItemAccepted = IHeadlineDataItem | ComparisonDataItem;
|
44
46
|
export interface IBaseHeadlineData {
|
45
47
|
primaryItem: IBaseHeadlineItem<BaseHeadlineItemAccepted>;
|
46
48
|
secondaryItem?: IBaseHeadlineItem<BaseHeadlineItemAccepted>;
|
@@ -49,5 +51,7 @@ export interface IBaseHeadlineData {
|
|
49
51
|
export interface IBaseHeadlineDataItemProps<T> {
|
50
52
|
dataItem: T;
|
51
53
|
evaluationType: EvaluationType;
|
54
|
+
onValueOverflow?: (isOverflowing: boolean) => void;
|
55
|
+
measurementTrigger?: number;
|
52
56
|
}
|
53
57
|
//# sourceMappingURL=BaseHeadlines.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"BaseHeadlines.d.ts","sourceRoot":"","sources":["../../../../../src/charts/headline/internal/interfaces/BaseHeadlines.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
1
|
+
{"version":3,"file":"BaseHeadlines.d.ts","sourceRoot":"","sources":["../../../../../src/charts/headline/internal/interfaces/BaseHeadlines.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAE9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEnD,eAAO,MAAM,yBAAyB,EAAE,WAEvC,CAAC;AAEF,MAAM,MAAM,iCAAiC,CAAC,CAAC,IAAI,aAAa,CAC5D,0BAA0B,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAClF,CAAC;AAEF,MAAM,WAAW,kBAAkB;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,sBAAsB;IACnC,WAAW,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,eAAe,CAAC,CAAC,SAAS,kBAAkB;IACzD,QAAQ,EAAE,CAAC,CAAC;IACZ,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;CACxC;AAED,MAAM,WAAW,uBAAuB,CAAC,CAAC,SAAS,sBAAsB;IACrE,QAAQ,EAAE,CAAC,CAAC;IACZ,WAAW,CAAC,EAAE,mBAAmB,CAAC;CACrC;AAED,MAAM,WAAW,sBAAsB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,oBAAY,cAAc;IACtB,cAAc,aAAa;IAC3B,YAAY,WAAW;IACvB,cAAc,aAAa;CAC9B;AAED,MAAM,WAAW,iBAAiB,CAAC,CAAC;IAChC,IAAI,EAAE,CAAC,CAAC;IACR,6BAA6B,EAAE,iCAAiC,CAAC,CAAC,CAAC,CAAC;IACpE,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,WAAW,CAAC,EAAE,mBAAmB,CAAC;CACrC;AAED,MAAM,WAAW,mBAAoB,SAAQ,sBAAsB,EAAE,kBAAkB;CAAG;AAE1F,MAAM,WAAW,0BAA2B,SAAQ,kBAAkB;IAClE,IAAI,EAAE,sBAAsB,CAAC;IAC7B,OAAO,EAAE,sBAAsB,CAAC;CACnC;AAED,MAAM,MAAM,kBAAkB,GAAG,mBAAmB,GAAG,0BAA0B,CAAC;AAElF,wBAAgB,2BAA2B,CACvC,QAAQ,EAAE,kBAAkB,GAC7B,QAAQ,IAAI,0BAA0B,CAExC;AAED,MAAM,MAAM,wBAAwB,GAAG,iBAAiB,GAAG,kBAAkB,CAAC;AAE9E,MAAM,WAAW,iBAAiB;IAC9B,WAAW,EAAE,iBAAiB,CAAC,wBAAwB,CAAC,CAAC;IACzD,aAAa,CAAC,EAAE,iBAAiB,CAAC,wBAAwB,CAAC,CAAC;IAC5D,YAAY,CAAC,EAAE,iBAAiB,CAAC,wBAAwB,CAAC,CAAC;CAC9D;AAED,MAAM,WAAW,0BAA0B,CAAC,CAAC;IACzC,QAAQ,EAAE,CAAC,CAAC;IACZ,cAAc,EAAE,cAAc,CAAC;IAC/B,eAAe,CAAC,EAAE,CAAC,aAAa,EAAE,OAAO,KAAK,IAAI,CAAC;IACnD,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC/B"}
|
@@ -1,3 +1,4 @@
|
|
1
|
+
import isEmpty from "lodash/isEmpty.js";
|
1
2
|
export const COMPARISON_DEFAULT_OBJECT = {
|
2
3
|
enabled: true,
|
3
4
|
};
|
@@ -7,4 +8,7 @@ export var EvaluationType;
|
|
7
8
|
EvaluationType["EQUALS_VALUE"] = "equals";
|
8
9
|
EvaluationType["POSITIVE_VALUE"] = "positive";
|
9
10
|
})(EvaluationType || (EvaluationType = {}));
|
11
|
+
export function isComparisonDataWithSubItem(dataItem) {
|
12
|
+
return !isEmpty(dataItem) && dataItem.subItem !== undefined;
|
13
|
+
}
|
10
14
|
//# sourceMappingURL=BaseHeadlines.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"BaseHeadlines.js","sourceRoot":"","sources":["../../../../../src/charts/headline/internal/interfaces/BaseHeadlines.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"BaseHeadlines.js","sourceRoot":"","sources":["../../../../../src/charts/headline/internal/interfaces/BaseHeadlines.ts"],"names":[],"mappings":"AAEA,OAAO,OAAO,MAAM,mBAAmB,CAAC;AAOxC,MAAM,CAAC,MAAM,yBAAyB,GAAgB;IAClD,OAAO,EAAE,IAAI;CAChB,CAAC;AA8BF,MAAM,CAAN,IAAY,cAIX;AAJD,WAAY,cAAc;IACtB,6CAA2B,CAAA;IAC3B,yCAAuB,CAAA;IACvB,6CAA2B,CAAA;AAC/B,CAAC,EAJW,cAAc,KAAd,cAAc,QAIzB;AAkBD,MAAM,UAAU,2BAA2B,CACvC,QAA4B;IAE5B,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAK,QAAuC,CAAC,OAAO,KAAK,SAAS,CAAC;AAChG,CAAC"}
|
@@ -1,10 +1,9 @@
|
|
1
1
|
import { IExecutionFactory, IPreparedExecution } from "@gooddata/sdk-backend-spi";
|
2
2
|
import { IBucket } from "@gooddata/sdk-model";
|
3
3
|
import { ICreateExecutionParams, IHeadlineProvider, IHeadlineTransformationProps } from "../../HeadlineProvider.js";
|
4
|
-
declare abstract class AbstractProvider implements IHeadlineProvider {
|
4
|
+
export declare abstract class AbstractProvider implements IHeadlineProvider {
|
5
5
|
createExecution(executionFactory: IExecutionFactory, params: ICreateExecutionParams): IPreparedExecution;
|
6
6
|
abstract getHeadlineTransformationComponent(): React.ComponentType<IHeadlineTransformationProps>;
|
7
7
|
protected prepareBuckets(originalBuckets: IBucket[]): IBucket[];
|
8
8
|
}
|
9
|
-
export default AbstractProvider;
|
10
9
|
//# sourceMappingURL=AbstractProvider.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"AbstractProvider.d.ts","sourceRoot":"","sources":["../../../../../src/charts/headline/internal/providers/AbstractProvider.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAClF,OAAO,EAAE,OAAO,EAAwC,MAAM,qBAAqB,CAAC;AAEpF,OAAO,EACH,sBAAsB,EACtB,iBAAiB,EACjB,4BAA4B,EAC/B,MAAM,2BAA2B,CAAC;AAEnC,
|
1
|
+
{"version":3,"file":"AbstractProvider.d.ts","sourceRoot":"","sources":["../../../../../src/charts/headline/internal/providers/AbstractProvider.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAClF,OAAO,EAAE,OAAO,EAAwC,MAAM,qBAAqB,CAAC;AAEpF,OAAO,EACH,sBAAsB,EACtB,iBAAiB,EACjB,4BAA4B,EAC/B,MAAM,2BAA2B,CAAC;AAEnC,8BAAsB,gBAAiB,YAAW,iBAAiB;IACxD,eAAe,CAClB,gBAAgB,EAAE,iBAAiB,EACnC,MAAM,EAAE,sBAAsB,GAC/B,kBAAkB;aAkBL,kCAAkC,IAAI,KAAK,CAAC,aAAa,CAAC,4BAA4B,CAAC;IAEvG,SAAS,CAAC,cAAc,CAAC,eAAe,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE;CAGlE"}
|
@@ -1,8 +1,8 @@
|
|
1
|
-
// (C) 2023 GoodData Corporation
|
1
|
+
// (C) 2023-2025 GoodData Corporation
|
2
2
|
import isEmpty from "lodash/isEmpty.js";
|
3
3
|
import clone from "lodash/clone.js";
|
4
4
|
import { MeasureGroupIdentifier, newDimension } from "@gooddata/sdk-model";
|
5
|
-
class AbstractProvider {
|
5
|
+
export class AbstractProvider {
|
6
6
|
createExecution(executionFactory, params) {
|
7
7
|
const { buckets, filters, executionConfig, dateFormat, sortItems } = params;
|
8
8
|
const execution = executionFactory
|
@@ -21,5 +21,4 @@ class AbstractProvider {
|
|
21
21
|
return originalBuckets;
|
22
22
|
}
|
23
23
|
}
|
24
|
-
export default AbstractProvider;
|
25
24
|
//# sourceMappingURL=AbstractProvider.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"AbstractProvider.js","sourceRoot":"","sources":["../../../../../src/charts/headline/internal/providers/AbstractProvider.ts"],"names":[],"mappings":"AAAA,
|
1
|
+
{"version":3,"file":"AbstractProvider.js","sourceRoot":"","sources":["../../../../../src/charts/headline/internal/providers/AbstractProvider.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,OAAO,MAAM,mBAAmB,CAAC;AACxC,OAAO,KAAK,MAAM,iBAAiB,CAAC;AAGpC,OAAO,EAAW,sBAAsB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAQpF,MAAM,OAAgB,gBAAgB;IAC3B,eAAe,CAClB,gBAAmC,EACnC,MAA8B;QAE9B,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;QAC5E,MAAM,SAAS,GAAG,gBAAgB;aAC7B,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC;aACxD,cAAc,CAAC,eAAe,CAAC;aAC/B,cAAc,CAAC,YAAY,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;QAE5D,IAAI,UAAU,EAAE,CAAC;YACb,SAAS,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QACzC,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YACtB,SAAS,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC,CAAC;QACxC,CAAC;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAIS,cAAc,CAAC,eAA0B;QAC/C,OAAO,eAAe,CAAC;IAC3B,CAAC;CACJ"}
|
@@ -1,9 +1,9 @@
|
|
1
1
|
import React from "react";
|
2
2
|
import { IBucket } from "@gooddata/sdk-model";
|
3
3
|
import { IHeadlineTransformationProps } from "../../HeadlineProvider.js";
|
4
|
-
import AbstractProvider from "./AbstractProvider.js";
|
4
|
+
import { AbstractProvider } from "./AbstractProvider.js";
|
5
5
|
import { IComparison } from "../../../../interfaces/index.js";
|
6
|
-
declare class ComparisonProvider extends AbstractProvider {
|
6
|
+
export declare class ComparisonProvider extends AbstractProvider {
|
7
7
|
private readonly comparison;
|
8
8
|
constructor(comparison: IComparison);
|
9
9
|
getHeadlineTransformationComponent(): React.ComponentType<IHeadlineTransformationProps>;
|
@@ -11,5 +11,4 @@ declare class ComparisonProvider extends AbstractProvider {
|
|
11
11
|
private prepareVirtualArithmeticBucket;
|
12
12
|
private createVirtualArithmeticMeasures;
|
13
13
|
}
|
14
|
-
export default ComparisonProvider;
|
15
14
|
//# sourceMappingURL=ComparisonProvider.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ComparisonProvider.d.ts","sourceRoot":"","sources":["../../../../../src/charts/headline/internal/providers/ComparisonProvider.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAKH,OAAO,EAMV,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,gBAAgB,MAAM,uBAAuB,CAAC;
|
1
|
+
{"version":3,"file":"ComparisonProvider.d.ts","sourceRoot":"","sources":["../../../../../src/charts/headline/internal/providers/ComparisonProvider.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAKH,OAAO,EAMV,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EAAe,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAK3E,qBAAa,kBAAmB,SAAQ,gBAAgB;IACpD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAc;gBAE7B,UAAU,EAAE,WAAW;IAM5B,kCAAkC,IAAI,KAAK,CAAC,aAAa,CAAC,4BAA4B,CAAC;IAI9F,SAAS,CAAC,cAAc,CAAC,eAAe,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE;IAK/D,OAAO,CAAC,8BAA8B;IAatC,OAAO,CAAC,+BAA+B;CAyC1C"}
|
@@ -1,11 +1,11 @@
|
|
1
1
|
import { bucketMeasure, bucketsFind, isPoPMeasure, isPreviousPeriodMeasure, newBucket, newVirtualArithmeticMeasure, } from "@gooddata/sdk-model";
|
2
2
|
import { BucketNames } from "@gooddata/sdk-ui";
|
3
|
-
import AbstractProvider from "./AbstractProvider.js";
|
4
|
-
import ComparisonTransformation from "../transformations/ComparisonTransformation.js";
|
3
|
+
import { AbstractProvider } from "./AbstractProvider.js";
|
4
|
+
import { ComparisonTransformation } from "../transformations/ComparisonTransformation.js";
|
5
5
|
import { CalculateAs } from "../../../../interfaces/index.js";
|
6
6
|
import { COMPARISON_DEFAULT_OBJECT } from "../interfaces/BaseHeadlines.js";
|
7
7
|
const ARITHMETIC_BUCKET_IDENTIFIER = "comparison_virtual_arithmetic_bucket";
|
8
|
-
class ComparisonProvider extends AbstractProvider {
|
8
|
+
export class ComparisonProvider extends AbstractProvider {
|
9
9
|
comparison;
|
10
10
|
constructor(comparison) {
|
11
11
|
super();
|
@@ -54,5 +54,4 @@ class ComparisonProvider extends AbstractProvider {
|
|
54
54
|
}
|
55
55
|
}
|
56
56
|
}
|
57
|
-
export default ComparisonProvider;
|
58
57
|
//# sourceMappingURL=ComparisonProvider.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ComparisonProvider.js","sourceRoot":"","sources":["../../../../../src/charts/headline/internal/providers/ComparisonProvider.ts"],"names":[],"mappings":"AAGA,OAAO,EAEH,aAAa,EACb,WAAW,EAIX,YAAY,EACZ,uBAAuB,EACvB,SAAS,EACT,2BAA2B,GAC9B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,OAAO,gBAAgB,MAAM,uBAAuB,CAAC;
|
1
|
+
{"version":3,"file":"ComparisonProvider.js","sourceRoot":"","sources":["../../../../../src/charts/headline/internal/providers/ComparisonProvider.ts"],"names":[],"mappings":"AAGA,OAAO,EAEH,aAAa,EACb,WAAW,EAIX,YAAY,EACZ,uBAAuB,EACvB,SAAS,EACT,2BAA2B,GAC9B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,gDAAgD,CAAC;AAC1F,OAAO,EAAE,WAAW,EAAe,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAE3E,MAAM,4BAA4B,GAAG,sCAAsC,CAAC;AAE5E,MAAM,OAAO,kBAAmB,SAAQ,gBAAgB;IACnC,UAAU,CAAc;IAEzC,YAAY,UAAuB;QAC/B,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,UAAU,GAAG,UAAU,IAAI,yBAAyB,CAAC;IAC9D,CAAC;IAEM,kCAAkC;QACrC,OAAO,wBAAwB,CAAC;IACpC,CAAC;IAES,cAAc,CAAC,eAA0B;QAC/C,MAAM,gBAAgB,GAAG,IAAI,CAAC,8BAA8B,CAAC,eAAe,CAAC,CAAC;QAC9E,OAAO,CAAC,GAAG,eAAe,EAAE,gBAAgB,CAAC,CAAC;IAClD,CAAC;IAEO,8BAA8B,CAAC,eAA0B;QAC7D,MAAM,aAAa,GAAG,WAAW,CAAC,eAAe,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;QACzE,MAAM,cAAc,GAAG,aAAa,IAAI,aAAa,CAAC,aAAa,CAAC,CAAC;QAErE,MAAM,eAAe,GAAG,WAAW,CAAC,eAAe,EAAE,WAAW,CAAC,kBAAkB,CAAC,CAAC;QACrF,MAAM,iBAAiB,GAAG,eAAe,IAAI,aAAa,CAAC,eAAe,CAAC,CAAC;QAE5E,OAAO,SAAS,CACZ,4BAA4B,EAC5B,GAAG,IAAI,CAAC,+BAA+B,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAC7E,CAAC;IACN,CAAC;IAEO,+BAA+B,CACnC,cAAwB,EACxB,gBAA0B;QAE1B,MAAM,8BAA8B,GAAG,CACnC,QAAmC,EACnC,+BAAyC,EACH,EAAE;YACxC,OAAO,2BAA2B,CAAC,CAAC,cAAc,EAAE,gBAAgB,CAAC,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE;gBACzF,IAAI,+BAA+B,EAAE,CAAC;oBAClC,OAAO,CAAC,0BAA0B,EAAE,CAAC;gBACzC,CAAC;gBAED,OAAO,OAAO,CAAC;YACnB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC;QAEF,QAAQ,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC;YACtC,KAAK,WAAW,CAAC,UAAU;gBACvB,OAAO,CAAC,8BAA8B,CAAC,YAAY,CAAC,CAAC,CAAC;YAE1D,KAAK,WAAW,CAAC,KAAK;gBAClB,OAAO,CAAC,8BAA8B,CAAC,OAAO,CAAC,CAAC,CAAC;YAErD,KAAK,WAAW,CAAC,MAAM;gBACnB,OAAO,CAAC,8BAA8B,CAAC,QAAQ,CAAC,CAAC,CAAC;YAEtD,KAAK,WAAW,CAAC,iBAAiB;gBAC9B,OAAO;oBACH,8BAA8B,CAAC,QAAQ,EAAE,IAAI,CAAC;oBAC9C,8BAA8B,CAAC,YAAY,EAAE,IAAI,CAAC;iBACrD,CAAC;YAEN;gBACI,IAAI,YAAY,CAAC,gBAAgB,CAAC,IAAI,uBAAuB,CAAC,gBAAgB,CAAC,EAAE,CAAC;oBAC9E,OAAO,CAAC,8BAA8B,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACtD,CAAC;gBAED,OAAO,CAAC,8BAA8B,CAAC,OAAO,CAAC,CAAC,CAAC;QACzD,CAAC;IACL,CAAC;CACJ"}
|
@@ -1,8 +1,7 @@
|
|
1
1
|
import React from "react";
|
2
2
|
import { IHeadlineTransformationProps } from "../../HeadlineProvider.js";
|
3
|
-
import AbstractProvider from "./AbstractProvider.js";
|
4
|
-
declare class LegacyProvider extends AbstractProvider {
|
3
|
+
import { AbstractProvider } from "./AbstractProvider.js";
|
4
|
+
export declare class LegacyProvider extends AbstractProvider {
|
5
5
|
getHeadlineTransformationComponent(): React.ComponentType<IHeadlineTransformationProps>;
|
6
6
|
}
|
7
|
-
export default LegacyProvider;
|
8
7
|
//# sourceMappingURL=LegacyProvider.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"LegacyProvider.d.ts","sourceRoot":"","sources":["../../../../../src/charts/headline/internal/providers/LegacyProvider.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,gBAAgB,MAAM,uBAAuB,CAAC;
|
1
|
+
{"version":3,"file":"LegacyProvider.d.ts","sourceRoot":"","sources":["../../../../../src/charts/headline/internal/providers/LegacyProvider.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGzD,qBAAa,cAAe,SAAQ,gBAAgB;IACzC,kCAAkC,IAAI,KAAK,CAAC,aAAa,CAAC,4BAA4B,CAAC;CAGjG"}
|
@@ -1,9 +1,8 @@
|
|
1
|
-
import AbstractProvider from "./AbstractProvider.js";
|
1
|
+
import { AbstractProvider } from "./AbstractProvider.js";
|
2
2
|
import LegacyHeadlineTransformation from "../transformations/LegacyHeadlineTransformation.js";
|
3
|
-
class LegacyProvider extends AbstractProvider {
|
3
|
+
export class LegacyProvider extends AbstractProvider {
|
4
4
|
getHeadlineTransformationComponent() {
|
5
5
|
return LegacyHeadlineTransformation;
|
6
6
|
}
|
7
7
|
}
|
8
|
-
export default LegacyProvider;
|
9
8
|
//# sourceMappingURL=LegacyProvider.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"LegacyProvider.js","sourceRoot":"","sources":["../../../../../src/charts/headline/internal/providers/LegacyProvider.ts"],"names":[],"mappings":"AAGA,OAAO,gBAAgB,MAAM,uBAAuB,CAAC;
|
1
|
+
{"version":3,"file":"LegacyProvider.js","sourceRoot":"","sources":["../../../../../src/charts/headline/internal/providers/LegacyProvider.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,4BAA4B,MAAM,oDAAoD,CAAC;AAE9F,MAAM,OAAO,cAAe,SAAQ,gBAAgB;IACzC,kCAAkC;QACrC,OAAO,4BAA4B,CAAC;IACxC,CAAC;CACJ"}
|
@@ -1,8 +1,7 @@
|
|
1
1
|
import React from "react";
|
2
|
-
import AbstractProvider from "./AbstractProvider.js";
|
2
|
+
import { AbstractProvider } from "./AbstractProvider.js";
|
3
3
|
import { IHeadlineTransformationProps } from "../../HeadlineProvider.js";
|
4
|
-
declare class MultiMeasuresProvider extends AbstractProvider {
|
4
|
+
export declare class MultiMeasuresProvider extends AbstractProvider {
|
5
5
|
getHeadlineTransformationComponent(): React.ComponentType<IHeadlineTransformationProps>;
|
6
6
|
}
|
7
|
-
export default MultiMeasuresProvider;
|
8
7
|
//# sourceMappingURL=MultiMeasuresProvider.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"MultiMeasuresProvider.d.ts","sourceRoot":"","sources":["../../../../../src/charts/headline/internal/providers/MultiMeasuresProvider.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,gBAAgB,MAAM,uBAAuB,CAAC;
|
1
|
+
{"version":3,"file":"MultiMeasuresProvider.d.ts","sourceRoot":"","sources":["../../../../../src/charts/headline/internal/providers/MultiMeasuresProvider.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AAGzE,qBAAa,qBAAsB,SAAQ,gBAAgB;IAChD,kCAAkC,IAAI,KAAK,CAAC,aAAa,CAAC,4BAA4B,CAAC;CAGjG"}
|
@@ -1,9 +1,8 @@
|
|
1
|
-
import AbstractProvider from "./AbstractProvider.js";
|
2
|
-
import MultiMeasuresTransformation from "../transformations/MultiMeasuresTransformation.js";
|
3
|
-
class MultiMeasuresProvider extends AbstractProvider {
|
1
|
+
import { AbstractProvider } from "./AbstractProvider.js";
|
2
|
+
import { MultiMeasuresTransformation } from "../transformations/MultiMeasuresTransformation.js";
|
3
|
+
export class MultiMeasuresProvider extends AbstractProvider {
|
4
4
|
getHeadlineTransformationComponent() {
|
5
5
|
return MultiMeasuresTransformation;
|
6
6
|
}
|
7
7
|
}
|
8
|
-
export default MultiMeasuresProvider;
|
9
8
|
//# sourceMappingURL=MultiMeasuresProvider.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"MultiMeasuresProvider.js","sourceRoot":"","sources":["../../../../../src/charts/headline/internal/providers/MultiMeasuresProvider.ts"],"names":[],"mappings":"AAEA,OAAO,gBAAgB,MAAM,uBAAuB,CAAC;
|
1
|
+
{"version":3,"file":"MultiMeasuresProvider.js","sourceRoot":"","sources":["../../../../../src/charts/headline/internal/providers/MultiMeasuresProvider.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EAAE,2BAA2B,EAAE,MAAM,mDAAmD,CAAC;AAEhG,MAAM,OAAO,qBAAsB,SAAQ,gBAAgB;IAChD,kCAAkC;QACrC,OAAO,2BAA2B,CAAC;IACvC,CAAC;CACJ"}
|
@@ -1,5 +1,4 @@
|
|
1
1
|
import React from "react";
|
2
2
|
import { IHeadlineTransformationProps } from "../../HeadlineProvider.js";
|
3
|
-
declare const ComparisonTransformation: React.FC<IHeadlineTransformationProps>;
|
4
|
-
export default ComparisonTransformation;
|
3
|
+
export declare const ComparisonTransformation: React.FC<IHeadlineTransformationProps>;
|
5
4
|
//# sourceMappingURL=ComparisonTransformation.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ComparisonTransformation.d.ts","sourceRoot":"","sources":["../../../../../src/charts/headline/internal/transformations/ComparisonTransformation.tsx"],"names":[],"mappings":"AACA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAGvC,OAAO,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AAOzE,
|
1
|
+
{"version":3,"file":"ComparisonTransformation.d.ts","sourceRoot":"","sources":["../../../../../src/charts/headline/internal/transformations/ComparisonTransformation.tsx"],"names":[],"mappings":"AACA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAGvC,OAAO,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AAOzE,eAAO,MAAM,wBAAwB,EAAE,KAAK,CAAC,EAAE,CAAC,4BAA4B,CAgC3E,CAAC"}
|
@@ -1,11 +1,11 @@
|
|
1
1
|
// (C) 2023-2025 GoodData Corporation
|
2
2
|
import React, { useMemo } from "react";
|
3
3
|
import { useIntl } from "react-intl";
|
4
|
-
import BaseHeadline from "../headlines/baseHeadline/BaseHeadline.js";
|
4
|
+
import { BaseHeadline } from "../headlines/baseHeadline/BaseHeadline.js";
|
5
5
|
import { useFireDrillEvent } from "./useFiredDrillEvent.js";
|
6
6
|
import { getComparisonBaseHeadlineData } from "../utils/ComparisonTransformationUtils.js";
|
7
7
|
import { COMPARISON_DEFAULT_OBJECT } from "../interfaces/BaseHeadlines.js";
|
8
|
-
const ComparisonTransformation = ({ dataView, drillableItems, config, onAfterRender, onDrill, }) => {
|
8
|
+
export const ComparisonTransformation = ({ dataView, drillableItems, config, onAfterRender, onDrill, }) => {
|
9
9
|
const baseHeadlineConfig = config?.comparison
|
10
10
|
? config
|
11
11
|
: {
|
@@ -18,5 +18,4 @@ const ComparisonTransformation = ({ dataView, drillableItems, config, onAfterRen
|
|
18
18
|
const data = useMemo(() => getComparisonBaseHeadlineData(dataView, drillableItems, comparison, intl), [dataView, drillableItems, comparison, intl]);
|
19
19
|
return (React.createElement(BaseHeadline, { data: data, config: baseHeadlineConfig, onDrill: handleFiredDrillEvent, onAfterRender: onAfterRender }));
|
20
20
|
};
|
21
|
-
export default ComparisonTransformation;
|
22
21
|
//# sourceMappingURL=ComparisonTransformation.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ComparisonTransformation.js","sourceRoot":"","sources":["../../../../../src/charts/headline/internal/transformations/ComparisonTransformation.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAGrC,OAAO,YAAY,MAAM,2CAA2C,CAAC;
|
1
|
+
{"version":3,"file":"ComparisonTransformation.js","sourceRoot":"","sources":["../../../../../src/charts/headline/internal/transformations/ComparisonTransformation.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAGrC,OAAO,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,6BAA6B,EAAE,MAAM,2CAA2C,CAAC;AAE1F,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAE3E,MAAM,CAAC,MAAM,wBAAwB,GAA2C,CAAC,EAC7E,QAAQ,EACR,cAAc,EACd,MAAM,EACN,aAAa,EACb,OAAO,GACV,EAAE,EAAE;IACD,MAAM,kBAAkB,GAAiB,MAAM,EAAE,UAAU;QACvD,CAAC,CAAC,MAAM;QACR,CAAC,CAAC;YACI,GAAG,MAAM;YACT,UAAU,EAAE,yBAAyB;SACxC,CAAC;IAER,MAAM,EAAE,UAAU,EAAE,GAAG,kBAAkB,CAAC;IAE1C,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,MAAM,EAAE,qBAAqB,EAAE,GAAG,iBAAiB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAEvE,MAAM,IAAI,GAAG,OAAO,CAChB,GAAG,EAAE,CAAC,6BAA6B,CAAC,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,CAAC,EAC/E,CAAC,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,CAAC,CAC/C,CAAC;IAEF,OAAO,CACH,oBAAC,YAAY,IACT,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,kBAAkB,EAC1B,OAAO,EAAE,qBAAqB,EAC9B,aAAa,EAAE,aAAa,GAC9B,CACL,CAAC;AACN,CAAC,CAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"LegacyHeadlineTransformation.d.ts","sourceRoot":"","sources":["../../../../../src/charts/headline/internal/transformations/LegacyHeadlineTransformation.tsx"],"names":[],"mappings":"AACA,OAAO,
|
1
|
+
{"version":3,"file":"LegacyHeadlineTransformation.d.ts","sourceRoot":"","sources":["../../../../../src/charts/headline/internal/transformations/LegacyHeadlineTransformation.tsx"],"names":[],"mappings":"AACA,OAAO,KAAsB,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAE,qBAAqB,EAAc,MAAM,YAAY,CAAC;AAS/D,OAAO,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;;;;AA4CzE,wBAAwD"}
|
@@ -1,5 +1,5 @@
|
|
1
|
-
// (C) 2007-
|
2
|
-
import React from "react";
|
1
|
+
// (C) 2007-2025 GoodData Corporation
|
2
|
+
import React, { useCallback } from "react";
|
3
3
|
import { injectIntl } from "react-intl";
|
4
4
|
import { convertDrillableItemsToPredicates, fireDrillEvent } from "@gooddata/sdk-ui";
|
5
5
|
import LegacyHeadline from "../headlines/LegacyHeadline.js";
|
@@ -10,35 +10,23 @@ import noop from "lodash/noop.js";
|
|
10
10
|
* React component that this components wraps. It also handles the propagation of the drillable items to the component
|
11
11
|
* and drill events out of it.
|
12
12
|
*/
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
};
|
19
|
-
constructor(props) {
|
20
|
-
super(props);
|
21
|
-
this.handleFiredDrillEvent = this.handleFiredDrillEvent.bind(this);
|
22
|
-
}
|
23
|
-
render() {
|
24
|
-
const { intl, drillableItems, dataView, config, onAfterRender } = this.props;
|
25
|
-
const data = getHeadlineData(dataView, intl);
|
26
|
-
const drillablePredicates = convertDrillableItemsToPredicates(drillableItems);
|
27
|
-
const dataWithUpdatedDrilling = applyDrillableItems(data, drillablePredicates, dataView);
|
28
|
-
const disableDrillUnderline = this.getDisableDrillUnderlineFromConfig();
|
29
|
-
return (React.createElement(LegacyHeadline, { data: dataWithUpdatedDrilling, config: config, onDrill: this.handleFiredDrillEvent, onAfterRender: onAfterRender, disableDrillUnderline: disableDrillUnderline }));
|
30
|
-
}
|
31
|
-
getDisableDrillUnderlineFromConfig() {
|
32
|
-
if (this.props.config) {
|
33
|
-
return this.props.config.disableDrillUnderline;
|
13
|
+
function LegacyHeadlineTransformation(props) {
|
14
|
+
const { intl, drillableItems = [], dataView, config, onAfterRender = noop, onDrill = () => true } = props;
|
15
|
+
const getDisableDrillUnderlineFromConfig = useCallback(() => {
|
16
|
+
if (config) {
|
17
|
+
return config.disableDrillUnderline;
|
34
18
|
}
|
35
19
|
return undefined;
|
36
|
-
}
|
37
|
-
handleFiredDrillEvent(item, target) {
|
38
|
-
const { onDrill, dataView } = this.props;
|
20
|
+
}, [config]);
|
21
|
+
const handleFiredDrillEvent = useCallback((item, target) => {
|
39
22
|
const drillEventData = buildDrillEventData(item, dataView);
|
40
23
|
fireDrillEvent(onDrill, drillEventData, target);
|
41
|
-
}
|
24
|
+
}, [dataView, onDrill]);
|
25
|
+
const data = getHeadlineData(dataView, intl);
|
26
|
+
const drillablePredicates = convertDrillableItemsToPredicates(drillableItems);
|
27
|
+
const dataWithUpdatedDrilling = applyDrillableItems(data, drillablePredicates, dataView);
|
28
|
+
const disableDrillUnderline = getDisableDrillUnderlineFromConfig();
|
29
|
+
return (React.createElement(LegacyHeadline, { data: dataWithUpdatedDrilling, config: config, onDrill: handleFiredDrillEvent, onAfterRender: onAfterRender, disableDrillUnderline: disableDrillUnderline }));
|
42
30
|
}
|
43
31
|
export default injectIntl(LegacyHeadlineTransformation);
|
44
32
|
//# sourceMappingURL=LegacyHeadlineTransformation.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"LegacyHeadlineTransformation.js","sourceRoot":"","sources":["../../../../../src/charts/headline/internal/transformations/LegacyHeadlineTransformation.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,KAAK,MAAM,OAAO,CAAC;
|
1
|
+
{"version":3,"file":"LegacyHeadlineTransformation.js","sourceRoot":"","sources":["../../../../../src/charts/headline/internal/transformations/LegacyHeadlineTransformation.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAyB,UAAU,EAAE,MAAM,YAAY,CAAC;AAC/D,OAAO,EAAE,iCAAiC,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACrF,OAAO,cAAc,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EACH,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,GAClB,MAAM,yCAAyC,CAAC;AACjD,OAAO,IAAI,MAAM,gBAAgB,CAAC;AAIlC;;;;GAIG;AACH,SAAS,4BAA4B,CAAC,KAA2D;IAC7F,MAAM,EAAE,IAAI,EAAE,cAAc,GAAG,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI,EAAE,OAAO,GAAG,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC;IAE1G,MAAM,kCAAkC,GAAG,WAAW,CAAC,GAAG,EAAE;QACxD,IAAI,MAAM,EAAE,CAAC;YACT,OAAO,MAAM,CAAC,qBAAqB,CAAC;QACxC,CAAC;QAED,OAAO,SAAS,CAAC;IACrB,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,MAAM,qBAAqB,GAAG,WAAW,CACrC,CAAC,IAAyC,EAAE,MAAmB,EAAE,EAAE;QAC/D,MAAM,cAAc,GAAG,mBAAmB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAE3D,cAAc,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;IACpD,CAAC,EACD,CAAC,QAAQ,EAAE,OAAO,CAAC,CACtB,CAAC;IAEF,MAAM,IAAI,GAAG,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC7C,MAAM,mBAAmB,GAAG,iCAAiC,CAAC,cAAc,CAAC,CAAC;IAC9E,MAAM,uBAAuB,GAAG,mBAAmB,CAAC,IAAI,EAAE,mBAAmB,EAAE,QAAQ,CAAC,CAAC;IACzF,MAAM,qBAAqB,GAAG,kCAAkC,EAAE,CAAC;IAEnE,OAAO,CACH,oBAAC,cAAc,IACX,IAAI,EAAE,uBAAuB,EAC7B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,qBAAqB,EAC9B,aAAa,EAAE,aAAa,EAC5B,qBAAqB,EAAE,qBAAqB,GAC9C,CACL,CAAC;AACN,CAAC;AAED,eAAe,UAAU,CAAC,4BAA4B,CAAC,CAAC"}
|
@@ -5,6 +5,5 @@ import { IHeadlineTransformationProps } from "../../HeadlineProvider.js";
|
|
5
5
|
* React component that this components wraps. It also handles the propagation of the drillable items to the component
|
6
6
|
* and drill events out of it.
|
7
7
|
*/
|
8
|
-
declare const MultiMeasuresTransformation: React.FC<IHeadlineTransformationProps>;
|
9
|
-
export default MultiMeasuresTransformation;
|
8
|
+
export declare const MultiMeasuresTransformation: React.FC<IHeadlineTransformationProps>;
|
10
9
|
//# sourceMappingURL=MultiMeasuresTransformation.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"MultiMeasuresTransformation.d.ts","sourceRoot":"","sources":["../../../../../src/charts/headline/internal/transformations/MultiMeasuresTransformation.tsx"],"names":[],"mappings":"AACA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAGvC,OAAO,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AAGzE;;;;GAIG;AACH,
|
1
|
+
{"version":3,"file":"MultiMeasuresTransformation.d.ts","sourceRoot":"","sources":["../../../../../src/charts/headline/internal/transformations/MultiMeasuresTransformation.tsx"],"names":[],"mappings":"AACA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAGvC,OAAO,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AAGzE;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,EAAE,KAAK,CAAC,EAAE,CAAC,4BAA4B,CAmB9E,CAAC"}
|