@mrii/react-table-builder
Version:
library to easily build tables using MUI grid
38 lines (34 loc) • 1.29 kB
JavaScript
;
var xDataGrid = require('@mui/x-data-grid');
var react = require('react');
var provider = require('../../../context/filter/provider.js');
var provider$1 = require('../../../context/table-builder/provider.js');
const CustomGridFilterPanel = ()=>{
const apiRef = xDataGrid.useGridApiContext();
const [filters, addFilter, deleteFilter] = provider.useTableBuilderFilters((s)=>[
s.filters,
s.addFilter,
s.deleteFilter
]);
const columns = provider$1.useTableBuilderColumns((s)=>s.columns);
react.useEffect(()=>{
const source = apiRef.current.state.tabIndex.columnHeader?.field;
if (!source) return;
const active = filters.findIndex((e)=>e.field === source) !== -1;
const columnDef = columns.find((c)=>c.field === source);
if (active) return deleteFilter(source);
if (!columnDef) return;
addFilter({
field: source,
column: columnDef,
value: columnDef.type === 'date' ? [
null,
null
] : ''
});
// eslint-disable-next-line react-hooks/exhaustive-deps
}, []);
return null;
};
exports.CustomGridFilterPanel = CustomGridFilterPanel;
//# sourceMappingURL=index.js.map