mapcomplete/Customizations/AllKnownLayouts.ts

72 lines
2.6 KiB
TypeScript
Raw Normal View History

2020-07-31 17:11:44 +02:00
import {LayerDefinition} from "./LayerDefinition";
import {Layout} from "./Layout";
2020-07-31 17:38:03 +02:00
import {Groen} from "./Layouts/Groen";
import Cyclofix from "./Layouts/Cyclofix";
import {StreetWidth} from "./Layouts/StreetWidth";
2020-07-31 17:11:44 +02:00
import {MetaMap} from "./Layouts/MetaMap";
2020-07-31 17:38:03 +02:00
import {Natuurpunt} from "./Layouts/Natuurpunt";
import {FromJSON} from "./JSON/FromJSON";
import * as bookcases from "../assets/themes/bookcases/Bookcases.json";
import * as aed from "../assets/themes/aed/aed.json";
2020-08-22 16:00:33 +02:00
import * as toilets from "../assets/themes/toilets/toilets.json";
import * as artworks from "../assets/themes/artwork/artwork.json";
import * as cyclestreets from "../assets/themes/cyclestreets/cyclestreets.json";
import * as ghostbikes from "../assets/themes/ghostbikes/ghostbikes.json"
import {PersonalLayout} from "../Logic/PersonalLayout";
2020-07-05 18:59:47 +02:00
export class AllKnownLayouts {
2020-07-31 04:58:58 +02:00
public static allLayers: Map<string, LayerDefinition> = undefined;
2020-07-31 04:58:58 +02:00
public static layoutsList: Layout[] = [
new PersonalLayout(),
2020-08-07 20:50:46 +02:00
new Natuurpunt(),
2020-07-31 04:58:58 +02:00
new Cyclofix(),
FromJSON.LayoutFromJSON(bookcases),
FromJSON.LayoutFromJSON(aed),
FromJSON.LayoutFromJSON(toilets),
FromJSON.LayoutFromJSON(artworks),
FromJSON.LayoutFromJSON(cyclestreets),
FromJSON.LayoutFromJSON(ghostbikes),
2020-07-31 04:58:58 +02:00
new MetaMap(),
new StreetWidth(),
2020-08-07 20:50:46 +02:00
new Groen(),
2020-08-22 03:15:42 +02:00
2020-07-31 04:58:58 +02:00
];
2020-07-31 04:58:58 +02:00
public static allSets: Map<string, Layout> = AllKnownLayouts.AllLayouts();
2020-07-25 01:07:02 +02:00
2020-07-31 04:58:58 +02:00
private static AllLayouts(): Map<string, Layout> {
this.allLayers = new Map<string, LayerDefinition>();
for (const layout of this.layoutsList) {
for (let i = 0; i < layout.layers.length; i++) {
let layer = layout.layers[i];
if (typeof (layer) === "string") {
layer = layout.layers[i] = FromJSON.sharedLayers.get(layer);
if(layer === undefined){
console.log("Defined layers are ", FromJSON.sharedLayers.keys())
throw `Layer ${layer} was not found or defined - probably a type was made`
}
}
2020-07-31 04:58:58 +02:00
if (this.allLayers[layer.id] !== undefined) {
2020-07-25 01:07:02 +02:00
continue;
}
2020-07-31 04:58:58 +02:00
this.allLayers[layer.id] = layer;
this.allLayers[layer.id.toLowerCase()] = layer;
2020-07-25 01:07:02 +02:00
}
}
2020-07-20 12:39:43 +02:00
const allSets: Map<string, Layout> = new Map();
2020-07-31 04:58:58 +02:00
for (const layout of this.layoutsList) {
allSets[layout.id] = layout;
allSets[layout.id.toLowerCase()] = layout;
2020-07-05 18:59:47 +02:00
}
return allSets;
}
2020-07-05 18:59:47 +02:00
}