forked from MapComplete/MapComplete
Refactoring: use theme
instead of layout
in a lot of places
This commit is contained in:
parent
9427083939
commit
bdc9ba52a6
104 changed files with 445 additions and 449 deletions
|
@ -4,8 +4,8 @@ import LayerConfig from "../LayerConfig"
|
|||
import { Utils } from "../../../Utils"
|
||||
import Constants from "../../Constants"
|
||||
import { Translation } from "../../../UI/i18n/Translation"
|
||||
import { LayoutConfigJson } from "../Json/LayoutConfigJson"
|
||||
import LayoutConfig from "../LayoutConfig"
|
||||
import { ThemeConfigJson } from "../Json/ThemeConfigJson"
|
||||
import ThemeConfig from "../ThemeConfig"
|
||||
import { TagRenderingConfigJson } from "../Json/TagRenderingConfigJson"
|
||||
import { TagUtils } from "../../../Logic/Tags/TagUtils"
|
||||
import { And } from "../../../Logic/Tags/And"
|
||||
|
@ -23,7 +23,7 @@ import { PrevalidateLayer } from "./PrevalidateLayer"
|
|||
import { AvailableRasterLayers } from "../../RasterLayers"
|
||||
import { eliCategory } from "../../RasterLayerProperties"
|
||||
|
||||
export class ValidateLanguageCompleteness extends DesugaringStep<LayoutConfig> {
|
||||
export class ValidateLanguageCompleteness extends DesugaringStep<ThemeConfig> {
|
||||
private readonly _languages: string[]
|
||||
|
||||
constructor(...languages: string[]) {
|
||||
|
@ -35,7 +35,7 @@ export class ValidateLanguageCompleteness extends DesugaringStep<LayoutConfig> {
|
|||
this._languages = languages ?? ["en"]
|
||||
}
|
||||
|
||||
convert(obj: LayoutConfig, context: ConversionContext): LayoutConfig {
|
||||
convert(obj: ThemeConfig, context: ConversionContext): ThemeConfig {
|
||||
const origLayers = obj.layers
|
||||
obj.layers = [...obj.layers].filter((l) => l["id"] !== "favourite")
|
||||
const translations = Translation.ExtractAllTranslationsFrom(obj)
|
||||
|
@ -128,7 +128,7 @@ export class DoesImageExist extends DesugaringStep<string> {
|
|||
}
|
||||
}
|
||||
|
||||
class OverrideShadowingCheck extends DesugaringStep<LayoutConfigJson> {
|
||||
class OverrideShadowingCheck extends DesugaringStep<ThemeConfigJson> {
|
||||
constructor() {
|
||||
super(
|
||||
"Checks that an 'overrideAll' does not override a single override",
|
||||
|
@ -137,7 +137,7 @@ class OverrideShadowingCheck extends DesugaringStep<LayoutConfigJson> {
|
|||
)
|
||||
}
|
||||
|
||||
convert(json: LayoutConfigJson, context: ConversionContext): LayoutConfigJson {
|
||||
convert(json: ThemeConfigJson, context: ConversionContext): ThemeConfigJson {
|
||||
const overrideAll = json.overrideAll
|
||||
if (overrideAll === undefined) {
|
||||
return json
|
||||
|
@ -170,12 +170,12 @@ class OverrideShadowingCheck extends DesugaringStep<LayoutConfigJson> {
|
|||
}
|
||||
}
|
||||
|
||||
class MiscThemeChecks extends DesugaringStep<LayoutConfigJson> {
|
||||
class MiscThemeChecks extends DesugaringStep<ThemeConfigJson> {
|
||||
constructor() {
|
||||
super("Miscelleanous checks on the theme", [], "MiscThemesChecks")
|
||||
}
|
||||
|
||||
convert(json: LayoutConfigJson, context: ConversionContext): LayoutConfigJson {
|
||||
convert(json: ThemeConfigJson, context: ConversionContext): ThemeConfigJson {
|
||||
if (json.id !== "personal" && (json.layers === undefined || json.layers.length === 0)) {
|
||||
context.err("The theme " + json.id + " has no 'layers' defined")
|
||||
}
|
||||
|
@ -240,7 +240,7 @@ class MiscThemeChecks extends DesugaringStep<LayoutConfigJson> {
|
|||
}
|
||||
}
|
||||
|
||||
export class PrevalidateTheme extends Fuse<LayoutConfigJson> {
|
||||
export class PrevalidateTheme extends Fuse<ThemeConfigJson> {
|
||||
constructor() {
|
||||
super(
|
||||
"Various consistency checks on the raw JSON",
|
||||
|
@ -905,7 +905,7 @@ export class ValidateFilter extends DesugaringStep<FilterConfigJson> {
|
|||
|
||||
export class DetectDuplicateFilters extends DesugaringStep<{
|
||||
layers: LayerConfigJson[]
|
||||
themes: LayoutConfigJson[]
|
||||
themes: ThemeConfigJson[]
|
||||
}> {
|
||||
constructor() {
|
||||
super(
|
||||
|
@ -916,15 +916,15 @@ export class DetectDuplicateFilters extends DesugaringStep<{
|
|||
}
|
||||
|
||||
convert(
|
||||
json: { layers: LayerConfigJson[]; themes: LayoutConfigJson[] },
|
||||
json: { layers: LayerConfigJson[]; themes: ThemeConfigJson[] },
|
||||
context: ConversionContext,
|
||||
): { layers: LayerConfigJson[]; themes: LayoutConfigJson[] } {
|
||||
): { layers: LayerConfigJson[]; themes: ThemeConfigJson[] } {
|
||||
const { layers, themes } = json
|
||||
const perOsmTag = new Map<
|
||||
string,
|
||||
{
|
||||
layer: LayerConfigJson
|
||||
layout: LayoutConfigJson | undefined
|
||||
theme: ThemeConfigJson | undefined
|
||||
filter: FilterConfigJson
|
||||
}[]
|
||||
>()
|
||||
|
@ -955,10 +955,10 @@ export class DetectDuplicateFilters extends DesugaringStep<{
|
|||
return
|
||||
}
|
||||
let msg = "Possible duplicate filter: " + key
|
||||
for (const { filter, layer, layout } of value) {
|
||||
for (const { filter, layer, theme } of value) {
|
||||
let id = ""
|
||||
if (layout !== undefined) {
|
||||
id = layout.id + ":"
|
||||
if (theme !== undefined) {
|
||||
id = theme.id + ":"
|
||||
}
|
||||
msg += `\n - ${id}${layer.id}.${filter.id}`
|
||||
}
|
||||
|
@ -977,11 +977,11 @@ export class DetectDuplicateFilters extends DesugaringStep<{
|
|||
string,
|
||||
{
|
||||
layer: LayerConfigJson
|
||||
layout: LayoutConfigJson | undefined
|
||||
theme: ThemeConfigJson | undefined
|
||||
filter: FilterConfigJson
|
||||
}[]
|
||||
>,
|
||||
layout?: LayoutConfigJson | undefined,
|
||||
theme?: ThemeConfigJson | undefined,
|
||||
): void {
|
||||
if (layer.filter === undefined || layer.filter === null) {
|
||||
return
|
||||
|
@ -1009,14 +1009,14 @@ export class DetectDuplicateFilters extends DesugaringStep<{
|
|||
perOsmTag.get(key).push({
|
||||
layer,
|
||||
filter,
|
||||
layout,
|
||||
theme,
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export class DetectDuplicatePresets extends DesugaringStep<LayoutConfig> {
|
||||
export class DetectDuplicatePresets extends DesugaringStep<ThemeConfig> {
|
||||
constructor() {
|
||||
super(
|
||||
"Detects mappings which have identical (english) names or identical mappings.",
|
||||
|
@ -1025,7 +1025,7 @@ export class DetectDuplicatePresets extends DesugaringStep<LayoutConfig> {
|
|||
)
|
||||
}
|
||||
|
||||
convert(json: LayoutConfig, context: ConversionContext): LayoutConfig {
|
||||
convert(json: ThemeConfig, context: ConversionContext): ThemeConfig {
|
||||
const presets: PresetConfig[] = [].concat(...json.layers.map((l) => l.presets))
|
||||
|
||||
const enNames = presets.map((p) => p.title.textFor("en"))
|
||||
|
@ -1074,7 +1074,7 @@ export class DetectDuplicatePresets extends DesugaringStep<LayoutConfig> {
|
|||
}
|
||||
|
||||
export class ValidateThemeEnsemble extends Conversion<
|
||||
LayoutConfig[],
|
||||
ThemeConfig[],
|
||||
Map<
|
||||
string,
|
||||
{
|
||||
|
@ -1093,7 +1093,7 @@ export class ValidateThemeEnsemble extends Conversion<
|
|||
}
|
||||
|
||||
convert(
|
||||
json: LayoutConfig[],
|
||||
json: ThemeConfig[],
|
||||
context: ConversionContext,
|
||||
): Map<
|
||||
string,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue