@@ -156,14 +156,18 @@ export class L7Layer extends CustomOverlayLayer {
156156 const { filter } = this . l7layer . rawConfig ;
157157 let { field : filterFields = [ ] , values } = getL7Filter ( filter , this . id ) || { } ;
158158 if ( ! filterFields . length && this . selectedDatas [ 0 ] ) {
159- filterFields = Object . keys ( this . selectedDatas [ 0 ] . properties ) ;
159+ filterFields = Object . keys ( this . selectedDatas [ 0 ] . properties || { } ) ;
160160 }
161161 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+ } ) ;
163167 return {
164168 field : fields ,
165169 values : transformFilterValuesFn
166- }
170+ } ;
167171 }
168172
169173 setFilter ( filter ) {
@@ -321,7 +325,7 @@ export class L7Layer extends CustomOverlayLayer {
321325 const features = cacheFeatures . filter (
322326 ( item ) =>
323327 ( ! item [ featureId ] || ! mvtDatas . some ( ( feature ) => feature [ featureId ] === item [ featureId ] ) ) &&
324- ( ! item . properties [ featureId ] ||
328+ ( ! ( item . properties || { } ) [ featureId ] ||
325329 ! mvtDatas . some ( ( feature ) => feature . properties [ featureId ] === item . properties [ featureId ] ) )
326330 ) ;
327331 mvtDatas . push ( ...features ) ;
@@ -367,11 +371,14 @@ export class L7Layer extends CustomOverlayLayer {
367371
368372 _transformFilterValues ( options , ...args ) {
369373 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 ) ;
373377 } ) ;
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+ ) ;
375382 }
376383}
377384
0 commit comments