diff --git a/widgets/form/form.go b/widgets/form/form.go index 2b4b1d5c..43a510dd 100644 --- a/widgets/form/form.go +++ b/widgets/form/form.go @@ -55,7 +55,9 @@ func New(id string) *DSL { return &DSL{ ID: id, Fields: &FieldsDSL{Form: field.Columns{}}, + Layout: &LayoutDSL{}, CProps: field.CloudProps{}, + Config: map[string]interface{}{}, } } @@ -182,6 +184,14 @@ func (dsl *DSL) Parse() error { // Xgen trans to xgen setting func (dsl *DSL) Xgen() (map[string]interface{}, error) { + if dsl.Layout == nil { + dsl.Layout = &LayoutDSL{Form: &ViewLayoutDSL{}} + } + + if dsl.Layout.Form == nil { + dsl.Layout.Form = &ViewLayoutDSL{} + } + setting, err := dsl.Layout.Xgen() if err != nil { return nil, err @@ -192,6 +202,11 @@ func (dsl *DSL) Xgen() (map[string]interface{}, error) { return nil, err } + // full width default value + if _, has := dsl.Config["full"]; !has { + dsl.Config["full"] = true + } + setting["fields"] = fields setting["config"] = dsl.Config for _, cProp := range dsl.CProps { @@ -201,7 +216,6 @@ func (dsl *DSL) Xgen() (map[string]interface{}, error) { "params": cProp.Query, } }) - if err != nil { return nil, err } diff --git a/widgets/form/form_test.go b/widgets/form/form_test.go index 03ce2838..9bc46d0b 100644 --- a/widgets/form/form_test.go +++ b/widgets/form/form_test.go @@ -17,7 +17,7 @@ func TestLoad(t *testing.T) { if err != nil { t.Fatal(err) } - assert.Equal(t, 2, len(Forms)) + assert.Equal(t, 8, len(Forms)) } func prepare(t *testing.T, language ...string) {