@mui/x-charts
Version:
The community edition of MUI X Charts components.
30 lines (27 loc) • 1.42 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.selectorVisibilityMap = exports.selectorIsItemVisibleGetter = exports.EMPTY_VISIBILITY_MAP = void 0;
var _store = require("@mui/x-internals/store");
var _useChartSeriesConfig = require("../../corePlugins/useChartSeriesConfig");
var _serializeIdentifier = require("../../corePlugins/useChartSeriesConfig/utils/serializeIdentifier");
/**
* Selector to get the visibility manager state.
*/
const selectVisibilityManager = state => state.visibilityManager;
const EMPTY_VISIBILITY_MAP = exports.EMPTY_VISIBILITY_MAP = new Map();
/**
* Selector to get the hidden identifiers from the visibility manager.
*/
const selectorVisibilityMap = exports.selectorVisibilityMap = (0, _store.createSelector)(selectVisibilityManager, visibilityManager => visibilityManager?.visibilityMap ?? EMPTY_VISIBILITY_MAP);
const selectorIsItemVisibleFn = (visibilityMap, seriesConfig) => {
return identifier => {
const uniqueId = (0, _serializeIdentifier.serializeIdentifier)(seriesConfig, identifier);
return !visibilityMap.has(uniqueId);
};
};
/**
* Selector that returns a function which returns whether an item is visible.
*/
const selectorIsItemVisibleGetter = exports.selectorIsItemVisibleGetter = (0, _store.createSelectorMemoized)(selectorVisibilityMap, _useChartSeriesConfig.selectorChartSeriesConfig, selectorIsItemVisibleFn);