forked from MapComplete/MapComplete
Add ToC to generated pages
This commit is contained in:
parent
b4529e4f63
commit
752538ec14
18 changed files with 346 additions and 243 deletions
|
@ -4,8 +4,6 @@
|
|||
import {UIEventSource} from "../UIEventSource";
|
||||
import Hash from "./Hash";
|
||||
import {Utils} from "../../Utils";
|
||||
import Title from "../../UI/Base/Title";
|
||||
import Combine from "../../UI/Base/Combine";
|
||||
|
||||
export class QueryParameters {
|
||||
|
||||
|
@ -13,29 +11,11 @@ export class QueryParameters {
|
|||
private static _wasInitialized: Set<string> = new Set()
|
||||
private static knownSources = {};
|
||||
private static initialized = false;
|
||||
private static defaults = {}
|
||||
static defaults = {}
|
||||
|
||||
static documentation = {}
|
||||
|
||||
|
||||
private static documentation = {}
|
||||
private static QueryParamDocsIntro = "\n" +
|
||||
"URL-parameters and URL-hash\n" +
|
||||
"============================\n" +
|
||||
"\n" +
|
||||
"This document gives an overview of which URL-parameters can be used to influence MapComplete.\n" +
|
||||
"\n" +
|
||||
"What is a URL parameter?\n" +
|
||||
"------------------------\n" +
|
||||
"\n" +
|
||||
"URL-parameters are extra parts of the URL used to set the state.\n" +
|
||||
"\n" +
|
||||
"For example, if the url is `https://mapcomplete.osm.be/cyclofix?lat=51.0&lon=4.3&z=5&test=true#node/1234`,\n" +
|
||||
"the URL-parameters are stated in the part between the `?` and the `#`. There are multiple, all separated by `&`, namely:\n" +
|
||||
"\n" +
|
||||
"- The url-parameter `lat` is `51.0` in this instance\n" +
|
||||
"- The url-parameter `lon` is `4.3` in this instance\n" +
|
||||
"- The url-parameter `z` is `5` in this instance\n" +
|
||||
"- The url-parameter `test` is `true` in this instance\n" +
|
||||
"\n" +
|
||||
"Finally, the URL-hash is the part after the `#`. It is `node/1234` in this case."
|
||||
|
||||
public static GetQueryParameter(key: string, deflt: string, documentation?: string): UIEventSource<string> {
|
||||
if (!this.initialized) {
|
||||
|
@ -59,19 +39,7 @@ export class QueryParameters {
|
|||
return QueryParameters.GetQueryParameter(key, deflt, documentation).map(str => str === "true", [], b => "" + b)
|
||||
}
|
||||
|
||||
public static GenerateQueryParameterDocs(): string {
|
||||
const docs = [QueryParameters.QueryParamDocsIntro];
|
||||
for (const key in QueryParameters.documentation) {
|
||||
const c = new Combine([
|
||||
new Title(key, 2),
|
||||
QueryParameters.documentation[key],
|
||||
QueryParameters.defaults[key] === undefined ? "No default value set" : `The default value is _${QueryParameters.defaults[key]}_`
|
||||
|
||||
])
|
||||
docs.push(c.AsMarkdown())
|
||||
}
|
||||
return docs.join("\n\n");
|
||||
}
|
||||
|
||||
public static wasInitialized(key: string): boolean {
|
||||
return QueryParameters._wasInitialized.has(key)
|
||||
|
@ -108,9 +76,6 @@ export class QueryParameters {
|
|||
}
|
||||
}
|
||||
|
||||
window["mapcomplete_query_parameter_overview"] = () => {
|
||||
console.log(QueryParameters.GenerateQueryParameterDocs())
|
||||
}
|
||||
}
|
||||
|
||||
private static Serialize() {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue