first custom form
This commit is contained in:
parent
b86eee27ce
commit
fcc0132758
|
@ -4,7 +4,6 @@ import (
|
|||
"fmt"
|
||||
"owl-blogs/domain/model"
|
||||
"owl-blogs/render"
|
||||
"owl-blogs/web/forms"
|
||||
)
|
||||
|
||||
type Article struct {
|
||||
|
@ -13,11 +12,24 @@ type Article struct {
|
|||
}
|
||||
|
||||
type ArticleMetaData struct {
|
||||
forms.DefaultForm
|
||||
Title string `owl:"inputType=text"`
|
||||
Content string `owl:"inputType=text widget=textarea"`
|
||||
}
|
||||
|
||||
// Form implements model.EntryMetaData.
|
||||
func (meta *ArticleMetaData) Form(binSvc model.BinaryStorageInterface) string {
|
||||
f, _ := render.RenderTemplateToString("forms/Article", meta)
|
||||
return f
|
||||
}
|
||||
|
||||
// ParseFormData implements model.EntryMetaData.
|
||||
func (*ArticleMetaData) ParseFormData(data model.HttpFormData, binSvc model.BinaryStorageInterface) (model.EntryMetaData, error) {
|
||||
return &ArticleMetaData{
|
||||
Title: data.FormValue("title"),
|
||||
Content: data.FormValue("content"),
|
||||
}, nil
|
||||
}
|
||||
|
||||
func (e *Article) Title() string {
|
||||
return e.meta.Title
|
||||
}
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
<label for="title">Title</label>
|
||||
<input type="text" name="title" value="{{.Title}}" />
|
||||
|
||||
<label for="content">Content</label>
|
||||
<textarea name="content" rows="16">
|
||||
{{.Content}}
|
||||
</textarea>
|
|
@ -1 +1 @@
|
|||
exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1
|
||||
exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1
|
|
@ -5,7 +5,6 @@ import (
|
|||
"owl-blogs/app/repository"
|
||||
"owl-blogs/domain/model"
|
||||
"owl-blogs/render"
|
||||
"owl-blogs/web/forms"
|
||||
"time"
|
||||
|
||||
"github.com/gofiber/fiber/v2"
|
||||
|
@ -48,12 +47,7 @@ func (h *EditorHandler) HandleGetNew(c *fiber.Ctx) error {
|
|||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
form := forms.NewForm(entryType.MetaData(), h.binSvc)
|
||||
htmlForm, err := form.HtmlForm()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
htmlForm := entryType.MetaData().Form(h.binSvc)
|
||||
return render.RenderTemplateWithBase(c, getSiteConfig(h.configRepo), "views/editor", htmlForm)
|
||||
}
|
||||
|
||||
|
@ -65,9 +59,7 @@ func (h *EditorHandler) HandlePostNew(c *fiber.Ctx) error {
|
|||
return err
|
||||
}
|
||||
|
||||
form := forms.NewForm(entry.MetaData(), h.binSvc)
|
||||
// get form data
|
||||
entryMeta, err := form.Parse(c)
|
||||
entryMeta, err := entry.MetaData().ParseFormData(c, h.binSvc)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
@ -100,11 +92,7 @@ func (h *EditorHandler) HandleGetEdit(c *fiber.Ctx) error {
|
|||
return err
|
||||
}
|
||||
|
||||
form := forms.NewForm(entry.MetaData(), h.binSvc)
|
||||
htmlForm, err := form.HtmlForm()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
htmlForm := entry.MetaData().Form(h.binSvc)
|
||||
return render.RenderTemplateWithBase(c, getSiteConfig(h.configRepo), "views/editor", htmlForm)
|
||||
}
|
||||
|
||||
|
@ -117,9 +105,8 @@ func (h *EditorHandler) HandlePostEdit(c *fiber.Ctx) error {
|
|||
return err
|
||||
}
|
||||
|
||||
form := forms.NewForm(entry.MetaData(), h.binSvc)
|
||||
// get form data
|
||||
meta, err := form.Parse(c)
|
||||
meta, err := entry.MetaData().ParseFormData(c, h.binSvc)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue