@mui/x-data-grid-premium
Version:
The Premium plan edition of the MUI X Data Grid Components.
121 lines (120 loc) • 6.93 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.GridPremiumToolbar = GridPremiumToolbar;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
var React = _interopRequireWildcard(require("react"));
var _internals = require("@mui/x-data-grid-pro/internals");
var _xDataGridPro = require("@mui/x-data-grid-pro");
var _export = require("./export");
var _useGridRootProps = require("../hooks/utils/useGridRootProps");
var _useGridApiContext = require("../hooks/utils/useGridApiContext");
var _PivotPanelTrigger = require("./pivotPanel/PivotPanelTrigger");
var _aiAssistantPanel = require("./aiAssistantPanel");
var _ChartsPanelTrigger = require("./chartsPanel/ChartsPanelTrigger");
var _history = require("../hooks/features/history");
var _jsxRuntime = require("react/jsx-runtime");
const _excluded = ["excelOptions"];
function GridPremiumToolbar(props) {
const rootProps = (0, _useGridRootProps.useGridRootProps)();
const apiRef = (0, _useGridApiContext.useGridApiContext)();
const other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
const historyEnabled = (0, _internals.useGridSelector)(apiRef, _history.gridHistoryEnabledSelector);
const showHistoryControls = rootProps.slotProps?.toolbar?.showHistoryControls !== false && historyEnabled;
const canUndo = (0, _internals.useGridSelector)(apiRef, _history.gridHistoryCanUndoSelector);
const canRedo = (0, _internals.useGridSelector)(apiRef, _history.gridHistoryCanRedoSelector);
const mainControls = /*#__PURE__*/(0, _jsxRuntime.jsxs)(React.Fragment, {
children: [showHistoryControls && /*#__PURE__*/(0, _jsxRuntime.jsxs)(React.Fragment, {
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseTooltip, {
title: apiRef.current.getLocaleText('toolbarUndo'),
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_xDataGridPro.ToolbarButton, {
disabled: !canUndo,
onClick: () => apiRef.current.history.undo(),
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.undoIcon, {
fontSize: "small"
})
})
})
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseTooltip, {
title: apiRef.current.getLocaleText('toolbarRedo'),
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_xDataGridPro.ToolbarButton, {
disabled: !canRedo,
onClick: () => apiRef.current.history.redo(),
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.redoIcon, {
fontSize: "small"
})
})
})
})]
}), showHistoryControls && /*#__PURE__*/(0, _jsxRuntime.jsx)(_internals.GridToolbarDivider, {}), !rootProps.disableColumnSelector && /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseTooltip, {
title: apiRef.current.getLocaleText('toolbarColumns'),
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_xDataGridPro.ColumnsPanelTrigger, {
render: /*#__PURE__*/(0, _jsxRuntime.jsx)(_xDataGridPro.ToolbarButton, {}),
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.columnSelectorIcon, {
fontSize: "small"
})
})
}), !rootProps.disableColumnFilter && /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseTooltip, {
title: apiRef.current.getLocaleText('toolbarFilters'),
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_xDataGridPro.FilterPanelTrigger, {
render: (triggerProps, state) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_xDataGridPro.ToolbarButton, (0, _extends2.default)({}, triggerProps, {
color: state.filterCount > 0 ? 'primary' : 'default',
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseBadge, {
badgeContent: state.filterCount,
color: "primary",
variant: "dot",
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.openFilterButtonIcon, {
fontSize: "small"
})
})
}))
})
}), !rootProps.disablePivoting && /*#__PURE__*/(0, _jsxRuntime.jsx)(_PivotPanelTrigger.PivotPanelTrigger, {
render: (triggerProps, state) => /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseTooltip, {
title: apiRef.current.getLocaleText('toolbarPivot'),
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_xDataGridPro.ToolbarButton, (0, _extends2.default)({}, triggerProps, {
color: state.active ? 'primary' : 'default',
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.pivotIcon, {
fontSize: "small"
})
}))
})
}), rootProps.experimentalFeatures?.charts && rootProps.chartsIntegration && /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsPanelTrigger.ChartsPanelTrigger, {
render: triggerProps => /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseTooltip, {
title: apiRef.current.getLocaleText('toolbarCharts'),
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_xDataGridPro.ToolbarButton, (0, _extends2.default)({}, triggerProps, {
color: "default",
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.chartsIcon, {
fontSize: "small"
})
}))
})
}), rootProps.aiAssistant && /*#__PURE__*/(0, _jsxRuntime.jsx)(_aiAssistantPanel.AiAssistantPanelTrigger, {
render: triggerProps => /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseTooltip, {
title: apiRef.current.getLocaleText('toolbarAssistant'),
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_xDataGridPro.ToolbarButton, (0, _extends2.default)({}, triggerProps, {
color: "default",
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.aiAssistantIcon, {
fontSize: "small"
})
}))
})
})]
});
const additionalExportMenuItems = !props.excelOptions?.disableToolbarButton ? onMenuItemClick => /*#__PURE__*/(0, _jsxRuntime.jsx)(_export.ExportExcel, {
render: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseMenuItem, (0, _extends2.default)({}, rootProps.slotProps?.baseMenuItem)),
options: props.excelOptions,
onClick: onMenuItemClick,
children: apiRef.current.getLocaleText('toolbarExportExcel')
}) : undefined;
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_internals.GridToolbar, (0, _extends2.default)({}, other, {
mainControls: mainControls,
additionalExportMenuItems: additionalExportMenuItems
}));
}