forked from MapComplete/MapComplete
Add linked data module which scrapes websites
This commit is contained in:
parent
2af6af7630
commit
35c31f9861
15 changed files with 870 additions and 130 deletions
|
@ -1,19 +1,39 @@
|
|||
<script lang="ts">
|
||||
// Testing grounds
|
||||
import LanguageElement from "./Popup/LanguageElement/LanguageElement.svelte"
|
||||
import { UIEventSource } from "../Logic/UIEventSource"
|
||||
|
||||
let tags = new UIEventSource({ _country: "Be" })
|
||||
import { Stores } from "../Logic/UIEventSource"
|
||||
import { Utils } from "../Utils"
|
||||
import jsonld from "jsonld"
|
||||
import SelectedElementView from "./BigComponents/SelectedElementView.svelte"
|
||||
import * as shop from "../assets/generated/layers/shops.json"
|
||||
import LayerConfig from "../Models/ThemeConfig/LayerConfig"
|
||||
import type { OpeningHour } from "./OpeningHours/OpeningHours"
|
||||
import { OH } from "./OpeningHours/OpeningHours"
|
||||
import type { Geometry } from "geojson"
|
||||
|
||||
const shopLayer = new LayerConfig(<any>shop, "shops")
|
||||
|
||||
|
||||
const colruytUrl = "https://www.colruyt.be/nl/winkelzoeker/colruyt-gent"
|
||||
const url = "https://stores.delhaize.be/nl/ad-delhaize-dok-noord"
|
||||
let data = Stores.FromPromise(fetchJsonLd(url)).mapD(properties => ({
|
||||
...properties,
|
||||
id: properties["website"],
|
||||
shop: "supermarket",
|
||||
_country: "be",
|
||||
}))
|
||||
|
||||
let feature = data.mapD(properties => {
|
||||
return <any>{
|
||||
type: "Feature",
|
||||
properties,
|
||||
geometry: {
|
||||
type: "Point",
|
||||
coordinates: properties["geo"],
|
||||
},
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
<LanguageElement
|
||||
feature={undefined}
|
||||
item_render={"{language()} is spoken here"}
|
||||
key="language"
|
||||
layer={undefined}
|
||||
question="What languages are spoken here?"
|
||||
render_all={"Following languages are spoken here: {list()}"}
|
||||
single_render={"Only {language()} is spoken here"}
|
||||
state={undefined}
|
||||
{tags}
|
||||
/>
|
||||
{#if $data}
|
||||
<SelectedElementView layer={shopLayer} selectedElement={$feature} state={undefined} tags={data} />
|
||||
{/if}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue