[fix] widget form tab columns bug

This commit is contained in:
Max 2022-12-16 18:05:55 +08:00
parent 4707c17518
commit 112d6619dd
2 changed files with 23 additions and 24 deletions

View file

@ -159,14 +159,16 @@ func (layout *LayoutDSL) listColumns(fn func(string, Column), path string, secti
if sections[i].Columns[j].Tabs != nil { if sections[i].Columns[j].Tabs != nil {
for k := range sections[i].Columns[j].Tabs { for k := range sections[i].Columns[j].Tabs {
tab := sections[i].Columns[j].Tabs[k]
layout.listColumns( layout.listColumns(
fn, fn,
fmt.Sprintf("%s[%d].Columns[%d].tabs[%d]", path, i, j, k), fmt.Sprintf("%s[%d].Columns[%d].tabs[%d]", path, i, j, k),
[]SectionDSL{sections[i].Columns[j].Tabs[k]}, []SectionDSL{tab},
) )
} }
continue continue
} }
if path == "layout.sections" { if path == "layout.sections" {
fn(fmt.Sprintf("%s[%d].Columns[%d]", path, i, j), sections[i].Columns[j]) fn(fmt.Sprintf("%s[%d].Columns[%d]", path, i, j), sections[i].Columns[j])
} else { } else {

View file

@ -45,12 +45,9 @@ func (dsl *DSL) mapping() error {
// Mapping compute and id // Mapping compute and id
if dsl.Fields.Form != nil && dsl.Layout.Form != nil && dsl.Layout.Form.Sections != nil { if dsl.Fields.Form != nil && dsl.Layout.Form != nil && dsl.Layout.Form.Sections != nil {
for _, section := range dsl.Layout.Form.Sections { dsl.Layout.listColumns(func(path string, inst Column) {
for _, inst := range section.Columns {
if field, has := dsl.Fields.Form[inst.Name]; has { if field, has := dsl.Fields.Form[inst.Name]; has {
// Mapping ID // Mapping ID
dsl.Mapping.Columns[field.ID] = inst.Name dsl.Mapping.Columns[field.ID] = inst.Name
dsl.Mapping.Columns[inst.Name] = field.ID dsl.Mapping.Columns[inst.Name] = field.ID
@ -73,8 +70,8 @@ func (dsl *DSL) mapping() error {
dsl.Computes.Edit[bind] = append(dsl.Computes.Edit[bind], compute.Unit{Name: inst.Name, Kind: compute.Edit}) dsl.Computes.Edit[bind] = append(dsl.Computes.Edit[bind], compute.Unit{Name: inst.Name, Kind: compute.Edit})
} }
} }
}
} }, "", nil)
} }
// Mapping Actions // Mapping Actions