@oliasoft-open-source/charts-library 4.8.0 → 4.8.1-beta-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/dist/index.js CHANGED
@@ -26183,6 +26183,11 @@ const useChartOptions = ({
26183
26183
  chartAreaBorder: {
26184
26184
  borderColor: BORDER_COLOR
26185
26185
  },
26186
+ decimation: {
26187
+ enabled: true,
26188
+ algorithm: "lttb",
26189
+ samples: 200
26190
+ },
26186
26191
  chartAreaText: {
26187
26192
  showLabel,
26188
26193
  text,
@@ -26320,22 +26325,37 @@ const useUpdateAxesRanges = ({
26320
26325
  const useSaveInitialAxesRanges = (chartRef, dispatch, generatedDatasets) => {
26321
26326
  var _a2;
26322
26327
  const prevDatasets = useRef(null);
26328
+ const getDatasetsHash = (datasets) => {
26329
+ if (!datasets.length) return "";
26330
+ const datasetHashes = datasets.map((dataset) => {
26331
+ const data = dataset.data ?? [];
26332
+ if (!data.length) return "empty";
26333
+ const firstDataPoint = data.at(0);
26334
+ const lastDataPoint = data.at(-1);
26335
+ return `${firstDataPoint}-${lastDataPoint}`;
26336
+ });
26337
+ return `${datasets.length}-${datasetHashes.join("|")}`;
26338
+ };
26323
26339
  useEffect(() => {
26324
- var _a3, _b2;
26325
- if (((_a3 = chartRef == null ? void 0 : chartRef.current) == null ? void 0 : _a3.scales) && !isEqual(prevDatasets.current, generatedDatasets)) {
26326
- const scales = ((_b2 = chartRef == null ? void 0 : chartRef.current) == null ? void 0 : _b2.scales) ?? {};
26327
- const initialAxesRanges = Object.entries(scales).map(
26328
- ([id, { min, max, _range: range }]) => ({
26329
- id,
26330
- min: (range == null ? void 0 : range.min) ?? min,
26331
- max: (range == null ? void 0 : range.max) ?? max
26332
- })
26333
- );
26334
- dispatch({
26335
- type: SAVE_INITIAL_AXES_RANGES,
26336
- payload: { initialAxesRanges }
26337
- });
26338
- prevDatasets.current = generatedDatasets;
26340
+ var _a3;
26341
+ if ((_a3 = chartRef == null ? void 0 : chartRef.current) == null ? void 0 : _a3.scales) {
26342
+ const prevHash = prevDatasets.current ? getDatasetsHash(prevDatasets.current) : "";
26343
+ const currentHash = getDatasetsHash(generatedDatasets);
26344
+ if (prevHash !== currentHash) {
26345
+ const scales = chartRef.current.scales;
26346
+ const initialAxesRanges = Object.entries(scales).map(
26347
+ ([id, { min, max, _range: range }]) => ({
26348
+ id,
26349
+ min: (range == null ? void 0 : range.min) ?? min,
26350
+ max: (range == null ? void 0 : range.max) ?? max
26351
+ })
26352
+ );
26353
+ dispatch({
26354
+ type: SAVE_INITIAL_AXES_RANGES,
26355
+ payload: { initialAxesRanges }
26356
+ });
26357
+ prevDatasets.current = generatedDatasets;
26358
+ }
26339
26359
  }
26340
26360
  }, [(_a2 = chartRef == null ? void 0 : chartRef.current) == null ? void 0 : _a2.scales, generatedDatasets]);
26341
26361
  };