Files
Iliyan Angelov 306b20e24a Frontend start
2025-09-14 00:54:48 +03:00

35 lines
1.1 KiB
JavaScript

"use strict";
'use client';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useLegend = useLegend;
var _useChartSeries = require("../internals/plugins/corePlugins/useChartSeries");
var _useSeries = require("./useSeries");
var _useStore = require("../internals/store/useStore");
var _useSelector = require("../internals/store/useSelector");
function getSeriesToDisplay(series, seriesConfig) {
return Object.keys(series).flatMap(seriesType => {
const getter = seriesConfig[seriesType].legendGetter;
return getter === undefined ? [] : getter(series[seriesType]);
});
}
/**
* Get the legend items to display.
*
* This hook is used by the `ChartsLegend` component. And will return the legend items formatted for display.
*
* An alternative is to use the `useSeries` hook and format the legend items yourself.
*
* @returns legend data
*/
function useLegend() {
const series = (0, _useSeries.useSeries)();
const store = (0, _useStore.useStore)();
const seriesConfig = (0, _useSelector.useSelector)(store, _useChartSeries.selectorChartSeriesConfig);
return {
items: getSeriesToDisplay(series, seriesConfig)
};
}