Bug fixing

This commit is contained in:
Alexei Anoshenko 2026-05-26 16:06:17 +03:00
parent fd424f56c1
commit 86709b2f1b
7 changed files with 23 additions and 7 deletions

View File

@ -296,7 +296,7 @@ func dataListHtmlSubviews(view View, buffer *strings.Builder, normalizeItem func
text = strings.ReplaceAll(text, "\n", `\n`)
}
buffer.WriteString(`<option value="`)
buffer.WriteString(text)
buffer.WriteString(textToHtml(text))
buffer.WriteString(`"></option>`)
}
buffer.WriteString(`</datalist>`)

View File

@ -157,7 +157,7 @@ func (detailsView *detailsViewData) htmlSubviews(self View, buffer *strings.Buil
} else {
buffer.WriteString("<summary>")
}
buffer.WriteString(value)
buffer.WriteString(textToHtml(value))
buffer.WriteString("</summary>")
summary = true

View File

@ -230,7 +230,7 @@ func (list *dropDownListData) htmlSubviews(self View, buffer *strings.Builder) {
item, _ = list.session.GetString(item)
}
buffer.WriteString(item)
buffer.WriteString(textToHtml(item))
buffer.WriteString("</option>")
for _, index := range separators {
if i == index {

View File

@ -298,7 +298,7 @@ func (edit *editViewData) htmlTag() string {
func (edit *editViewData) htmlSubviews(self View, buffer *strings.Builder) {
if GetEditViewType(edit) == MultiLineText {
if text := GetText(edit); text != "" {
buffer.WriteString(text)
buffer.WriteString(textToHtml(text))
}
}
dataListHtmlSubviews(self, buffer, func(text string, session Session) string {

View File

@ -671,7 +671,7 @@ func (tabsLayout *tabsLayoutData) htmlSubviews(self View, buffer *strings.Builde
buffer.WriteString(view.htmlID())
buffer.WriteString(`-title"`)
buffer.WriteString(titleStyle)
buffer.WriteString(title)
buffer.WriteString(textToHtml(title))
buffer.WriteString(`</div>`)
close, ok := boolProperty(view, TabCloseButton, tabsLayout.session)

View File

@ -100,11 +100,11 @@ func (textView *textViewData) setFunc(tag PropertyName, value any) []PropertyNam
func (textView *textViewData) htmlSubviews(self View, buffer *strings.Builder) {
if value := textView.getRaw(Text); value != nil {
if text, ok := value.(string); ok {
if text, ok := value.(string); ok && text != "" {
if !GetNotTranslate(textView) {
text, _ = textView.session.GetString(text)
}
buffer.WriteString(text)
buffer.WriteString(textToHtml(text))
}
}
}

View File

@ -114,3 +114,19 @@ func InlineFileFromData(data []byte, mimeType string) string {
return "data:" + mimeType + ";base64," + base64.StdEncoding.EncodeToString(data)
}
func textToHtml(text string) string {
replace := []struct{ old, new string }{
{old: "&", new: "&amp;"},
{old: "\"", new: "&quot;"},
{old: "'", new: "&apos;"},
{old: "<", new: "&lt;"},
{old: ">", new: "&gt;"},
}
for _, r := range replace {
text = strings.ReplaceAll(text, r.old, r.new)
}
return text
}