@gooddata/sdk-ui-charts 11.62.0-alpha.0 → 11.62.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/charts/repeater/internal/InlineColumnChart.d.ts +1 -0
- package/esm/charts/repeater/internal/InlineColumnChart.d.ts.map +1 -1
- package/esm/charts/repeater/internal/InlineColumnChart.js +2 -1
- package/esm/charts/repeater/internal/InlineLineChart.d.ts +1 -0
- package/esm/charts/repeater/internal/InlineLineChart.d.ts.map +1 -1
- package/esm/charts/repeater/internal/InlineLineChart.js +2 -1
- package/esm/charts/repeater/internal/RepeaterChart.d.ts.map +1 -1
- package/esm/charts/repeater/internal/RepeaterChart.js +5 -2
- package/esm/charts/repeater/internal/useInlineChartTooltipZIndex.d.ts +3 -0
- package/esm/charts/repeater/internal/useInlineChartTooltipZIndex.d.ts.map +1 -0
- package/esm/charts/repeater/internal/useInlineChartTooltipZIndex.js +7 -0
- package/esm/highcharts/ChartTransformation.d.ts.map +1 -1
- package/esm/highcharts/ChartTransformation.js +16 -1
- package/esm/highcharts/adapter/plugins/adjustTickAmount.d.ts.map +1 -1
- package/esm/highcharts/adapter/plugins/adjustTickAmount.js +3 -5
- package/esm/highcharts/adapter/plugins/autohideLabels/autohideColumnLabels.js +4 -4
- package/esm/highcharts/chartTypes/_chartCreators/customConfiguration.d.ts.map +1 -1
- package/esm/highcharts/chartTypes/_chartCreators/customConfiguration.js +20 -0
- package/esm/highcharts/chartTypes/_chartCreators/drilldownEventing.d.ts.map +1 -1
- package/esm/highcharts/chartTypes/_chartCreators/drilldownEventing.js +3 -9
- package/esm/highcharts/chartTypes/_chartCreators/getLineShapeConfiguration.d.ts +4 -0
- package/esm/highcharts/chartTypes/_chartCreators/getLineShapeConfiguration.d.ts.map +1 -0
- package/esm/highcharts/chartTypes/_chartCreators/getLineShapeConfiguration.js +30 -0
- package/esm/highcharts/chartTypes/_util/common.d.ts +3 -1
- package/esm/highcharts/chartTypes/_util/common.d.ts.map +1 -1
- package/esm/highcharts/chartTypes/_util/common.js +17 -2
- package/esm/highcharts/chartTypes/areaChart/areaConfiguration.d.ts.map +1 -1
- package/esm/highcharts/chartTypes/areaChart/areaConfiguration.js +1 -3
- package/esm/highcharts/chartTypes/comboChart/comboConfiguration.d.ts.map +1 -1
- package/esm/highcharts/chartTypes/comboChart/comboConfiguration.js +47 -35
- package/esm/highcharts/lib/index.d.ts +1 -0
- package/esm/highcharts/lib/index.d.ts.map +1 -1
- package/esm/highcharts/tooltipZIndex.d.ts +23 -0
- package/esm/highcharts/tooltipZIndex.d.ts.map +1 -0
- package/esm/highcharts/tooltipZIndex.js +23 -0
- package/esm/highcharts/typings/unsafe.d.ts +2 -2
- package/esm/highcharts/typings/unsafe.d.ts.map +1 -1
- package/esm/index.d.ts +2 -1
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +1 -0
- package/esm/interfaces/chartConfig.d.ts +25 -1
- package/esm/interfaces/chartConfig.d.ts.map +1 -1
- package/esm/sdk-ui-charts.d.ts +51 -1
- package/package.json +13 -13
- package/styles/css/charts.css +0 -4
- package/styles/css/charts.css.map +1 -1
- package/styles/css/main.css +2 -5
- package/styles/css/main.css.map +1 -1
- package/styles/css/tooltip.css +0 -4
- package/styles/css/tooltip.css.map +1 -1
- package/styles/scss/tooltip.scss +0 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InlineColumnChart.d.ts","sourceRoot":"","sources":["../../../../src/charts/repeater/internal/InlineColumnChart.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAItE,OAAO,EAAE,KAAK,oCAAoC,EAAE,MAAM,6BAA6B,CAAC;AAGxF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,yBAAyB,2CAGjE;AAED,UAAU,yBAAyB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,oCAAoC,EAAE,CAAC;IAC7C,WAAW,EAAE,0BAA0B,EAAE,CAAC;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"InlineColumnChart.d.ts","sourceRoot":"","sources":["../../../../src/charts/repeater/internal/InlineColumnChart.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAItE,OAAO,EAAE,KAAK,oCAAoC,EAAE,MAAM,6BAA6B,CAAC;AAGxF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,yBAAyB,2CAGjE;AAED,UAAU,yBAAyB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,oCAAoC,EAAE,CAAC;IAC7C,WAAW,EAAE,0BAA0B,EAAE,CAAC;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;CACzB"}
|
|
@@ -7,7 +7,7 @@ export function InlineColumnChart(props) {
|
|
|
7
7
|
const options = createOptions(props);
|
|
8
8
|
return _jsx(HighchartsReact, { options: options, highcharts: Highcharts });
|
|
9
9
|
}
|
|
10
|
-
function createOptions({ height, data, headerItems, metricTitle, sliceTitle, color, }) {
|
|
10
|
+
function createOptions({ height, data, headerItems, metricTitle, sliceTitle, color, tooltipZIndex, }) {
|
|
11
11
|
return {
|
|
12
12
|
credits: {
|
|
13
13
|
enabled: false,
|
|
@@ -40,6 +40,7 @@ function createOptions({ height, data, headerItems, metricTitle, sliceTitle, col
|
|
|
40
40
|
shared: true,
|
|
41
41
|
outside: true,
|
|
42
42
|
useHTML: true,
|
|
43
|
+
style: { zIndex: tooltipZIndex },
|
|
43
44
|
formatter: function () {
|
|
44
45
|
const sliceValue = headerItems[this.x]?.name;
|
|
45
46
|
const metricValue = data[this.x]?.formattedValue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InlineLineChart.d.ts","sourceRoot":"","sources":["../../../../src/charts/repeater/internal/InlineLineChart.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAItE,OAAO,EAAE,KAAK,oCAAoC,EAAE,MAAM,6BAA6B,CAAC;AAGxF,wBAAgB,eAAe,CAAC,KAAK,EAAE,uBAAuB,2CAG7D;AAED,UAAU,uBAAuB;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,oCAAoC,EAAE,CAAC;IAC7C,WAAW,EAAE,0BAA0B,EAAE,CAAC;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"InlineLineChart.d.ts","sourceRoot":"","sources":["../../../../src/charts/repeater/internal/InlineLineChart.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAItE,OAAO,EAAE,KAAK,oCAAoC,EAAE,MAAM,6BAA6B,CAAC;AAGxF,wBAAgB,eAAe,CAAC,KAAK,EAAE,uBAAuB,2CAG7D;AAED,UAAU,uBAAuB;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,oCAAoC,EAAE,CAAC;IAC7C,WAAW,EAAE,0BAA0B,EAAE,CAAC;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;CACzB"}
|
|
@@ -7,7 +7,7 @@ export function InlineLineChart(props) {
|
|
|
7
7
|
const options = createOptions(props);
|
|
8
8
|
return _jsx(HighchartsReact, { options: options, highcharts: Highcharts });
|
|
9
9
|
}
|
|
10
|
-
function createOptions({ height, data, headerItems, metricTitle, sliceTitle, color, }) {
|
|
10
|
+
function createOptions({ height, data, headerItems, metricTitle, sliceTitle, color, tooltipZIndex, }) {
|
|
11
11
|
return {
|
|
12
12
|
accessibility: {
|
|
13
13
|
enabled: false,
|
|
@@ -40,6 +40,7 @@ function createOptions({ height, data, headerItems, metricTitle, sliceTitle, col
|
|
|
40
40
|
shared: true,
|
|
41
41
|
outside: true,
|
|
42
42
|
useHTML: true,
|
|
43
|
+
style: { zIndex: tooltipZIndex },
|
|
43
44
|
formatter: function () {
|
|
44
45
|
const sliceValue = headerItems[this.x]?.name;
|
|
45
46
|
const metricValue = data[this.x]?.formattedValue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RepeaterChart.d.ts","sourceRoot":"","sources":["../../../../src/charts/repeater/internal/RepeaterChart.tsx"],"names":[],"mappings":"AA4CA,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"RepeaterChart.d.ts","sourceRoot":"","sources":["../../../../src/charts/repeater/internal/RepeaterChart.tsx"],"names":[],"mappings":"AA4CA,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAgB7D,wBAAgB,aAAa,CAAC,KAAK,EAAE,mBAAmB,2CAmLvD"}
|
|
@@ -17,6 +17,7 @@ import { MANUALLY_SIZED_MIN_WIDTH, useResizing } from "../hooks/useResizing.js";
|
|
|
17
17
|
import { InlineColumnChart } from "./InlineColumnChart.js";
|
|
18
18
|
import { InlineLineChart } from "./InlineLineChart.js";
|
|
19
19
|
import { AgGridDatasource } from "./repeaterAgGridDataSource.js";
|
|
20
|
+
import { useInlineChartTooltipZIndex } from "./useInlineChartTooltipZIndex.js";
|
|
20
21
|
// Register all Community features
|
|
21
22
|
ModuleRegistry.registerModules([AllCommunityModule]);
|
|
22
23
|
// Mark all grids as using legacy themes
|
|
@@ -106,6 +107,7 @@ export function RepeaterChart(props) {
|
|
|
106
107
|
config?.inlineVisualizations,
|
|
107
108
|
config?.colorMapping,
|
|
108
109
|
config?.colorPalette,
|
|
110
|
+
config?.tooltip?.zIndex,
|
|
109
111
|
]);
|
|
110
112
|
const { onColumnResized, onGridReady: onResizingGridReady, onGridSizeChanged, containerRef, } = useResizing(columnDefs, items, props);
|
|
111
113
|
const { onCellClicked, onCellKeyDown, onGridReady: onDrillingGridReady, } = useDrilling(columnDefs, items, props);
|
|
@@ -147,14 +149,15 @@ function MeasureCellRenderer({ measureColumnData, isLoading, }) {
|
|
|
147
149
|
const visualizationType = getInlineVisualizationType(measureLocalId, config);
|
|
148
150
|
const theme = useTheme();
|
|
149
151
|
const color = theme?.table?.loadingIconColor ?? theme?.palette?.complementary?.c6 ?? undefined;
|
|
152
|
+
const tooltipZIndex = useInlineChartTooltipZIndex(config);
|
|
150
153
|
if (isLoading) {
|
|
151
154
|
return _jsx(LoadingComponent, { color: color, width: 36, imageHeight: 8, height: rowHeight, speed: 2 });
|
|
152
155
|
}
|
|
153
156
|
if (visualizationType === "line") {
|
|
154
|
-
return (_jsx(InlineLineChart, { metricTitle: measureTitle, sliceTitle: viewByAttributeTitle, data: measureDataPoints, color: measureColumnData.measureColor, headerItems: viewByAttributeHeaderItems, height: rowHeight }));
|
|
157
|
+
return (_jsx(InlineLineChart, { metricTitle: measureTitle, sliceTitle: viewByAttributeTitle, data: measureDataPoints, color: measureColumnData.measureColor, headerItems: viewByAttributeHeaderItems, height: rowHeight, tooltipZIndex: tooltipZIndex }));
|
|
155
158
|
}
|
|
156
159
|
else if (visualizationType === "column") {
|
|
157
|
-
return (_jsx(InlineColumnChart, { metricTitle: measureTitle, sliceTitle: viewByAttributeTitle, data: measureDataPoints, color: measureColumnData.measureColor, headerItems: viewByAttributeHeaderItems, height: rowHeight }));
|
|
160
|
+
return (_jsx(InlineColumnChart, { metricTitle: measureTitle, sliceTitle: viewByAttributeTitle, data: measureDataPoints, color: measureColumnData.measureColor, headerItems: viewByAttributeHeaderItems, height: rowHeight, tooltipZIndex: tooltipZIndex }));
|
|
158
161
|
}
|
|
159
162
|
const verticalAlign = getVerticalAlign(config);
|
|
160
163
|
const textWrapping = getTextWrapping(config);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useInlineChartTooltipZIndex.d.ts","sourceRoot":"","sources":["../../../../src/charts/repeater/internal/useInlineChartTooltipZIndex.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAEvE,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,YAAY,GAAG,SAAS,GAAG,MAAM,CAGpF"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
// (C) 2026 GoodData Corporation
|
|
2
|
+
import { useContainingOverlayZIndex } from "@gooddata/sdk-ui-kit";
|
|
3
|
+
import { resolveTooltipZIndex } from "../../../highcharts/tooltipZIndex.js";
|
|
4
|
+
export function useInlineChartTooltipZIndex(config) {
|
|
5
|
+
const containingOverlayZIndex = useContainingOverlayZIndex();
|
|
6
|
+
return resolveTooltipZIndex({ configZIndex: config?.tooltip?.zIndex, containingOverlayZIndex });
|
|
7
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChartTransformation.d.ts","sourceRoot":"","sources":["../../src/highcharts/ChartTransformation.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,YAAY,EAAoC,MAAM,OAAO,CAAC;AAQ5E,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAEH,KAAK,aAAa,EAClB,KAAK,iBAAiB,EAMzB,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"ChartTransformation.d.ts","sourceRoot":"","sources":["../../src/highcharts/ChartTransformation.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,YAAY,EAAoC,MAAM,OAAO,CAAC;AAQ5E,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAEH,KAAK,aAAa,EAClB,KAAK,iBAAiB,EAMzB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAuB,KAAK,iBAAiB,EAAoB,MAAM,8BAA8B,CAAC;AAE7G,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAIjE,OAAO,EAEH,KAAK,wBAAwB,EAGhC,MAAM,iCAAiC,CAAC;AAgBzC,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,wBAAwB,GAAG,YAAY,CAM9E;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,YAAY,CAAC;IACrB,cAAc,EAAE,aAAa,EAAE,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC;IAEf,QAAQ,EAAE,SAAS,CAAC;IAEpB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,aAAa,EAAE,aAAa,CAAC;IAE7B,WAAW,IAAI,IAAI,CAAC;IACpB,cAAc,CAAC,YAAY,EAAE,GAAG,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/D,gBAAgB,EAAE,CAAC,CAAC,YAAY,EAAE,GAAG,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IAEvD,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI,CAAC;IAC3B,QAAQ,CAAC,CAAC,GAAG,EAAE,wBAAwB,GAAG,YAAY,CAAC;IAEvD,gBAAgB,CAAC,EAAE,iBAAiB,CAAC;CACxC;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB,kRAkBzB,yBAAyB,uFAiK/B,CAAC"}
|
|
@@ -6,6 +6,7 @@ import { isEqual, omitBy } from "lodash-es";
|
|
|
6
6
|
import { useIntl } from "react-intl";
|
|
7
7
|
import { invariant } from "ts-invariant";
|
|
8
8
|
import { DataViewFacade, anomaliesTitleFromIntl, clusterTitleFromIntl, convertDrillableItemsToPredicates, emptyHeaderTitleFromIntl, totalColumnTitleFromIntl, } from "@gooddata/sdk-ui";
|
|
9
|
+
import { useContainingOverlayZIndex } from "@gooddata/sdk-ui-kit";
|
|
9
10
|
import { useReferenceTheme, useTheme } from "@gooddata/sdk-ui-theme-provider";
|
|
10
11
|
import { useTooltipLookup } from "@gooddata/sdk-ui-vis-commons";
|
|
11
12
|
import { initChartPlugins } from "./adapter/chartPlugins.js";
|
|
@@ -19,6 +20,7 @@ import { getDataTooLargeErrorMessage, getIsFilteringRecommended, validateData, }
|
|
|
19
20
|
import { getChartOptions } from "./chartTypes/_chartOptions/chartOptionsBuilder.js";
|
|
20
21
|
import { isChartSupported, stringifyChartTypes } from "./chartTypes/_util/common.js";
|
|
21
22
|
import { getMekkoEffectiveConfig } from "./chartTypes/mekko/mekkoChartOptions.js";
|
|
23
|
+
import { resolveTooltipZIndex } from "./tooltipZIndex.js";
|
|
22
24
|
export function renderHighCharts(props) {
|
|
23
25
|
const childrenRenderer = (contentRect) => (_jsx(HighChartsRenderer, { contentRect: contentRect, ...props }));
|
|
24
26
|
return _jsx(HighChartsMeasuredRenderer, { childrenRenderer: childrenRenderer });
|
|
@@ -31,8 +33,21 @@ export const ChartTransformation = memo(function ChartTransformation({ config: c
|
|
|
31
33
|
const theme = useTheme();
|
|
32
34
|
const referenceThemeFromContext = useReferenceTheme();
|
|
33
35
|
const referenceTheme = referenceThemeProp ?? referenceThemeFromContext;
|
|
36
|
+
const containingOverlayZIndex = useContainingOverlayZIndex();
|
|
34
37
|
// mekko stacking is bucket-driven — sanitize stackMeasures* once for every config consumer below
|
|
35
|
-
const config = useMemo(() =>
|
|
38
|
+
const config = useMemo(() => {
|
|
39
|
+
const effectiveConfig = getMekkoEffectiveConfig(configProp, DataViewFacade.for(dataView));
|
|
40
|
+
return {
|
|
41
|
+
...effectiveConfig,
|
|
42
|
+
tooltip: {
|
|
43
|
+
...effectiveConfig.tooltip,
|
|
44
|
+
zIndex: resolveTooltipZIndex({
|
|
45
|
+
configZIndex: effectiveConfig.tooltip?.zIndex,
|
|
46
|
+
containingOverlayZIndex,
|
|
47
|
+
}),
|
|
48
|
+
},
|
|
49
|
+
};
|
|
50
|
+
}, [configProp, dataView, containingOverlayZIndex]);
|
|
36
51
|
const visType = config.type;
|
|
37
52
|
const drillablePredicates = convertDrillableItemsToPredicates(drillableItems);
|
|
38
53
|
// `undefined` until the first result lands (treated as "no external values").
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adjustTickAmount.d.ts","sourceRoot":"","sources":["../../../../src/highcharts/adapter/plugins/adjustTickAmount.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"adjustTickAmount.d.ts","sourceRoot":"","sources":["../../../../src/highcharts/adapter/plugins/adjustTickAmount.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,KAAK,IAAI,EAA4B,MAAM,oBAAoB,CAAC;AAQzE,eAAO,MAAM,OAAO,IAAI,CAAC;AACzB,eAAO,MAAM,cAAc,KAAK,CAAC;AACjC,eAAO,MAAM,eAAe,IAAI,CAAC;AAEjC,eAAO,MAAM,YAAY;IACrB,OAAO;IACP,8BAA8B;IAC9B,0BAA0B;CAC7B,CAAC;AAuBF;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,GAAG,MAAM,CA8B3E;AAcD;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAgC5C;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,EAAE,CAqBtD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAchD;AAsBD,wBAAgB,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,GAAG,IAAI,CAuBlE;AAeD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAYlD;AAqBD;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI,CAgCtD;AAeD;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAO/D;AAED,eAAO,MAAM,gBAAgB,uBAAwB,GAAG,KAAG,IAmB1D,CAAC"}
|
|
@@ -14,7 +14,8 @@
|
|
|
14
14
|
* - opposite
|
|
15
15
|
*/
|
|
16
16
|
import Highcharts from "highcharts/esm/highcharts.js";
|
|
17
|
-
import {
|
|
17
|
+
import { VisualizationTypes } from "@gooddata/sdk-ui";
|
|
18
|
+
import { convertToChartType, isLineChart } from "../../chartTypes/_util/common.js";
|
|
18
19
|
export const ALIGNED = 0;
|
|
19
20
|
export const MOVE_ZERO_LEFT = -1;
|
|
20
21
|
export const MOVE_ZERO_RIGHT = 1;
|
|
@@ -262,10 +263,7 @@ function isAxisWithLineChartType(axis) {
|
|
|
262
263
|
if (isLineChart(axis?.chart?.userOptions?.chart?.type)) {
|
|
263
264
|
return true;
|
|
264
265
|
}
|
|
265
|
-
|
|
266
|
-
return series.reduce((result, item) => {
|
|
267
|
-
return isLineChart(item.type) ? true : result;
|
|
268
|
-
}, false);
|
|
266
|
+
return axis.series.some(({ type }) => convertToChartType(type) === VisualizationTypes.LINE);
|
|
269
267
|
}
|
|
270
268
|
function isSingleAxisChart(axis) {
|
|
271
269
|
const yAxes = getYAxes(axis.chart);
|
|
@@ -3,7 +3,7 @@ import { isEmpty, zip } from "lodash-es";
|
|
|
3
3
|
import { VisualizationTypes } from "@gooddata/sdk-ui";
|
|
4
4
|
import { areLabelsStacked, getDataLabelAttributes, getShapeVisiblePart, hasDataLabel, hasLabelInside, hasShape, hideDataLabel, hideDataLabels, setStackVisibilityByOpacity, showDataLabelInAxisRange, showStackLabelInAxisRange, } from "../../../chartTypes/_chartCreators/dataLabelsHelpers.js";
|
|
5
5
|
import { getAxisRangeForAxes, getAxisWithCategories, getDataPointsOfVisibleSeries, getPointsVisibleInAxisRange, getShapeAttributes, isIntersecting, isPointVisibleInAxisRange, isStacked, toNeighbors, } from "../../../chartTypes/_chartCreators/helpers.js";
|
|
6
|
-
import { isWaterfall } from "../../../chartTypes/_util/common.js";
|
|
6
|
+
import { convertToChartType, isWaterfall } from "../../../chartTypes/_util/common.js";
|
|
7
7
|
/*
|
|
8
8
|
* Code in this file accesses Highchart properties that are not included in
|
|
9
9
|
* the official typings:
|
|
@@ -121,13 +121,13 @@ export function areLabelsOverlappingColumns(labels, visiblePoints, chartType) {
|
|
|
121
121
|
height,
|
|
122
122
|
};
|
|
123
123
|
return visiblePoints.some((point) => {
|
|
124
|
-
const
|
|
124
|
+
const convertedSeriesType = convertToChartType(point?.series?.options?.type);
|
|
125
125
|
if (isEmpty(point) ||
|
|
126
126
|
isEmpty(point.graphic) ||
|
|
127
127
|
// supportedDualAxesChartTypes is including AREA and LINE
|
|
128
128
|
// won't hide the stacked label if it overlaps with points of AREA and LINE
|
|
129
|
-
|
|
130
|
-
|
|
129
|
+
convertedSeriesType === VisualizationTypes.AREA ||
|
|
130
|
+
convertedSeriesType === VisualizationTypes.LINE ||
|
|
131
131
|
(chartType === VisualizationTypes.BAR && labelAttr.width === 0)) {
|
|
132
132
|
return false;
|
|
133
133
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"customConfiguration.d.ts","sourceRoot":"","sources":["../../../../src/highcharts/chartTypes/_chartCreators/customConfiguration.ts"],"names":[],"mappings":"AAYA,OAAO,EAAoB,KAAK,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAEzF,OAAO,EACH,KAAK,mCAAmC,EACxC,KAAK,iBAAiB,EAMzB,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"customConfiguration.d.ts","sourceRoot":"","sources":["../../../../src/highcharts/chartTypes/_chartCreators/customConfiguration.ts"],"names":[],"mappings":"AAYA,OAAO,EAAoB,KAAK,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAEzF,OAAO,EACH,KAAK,mCAAmC,EACxC,KAAK,iBAAiB,EAMzB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAEH,KAAK,aAAa,EAClB,KAAK,iBAAiB,EAMtB,KAAK,mCAAmC,EAC3C,MAAM,yBAAyB,CAAC;AAqDjC,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AA0D/E,eAAO,MAAM,eAAe,KAAK,CAAC;AAClC,eAAO,MAAM,2BAA2B,KAAK,CAAC;AA2D9C,wBAAgB,mCAAmC,CAC/C,IAAI,EAAE,UAAU,CAAC,gCAAgC,EACjD,QAAQ,EAAE,GAAG,GACd,MAAM,CAkBR;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,UAAU,CAAC,gCAAgC,GAAG,MAAM,CAiB3F;AAoFD,wBAAgB,kCAAkC,CAC9C,IAAI,EAAE,UAAU,CAAC,OAAO,EACxB,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,mCAAmC,GAC3C;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAmB1B;AA8CD,wBAAgB,4BAA4B,CACxC,IAAI,EAAE,UAAU,CAAC,OAAO,EACxB,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,mCAAmC,GAC3C;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CA2B1B;AA+JD,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,YAAY,iBAa5E;AAED,wBAAgB,kCAAkC,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,MAAM,CAO3F;AA6hBD,wBAAgB,gBAAgB,CAC5B,cAAc,EAAE,iBAAiB,CAAC,YAAY,CAAC,GAChD,iBAAiB,CAAC,YAAY,CAAC,CAajC;AA6ND,wBAAgB,oBAAoB,CAChC,YAAY,EAAE,aAAa,EAC3B,aAAa,EAAE,MAAM,aAAa,EAClC,6BAA6B,EAAE,OAAO,GACvC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CActB;AA+DD,eAAO,MAAM,oBAAoB,iBACf,aAAa,gBACb,YAAY,GAAG,YAAY,GAAG,sBAAsB,GAAG,sBAAsB,eAC9E,YAAY,cACb,MAAM,GAAG,SAAS,KAC/B;IAAE,SAAS,CAAC,EAAE,mCAAmC,CAAA;CAWnD,CAAC;AAwUF,wBAAgB,0BAA0B,CAAC,EACvC,YAAY,EACZ,WAAW,EACX,WAAW,EACX,IAAI,EACJ,KAAK,GACR,EAAE,yBAAyB,GAAG,iBAAiB,CA2C/C"}
|
|
@@ -6,6 +6,7 @@ import { isMeasureFormatInPercent } from "@gooddata/sdk-model";
|
|
|
6
6
|
import { VisualizationTypes } from "@gooddata/sdk-ui";
|
|
7
7
|
import { buildTooltipLocalizedStrings, getLighterColor, isPatternObject } from "@gooddata/sdk-ui-vis-commons";
|
|
8
8
|
import { getBlackLabelStyle } from "../../constants/label.js";
|
|
9
|
+
import { DEFAULT_TOOLTIP_Z_INDEX } from "../../tooltipZIndex.js";
|
|
9
10
|
import { isHighContrastMode } from "../../utils/highContrastMode.js";
|
|
10
11
|
import { supportedDualAxesChartTypes, supportedTooltipFollowPointerChartTypes, } from "../_chartOptions/chartCapabilities.js";
|
|
11
12
|
import { AXIS_LINE_COLOR } from "../_util/color.js";
|
|
@@ -19,6 +20,7 @@ import { getAxisNameConfiguration } from "./getAxisNameConfiguration.js";
|
|
|
19
20
|
import { getChartHighlightingConfiguration } from "./getChartHighlightingConfiguration.js";
|
|
20
21
|
import { getChartOrientationConfiguration } from "./getChartOrientationConfiguration.js";
|
|
21
22
|
import { getContinuousLineConfiguration } from "./getContinuousLineConfiguration.js";
|
|
23
|
+
import { getLineShapeConfiguration } from "./getLineShapeConfiguration.js";
|
|
22
24
|
import { getOptionalStackingConfiguration } from "./getOptionalStackingConfiguration.js";
|
|
23
25
|
import { getWaterfallXAxisConfiguration } from "./getWaterfallXAxisConfiguration.js";
|
|
24
26
|
import { getZeroAlignConfiguration } from "./getZeroAlignConfiguration.js";
|
|
@@ -446,6 +448,7 @@ function getTooltipConfiguration({ chartOptions, chartConfig, intl, }) {
|
|
|
446
448
|
formatter: partial(formatTooltip, tooltipAction, chartConfig, chartOptions.customTooltipRuntime, intl),
|
|
447
449
|
enabled: chartConfig?.tooltip?.enabled ?? true,
|
|
448
450
|
className: chartConfig?.tooltip?.className,
|
|
451
|
+
style: { zIndex: chartConfig?.tooltip?.zIndex ?? DEFAULT_TOOLTIP_Z_INDEX },
|
|
449
452
|
stickOnContact: chartConfig?.enableAccessibleTooltip ?? false,
|
|
450
453
|
...followPointer,
|
|
451
454
|
},
|
|
@@ -635,12 +638,21 @@ function getDataLabelsConfiguration({ chartOptions, chartConfig, theme, }) {
|
|
|
635
638
|
line: {
|
|
636
639
|
dataLabels: DEFAULT_LABELS_CONFIG,
|
|
637
640
|
},
|
|
641
|
+
spline: {
|
|
642
|
+
dataLabels: DEFAULT_LABELS_CONFIG,
|
|
643
|
+
},
|
|
638
644
|
area: {
|
|
639
645
|
dataLabels: {
|
|
640
646
|
...DEFAULT_LABELS_CONFIG,
|
|
641
647
|
formatter: partial(dataLabelFormatter, chartConfig),
|
|
642
648
|
},
|
|
643
649
|
},
|
|
650
|
+
areaspline: {
|
|
651
|
+
dataLabels: {
|
|
652
|
+
...DEFAULT_LABELS_CONFIG,
|
|
653
|
+
formatter: partial(dataLabelFormatter, chartConfig),
|
|
654
|
+
},
|
|
655
|
+
},
|
|
644
656
|
scatter: {
|
|
645
657
|
dataLabels: {
|
|
646
658
|
...DEFAULT_LABELS_CONFIG,
|
|
@@ -702,7 +714,9 @@ function getDataPointsConfiguration({ chartConfig }) {
|
|
|
702
714
|
return {
|
|
703
715
|
plotOptions: {
|
|
704
716
|
line: dataPointsConfig,
|
|
717
|
+
spline: dataPointsConfig,
|
|
705
718
|
area: dataPointsConfig,
|
|
719
|
+
areaspline: dataPointsConfig,
|
|
706
720
|
},
|
|
707
721
|
};
|
|
708
722
|
}
|
|
@@ -1340,6 +1354,12 @@ export function getCustomizedConfiguration({ chartOptions, chartConfig, drillCon
|
|
|
1340
1354
|
getWaterfallXAxisConfiguration,
|
|
1341
1355
|
getChartOrientationConfiguration,
|
|
1342
1356
|
getChartHighlightingConfiguration,
|
|
1357
|
+
/**
|
|
1358
|
+
* This should be put after any configurator that checks upon "line", "area" or "combo" `chart.type` or series type as
|
|
1359
|
+
* this configurator rewrites `chart.type` or series type from "line" to "spline" and from "area" to "areaspline" if
|
|
1360
|
+
* line shape is set to the "spline" value.
|
|
1361
|
+
*/
|
|
1362
|
+
getLineShapeConfiguration,
|
|
1343
1363
|
];
|
|
1344
1364
|
const commonData = configurators.reduce((highchartsOptions, configurator) => {
|
|
1345
1365
|
return merge(highchartsOptions, configurator({ chartOptions, highchartsOptions, chartConfig, drillConfig, intl, theme }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drilldownEventing.d.ts","sourceRoot":"","sources":["../../../../src/highcharts/chartTypes/_chartCreators/drilldownEventing.ts"],"names":[],"mappings":"AAKA,OAAO,EACH,KAAK,gBAAgB,EACrB,KAAK,SAAS,EACd,KAAK,YAAY,EAOjB,KAAK,OAAO,EAGf,MAAM,kBAAkB,CAAC;AAK1B,OAAO,EAAE,KAAK,sBAAsB,EAA+B,MAAM,kCAAkC,CAAC;AAE5G,wBAAgB,kCAAkC,CAAC,IAAI,EAAE,OAAO,GAAG,gBAAgB,CAyBlF;
|
|
1
|
+
{"version":3,"file":"drilldownEventing.d.ts","sourceRoot":"","sources":["../../../../src/highcharts/chartTypes/_chartCreators/drilldownEventing.ts"],"names":[],"mappings":"AAKA,OAAO,EACH,KAAK,gBAAgB,EACrB,KAAK,SAAS,EACd,KAAK,YAAY,EAOjB,KAAK,OAAO,EAGf,MAAM,kBAAkB,CAAC;AAK1B,OAAO,EAAE,KAAK,sBAAsB,EAA+B,MAAM,kCAAkC,CAAC;AAE5G,wBAAgB,kCAAkC,CAAC,IAAI,EAAE,OAAO,GAAG,gBAAgB,CAyBlF;AA8JD,wBAAgB,UAAU,CACtB,WAAW,EAAE,YAAY,EACzB,KAAK,EAAE,UAAU,CAAC,oBAAoB,EACtC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,SAAS,GACrB,IAAI,CAEN;AAuCD,wBAAgB,cAAc,CAC1B,WAAW,EAAE,YAAY,EACzB,MAAM,EAAE,sBAAsB,EAAE,EAChC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,SAAS,GACrB,IAAI,CAEN"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { cloneDeep, debounce } from "lodash-es";
|
|
3
3
|
import { invariant } from "ts-invariant";
|
|
4
4
|
import { VisualizationTypes, getVisualizationType, } from "@gooddata/sdk-ui";
|
|
5
|
-
import {
|
|
5
|
+
import { convertToChartType, isBulletChart, isComboChart, isHeatmap, isTreemap } from "../_util/common.js";
|
|
6
6
|
import { isGroupHighchartsDrillEvent } from "./isGroupHighchartsDrillEvent.js";
|
|
7
7
|
export function getClickableElementNameByChartType(type) {
|
|
8
8
|
switch (type) {
|
|
@@ -42,17 +42,11 @@ function fireEvent(onDrill, data, target) {
|
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
44
|
const getElementChartType = (chartType, point) => {
|
|
45
|
-
|
|
46
|
-
// Mekko renders as a `variwide` series; map that series type back to the logical Mekko type so
|
|
47
|
-
// VisualizationType-based consumers (e.g. getClickableElementNameByChartType) recognize it.
|
|
48
|
-
if (seriesType === MEKKO_SERIES_TYPE) {
|
|
49
|
-
return VisualizationTypes.MEKKO;
|
|
50
|
-
}
|
|
51
|
-
return seriesType ?? chartType;
|
|
45
|
+
return convertToChartType(point?.series?.type) ?? chartType;
|
|
52
46
|
};
|
|
53
47
|
const getDrillPointCustomProps = (point, chartType) => {
|
|
54
48
|
if (isComboChart(chartType)) {
|
|
55
|
-
return { type: point
|
|
49
|
+
return { type: getElementChartType(chartType, point) };
|
|
56
50
|
}
|
|
57
51
|
if (isBulletChart(chartType)) {
|
|
58
52
|
return { type: point?.series?.userOptions?.bulletChartMeasureType };
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { type HighchartsOptions } from "../../lib/index.js";
|
|
2
|
+
import { type IConfiguratorContext } from "./configuratorContext.js";
|
|
3
|
+
export declare function getLineShapeConfiguration({ chartOptions: { type }, chartConfig: { lineShape }, highchartsOptions: { series }, }: IConfiguratorContext): HighchartsOptions;
|
|
4
|
+
//# sourceMappingURL=getLineShapeConfiguration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getLineShapeConfiguration.d.ts","sourceRoot":"","sources":["../../../../src/highcharts/chartTypes/_chartCreators/getLineShapeConfiguration.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,iBAAiB,EAA0B,MAAM,oBAAoB,CAAC;AAGpF,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAErE,wBAAgB,yBAAyB,CAAC,EACtC,YAAY,EAAE,EAAE,IAAI,EAAE,EACtB,WAAW,EAAE,EAAE,SAAS,EAAE,EAC1B,iBAAiB,EAAE,EAAE,MAAM,EAAE,GAChC,EAAE,oBAAoB,GAAG,iBAAiB,CA8B1C"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
// (C) 2026 GoodData Corporation
|
|
2
|
+
import { isAreaChart, isComboChart, isLineChart } from "../_util/common.js";
|
|
3
|
+
export function getLineShapeConfiguration({ chartOptions: { type }, chartConfig: { lineShape }, highchartsOptions: { series }, }) {
|
|
4
|
+
function isSupportedChartType(type) {
|
|
5
|
+
return isLineChart(type) || isAreaChart(type) || isComboChart(type);
|
|
6
|
+
}
|
|
7
|
+
function mapSeries(seriesItem) {
|
|
8
|
+
return seriesItem.type === "line"
|
|
9
|
+
? { ...seriesItem, type: "spline" }
|
|
10
|
+
: seriesItem.type === "area"
|
|
11
|
+
? { ...seriesItem, type: "areaspline" }
|
|
12
|
+
: seriesItem;
|
|
13
|
+
}
|
|
14
|
+
function mapForecastSeries(seriesItem) {
|
|
15
|
+
return seriesItem.type === "arearange" ? { ...seriesItem, type: "areasplinerange" } : seriesItem;
|
|
16
|
+
}
|
|
17
|
+
return {
|
|
18
|
+
...(isLineChart(type) && lineShape === "spline"
|
|
19
|
+
? {
|
|
20
|
+
chart: { type: "spline" },
|
|
21
|
+
...(series ? { series: series.map((seriesItem) => mapForecastSeries(seriesItem)) } : {}),
|
|
22
|
+
}
|
|
23
|
+
: {}),
|
|
24
|
+
...(isAreaChart(type) && lineShape === "spline" ? { chart: { type: "areaspline" } } : {}),
|
|
25
|
+
...(isSupportedChartType(type) && lineShape === "stepped"
|
|
26
|
+
? { plotOptions: { series: { step: "left" } } }
|
|
27
|
+
: {}),
|
|
28
|
+
...(isComboChart(type) && lineShape === "spline" && series ? { series: series.map(mapSeries) } : {}),
|
|
29
|
+
};
|
|
30
|
+
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { setWith } from "lodash-es";
|
|
2
2
|
import { type DataValue } from "@gooddata/sdk-model";
|
|
3
|
+
import { type ChartType } from "@gooddata/sdk-ui";
|
|
3
4
|
import { type ChartOrientationType, type IChartConfig } from "../../../interfaces/chartConfig.js";
|
|
4
5
|
import { type IChartOptions, type IChartOptionsData, type ISeriesItem } from "../../typings/unsafe.js";
|
|
5
6
|
export declare function parseValue(value: DataValue): number | null;
|
|
@@ -113,8 +114,9 @@ export declare const isSupportingJoinedAttributeAxisName: (type: string | undefi
|
|
|
113
114
|
* @internal
|
|
114
115
|
*/
|
|
115
116
|
export declare const isInvertedChartType: (type: string | undefined, orientationPosition?: ChartOrientationType) => boolean;
|
|
116
|
-
export declare const isChartSupported: (type: string | undefined) =>
|
|
117
|
+
export declare const isChartSupported: (type: string | undefined) => type is ChartType;
|
|
117
118
|
export declare const isOneOfTypes: (type: string | undefined, types: string[]) => boolean;
|
|
119
|
+
export declare function convertToChartType(seriesType: string): ChartType | null;
|
|
118
120
|
export declare const stringifyChartTypes: () => string;
|
|
119
121
|
export declare function isFlatCategories(categories: IChartOptionsData["categories"]): categories is string[];
|
|
120
122
|
export declare function isPerAxisCategories(categories: IChartOptionsData["categories"]): categories is string[][];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../src/highcharts/chartTypes/_util/common.ts"],"names":[],"mappings":"AAEA,OAAO,EAAiB,OAAO,EAAY,MAAM,WAAW,CAAC;AAG7D,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../src/highcharts/chartTypes/_util/common.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,11 @@ import { clone, escape, setWith, unescape } from "lodash-es";
|
|
|
3
3
|
import { ClientFormatterFacade } from "@gooddata/number-formatter";
|
|
4
4
|
import { VisualizationTypes } from "@gooddata/sdk-ui";
|
|
5
5
|
import { DEFAULT_DECIMAL_SEPARATOR } from "../../constants/format.js";
|
|
6
|
+
const NON_CHART_VISUALIZATION_TYPES = [
|
|
7
|
+
VisualizationTypes.TABLE,
|
|
8
|
+
VisualizationTypes.HEADLINE,
|
|
9
|
+
VisualizationTypes.XIRR,
|
|
10
|
+
];
|
|
6
11
|
export function parseValue(value) {
|
|
7
12
|
if (typeof value === "string") {
|
|
8
13
|
const parsedValue = parseFloat(value);
|
|
@@ -131,13 +136,23 @@ export const isSupportingJoinedAttributeAxisName = (type) => isBarChart(type) ||
|
|
|
131
136
|
*/
|
|
132
137
|
export const isInvertedChartType = (type, orientationPosition) => isBarChart(type) || isBulletChart(type) || (isWaterfall(type) && orientationPosition === "vertical");
|
|
133
138
|
export const isChartSupported = (type) => {
|
|
134
|
-
if (!type) {
|
|
139
|
+
if (!type || NON_CHART_VISUALIZATION_TYPES.includes(type)) {
|
|
135
140
|
return false;
|
|
136
141
|
}
|
|
137
142
|
return Object.values(VisualizationTypes).includes(type);
|
|
138
143
|
};
|
|
139
144
|
export const isOneOfTypes = (type, types) => types.includes(type ?? "");
|
|
140
|
-
export
|
|
145
|
+
export function convertToChartType(seriesType) {
|
|
146
|
+
const map = {
|
|
147
|
+
spline: VisualizationTypes.LINE,
|
|
148
|
+
areaspline: VisualizationTypes.AREA,
|
|
149
|
+
variwide: VisualizationTypes.MEKKO,
|
|
150
|
+
};
|
|
151
|
+
return map[seriesType] ?? (isChartSupported(seriesType) ? seriesType : null);
|
|
152
|
+
}
|
|
153
|
+
export const stringifyChartTypes = () => Object.values(VisualizationTypes)
|
|
154
|
+
.filter((visType) => !NON_CHART_VISUALIZATION_TYPES.includes(visType))
|
|
155
|
+
.join(", ");
|
|
141
156
|
// Automatically narrows categories type to `string[]`
|
|
142
157
|
export function isFlatCategories(categories) {
|
|
143
158
|
return Array.isArray(categories) && categories.every((category) => typeof category === "string");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"areaConfiguration.d.ts","sourceRoot":"","sources":["../../../../src/highcharts/chartTypes/areaChart/areaConfiguration.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"areaConfiguration.d.ts","sourceRoot":"","sources":["../../../../src/highcharts/chartTypes/areaChart/areaConfiguration.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,oBAAoB,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7E,OAAO,EAAE,KAAK,iBAAiB,EAA0B,MAAM,oBAAoB,CAAC;AACpF,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAK7D,wBAAgB,oBAAoB,CAChC,OAAO,EAAE,aAAa,EACtB,WAAW,EAAE,oBAAoB,EACjC,KAAK,EAAE,MAAM,GACd,iBAAiB,CA6CnB"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
// (C) 2007-2026 GoodData Corporation
|
|
1
2
|
import { styleVariables } from "../_chartCreators/styles/variables.js";
|
|
2
3
|
const LINE_WIDTH = 3;
|
|
3
4
|
export function getAreaConfiguration(_config, _definition, theme) {
|
|
@@ -23,9 +24,6 @@ export function getAreaConfiguration(_config, _definition, theme) {
|
|
|
23
24
|
type: "area",
|
|
24
25
|
},
|
|
25
26
|
plotOptions: {
|
|
26
|
-
area: {
|
|
27
|
-
lineWidth: LINE_WIDTH,
|
|
28
|
-
},
|
|
29
27
|
series,
|
|
30
28
|
column: {
|
|
31
29
|
dataLabels: {},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"comboConfiguration.d.ts","sourceRoot":"","sources":["../../../../src/highcharts/chartTypes/comboChart/comboConfiguration.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,oBAAoB,EAAE,KAAK,MAAM,EAA8B,MAAM,qBAAqB,CAAC;AAGzG,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAcvE,wBAAgB,mBAAmB,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAYrF;AAkBD,wBAAgB,qBAAqB,CACjC,MAAM,CAAC,EAAE,YAAY,EACrB,UAAU,CAAC,EAAE,oBAAoB,EACjC,KAAK,CAAC,EAAE,MAAM,GACf,GAAG,
|
|
1
|
+
{"version":3,"file":"comboConfiguration.d.ts","sourceRoot":"","sources":["../../../../src/highcharts/chartTypes/comboChart/comboConfiguration.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,oBAAoB,EAAE,KAAK,MAAM,EAA8B,MAAM,qBAAqB,CAAC;AAGzG,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAcvE,wBAAgB,mBAAmB,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAYrF;AAkBD,wBAAgB,qBAAqB,CACjC,MAAM,CAAC,EAAE,YAAY,EACrB,UAAU,CAAC,EAAE,oBAAoB,EACjC,KAAK,CAAC,EAAE,MAAM,GACf,GAAG,CAoGL"}
|
|
@@ -52,6 +52,45 @@ export function getComboConfiguration(config, definition, theme) {
|
|
|
52
52
|
borderColor: "#00000000",
|
|
53
53
|
},
|
|
54
54
|
};
|
|
55
|
+
const lineOptions = {
|
|
56
|
+
marker: {
|
|
57
|
+
symbol: "circle",
|
|
58
|
+
radius: 4.5,
|
|
59
|
+
lineColor: theme?.chart?.backgroundColor ??
|
|
60
|
+
theme?.palette?.complementary?.c0 ??
|
|
61
|
+
styleVariables.gdColorBackground,
|
|
62
|
+
},
|
|
63
|
+
lineWidth: LINE_WIDTH,
|
|
64
|
+
fillOpacity: 0.3,
|
|
65
|
+
stickyTracking: false,
|
|
66
|
+
states: {
|
|
67
|
+
hover: {
|
|
68
|
+
lineWidth: LINE_WIDTH + 1,
|
|
69
|
+
},
|
|
70
|
+
},
|
|
71
|
+
dataLabels: {
|
|
72
|
+
style: {
|
|
73
|
+
fontWeight: "normal",
|
|
74
|
+
},
|
|
75
|
+
},
|
|
76
|
+
};
|
|
77
|
+
const areaOptions = {
|
|
78
|
+
marker: {
|
|
79
|
+
symbol: "circle",
|
|
80
|
+
radius: 4.5,
|
|
81
|
+
lineColor: theme?.chart?.backgroundColor ??
|
|
82
|
+
theme?.palette?.complementary?.c0 ??
|
|
83
|
+
styleVariables.gdColorBackground,
|
|
84
|
+
},
|
|
85
|
+
lineWidth: LINE_WIDTH,
|
|
86
|
+
fillOpacity: 0.6,
|
|
87
|
+
stickyTracking: false,
|
|
88
|
+
states: {
|
|
89
|
+
hover: {
|
|
90
|
+
lineWidth: LINE_WIDTH + 1,
|
|
91
|
+
},
|
|
92
|
+
},
|
|
93
|
+
};
|
|
55
94
|
return {
|
|
56
95
|
chart: {
|
|
57
96
|
type: getDefaultChartType(config),
|
|
@@ -69,43 +108,16 @@ export function getComboConfiguration(config, definition, theme) {
|
|
|
69
108
|
borderColor: "#00000000",
|
|
70
109
|
},
|
|
71
110
|
line: {
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
theme?.palette?.complementary?.c0 ??
|
|
77
|
-
styleVariables.gdColorBackground,
|
|
78
|
-
},
|
|
79
|
-
lineWidth: LINE_WIDTH,
|
|
80
|
-
fillOpacity: 0.3,
|
|
81
|
-
stickyTracking: false,
|
|
82
|
-
states: {
|
|
83
|
-
hover: {
|
|
84
|
-
lineWidth: LINE_WIDTH + 1,
|
|
85
|
-
},
|
|
86
|
-
},
|
|
87
|
-
dataLabels: {
|
|
88
|
-
style: {
|
|
89
|
-
fontWeight: "normal",
|
|
90
|
-
},
|
|
91
|
-
},
|
|
111
|
+
...lineOptions,
|
|
112
|
+
},
|
|
113
|
+
spline: {
|
|
114
|
+
...lineOptions,
|
|
92
115
|
},
|
|
93
116
|
area: {
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
theme?.palette?.complementary?.c0 ??
|
|
99
|
-
styleVariables.gdColorBackground,
|
|
100
|
-
},
|
|
101
|
-
lineWidth: LINE_WIDTH,
|
|
102
|
-
fillOpacity: 0.6,
|
|
103
|
-
stickyTracking: false,
|
|
104
|
-
states: {
|
|
105
|
-
hover: {
|
|
106
|
-
lineWidth: LINE_WIDTH + 1,
|
|
107
|
-
},
|
|
108
|
-
},
|
|
117
|
+
...areaOptions,
|
|
118
|
+
},
|
|
119
|
+
areaspline: {
|
|
120
|
+
...areaOptions,
|
|
109
121
|
},
|
|
110
122
|
...series,
|
|
111
123
|
},
|
|
@@ -34,4 +34,5 @@ export type AxisLabelsFormatterCallbackFunction = HighchartsModules.AxisLabelsFo
|
|
|
34
34
|
export type PlotTreemapDataLabelsOptions = HighchartsModules.PlotTreemapDataLabelsOptions;
|
|
35
35
|
export type PlotTreemapOptions = HighchartsModules.PlotTreemapOptions;
|
|
36
36
|
export type SeriesOptionsType = HighchartsModules.SeriesOptionsType;
|
|
37
|
+
export type SeriesType = SeriesOptionsType["type"];
|
|
37
38
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/highcharts/lib/index.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,iBAAiB,MAAM,YAAY,CAAC;AAEhD,MAAM,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,CAAC;AAC7C,MAAM,MAAM,cAAc,GAAG,iBAAiB,CAAC,cAAc,CAAC;AAC9D,MAAM,MAAM,aAAa,GAAG,iBAAiB,CAAC,aAAa,CAAC;AAC5D,MAAM,MAAM,aAAa,GAAG,iBAAiB,CAAC,aAAa,CAAC;AAC5D,MAAM,MAAM,eAAe,GAAG,iBAAiB,CAAC,eAAe,CAAC;AAChE,MAAM,MAAM,uBAAuB,GAAG,iBAAiB,CAAC,iBAAiB,CAAC;AAC1E,MAAM,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,gBAAgB,CAAC;AAClE,MAAM,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,OAAO,CAAC;AAC1D,MAAM,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC;AAC1C,MAAM,MAAM,cAAc,GAAG,iBAAiB,CAAC,cAAc,CAAC;AAC9D,MAAM,MAAM,wBAAwB,GAAG,iBAAiB,CAAC,wBAAwB,CAAC;AAClF,MAAM,MAAM,YAAY,GAAG,iBAAiB,CAAC,YAAY,CAAC;AAC1D,MAAM,MAAM,YAAY,GAAG,iBAAiB,CAAC,YAAY,CAAC;AAC1D,MAAM,MAAM,2BAA2B,GAAG,iBAAiB,CAAC,iBAAiB,CAAC;AAC9E,MAAM,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,gBAAgB,CAAC;AAClE,MAAM,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,iBAAiB,CAAC;AACpE,MAAM,MAAM,mBAAmB,GAAG,iBAAiB,CAAC,mBAAmB,CAAC;AACxE,MAAM,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,iBAAiB,CAAC;AACpE,MAAM,MAAM,sBAAsB,GAAG,iBAAiB,CAAC,sBAAsB,CAAC;AAC9E,MAAM,MAAM,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAC;AAC9C,MAAM,MAAM,4BAA4B,GAAG,iBAAiB,CAAC,4BAA4B,CAAC;AAC1F,MAAM,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,kBAAkB,CAAC;AACtE,MAAM,MAAM,SAAS,GAAG,iBAAiB,CAAC,SAAS,CAAC;AACpD,MAAM,MAAM,2BAA2B,GAAG,iBAAiB,CAAC,2BAA2B,CAAC;AACxF,MAAM,MAAM,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC;AAC5C,MAAM,MAAM,oBAAoB,GAAG,iBAAiB,CAAC,oBAAoB,CAAC;AAC1E,MAAM,MAAM,YAAY,GAAG,iBAAiB,CAAC,YAAY,CAAC;AAC1D,MAAM,MAAM,oBAAoB,GAAG,iBAAiB,CAAC,oBAAoB,CAAC;AAC1E,MAAM,MAAM,WAAW,GAAG,iBAAiB,CAAC,WAAW,CAAC;AACxD,MAAM,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,iBAAiB,CAAC;AACpE,MAAM,MAAM,mBAAmB,GAAG,iBAAiB,CAAC,mBAAmB,CAAC;AACxE,MAAM,MAAM,mCAAmC,GAAG,iBAAiB,CAAC,mCAAmC,CAAC;AACxG,MAAM,MAAM,4BAA4B,GAAG,iBAAiB,CAAC,4BAA4B,CAAC;AAC1F,MAAM,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,kBAAkB,CAAC;AACtE,MAAM,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/highcharts/lib/index.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,iBAAiB,MAAM,YAAY,CAAC;AAEhD,MAAM,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,CAAC;AAC7C,MAAM,MAAM,cAAc,GAAG,iBAAiB,CAAC,cAAc,CAAC;AAC9D,MAAM,MAAM,aAAa,GAAG,iBAAiB,CAAC,aAAa,CAAC;AAC5D,MAAM,MAAM,aAAa,GAAG,iBAAiB,CAAC,aAAa,CAAC;AAC5D,MAAM,MAAM,eAAe,GAAG,iBAAiB,CAAC,eAAe,CAAC;AAChE,MAAM,MAAM,uBAAuB,GAAG,iBAAiB,CAAC,iBAAiB,CAAC;AAC1E,MAAM,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,gBAAgB,CAAC;AAClE,MAAM,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,OAAO,CAAC;AAC1D,MAAM,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC;AAC1C,MAAM,MAAM,cAAc,GAAG,iBAAiB,CAAC,cAAc,CAAC;AAC9D,MAAM,MAAM,wBAAwB,GAAG,iBAAiB,CAAC,wBAAwB,CAAC;AAClF,MAAM,MAAM,YAAY,GAAG,iBAAiB,CAAC,YAAY,CAAC;AAC1D,MAAM,MAAM,YAAY,GAAG,iBAAiB,CAAC,YAAY,CAAC;AAC1D,MAAM,MAAM,2BAA2B,GAAG,iBAAiB,CAAC,iBAAiB,CAAC;AAC9E,MAAM,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,gBAAgB,CAAC;AAClE,MAAM,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,iBAAiB,CAAC;AACpE,MAAM,MAAM,mBAAmB,GAAG,iBAAiB,CAAC,mBAAmB,CAAC;AACxE,MAAM,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,iBAAiB,CAAC;AACpE,MAAM,MAAM,sBAAsB,GAAG,iBAAiB,CAAC,sBAAsB,CAAC;AAC9E,MAAM,MAAM,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAC;AAC9C,MAAM,MAAM,4BAA4B,GAAG,iBAAiB,CAAC,4BAA4B,CAAC;AAC1F,MAAM,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,kBAAkB,CAAC;AACtE,MAAM,MAAM,SAAS,GAAG,iBAAiB,CAAC,SAAS,CAAC;AACpD,MAAM,MAAM,2BAA2B,GAAG,iBAAiB,CAAC,2BAA2B,CAAC;AACxF,MAAM,MAAM,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC;AAC5C,MAAM,MAAM,oBAAoB,GAAG,iBAAiB,CAAC,oBAAoB,CAAC;AAC1E,MAAM,MAAM,YAAY,GAAG,iBAAiB,CAAC,YAAY,CAAC;AAC1D,MAAM,MAAM,oBAAoB,GAAG,iBAAiB,CAAC,oBAAoB,CAAC;AAC1E,MAAM,MAAM,WAAW,GAAG,iBAAiB,CAAC,WAAW,CAAC;AACxD,MAAM,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,iBAAiB,CAAC;AACpE,MAAM,MAAM,mBAAmB,GAAG,iBAAiB,CAAC,mBAAmB,CAAC;AACxE,MAAM,MAAM,mCAAmC,GAAG,iBAAiB,CAAC,mCAAmC,CAAC;AACxG,MAAM,MAAM,4BAA4B,GAAG,iBAAiB,CAAC,4BAA4B,CAAC;AAC1F,MAAM,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,kBAAkB,CAAC;AACtE,MAAM,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,iBAAiB,CAAC;AACpE,MAAM,MAAM,UAAU,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC"}
|