UNPKG

@trailstash/ultra

Version:

A web based tool for making MapLibre GL maps with data from sources such as Overpass, GeoJSON, GPX, KML, TCX, etc

52 lines (44 loc) 1.2 kB
import { h } from "../lib/dom.js"; import { getModeFromQueryParams } from "../lib/queryParams.js"; import { UltraMap } from "./ultra-map.js"; import { UltraIDE } from "./ultra-ide.js"; import pick from "lodash.pick"; import { defaultMode, modes } from "ultra-config"; const style = new CSSStyleSheet(); style.replaceSync(` :host { height: 100%; width: 100%; display: flex; } `); export class UltraLoader extends HTMLElement { constructor() { super(); } async connectedCallback() { const shadow = this.attachShadow({ mode: "open" }); shadow.adoptedStyleSheets.push(style); let mode = getModeFromQueryParams() || defaultMode; const config = modes[mode]; if (config.title) { document.title = config.title; } if (config.icon) { document.head.querySelector("link[rel=icon]").href = config.icon; } if (mode === "map") { shadow.appendChild( h( "ultra-map", pick(config.settings, [ ...UltraMap.INIT_SETTINGS, ...UltraMap.CONFIG_SETTINGS, ]), ), ); } else { shadow.appendChild(h("ultra-ide", pick(config, UltraIDE.props))); } } }