posts.go 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. package tables
  2. import (
  3. "github.com/GoAdminGroup/go-admin/context"
  4. "github.com/GoAdminGroup/go-admin/modules/db"
  5. "github.com/GoAdminGroup/go-admin/plugins/admin/modules/table"
  6. "github.com/GoAdminGroup/go-admin/template"
  7. "github.com/GoAdminGroup/go-admin/template/types"
  8. "github.com/GoAdminGroup/go-admin/template/types/form"
  9. editType "github.com/GoAdminGroup/go-admin/template/types/table"
  10. )
  11. // GetPostsTable return the model of table posts.
  12. func GetPostsTable(ctx *context.Context) (postsTable table.Table) {
  13. postsTable = table.NewDefaultTable(table.DefaultConfig())
  14. info := postsTable.GetInfo()
  15. info.AddField("ID", "id", db.Int).FieldSortable()
  16. info.AddField("Title", "title", db.Varchar)
  17. info.AddField("AuthorID", "author_id", db.Varchar).FieldDisplay(func(value types.FieldModel) interface{} {
  18. return template.Default().
  19. Link().
  20. SetURL("/admin/info/authors/detail?__goadmin_detail_pk=100").
  21. SetContent("100").
  22. OpenInNewTab().
  23. SetTabTitle("Author Detail").
  24. GetContent()
  25. })
  26. info.AddField("Description", "description", db.Varchar)
  27. info.AddField("Content", "content", db.Varchar).FieldEditAble(editType.Textarea)
  28. info.AddField("Date", "date", db.Varchar)
  29. info.SetTable("posts").SetTitle("Posts").SetDescription("Posts")
  30. formList := postsTable.GetForm()
  31. formList.AddField("ID", "id", db.Int, form.Default).FieldNotAllowEdit().FieldNotAllowAdd()
  32. formList.AddField("Title", "title", db.Varchar, form.Text)
  33. formList.AddField("Description", "description", db.Varchar, form.Text)
  34. formList.AddField("Content", "content", db.Varchar, form.Text)
  35. formList.AddField("Date", "date", db.Varchar, form.Datetime)
  36. formList.SetTable("posts").SetTitle("Posts").SetDescription("Posts")
  37. return
  38. }