From bb5723ce74ed4c68db796ac63b6d723b879bc73d Mon Sep 17 00:00:00 2001 From: Alexei Anoshenko <2277098+anoshenko@users.noreply.github.com> Date: Mon, 2 Nov 2026 17:04:39 +0300 Subject: [PATCH] Bug fixing --- app_scripts.js | 10 ++++++++++ view.go | 9 +++++++++ 2 files changed, 19 insertions(+) diff --git a/app_scripts.js b/app_scripts.js index 0ab24af..605c4b5 100644 --- a/app_scripts.js +++ b/app_scripts.js @@ -237,6 +237,16 @@ function insertElementAtStart(elementId, content) { } } +function replaceElement(elementId, html) { + const element = document.getElementById(elementId); + if (element) { + const div = document.createElement("div"); + div.innerHTML = html + element.replaceWith(div.firstChild); + scanElementsSize(); + } +} + function appendToInputValue(elementId, content) { const element = document.getElementById(elementId); if (element) { diff --git a/view.go b/view.go index fd27178..f702101 100644 --- a/view.go +++ b/view.go @@ -989,6 +989,15 @@ func (view *viewData) propertyChanged(tag PropertyName) { session.updateCSSProperty(htmlID, string(Opacity), "") } + case Semantics: + htmlID := view.htmlID() + if v := session.viewByHTMLID(htmlID); v != nil { + buffer := allocStringBuilder() + defer freeStringBuilder(buffer) + viewHTML(v, buffer, "") + session.callFunc("replaceElement", htmlID, buffer.String()) + } + default: if cssTag, ok := sizeProperties[tag]; ok && cssTag != "" { if size, ok := sizeProperty(view, tag, session); ok {