external.go 1.4 KB

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