@mui/x-charts
Version:
The community edition of MUI X Charts components.
19 lines (17 loc) • 851 B
JavaScript
import { createSelector, createSelectorMemoized } from '@mui/x-internals/store';
import { isIdentifierVisible } from "./isIdentifierVisible.js";
/**
* Selector to get the visibility manager state.
*/
const selectVisibilityManager = state => state.visibilityManager;
export const EMPTY_VISIBILITY_MAP = new Map();
/**
* Selector to get the hidden identifiers from the visibility manager.
*/
export const selectorVisibilityMap = createSelector(selectVisibilityManager, visibilityManager => visibilityManager?.visibilityMap ?? EMPTY_VISIBILITY_MAP);
/**
* Selector that returns a function which returns whether an item is visible.
*/
export const selectorIsItemVisibleGetter = createSelectorMemoized(selectorVisibilityMap, visibilityMap => {
return (seriesConfig, identifier) => isIdentifierVisible(visibilityMap, identifier, seriesConfig);
});