github.com/kotovmak/go-admin@v1.1.1/tests/tables/external.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/parameter" 7 "github.com/kotovmak/go-admin/plugins/admin/modules/table" 8 "github.com/kotovmak/go-admin/template/types/form" 9 ) 10 11 // GetExternalTable return the model from external data source. 12 func GetExternalTable(ctx *context.Context) (externalTable table.Table) { 13 14 externalTable = table.NewDefaultTable() 15 16 info := externalTable.GetInfo() 17 info.AddField("ID", "id", db.Int).FieldSortable() 18 info.AddField("Title", "title", db.Varchar) 19 20 info.SetTable("external"). 21 SetTitle("Externals"). 22 SetDescription("Externals"). 23 SetGetDataFn(func(param parameter.Parameters) ([]map[string]interface{}, int) { 24 return []map[string]interface{}{ 25 { 26 "id": 10, 27 "title": "this is a title", 28 }, { 29 "id": 11, 30 "title": "this is a title2", 31 }, { 32 "id": 12, 33 "title": "this is a title3", 34 }, { 35 "id": 13, 36 "title": "this is a title4", 37 }, 38 }, 10 39 }) 40 41 formList := externalTable.GetForm() 42 formList.AddField("ID", "id", db.Int, form.Default).FieldDisplayButCanNotEditWhenUpdate().FieldDisableWhenCreate() 43 formList.AddField("Title", "title", db.Varchar, form.Text) 44 45 formList.SetTable("external").SetTitle("Externals").SetDescription("Externals") 46 47 detail := externalTable.GetDetail() 48 49 detail.SetTable("external"). 50 SetTitle("Externals"). 51 SetDescription("Externals"). 52 SetGetDataFn(func(param parameter.Parameters) ([]map[string]interface{}, int) { 53 return []map[string]interface{}{ 54 { 55 "id": 10, 56 "title": "this is a title", 57 }, 58 }, 1 59 }) 60 61 return 62 }