import { Group } from '@mantine/core'; import { useState } from 'react'; import { RiSubtractLine } from 'react-icons/ri'; import { Button } from '/@/renderer/components/button'; import { NumberInput, TextInput } from '/@/renderer/components/input'; import { Select } from '/@/renderer/components/select'; import { QueryBuilderRule } from '/@/renderer/types'; type DeleteArgs = { groupIndex: number[]; level: number; uniqueId: string; }; interface QueryOptionProps { data: QueryBuilderRule; filters: { label: string; type: string; value: string }[]; groupIndex: number[]; level: number; noRemove: boolean; onChangeField: (args: any) => void; onChangeOperator: (args: any) => void; onChangeValue: (args: any) => void; onDeleteRule: (args: DeleteArgs) => void; operators: { boolean: { label: string; value: string }[]; date: { label: string; value: string }[]; number: { label: string; value: string }[]; string: { label: string; value: string }[]; }; } const QueryValueInput = ({ onChange, type, ...props }: any) => { const [numberRange, setNumberRange] = useState([0, 0]); switch (type) { case 'string': return ( ); case 'number': return ( ); case 'date': return ( ); case 'dateRange': return ( <> { const newRange = [e || 0, numberRange[1]]; setNumberRange(newRange); onChange(newRange); }} /> { const newRange = [numberRange[0], e || 0]; setNumberRange(newRange); onChange(newRange); }} /> ); case 'boolean': return (