@@ -13,6 +13,7 @@ import {
13
13
import { FilterLayerManager } from "./FilterLayerManager" ;
14
14
import { MapContext } from "../dataLayers/MapContextManager" ;
15
15
import { FormElementDetailsFragment } from "../generated/graphql" ;
16
+ import useDebounce from "../useDebounce" ;
16
17
17
18
export type FilterGeostatsAttribute = Pick <
18
19
GeostatsAttribute ,
@@ -153,12 +154,14 @@ export function FilterInputServiceContextProvider({
153
154
} ;
154
155
} , [ state , getAttributeDetails ] ) ;
155
156
157
+ const debouncedStartingProperties = useDebounce ( startingProperties , 100 ) ;
158
+
156
159
useEffect ( ( ) => {
157
- if ( startingProperties && state . metadata ) {
160
+ if ( debouncedStartingProperties && state . metadata ) {
158
161
if ( filterLayerManager ) {
159
162
const filterString = filterStateToSearchString (
160
163
filterDefaults (
161
- initialFilterState ( startingProperties , formElements ) ,
164
+ initialFilterState ( debouncedStartingProperties , formElements ) ,
162
165
state . metadata
163
166
)
164
167
) ;
@@ -173,7 +176,6 @@ export function FilterInputServiceContextProvider({
173
176
filterString : "" ,
174
177
} ) ) ;
175
178
} else if ( serviceLocation ) {
176
- // TODO: update count from service
177
179
setState ( ( prev ) => ( {
178
180
...prev ,
179
181
updatingCount : true ,
@@ -201,7 +203,7 @@ export function FilterInputServiceContextProvider({
201
203
}
202
204
}
203
205
} , [
204
- startingProperties ,
206
+ debouncedStartingProperties ,
205
207
state . metadata ,
206
208
filterLayerManager ,
207
209
formElements ,
0 commit comments