UNPKG

@adaptabletools/adaptable

Version:

Powerful AG Grid extension which provides advanced, cutting-edge functionality to meet all DataGrid requirements

22 lines (21 loc) 1.46 kB
import { jsx as _jsx } from "react/jsx-runtime"; import * as React from 'react'; import { ColumnFilterComponent } from './ColumnFilter'; import { useAdaptableFilterWrapper } from './useAdaptableFilterWrapper'; import Panel from '../../../components/Panel'; export { isEmbeddedColumnFilterLocation } from './columnFilterLocation'; const ColumnFilterLocationContext = React.createContext(null); export const ColumnFilterLocationProvider = ColumnFilterLocationContext.Provider; export const useColumnFilterLocation = () => { return React.useContext(ColumnFilterLocationContext) ?? 'columnMenu'; }; export const AdaptableColumnFilter = (props) => { const { qlPredicate, qlPredicateDefs, columnFilter, handlePredicateChange } = useAdaptableFilterWrapper(props.columnId, 'FilterForm'); const filterContent = (_jsx(ColumnFilterLocationProvider, { value: props.location, children: _jsx(ColumnFilterComponent, { location: props.location, wrapperProps: props.wrapperProps, columnId: props.columnId, predicate: qlPredicate, predicateDefs: qlPredicateDefs, disabled: columnFilter?.IsSuspended, onPredicateChange: React.useCallback((predicate) => { handlePredicateChange(predicate); }, [handlePredicateChange]) }) })); if (props.location === 'filtersToolPanel') { return (_jsx(Panel, { className: "twa:p-1", bodyProps: { className: 'twa:p-0 twa:border-none' }, children: filterContent })); } return filterContent; };