-
Notifications
You must be signed in to change notification settings - Fork 0
/
fieldinitializer.go
53 lines (46 loc) · 1.92 KB
/
fieldinitializer.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
package aform
// SetLabel overrides the default label of the Field. By default, the label is
// the name of the Field given as parameter to a Field creation function. The
// label is HTML-escaped. To alter more the for= attribute or to completely
// remove the tag <label> use SetAutoID.
func (fld *Field) SetLabel(label string) {
fld.label = label
}
// MarkSafe marks the field label as safe for HTML. It means the label
// and the label suffix are no more HTML-escaped.
func (fld *Field) MarkSafe() {
fld.isSafe = true
}
// SetHelpText adds a help text to the Field. Help text is not HTML-escaped.
func (fld *Field) SetHelpText(help string) {
fld.helpText = help
}
// SetNotRequired sets the Field as not required. By default,
// all fields are required.
func (fld *Field) SetNotRequired() {
fld.notRequired = true
}
// SetDisabled sets the Field as disabled.
func (fld *Field) SetDisabled() {
fld.disabled = true
}
// AddChoiceOptions adds a list of ChoiceFieldOption to the Field. if the
// parameter label is the empty string options are not grouped together.
// Example without group label:
// fld.AddChoiceOptions("", []ChoiceFieldOption{{Value: "red", Label: "Rouge"}, {Value: "green", Label: "Vert"}})
// // HTML output:
// // <option value="red" id="id_color_0">Rouge</option>
// // <option value="green" id="id_color_1">Vert</option>
// Example with group label:
// fld.AddChoiceOptions("RG", []ChoiceFieldOption{{Value: "red", Label: "Rouge"}, {Value: "green", Label: "Vert"}})
// // HTML output:
// // <optgroup label="RG">
// // <option value="red" id="id_color_0_0">Rouge</option>
// // <option value="green" id="id_color_0_1">Vert</option>
// // </optgroup>
func (fld *Field) AddChoiceOptions(label string, options []ChoiceFieldOption) {
fld.optionGroups = append(fld.optionGroups, choiceFieldOptionGroup{label: options})
}
func (fld *Field) addError(err Error) {
fld.errors = append(fld.errors, err)
}