@mui/x-data-grid-premium
Version:
The Premium plan edition of the MUI X Data Grid Components.
31 lines (30 loc) • 2.82 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.gridChartsValuesSelector = exports.gridChartsPanelOpenSelector = exports.gridChartsIntegrationChartsLookupSelector = exports.gridChartsIntegrationActiveChartIdSelector = exports.gridChartsDimensionsSelector = exports.gridChartableColumnsSelector = void 0;
var _internals = require("@mui/x-data-grid-pro/internals");
var _sidebar = require("../sidebar");
var _gridPivotingSelectors = require("../pivoting/gridPivotingSelectors");
const gridChartsIntegrationStateSelector = (0, _internals.createRootSelector)(state => state.chartsIntegration);
const gridChartsIntegrationActiveChartIdSelector = exports.gridChartsIntegrationActiveChartIdSelector = (0, _internals.createSelector)(gridChartsIntegrationStateSelector, chartsIntegration => chartsIntegration.activeChartId);
const gridChartsIntegrationChartsLookupSelector = exports.gridChartsIntegrationChartsLookupSelector = (0, _internals.createSelector)(gridChartsIntegrationStateSelector, chartsIntegration => chartsIntegration.charts);
const gridChartsPanelOpenSelector = exports.gridChartsPanelOpenSelector = (0, _internals.createSelector)(_sidebar.gridSidebarStateSelector, sidebar => sidebar.value === _sidebar.GridSidebarValue.Charts && sidebar.open);
const gridChartableColumnsSelector = exports.gridChartableColumnsSelector = (0, _internals.createSelectorMemoized)(_internals.gridColumnLookupSelector, _internals.gridPivotActiveSelector, _gridPivotingSelectors.gridPivotModelSelector, (columns, pivotActive, pivotModel) => {
let chartableColumns = Object.values(columns).filter(column => column.chartable);
if (pivotActive) {
const pivotColumns = pivotModel.columns.filter(column => column.hidden !== true).map(column => column.field);
const pivotValues = pivotModel.values.filter(value => value.hidden !== true).map(value => value.field);
// pivot columns are not visualized
// once the columns are set, value fields are created dynamically. those fields remain chartable, but we remove the initial value columns
if (pivotColumns.length > 0) {
chartableColumns = chartableColumns.filter(column => !pivotColumns.includes(column.field) && !pivotValues.includes(column.field));
}
}
return chartableColumns.reduce((acc, column) => {
acc[column.field] = column;
return acc;
}, {});
});
const gridChartsDimensionsSelector = exports.gridChartsDimensionsSelector = (0, _internals.createSelector)(gridChartsIntegrationStateSelector, (chartsIntegration, chartId) => chartsIntegration.charts[chartId]?.dimensions || []);
const gridChartsValuesSelector = exports.gridChartsValuesSelector = (0, _internals.createSelector)(gridChartsIntegrationStateSelector, (chartsIntegration, chartId) => chartsIntegration.charts[chartId]?.values || []);