From afbb39b9ea14a19e1c5b813165aea62500bbdc2e Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Tue, 5 Dec 2023 03:27:17 +0100 Subject: [PATCH] UI: center labels if they don't have a marker --- .../ThemeConfig/PointRenderingConfig.ts | 21 ++++++++++++------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/src/Models/ThemeConfig/PointRenderingConfig.ts b/src/Models/ThemeConfig/PointRenderingConfig.ts index 70b852b5d7..94696e741a 100644 --- a/src/Models/ThemeConfig/PointRenderingConfig.ts +++ b/src/Models/ThemeConfig/PointRenderingConfig.ts @@ -199,11 +199,14 @@ export default class PointRenderingConfig extends WithContextLoader { anchorH = -iconH / 2 } - const icon = new SvelteUIElement(DynamicMarker, { - marker: this.marker, - rotation: this.rotation, - tags, - }).SetClass("w-full h-full") + const icon = + this.marker?.length > 0 + ? new SvelteUIElement(DynamicMarker, { + marker: this.marker, + rotation: this.rotation, + tags, + }).SetClass("w-full h-full") + : undefined let badges = undefined if (options?.includeBadges ?? true) { badges = this.GetBadges(tags, options?.metatags) @@ -223,13 +226,13 @@ export default class PointRenderingConfig extends WithContextLoader { const css = this.cssDef?.GetRenderValue(tags.data)?.txt const cssClasses = this.cssClasses?.GetRenderValue(tags.data)?.txt - let label = this.GetLabel(tags) + let label = this.GetLabel(tags, icon === undefined) let htmlEl: BaseUIElement if (icon === undefined && label === undefined) { htmlEl = undefined } else if (icon === undefined) { - htmlEl = new Combine([label]) + htmlEl = label } else if (label === undefined) { htmlEl = new Combine([iconAndBadges]) } else { @@ -308,7 +311,7 @@ export default class PointRenderingConfig extends WithContextLoader { ).SetClass("absolute bottom-0 right-1/3 h-1/2 w-0") } - private GetLabel(tags: Store>): BaseUIElement { + private GetLabel(tags: Store>, labelOnly: boolean): BaseUIElement { if (this.label === undefined) { return undefined } @@ -324,6 +327,8 @@ export default class PointRenderingConfig extends WithContextLoader { ?.SetClass(cssClassesLabel) if (cssLabel) { label.SetStyle(cssLabel) + } else if (labelOnly) { + return label.SetStyle("transform: translate(-50%, -50%);") } return new Combine([label]).SetClass("flex flex-col items-center") })