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