From 41fe50b1c8bd558501588715d3aacd8974db2e84 Mon Sep 17 00:00:00 2001 From: Andy Williams Date: Mon, 14 Dec 2020 17:40:07 +0000 Subject: [PATCH] Correct fix to append just data item on list bind --- data/binding/bindlists.go | 10 +++++----- data/binding/bindlists_test.go | 3 +++ data/binding/gen.go | 2 +- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/data/binding/bindlists.go b/data/binding/bindlists.go index 28e3aad2bd..445952679b 100644 --- a/data/binding/bindlists.go +++ b/data/binding/bindlists.go @@ -33,7 +33,7 @@ func BindBoolList(v *[]bool) BoolList { b := &boundBoolList{val: v} for _, i := range *v { - b.Append(i) + b.appendItem(BindBool(&i)) } return b @@ -113,7 +113,7 @@ func BindFloatList(v *[]float64) FloatList { b := &boundFloatList{val: v} for _, i := range *v { - b.Append(i) + b.appendItem(BindFloat(&i)) } return b @@ -193,7 +193,7 @@ func BindIntList(v *[]int) IntList { b := &boundIntList{val: v} for _, i := range *v { - b.Append(i) + b.appendItem(BindInt(&i)) } return b @@ -273,7 +273,7 @@ func BindRuneList(v *[]rune) RuneList { b := &boundRuneList{val: v} for _, i := range *v { - b.Append(i) + b.appendItem(BindRune(&i)) } return b @@ -353,7 +353,7 @@ func BindStringList(v *[]string) StringList { b := &boundStringList{val: v} for _, i := range *v { - b.Append(i) + b.appendItem(BindString(&i)) } return b diff --git a/data/binding/bindlists_test.go b/data/binding/bindlists_test.go index b6b56a143c..ce87e6ba67 100644 --- a/data/binding/bindlists_test.go +++ b/data/binding/bindlists_test.go @@ -12,6 +12,9 @@ func TestBindFloatList(t *testing.T) { assert.Equal(t, 3, f.Length()) assert.Equal(t, 5.0, f.Get(1)) + + assert.NotNil(t, f.(*boundFloatList).val) + assert.Equal(t, 3, len(*(f.(*boundFloatList).val))) } func TestNewFloatList(t *testing.T) { diff --git a/data/binding/gen.go b/data/binding/gen.go index e26d074227..d5f1d0af92 100644 --- a/data/binding/gen.go +++ b/data/binding/gen.go @@ -247,7 +247,7 @@ func Bind{{ .Name }}List(v *[]{{ .Type }}) {{ .Name }}List { b := &bound{{ .Name }}List{val: v} for _, i := range *v { - b.Append(i) + b.appendItem(Bind{{ .Name }}(&i)) } return b