UNPKG

@mui/x-data-grid

Version:

The Community plan edition of the MUI X Data Grid components.

102 lines (100 loc) 4.47 kB
"use strict"; 'use client'; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default; Object.defineProperty(exports, "__esModule", { value: true }); exports.GridFilterPanel = void 0; Object.defineProperty(exports, "getGridFilter", { enumerable: true, get: function () { return _GridFilterPanelBase.getGridFilter; } }); var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var React = _interopRequireWildcard(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _forwardRef = require("@mui/x-internals/forwardRef"); var _useGridApiContext = require("../../../hooks/utils/useGridApiContext"); var _useGridSelector = require("../../../hooks/utils/useGridSelector"); var _gridFilterSelector = require("../../../hooks/features/filter/gridFilterSelector"); var _GridFilterPanelBase = require("./GridFilterPanelBase"); var _jsxRuntime = require("react/jsx-runtime"); const GridFilterPanel = exports.GridFilterPanel = (0, _forwardRef.forwardRef)(function GridFilterPanel(props, ref) { const apiRef = (0, _useGridApiContext.useGridApiContext)(); const filterModel = (0, _useGridSelector.useGridSelector)(apiRef, _gridFilterSelector.gridFilterModelSelector); const handleFilterModelChange = React.useCallback((model, reason) => { apiRef.current.setFilterModel(model, reason); }, [apiRef]); const handleClose = React.useCallback(() => { apiRef.current.hideFilterPanel(); }, [apiRef]); return /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridFilterPanelBase.GridFilterPanelBase, (0, _extends2.default)({}, props, { filterModel: filterModel, onFilterModelChange: handleFilterModelChange, onClose: handleClose, ref: ref, disableDebounce: false })); }); if (process.env.NODE_ENV !== "production") GridFilterPanel.displayName = "GridFilterPanel"; process.env.NODE_ENV !== "production" ? GridFilterPanel.propTypes /* remove-proptypes */ = { // ----------------------------- Warning -------------------------------- // | These PropTypes are generated from the TypeScript type definitions | // | To update them edit the TypeScript types and run "pnpm proptypes" | // ---------------------------------------------------------------------- /** * @ignore - do not document. */ children: _propTypes.default.node, /** * Changes how the options in the columns selector should be ordered. * If not specified, the order is derived from the `columns` prop. */ columnsSort: _propTypes.default.oneOf(['asc', 'desc']), /** * If `true`, the `Add filter` button will not be displayed. * @default false */ disableAddFilterButton: _propTypes.default.bool, /** * If `true`, the `Remove all` button will be disabled * @default false */ disableRemoveAllButton: _propTypes.default.bool, /** * Props passed to each filter form. */ filterFormProps: _propTypes.default.shape({ columnInputProps: _propTypes.default.any, columnsSort: _propTypes.default.oneOf(['asc', 'desc']), deleteIconProps: _propTypes.default.any, filterColumns: _propTypes.default.func, logicOperatorInputProps: _propTypes.default.any, operatorInputProps: _propTypes.default.any, valueInputProps: _propTypes.default.any }), /** * Function that returns the next filter item to be picked as default filter. * @param {GetColumnForNewFilterArgs} args Currently configured filters and columns. * @returns {GridColDef['field']} The field to be used for the next filter or `null` to prevent adding a filter. */ getColumnForNewFilter: _propTypes.default.func, /** * Sets the available logic operators. * @default [GridLogicOperator.And, GridLogicOperator.Or] */ logicOperators: _propTypes.default.arrayOf(_propTypes.default.oneOf(['and', 'or']).isRequired), /** * The system prop that allows defining system overrides as well as additional CSS styles. */ sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object, _propTypes.default.bool])), _propTypes.default.func, _propTypes.default.object]) } : void 0; /** * Demos: * - [Filtering - overview](https://mui.com/x/react-data-grid/filtering/) * * API: * - [GridFilterPanel API](https://mui.com/x/api/data-grid/grid-filter-panel/) */