Skip to content

Commit 0d4b640

Browse files
committed
update
1 parent cb93876 commit 0d4b640

File tree

2 files changed

+28
-0
lines changed

2 files changed

+28
-0
lines changed

config/config.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,3 +138,9 @@ func (c *Config) SetDefaultValue(fieldDefaultValue func(fieldName string) string
138138
setDefaultValue(c.Elements, c.Languages, fieldDefaultValue)
139139
}
140140
}
141+
142+
func (c *Config) SetValue(fieldValue func(fieldName string) string) {
143+
if fieldValue != nil {
144+
setValue(c.Elements, c.Languages, fieldValue)
145+
}
146+
}

config/utils.go

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,3 +54,25 @@ func setDefaultValue(elements []*Element, languages []*Language, fieldDefaultVal
5454
}
5555
}
5656
}
57+
58+
func setValue(elements []*Element, languages []*Language, fieldValue func(string) string) {
59+
for _, elem := range elements {
60+
if elem.Type == `langset` {
61+
setValue(elem.Elements, elem.Languages, fieldValue)
62+
continue
63+
}
64+
if elem.Type == `fieldset` {
65+
setValue(elem.Elements, languages, fieldValue)
66+
continue
67+
}
68+
if len(elem.Name) > 0 {
69+
if len(languages) == 0 {
70+
elem.Value = fieldValue(elem.Name)
71+
continue
72+
}
73+
for _, lang := range languages {
74+
elem.Value = fieldValue(lang.Name(elem.Name))
75+
}
76+
}
77+
}
78+
}

0 commit comments

Comments
 (0)