diff options
Diffstat (limited to 'templ')
-rw-r--r-- | templ/form.tpl | 14 | ||||
-rw-r--r-- | templ/login.tpl | 6 | ||||
-rw-r--r-- | templ/login2.tpl | 4 | ||||
-rw-r--r-- | templ/template.go | 7 |
4 files changed, 30 insertions, 1 deletions
diff --git a/templ/form.tpl b/templ/form.tpl new file mode 100644 index 0000000..b17cb1d --- /dev/null +++ b/templ/form.tpl @@ -0,0 +1,14 @@ +{{define "formItem"}} + <label {{with .ID}}for="{{.}}"{{end}}>{{.Label}}</label> + <input + {{with .ID}}id="{{.}}"{{end}} + type="{{.Type}}" + name="{{.Name}}" + placeholder="{{.Placeholder}}" + {{with .Value}}value="{{.}}"{{end}} + {{with .Class}}class="{{.}}"{{end}} + {{range .Options}} {{.}} {{end}} + > + {{with .Footer}}<p>{{.}}</p>{{end}} + <br /> +{{end}}
\ No newline at end of file diff --git a/templ/login.tpl b/templ/login.tpl new file mode 100644 index 0000000..40d49c9 --- /dev/null +++ b/templ/login.tpl @@ -0,0 +1,6 @@ +{{define "body"}} + <form action="/login" method="post"> + {{inputs_for .}} + <button type="submit">Log In!</button> + </form> +{{end}}
\ No newline at end of file diff --git a/templ/login2.tpl b/templ/login2.tpl new file mode 100644 index 0000000..89ba6a5 --- /dev/null +++ b/templ/login2.tpl @@ -0,0 +1,4 @@ +{{define "body"}} + Logged in with user: {{.Name}} <br> + You have chosen: {{.Password}} +{{end}}
\ No newline at end of file diff --git a/templ/template.go b/templ/template.go index 8fed965..20a4de7 100644 --- a/templ/template.go +++ b/templ/template.go @@ -4,6 +4,8 @@ import ( "embed" "html/template" "sync" + + "github.com/Necoro/form" ) //go:embed *.tpl @@ -13,9 +15,12 @@ var templates = make(map[string]*template.Template) var muTpl sync.RWMutex var baseTpl *template.Template +var formBuilder form.Builder func init() { - baseTpl = template.Must(template.ParseFS(fs, "base.tpl")) + baseTpl = template.Must(template.ParseFS(fs, "base.tpl", "form.tpl")) + formBuilder = form.Builder{InputTemplate: baseTpl.Lookup("formItem")} + baseTpl.Funcs(formBuilder.FuncMap()) } func Lookup(name string) *template.Template { |