From 286fe729359db1ec36328768a6a7662a9e951ce8 Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Tue, 16 Jan 2024 23:55:18 +0100 Subject: [PATCH] Fix: allow to link multiple mapillary-images --- package.json | 2 +- src/Logic/ImageProviders/Mapillary.ts | 1 - src/Logic/Osm/Actions/LinkImageAction.ts | 3 +-- src/Logic/Osm/Changes.ts | 2 +- src/UI/Image/LinkableImage.svelte | 15 +++++++-------- src/UI/Image/NearbyImages.svelte | 2 +- 6 files changed, 11 insertions(+), 14 deletions(-) diff --git a/package.json b/package.json index 71f0b38be0..8eaa8e838b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mapcomplete", - "version": "0.36.12", + "version": "0.36.13", "repository": "https://github.com/pietervdvn/MapComplete", "description": "A small website to edit OSM easily", "bugs": "https://github.com/pietervdvn/MapComplete/issues", diff --git a/src/Logic/ImageProviders/Mapillary.ts b/src/Logic/ImageProviders/Mapillary.ts index 85f1bd1ac3..a508263fea 100644 --- a/src/Logic/ImageProviders/Mapillary.ts +++ b/src/Logic/ImageProviders/Mapillary.ts @@ -155,7 +155,6 @@ export class Mapillary extends ImageProvider { Constants.mapillary_client_token_v4 const response = await Utils.downloadJsonCached(metadataUrl, 60 * 60) const url = response["thumb_1024_url"] - console.log(response) const url_hd = response["thumb_original_url"] return { id: "" + mapillaryId, diff --git a/src/Logic/Osm/Actions/LinkImageAction.ts b/src/Logic/Osm/Actions/LinkImageAction.ts index 908ce15834..9755fa724f 100644 --- a/src/Logic/Osm/Actions/LinkImageAction.ts +++ b/src/Logic/Osm/Actions/LinkImageAction.ts @@ -1,7 +1,6 @@ import ChangeTagAction from "./ChangeTagAction" import { Tag } from "../../Tags/Tag" import OsmChangeAction from "./OsmChangeAction" -import { Changes } from "../Changes" import { ChangeDescription } from "./ChangeDescription" import { Store } from "../../UIEventSource" @@ -40,7 +39,7 @@ export default class LinkImageAction extends OsmChangeAction { protected CreateChangeDescriptions(): Promise { let key = this._proposedKey let i = 0 - const currentTags = this._currentTags.data + const currentTags: Record = this._currentTags.data const url = this._url while (currentTags[key] !== undefined && currentTags[key] !== url) { key = this._proposedKey + ":" + i diff --git a/src/Logic/Osm/Changes.ts b/src/Logic/Osm/Changes.ts index 935bb80b3d..3f2611edb6 100644 --- a/src/Logic/Osm/Changes.ts +++ b/src/Logic/Osm/Changes.ts @@ -539,7 +539,7 @@ export class Changes { openChangeset ) - console.log("Upload successfull!") + console.log("Upload successful!") return true } diff --git a/src/UI/Image/LinkableImage.svelte b/src/UI/Image/LinkableImage.svelte index 572cc67766..ea692b0832 100644 --- a/src/UI/Image/LinkableImage.svelte +++ b/src/UI/Image/LinkableImage.svelte @@ -15,18 +15,15 @@ import SpecialTranslation from "../Popup/TagRendering/SpecialTranslation.svelte" export let tags: UIEventSource - export let lon: number - export let lat: number export let state: SpecialVisualizationState export let image: P4CPicture export let feature: Feature export let layer: LayerConfig export let linkable = true - let isLinked = Object.values(tags.data).some((v) => image.pictureUrl === v) - + let targetValue = Object.values(image.osmTags)[0] + let isLinked = new UIEventSource(Object.values(tags.data).some((v) => targetValue === v)) const t = Translations.t.image.nearby - const c = [lon, lat] const providedImage: ProvidedImage = { url: image.thumbUrl ?? image.pictureUrl, url_hd: image.pictureUrl, @@ -36,10 +33,11 @@ id: Object.values(image.osmTags)[0], } - $: { + function applyLink(isLinked :boolean) { + console.log("Applying linked image", isLinked, targetValue) const currentTags = tags.data const key = Object.keys(image.osmTags)[0] - const url = image.osmTags[key] + const url = targetValue if (isLinked) { const action = new LinkImageAction(currentTags.id, key, url, tags, { theme: tags.data._orig_theme ?? state.layout.id, @@ -59,6 +57,7 @@ } } } + isLinked.addCallback(isLinked => applyLink(isLinked))
@@ -71,7 +70,7 @@
{#if linkable} {/if} diff --git a/src/UI/Image/NearbyImages.svelte b/src/UI/Image/NearbyImages.svelte index 375b1b4495..11e5c4d0c8 100644 --- a/src/UI/Image/NearbyImages.svelte +++ b/src/UI/Image/NearbyImages.svelte @@ -55,7 +55,7 @@
{#each $images as image (image.pictureUrl)} - + {/each}