|
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") |
|
} |
|
|