forked from MapComplete/MapComplete
Fix loading external velopark data
This commit is contained in:
parent
250eede658
commit
505844b64a
6 changed files with 26 additions and 12 deletions
|
@ -4,7 +4,6 @@
|
|||
import { UIEventSource } from "../../Logic/UIEventSource"
|
||||
import type { OsmTags } from "../../Models/OsmFeature"
|
||||
import type { SpecialVisualizationState } from "../SpecialVisualization"
|
||||
import type { P4CPicture } from "../../Logic/Web/NearbyImagesSearch"
|
||||
import type { Feature } from "geojson"
|
||||
import LayerConfig from "../../Models/ThemeConfig/LayerConfig"
|
||||
import ComparisonAction from "./ComparisonAction.svelte"
|
||||
|
@ -19,7 +18,6 @@
|
|||
|
||||
export let tags: UIEventSource<OsmTags>
|
||||
export let state: SpecialVisualizationState
|
||||
export let image: P4CPicture
|
||||
export let feature: Feature
|
||||
export let layer: LayerConfig
|
||||
|
||||
|
@ -115,6 +113,5 @@
|
|||
{layer} />
|
||||
{/each}
|
||||
|
||||
|
||||
{/if}
|
||||
|
||||
|
|
|
@ -11,11 +11,12 @@ import { UIEventSource } from "../../Logic/UIEventSource"
|
|||
import ComparisonTable from "./ComparisonTable.svelte"
|
||||
import LayerConfig from "../../Models/ThemeConfig/LayerConfig"
|
||||
import type { Feature } from "geojson"
|
||||
import type { OsmTags } from "../../Models/OsmFeature"
|
||||
|
||||
export let url: string
|
||||
export let postprocessVelopark: boolean
|
||||
export let state: SpecialVisualizationState
|
||||
export let tags: UIEventSource<Record<string, string>>
|
||||
export let tags: UIEventSource<OsmTags>
|
||||
export let layer: LayerConfig
|
||||
export let feature: Feature
|
||||
let data: any = undefined
|
||||
|
@ -56,6 +57,6 @@ onMount(async () => {
|
|||
<Loading>
|
||||
Loading {$tags[url]}
|
||||
</Loading>
|
||||
{:else}
|
||||
<ComparisonTable externalProperties={data.properties} osmProperties={$tags} {state} {feature} {layer} {tags}/>
|
||||
{:else if data.properties !== undefined}
|
||||
<ComparisonTable externalProperties={data.properties} osmProperties={$tags} {state} {feature} {layer} {tags} />
|
||||
{/if}
|
||||
|
|
|
@ -98,7 +98,7 @@ export interface SpecialVisualization {
|
|||
readonly funcName: string
|
||||
readonly docs: string | BaseUIElement
|
||||
readonly example?: string
|
||||
readonly needsUrls?: string[] | ((args: string[]) => string)
|
||||
readonly needsUrls?: string[] | ((args: string[]) => string | string[])
|
||||
|
||||
/**
|
||||
* Indicates that this special visualisation will make requests to the 'alLNodesDatabase' and that it thus should be included
|
||||
|
|
|
@ -1641,13 +1641,18 @@ export default class SpecialVisualizations {
|
|||
},
|
||||
{
|
||||
funcName: "compare_data",
|
||||
needsUrls: (args) => args[0],
|
||||
needsUrls: (args) => args[1].split(";"),
|
||||
args:[
|
||||
{
|
||||
name: "url",
|
||||
required: true,
|
||||
doc: "The attribute containing the url where to fetch more data"
|
||||
},
|
||||
{
|
||||
name:"host",
|
||||
required:true,
|
||||
doc: "The domain name(s) where data might be fetched from - this is needed to set the CSP. A domain must include 'https', e.g. 'https://example.com'. For multiple domains, separate them with ';'. If you don't know the possible domains, use '*'. "
|
||||
},
|
||||
{
|
||||
name: "postprocessing",
|
||||
required: false,
|
||||
|
@ -1657,7 +1662,7 @@ export default class SpecialVisualizations {
|
|||
docs: "Gives an interactive element which shows a tag comparison between the OSM-object and the upstream object. This allows to copy some or all tags into OSM",
|
||||
constr(state: SpecialVisualizationState, tagSource: UIEventSource<Record<string, string>>, args: string[], feature: Feature, layer: LayerConfig): BaseUIElement {
|
||||
const url = args[0]
|
||||
const postprocessVelopark = args[1] === "velopark"
|
||||
const postprocessVelopark = args[2] === "velopark"
|
||||
return new SvelteUIElement(ComparisonTool, {url, postprocessVelopark, state, tags: tagSource, layer, feature})
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue