Allow non-conforming ids for unofficial themes

This commit is contained in:
pietervdvn 2022-01-08 13:04:11 +01:00
parent 7e1b064941
commit da5f5b622c
2 changed files with 10 additions and 6 deletions

View file

@ -2,7 +2,7 @@ import {Utils} from "../Utils";
export default class Constants { export default class Constants {
public static vNumber = "0.13.0"; public static vNumber = "0.13.1";
public static ImgurApiKey = '7070e7167f0a25a' public static ImgurApiKey = '7070e7167f0a25a'
public static readonly mapillary_client_token_v4 = "MLY|4441509239301885|b40ad2d3ea105435bd40c7e76993ae85" public static readonly mapillary_client_token_v4 = "MLY|4441509239301885|b40ad2d3ea105435bd40c7e76993ae85"

View file

@ -7,6 +7,8 @@ import {LayerConfigJson} from "./Json/LayerConfigJson";
import Constants from "../Constants"; import Constants from "../Constants";
import TilesourceConfig from "./TilesourceConfig"; import TilesourceConfig from "./TilesourceConfig";
import DependencyCalculator from "./DependencyCalculator"; import DependencyCalculator from "./DependencyCalculator";
import {DomEvent} from "leaflet";
import off = DomEvent.off;
export default class LayoutConfig { export default class LayoutConfig {
public readonly id: string; public readonly id: string;
@ -58,12 +60,14 @@ export default class LayoutConfig {
constructor(json: LayoutConfigJson, official = true, context?: string) { constructor(json: LayoutConfigJson, official = true, context?: string) {
this.official = official; this.official = official;
this.id = json.id; this.id = json.id;
if(official){
if(json.id.toLowerCase() !== json.id){ if(json.id.toLowerCase() !== json.id){
throw "The id of a theme should be lowercase: "+json.id throw "The id of a theme should be lowercase: "+json.id
} }
if(json.id.match(/[a-z0-9-_]/) == null){ if(json.id.match(/[a-z0-9-_]/) == null){
throw "The id of a theme should match [a-z0-9-_]*: "+json.id throw "The id of a theme should match [a-z0-9-_]*: "+json.id
} }
}
context = (context ?? "") + "." + this.id; context = (context ?? "") + "." + this.id;
this.maintainer = json.maintainer; this.maintainer = json.maintainer;
this.credits = json.credits; this.credits = json.credits;