Bug fixing

This commit is contained in:
Alexei Anoshenko 2025-07-06 19:11:34 +03:00
parent 55a86011cd
commit 7cc553176f
12 changed files with 21 additions and 45 deletions

View File

@ -161,7 +161,7 @@ func backgroundConicGradientSet(properties Properties, tag PropertyName, value a
return propertiesRemove(properties, tag)
}
if strings.Contains(value, ",") || strings.Contains(value, " ") {
if strings.ContainsAny(value, ", ") {
if vector := parseGradientText(value); vector != nil {
properties.setRaw(Gradient, vector)
return []PropertyName{tag}

View File

@ -182,7 +182,7 @@ func setBoundsProperty(properties Properties, tag PropertyName, value any) []Pro
if !setSimpleProperty(properties, tag, value) {
switch value := value.(type) {
case string:
if strings.Contains(value, ",") {
if strings.ContainsRune(value, ',') {
values := split4Values(value)
count := len(values)
switch count {

View File

@ -587,28 +587,6 @@ func (canvas *canvasData) SetLineDash(dash []float64, offset float64) {
}
}
/*
func (canvas *canvasData) convertFont(name string) string {
buffer := allocStringBuilder()
defer freeStringBuilder(buffer)
for i, font := range strings.Split(name, ",") {
font = strings.Trim(font, " \n\"'")
if i > 0 {
buffer.WriteRune(',')
}
if strings.Contains(font, " ") {
buffer.WriteRune('"')
buffer.WriteString(font)
buffer.WriteRune('"')
} else {
buffer.WriteString(font)
}
}
return buffer.String()
}
*/
func (canvas *canvasData) fontWithParams(name string, size SizeUnit, params FontParams) string {
buffer := allocStringBuilder()
defer freeStringBuilder(buffer)
@ -658,7 +636,7 @@ func (canvas *canvasData) fontWithParams(name string, size SizeUnit, params Font
font = strings.Trim(font, " \n\"'")
buffer.WriteString(lead)
lead = ","
if strings.Contains(font, " ") {
if strings.ContainsRune(font, ' ') {
buffer.WriteRune('"')
buffer.WriteString(font)
buffer.WriteRune('"')

View File

@ -325,7 +325,7 @@ func (view *viewData) setDropEffect(value any) []PropertyName {
}
func stringToDropEffectAllowed(text string) (int, bool) {
if strings.Contains(text, "|") {
if strings.ContainsRune(text, '|') {
elements := strings.Split(text, "|")
result := 0
for _, element := range elements {

View File

@ -232,7 +232,7 @@ func acceptPropertyCSS(view View) string {
if buffer.Len() > 0 {
buffer.WriteString(", ")
}
if value[0] != '.' && !strings.Contains(value, "/") {
if value[0] != '.' && !strings.ContainsRune(value, '/') {
buffer.WriteRune('.')
}
buffer.WriteString(value)

View File

@ -945,7 +945,6 @@ func (player *mediaPlayerData) htmlProperties(self View, buffer *strings.Builder
for tag, cssTag := range mediaPlayerEvents() {
if value := player.getRaw(tag); value != nil {
if listeners, ok := value.([]func(MediaPlayer)); ok && len(listeners) > 0 {
buffer.WriteString(` `)
buffer.WriteString(cssTag)
buffer.WriteString(`="playerEvent(this, '`)
@ -953,7 +952,6 @@ func (player *mediaPlayerData) htmlProperties(self View, buffer *strings.Builder
buffer.WriteString(`')"`)
}
}
}
if value := player.getRaw(TimeUpdateEvent); value != nil {
buffer.WriteString(` ontimeupdate="playerTimeUpdatedEvent(this)"`)

View File

@ -106,6 +106,7 @@ func (properties *propertyList) AllTags() []PropertyName {
return tags
}
/*
func (properties *propertyList) writeToBuffer(buffer *strings.Builder,
indent string, objectTag string, tags []PropertyName) {
@ -130,6 +131,7 @@ func (properties *propertyList) writeToBuffer(buffer *strings.Builder,
buffer.WriteString(indent)
buffer.WriteString("}")
}
*/
func parseProperties(properties Properties, object DataObject) {
for node := range object.Properties() {

View File

@ -649,7 +649,7 @@ func radiusPropertySet(radius Properties, tag PropertyName, value any) []Propert
deleteRadiusUnusedTags(radius, result)
case string:
if strings.Contains(value, "/") {
if strings.ContainsRune(value, '/') {
if values := strings.Split(value, "/"); len(values) == 2 {
if result = radiusPropertySet(radius, tag+"-x", values[0]); result != nil {
if resultY := radiusPropertySet(radius, tag+"-y", values[1]); resultY != nil {
@ -973,7 +973,7 @@ func setRadiusProperty(properties Properties, value any) []PropertyName {
properties.setRaw(Radius, radius)
case string:
if strings.Contains(value, "/") {
if strings.ContainsRune(value, '/') {
values := strings.Split(value, "/")
if len(values) == 2 {
if setRadiusPropertyElement(properties, RadiusX, values[0]) {

View File

@ -21,7 +21,7 @@ func (r Range) String() string {
func (r *Range) setValue(value string) bool {
var err error
if strings.Contains(value, ":") {
if strings.ContainsRune(value, ':') {
values := strings.Split(value, ":")
if len(values) != 2 {
ErrorLog("Invalid range value: " + value)

View File

@ -174,7 +174,7 @@ func resizableSide(view View) int {
"all": AllSides,
}
if strings.Contains(value, "|") {
if strings.ContainsRune(value, '|') {
values := strings.Split(value, "|")
sides := 0
for _, val := range values {
@ -226,7 +226,7 @@ func resizableSetSide(properties Properties, value any) []PropertyName {
"left": LeftSide,
"all": AllSides,
}
if strings.Contains(value, "|") {
if strings.ContainsRune(value, '|') {
values := strings.Split(value, "|")
sides := 0
hasConst := false

View File

@ -35,11 +35,9 @@ func (session *sessionData) constant(tag string, prevTags []string) (string, boo
return result, true
}
for _, separator := range []string{",", " ", ":", ";", "|", "/"} {
if strings.Contains(result, separator) {
if strings.ContainsAny(result, ", :;|/") {
return session.resolveConstantsNext(result, tags)
}
}
if result[0] != '@' {
return result, true

View File

@ -786,7 +786,7 @@ func (table *tableViewData) setFunc(tag PropertyName, value any) []PropertyName
}
case string:
if strings.Contains(value, ",") {
if strings.ContainsRune(value, ',') {
if values := strings.Split(value, ","); len(values) == 2 {
var n = []int{0, 0}
for i := range 2 {
@ -1465,7 +1465,7 @@ func (table *tableViewData) cellPaddingFromStyle(style string) BoundsProperty {
case string:
if value, ok := table.Session().resolveConstants(value); ok {
if strings.Contains(value, ",") {
if strings.ContainsRune(value, ',') {
values := split4Values(value)
switch len(values) {
case 1: