@@ -103,12 +103,24 @@ const FilterForm = (props: FilterFormProps ) => {
103103 const handleFilterChange = ( index , key , value ) => {
104104 const newFilters = filters . map ( ( filter , i ) => {
105105 if ( i === index ) {
106- return Object . assign ( new Filter ( ) , { ...filter , [ key ] : value } ) ;
106+ const updatedFilter = Object . assign ( new Filter ( ) , { ...filter , [ key ] : value } ) ;
107+
108+ if ( key === "operator" ) {
109+ if ( value === "is empty" || value === "is not empty" ) {
110+ updatedFilter . value = '' ;
111+ }
112+
113+ if ( value === "in set" || filter . operator === "in set" ) {
114+ updatedFilter . value = '' ;
115+ }
116+ }
117+
118+ return updatedFilter ;
107119 }
108120 return filter ;
109121 } ) ;
110122
111- localSetFilters ( newFilters )
123+ localSetFilters ( newFilters ) ;
112124 } ;
113125
114126 const handleSubmit = ( event ) => {
@@ -262,6 +274,7 @@ const FilterForm = (props: FilterFormProps ) => {
262274 < Select
263275 labelId = "value-select-label"
264276 value = { filter . value }
277+ disabled = { filter . operator === "is empty" || filter . operator === "is not empty" }
265278 onChange = { ( event ) =>
266279 handleFilterChange ( index , "value" , event . target . value )
267280 }
@@ -278,6 +291,7 @@ const FilterForm = (props: FilterFormProps ) => {
278291 label = "Value"
279292 sx = { highlightedInputs [ index ] ?. value ? highlightedSx : null }
280293 value = { filter . value }
294+ disabled = { filter . operator === "is empty" || filter . operator === "is not empty" }
281295 onChange = { ( event ) =>
282296 handleFilterChange ( index , 'value' , event . target . value )
283297 }
0 commit comments