From 614158e3c6f585e6b4e68bdbb1211badc532f1ef Mon Sep 17 00:00:00 2001 From: pietervdvn Date: Tue, 5 Jan 2021 11:17:12 +0100 Subject: [PATCH] Performance improvements --- Logic/FeatureSource/FilteringFeatureSource.ts | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/Logic/FeatureSource/FilteringFeatureSource.ts b/Logic/FeatureSource/FilteringFeatureSource.ts index 57f6e34..49fd200 100644 --- a/Logic/FeatureSource/FilteringFeatureSource.ts +++ b/Logic/FeatureSource/FilteringFeatureSource.ts @@ -39,8 +39,6 @@ export default class FilteringFeatureSource implements FeatureSource { for (const layer of layers) { layerDict[layer.layerDef.id] = layer; - layer.isDisplayed.addCallback(() => { - update()}) } upstream.features.addCallback(() => { update()}); @@ -48,12 +46,16 @@ export default class FilteringFeatureSource implements FeatureSource { // We want something that is stable for the shown layers const displayedLayerIndexes = []; for (let i = 0; i < layers.length; i++) { - if(l.zoom <= layers[i].layerDef.minzoom){ - displayedLayerIndexes.push(i); + if(l.zoom < layers[i].layerDef.minzoom){ + continue; } + if(!layers[i].isDisplayed.data){ + continue; + } + displayedLayerIndexes.push(i); } return displayedLayerIndexes.join(",") - }) + }, layers.map(l => l.isDisplayed)) .addCallback(() => { update();});