forked from MapComplete/MapComplete
Fix: fix icons in mappings which use a builtin svg
This commit is contained in:
parent
beb86919a8
commit
ab28fbe35c
2 changed files with 33 additions and 31 deletions
|
@ -11,7 +11,6 @@ import { FixedUiElement } from "../../UI/Base/FixedUiElement"
|
||||||
import Img from "../../UI/Base/Img"
|
import Img from "../../UI/Base/Img"
|
||||||
import Combine from "../../UI/Base/Combine"
|
import Combine from "../../UI/Base/Combine"
|
||||||
import {VariableUiElement} from "../../UI/Base/VariableUIElement"
|
import {VariableUiElement} from "../../UI/Base/VariableUIElement"
|
||||||
import Constants from "../Constants";
|
|
||||||
|
|
||||||
export default class PointRenderingConfig extends WithContextLoader {
|
export default class PointRenderingConfig extends WithContextLoader {
|
||||||
static readonly allowed_location_codes: ReadonlySet<string> = new Set<string>([
|
static readonly allowed_location_codes: ReadonlySet<string> = new Set<string>([
|
||||||
|
@ -110,7 +109,7 @@ export default class PointRenderingConfig extends WithContextLoader {
|
||||||
return undefined
|
return undefined
|
||||||
}
|
}
|
||||||
const match = htmlSpec.match(/([a-zA-Z0-9_]*):([^;]*)/)
|
const match = htmlSpec.match(/([a-zA-Z0-9_]*):([^;]*)/)
|
||||||
if (match !== null && Constants.defaultPinIcons.indexOf(match[1] ) >= 0) {
|
if (match !== null && Svg.All[match[1] + ".svg"] !== undefined) {
|
||||||
const svg = Svg.All[match[1] + ".svg"] as string
|
const svg = Svg.All[match[1] + ".svg"] as string
|
||||||
const targetColor = match[2]
|
const targetColor = match[2]
|
||||||
const img = new Img(
|
const img = new Img(
|
||||||
|
|
|
@ -15,7 +15,6 @@ import {FixedUiElement} from "../../UI/Base/FixedUiElement"
|
||||||
import {Paragraph} from "../../UI/Base/Paragraph"
|
import {Paragraph} from "../../UI/Base/Paragraph"
|
||||||
import Svg from "../../Svg"
|
import Svg from "../../Svg"
|
||||||
import Validators, {ValidatorType} from "../../UI/InputElement/Validators";
|
import Validators, {ValidatorType} from "../../UI/InputElement/Validators";
|
||||||
import Constants from "../Constants";
|
|
||||||
|
|
||||||
export interface Mapping {
|
export interface Mapping {
|
||||||
readonly if: UploadableTag
|
readonly if: UploadableTag
|
||||||
|
@ -69,6 +68,7 @@ export default class TagRenderingConfig {
|
||||||
public readonly mappings?: Mapping[]
|
public readonly mappings?: Mapping[]
|
||||||
public readonly labels: string[]
|
public readonly labels: string[]
|
||||||
public readonly classes: string[]
|
public readonly classes: string[]
|
||||||
|
|
||||||
constructor(json: string | QuestionableTagRenderingConfigJson, context?: string) {
|
constructor(json: string | QuestionableTagRenderingConfigJson, context?: string) {
|
||||||
if (json === undefined) {
|
if (json === undefined) {
|
||||||
throw "Initing a TagRenderingConfig with undefined in " + context
|
throw "Initing a TagRenderingConfig with undefined in " + context
|
||||||
|
@ -379,9 +379,7 @@ export default class TagRenderingConfig {
|
||||||
if (stripped.endsWith(".svg")) {
|
if (stripped.endsWith(".svg")) {
|
||||||
stripped = stripped.substring(0, stripped.length - 4)
|
stripped = stripped.substring(0, stripped.length - 4)
|
||||||
}
|
}
|
||||||
if (
|
if (Svg.All[stripped + ".svg"] !== undefined) {
|
||||||
Constants.defaultPinIcons.indexOf(stripped)
|
|
||||||
) {
|
|
||||||
icon = "./assets/svg/" + mapping.icon
|
icon = "./assets/svg/" + mapping.icon
|
||||||
if (!icon.endsWith(".svg")) {
|
if (!icon.endsWith(".svg")) {
|
||||||
icon += ".svg"
|
icon += ".svg"
|
||||||
|
@ -706,7 +704,12 @@ export default class TagRenderingConfig {
|
||||||
...(this.mappings[singleSelectedMapping].addExtraTags ?? []),
|
...(this.mappings[singleSelectedMapping].addExtraTags ?? []),
|
||||||
])
|
])
|
||||||
} else {
|
} else {
|
||||||
console.warn("TagRenderingConfig.ConstructSpecification has a weird fallback for", {freeformValue, singleSelectedMapping, multiSelectedMapping, currentProperties})
|
console.warn("TagRenderingConfig.ConstructSpecification has a weird fallback for", {
|
||||||
|
freeformValue,
|
||||||
|
singleSelectedMapping,
|
||||||
|
multiSelectedMapping,
|
||||||
|
currentProperties
|
||||||
|
})
|
||||||
return undefined
|
return undefined
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue