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}}`