forked from goffee/core
add form components
This commit is contained in:
parent
015e85bf7b
commit
8f17bf6a8c
8 changed files with 87 additions and 0 deletions
14
template/components/form_checkbox.go
Normal file
14
template/components/form_checkbox.go
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
package components
|
||||||
|
|
||||||
|
type FormCheckbox struct {
|
||||||
|
Label string
|
||||||
|
AllCheckbox []FormCheckboxItem
|
||||||
|
}
|
||||||
|
|
||||||
|
type FormCheckboxItem struct {
|
||||||
|
ID string
|
||||||
|
Name string
|
||||||
|
Value string
|
||||||
|
Label string
|
||||||
|
IsChecked bool
|
||||||
|
}
|
11
template/components/form_checkbox.html
Normal file
11
template/components/form_checkbox.html
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{{define "form_checkbox"}}
|
||||||
|
<div class="input-container">
|
||||||
|
<label class="form-label">{{.Label}}</label>
|
||||||
|
{{range $options := .AllCheckbox}}
|
||||||
|
<div class="form-check">
|
||||||
|
<input class="form-check-input" type="checkbox" name="{{$options.Name}}" id="{{$options.ID}}" value="{{$options.Value}}"{{if eq $options.IsChecked true}} checked{{end}}>
|
||||||
|
<label class="form-check-label" for="{{$options.ID}}">{{$options.Label}}</label>
|
||||||
|
</div>
|
||||||
|
{{end}}
|
||||||
|
</div>
|
||||||
|
{{end}}
|
15
template/components/form_radio.go
Normal file
15
template/components/form_radio.go
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
package components
|
||||||
|
|
||||||
|
type FormRadio struct {
|
||||||
|
Label string
|
||||||
|
AllRadios []FormRadioItem
|
||||||
|
}
|
||||||
|
|
||||||
|
type FormRadioItem struct {
|
||||||
|
ID string
|
||||||
|
Name string
|
||||||
|
Value string
|
||||||
|
Label string
|
||||||
|
IsDisabled bool
|
||||||
|
IsChecked bool
|
||||||
|
}
|
11
template/components/form_radio.html
Normal file
11
template/components/form_radio.html
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{{define "form_radio"}}
|
||||||
|
<div class="input-container">
|
||||||
|
<label class="form-label">{{.Label}}</label>
|
||||||
|
{{range $options := .AllRadios}}
|
||||||
|
<div class="form-check{{if eq $options.IsDisabled true}} disabled{{end}}">
|
||||||
|
<input class="form-check-input" type="radio" name="{{$options.Name}}" id="{{$options.ID}}" value="{{$options.Value}}"{{if eq $options.IsDisabled true}} disabled=""{{end}}{{if eq $options.IsChecked true}} checked=""{{end}}>
|
||||||
|
<label class="form-check-label" for="{{$options.ID}}">{{$options.Label}}</label>
|
||||||
|
</div>
|
||||||
|
{{end}}
|
||||||
|
</div>
|
||||||
|
{{end}}
|
13
template/components/form_select.go
Normal file
13
template/components/form_select.go
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
package components
|
||||||
|
|
||||||
|
type FormSelect struct {
|
||||||
|
ID string
|
||||||
|
SelectedOption FormSelectOption
|
||||||
|
Label string
|
||||||
|
AllOptions []FormSelectOption
|
||||||
|
}
|
||||||
|
|
||||||
|
type FormSelectOption struct {
|
||||||
|
Value string
|
||||||
|
Caption string
|
||||||
|
}
|
10
template/components/form_select.html
Normal file
10
template/components/form_select.html
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
{{define "form_select"}}
|
||||||
|
<div class="input-container">
|
||||||
|
<label for="{{.ID}}" class="form-label">{{.Label}}</label>
|
||||||
|
<select class="form-select" id="{{.ID}}" name="{{.ID}}">
|
||||||
|
{{range $options := .AllOptions}}
|
||||||
|
<option value="{{$options.Value}}" {{if eq $options.Value $.SelectedOption.Value }}selected="selected"{{end}}>{{$options.Caption}}</option>
|
||||||
|
{{end}}
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
{{end}}
|
7
template/components/form_textarea.go
Normal file
7
template/components/form_textarea.go
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
package components
|
||||||
|
|
||||||
|
type FormTextarea struct {
|
||||||
|
ID string
|
||||||
|
Label string
|
||||||
|
AllOptions []FormSelectOption
|
||||||
|
}
|
6
template/components/form_textarea.html
Normal file
6
template/components/form_textarea.html
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
{{define "form_textarea"}}
|
||||||
|
<div class="input-container">
|
||||||
|
<label for="{{.ID}}" class="form-label">{{.Label}}</label>
|
||||||
|
<textarea class="form-control" id="{{.ID}}" name="{{.ID}}" rows="3"></textarea>
|
||||||
|
</div>
|
||||||
|
{{end}}
|
Loading…
Reference in a new issue