68 lines
1.3 KiB
Go
68 lines
1.3 KiB
Go
package ui
|
|
|
|
import "github.com/gofiber/fiber/v2"
|
|
|
|
type InputField struct {
|
|
ID string
|
|
Legend string
|
|
Type string
|
|
Placeholder string
|
|
Name string
|
|
Value string
|
|
Endpoint string
|
|
Trigger string
|
|
Hint string
|
|
InputClass string
|
|
}
|
|
|
|
func NewInputField(id, name, legend, placeholder, endpoint string) InputField {
|
|
return InputField{
|
|
ID: id,
|
|
Legend: legend,
|
|
Type: "text",
|
|
Placeholder: placeholder,
|
|
Name: name,
|
|
Value: "",
|
|
Endpoint: endpoint,
|
|
Trigger: "blur",
|
|
Hint: "",
|
|
InputClass: "",
|
|
}
|
|
}
|
|
|
|
func (f InputField) ToMap() fiber.Map {
|
|
return fiber.Map{
|
|
"ID": f.ID,
|
|
"Legend": f.Legend,
|
|
"Type": f.Type,
|
|
"Placeholder": f.Placeholder,
|
|
"Name": f.Name,
|
|
"Value": f.Value,
|
|
"Endpoint": f.Endpoint,
|
|
"Trigger": f.Trigger,
|
|
"Hint": f.Hint,
|
|
"InputClass": f.InputClass,
|
|
}
|
|
}
|
|
|
|
func (f InputField) WithValue(value string) InputField {
|
|
f.Value = value
|
|
return f
|
|
}
|
|
|
|
func (f InputField) WithError(hint string) InputField {
|
|
f.Hint = hint
|
|
f.InputClass = "input-error text-error"
|
|
return f
|
|
}
|
|
|
|
func (f InputField) WithType(inputType string) InputField {
|
|
f.Type = inputType
|
|
return f
|
|
}
|
|
|
|
func (f InputField) WithTrigger(trigger string) InputField {
|
|
f.Trigger = trigger
|
|
return f
|
|
}
|