-
Notifications
You must be signed in to change notification settings - Fork 0
/
inlineRadio.go
33 lines (28 loc) · 874 Bytes
/
inlineRadio.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
package widgets
import (
"honnef.co/go/js/dom/v2"
)
// InlineRadio return a radio inline block
func InlineRadio(inputattr map[string]string) *dom.HTMLDivElement {
Doc := dom.GetWindow().Document()
// main div
maindiv := Doc.CreateElement("div").(*dom.HTMLDivElement)
maindiv.SetClass("form-check form-check-inline")
// input
input := Doc.CreateElement("input").(*dom.HTMLInputElement)
input.SetAttribute("type", "radio")
input.SetClass("form-check-input")
// ...setting up additional attributes
for a := range inputattr {
input.SetAttribute(a, inputattr[a])
}
// label
label := Doc.CreateElement("label").(*dom.HTMLLabelElement)
label.SetClass("form-check-label")
label.SetAttribute("for", inputattr["id"])
label.SetInnerHTML(inputattr["label"])
// building the final result
maindiv.AppendChild(input)
maindiv.AppendChild(label)
return maindiv
}