@neo4j-ndl/react-charts 0.0.124 → 0.0.126

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.
@@ -32,7 +32,7 @@ const classnames_1 = __importDefault(require("classnames"));
32
32
  const echarts_1 = require("echarts");
33
33
  const react_2 = require("react");
34
34
  const legend_utils_1 = require("./legend-utils");
35
- const LegendItem = (0, react_2.forwardRef)(function LegendItemComponent({ children, as, className, name, selected, deSelected, onLegendItemClick, color, hasButtons = true, },
35
+ const LegendItem = (0, react_2.forwardRef)(function LegendItemComponent({ children, as, className, name, selected, deSelected, onLegendItemClick, color, hasButtons = true, onLegendItemMouseEnter, onLegendItemMouseLeave, },
36
36
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
37
37
  ref) {
38
38
  var _a;
@@ -45,12 +45,35 @@ ref) {
45
45
  if ((_a = (0, legend_utils_1.isThresholdLine)(name)) !== null && _a !== void 0 ? _a : false) {
46
46
  return null;
47
47
  }
48
- return ((0, jsx_runtime_1.jsxs)(Component, { className: classes, ref: ref, "data-labelname": name, onClick: hasButtons ? onLegendItemClick : undefined, children: [(0, jsx_runtime_1.jsx)("span", { className: "ndl-chart-legend-item-square", style: {
48
+ return ((0, jsx_runtime_1.jsxs)(Component, { className: classes, ref: ref, "data-labelname": name, onClick: hasButtons ? onLegendItemClick : undefined, onMouseEnter: onLegendItemMouseEnter, onMouseLeave: onLegendItemMouseLeave, children: [(0, jsx_runtime_1.jsx)("span", { className: "ndl-chart-legend-item-square", style: {
49
49
  backgroundColor: color,
50
50
  }, children: selected && ((0, jsx_runtime_1.jsx)(icons_1.CheckIconOutline, { className: "ndl-chart-legend-item-square-checkmark" })) }), (0, jsx_runtime_1.jsx)(react_1.Typography, { variant: "body-medium", className: "ndl-chart-legend-item-text", children: children })] }));
51
51
  });
52
52
  exports.Legend = (0, react_2.forwardRef)(function LegendComponent({ className, wrappingType = 'wrapping', series, chartRef }, ref) {
53
53
  const [selectedSeries, setSelectedSeries] = (0, react_2.useState)(Object.fromEntries(series.map((s) => { var _a; return [(_a = s.name) !== null && _a !== void 0 ? _a : '', true]; })));
54
+ const highlightTimeOut = (0, react_2.useRef)(null);
55
+ const downplayTimeOut = (0, react_2.useRef)(null);
56
+ const hoverTimeOut = 80;
57
+ const highlightSeries = (seriesToUpdate) => {
58
+ // Clear the downplay timeout when a new item is hovered
59
+ if (downplayTimeOut.current) {
60
+ clearTimeout(downplayTimeOut.current);
61
+ }
62
+ // Delay the highlight to avoid flickering when quickly hovering the legend items
63
+ highlightTimeOut.current = setTimeout(() => {
64
+ (0, legend_utils_1.highlightOrDownplaySeries)(chartRef, series, selectedSeries, seriesToUpdate, 'highlight');
65
+ }, hoverTimeOut);
66
+ };
67
+ const downplaySeries = (seriesToUpdate) => {
68
+ // Clear the highlight timeout when the mouse is leaving the legend item
69
+ if (highlightTimeOut.current) {
70
+ clearTimeout(highlightTimeOut.current);
71
+ }
72
+ // Delay the downplay to avoid flickering when moving the highlight between legend items (no downplay needed in between)
73
+ downplayTimeOut.current = setTimeout(() => {
74
+ (0, legend_utils_1.highlightOrDownplaySeries)(chartRef, series, selectedSeries, seriesToUpdate, 'downplay');
75
+ }, hoverTimeOut);
76
+ };
54
77
  (0, react_2.useEffect)(() => {
55
78
  setSelectedSeries(Object.fromEntries(series.map((s) => { var _a; return [(_a = s.name) !== null && _a !== void 0 ? _a : '', true]; })));
56
79
  if (chartRef.current === null) {
@@ -72,6 +95,10 @@ exports.Legend = (0, react_2.forwardRef)(function LegendComponent({ className, w
72
95
  params.selected !== null) {
73
96
  const selected = (_a = params.selected) !== null && _a !== void 0 ? _a : {};
74
97
  const filteredSelected = Object.fromEntries(Object.entries(selected).filter(([key]) => !(0, legend_utils_1.isThresholdLine)(key)));
98
+ // Reset the series highlight to avoid series to stay blurred on selection change
99
+ if (eventType === 'legendselectchanged') {
100
+ (0, legend_utils_1.resetAllSeriesHighlight)(chart);
101
+ }
75
102
  setSelectedSeries(filteredSelected);
76
103
  }
77
104
  });
@@ -94,21 +121,26 @@ exports.Legend = (0, react_2.forwardRef)(function LegendComponent({ className, w
94
121
  const selectedSeriesLength = Object.values(selectedSeries).filter(Boolean).length;
95
122
  const isAllSeriesVisible = selectedSeriesLength === series.length;
96
123
  const color = currentSeries.color;
97
- return ((0, jsx_runtime_1.jsx)(react_1.ConditionalWrap, { shouldWrap: wrappingType === 'truncation', wrap: (children) => ((0, jsx_runtime_1.jsx)(react_1.Tooltip, { type: "simple", children: (0, jsx_runtime_1.jsx)(react_1.Tooltip.Trigger, { hasButtonWrapper: true, children: children }) }, index)), children: (0, jsx_runtime_1.jsx)(LegendItem, { name: currentSeries.name, color: color, hasButtons: hasMoreThanOneItem && currentSeries.name !== undefined, onLegendItemClick: () => {
124
+ const isDeselected = currentSeries.name === undefined
125
+ ? false
126
+ : !selectedSeries[currentSeries.name];
127
+ return ((0, jsx_runtime_1.jsx)(react_1.ConditionalWrap, { shouldWrap: wrappingType === 'truncation', wrap: (children) => ((0, jsx_runtime_1.jsx)(react_1.Tooltip, { type: "simple", children: (0, jsx_runtime_1.jsx)(react_1.Tooltip.Trigger, { hasButtonWrapper: true, children: children }) }, index)), children: (0, jsx_runtime_1.jsx)(LegendItem, { name: currentSeries.name, color: color, hasButtons: hasMoreThanOneItem && currentSeries.name !== undefined, onLegendItemMouseEnter: () => {
128
+ !isDeselected && highlightSeries([currentSeries]);
129
+ }, onLegendItemMouseLeave: () => {
130
+ !isDeselected && downplaySeries([currentSeries]);
131
+ }, onLegendItemClick: () => {
98
132
  var _a;
99
133
  const isAllSeriesSelected = selectedSeriesLength === series.length;
100
134
  const isOnlyVisible = selectedSeries[(_a = currentSeries.name) !== null && _a !== void 0 ? _a : ''] &&
101
135
  selectedSeriesLength === 1;
102
136
  toggleLegendVisibility(currentSeries.name, isAllSeriesSelected, isOnlyVisible);
103
137
  }, selected: !isAllSeriesVisible &&
104
- selectedSeries[(_a = currentSeries.name) !== null && _a !== void 0 ? _a : ''], deSelected: currentSeries.name === undefined
105
- ? false
106
- : !selectedSeries[currentSeries.name], children: (_b = currentSeries.name) !== null && _b !== void 0 ? _b : `Series ${index}` }) }, index));
107
- }) })) : ((0, jsx_runtime_1.jsx)(LegendOverflowType, { className: classes, selectedSeries: selectedSeries, wrappingType: wrappingType, chartRef: chartRef, series: series, onSetAllVisible: setAllVisible, onToggleLegendVisibility: (name, isAllSeriesSelected, isOnlyVisible) => {
138
+ selectedSeries[(_a = currentSeries.name) !== null && _a !== void 0 ? _a : ''], deSelected: isDeselected, children: (_b = currentSeries.name) !== null && _b !== void 0 ? _b : `Series ${index}` }) }, index));
139
+ }) })) : ((0, jsx_runtime_1.jsx)(LegendOverflowType, { className: classes, selectedSeries: selectedSeries, wrappingType: wrappingType, chartRef: chartRef, series: series, onSetAllVisible: setAllVisible, onLegendItemMouseEnter: (seriesToUpdate) => highlightSeries(seriesToUpdate), onLegendItemMouseLeave: (seriesToUpdate) => downplaySeries(seriesToUpdate), onToggleLegendVisibility: (name, isAllSeriesSelected, isOnlyVisible) => {
108
140
  toggleLegendVisibility(name, isAllSeriesSelected, isOnlyVisible);
109
141
  } })) }));
110
142
  });
111
- const LegendOverflowType = function LegendOverflow({ className, series, onSetAllVisible, onToggleLegendVisibility, selectedSeries, }) {
143
+ const LegendOverflowType = function LegendOverflow({ className, series, onSetAllVisible, onToggleLegendVisibility, selectedSeries, onLegendItemMouseEnter, onLegendItemMouseLeave, }) {
112
144
  const containerRef = (0, react_2.useRef)(null);
113
145
  const [nonOverflowItemsNames, setNonOverflowItemsNames] = (0, react_2.useState)(series.map((s) => s.name));
114
146
  (0, react_2.useEffect)(() => {
@@ -166,21 +198,25 @@ const LegendOverflowType = function LegendOverflow({ className, series, onSetAll
166
198
  const selectedSeriesLength = Object.values(selectedSeries).filter(Boolean).length;
167
199
  const hasMoreThanOneItem = nonOverflowItemsNames.length > 1;
168
200
  const isAllSeriesVisible = selectedSeriesLength === series.length;
201
+ const isOverflowItemsDeselected = overflowItemsNames.every((item) => { var _a; return !selectedSeries[(_a = item.name) !== null && _a !== void 0 ? _a : '']; });
169
202
  return ((0, jsx_runtime_1.jsxs)("div", { className: classes, ref: containerRef, children: [nonOverflowItemsNames.map((name) => {
170
203
  var _a;
171
204
  const currentSeries = series.find((s) => s.name === name);
172
205
  if (currentSeries === undefined) {
173
206
  return null;
174
207
  }
175
- return ((0, jsx_runtime_1.jsx)(LegendItem, { name: name, color: currentSeries.color, onLegendItemClick: () => {
208
+ const isDeselected = currentSeries.name === undefined
209
+ ? false
210
+ : !selectedSeries[currentSeries.name];
211
+ return ((0, jsx_runtime_1.jsx)(LegendItem, { name: name, color: currentSeries.color, onLegendItemMouseEnter: () => !isDeselected && onLegendItemMouseEnter([currentSeries]), onLegendItemMouseLeave: () => !isDeselected && onLegendItemMouseLeave([currentSeries]), onLegendItemClick: () => {
176
212
  const isAllSeriesSelected = selectedSeriesLength === series.length;
177
213
  const isOnlyVisible = selectedSeries[name !== null && name !== void 0 ? name : ''] && selectedSeriesLength === 1;
178
- onToggleLegendVisibility === null || onToggleLegendVisibility === void 0 ? void 0 : onToggleLegendVisibility(name, isAllSeriesSelected, isOnlyVisible);
179
- }, hasButtons: hasMoreThanOneItem, selected: !isAllSeriesVisible && selectedSeries[(_a = currentSeries.name) !== null && _a !== void 0 ? _a : ''], deSelected: currentSeries.name === undefined
180
- ? false
181
- : !selectedSeries[currentSeries.name], children: name }, name));
214
+ onToggleLegendVisibility === null || onToggleLegendVisibility === void 0 ? void 0 : onToggleLegendVisibility(name, isAllSeriesSelected, isOnlyVisible, series);
215
+ }, hasButtons: hasMoreThanOneItem, selected: !isAllSeriesVisible && selectedSeries[(_a = currentSeries.name) !== null && _a !== void 0 ? _a : ''], deSelected: isDeselected, children: name }, name));
182
216
  }), overflowItemsNames.length > 0 && ((0, jsx_runtime_1.jsxs)(react_1.Tooltip, { type: "simple", children: [(0, jsx_runtime_1.jsx)(react_1.Tooltip.Trigger, { children: (0, jsx_runtime_1.jsxs)(LegendItem, { as: "div", name: "ndl-overflow-items", color: base_1.tokens.colors.neutral[30], selected: !isAllSeriesVisible &&
183
- overflowItemsNames.every((item) => { var _a; return selectedSeries[(_a = item.name) !== null && _a !== void 0 ? _a : '']; }), deSelected: overflowItemsNames.every((item) => { var _a; return !selectedSeries[(_a = item.name) !== null && _a !== void 0 ? _a : '']; }), onLegendItemClick: () => {
217
+ overflowItemsNames.every((item) => { var _a; return selectedSeries[(_a = item.name) !== null && _a !== void 0 ? _a : '']; }), deSelected: isOverflowItemsDeselected, onLegendItemMouseEnter: () => !isOverflowItemsDeselected &&
218
+ onLegendItemMouseEnter(overflowItemsNames), onLegendItemMouseLeave: () => !isOverflowItemsDeselected &&
219
+ onLegendItemMouseLeave(overflowItemsNames), onLegendItemClick: () => {
184
220
  const selectedSeriesLength = Object.values(selectedSeries).filter(Boolean).length;
185
221
  const isOnlyOverflowItemsVisible = selectedSeriesLength === overflowItemsNames.length &&
186
222
  overflowItemsNames.every((item) => { var _a; return selectedSeries[(_a = item.name) !== null && _a !== void 0 ? _a : '']; });
@@ -190,7 +226,7 @@ const LegendOverflowType = function LegendOverflow({ className, series, onSetAll
190
226
  }
191
227
  overflowItemsNames.forEach((item, index) => {
192
228
  const isAllSeriesSelected = selectedSeriesLength === series.length && index === 0;
193
- onToggleLegendVisibility === null || onToggleLegendVisibility === void 0 ? void 0 : onToggleLegendVisibility(item.name, isAllSeriesSelected, false);
229
+ onToggleLegendVisibility === null || onToggleLegendVisibility === void 0 ? void 0 : onToggleLegendVisibility(item.name, isAllSeriesSelected, false, series);
194
230
  });
195
231
  }, children: [overflowItemsNames.length, " more"] }) }), (0, jsx_runtime_1.jsx)(react_1.Tooltip.Content, { children: overflowItemsNames.map((item) => ((0, jsx_runtime_1.jsx)("p", { children: item.name }, item.name))) })] }))] }));
196
232
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Legend.js","sourceRoot":"","sources":["../../../src/charts/Legend.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Legend.js","sourceRoot":"","sources":["../../../src/charts/Legend.tsx"],"names":[],"mappings":"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"}
@@ -20,7 +20,7 @@
20
20
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
21
21
  */
22
22
  Object.defineProperty(exports, "__esModule", { value: true });
23
- exports.getComputedElementWidth = exports.isThresholdLine = exports.useLegendVisibility = void 0;
23
+ exports.highlightOrDownplaySeries = exports.getComputedElementWidth = exports.isThresholdLine = exports.useLegendVisibility = exports.resetAllSeriesHighlight = void 0;
24
24
  const echarts_1 = require("echarts");
25
25
  const react_1 = require("react");
26
26
  const useLegendVisibility = (chartRef, selectedSeries) => {
@@ -64,7 +64,7 @@ const useLegendVisibility = (chartRef, selectedSeries) => {
64
64
  * function since different legend types require different logic.
65
65
  */
66
66
  const toggleLegendVisibility = (0, react_1.useCallback)((name, isAllSeriesSelected, isOnlyVisible) => {
67
- if (chartRef.current === null) {
67
+ if (chartRef.current === null || name === undefined) {
68
68
  return;
69
69
  }
70
70
  if (isOnlyVisible) {
@@ -97,4 +97,110 @@ const getComputedElementWidth = (element) => {
97
97
  return elementRect.width + elementMarginLeft + elementMarginRight;
98
98
  };
99
99
  exports.getComputedElementWidth = getComputedElementWidth;
100
+ const resetAllSeriesHighlight = (chart) => {
101
+ const option = chart.getOption();
102
+ const seriesList = option.series || [];
103
+ seriesList.forEach((_, seriesIndex) => {
104
+ chart.dispatchAction({
105
+ seriesIndex,
106
+ type: 'downplay',
107
+ });
108
+ });
109
+ };
110
+ exports.resetAllSeriesHighlight = resetAllSeriesHighlight;
111
+ const highlightOrDownplayLineAndBarSeries = (chart, currentSeriesToDispatch, action, currentChartOptions) => {
112
+ var _a;
113
+ const isDownplay = action === 'downplay';
114
+ const allChartOptionSeries = (currentChartOptions === null || currentChartOptions === void 0 ? void 0 : currentChartOptions.series) ||
115
+ [];
116
+ // Change emphasis state to add opacity on the non highlighted items
117
+ chart === null || chart === void 0 ? void 0 : chart.setOption({
118
+ series: allChartOptionSeries === null || allChartOptionSeries === void 0 ? void 0 : allChartOptionSeries.map((seriesItem) => (Object.assign(Object.assign({}, seriesItem), { emphasis: Object.assign(Object.assign({}, seriesItem.emphasis), { disabled: isDownplay }) }))),
119
+ });
120
+ const seriesWithSeriesIndex = (_a = allChartOptionSeries === null || allChartOptionSeries === void 0 ? void 0 : allChartOptionSeries
121
+ // Since the series index does not exist in the data we extract it from the series index
122
+ .map((seriesItem, index) => (Object.assign(Object.assign({}, seriesItem), { seriesIndex: index })))) === null || _a === void 0 ? void 0 : _a.filter((seriesItem) => currentSeriesToDispatch.some((series) => series.name === seriesItem.name));
123
+ if (!seriesWithSeriesIndex.length) {
124
+ return;
125
+ }
126
+ chart === null || chart === void 0 ? void 0 : chart.dispatchAction({
127
+ seriesIndex: seriesWithSeriesIndex.map((series) => series.seriesIndex),
128
+ type: action,
129
+ });
130
+ };
131
+ /**
132
+ * Highlight or downplay pie chart dataset item
133
+ */
134
+ const highlightOrDownplayPieSlices = (chart, currentSeriesToDispatch, action, currentChartOptions) => {
135
+ var _a;
136
+ const isDownplay = action === 'downplay';
137
+ const allChartOptionSeries = (currentChartOptions === null || currentChartOptions === void 0 ? void 0 : currentChartOptions.series) ||
138
+ [];
139
+ // Change blur state to add opacity on the non highlighted items in the pie chart
140
+ chart === null || chart === void 0 ? void 0 : chart.setOption({
141
+ series: allChartOptionSeries === null || allChartOptionSeries === void 0 ? void 0 : allChartOptionSeries.map((seriesItem) => (Object.assign(Object.assign({}, seriesItem), { blur: {
142
+ itemStyle: {
143
+ opacity: isDownplay ? 1 : 0.3,
144
+ },
145
+ label: {
146
+ opacity: isDownplay ? 1 : 0.3,
147
+ },
148
+ // ...(seriesItem.blur as Record<string, unknown>),
149
+ } }))),
150
+ });
151
+ // The dataIndex that we want to dispatch can be found in the dataset[0] source array, where the first item is the name of the series
152
+ const chartOptionDataset = currentChartOptions === null || currentChartOptions === void 0 ? void 0 : currentChartOptions.dataset;
153
+ const datasetArray = Array.isArray(chartOptionDataset)
154
+ ? chartOptionDataset
155
+ : [chartOptionDataset];
156
+ const sourceArray = (_a = datasetArray === null || datasetArray === void 0 ? void 0 : datasetArray[0]) === null || _a === void 0 ? void 0 : _a.source;
157
+ // Find the dataIndexes that we want to dispatch
158
+ const currentDataSeriesIndexes = currentSeriesToDispatch.map((series) => {
159
+ const index = (sourceArray === null || sourceArray === void 0 ? void 0 : sourceArray.findIndex((item) => item[0] === series.name)) - 1;
160
+ return index;
161
+ });
162
+ if (action === 'highlight') {
163
+ // Downplay other data indexes to make sure the other slices are not highlighted
164
+ const otherSeriesIndexes = sourceArray
165
+ .map((_, index) => index)
166
+ .filter((dataIndex) => !currentDataSeriesIndexes.includes(dataIndex));
167
+ chart === null || chart === void 0 ? void 0 : chart.dispatchAction({
168
+ seriesIndex: [0], // pie charts only has one series so seriesIndex is always 0
169
+ dataIndex: otherSeriesIndexes,
170
+ type: 'downplay',
171
+ });
172
+ }
173
+ chart === null || chart === void 0 ? void 0 : chart.dispatchAction({
174
+ seriesIndex: [0], // pie charts only has one series so otherSeriesIndexes is always 0
175
+ dataIndex: currentDataSeriesIndexes,
176
+ type: action,
177
+ });
178
+ };
179
+ /**
180
+ * Highlight or downplay the series in the chart to toggle between emphasized and non-emphasized state
181
+ */
182
+ const highlightOrDownplaySeries = (chartRef, series, currentSelectedSeries, currentSeriesToDispatch, action) => {
183
+ var _a, _b;
184
+ const hasOnlyOneSeries = series.length === 1;
185
+ const isOnlyOneSeriesSelected = Object.values(currentSelectedSeries).filter(Boolean).length === 1;
186
+ if (isOnlyOneSeriesSelected ||
187
+ currentSeriesToDispatch.length === 0 ||
188
+ chartRef.current === null ||
189
+ hasOnlyOneSeries) {
190
+ return;
191
+ }
192
+ const chart = (0, echarts_1.getInstanceByDom)(chartRef.current);
193
+ if (!chart) {
194
+ return;
195
+ }
196
+ const currentChartOptions = chart.getOption();
197
+ const seriesType = (_b = (_a = currentChartOptions === null || currentChartOptions === void 0 ? void 0 : currentChartOptions.series) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.type;
198
+ if (seriesType === 'pie') {
199
+ highlightOrDownplayPieSlices(chart, currentSeriesToDispatch, action, currentChartOptions);
200
+ }
201
+ else {
202
+ highlightOrDownplayLineAndBarSeries(chart, currentSeriesToDispatch, action, currentChartOptions);
203
+ }
204
+ };
205
+ exports.highlightOrDownplaySeries = highlightOrDownplaySeries;
100
206
  //# sourceMappingURL=legend-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"legend-utils.js","sourceRoot":"","sources":["../../../src/charts/legend-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"legend-utils.js","sourceRoot":"","sources":["../../../src/charts/legend-utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,243 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.clickSeries = exports.expectAllLegendsNeutral = exports.expectLegendsDeselected = exports.expectLegendsSelected = exports.expectLegendSeriesToBeVisibleInChart = exports.expectLegendSeriesToBeHighlightedInChart = exports.expectSingleSeriesNotToBeBlurred = exports.expectChartElementVisible = exports.multiSeriesChart = exports.multiSeriesChartProps = exports.chartColorsAfterHighlighting = void 0;
13
+ const jsx_runtime_1 = require("react/jsx-runtime");
14
+ /**
15
+ *
16
+ * Copyright (c) "Neo4j"
17
+ * Neo4j Sweden AB [http://neo4j.com]
18
+ *
19
+ * This file is part of Neo4j.
20
+ *
21
+ * Neo4j is free software: you can redistribute it and/or modify
22
+ * it under the terms of the GNU General Public License as published by
23
+ * the Free Software Foundation, either version 3 of the License, or
24
+ * (at your option) any later version.
25
+ *
26
+ * This program is distributed in the hope that it will be useful,
27
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
28
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
29
+ * GNU General Public License for more details.
30
+ *
31
+ * You should have received a copy of the GNU General Public License
32
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
33
+ */
34
+ const base_1 = require("@neo4j-ndl/base");
35
+ const experimental_ct_react_1 = require("@playwright/experimental-ct-react");
36
+ const Chart_1 = require("../Chart");
37
+ /**
38
+ * Convert hex color to rgb format
39
+ *
40
+ * @param hex color in hex code format
41
+ * @returns color in rgb format rgb(_, _, _)
42
+ */
43
+ const convertHexToRGB = (hex) => {
44
+ hex = hex.replace(/^#/, '');
45
+ const red = parseInt(hex.substring(0, 2), 16);
46
+ const green = parseInt(hex.substring(2, 4), 16);
47
+ const blue = parseInt(hex.substring(4, 6), 16);
48
+ return `rgb(${red}, ${green}, ${blue})`;
49
+ };
50
+ exports.chartColorsAfterHighlighting = {
51
+ 1: 'rgb(93,207,216)',
52
+ 2: 'rgb(84,80,223)',
53
+ 3: 'rgb(242,152,62)',
54
+ 4: 'rgb(221,75,155)',
55
+ 5: 'rgb(156,154,255)',
56
+ 6: 'rgb(132,244,136)',
57
+ 7: 'rgb(69,140,249)',
58
+ 8: 'rgb(113,69,188)',
59
+ 9: 'rgb(240,210,70)',
60
+ 10: 'rgb(210,126,49)',
61
+ 11: 'rgb(78,151,121)',
62
+ 12: 'rgb(190,255,117)',
63
+ };
64
+ exports.multiSeriesChartProps = {
65
+ dataset: {
66
+ dimensions: ['day', 'first', 'second', 'third', 'fourth', 'fifth', 'sixth'],
67
+ source: [
68
+ ['Monday', 20, 40, 60, 80, 100, 120],
69
+ ['Tuesday', 30, 50, 70, 90, 110, 130],
70
+ ['Wednesday', 25, 45, 65, 85, 105, 125],
71
+ ['Thursday', 35, 55, 75, 95, 115, 135],
72
+ ['Friday', 40, 60, 80, 100, 120, 140],
73
+ ],
74
+ },
75
+ xAxis: {
76
+ type: 'category',
77
+ },
78
+ yAxis: {
79
+ type: 'value',
80
+ },
81
+ series: [
82
+ {
83
+ name: 'First Series',
84
+ type: 'line',
85
+ encode: { x: 'day', y: 'first' },
86
+ },
87
+ {
88
+ name: 'Second Series',
89
+ type: 'line',
90
+ encode: { x: 'day', y: 'second' },
91
+ },
92
+ {
93
+ name: 'Third Series',
94
+ type: 'line',
95
+ encode: { x: 'day', y: 'third' },
96
+ },
97
+ {
98
+ name: 'Fourth Series',
99
+ type: 'line',
100
+ encode: { x: 'day', y: 'fourth' },
101
+ },
102
+ {
103
+ name: 'Fifth Series',
104
+ type: 'line',
105
+ encode: { x: 'day', y: 'fifth' },
106
+ },
107
+ {
108
+ name: 'Sixth Series',
109
+ type: 'line',
110
+ encode: { x: 'day', y: 'sixth' },
111
+ },
112
+ ],
113
+ legend: {
114
+ show: true,
115
+ wrappingType: 'wrapping',
116
+ },
117
+ option: {},
118
+ };
119
+ const multiSeriesChart = ({ chartProps, width = '100%', height = '400px', }) => ((0, jsx_runtime_1.jsx)("div", { style: { height, width }, className: "ndl-chart", children: (0, jsx_runtime_1.jsx)(Chart_1.Chart, Object.assign({}, exports.multiSeriesChartProps, chartProps)) }));
120
+ exports.multiSeriesChart = multiSeriesChart;
121
+ const expectChartElementVisible = (page) => __awaiter(void 0, void 0, void 0, function* () {
122
+ yield (0, experimental_ct_react_1.expect)(page.locator('svg')).toBeVisible();
123
+ yield (0, experimental_ct_react_1.expect)(page.locator('.ndl-chart-legend')).toBeVisible();
124
+ });
125
+ exports.expectChartElementVisible = expectChartElementVisible;
126
+ const SELECTORS = {
127
+ CHECKMARK: '.ndl-chart-legend-item-square-checkmark',
128
+ DESELECTED: '.ndl-chart-legend-item-deselected',
129
+ seriesCheckmark: (name) => `[data-labelname="${name}"] .ndl-chart-legend-item-square-checkmark`,
130
+ seriesDeselected: (name) => `[data-labelname="${name}"].ndl-chart-legend-item-deselected`,
131
+ };
132
+ const getGraphPaletteColorFromSeriesIndex = (index) => {
133
+ const hexColor = base_1.tokens.palette.categorical[index];
134
+ if (!hexColor) {
135
+ throw new Error(`Categorical palette index ${index} not found`);
136
+ }
137
+ return hexColor;
138
+ };
139
+ /**
140
+ * Checks so a single series is not blurred.
141
+ */
142
+ const expectSingleSeriesNotToBeBlurred = (page, seriesName) => __awaiter(void 0, void 0, void 0, function* () {
143
+ const allChartSeries = exports.multiSeriesChartProps.series;
144
+ const seriesIndex = allChartSeries.findIndex((seriesItem) => seriesItem.name === seriesName) +
145
+ 1;
146
+ const rgbSeriesColor = exports.chartColorsAfterHighlighting[seriesIndex];
147
+ const hexSeriesColor = getGraphPaletteColorFromSeriesIndex(seriesIndex.toString());
148
+ const pathLocator = page
149
+ .locator(`path[stroke="${rgbSeriesColor}"]`)
150
+ .or(page.locator(`path[stroke="${hexSeriesColor}"]`))
151
+ .or(page.locator(`path[stroke="${convertHexToRGB(hexSeriesColor)}"]`));
152
+ yield (0, experimental_ct_react_1.expect)(pathLocator).not.toHaveAttribute('stroke-opacity');
153
+ });
154
+ exports.expectSingleSeriesNotToBeBlurred = expectSingleSeriesNotToBeBlurred;
155
+ /**
156
+ * Checks so that the seriesNamesToBeHighlighted are visible in the chart and that other series are blurred.
157
+ */
158
+ const expectLegendSeriesToBeHighlightedInChart = (page, seriesNamesToBeHighlighted) => __awaiter(void 0, void 0, void 0, function* () {
159
+ const allChartSeries = exports.multiSeriesChartProps.series;
160
+ for (const name of seriesNamesToBeHighlighted) {
161
+ const highlightedSeriesIndex = allChartSeries.findIndex((seriesItem) => seriesItem.name === name) + 1;
162
+ const rgbSeriesColor = exports.chartColorsAfterHighlighting[highlightedSeriesIndex];
163
+ const hexSeriesColor = getGraphPaletteColorFromSeriesIndex(highlightedSeriesIndex.toString());
164
+ const pathLocator = page
165
+ .locator(`path[stroke="${rgbSeriesColor}"]`)
166
+ .or(page.locator(`path[stroke="${hexSeriesColor}"]`))
167
+ .or(page.locator(`path[stroke="${convertHexToRGB(hexSeriesColor)}"]`));
168
+ yield (0, experimental_ct_react_1.expect)(pathLocator).not.toHaveAttribute('stroke-opacity');
169
+ }
170
+ const seriesToBeBlurred = allChartSeries.filter((series) => !seriesNamesToBeHighlighted.includes(series.name));
171
+ for (const series of seriesToBeBlurred) {
172
+ const blurredSeriesIndex = allChartSeries.findIndex((seriesItem) => seriesItem.name === series.name) + 1;
173
+ const rgbSeriesColor = exports.chartColorsAfterHighlighting[blurredSeriesIndex];
174
+ const hexSeriesColor = getGraphPaletteColorFromSeriesIndex(blurredSeriesIndex.toString());
175
+ const pathLocator = page
176
+ .locator(`path[stroke="${rgbSeriesColor}"]`)
177
+ .or(page.locator(`path[stroke="${hexSeriesColor}"]`))
178
+ .or(page.locator(`path[stroke="${convertHexToRGB(hexSeriesColor)}"]`));
179
+ yield (0, experimental_ct_react_1.expect)(pathLocator).toHaveAttribute('stroke-opacity');
180
+ }
181
+ });
182
+ exports.expectLegendSeriesToBeHighlightedInChart = expectLegendSeriesToBeHighlightedInChart;
183
+ /**
184
+ * Identifies if the series are visible / not visible in the chart by checking for a path with the series color (lacks other unique identifiers)
185
+ * Apache Echarts displays the path color in both hex, rgb and a slightly adjusted rgb when highlighted, therefor we need to check for all three when looking for the series in the chart.
186
+ */
187
+ const expectLegendSeriesToBeVisibleInChart = (page, seriesNamesToBeVisible) => __awaiter(void 0, void 0, void 0, function* () {
188
+ const allChartSeries = exports.multiSeriesChartProps.series;
189
+ // Check so that the series that should be visible are present in the chart
190
+ for (const name of seriesNamesToBeVisible) {
191
+ const visibleSeriesIndex = allChartSeries.findIndex((series) => series.name === name) + 1;
192
+ const rgbSeriesColor = exports.chartColorsAfterHighlighting[visibleSeriesIndex];
193
+ const hexSeriesColor = getGraphPaletteColorFromSeriesIndex(visibleSeriesIndex.toString());
194
+ yield (0, experimental_ct_react_1.expect)(page
195
+ .locator(`path[stroke="${rgbSeriesColor}"]`)
196
+ .or(page.locator(`path[stroke="${hexSeriesColor}"]`))
197
+ .or(page.locator(`path[stroke="${convertHexToRGB(hexSeriesColor)}"]`))).toBeVisible();
198
+ }
199
+ // Check so that the other series are not present in the chart
200
+ const hiddenSeries = exports.multiSeriesChartProps.series.filter((series) => !seriesNamesToBeVisible.includes(series.name));
201
+ for (const hiddenSeriesItem of hiddenSeries) {
202
+ const hiddenSeriesIndex = allChartSeries.findIndex((allChartSeriesItem) => hiddenSeriesItem.name === allChartSeriesItem.name) + 1;
203
+ const rgbSeriesColor = exports.chartColorsAfterHighlighting[hiddenSeriesIndex];
204
+ const hexSeriesColor = getGraphPaletteColorFromSeriesIndex(hiddenSeriesIndex.toString());
205
+ yield (0, experimental_ct_react_1.expect)(page
206
+ .locator(`path[stroke="${rgbSeriesColor}"]`)
207
+ .or(page.locator(`path[stroke="${hexSeriesColor}"]`))
208
+ .or(page.locator(`path[stroke="${convertHexToRGB(hexSeriesColor)}"]`))).not.toBeVisible();
209
+ }
210
+ });
211
+ exports.expectLegendSeriesToBeVisibleInChart = expectLegendSeriesToBeVisibleInChart;
212
+ // Check so legends are selected -> has checkmark and no strike-through classes
213
+ const expectLegendsSelected = (page, seriesNames) => __awaiter(void 0, void 0, void 0, function* () {
214
+ for (const name of seriesNames) {
215
+ yield (0, experimental_ct_react_1.expect)(page.locator(SELECTORS.seriesCheckmark(name))).toBeVisible();
216
+ yield (0, experimental_ct_react_1.expect)(page.locator(SELECTORS.seriesDeselected(name))).not.toBeVisible();
217
+ }
218
+ });
219
+ exports.expectLegendsSelected = expectLegendsSelected;
220
+ // Check so legends are deselected -> has strike-through and no checkmark classes
221
+ const expectLegendsDeselected = (page, seriesNames) => __awaiter(void 0, void 0, void 0, function* () {
222
+ for (const name of seriesNames) {
223
+ yield (0, experimental_ct_react_1.expect)(page.locator(SELECTORS.seriesDeselected(name))).toBeVisible();
224
+ yield (0, experimental_ct_react_1.expect)(page.locator(SELECTORS.seriesCheckmark(name))).not.toBeVisible();
225
+ }
226
+ });
227
+ exports.expectLegendsDeselected = expectLegendsDeselected;
228
+ // Check so all legends are neutral -> no checkmark and no strike-through classes
229
+ const expectAllLegendsNeutral = (page) => __awaiter(void 0, void 0, void 0, function* () {
230
+ yield (0, experimental_ct_react_1.expect)(page.locator(SELECTORS.CHECKMARK)).not.toBeVisible();
231
+ yield (0, experimental_ct_react_1.expect)(page.locator(SELECTORS.DESELECTED)).not.toBeVisible();
232
+ });
233
+ exports.expectAllLegendsNeutral = expectAllLegendsNeutral;
234
+ /**
235
+ * Clicks the series legend item and hover the chart to make sure no blur effect exists on other series in the chart.
236
+ * This is needed to make sure the series has the correct color when looking for them in the chart in later steps.
237
+ */
238
+ const clickSeries = (page, seriesName) => __awaiter(void 0, void 0, void 0, function* () {
239
+ yield page.locator(`[data-labelname="${seriesName}"]`).click();
240
+ yield page.hover('.ndl-chart');
241
+ });
242
+ exports.clickSeries = clickSeries;
243
+ //# sourceMappingURL=chart-test-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chart-test-utils.js","sourceRoot":"","sources":["../../../../src/charts/tests/chart-test-utils.tsx"],"names":[],"mappings":"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"}