Add debugging-featureswitch which toggles an overview of all tags

This commit is contained in:
pietervdvn 2021-03-22 01:05:01 +01:00
parent 0dce7b1f3b
commit 2dcc5b21f5
3 changed files with 15 additions and 6 deletions

View file

@ -390,8 +390,8 @@ export class InitUiElements {
if (featuresFreshness === undefined) {
return;
}
let features = featuresFreshness.map(ff => ff.feature);
features.forEach(feature => {
featuresFreshness.forEach(featureFresh => {
const feature = featureFresh.feature;
State.state.allElements.addOrGetElement(feature);
if (Hash.hash.data === feature.properties.id) {
@ -399,7 +399,7 @@ export class InitUiElements {
}
})
MetaTagging.addMetatags(features);
MetaTagging.addMetatags(featuresFreshness);
})
new ShowDataLayer(source.features, State.state.leafletMap,

View file

@ -1,4 +1,3 @@
import {UIElement} from "./UI/UIElement";
import {Utils} from "./Utils";
import {ElementStorage} from "./Logic/ElementStorage";
import {Changes} from "./Logic/Osm/Changes";
@ -8,7 +7,6 @@ import {UIEventSource} from "./Logic/UIEventSource";
import {LocalStorageSource} from "./Logic/Web/LocalStorageSource";
import {QueryParameters} from "./Logic/Web/QueryParameters";
import LayoutConfig from "./Customizations/JSON/LayoutConfig";
import Hash from "./Logic/Web/Hash";
import {MangroveIdentity} from "./Logic/Web/MangroveReviews";
import InstalledThemes from "./Logic/Actors/InstalledThemes";
import BaseLayer from "./Models/BaseLayer";
@ -89,6 +87,7 @@ export default class State {
public readonly featureSwitchShareScreen: UIEventSource<boolean>;
public readonly featureSwitchGeolocation: UIEventSource<boolean>;
public readonly featureSwitchIsTesting: UIEventSource<boolean>;
public readonly featureSwitchIsDebugging: UIEventSource<boolean>;
/**
@ -194,6 +193,10 @@ export default class State {
this.featureSwitchIsTesting = QueryParameters.GetQueryParameter("test", "false",
"If true, 'dryrun' mode is activated. The app will behave as normal, except that changes to OSM will be printed onto the console instead of actually uploaded to osm.org")
.map(str => str === "true", [], b => "" + b);
this.featureSwitchIsDebugging = QueryParameters.GetQueryParameter("debug","false",
"If true, shows some extra debugging help such as all the available tags on every object")
.map(str => str === "true", [], b => "" + b)
}

View file

@ -9,6 +9,7 @@ import State from "../../State";
import TagRenderingConfig from "../../Customizations/JSON/TagRenderingConfig";
import ScrollableFullScreen from "../Base/ScrollableFullScreen";
import {Utils} from "../../Utils";
import {Tag} from "../../Logic/Tags";
export default class FeatureInfoBox extends ScrollableFullScreen {
@ -54,7 +55,7 @@ export default class FeatureInfoBox extends ScrollableFullScreen {
}
let questionBoxIsUsed = false;
const renderings = layerConfig.tagRenderings.map((tr,i) => {
const renderings = layerConfig.tagRenderings.map(tr => {
if (tr.question === null) {
// This is the question box!
questionBoxIsUsed = true;
@ -65,6 +66,11 @@ export default class FeatureInfoBox extends ScrollableFullScreen {
if (!questionBoxIsUsed) {
renderings.push(questionBox);
}
if(State.state.featureSwitchIsDebugging.data){
const config: TagRenderingConfig = new TagRenderingConfig({render:"{all_tags()}"}, new Tag("id",""), "");
renderings.push(new TagRenderingAnswer(tags,config ))
}
return new Combine(renderings).SetClass("block")