{
+ dispatch(changeFilterField({ id: value.id, field: e.value ?? '' }));
+ if (['exists', 'not exists'].includes(value.filter.operator) || isSet(value.filter.value)) {
+ onSubmit();
+ }
+ // Auto focus the value input when a field is selected
+ setTimeout(() => valueInputRef.current?.focus(), 100);
+ }}
+ placeholder="Select Field"
+ value={value.filter.key}
+ />
+
+ op.value === value.filter.operator)}
+ options={filterOperations}
+ onChange={(e) => {
+ let op = e.value ?? filterOperations[0].value;
+ dispatch(changeFilterOperation({ id: value.id, op: op }));
+ if (['exists', 'not exists'].includes(op) || isSet(value.filter.value)) {
+ onSubmit();
+ }
+ }}
+ />
+
+ {!['exists', 'not exists'].includes(value.filter.operator) && (
+ dispatch(changeFilterValue({ id: value.id, value: e.currentTarget.value }))}
+ onKeyUp={(e) => {
+ if (e.key === 'Enter') {
+ onSubmit();
+ }
+ }}
+ />
+ )}
+