deletions natuurpunt thema

This commit is contained in:
Ward 2021-07-28 14:50:22 +02:00
parent 6c6794e587
commit 40717af859
3 changed files with 307 additions and 258 deletions

View file

@ -1,21 +1,21 @@
import {FixedUiElement} from "./UI/Base/FixedUiElement"; import { FixedUiElement } from "./UI/Base/FixedUiElement";
import Toggle from "./UI/Input/Toggle"; import Toggle from "./UI/Input/Toggle";
import {Basemap} from "./UI/BigComponents/Basemap"; import { Basemap } from "./UI/BigComponents/Basemap";
import State from "./State"; import State from "./State";
import LoadFromOverpass from "./Logic/Actors/OverpassFeatureSource"; import LoadFromOverpass from "./Logic/Actors/OverpassFeatureSource";
import {UIEventSource} from "./Logic/UIEventSource"; import { UIEventSource } from "./Logic/UIEventSource";
import {QueryParameters} from "./Logic/Web/QueryParameters"; import { QueryParameters } from "./Logic/Web/QueryParameters";
import StrayClickHandler from "./Logic/Actors/StrayClickHandler"; import StrayClickHandler from "./Logic/Actors/StrayClickHandler";
import SimpleAddUI from "./UI/BigComponents/SimpleAddUI"; import SimpleAddUI from "./UI/BigComponents/SimpleAddUI";
import CenterMessageBox from "./UI/CenterMessageBox"; import CenterMessageBox from "./UI/CenterMessageBox";
import UserBadge from "./UI/BigComponents/UserBadge"; import UserBadge from "./UI/BigComponents/UserBadge";
import SearchAndGo from "./UI/BigComponents/SearchAndGo"; import SearchAndGo from "./UI/BigComponents/SearchAndGo";
import GeoLocationHandler from "./Logic/Actors/GeoLocationHandler"; import GeoLocationHandler from "./Logic/Actors/GeoLocationHandler";
import {LocalStorageSource} from "./Logic/Web/LocalStorageSource"; import { LocalStorageSource } from "./Logic/Web/LocalStorageSource";
import {Utils} from "./Utils"; import { Utils } from "./Utils";
import Svg from "./Svg"; import Svg from "./Svg";
import Link from "./UI/Base/Link"; import Link from "./UI/Base/Link";
import * as personal from "./assets/themes/personal/personal.json" import * as personal from "./assets/themes/personal/personal.json";
import LayoutConfig from "./Customizations/JSON/LayoutConfig"; import LayoutConfig from "./Customizations/JSON/LayoutConfig";
import * as L from "leaflet"; import * as L from "leaflet";
import Img from "./UI/Base/Img"; import Img from "./UI/Base/Img";
@ -33,14 +33,14 @@ import MapControlButton from "./UI/MapControlButton";
import Combine from "./UI/Base/Combine"; import Combine from "./UI/Base/Combine";
import SelectedFeatureHandler from "./Logic/Actors/SelectedFeatureHandler"; import SelectedFeatureHandler from "./Logic/Actors/SelectedFeatureHandler";
import LZString from "lz-string"; import LZString from "lz-string";
import {LayoutConfigJson} from "./Customizations/JSON/LayoutConfigJson"; import { LayoutConfigJson } from "./Customizations/JSON/LayoutConfigJson";
import AttributionPanel from "./UI/BigComponents/AttributionPanel"; import AttributionPanel from "./UI/BigComponents/AttributionPanel";
import ContributorCount from "./Logic/ContributorCount"; import ContributorCount from "./Logic/ContributorCount";
import FeatureSource from "./Logic/FeatureSource/FeatureSource"; import FeatureSource from "./Logic/FeatureSource/FeatureSource";
import AllKnownLayers from "./Customizations/AllKnownLayers"; import AllKnownLayers from "./Customizations/AllKnownLayers";
import LayerConfig from "./Customizations/JSON/LayerConfig"; import LayerConfig from "./Customizations/JSON/LayerConfig";
import AvailableBaseLayers from "./Logic/Actors/AvailableBaseLayers"; import AvailableBaseLayers from "./Logic/Actors/AvailableBaseLayers";
import {TagsFilter} from "./Logic/Tags/TagsFilter"; import { TagsFilter } from "./Logic/Tags/TagsFilter";
import FilterView from "./UI/BigComponents/FilterView"; import FilterView from "./UI/BigComponents/FilterView";
export class InitUiElements { export class InitUiElements {
@ -57,8 +57,7 @@ export class InitUiElements {
`Error: incorrect layout <i>${layoutName}</i><br/><a href='https://${window.location.host}/'>Go back</a>` `Error: incorrect layout <i>${layoutName}</i><br/><a href='https://${window.location.host}/'>Go back</a>`
) )
.AttachTo("centermessage") .AttachTo("centermessage")
.onClick(() => { .onClick(() => {});
});
throw "Incorrect layout"; throw "Incorrect layout";
} }
@ -158,16 +157,13 @@ export class InitUiElements {
InitUiElements.InitWelcomeMessage(); InitUiElements.InitWelcomeMessage();
}); });
if ( if (State.state.featureSwitchIframe.data) {
(window != window.top && !State.state.featureSwitchWelcomeMessage.data) ||
State.state.featureSwitchIframe.data
) {
const currentLocation = State.state.locationControl; const currentLocation = State.state.locationControl;
const url = `${window.location.origin}${window.location.pathname}?z=${ const url = `${window.location.origin}${
currentLocation.data.zoom ?? 0 window.location.pathname
}&lat=${currentLocation.data.lat ?? 0}&lon=${ }?z=${currentLocation.data.zoom ?? 0}&lat=${
currentLocation.data.lon ?? 0 currentLocation.data.lat ?? 0
}`; }&lon=${currentLocation.data.lon ?? 0}`;
new MapControlButton( new MapControlButton(
new Link(Svg.pop_out_img, url, true).SetClass( new Link(Svg.pop_out_img, url, true).SetClass(
"block w-full h-full p-1.5" "block w-full h-full p-1.5"
@ -182,11 +178,13 @@ export class InitUiElements {
"--subtle-detail-color" "--subtle-detail-color"
); );
const icon = L.icon({ const icon = L.icon({
iconUrl: Img.AsData(Svg.home_white_bg.replace(/#ffffff/g, color)), iconUrl: Img.AsData(
Svg.home_white_bg.replace(/#ffffff/g, color)
),
iconSize: [30, 30], iconSize: [30, 30],
iconAnchor: [15, 15], iconAnchor: [15, 15],
}); });
const marker = L.marker([home.lat, home.lon], {icon: icon}); const marker = L.marker([home.lat, home.lon], { icon: icon });
marker.addTo(State.state.leafletMap.data); marker.addTo(State.state.leafletMap.data);
}); });
@ -196,31 +194,26 @@ export class InitUiElements {
State.state.currentGPSLocation, State.state.currentGPSLocation,
State.state.leafletMap, State.state.leafletMap,
State.state.layoutToUse State.state.layoutToUse
), { ),
dontStyle : true {
dontStyle: true,
} }
), ),
undefined, undefined,
State.state.featureSwitchGeolocation State.state.featureSwitchGeolocation
); );
const plus = new MapControlButton( const plus = new MapControlButton(Svg.plus_zoom_svg()).onClick(() => {
Svg.plus_zoom_svg()
).onClick(() => {
State.state.locationControl.data.zoom++; State.state.locationControl.data.zoom++;
State.state.locationControl.ping(); State.state.locationControl.ping();
}); });
const min = new MapControlButton( const min = new MapControlButton(Svg.min_zoom_svg()).onClick(() => {
Svg.min_zoom_svg()
).onClick(() => {
State.state.locationControl.data.zoom--; State.state.locationControl.data.zoom--;
State.state.locationControl.ping(); State.state.locationControl.ping();
}); });
new Combine( new Combine([plus, min, geolocationButton])
[plus, min, geolocationButton]
)
.SetClass("flex flex-col") .SetClass("flex flex-col")
.AttachTo("bottom-right"); .AttachTo("bottom-right");
@ -262,7 +255,9 @@ export class InitUiElements {
"last-loaded-user-layout" "last-loaded-user-layout"
); );
if (hash.length < 10) { if (hash.length < 10) {
hash = dedicatedHashFromLocalStorage.data ?? hashFromLocalStorage.data; hash =
dedicatedHashFromLocalStorage.data ??
hashFromLocalStorage.data;
} else { } else {
console.log("Saving hash to local storage"); console.log("Saving hash to local storage");
hashFromLocalStorage.setData(hash); hashFromLocalStorage.setData(hash);
@ -309,9 +304,11 @@ export class InitUiElements {
// ?-Button on Desktop, opens panel with close-X. // ?-Button on Desktop, opens panel with close-X.
const help = new MapControlButton(Svg.help_svg()); const help = new MapControlButton(Svg.help_svg());
help.onClick(() => isOpened.setData(true)); help.onClick(() => isOpened.setData(true));
new Toggle(fullOptions.SetClass("welcomeMessage"), help, isOpened).AttachTo( new Toggle(
"messagesbox" fullOptions.SetClass("welcomeMessage"),
); help,
isOpened
).AttachTo("messagesbox");
const openedTime = new Date().getTime(); const openedTime = new Date().getTime();
State.state.locationControl.addCallback(() => { State.state.locationControl.addCallback(() => {
if (new Date().getTime() - openedTime < 15 * 1000) { if (new Date().getTime() - openedTime < 15 * 1000) {
@ -366,9 +363,7 @@ export class InitUiElements {
State.state.featureSwitchLayers State.state.featureSwitchLayers
); );
const filterView = new ScrollableFullScreen(
const filterView =
new ScrollableFullScreen(
() => Translations.t.general.layerSelection.title.Clone(), () => Translations.t.general.layerSelection.title.Clone(),
() => () =>
new FilterView(State.state.filteredLayers).SetClass( new FilterView(State.state.filteredLayers).SetClass(
@ -378,10 +373,7 @@ export class InitUiElements {
State.state.filterIsOpened State.state.filterIsOpened
); );
const filterMapControlButton = new MapControlButton(Svg.filter_svg());
const filterMapControlButton = new MapControlButton(
Svg.filter_svg()
);
const filterButton = new Toggle( const filterButton = new Toggle(
filterView, filterView,
@ -497,7 +489,7 @@ export class InitUiElements {
const flayer = { const flayer = {
isDisplayed: isDisplayed, isDisplayed: isDisplayed,
layerDef: layer, layerDef: layer,
appliedFilters: new UIEventSource<TagsFilter>(undefined) appliedFilters: new UIEventSource<TagsFilter>(undefined),
}; };
flayers.push(flayer); flayers.push(flayer);
} }
@ -534,7 +526,9 @@ export class InitUiElements {
source, source,
State.state.osmApiFeatureSource State.state.osmApiFeatureSource
); );
selectedFeatureHandler.zoomToSelectedFeature(State.state.locationControl); selectedFeatureHandler.zoomToSelectedFeature(
State.state.locationControl
);
return source; return source;
} }

View file

@ -1,7 +1,7 @@
{ {
"id": "parking", "id": "parking",
"name": { "name": {
"nl": "parking" "nl": "Parking"
}, },
"minzoom": 12, "minzoom": 12,
"source": { "source": {
@ -64,10 +64,7 @@
"mappings": [ "mappings": [
{ {
"if": { "if": {
"and": [ "and": ["access=yes", "fee="]
"access=yes",
"fee="
]
}, },
"then": { "then": {
"nl": "Vrij toegankelijk" "nl": "Vrij toegankelijk"
@ -75,10 +72,7 @@
}, },
{ {
"if": { "if": {
"and": [ "and": ["access=no", "fee="]
"access=no",
"fee="
]
}, },
"then": { "then": {
"nl": "Niet toegankelijk" "nl": "Niet toegankelijk"
@ -86,10 +80,7 @@
}, },
{ {
"if": { "if": {
"and": [ "and": ["access=private", "fee="]
"access=private",
"fee="
]
}, },
"then": { "then": {
"nl": "Niet toegankelijk, want privégebied" "nl": "Niet toegankelijk, want privégebied"
@ -97,10 +88,7 @@
}, },
{ {
"if": { "if": {
"and": [ "and": ["access=permissive", "fee="]
"access=permissive",
"fee="
]
}, },
"then": { "then": {
"nl": "Toegankelijk, ondanks dat het privegebied is" "nl": "Toegankelijk, ondanks dat het privegebied is"
@ -108,10 +96,7 @@
}, },
{ {
"if": { "if": {
"and": [ "and": ["access=guided", "fee="]
"access=guided",
"fee="
]
}, },
"then": { "then": {
"nl": "Enkel toegankelijk met een gids of tijdens een activiteit" "nl": "Enkel toegankelijk met een gids of tijdens een activiteit"
@ -119,10 +104,7 @@
}, },
{ {
"if": { "if": {
"and": [ "and": ["access=yes", "fee=yes"]
"access=yes",
"fee=yes"
]
}, },
"then": { "then": {
"nl": "Toegankelijk mits betaling" "nl": "Toegankelijk mits betaling"
@ -144,9 +126,7 @@
"mappings": [ "mappings": [
{ {
"if": { "if": {
"and": [ "and": ["operator=Natuurpunt"]
"operator=Natuurpunt"
]
}, },
"then": { "then": {
"nl": "<img src=\"./assets/themes/buurtnatuur/Natuurpunt.jpg\" style=\"width:1.5em\">Dit gebied wordt beheerd door Natuurpunt" "nl": "<img src=\"./assets/themes/buurtnatuur/Natuurpunt.jpg\" style=\"width:1.5em\">Dit gebied wordt beheerd door Natuurpunt"
@ -154,9 +134,7 @@
}, },
{ {
"if": { "if": {
"and": [ "and": ["operator~(n|N)atuurpunt.*"]
"operator~(n|N)atuurpunt.*"
]
}, },
"then": { "then": {
"nl": "<img src=\"./assets/themes/buurtnatuur/Natuurpunt.jpg\" style=\"width:1.5em\">Dit gebied wordt beheerd door {operator}" "nl": "<img src=\"./assets/themes/buurtnatuur/Natuurpunt.jpg\" style=\"width:1.5em\">Dit gebied wordt beheerd door {operator}"

View file

@ -26,8 +26,7 @@
"widenFactor": 0.05, "widenFactor": 0.05,
"socialImage": "", "socialImage": "",
"defaultBackgroundId": "CartoDB.Positron", "defaultBackgroundId": "CartoDB.Positron",
"layers": [ "layers": [{
{
"#": "Nature reserve with geometry, z>=13", "#": "Nature reserve with geometry, z>=13",
"builtin": "nature_reserve", "builtin": "nature_reserve",
"override": { "override": {
@ -46,6 +45,14 @@
"minzoomVisible": 0, "minzoomVisible": 0,
"icon": { "icon": {
"render": "circle:#FE6F32;./assets/themes/natuurpunt/nature_reserve.svg" "render": "circle:#FE6F32;./assets/themes/natuurpunt/nature_reserve.svg"
},
"deletion": {
"hardDeletionTags": {
"and": [
"leisure=nature_reserve",
"boundary=protected_area"
]
}
} }
} }
}, },
@ -65,6 +72,14 @@
"minzoom": 1, "minzoom": 1,
"icon": { "icon": {
"render": "circle:#FE6F32;./assets/themes/natuurpunt/nature_reserve.svg" "render": "circle:#FE6F32;./assets/themes/natuurpunt/nature_reserve.svg"
},
"deletion": {
"hardDeletionTags": {
"and": [
"leisure=nature_reserve",
"boundary=protected_area"
]
}
} }
} }
}, },
@ -84,6 +99,14 @@
"minzoom": "10", "minzoom": "10",
"icon": { "icon": {
"render": "circle:#FE6F32;./assets/themes/natuurpunt/information.svg" "render": "circle:#FE6F32;./assets/themes/natuurpunt/information.svg"
},
"deletion": {
"hardDeletionTags": {
"and": [
"information=visitor_centre",
"information=office"
]
}
} }
} }
}, },
@ -103,8 +126,7 @@
"minzoom": "13", "minzoom": "13",
"icon": { "icon": {
"render": "circle:#FE6F32;./assets/themes/natuurpunt/trail.svg", "render": "circle:#FE6F32;./assets/themes/natuurpunt/trail.svg",
"mappings": [ "mappings": [{
{
"if": "wheelchair=yes", "if": "wheelchair=yes",
"then": "circle:#FE6F32;./assets/themes/natuurpunt/walk_wheelchair.svg" "then": "circle:#FE6F32;./assets/themes/natuurpunt/walk_wheelchair.svg"
}, },
@ -113,6 +135,15 @@
"then": "circle:#FE6F32;./assets/themes/natuurpunt/pushchair.svg" "then": "circle:#FE6F32;./assets/themes/natuurpunt/pushchair.svg"
} }
] ]
},
"deletion": {
"hardDeletionTags": {
"and": [
"route=hiking",
"route=bycicle",
"route=horse"
]
}
} }
} }
}, },
@ -127,8 +158,7 @@
}, },
"icon": { "icon": {
"render": "circle:#FE6F32;./assets/themes/natuurpunt/toilets.svg", "render": "circle:#FE6F32;./assets/themes/natuurpunt/toilets.svg",
"mappings": [ "mappings": [{
{
"if": "wheelchair=yes", "if": "wheelchair=yes",
"then": "circle:#FE6F32;./assets/themes/natuurpunt/wheelchair.svg" "then": "circle:#FE6F32;./assets/themes/natuurpunt/wheelchair.svg"
}, },
@ -137,6 +167,9 @@
"then": "circle:#FE6F32;./assets/themes/natuurpunt/urinal.svg" "then": "circle:#FE6F32;./assets/themes/natuurpunt/urinal.svg"
} }
] ]
},
"deletion": {
"hardDeletionTags": "amenity=toilets"
} }
} }
}, },
@ -152,7 +185,30 @@
"icon": { "icon": {
"render": "circle:#FE6F32;./assets/themes/natuurpunt/birdhide.svg", "render": "circle:#FE6F32;./assets/themes/natuurpunt/birdhide.svg",
"mappings": null "mappings": null
},
"deletion": [{
"if": "leisure=bird_hide",
"then": {
"hardDeletionTags": "leisure=bird_hide"
} }
}, {
"if": {
"or": [
"building=yes",
"shelter=yes",
"amenity=shelter"
]
},
"then": {
"hardDeletionTags": {
"and": [
"building=yes",
"shelter=yes",
"amenity=shelter"
]
}
}
}]
} }
}, },
{ {
@ -166,6 +222,9 @@
}, },
"icon": { "icon": {
"render": "circle:#FE6F32;./assets/themes/natuurpunt/picnic_table.svg" "render": "circle:#FE6F32;./assets/themes/natuurpunt/picnic_table.svg"
},
"deletion": {
"hardDeletionTags": "leisure=picnic_table"
} }
} }
}, },
@ -180,6 +239,9 @@
}, },
"icon": { "icon": {
"render": "circle:#FE6F32;./assets/themes/natuurpunt/drips.svg" "render": "circle:#FE6F32;./assets/themes/natuurpunt/drips.svg"
},
"deletion": {
"hardDeletionTags": "amenity=drinking_water"
} }
} }
}, },
@ -189,15 +251,12 @@
"minzoom": "16", "minzoom": "16",
"icon": { "icon": {
"render": "circle:#FE6F32;./assets/themes/natuurpunt/parking.svg", "render": "circle:#FE6F32;./assets/themes/natuurpunt/parking.svg",
"mappings": [ "mappings": [{
{
"if": "amenity=bicycle_parking", "if": "amenity=bicycle_parking",
"then": "circle:#FE6F32;./assets/themes/natuurpunt/parkingbike.svg" "then": "circle:#FE6F32;./assets/themes/natuurpunt/parkingbike.svg"
} }]
]
}, },
"iconOverlays": [ "iconOverlays": [{
{
"if": "amenity=motorcycle_parking", "if": "amenity=motorcycle_parking",
"then": "circle:#335D9F;./assets/themes/natuurpunt/parkingmotor.svg", "then": "circle:#335D9F;./assets/themes/natuurpunt/parkingmotor.svg",
"badge": true "badge": true
@ -207,8 +266,17 @@
"then": "circle:#335D9F;./assets/themes/natuurpunt/parkingwheels.svg", "then": "circle:#335D9F;./assets/themes/natuurpunt/parkingwheels.svg",
"badge": true "badge": true
} }
],
"deletion": {
"hardDeletionTags": {
"and": [
"amenity=parking",
"amenity=motorcycle_parking",
"amenity=bicycle_parking"
] ]
} }
}
}
}, },
{ {
"builtin": "information_board", "builtin": "information_board",
@ -221,6 +289,9 @@
}, },
"icon": { "icon": {
"render": "circle:#FE6F32;./assets/themes/natuurpunt/information_board.svg" "render": "circle:#FE6F32;./assets/themes/natuurpunt/information_board.svg"
},
"deletion": {
"hardDeletionTags": "information=board"
} }
} }
}, },
@ -235,6 +306,9 @@
}, },
"icon": { "icon": {
"render": "circle:#FE6F32;./assets/themes/natuurpunt/bench.svg" "render": "circle:#FE6F32;./assets/themes/natuurpunt/bench.svg"
},
"deletion": {
"hardDeletionTags": "amenity=bench"
} }
} }
}, },
@ -249,6 +323,9 @@
}, },
"icon": { "icon": {
"render": "circle:#FE6F32;./assets/themes/natuurpunt/watermill.svg" "render": "circle:#FE6F32;./assets/themes/natuurpunt/watermill.svg"
},
"deletion": {
"hardDeletionTags": "man_made=watermill"
} }
} }
} }