external.go 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. package tables
  2. import (
  3. "github.com/GoAdminGroup/go-admin/modules/db"
  4. "github.com/GoAdminGroup/go-admin/plugins/admin/modules/parameter"
  5. "github.com/GoAdminGroup/go-admin/plugins/admin/modules/table"
  6. "github.com/GoAdminGroup/go-admin/template/types/form"
  7. )
  8. // GetExternalTable return the model from external data source.
  9. func GetExternalTable() (externalTable table.Table) {
  10. externalTable = table.NewDefaultTable(table.DefaultConfig())
  11. info := externalTable.GetInfo()
  12. info.AddField("ID", "id", db.Bigint).FieldSortable()
  13. info.AddField("Title", "title", db.Varchar)
  14. info.SetTable("external").
  15. SetTitle("Externals").
  16. SetDescription("Externals").
  17. SetGetDataFn(func(param parameter.Parameters) ([]map[string]interface{}, int) {
  18. return []map[string]interface{}{
  19. {
  20. "id": 10,
  21. "title": "this is a title",
  22. }, {
  23. "id": 11,
  24. "title": "this is a title2",
  25. }, {
  26. "id": 12,
  27. "title": "this is a title3",
  28. }, {
  29. "id": 13,
  30. "title": "this is a title4",
  31. },
  32. }, 10
  33. })
  34. formList := externalTable.GetForm()
  35. formList.AddField("ID", "id", db.Int, form.Default).FieldNotAllowEdit().FieldNotAllowAdd()
  36. formList.AddField("Title", "title", db.Varchar, form.Text)
  37. formList.SetTable("external").SetTitle("Externals").SetDescription("Externals")
  38. return
  39. }