Fix: fix problem of pending preference parts

This commit is contained in:
Pieter Vander Vennet 2025-06-02 00:42:35 +02:00
parent b8530ba850
commit 10e0262a0d
3 changed files with 24 additions and 38 deletions

View file

@ -269,9 +269,10 @@ export class OsmPreferences {
if (!this.osmConnection.isLoggedIn.data) { if (!this.osmConnection.isLoggedIn.data) {
return return
} }
if (v === null || v === undefined || v === "" || v === "undefined" || v === "null") { // _All_ keys are deleted first, to avoid pending parts
const keysToDelete = OsmPreferences.keysStartingWith(this.seenKeys, k) const keysToDelete = OsmPreferences.keysStartingWith(this.seenKeys, k)
await Promise.all(keysToDelete.map((k) => this.deleteKeyDirectly(k))) await Promise.all(keysToDelete.map((k) => this.deleteKeyDirectly(k)))
if (v === null || v === undefined || v === "" || v === "undefined" || v === "null") {
return return
} }

View file

@ -1,31 +1,28 @@
<script lang="ts"> <script lang="ts">
import { onMount } from "svelte"
export let imageInfo import { OsmConnection } from "../Logic/Osm/OsmConnection"
import { PhotoSphereViewerWrapper } from "./Image/photoSphereViewerWrapper" const conn = new OsmConnection()
const ud = conn.userDetails.mapD(ud => ud.name)
let container: HTMLElement const pref = conn.getPreference("test")
onMount(() => { const enigma = "De Schlüsselmaschine E, ook wel bekend als de Cypher Machine E, is vooral bekend als de Enigma.\n" +
console.log("Creating viewer...") "\n" +
const features = [ "De Enigma is een soortnaam van elektromechanische codeermachines van het type rotormachine. Hiermee kunnen berichten gecodeerd worden in andere lettercombinaties dan het origineel, die vervolgens weer terugvertaald kunnen worden door een identieke machine. Enigma is Grieks voor raadsel.\n" +
{ "\n" +
type: "Feature", "Het Enigma-toestel werd in de jaren twintig op de markt gebracht door Chiffriermaschinen AG en gebruikt door verscheidene Europese bedrijven, diplomatieke diensten en legers, maar werd vooral bekend als codeermachine van de Wehrmacht vóór en tijdens de Tweede Wereldoorlog in nazi-Duitsland.\n" +
properties: { name: "trap" }, "\n" +
geometry: { "Mede dankzij de Poolse inlichtingendienst, slaagde de Pool Marian Adam Rejewski er tijdens de Tweede Wereldoorlog in de Enigmacodes te breken, in tegenstelling tot de bewering dat de Britse inlichtingendienst hiervoor verantwoordelijk zou zijn. Het breken van de Enigmacodes bleek een goudmijn aan informatie te zijn. Deze informatie, verkregen door ontcijfering van de geheime Duitse berichten, kreeg de codenaam Ultra en speelde een uiterst belangrijke rol in het verloop van de Tweede Wereldoorlog, vooral in de U-bootoorlog in de Atlantische Oceaan, de veldslagen in Afrika en de Landing in Normandië.\n" +
coordinates: [3.742395038713312, 51.05237592785801], "\n" +
type: "Point", "De Enigma-machine had een zeer degelijk ontwerp waarvan de code onbreekbaar leek vanwege een ongeëvenaard cryptografisch veiligheidsniveau. Het waren buitgemaakte codeboeken, fouten door operators en onveilige procedures bij de versleuteling van berichten die het breken van de Enigmacode mogelijk maakten. "
},
},
]
const viewer = new PhotoSphereViewerWrapper(container, imageInfo, features)
// console.log(panorama, container)
})
</script> </script>
<head> <h3>Settings test</h3>
<link rel="stylesheet" href="./node_modules/pannellum/build/pannellum.css" /> Logged in as <b>{$ud}</b>
</head>
<div bind:this={container} class="h-screen w-screen border" style="height: 500px" /> Current value of pref is {$pref}
<button on:click={() => {pref.set(undefined)}}>Clear</button>
<button on:click={() => {pref.set("Short text")}}>Short</button>
<button on:click={() => {pref.set(enigma)}}>Long</button>

View file

@ -1,17 +1,5 @@
import { Mapillary } from "./Logic/ImageProviders/Mapillary"
import Test from "./UI/Test.svelte" import Test from "./UI/Test.svelte"
const target = document.getElementById("maindiv") const target = document.getElementById("maindiv")
target.innerHTML = "" target.innerHTML = ""
/* new Test({ target })
let imgId = "8af265ba-3521-4c46-b2a9-c072215c1de3"
let panoramax = new PanoramaxXYZ()
panoramax.imageInfo(imgId).then((imageInfo: ImageData) => {
console.log("IMG INFO: ", imageInfo)
new Test({ target, props: { imageInfo } })
})*/
let pkey = 1199645818028177
new Mapillary().DownloadImageInfo(pkey).then((imageInfo) => {
new Test({ target, props: { imageInfo } })
})