MapComplete/test.ts

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

51 lines
2.1 KiB
TypeScript
Raw Normal View History

2022-09-12 20:14:03 +02:00
import MinimapImplementation from "./UI/Base/MinimapImplementation";
import {Utils} from "./Utils";
2022-09-14 12:18:51 +02:00
import {SvgToPdf, SvgToPdfOptions} from "./Utils/svgToPdf";
import {AllKnownLayouts} from "./Customizations/AllKnownLayouts";
2022-09-14 14:43:14 +02:00
import LayerConfig from "./Models/ThemeConfig/LayerConfig";
2022-09-16 18:58:42 +02:00
import Constants from "./Models/Constants";
2022-09-14 14:43:14 +02:00
import {And} from "./Logic/Tags/And";
import {Tag} from "./Logic/Tags/Tag";
2022-09-16 18:58:42 +02:00
MinimapImplementation.initialize()
2022-09-08 21:26:17 +02:00
2022-09-14 12:18:51 +02:00
let i = 0
function createElement(): string {
const div = document.createElement("div")
div.id = "freediv-" + (i++)
document.getElementById("extradiv").append(div)
return div.id
}
2022-09-08 21:26:17 +02:00
async function main() {
2022-09-14 14:43:14 +02:00
{
// Dirty hack!
// Make the charging-station layer simpler to allow querying it by overpass
2022-09-16 18:58:42 +02:00
const chargingStationLayer: LayerConfig = AllKnownLayouts.allKnownLayouts.get("toerisme_vlaanderen").layers.find(l => l.id === "charging_station")
chargingStationLayer.filters = []
const bikechargingStationLayer : LayerConfig = AllKnownLayouts.allKnownLayouts.get("toerisme_vlaanderen").layers.find(l => l.id === "charging_station_ebikes")
bikechargingStationLayer.source.osmTags = new And([new Tag("amenity","charging_station"), new Tag("bicycle","yes")])
2022-09-14 14:43:14 +02:00
Constants.defaultOverpassUrls.splice(0,1) // remove overpass-api.de for this run
}
2022-09-14 12:18:51 +02:00
2022-09-08 21:26:17 +02:00
const svg = await Utils.download(window.location.protocol + "//" + window.location.host + "/assets/templates/MapComplete-flyer.svg")
2022-09-12 20:14:03 +02:00
const svgBack = await Utils.download(window.location.protocol + "//" + window.location.host + "/assets/templates/MapComplete-flyer.back.svg")
2022-09-14 12:18:51 +02:00
const options = <SvgToPdfOptions>{
getFreeDiv: createElement,
textSubstitutions: {
mapCount: "" + Array.from(AllKnownLayouts.allKnownLayouts.values()).filter(th => !th.hideFromOverview).length
},
2022-09-16 18:58:42 +02:00
disableMaps: false
2022-09-14 12:18:51 +02:00
}
2022-09-16 02:08:28 +02:00
const front = await new SvgToPdf([svg, svgBack], options)
await front.ConvertSvg("Flyer-nl.pdf", "nl")
await front.ConvertSvg("Flyer-en.pdf", "en")
2022-09-14 12:18:51 +02:00
2022-09-08 21:26:17 +02:00
}
main().then(() => console.log("Done!"))