forked from MapComplete/MapComplete
Some further improvements to the mapcomplete-changes theme
This commit is contained in:
parent
2e2a6965e7
commit
68c338e764
6 changed files with 492 additions and 28 deletions
|
@ -46,6 +46,12 @@
|
|||
"en": "Shows all MapComplete changes"
|
||||
},
|
||||
"tagRenderings": [
|
||||
{
|
||||
"id": "render_id",
|
||||
"render": {
|
||||
"en": "Changeset <a href='https://openstreetmap.org/changeset/{id}' target='_blank'>{id}</a>"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "contributor",
|
||||
"render": {
|
||||
|
@ -73,9 +79,230 @@
|
|||
"point",
|
||||
"centroid"
|
||||
],
|
||||
"icon": {"render":"teardrop:#00cc00",
|
||||
"mappings": [{"if":"theme=aed","then":"./assets/themes/aed/logo.svg"},{"if":"theme=aed_brugge","then":"./assets/themes/aed/logo.svg"},{"if":"theme=artwork","then":"./assets/themes/artwork/artwork.svg"},{"if":"theme=benches","then":"./assets/themes/benches/bench_poi.svg"},{"if":"theme=bicyclelib","then":"./assets/themes/bicyclelib/logo.svg"},{"if":"theme=binoculars","then":"./assets/layers/binocular/telescope.svg"},{"if":"theme=bookcases","then":"./assets/themes/bookcases/bookcase.svg"},{"if":"theme=buurtnatuur","then":"./assets/themes/buurtnatuur/groen_logo.svg"},{"if":"theme=cafes_and_pubs","then":"./assets/layers/cafe_pub/pub.svg"},{"if":"theme=campersite","then":"./assets/themes/campersite/caravan.svg"},{"if":"theme=charging_stations","then":"./assets/themes/charging_stations/logo.svg"},{"if":"theme=climbing","then":"./assets/themes/climbing/climbing_icon.svg"},{"if":"theme=cycle_highways","then":"./assets/themes/cycle_highways/fietssnelwegen-logo.svg"},{"if":"theme=cycle_infra","then":"./assets/themes/cycle_infra/cycle-infra.svg"},{"if":"theme=cyclenodes","then":"./assets/themes/cyclenodes/logo.svg"},{"if":"theme=cyclestreets","then":"./assets/themes/cyclestreets/F111.svg"},{"if":"theme=cyclofix","then":"./assets/themes/cyclofix/logo.svg"},{"if":"theme=drinking_water","then":"./assets/themes/drinking_water/logo.svg"},{"if":"theme=entrances","then":"./assets/layers/entrance/door.svg"},{"if":"theme=etymology","then":"./assets/layers/etymology/logo.svg"},{"if":"theme=facadegardens","then":"./assets/themes/facadegardens/geveltuin.svg"},{"if":"theme=food","then":"./assets/layers/food/restaurant.svg"},{"if":"theme=fritures","then":"./assets/themes/fritures/logo.svg"},{"if":"theme=fruit_trees","then":"./assets/themes/fruit_trees/fruit_tree.svg"},{"if":"theme=ghostbikes","then":"./assets/themes/ghostbikes/logo.svg"},{"if":"theme=grb","then":"./assets/themes/grb_import/housenumber_blank.svg"},{"if":"theme=grb_fixme","then":"./assets/svg/bug.svg"},{"if":"theme=missing_streets","then":"./assets/svg/robot.svg"},{"if":"theme=hackerspaces","then":"./assets/themes/hackerspaces/glider.svg"},{"if":"theme=hailhydrant","then":"./assets/themes/hailhydrant/logo.svg"},{"if":"theme=mapcomplete-changes","then":"./assets/svg/logo.svg"},{"if":"theme=maps","then":"./assets/themes/maps/logo.svg"},{"if":"theme=nature","then":"./assets/themes/nature/logo.svg"},{"if":"theme=natuurpunt","then":"./assets/themes/natuurpunt/natuurpunt.png"},{"if":"theme=notes","then":"./assets/svg/resolved.svg"},{"if":"theme=observation_towers","then":"./assets/layers/observation_tower/Tower_observation.svg"},{"if":"theme=openwindpowermap","then":"./assets/themes/openwindpowermap/wind_turbine.svg"},{"if":"theme=parkings","then":"./assets/themes/parkings/parkings.svg"},{"if":"theme=personal","then":"./assets/svg/addSmall.svg"},{"if":"theme=play_forests","then":"./assets/layers/play_forest/icon.svg"},{"if":"theme=playgrounds","then":"./assets/themes/playgrounds/playground.svg"},{"if":"theme=postal_codes","then":"./assets/themes/postal_codes/townhall.svg"},{"if":"theme=postboxes","then":"./assets/themes/postboxes/postbox.svg"},{"if":"theme=shops","then":"./assets/themes/shops/shop.svg"},{"if":"theme=sidewalks","then":"./assets/svg/bug.svg"},{"if":"theme=speelplekken","then":"./assets/themes/speelplekken/logo.svg"},{"if":"theme=sport_pitches","then":"./assets/layers/sport_pitch/table_tennis.svg"},{"if":"theme=street_lighting","then":"./assets/layers/street_lamps/street_lamp.svg"},{"if":"theme=street_lighting_assen","then":"./assets/layers/street_lamps/street_lamp.svg"},{"if":"theme=surveillance","then":"./assets/themes/surveillance/logo.svg"},{"if":"theme=toerisme_vlaanderen","then":"./assets/svg/teardrop_with_hole_green.svg"},{"if":"theme=toilets","then":"./assets/themes/toilets/toilets.svg"},{"if":"theme=trees","then":"./assets/themes/trees/logo.svg"},{"if":"theme=uk_addresses","then":"./assets/themes/uk_addresses/housenumber_unknown.svg"},{"if":"theme=waste_basket","then":"./assets/themes/waste_basket/waste_basket.svg"}]
|
||||
|
||||
"icon": {
|
||||
"render": "teardrop:#00cc00",
|
||||
"mappings": [
|
||||
{
|
||||
"if": "theme=aed",
|
||||
"then": "./assets/themes/aed/logo.svg"
|
||||
},
|
||||
{
|
||||
"if": "theme=aed_brugge",
|
||||
"then": "./assets/themes/aed/logo.svg"
|
||||
},
|
||||
{
|
||||
"if": "theme=artwork",
|
||||
"then": "./assets/themes/artwork/artwork.svg"
|
||||
},
|
||||
{
|
||||
"if": "theme=benches",
|
||||
"then": "./assets/themes/benches/bench_poi.svg"
|
||||
},
|
||||
{
|
||||
"if": "theme=bicyclelib",
|
||||
"then": "./assets/themes/bicyclelib/logo.svg"
|
||||
},
|
||||
{
|
||||
"if": "theme=binoculars",
|
||||
"then": "./assets/layers/binocular/telescope.svg"
|
||||
},
|
||||
{
|
||||
"if": "theme=bookcases",
|
||||
"then": "./assets/themes/bookcases/bookcase.svg"
|
||||
},
|
||||
{
|
||||
"if": "theme=buurtnatuur",
|
||||
"then": "./assets/themes/buurtnatuur/groen_logo.svg"
|
||||
},
|
||||
{
|
||||
"if": "theme=cafes_and_pubs",
|
||||
"then": "./assets/layers/cafe_pub/pub.svg"
|
||||
},
|
||||
{
|
||||
"if": "theme=campersite",
|
||||
"then": "./assets/themes/campersite/caravan.svg"
|
||||
},
|
||||
{
|
||||
"if": "theme=charging_stations",
|
||||
"then": "./assets/themes/charging_stations/logo.svg"
|
||||
},
|
||||
{
|
||||
"if": "theme=climbing",
|
||||
"then": "./assets/themes/climbing/climbing_icon.svg"
|
||||
},
|
||||
{
|
||||
"if": "theme=cycle_highways",
|
||||
"then": "./assets/themes/cycle_highways/fietssnelwegen-logo.svg"
|
||||
},
|
||||
{
|
||||
"if": "theme=cycle_infra",
|
||||
"then": "./assets/themes/cycle_infra/cycle-infra.svg"
|
||||
},
|
||||
{
|
||||
"if": "theme=cyclenodes",
|
||||
"then": "./assets/themes/cyclenodes/logo.svg"
|
||||
},
|
||||
{
|
||||
"if": "theme=cyclestreets",
|
||||
"then": "./assets/themes/cyclestreets/F111.svg"
|
||||
},
|
||||
{
|
||||
"if": "theme=cyclofix",
|
||||
"then": "./assets/themes/cyclofix/logo.svg"
|
||||
},
|
||||
{
|
||||
"if": "theme=drinking_water",
|
||||
"then": "./assets/themes/drinking_water/logo.svg"
|
||||
},
|
||||
{
|
||||
"if": "theme=entrances",
|
||||
"then": "./assets/layers/entrance/door.svg"
|
||||
},
|
||||
{
|
||||
"if": "theme=etymology",
|
||||
"then": "./assets/layers/etymology/logo.svg"
|
||||
},
|
||||
{
|
||||
"if": "theme=facadegardens",
|
||||
"then": "./assets/themes/facadegardens/geveltuin.svg"
|
||||
},
|
||||
{
|
||||
"if": "theme=food",
|
||||
"then": "./assets/layers/food/restaurant.svg"
|
||||
},
|
||||
{
|
||||
"if": "theme=fritures",
|
||||
"then": "./assets/themes/fritures/logo.svg"
|
||||
},
|
||||
{
|
||||
"if": "theme=fruit_trees",
|
||||
"then": "./assets/themes/fruit_trees/fruit_tree.svg"
|
||||
},
|
||||
{
|
||||
"if": "theme=ghostbikes",
|
||||
"then": "./assets/themes/ghostbikes/logo.svg"
|
||||
},
|
||||
{
|
||||
"if": "theme=grb",
|
||||
"then": "./assets/themes/grb_import/housenumber_blank.svg"
|
||||
},
|
||||
{
|
||||
"if": "theme=grb_fixme",
|
||||
"then": "./assets/svg/bug.svg"
|
||||
},
|
||||
{
|
||||
"if": "theme=missing_streets",
|
||||
"then": "./assets/svg/robot.svg"
|
||||
},
|
||||
{
|
||||
"if": "theme=hackerspaces",
|
||||
"then": "./assets/themes/hackerspaces/glider.svg"
|
||||
},
|
||||
{
|
||||
"if": "theme=hailhydrant",
|
||||
"then": "./assets/themes/hailhydrant/logo.svg"
|
||||
},
|
||||
{
|
||||
"if": "theme=mapcomplete-changes",
|
||||
"then": "./assets/svg/logo.svg"
|
||||
},
|
||||
{
|
||||
"if": "theme=maps",
|
||||
"then": "./assets/themes/maps/logo.svg"
|
||||
},
|
||||
{
|
||||
"if": "theme=nature",
|
||||
"then": "./assets/themes/nature/logo.svg"
|
||||
},
|
||||
{
|
||||
"if": "theme=natuurpunt",
|
||||
"then": "./assets/themes/natuurpunt/natuurpunt.png"
|
||||
},
|
||||
{
|
||||
"if": "theme=notes",
|
||||
"then": "./assets/svg/resolved.svg"
|
||||
},
|
||||
{
|
||||
"if": "theme=observation_towers",
|
||||
"then": "./assets/layers/observation_tower/Tower_observation.svg"
|
||||
},
|
||||
{
|
||||
"if": "theme=openwindpowermap",
|
||||
"then": "./assets/themes/openwindpowermap/wind_turbine.svg"
|
||||
},
|
||||
{
|
||||
"if": "theme=parkings",
|
||||
"then": "./assets/themes/parkings/parkings.svg"
|
||||
},
|
||||
{
|
||||
"if": "theme=personal",
|
||||
"then": "./assets/svg/addSmall.svg"
|
||||
},
|
||||
{
|
||||
"if": "theme=play_forests",
|
||||
"then": "./assets/layers/play_forest/icon.svg"
|
||||
},
|
||||
{
|
||||
"if": "theme=playgrounds",
|
||||
"then": "./assets/themes/playgrounds/playground.svg"
|
||||
},
|
||||
{
|
||||
"if": "theme=postal_codes",
|
||||
"then": "./assets/themes/postal_codes/townhall.svg"
|
||||
},
|
||||
{
|
||||
"if": "theme=postboxes",
|
||||
"then": "./assets/themes/postboxes/postbox.svg"
|
||||
},
|
||||
{
|
||||
"if": "theme=shops",
|
||||
"then": "./assets/themes/shops/shop.svg"
|
||||
},
|
||||
{
|
||||
"if": "theme=sidewalks",
|
||||
"then": "./assets/svg/bug.svg"
|
||||
},
|
||||
{
|
||||
"if": "theme=speelplekken",
|
||||
"then": "./assets/themes/speelplekken/logo.svg"
|
||||
},
|
||||
{
|
||||
"if": "theme=sport_pitches",
|
||||
"then": "./assets/layers/sport_pitch/table_tennis.svg"
|
||||
},
|
||||
{
|
||||
"if": "theme=street_lighting",
|
||||
"then": "./assets/layers/street_lamps/street_lamp.svg"
|
||||
},
|
||||
{
|
||||
"if": "theme=street_lighting_assen",
|
||||
"then": "./assets/layers/street_lamps/street_lamp.svg"
|
||||
},
|
||||
{
|
||||
"if": "theme=surveillance",
|
||||
"then": "./assets/themes/surveillance/logo.svg"
|
||||
},
|
||||
{
|
||||
"if": "theme=toerisme_vlaanderen",
|
||||
"then": "./assets/svg/teardrop_with_hole_green.svg"
|
||||
},
|
||||
{
|
||||
"if": "theme=toilets",
|
||||
"then": "./assets/themes/toilets/toilets.svg"
|
||||
},
|
||||
{
|
||||
"if": "theme=trees",
|
||||
"then": "./assets/themes/trees/logo.svg"
|
||||
},
|
||||
{
|
||||
"if": "theme=uk_addresses",
|
||||
"then": "./assets/themes/uk_addresses/housenumber_unknown.svg"
|
||||
},
|
||||
{
|
||||
"if": "theme=waste_basket",
|
||||
"then": "./assets/themes/waste_basket/waste_basket.svg"
|
||||
}
|
||||
]
|
||||
},
|
||||
"iconSize": "30,30,bottom"
|
||||
}
|
||||
|
@ -156,15 +383,16 @@
|
|||
"_embedded_cs:themes=feat.get('_embedded_cs').map(cs => cs.theme)",
|
||||
"_embedded_cs:users=feat.get('_embedded_cs').map(cs => cs['_last_edit:contributor'])"
|
||||
],
|
||||
"+mapRendering": [{
|
||||
"location": [
|
||||
"point"
|
||||
],
|
||||
"icon":"statistics:black",
|
||||
"iconSize": "30,30,center"
|
||||
}]
|
||||
|
||||
"+mapRendering": [
|
||||
{
|
||||
"location": [
|
||||
"point"
|
||||
],
|
||||
"icon": "statistics:black",
|
||||
"iconSize": "30,30,center"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
176
assets/themes/mapcomplete-changes/mapcomplete-changes.proto.json
Normal file
176
assets/themes/mapcomplete-changes/mapcomplete-changes.proto.json
Normal file
|
@ -0,0 +1,176 @@
|
|||
{
|
||||
"id": "mapcomplete-changes",
|
||||
"title": {
|
||||
"en": "Changes made with MapComplete"
|
||||
},
|
||||
"shortDescription": {
|
||||
"en": "Shows changes made by MapComplete"
|
||||
},
|
||||
"description": {
|
||||
"en": "This maps shows all the changes made with MapComplete"
|
||||
},
|
||||
"language": [
|
||||
"en"
|
||||
],
|
||||
"maintainer": "",
|
||||
"icon": "./assets/svg/logo.svg",
|
||||
"hideFromOverview": true,
|
||||
"version": "0",
|
||||
"startLat": 0,
|
||||
"startLon": 0,
|
||||
"startZoom": 1,
|
||||
"widenFactor": 0.05,
|
||||
"clustering": false,
|
||||
"layers": [
|
||||
{
|
||||
"id": "mapcomplete-changes",
|
||||
"name": {
|
||||
"en": "Changeset centers"
|
||||
},
|
||||
"minzoom": 0,
|
||||
"source": {
|
||||
"osmTags": "editor~*",
|
||||
"geoJson": "https://raw.githubusercontent.com/pietervdvn/MapComplete-data/main/mapcomplete-changes/tile_{z}_{x}_{y}.geojson",
|
||||
"geoJsonZoomLevel": 8,
|
||||
"maxCacheAge": 0
|
||||
},
|
||||
"calculatedTags": [
|
||||
"_last_edit:contributor:lc:=feat.properties['_last_edit:contributor'].toLowerCase()"
|
||||
],
|
||||
"title": {
|
||||
"render": {
|
||||
"en": "Changeset for {theme}"
|
||||
}
|
||||
},
|
||||
"description": {
|
||||
"en": "Shows all MapComplete changes"
|
||||
},
|
||||
"tagRenderings": [
|
||||
{
|
||||
"id": "render_id",
|
||||
"render": {
|
||||
"en": "Changeset <a href='https://openstreetmap.org/changeset/{id}' target='_blank'>{id}</a>"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "contributor",
|
||||
"render": {
|
||||
"en": "Change made by <a href='https://openstreetmap.org/user/{_last_edit:contributor}' target='_blank'>{_last_edit:contributor}</a>"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "theme",
|
||||
"render": {
|
||||
"en": "Change with theme <a href='https://mapcomplete.osm.be/{theme}'>{theme}</a>"
|
||||
},
|
||||
"mappings": [
|
||||
{
|
||||
"if": "theme~http.*",
|
||||
"then": {
|
||||
"en": "Change with <b>unofficial</b> theme <a href='https://mapcomplete.osm.be/theme.html?userlayout={theme}'>{theme}</a>"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"mapRendering": [
|
||||
{
|
||||
"location": [
|
||||
"point",
|
||||
"centroid"
|
||||
],
|
||||
"icon": {
|
||||
"render": "teardrop:#00cc00"
|
||||
},
|
||||
"iconSize": "30,30,center"
|
||||
}
|
||||
],
|
||||
"filter": [
|
||||
{
|
||||
"id": "theme-search",
|
||||
"options": [
|
||||
{
|
||||
"osmTags": "theme~.*{search}.*",
|
||||
"fields": [
|
||||
{
|
||||
"name": "search"
|
||||
}
|
||||
],
|
||||
"question": {
|
||||
"en": "Themename contains {search}"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "created_by",
|
||||
"options": [
|
||||
{
|
||||
"osmTags": "_last_edit:contributor:lc~.*{search}.*",
|
||||
"fields": [
|
||||
{
|
||||
"name": "search"
|
||||
}
|
||||
],
|
||||
"question": {
|
||||
"en": "Made by contributor {search}"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "not_created_by",
|
||||
"options": [
|
||||
{
|
||||
"osmTags": "_last_edit:contributor:lc!~.*{search}.*",
|
||||
"fields": [
|
||||
{
|
||||
"name": "search"
|
||||
}
|
||||
],
|
||||
"question": {
|
||||
"en": "<b>Not</b> made by contributor {search}"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"builtin": "current_view",
|
||||
"override": {
|
||||
"title": "Statistics on changesets in the current view",
|
||||
"tagRenderings": [
|
||||
{
|
||||
"id": "link_to_more",
|
||||
"render": {
|
||||
"en": "More statistics can be found <a href='https://github.com/pietervdvn/MapComplete/tree/develop/Docs/Tools/graphs' target='_blank'>here</a>"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "hist_themes",
|
||||
"render": "{histogram(_embedded_cs:themes, Themename, Number of changesets)}"
|
||||
},
|
||||
{
|
||||
"id": "hist_themes",
|
||||
"render": "{histogram(_embedded_cs:users, Contributor, Number of changesets)}"
|
||||
}
|
||||
],
|
||||
"calculatedTags": [
|
||||
"_embedded_cs=feat.overlapWith('mapcomplete-changes').map(f => f.feat.properties)",
|
||||
"_embedded_cs:themes=feat.get('_embedded_cs').map(cs => cs.theme)",
|
||||
"_embedded_cs:users=feat.get('_embedded_cs').map(cs => cs['_last_edit:contributor'])"
|
||||
],
|
||||
"+mapRendering": [
|
||||
{
|
||||
"location": [
|
||||
"point"
|
||||
],
|
||||
"icon": "statistics:black",
|
||||
"iconSize": "30,30,center"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -934,6 +934,65 @@
|
|||
"shortDescription": "Map to show hydrants, extinguishers, fire stations, and ambulance stations.",
|
||||
"title": "Hydrants, Extinguishers, Fire stations, and Ambulance stations."
|
||||
},
|
||||
"mapcomplete-changes": {
|
||||
"description": "This maps shows all the changes made with MapComplete",
|
||||
"layers": {
|
||||
"0": {
|
||||
"description": "Shows all MapComplete changes",
|
||||
"filter": {
|
||||
"0": {
|
||||
"options": {
|
||||
"0": {
|
||||
"question": "Themename contains {search}"
|
||||
}
|
||||
}
|
||||
},
|
||||
"1": {
|
||||
"options": {
|
||||
"0": {
|
||||
"question": "Made by contributor {search}"
|
||||
}
|
||||
}
|
||||
},
|
||||
"2": {
|
||||
"options": {
|
||||
"0": {
|
||||
"question": "<b>Not</b> made by contributor {search}"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"name": "Changeset centers",
|
||||
"tagRenderings": {
|
||||
"contributor": {
|
||||
"render": "Change made by <a href='https://openstreetmap.org/user/{_last_edit:contributor}' target='_blank'>{_last_edit:contributor}</a>"
|
||||
},
|
||||
"theme": {
|
||||
"mappings": {
|
||||
"0": {
|
||||
"then": "Change with <b>unofficial</b> theme <a href='https://mapcomplete.osm.be/theme.html?userlayout={theme}'>{theme}</a>"
|
||||
}
|
||||
},
|
||||
"render": "Change with theme <a href='https://mapcomplete.osm.be/{theme}'>{theme}</a>"
|
||||
}
|
||||
},
|
||||
"title": {
|
||||
"render": "Changeset for {theme}"
|
||||
}
|
||||
},
|
||||
"1": {
|
||||
"override": {
|
||||
"tagRenderings": {
|
||||
"link_to_more": {
|
||||
"render": "More statistics can be found <a href='https://github.com/pietervdvn/MapComplete/tree/develop/Docs/Tools/graphs' target='_blank'>here</a>"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"shortDescription": "Shows changes made by MapComplete",
|
||||
"title": "Changes made with MapComplete"
|
||||
},
|
||||
"maps": {
|
||||
"description": "On this map you can find all maps OpenStreetMap knows - typically a big map on an information board showing the area, city or region, e.g. a tourist map on the back of a billboard, a map of a nature reserve, a map of cycling networks in the region, ...) <br/><br/>If a map is missing, you can easily map this map on OpenStreetMap.",
|
||||
"shortDescription": "This theme shows all (touristic) maps that OpenStreetMap knows of",
|
||||
|
|
|
@ -121,7 +121,7 @@ export default class ScriptUtils {
|
|||
|
||||
public static getThemeFiles(): { parsed: LayoutConfigJson, path: string }[] {
|
||||
return ScriptUtils.readDirRecSync("./assets/themes")
|
||||
.filter(path => path.endsWith(".json"))
|
||||
.filter(path => path.endsWith(".json") && !path.endsWith(".proto.json"))
|
||||
.filter(path => path.indexOf("license_info.json") < 0)
|
||||
.map(path => {
|
||||
try {
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import ScriptUtils from "./ScriptUtils";
|
||||
import {existsSync, mkdirSync, writeFileSync} from "fs";
|
||||
import {existsSync, mkdirSync, readFileSync, writeFileSync} from "fs";
|
||||
import * as licenses from "../assets/generated/license_info.json"
|
||||
import {LayoutConfigJson} from "../Models/ThemeConfig/Json/LayoutConfigJson";
|
||||
import {LayerConfigJson} from "../Models/ThemeConfig/Json/LayerConfigJson";
|
||||
|
@ -15,16 +15,11 @@ import {Translation} from "../UI/i18n/Translation";
|
|||
import {TagRenderingConfigJson} from "../Models/ThemeConfig/Json/TagRenderingConfigJson";
|
||||
import * as questions from "../assets/tagRenderings/questions.json";
|
||||
import * as icons from "../assets/tagRenderings/icons.json";
|
||||
import PointRenderingConfigJson from "../Models/ThemeConfig/Json/PointRenderingConfigJson";
|
||||
|
||||
// This scripts scans 'assets/layers/*.json' for layer definition files and 'assets/themes/*.json' for theme definition files.
|
||||
// It spits out an overview of those to be used to load them
|
||||
|
||||
interface LayersAndThemes {
|
||||
themes: LayoutConfigJson[],
|
||||
layers: { parsed: LayerConfigJson, path: string }[]
|
||||
}
|
||||
|
||||
|
||||
class LayerOverviewUtils {
|
||||
|
||||
writeSmallOverview(themes: { id: string, title: any, shortDescription: any, icon: string, hideFromOverview: boolean }[]) {
|
||||
|
@ -112,15 +107,21 @@ class LayerOverviewUtils {
|
|||
|
||||
writeFileSync("./assets/generated/known_layers.json", JSON.stringify(Array.from(sharedLayers.values())))
|
||||
|
||||
/*
|
||||
writeFileSync('./assets/themes/mapcomplete-changes/icons-mapping.txt', JSON.stringify(
|
||||
Array.from(sharedThemes.values()).map(th => ({
|
||||
if: "theme=" + th.id,
|
||||
then: th.icon
|
||||
}))
|
||||
)) //*/
|
||||
|
||||
{
|
||||
// mapcomplete-changes shows an icon for each corresponding mapcomplete-theme
|
||||
const iconsPerTheme =
|
||||
Array.from(sharedThemes.values()).map(th => ({
|
||||
if: "theme=" + th.id,
|
||||
then: th.icon
|
||||
}))
|
||||
const proto: LayoutConfigJson = JSON.parse(readFileSync("./assets/themes/mapcomplete-changes/mapcomplete-changes.proto.json", "UTF8"));
|
||||
const protolayer = <LayerConfigJson>(proto.layers.filter(l => l["id"] === "mapcomplete-changes")[0])
|
||||
const rendering = (<PointRenderingConfigJson>protolayer.mapRendering[0])
|
||||
rendering.icon["mappings"] = iconsPerTheme
|
||||
writeFileSync('./assets/themes/mapcomplete-changes/mapcomplete-changes.json', JSON.stringify(proto, null, " "))
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private buildLayerIndex(knownImagePaths: Set<string>): Map<string, LayerConfigJson> {
|
||||
|
|
|
@ -21,7 +21,7 @@ export default class CreateNoteImportLayerSpec extends T {
|
|||
const layer = new LayerConfig(layerPrepare.convertStrict(desugaringState, bookcases, "ImportLayerGeneratorTest:Parse bookcases"), "ImportLayerGeneratorTest: init bookcases-layer")
|
||||
const generator = new CreateNoteImportLayer()
|
||||
const generatedLayer = generator.convertStrict(desugaringState, layer, "ImportLayerGeneratorTest: convert")
|
||||
fs.writeFileSync("bookcases-import-layer.generated.json", JSON.stringify(generatedLayer, null, " "), "utf8")
|
||||
// fs.writeFileSync("bookcases-import-layer.generated.json", JSON.stringify(generatedLayer, null, " "), "utf8")
|
||||
console.log(JSON.stringify(generatedLayer, null, " "))
|
||||
}]
|
||||
]);
|
||||
|
|
Loading…
Reference in a new issue