From 4f6f264445742c81e63e8cd5ebb7f535da901e2a Mon Sep 17 00:00:00 2001 From: pietervdvn Date: Fri, 8 Apr 2022 22:12:43 +0200 Subject: [PATCH] Add check for duplicate ids in layers, fix duplicates --- Models/ThemeConfig/Conversion/Validation.ts | 11 ++++++++++- .../mapcomplete-changes.proto.json | 2 +- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/Models/ThemeConfig/Conversion/Validation.ts b/Models/ThemeConfig/Conversion/Validation.ts index b735c9bc79..4bdf9c415c 100644 --- a/Models/ThemeConfig/Conversion/Validation.ts +++ b/Models/ThemeConfig/Conversion/Validation.ts @@ -455,6 +455,15 @@ export class ValidateLayer extends DesugaringStep { } } + { + // duplicate ids in tagrenderings check + const duplicates = Utils.Dedup(Utils.Dupiclates( Utils.NoNull((json.tagRenderings ?? []).map(tr => tr["id"])))) + .filter(dupl => dupl !== "questions") + if(duplicates.length > 0){ + errors.push("At "+context+": some tagrenderings have a duplicate id: "+duplicates.join(", ")) + } + } + try { { // Some checks for legacy elements @@ -472,7 +481,7 @@ export class ValidateLayer extends DesugaringStep { } } { - // CHeck location of layer file + // Check location of layer file const expected: string = `assets/layers/${json.id}/${json.id}.json` if (this._path != undefined && this._path.indexOf(expected) < 0) { errors.push("Layer is in an incorrect place. The path is " + this._path + ", but expected " + expected) diff --git a/assets/themes/mapcomplete-changes/mapcomplete-changes.proto.json b/assets/themes/mapcomplete-changes/mapcomplete-changes.proto.json index 88efbbdd0e..2f198e4cce 100644 --- a/assets/themes/mapcomplete-changes/mapcomplete-changes.proto.json +++ b/assets/themes/mapcomplete-changes/mapcomplete-changes.proto.json @@ -149,7 +149,7 @@ "render": "{histogram(_embedded_cs:themes, Themename, Number of changesets)}" }, { - "id": "hist_themes", + "id": "hist_users", "render": "{histogram(_embedded_cs:users, Contributor, Number of changesets)}" } ],