-
Notifications
You must be signed in to change notification settings - Fork 0
/
input_file.go
89 lines (77 loc) · 1.98 KB
/
input_file.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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
package components
import (
mgc "github.com/mh-cbon/mdl-go-components"
base "github.com/mh-cbon/mdl-go-components/components_common"
)
type InputFile struct {
mgc.ViewComponent
base.NodeLabel
base.NodePlaceholder
base.NodeSingleError
Attr base.AttrList
Classes base.ClassList
InputAttr base.AttrList
InputClasses base.ClassList
InputFileAttr base.AttrList
InputTextValue string
AttachIcon string
ClearIcon string
}
func NewInputFile() *InputFile {
view := &InputFile{}
view.SetBlock("mgc/form_input_file")
view.SetAttachIcon("attach_file")
view.SetClearIcon("clear")
view.InputAttr.Set("type", "text")
view.InputAttr.Set("readonly", "readonly")
return view
}
func (view *InputFile) SetErrors(p base.ErrorProvider) {
err := p.GetError(view.GetName())
if err != nil {
view.SetError(err)
}
}
func (view *InputFile) SetClearIcon(b string) {
view.ClearIcon = b
}
func (view *InputFile) GetClearIcon() string {
return view.ClearIcon
}
func (view *InputFile) SetAttachIcon(b string) {
view.AttachIcon = b
}
func (view *InputFile) GetAttachIcon() string {
return view.AttachIcon
}
func (view *InputFile) SetName(b string) {
view.InputFileAttr.Set("name", b)
}
func (view *InputFile) GetName() string {
return view.InputFileAttr.GetValue("name")
}
func (view *InputFile) SetId(b string) {
view.InputAttr.Set("id", b)
}
func (view *InputFile) GetId() string {
return view.InputAttr.GetValue("id")
}
func (view *InputFile) SetInputTextValue(b string) {
view.InputTextValue = b
}
func (view *InputFile) SetInputTextName(b string) {
view.InputAttr.Set("name", b)
}
func (view *InputFile) SetMultiple(b bool) {
if b {
view.InputFileAttr.Set("multiple", "multiple")
} else {
view.InputFileAttr.Remove("multiple")
}
}
func (view *InputFile) IsMultiple() bool {
return view.InputFileAttr.GetValue("multiple") == "multiple"
}
func (view *InputFile) Render(args ...interface{}) (string, error) {
return view.GetRenderContext().RenderComponent(view, args)
}