forked from MapComplete/MapComplete
31 lines
1.2 KiB
TypeScript
31 lines
1.2 KiB
TypeScript
import {
|
|
SpecialVisualisationParams,
|
|
SpecialVisualization,
|
|
SpecialVisualizationState,
|
|
SpecialVisualizationSvelte,
|
|
} from "../SpecialVisualization"
|
|
import { UIEventSource } from "../../Logic/UIEventSource"
|
|
import { GeoOperations } from "../../Logic/GeoOperations"
|
|
import Constants from "../../Models/Constants"
|
|
import SvelteUIElement from "../Base/SvelteUIElement"
|
|
import UploadTraceToOsmUI from "../BigComponents/UploadTraceToOsmUI.svelte"
|
|
import { ServerSourceInfo } from "../../Models/SourceOverview"
|
|
|
|
/**
|
|
* Wrapper around 'UploadTraceToOsmUI'
|
|
*/
|
|
export class UploadToOsmViz extends SpecialVisualizationSvelte {
|
|
funcName = "upload_to_osm"
|
|
docs =
|
|
"Uploads the GPS-history as GPX to OpenStreetMap.org; clears the history afterwards. The actual feature is ignored."
|
|
args = []
|
|
needsUrls: ServerSourceInfo[] = [Constants.osmAuthConfig]
|
|
|
|
constr({ state }: SpecialVisualisationParams): SvelteUIElement {
|
|
const locations = state.historicalUserLocations.features.data
|
|
return new SvelteUIElement(UploadTraceToOsmUI, {
|
|
state,
|
|
trace: (title: string) => GeoOperations.toGpx(locations, title),
|
|
})
|
|
}
|
|
}
|