import { ComponentType, CSSProperties, FC } from 'react';
import {
TableColumnMenuFilter,
TableColumnMenuProps,
TableFilterCellProps,
} from '@servicetitan/design-system';
import { TableColumnMenuFilterUIProps } from '..';
import { DropDownList } from '@progress/kendo-react-dropdowns';
export const StandardColumnMenuFilter = (props: TableColumnMenuProps) => (
);
export interface CustomColumnMenuFilterSingleOpts {
contentMaxHeight?: string;
contentClassName?: string;
}
export interface CustomColumnMenuFilterDoubleOpts {
double?: boolean;
doubleContentClassName?: string;
}
export type CustomColumnMenuFilterOpts = CustomColumnMenuFilterSingleOpts &
CustomColumnMenuFilterDoubleOpts;
export function renderCustomColumnMenuFilter(
FilterCell: ComponentType,
doubleOrOptions?: boolean | CustomColumnMenuFilterOpts
) {
const opts: CustomColumnMenuFilterOpts =
typeof doubleOrOptions === 'boolean'
? { double: doubleOrOptions }
: (doubleOrOptions ?? {});
const FilterUI: FC = ({
firstFilterProps,
secondFilterProps,
logicData,
logicValue,
onLogicChange,
}) => {
const contentStyles: CSSProperties = {};
if (opts.contentMaxHeight) {
contentStyles.maxHeight = opts.contentMaxHeight;
contentStyles.overflowY = 'auto';
}
return (
);
};
return (props: TableColumnMenuProps) => (
);
}