mirror of https://github.com/anoshenko/rui.git
Bug fixing
This commit is contained in:
parent
55a86011cd
commit
7cc553176f
|
@ -161,7 +161,7 @@ func backgroundConicGradientSet(properties Properties, tag PropertyName, value a
|
||||||
return propertiesRemove(properties, tag)
|
return propertiesRemove(properties, tag)
|
||||||
}
|
}
|
||||||
|
|
||||||
if strings.Contains(value, ",") || strings.Contains(value, " ") {
|
if strings.ContainsAny(value, ", ") {
|
||||||
if vector := parseGradientText(value); vector != nil {
|
if vector := parseGradientText(value); vector != nil {
|
||||||
properties.setRaw(Gradient, vector)
|
properties.setRaw(Gradient, vector)
|
||||||
return []PropertyName{tag}
|
return []PropertyName{tag}
|
||||||
|
|
|
@ -182,7 +182,7 @@ func setBoundsProperty(properties Properties, tag PropertyName, value any) []Pro
|
||||||
if !setSimpleProperty(properties, tag, value) {
|
if !setSimpleProperty(properties, tag, value) {
|
||||||
switch value := value.(type) {
|
switch value := value.(type) {
|
||||||
case string:
|
case string:
|
||||||
if strings.Contains(value, ",") {
|
if strings.ContainsRune(value, ',') {
|
||||||
values := split4Values(value)
|
values := split4Values(value)
|
||||||
count := len(values)
|
count := len(values)
|
||||||
switch count {
|
switch count {
|
||||||
|
|
24
canvas.go
24
canvas.go
|
@ -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 {
|
func (canvas *canvasData) fontWithParams(name string, size SizeUnit, params FontParams) string {
|
||||||
buffer := allocStringBuilder()
|
buffer := allocStringBuilder()
|
||||||
defer freeStringBuilder(buffer)
|
defer freeStringBuilder(buffer)
|
||||||
|
@ -658,7 +636,7 @@ func (canvas *canvasData) fontWithParams(name string, size SizeUnit, params Font
|
||||||
font = strings.Trim(font, " \n\"'")
|
font = strings.Trim(font, " \n\"'")
|
||||||
buffer.WriteString(lead)
|
buffer.WriteString(lead)
|
||||||
lead = ","
|
lead = ","
|
||||||
if strings.Contains(font, " ") {
|
if strings.ContainsRune(font, ' ') {
|
||||||
buffer.WriteRune('"')
|
buffer.WriteRune('"')
|
||||||
buffer.WriteString(font)
|
buffer.WriteString(font)
|
||||||
buffer.WriteRune('"')
|
buffer.WriteRune('"')
|
||||||
|
|
|
@ -325,7 +325,7 @@ func (view *viewData) setDropEffect(value any) []PropertyName {
|
||||||
}
|
}
|
||||||
|
|
||||||
func stringToDropEffectAllowed(text string) (int, bool) {
|
func stringToDropEffectAllowed(text string) (int, bool) {
|
||||||
if strings.Contains(text, "|") {
|
if strings.ContainsRune(text, '|') {
|
||||||
elements := strings.Split(text, "|")
|
elements := strings.Split(text, "|")
|
||||||
result := 0
|
result := 0
|
||||||
for _, element := range elements {
|
for _, element := range elements {
|
||||||
|
|
|
@ -232,7 +232,7 @@ func acceptPropertyCSS(view View) string {
|
||||||
if buffer.Len() > 0 {
|
if buffer.Len() > 0 {
|
||||||
buffer.WriteString(", ")
|
buffer.WriteString(", ")
|
||||||
}
|
}
|
||||||
if value[0] != '.' && !strings.Contains(value, "/") {
|
if value[0] != '.' && !strings.ContainsRune(value, '/') {
|
||||||
buffer.WriteRune('.')
|
buffer.WriteRune('.')
|
||||||
}
|
}
|
||||||
buffer.WriteString(value)
|
buffer.WriteString(value)
|
||||||
|
|
|
@ -945,7 +945,6 @@ func (player *mediaPlayerData) htmlProperties(self View, buffer *strings.Builder
|
||||||
|
|
||||||
for tag, cssTag := range mediaPlayerEvents() {
|
for tag, cssTag := range mediaPlayerEvents() {
|
||||||
if value := player.getRaw(tag); value != nil {
|
if value := player.getRaw(tag); value != nil {
|
||||||
if listeners, ok := value.([]func(MediaPlayer)); ok && len(listeners) > 0 {
|
|
||||||
buffer.WriteString(` `)
|
buffer.WriteString(` `)
|
||||||
buffer.WriteString(cssTag)
|
buffer.WriteString(cssTag)
|
||||||
buffer.WriteString(`="playerEvent(this, '`)
|
buffer.WriteString(`="playerEvent(this, '`)
|
||||||
|
@ -953,7 +952,6 @@ func (player *mediaPlayerData) htmlProperties(self View, buffer *strings.Builder
|
||||||
buffer.WriteString(`')"`)
|
buffer.WriteString(`')"`)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if value := player.getRaw(TimeUpdateEvent); value != nil {
|
if value := player.getRaw(TimeUpdateEvent); value != nil {
|
||||||
buffer.WriteString(` ontimeupdate="playerTimeUpdatedEvent(this)"`)
|
buffer.WriteString(` ontimeupdate="playerTimeUpdatedEvent(this)"`)
|
||||||
|
|
|
@ -106,6 +106,7 @@ func (properties *propertyList) AllTags() []PropertyName {
|
||||||
return tags
|
return tags
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
func (properties *propertyList) writeToBuffer(buffer *strings.Builder,
|
func (properties *propertyList) writeToBuffer(buffer *strings.Builder,
|
||||||
indent string, objectTag string, tags []PropertyName) {
|
indent string, objectTag string, tags []PropertyName) {
|
||||||
|
|
||||||
|
@ -130,6 +131,7 @@ func (properties *propertyList) writeToBuffer(buffer *strings.Builder,
|
||||||
buffer.WriteString(indent)
|
buffer.WriteString(indent)
|
||||||
buffer.WriteString("}")
|
buffer.WriteString("}")
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
func parseProperties(properties Properties, object DataObject) {
|
func parseProperties(properties Properties, object DataObject) {
|
||||||
for node := range object.Properties() {
|
for node := range object.Properties() {
|
||||||
|
|
|
@ -649,7 +649,7 @@ func radiusPropertySet(radius Properties, tag PropertyName, value any) []Propert
|
||||||
deleteRadiusUnusedTags(radius, result)
|
deleteRadiusUnusedTags(radius, result)
|
||||||
|
|
||||||
case string:
|
case string:
|
||||||
if strings.Contains(value, "/") {
|
if strings.ContainsRune(value, '/') {
|
||||||
if values := strings.Split(value, "/"); len(values) == 2 {
|
if values := strings.Split(value, "/"); len(values) == 2 {
|
||||||
if result = radiusPropertySet(radius, tag+"-x", values[0]); result != nil {
|
if result = radiusPropertySet(radius, tag+"-x", values[0]); result != nil {
|
||||||
if resultY := radiusPropertySet(radius, tag+"-y", values[1]); resultY != 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)
|
properties.setRaw(Radius, radius)
|
||||||
|
|
||||||
case string:
|
case string:
|
||||||
if strings.Contains(value, "/") {
|
if strings.ContainsRune(value, '/') {
|
||||||
values := strings.Split(value, "/")
|
values := strings.Split(value, "/")
|
||||||
if len(values) == 2 {
|
if len(values) == 2 {
|
||||||
if setRadiusPropertyElement(properties, RadiusX, values[0]) {
|
if setRadiusPropertyElement(properties, RadiusX, values[0]) {
|
||||||
|
|
2
range.go
2
range.go
|
@ -21,7 +21,7 @@ func (r Range) String() string {
|
||||||
|
|
||||||
func (r *Range) setValue(value string) bool {
|
func (r *Range) setValue(value string) bool {
|
||||||
var err error
|
var err error
|
||||||
if strings.Contains(value, ":") {
|
if strings.ContainsRune(value, ':') {
|
||||||
values := strings.Split(value, ":")
|
values := strings.Split(value, ":")
|
||||||
if len(values) != 2 {
|
if len(values) != 2 {
|
||||||
ErrorLog("Invalid range value: " + value)
|
ErrorLog("Invalid range value: " + value)
|
||||||
|
|
|
@ -174,7 +174,7 @@ func resizableSide(view View) int {
|
||||||
"all": AllSides,
|
"all": AllSides,
|
||||||
}
|
}
|
||||||
|
|
||||||
if strings.Contains(value, "|") {
|
if strings.ContainsRune(value, '|') {
|
||||||
values := strings.Split(value, "|")
|
values := strings.Split(value, "|")
|
||||||
sides := 0
|
sides := 0
|
||||||
for _, val := range values {
|
for _, val := range values {
|
||||||
|
@ -226,7 +226,7 @@ func resizableSetSide(properties Properties, value any) []PropertyName {
|
||||||
"left": LeftSide,
|
"left": LeftSide,
|
||||||
"all": AllSides,
|
"all": AllSides,
|
||||||
}
|
}
|
||||||
if strings.Contains(value, "|") {
|
if strings.ContainsRune(value, '|') {
|
||||||
values := strings.Split(value, "|")
|
values := strings.Split(value, "|")
|
||||||
sides := 0
|
sides := 0
|
||||||
hasConst := false
|
hasConst := false
|
||||||
|
|
|
@ -35,11 +35,9 @@ func (session *sessionData) constant(tag string, prevTags []string) (string, boo
|
||||||
return result, true
|
return result, true
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, separator := range []string{",", " ", ":", ";", "|", "/"} {
|
if strings.ContainsAny(result, ", :;|/") {
|
||||||
if strings.Contains(result, separator) {
|
|
||||||
return session.resolveConstantsNext(result, tags)
|
return session.resolveConstantsNext(result, tags)
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if result[0] != '@' {
|
if result[0] != '@' {
|
||||||
return result, true
|
return result, true
|
||||||
|
|
|
@ -786,7 +786,7 @@ func (table *tableViewData) setFunc(tag PropertyName, value any) []PropertyName
|
||||||
}
|
}
|
||||||
|
|
||||||
case string:
|
case string:
|
||||||
if strings.Contains(value, ",") {
|
if strings.ContainsRune(value, ',') {
|
||||||
if values := strings.Split(value, ","); len(values) == 2 {
|
if values := strings.Split(value, ","); len(values) == 2 {
|
||||||
var n = []int{0, 0}
|
var n = []int{0, 0}
|
||||||
for i := range 2 {
|
for i := range 2 {
|
||||||
|
@ -1465,7 +1465,7 @@ func (table *tableViewData) cellPaddingFromStyle(style string) BoundsProperty {
|
||||||
|
|
||||||
case string:
|
case string:
|
||||||
if value, ok := table.Session().resolveConstants(value); ok {
|
if value, ok := table.Session().resolveConstants(value); ok {
|
||||||
if strings.Contains(value, ",") {
|
if strings.ContainsRune(value, ',') {
|
||||||
values := split4Values(value)
|
values := split4Values(value)
|
||||||
switch len(values) {
|
switch len(values) {
|
||||||
case 1:
|
case 1:
|
||||||
|
|
Loading…
Reference in New Issue