mirror of https://github.com/anoshenko/rui.git
Bug fixing
This commit is contained in:
parent
ff8f6f30f2
commit
7702221672
|
@ -421,6 +421,11 @@ func (listView *listViewData) getAdapter() ListAdapter {
|
|||
return adapter
|
||||
}
|
||||
}
|
||||
if obj := listView.binding(); obj != nil {
|
||||
if adapter, ok := obj.(ListAdapter); ok {
|
||||
return adapter
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
|
|
|
@ -143,9 +143,22 @@ func parseProperties(properties Properties, object DataObject) {
|
|||
properties.Set(PropertyName(node.Tag()), node.Object())
|
||||
|
||||
case ArrayNode:
|
||||
switch node.ArraySize() {
|
||||
case 0:
|
||||
// do nothing
|
||||
|
||||
case 1:
|
||||
if v := node.ArrayElement(0); v.IsObject() {
|
||||
properties.Set(PropertyName(node.Tag()), v.Object())
|
||||
} else {
|
||||
properties.Set(PropertyName(node.Tag()), v.Value())
|
||||
}
|
||||
|
||||
default:
|
||||
properties.Set(PropertyName(node.Tag()), node.Array())
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func propertiesGet(properties Properties, tag PropertyName) any {
|
||||
|
|
|
@ -36,6 +36,11 @@ func GetTableContent(view View, subviewID ...string) TableAdapter {
|
|||
return adapter
|
||||
}
|
||||
}
|
||||
if obj := view.binding(); obj != nil {
|
||||
if adapter, ok := obj.(TableAdapter); ok {
|
||||
return adapter
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
|
|
40
viewStyle.go
40
viewStyle.go
|
@ -604,7 +604,7 @@ func propertyValueToString(tag PropertyName, value any, indent string) string {
|
|||
|
||||
case []string:
|
||||
if len(value) == 0 {
|
||||
return "[]"
|
||||
return ""
|
||||
}
|
||||
|
||||
size := 0
|
||||
|
@ -699,7 +699,7 @@ func propertyValueToString(tag PropertyName, value any, indent string) string {
|
|||
case []View:
|
||||
size := len(value)
|
||||
if size == 0 {
|
||||
return "[]"
|
||||
return ""
|
||||
}
|
||||
|
||||
buffer := allocStringBuilder()
|
||||
|
@ -724,35 +724,29 @@ func propertyValueToString(tag PropertyName, value any, indent string) string {
|
|||
case []any:
|
||||
size := len(value)
|
||||
if size == 0 {
|
||||
return "[]"
|
||||
return ""
|
||||
}
|
||||
|
||||
buffer := allocStringBuilder()
|
||||
defer freeStringBuilder(buffer)
|
||||
|
||||
if size == 1 {
|
||||
return propertyValueToString(tag, value[0], indent)
|
||||
} else {
|
||||
buffer.WriteString("[ ")
|
||||
comma := false
|
||||
text := make([]string, 0, size)
|
||||
for _, v := range value {
|
||||
text := propertyValueToString(tag, v, indent)
|
||||
if text != "" {
|
||||
if comma {
|
||||
buffer.WriteString(", ")
|
||||
}
|
||||
buffer.WriteString(text)
|
||||
comma = true
|
||||
if txt := propertyValueToString(tag, v, indent); txt != "" {
|
||||
text = append(text, txt)
|
||||
}
|
||||
}
|
||||
buffer.WriteString(" ]")
|
||||
|
||||
switch len(text) {
|
||||
case 0:
|
||||
return ""
|
||||
case 1:
|
||||
return text[0]
|
||||
default:
|
||||
return propertyValueToString(tag, text, indent)
|
||||
}
|
||||
return buffer.String()
|
||||
|
||||
case []BackgroundElement:
|
||||
size := len(value)
|
||||
if size == 0 {
|
||||
return "[]"
|
||||
return ""
|
||||
}
|
||||
|
||||
buffer := allocStringBuilder()
|
||||
|
@ -805,7 +799,7 @@ func propertyValueToString(tag PropertyName, value any, indent string) string {
|
|||
case map[PropertyName]AnimationProperty:
|
||||
size := len(value)
|
||||
if size == 0 {
|
||||
return "[]"
|
||||
return ""
|
||||
}
|
||||
|
||||
buffer := allocStringBuilder()
|
||||
|
@ -839,7 +833,7 @@ func propertyValueToString(tag PropertyName, value any, indent string) string {
|
|||
case []AnimationProperty:
|
||||
size := len(value)
|
||||
if size == 0 {
|
||||
return "[]"
|
||||
return ""
|
||||
}
|
||||
|
||||
buffer := allocStringBuilder()
|
||||
|
|
Loading…
Reference in New Issue