UNPKG

@mui/x-data-grid-premium

Version:

The Premium plan edition of the MUI X Data Grid Components.

121 lines (120 loc) 6.93 kB
"use strict"; 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 })); }