From 244882d53416c34721295a59d1eae0d628875692 Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Wed, 16 Nov 2022 01:10:13 +0100 Subject: [PATCH] Fix import helper --- Logic/FeatureSource/Sources/FilteringFeatureSource.ts | 10 +++++----- UI/ImportFlow/ImportViewerGui.ts | 7 +++++-- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/Logic/FeatureSource/Sources/FilteringFeatureSource.ts b/Logic/FeatureSource/Sources/FilteringFeatureSource.ts index 533da56563..bfac081dc3 100644 --- a/Logic/FeatureSource/Sources/FilteringFeatureSource.ts +++ b/Logic/FeatureSource/Sources/FilteringFeatureSource.ts @@ -18,7 +18,7 @@ export default class FilteringFeatureSource implements FeatureSourceForLayer, Ti private readonly state: { locationControl: Store<{ zoom: number }> selectedElement: Store - globalFilters: Store<{ filter: FilterState }[]> + globalFilters?: Store<{ filter: FilterState }[]> allElements: ElementStorage } private readonly _alreadyRegistered = new Set>() @@ -30,7 +30,7 @@ export default class FilteringFeatureSource implements FeatureSourceForLayer, Ti locationControl: Store<{ zoom: number }> selectedElement: Store allElements: ElementStorage - globalFilters: Store<{ filter: FilterState }[]> + globalFilters?: Store<{ filter: FilterState }[]> }, tileIndex, upstream: FeatureSourceForLayer, @@ -63,7 +63,7 @@ export default class FilteringFeatureSource implements FeatureSourceForLayer, Ti self._is_dirty.setData(true) }) - state.globalFilters.addCallback((_) => { + state.globalFilters?.addCallback((_) => { self.update() }) @@ -76,7 +76,7 @@ export default class FilteringFeatureSource implements FeatureSourceForLayer, Ti const features: { feature: OsmFeature; freshness: Date }[] = this.upstream.features.data ?? [] const includedFeatureIds = new Set() - const globalFilters = self.state.globalFilters.data.map((f) => f.filter) + const globalFilters = self.state.globalFilters?.data?.map((f) => f.filter) const newFeatures = (features ?? []).filter((f) => { self.registerCallback(f.feature) @@ -98,7 +98,7 @@ export default class FilteringFeatureSource implements FeatureSourceForLayer, Ti } } - for (const filter of globalFilters) { + for (const filter of (globalFilters ?? [])) { const neededTags: TagsFilter = filter?.currentFilter if ( neededTags !== undefined && diff --git a/UI/ImportFlow/ImportViewerGui.ts b/UI/ImportFlow/ImportViewerGui.ts index e27f25e5b3..6010ab5879 100644 --- a/UI/ImportFlow/ImportViewerGui.ts +++ b/UI/ImportFlow/ImportViewerGui.ts @@ -128,7 +128,7 @@ class MassAction extends Combine { }, /* { - // This was a one-off for one of the first imports + // This was a one-off for one of the first imports value:{ predicate: p => p.status === "open" && p.comments[0].text.split("\n").find(l => l.startsWith("note=")) !== undefined, action: async p => { @@ -440,7 +440,10 @@ class ImportInspector extends VariableUiElement { ) } // We only care about the properties here - const props: NoteProperties[] = notes["success"].features.map((f) => f.properties) + let props: NoteProperties[] = notes["success"].features.map((f) => f.properties) + if(userDetails["uid"]){ + props = props.filter(n => n.comments[0].uid === userDetails["uid"]) + } const perBatch: NoteState[][] = Array.from( ImportInspector.SplitNotesIntoBatches(props).values() )