github.com/kotovmak/go-admin@v1.1.1/plugins/admin/modules/tools/template.go (about) 1 package tools 2 3 const tableModelTmpl = `{{define "table_model"}} 4 package {{.Package}} 5 6 import ( 7 {{.ExtraImport}} 8 "github.com/kotovmak/go-admin/context" 9 "github.com/kotovmak/go-admin/modules/db" 10 "github.com/kotovmak/go-admin/plugins/admin/modules/table" 11 "github.com/kotovmak/go-admin/template/types/form" 12 ) 13 14 func Get{{.TableTitle}}Table(ctx *context.Context) table.Table { 15 16 {{if eq .Connection "default"}} 17 {{if eq .PrimaryKey ""}} 18 {{.Table}} := table.NewDefaultTable(table.DefaultConfigWithDriver("{{.Driver}}")) 19 {{else}} 20 {{.Table}} := table.NewDefaultTable(table.DefaultConfigWithDriver("{{.Driver}}").SetPrimaryKey("{{.PrimaryKey}}", db.{{.PrimaryKeyType}})) 21 {{end}} 22 {{else}} 23 {{if eq .PrimaryKey ""}} 24 {{.Table}} := table.NewDefaultTable(table.DefaultConfigWithDriverAndConnection("{{.Driver}}", "{{.Connection}}")) 25 {{else}} 26 {{.Table}} := table.NewDefaultTable(table.DefaultConfigWithDriverAndConnection("{{.Driver}}", "{{.Connection}}").SetPrimaryKey("{{.PrimaryKey}}", db.{{.PrimaryKeyType}})) 27 {{end}} 28 {{end}} 29 30 info := {{.Table}}.GetInfo(){{if .HideFilterArea}}.HideFilterArea(){{end}} 31 32 {{if .HideNewButton}}info.HideNewButton(){{end}} 33 {{if .HideExportButton}}info.HideExportButton(){{end}} 34 {{if .HideEditButton}}info.HideEditButton(){{end}} 35 {{if .HideDeleteButton}}info.HideDeleteButton(){{end}} 36 {{if .HideDetailButton}}info.HideDetailButton(){{end}} 37 {{if .HideFilterButton}}info.HideFilterButton(){{end}} 38 {{if .HideRowSelector}}info.HideRowSelector(){{end}} 39 {{if .HidePagination}}info.HidePagination(){{end}} 40 {{if .HideQueryInfo}}info.HideQueryInfo(){{end}} 41 {{if not .FilterFormLayout.Default}}info.SetFilterFormLayout(form.{{.FilterFormLayout.String}}){{end}} 42 43 {{- range $key, $field := .Fields}} 44 info.AddField("{{$field.Head}}", "{{$field.Name}}", db.{{$field.DBType}}){{if $field.Filterable}}. 45 FieldFilterable(){{end -}}{{if $field.Sortable}}. 46 FieldSortable(){{end -}}{{if $field.InfoEditable}}. 47 FieldEditAble(){{end -}}{{if $field.Hide}}. 48 FieldHide(){{end -}} 49 {{- end}} 50 51 info.SetTable("{{.TableName}}").SetTitle("{{.TablePageTitle}}").SetDescription("{{.TableDescription}}") 52 53 formList := {{.Table}}.GetForm() 54 55 {{- range $key, $field := .FormFields}} 56 formList.AddField("{{$field.Head}}", "{{$field.Name}}", db.{{$field.DBType}}, form.{{$field.FormType}}){{if ne $field.Default ""}}. 57 FieldDefault({{$field.Default}}){{end -}}{{if not $field.CanAdd}}. 58 FieldDisableWhenCreate(){{end -}}{{if not $field.Editable}}. 59 FieldDisableWhenUpdate(){{end -}}{{if $field.FormHide}}. 60 FieldHide(){{end -}}{{if $field.EditHide}}. 61 FieldHideWhenUpdate(){{end -}}{{if $field.CreateHide}}. 62 FieldHideWhenCreate(){{end -}}{{$field.ExtraFun}} 63 {{- end}} 64 65 {{if .HideContinueEditCheckBox}}formList.HideContinueEditCheckBox(){{end}} 66 {{if .HideContinueNewCheckBox}}formList.HideContinueNewCheckBox(){{end}} 67 {{if .HideResetButton}}formList.HideResetButton(){{end}} 68 {{if .HideBackButton}}formList.HideBackButton(){{end}} 69 70 formList.SetTable("{{.TableName}}").SetTitle("{{.FormTitle}}").SetDescription("{{.FormDescription}}") 71 72 73 {{if eq .DetailDisplay 1}} 74 detail := {{.Table}}.GetDetailFromInfo() 75 {{else if eq .DetailDisplay 2}} 76 detail := {{.Table}}.GetDetail() 77 {{end}} 78 79 {{- range $key, $field := .DetailFields}} 80 detail.AddField("{{$field.Head}}", "{{$field.Name}}", db.{{$field.DBType}}) 81 {{- end}} 82 83 {{if ne .DetailDisplay 0}} 84 detail.SetTable("{{.TableName}}").SetTitle("{{.TablePageTitle}}").SetDescription("{{.TableDescription}}") 85 {{end}} 86 87 {{.ExtraCode}} 88 89 return {{.Table}} 90 } 91 {{end}}`