@@ -156,14 +156,18 @@ export class L7Layer extends CustomOverlayLayer {
156
156
const { filter } = this . l7layer . rawConfig ;
157
157
let { field : filterFields = [ ] , values } = getL7Filter ( filter , this . id ) || { } ;
158
158
if ( ! filterFields . length && this . selectedDatas [ 0 ] ) {
159
- filterFields = Object . keys ( this . selectedDatas [ 0 ] . properties ) ;
159
+ filterFields = Object . keys ( this . selectedDatas [ 0 ] . properties || { } ) ;
160
160
}
161
161
const fields = filterFields ;
162
- const transformFilterValuesFn = this . _transformFilterValues . bind ( this , { fields, values, selectedDatas : this . selectedDatas } ) ;
162
+ const transformFilterValuesFn = this . _transformFilterValues . bind ( this , {
163
+ fields,
164
+ values,
165
+ selectedDatas : this . selectedDatas
166
+ } ) ;
163
167
return {
164
168
field : fields ,
165
169
values : transformFilterValuesFn
166
- }
170
+ } ;
167
171
}
168
172
169
173
setFilter ( filter ) {
@@ -321,7 +325,7 @@ export class L7Layer extends CustomOverlayLayer {
321
325
const features = cacheFeatures . filter (
322
326
( item ) =>
323
327
( ! item [ featureId ] || ! mvtDatas . some ( ( feature ) => feature [ featureId ] === item [ featureId ] ) ) &&
324
- ( ! item . properties [ featureId ] ||
328
+ ( ! ( item . properties || { } ) [ featureId ] ||
325
329
! mvtDatas . some ( ( feature ) => feature . properties [ featureId ] === item . properties [ featureId ] ) )
326
330
) ;
327
331
mvtDatas . push ( ...features ) ;
@@ -367,11 +371,14 @@ export class L7Layer extends CustomOverlayLayer {
367
371
368
372
_transformFilterValues ( options , ...args ) {
369
373
const { fields, values, selectedDatas } = options ;
370
- const argValues = args . filter ( item => item !== void 0 ) ;
371
- const selectedValues = selectedDatas . map ( feature => {
372
- return fields . map ( name => ( feature . properties || { } ) [ name ] ) . filter ( item => item !== void 0 ) ;
374
+ const argValues = args . filter ( ( item ) => item !== void 0 ) ;
375
+ const selectedValues = selectedDatas . map ( ( feature ) => {
376
+ return fields . map ( ( name ) => ( feature . properties || { } ) [ name ] ) . filter ( ( item ) => item !== void 0 ) ;
373
377
} ) ;
374
- return ( ! values || values ( ...args ) ) && ! selectedValues . some ( values => JSON . stringify ( values ) === JSON . stringify ( argValues ) ) ;
378
+ return (
379
+ ( ! values || values ( ...args ) ) &&
380
+ ! selectedValues . some ( ( values ) => JSON . stringify ( values ) === JSON . stringify ( argValues ) )
381
+ ) ;
375
382
}
376
383
}
377
384
0 commit comments