UNPKG

@mui/x-charts

Version:

The community edition of MUI X Charts components.

24 lines (22 loc) 1.13 kB
import { createSelector, createSelectorMemoized } from '@mui/x-internals/store'; import { selectorChartSeriesConfig } from "../../corePlugins/useChartSeriesConfig/index.mjs"; import { serializeIdentifier } from "../../corePlugins/useChartSeriesConfig/utils/serializeIdentifier.mjs"; /** * 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); const selectorIsItemVisibleFn = (visibilityMap, seriesConfig) => { return identifier => { const uniqueId = serializeIdentifier(seriesConfig, identifier); return !visibilityMap.has(uniqueId); }; }; /** * Selector that returns a function which returns whether an item is visible. */ export const selectorIsItemVisibleGetter = createSelectorMemoized(selectorVisibilityMap, selectorChartSeriesConfig, selectorIsItemVisibleFn);