table.go 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. package pages
  2. import (
  3. "github.com/GoAdminGroup/go-admin/context"
  4. "github.com/GoAdminGroup/go-admin/modules/config"
  5. "github.com/GoAdminGroup/go-admin/plugins/admin/modules/paginator"
  6. "github.com/GoAdminGroup/go-admin/plugins/admin/modules/parameter"
  7. "github.com/GoAdminGroup/go-admin/template"
  8. "github.com/GoAdminGroup/go-admin/template/types"
  9. )
  10. func GetTableContent(ctx *context.Context) (types.Panel, error) {
  11. comp := template.Get(config.GetTheme())
  12. table := comp.DataTable().
  13. SetInfoList([]map[string]types.InfoItem{
  14. {
  15. "id": {Content: "0"},
  16. "name": {Content: "Jack"},
  17. "gender": {Content: "men"},
  18. "age": {Content: "20"},
  19. },
  20. {
  21. "id": {Content: "1"},
  22. "name": {Content: "Jane"},
  23. "gender": {Content: "women"},
  24. "age": {Content: "23"},
  25. },
  26. }).
  27. SetPrimaryKey("id").
  28. SetThead(types.Thead{
  29. {Head: "ID", Field: "id"},
  30. {Head: "Name", Field: "name"},
  31. {Head: "Gender", Field: "gender"},
  32. {Head: "Age", Field: "age"},
  33. })
  34. body := table.GetContent()
  35. return types.Panel{
  36. Content: comp.Box().
  37. SetBody(body).
  38. SetNoPadding().
  39. SetHeader(table.GetDataTableHeader()).
  40. WithHeadBorder().
  41. SetFooter(paginator.Get(paginator.Config{
  42. Size: 50,
  43. PageSizeList: []string{"10", "20", "30", "50"},
  44. Param: parameter.GetParam(ctx.Request.URL, 10),
  45. }).GetContent()).
  46. GetContent(),
  47. Title: "Table",
  48. Description: "table example",
  49. }, nil
  50. }