| package components |
|
|
| import ( |
| "html/template" |
|
|
| "github.com/GoAdminGroup/go-admin/template/types" |
| ) |
|
|
| type TableAttribute struct { |
| Name string |
| Thead types.Thead |
| InfoList []map[string]types.InfoItem |
| Type string |
| PrimaryKey string |
| Style string |
| Class string |
| HideThead bool |
| NoAction bool |
| Action template.HTML |
| EditUrl string |
| MinWidth string |
| DeleteUrl string |
| DetailUrl string |
| SortUrl string |
| UpdateUrl string |
| Layout string |
| IsTab bool |
| ExportUrl string |
| ActionFold bool |
| types.Attribute |
| } |
|
|
| func (compo *TableAttribute) SetThead(value types.Thead) types.TableAttribute { |
| compo.Thead = value |
| return compo |
| } |
|
|
| func (compo *TableAttribute) SetInfoList(value []map[string]types.InfoItem) types.TableAttribute { |
| compo.InfoList = value |
| return compo |
| } |
|
|
| func (compo *TableAttribute) SetType(value string) types.TableAttribute { |
| compo.Type = value |
| return compo |
| } |
|
|
| func (compo *TableAttribute) SetName(name string) types.TableAttribute { |
| compo.Name = name |
| return compo |
| } |
|
|
| func (compo *TableAttribute) SetHideThead() types.TableAttribute { |
| compo.HideThead = true |
| return compo |
| } |
|
|
| func (compo *TableAttribute) SetStyle(style string) types.TableAttribute { |
| compo.Style = style |
| return compo |
| } |
|
|
| func (compo *TableAttribute) SetSticky(sticky bool) types.TableAttribute { |
| if sticky { |
| compo.Class = "sticky_table" |
| } |
| return compo |
| } |
|
|
| func (compo *TableAttribute) SetMinWidth(value string) types.TableAttribute { |
| compo.MinWidth = value |
| return compo |
| } |
|
|
| func (compo *TableAttribute) SetLayout(value string) types.TableAttribute { |
| compo.Layout = value |
| return compo |
| } |
|
|
| func (compo *TableAttribute) GetContent() template.HTML { |
| if compo.MinWidth == "" { |
| compo.MinWidth = "1000px" |
| } |
| return ComposeHtml(compo.TemplateList, compo.Separation, *compo, "table") |
| } |
|
|
| type DataTableAttribute struct { |
| TableAttribute |
| EditUrl string |
| NewUrl string |
| UpdateUrl string |
| Class string |
| HideThead bool |
| DetailUrl string |
| SortUrl template.URL |
| DeleteUrl string |
| PrimaryKey string |
| IsTab bool |
| ExportUrl string |
| InfoUrl string |
| Buttons template.HTML |
| ActionJs template.JS |
| IsHideFilterArea bool |
| IsHideRowSelector bool |
| NoAction bool |
| HasFilter bool |
| Action template.HTML |
| ActionFold bool |
| types.Attribute |
| } |
|
|
| func (compo *DataTableAttribute) GetDataTableHeader() template.HTML { |
| return ComposeHtml(compo.TemplateList, compo.Separation, *compo, "table/box-header") |
| } |
|
|
| func (compo *DataTableAttribute) SetThead(value types.Thead) types.DataTableAttribute { |
| compo.Thead = value |
| return compo |
| } |
|
|
| func (compo *DataTableAttribute) SetSticky(sticky bool) types.DataTableAttribute { |
| if sticky { |
| compo.Class = "sticky_table" |
| } |
| return compo |
| } |
|
|
| func (compo *DataTableAttribute) SetLayout(value string) types.DataTableAttribute { |
| compo.Layout = value |
| return compo |
| } |
|
|
| func (compo *DataTableAttribute) SetIsTab(value bool) types.DataTableAttribute { |
| compo.IsTab = value |
| return compo |
| } |
|
|
| func (compo *DataTableAttribute) SetHideThead() types.DataTableAttribute { |
| compo.HideThead = true |
| return compo |
| } |
|
|
| func (compo *DataTableAttribute) SetButtons(btns template.HTML) types.DataTableAttribute { |
| compo.Buttons = btns |
| return compo |
| } |
|
|
| func (compo *DataTableAttribute) SetHideFilterArea(value bool) types.DataTableAttribute { |
| compo.IsHideFilterArea = value |
| return compo |
| } |
|
|
| func (compo *DataTableAttribute) SetActionJs(aj template.JS) types.DataTableAttribute { |
| compo.ActionJs = aj |
| return compo |
| } |
|
|
| func (compo *DataTableAttribute) SetActionFold(fold bool) types.DataTableAttribute { |
| compo.ActionFold = fold |
| return compo |
| } |
|
|
| func (compo *DataTableAttribute) SetHasFilter(hasFilter bool) types.DataTableAttribute { |
| compo.HasFilter = hasFilter |
| return compo |
| } |
|
|
| func (compo *DataTableAttribute) SetInfoUrl(value string) types.DataTableAttribute { |
| compo.InfoUrl = value |
| return compo |
| } |
|
|
| func (compo *DataTableAttribute) SetAction(action template.HTML) types.DataTableAttribute { |
| compo.Action = action |
| return compo |
| } |
|
|
| func (compo *DataTableAttribute) SetStyle(style string) types.DataTableAttribute { |
| compo.Style = style |
| return compo |
| } |
|
|
| func (compo *DataTableAttribute) SetExportUrl(value string) types.DataTableAttribute { |
| compo.ExportUrl = value |
| return compo |
| } |
|
|
| func (compo *DataTableAttribute) SetHideRowSelector(value bool) types.DataTableAttribute { |
| compo.IsHideRowSelector = value |
| return compo |
| } |
|
|
| func (compo *DataTableAttribute) SetUpdateUrl(value string) types.DataTableAttribute { |
| compo.UpdateUrl = value |
| return compo |
| } |
|
|
| func (compo *DataTableAttribute) SetDetailUrl(value string) types.DataTableAttribute { |
| compo.DetailUrl = value |
| return compo |
| } |
|
|
| func (compo *DataTableAttribute) SetSortUrl(value string) types.DataTableAttribute { |
| compo.SortUrl = template.URL(value) |
| return compo |
| } |
|
|
| func (compo *DataTableAttribute) SetPrimaryKey(value string) types.DataTableAttribute { |
| compo.PrimaryKey = value |
| return compo |
| } |
|
|
| func (compo *DataTableAttribute) SetInfoList(value []map[string]types.InfoItem) types.DataTableAttribute { |
| compo.InfoList = value |
| return compo |
| } |
|
|
| func (compo *DataTableAttribute) SetEditUrl(value string) types.DataTableAttribute { |
| compo.EditUrl = value |
| return compo |
| } |
|
|
| func (compo *DataTableAttribute) SetDeleteUrl(value string) types.DataTableAttribute { |
| compo.DeleteUrl = value |
| return compo |
| } |
|
|
| func (compo *DataTableAttribute) SetNewUrl(value string) types.DataTableAttribute { |
| compo.NewUrl = value |
| return compo |
| } |
|
|
| func (compo *DataTableAttribute) SetNoAction() types.DataTableAttribute { |
| compo.NoAction = true |
| return compo |
| } |
|
|
| func (compo *DataTableAttribute) GetContent() template.HTML { |
| if compo.MinWidth == "" { |
| compo.MinWidth = "1600px" |
| } |
| if !compo.NoAction && compo.EditUrl == "" && compo.DeleteUrl == "" && compo.DetailUrl == "" && compo.Action == "" { |
| compo.NoAction = true |
| } |
| return ComposeHtml(compo.TemplateList, compo.Separation, *compo, "table") |
| } |
|
|