@mui/x-data-grid
Version:
The Community plan edition of the MUI X Data Grid components.
102 lines (100 loc) • 4.47 kB
JavaScript
"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/)
*/