types

package
v1.2.12 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 22, 2020 License: Apache-2.0 Imports: 25 Imported by: 31

Documentation

Index

Constants

View Source
const (
	NavBtnSiteName = "go_admin_site_navbtn"
	NavBtnInfoName = "go_admin_info_navbtn"
	NavBtnToolName = "go_admin_tool_navbtn"
)
View Source
const DefaultPageSize = 10

Variables

View Source
var DefaultPageSizeList = []int{10, 20, 30, 50, 100}
View Source
var JoinFieldValueDelimiter = utils.Uuid(8)

Functions

func AddGlobalDisplayProcessFn

func AddGlobalDisplayProcessFn(f FieldFilterFn)

func GetJoinField

func GetJoinField(field string) string

func JoinField

func JoinField(table, field string) string

func ParseTableDataTmpl

func ParseTableDataTmpl(content interface{}) string

func ParseTableDataTmplWithID

func ParseTableDataTmplWithID(id template.HTML, content string) string

func RegisterDisplayFnGenerator

func RegisterDisplayFnGenerator(key string, gen DisplayFnGenerator)

Types

type Action

type Action interface {
	Js() template.JS
	BtnAttribute() template.HTML
	BtnClass() template.HTML
	ExtContent() template.HTML
	FooterContent() template.HTML
	SetBtnId(btnId string)
	SetBtnData(data interface{})
	GetCallbacks() context.Node
}

type ActionButton

type ActionButton struct {
	*BaseButton
}

func GetActionButton

func GetActionButton(title template.HTML, action Action, ids ...string) *ActionButton

func (*ActionButton) Content

func (b *ActionButton) Content() (template.HTML, template.JS)

type AddFormFieldFn

type AddFormFieldFn func(panel *FormPanel)

type AlertAttribute

type AlertAttribute interface {
	SetTheme(value string) AlertAttribute
	SetTitle(value template.HTML) AlertAttribute
	SetContent(value template.HTML) AlertAttribute
	Warning(msg string) template.HTML
	GetContent() template.HTML
}

type Attribute

type Attribute struct {
	TemplateList map[string]string
}

Attribute is the component interface of template. Every component of template should implement it.

type BaseButton

type BaseButton struct {
	Id, Url, Method, Name string
	Title                 template.HTML
	Action                Action
}

func (*BaseButton) Content

func (b *BaseButton) Content() (template.HTML, template.JS)

func (*BaseButton) GetAction

func (b *BaseButton) GetAction() Action

func (*BaseButton) GetName

func (b *BaseButton) GetName() string

func (*BaseButton) ID

func (b *BaseButton) ID() string

func (*BaseButton) METHOD

func (b *BaseButton) METHOD() string

func (*BaseButton) SetName

func (b *BaseButton) SetName(name string)

func (*BaseButton) URL

func (b *BaseButton) URL() string

type BaseDisplayFnGenerator

type BaseDisplayFnGenerator struct{}

func (*BaseDisplayFnGenerator) HTML

func (base *BaseDisplayFnGenerator) HTML() template.HTML

func (*BaseDisplayFnGenerator) JS

type BoxAttribute

type BoxAttribute interface {
	SetHeader(value template.HTML) BoxAttribute
	SetBody(value template.HTML) BoxAttribute
	SetNoPadding() BoxAttribute
	SetFooter(value template.HTML) BoxAttribute
	SetTitle(value template.HTML) BoxAttribute
	WithHeadBorder() BoxAttribute
	SetIframeStyle(iframe bool) BoxAttribute
	SetAttr(attr template.HTMLAttr) BoxAttribute
	SetStyle(value template.HTMLAttr) BoxAttribute
	SetHeadColor(value string) BoxAttribute
	SetTheme(value string) BoxAttribute
	SetSecondHeader(value template.HTML) BoxAttribute
	SetSecondHeadColor(value string) BoxAttribute
	WithSecondHeadBorder() BoxAttribute
	SetSecondHeaderClass(value string) BoxAttribute
	GetContent() template.HTML
}

type Button

type Button interface {
	Content() (template.HTML, template.JS)
	GetAction() Action
	URL() string
	METHOD() string
	ID() string
	GetName() string
	SetName(name string)
}

type ButtonAttribute

type ButtonAttribute interface {
	SetContent(value template.HTML) ButtonAttribute
	SetOrientationRight() ButtonAttribute
	SetOrientationLeft() ButtonAttribute
	SetMarginLeft(int) ButtonAttribute
	SetMarginRight(int) ButtonAttribute
	SetThemePrimary() ButtonAttribute
	SetSmallSize() ButtonAttribute
	SetMiddleSize() ButtonAttribute
	SetHref(string) ButtonAttribute
	SetThemeWarning() ButtonAttribute
	SetTheme(value string) ButtonAttribute
	SetLoadingText(value template.HTML) ButtonAttribute
	SetThemeDefault() ButtonAttribute
	SetType(string) ButtonAttribute
	GetContent() template.HTML
}

type Buttons

type Buttons []Button

func (Buttons) AddNavButton

func (b Buttons) AddNavButton(ico, name string, action Action) Buttons

func (Buttons) CheckExist

func (b Buttons) CheckExist(name string) bool

func (Buttons) CheckPermission

func (b Buttons) CheckPermission(user models.UserModel) Buttons

func (Buttons) Content

func (b Buttons) Content() (template.HTML, template.JS)

func (Buttons) FooterContent

func (b Buttons) FooterContent() template.HTML

func (Buttons) RemoveButtonByName

func (b Buttons) RemoveButtonByName(name string) Buttons

func (Buttons) RemoveInfoNavButton

func (b Buttons) RemoveInfoNavButton() Buttons

func (Buttons) RemoveSiteNavButton

func (b Buttons) RemoveSiteNavButton() Buttons

func (Buttons) RemoveToolNavButton

func (b Buttons) RemoveToolNavButton() Buttons

type Callbacks

type Callbacks []context.Node

func (Callbacks) AddCallback

func (c Callbacks) AddCallback(node context.Node) Callbacks

type ColAttribute

type ColAttribute interface {
	SetSize(value S) ColAttribute
	SetContent(value template.HTML) ColAttribute
	AddContent(value template.HTML) ColAttribute
	GetContent() template.HTML
}

type ContentWrapper

type ContentWrapper func(content template.HTML) template.HTML

type DataTableAttribute

type DataTableAttribute interface {
	GetDataTableHeader() template.HTML
	SetThead(value Thead) DataTableAttribute
	SetInfoList(value []map[string]InfoItem) DataTableAttribute
	SetEditUrl(value string) DataTableAttribute
	SetDeleteUrl(value string) DataTableAttribute
	SetNewUrl(value string) DataTableAttribute
	SetPrimaryKey(value string) DataTableAttribute
	SetStyle(style string) DataTableAttribute
	SetAction(action template.HTML) DataTableAttribute
	SetIsTab(value bool) DataTableAttribute
	SetHideThead() DataTableAttribute
	SetLayout(value string) DataTableAttribute
	SetButtons(btns template.HTML) DataTableAttribute
	SetHideFilterArea(value bool) DataTableAttribute
	SetHideRowSelector(value bool) DataTableAttribute
	SetActionJs(aj template.JS) DataTableAttribute
	SetNoAction() DataTableAttribute
	SetInfoUrl(value string) DataTableAttribute
	SetDetailUrl(value string) DataTableAttribute
	SetHasFilter(hasFilter bool) DataTableAttribute
	SetSortUrl(value string) DataTableAttribute
	SetExportUrl(value string) DataTableAttribute
	SetUpdateUrl(value string) DataTableAttribute
	GetContent() template.HTML
}

type DefaultAction

type DefaultAction struct {
	Attr   template.HTML
	JS     template.JS
	Ext    template.HTML
	Footer template.HTML
}

func NewDefaultAction

func NewDefaultAction(attr, ext, footer template.HTML, js template.JS) *DefaultAction

func (*DefaultAction) BtnAttribute

func (def *DefaultAction) BtnAttribute() template.HTML

func (*DefaultAction) BtnClass

func (def *DefaultAction) BtnClass() template.HTML

func (*DefaultAction) ExtContent

func (def *DefaultAction) ExtContent() template.HTML

func (*DefaultAction) FooterContent

func (def *DefaultAction) FooterContent() template.HTML

func (*DefaultAction) GetCallbacks

func (def *DefaultAction) GetCallbacks() context.Node

func (*DefaultAction) Js

func (def *DefaultAction) Js() template.JS

func (*DefaultAction) SetBtnData

func (def *DefaultAction) SetBtnData(data interface{})

func (*DefaultAction) SetBtnId

func (def *DefaultAction) SetBtnId(btnId string)

type DefaultButton

type DefaultButton struct {
	*BaseButton
	Color     template.HTML
	TextColor template.HTML
	Icon      string
	Direction template.HTML
}

func GetColumnButton

func GetColumnButton(title template.HTML, icon string, action Action, colors ...template.HTML) *DefaultButton

func GetDefaultButton

func GetDefaultButton(title template.HTML, icon string, action Action, colors ...template.HTML) *DefaultButton

func (*DefaultButton) Content

func (b *DefaultButton) Content() (template.HTML, template.JS)

type DefaultSelection

type DefaultSelection struct {
	*BaseButton
	Options     FieldOptions
	Placeholder string
	Width       int
}

func GetDefaultSelection

func GetDefaultSelection(placeholder string, options FieldOptions, action Action, widths ...int) *DefaultSelection

func (*DefaultSelection) Content

func (b *DefaultSelection) Content() (template.HTML, template.JS)

type DeleteFn

type DeleteFn func(ids []string) error

type DeleteFnWithRes

type DeleteFnWithRes func(ids []string, res error) error

type DisplayFnGenerator

type DisplayFnGenerator interface {
	Get(args ...interface{}) FieldFilterFn
	JS() template.HTML
	HTML() template.HTML
}

type DisplayProcessFnChains

type DisplayProcessFnChains []FieldFilterFn

func AddLimit

func AddLimit(limit int) DisplayProcessFnChains

func AddSubstr

func AddSubstr(start int, end int) DisplayProcessFnChains

func AddToLower

func AddToLower() DisplayProcessFnChains

func AddToTitle

func AddToTitle() DisplayProcessFnChains

func AddToUpper

func AddToUpper() DisplayProcessFnChains

func AddTrimSpace

func AddTrimSpace() DisplayProcessFnChains

func AddXssFilter

func AddXssFilter() DisplayProcessFnChains

func AddXssJsFilter

func AddXssJsFilter() DisplayProcessFnChains

func (DisplayProcessFnChains) Add

func (DisplayProcessFnChains) Append

func (DisplayProcessFnChains) Copy

func (DisplayProcessFnChains) Valid

func (d DisplayProcessFnChains) Valid() bool

type Field

type Field struct {
	Head     string
	Field    string
	TypeName db.DatabaseType

	Joins Joins

	Width      int
	Sortable   bool
	EditAble   bool
	Fixed      bool
	Filterable bool
	Hide       bool

	EditType    table.Type
	EditOptions FieldOptions

	FilterFormFields []FilterFormField

	FieldDisplay
}

Field is the table field.

func (Field) Exist

func (f Field) Exist() bool

func (Field) GetFilterFormFields

func (f Field) GetFilterFormFields(params parameter.Parameters, headField string, sqls ...*db.SQL) []FormField

type FieldDisplay

type FieldDisplay struct {
	Display              FieldFilterFn
	DisplayProcessChains DisplayProcessFnChains
}

func (FieldDisplay) AddLimit

func (f FieldDisplay) AddLimit(limit int) DisplayProcessFnChains

func (FieldDisplay) AddSubstr

func (f FieldDisplay) AddSubstr(start int, end int) DisplayProcessFnChains

func (FieldDisplay) AddToLower

func (f FieldDisplay) AddToLower() DisplayProcessFnChains

func (FieldDisplay) AddToTitle

func (f FieldDisplay) AddToTitle() DisplayProcessFnChains

func (FieldDisplay) AddToUpper

func (f FieldDisplay) AddToUpper() DisplayProcessFnChains

func (FieldDisplay) AddTrimSpace

func (f FieldDisplay) AddTrimSpace() DisplayProcessFnChains

func (FieldDisplay) ToDisplay

func (f FieldDisplay) ToDisplay(value FieldModel) interface{}

type FieldDotColor

type FieldDotColor string
const (
	FieldDotColorDanger  FieldDotColor = "danger"
	FieldDotColorInfo    FieldDotColor = "info"
	FieldDotColorPrimary FieldDotColor = "primary"
	FieldDotColorSuccess FieldDotColor = "success"
)

type FieldFilterFn

type FieldFilterFn func(value FieldModel) interface{}

FieldDisplay is filter function of data.

type FieldGetImgArrFn

type FieldGetImgArrFn func(value string) []string

type FieldLabelParam

type FieldLabelParam struct {
	Color template.HTML
	Type  string
}

type FieldList

type FieldList []Field

func (FieldList) GetFieldByFieldName

func (f FieldList) GetFieldByFieldName(name string) Field

func (FieldList) GetFieldFilterProcessValue

func (f FieldList) GetFieldFilterProcessValue(key, value, keyIndex string) string

func (FieldList) GetFieldJoinTable

func (f FieldList) GetFieldJoinTable(key string) string

func (FieldList) GetThead

func (f FieldList) GetThead(info TableInfo, params parameter.Parameters, columns []string) (Thead, string, string)

func (FieldList) GetTheadAndFilterForm

func (f FieldList) GetTheadAndFilterForm(info TableInfo, params parameter.Parameters, columns []string, sql ...func() *db.SQL) (Thead,
	string, string, string, []string, []FormField)

type FieldModel

type FieldModel struct {
	// The primaryKey of the table.
	ID string

	// The value of the single query result.
	Value string

	// The current row data.
	Row map[string]interface{}
}

FieldModel is the single query result.

type FieldModelValue

type FieldModelValue []string

func (FieldModelValue) First

func (r FieldModelValue) First() string

func (FieldModelValue) Value

func (r FieldModelValue) Value() string

type FieldOption

type FieldOption struct {
	Text          string            `json:"text"`
	Value         string            `json:"value"`
	TextHTML      template.HTML     `json:"-"`
	Selected      bool              `json:"-"`
	SelectedLabel template.HTML     `json:"-"`
	Extra         map[string]string `json:"-"`
}

type FieldOptions

type FieldOptions []FieldOption

func (FieldOptions) Marshal

func (fo FieldOptions) Marshal() string

func (FieldOptions) SetSelected

func (fo FieldOptions) SetSelected(val interface{}, labels []template.HTML) FieldOptions

func (FieldOptions) SetSelectedLabel

func (fo FieldOptions) SetSelectedLabel(labels []template.HTML) FieldOptions

type FieldProgressBarData

type FieldProgressBarData struct {
	Style string
	Size  string
	Max   int
}

type FilterFormField

type FilterFormField struct {
	Type        form.Type
	Options     FieldOptions
	OptionTable OptionTable
	Width       int
	Operator    FilterOperator
	OptionExt   template.JS
	Head        string
	Placeholder string
	HelpMsg     template.HTML
	ProcessFn   func(string) string
}

type FilterOperator

type FilterOperator string
const (
	FilterOperatorLike           FilterOperator = "like"
	FilterOperatorGreater        FilterOperator = ">"
	FilterOperatorGreaterOrEqual FilterOperator = ">="
	FilterOperatorEqual          FilterOperator = "="
	FilterOperatorNotEqual       FilterOperator = "!="
	FilterOperatorLess           FilterOperator = "<"
	FilterOperatorLessOrEqual    FilterOperator = "<="
	FilterOperatorFree           FilterOperator = "free"
)

func GetOperatorFromValue

func GetOperatorFromValue(value string) FilterOperator

func (FilterOperator) AddOrNot

func (o FilterOperator) AddOrNot() bool

func (FilterOperator) Label

func (o FilterOperator) Label() template.HTML

func (FilterOperator) String

func (o FilterOperator) String() string

func (FilterOperator) Valid

func (o FilterOperator) Valid() bool

func (FilterOperator) Value

func (o FilterOperator) Value() string

type FilterType

type FilterType struct {
	FormType    form.Type
	Operator    FilterOperator
	Head        string
	Placeholder string
	NoHead      bool
	Width       int
	HelpMsg     template.HTML
	Options     FieldOptions
	Process     func(string) string
	OptionExt   map[string]interface{}
}

type FormAttribute

type FormAttribute interface {
	SetHeader(value template.HTML) FormAttribute
	SetContent(value FormFields) FormAttribute
	SetTabContents(value []FormFields) FormAttribute
	SetTabHeaders(value []string) FormAttribute
	SetFooter(value template.HTML) FormAttribute
	SetPrefix(value string) FormAttribute
	SetUrl(value string) FormAttribute
	SetPrimaryKey(value string) FormAttribute
	SetId(id string) FormAttribute
	SetAjax(successJS, errorJS template.JS) FormAttribute
	SetHiddenFields(fields map[string]string) FormAttribute
	SetFieldsHTML(html template.HTML) FormAttribute
	SetMethod(value string) FormAttribute
	SetHeadWidth(width int) FormAttribute
	SetInputWidth(width int) FormAttribute
	SetTitle(value template.HTML) FormAttribute
	SetLayout(layout form.Layout) FormAttribute
	SetOperationFooter(value template.HTML) FormAttribute
	GetDefaultBoxHeader(hideBack bool) template.HTML
	GetDetailBoxHeader(editUrl, deleteUrl string) template.HTML
	GetBoxHeaderNoButton() template.HTML
	GetContent() template.HTML
}

type FormField

type FormField struct {
	Field          string          `json:"field"`
	FieldClass     string          `json:"field_class"`
	TypeName       db.DatabaseType `json:"type_name"`
	Head           string          `json:"head"`
	Foot           template.HTML   `json:"foot"`
	FormType       form2.Type      `json:"form_type"`
	FatherFormType form2.Type      `json:"father_form_type"`
	FatherField    string          `json:"father_field"`

	RowWidth int
	RowFlag  uint8

	Default                template.HTML  `json:"default"`
	DefaultArr             interface{}    `json:"default_arr"`
	Value                  template.HTML  `json:"value"`
	Value2                 string         `json:"value_2"`
	ValueArr               []string       `json:"value_arr"`
	Value2Arr              []string       `json:"value_2_arr"`
	Options                FieldOptions   `json:"options"`
	OptionsArr             []FieldOptions `json:"options_arr"`
	DefaultOptionDelimiter string         `json:"default_option_delimiter"`
	Label                  template.HTML  `json:"label"`
	HideLabel              bool           `json:"hide_label"`

	Placeholder string `json:"placeholder"`

	CustomContent template.HTML `json:"custom_content"`
	CustomJs      template.JS   `json:"custom_js"`
	CustomCss     template.CSS  `json:"custom_css"`

	Editable    bool `json:"editable"`
	NotAllowAdd bool `json:"not_allow_add"`
	Must        bool `json:"must"`
	Hide        bool `json:"hide"`

	Width int `json:"width"`

	InputWidth int `json:"input_width"`
	HeadWidth  int `json:"head_width"`

	Joins Joins `json:"-"`

	Divider      bool   `json:"divider"`
	DividerTitle string `json:"divider_title"`

	HelpMsg template.HTML `json:"help_msg"`

	TableFields FormFields

	OptionExt       template.JS     `json:"option_ext"`
	OptionExt2      template.JS     `json:"option_ext_2"`
	OptionInitFn    OptionInitFn    `json:"-"`
	OptionArrInitFn OptionArrInitFn `json:"-"`
	OptionTable     OptionTable     `json:"-"`

	FieldDisplay `json:"-"`
	PostFilterFn PostFieldFilterFn `json:"-"`
}

FormField is the form field with different options.

func (*FormField) FillCustomContent

func (f *FormField) FillCustomContent() *FormField

func (*FormField) UpdateDefaultValue

func (f *FormField) UpdateDefaultValue(sqls ...*db.SQL) *FormField

func (*FormField) UpdateValue

func (f *FormField) UpdateValue(id, val string, res map[string]interface{}, sqls ...*db.SQL) *FormField

type FormFields

type FormFields []FormField

func (FormFields) Add

func (f FormFields) Add(field FormField) FormFields

func (FormFields) Copy

func (f FormFields) Copy() FormFields

func (FormFields) FillCustomContent

func (f FormFields) FillCustomContent() FormFields

func (FormFields) FindByFieldName

func (f FormFields) FindByFieldName(field string) *FormField

func (FormFields) FindIndexByFieldName

func (f FormFields) FindIndexByFieldName(field string) int

func (FormFields) FindTableChildren

func (f FormFields) FindTableChildren(father string) []*FormField

func (FormFields) FindTableField

func (f FormFields) FindTableField(field, father string) *FormField

func (FormFields) RemoveNotShow

func (f FormFields) RemoveNotShow() FormFields

type FormPanel

type FormPanel struct {
	FieldList FormFields

	// Warn: may be deprecated in the future.
	TabGroups  TabGroups
	TabHeaders TabHeaders

	Table       string
	Title       string
	Description string

	Validator    FormPostFn
	PostHook     FormPostFn
	PreProcessFn FormPreProcessFn

	Callbacks Callbacks

	UpdateFn FormPostFn
	InsertFn FormPostFn

	IsHideContinueEditCheckBox bool
	IsHideContinueNewCheckBox  bool
	IsHideResetButton          bool
	IsHideBackButton           bool

	Layout form2.Layout

	HTMLContent template.HTML

	Header template.HTML

	InputWidth int
	HeadWidth  int

	Ajax          bool
	AjaxSuccessJS template.JS
	AjaxErrorJS   template.JS

	Responder Responder

	Wrapper ContentWrapper

	HeaderHtml template.HTML
	FooterHtml template.HTML
	// contains filtered or unexported fields
}

FormPanel

func NewFormPanel

func NewFormPanel() *FormPanel

func (*FormPanel) AddField

func (f *FormPanel) AddField(head, field string, filedType db.DatabaseType, formType form2.Type) *FormPanel

func (*FormPanel) AddLimitFilter

func (f *FormPanel) AddLimitFilter(limit int) *FormPanel

func (*FormPanel) AddRow

func (f *FormPanel) AddRow(addFields AddFormFieldFn) *FormPanel

func (*FormPanel) AddSubstrFilter

func (f *FormPanel) AddSubstrFilter(start int, end int) *FormPanel

func (*FormPanel) AddTable

func (f *FormPanel) AddTable(head, field string, addFields AddFormFieldFn) *FormPanel

func (*FormPanel) AddToLowerFilter

func (f *FormPanel) AddToLowerFilter() *FormPanel

func (*FormPanel) AddToTitleFilter

func (f *FormPanel) AddToTitleFilter() *FormPanel

func (*FormPanel) AddToUpperFilter

func (f *FormPanel) AddToUpperFilter() *FormPanel

func (*FormPanel) AddTrimSpaceFilter

func (f *FormPanel) AddTrimSpaceFilter() *FormPanel

func (*FormPanel) AddXssFilter

func (f *FormPanel) AddXssFilter() *FormPanel

func (*FormPanel) AddXssJsFilter

func (f *FormPanel) AddXssJsFilter() *FormPanel

func (*FormPanel) EnableAjax

func (f *FormPanel) EnableAjax(msgs ...string) *FormPanel

func (*FormPanel) FieldCustomContent

func (f *FormPanel) FieldCustomContent(content template.HTML) *FormPanel

func (*FormPanel) FieldCustomCss

func (f *FormPanel) FieldCustomCss(css template.CSS) *FormPanel

func (*FormPanel) FieldCustomJs

func (f *FormPanel) FieldCustomJs(js template.JS) *FormPanel

func (*FormPanel) FieldDefault

func (f *FormPanel) FieldDefault(def string) *FormPanel

func (*FormPanel) FieldDefaultOptionDelimiter

func (f *FormPanel) FieldDefaultOptionDelimiter(delimiter string) *FormPanel

func (*FormPanel) FieldDisplay

func (f *FormPanel) FieldDisplay(filter FieldFilterFn) *FormPanel

func (*FormPanel) FieldDivider

func (f *FormPanel) FieldDivider(title ...string) *FormPanel

func (*FormPanel) FieldEnableFileUpload

func (f *FormPanel) FieldEnableFileUpload(data ...interface{}) *FormPanel

func (*FormPanel) FieldFoot

func (f *FormPanel) FieldFoot(foot template.HTML) *FormPanel

func (*FormPanel) FieldFormType

func (f *FormPanel) FieldFormType(formType form2.Type) *FormPanel

func (*FormPanel) FieldHeadWidth

func (f *FormPanel) FieldHeadWidth(width int) *FormPanel

func (*FormPanel) FieldHelpMsg

func (f *FormPanel) FieldHelpMsg(s template.HTML) *FormPanel

func (*FormPanel) FieldHide

func (f *FormPanel) FieldHide() *FormPanel

func (*FormPanel) FieldHideLabel

func (f *FormPanel) FieldHideLabel() *FormPanel

func (*FormPanel) FieldInputWidth

func (f *FormPanel) FieldInputWidth(width int) *FormPanel

func (*FormPanel) FieldLimit

func (f *FormPanel) FieldLimit(limit int) *FormPanel

func (*FormPanel) FieldMust

func (f *FormPanel) FieldMust() *FormPanel

func (*FormPanel) FieldNotAllowAdd

func (f *FormPanel) FieldNotAllowAdd() *FormPanel

func (*FormPanel) FieldNotAllowEdit

func (f *FormPanel) FieldNotAllowEdit() *FormPanel

func (*FormPanel) FieldOnChoose

func (f *FormPanel) FieldOnChoose(val, field string, value template.HTML) *FormPanel

func (*FormPanel) FieldOnChooseAjax

func (f *FormPanel) FieldOnChooseAjax(field, url string, handler Handler, custom ...template.HTML) *FormPanel

func (*FormPanel) FieldOnChooseCustom

func (f *FormPanel) FieldOnChooseCustom(js template.HTML) *FormPanel

func (*FormPanel) FieldOnChooseDisable

func (f *FormPanel) FieldOnChooseDisable(value string, field ...string) *FormPanel

func (*FormPanel) FieldOnChooseHide

func (f *FormPanel) FieldOnChooseHide(value string, field ...string) *FormPanel

func (*FormPanel) FieldOnChooseMap

func (f *FormPanel) FieldOnChooseMap(m map[string]LinkField) *FormPanel

func (*FormPanel) FieldOnChooseShow

func (f *FormPanel) FieldOnChooseShow(value string, field ...string) *FormPanel

func (*FormPanel) FieldOnSearch

func (f *FormPanel) FieldOnSearch(url string, handler Handler, delay ...int) *FormPanel

func (*FormPanel) FieldOptionExt

func (f *FormPanel) FieldOptionExt(m map[string]interface{}) *FormPanel

func (*FormPanel) FieldOptionExt2

func (f *FormPanel) FieldOptionExt2(m map[string]interface{}) *FormPanel

func (*FormPanel) FieldOptionExtJS

func (f *FormPanel) FieldOptionExtJS(js template.JS) *FormPanel

func (*FormPanel) FieldOptionExtJS2

func (f *FormPanel) FieldOptionExtJS2(js template.JS) *FormPanel

func (*FormPanel) FieldOptionInitFn

func (f *FormPanel) FieldOptionInitFn(fn OptionInitFn) *FormPanel

func (*FormPanel) FieldOptions

func (f *FormPanel) FieldOptions(options FieldOptions) *FormPanel

func (*FormPanel) FieldOptionsFromTable

func (f *FormPanel) FieldOptionsFromTable(table, textFieldName, valueFieldName string, process ...OptionTableQueryProcessFn) *FormPanel

func (*FormPanel) FieldOptionsTableProcessFn

func (f *FormPanel) FieldOptionsTableProcessFn(fn OptionProcessFn) *FormPanel

func (*FormPanel) FieldPlaceholder

func (f *FormPanel) FieldPlaceholder(placeholder string) *FormPanel

func (*FormPanel) FieldPostFilterFn

func (f *FormPanel) FieldPostFilterFn(post PostFieldFilterFn) *FormPanel

func (*FormPanel) FieldRowWidth

func (f *FormPanel) FieldRowWidth(width int) *FormPanel

func (*FormPanel) FieldSubstr

func (f *FormPanel) FieldSubstr(start int, end int) *FormPanel

func (*FormPanel) FieldToLower

func (f *FormPanel) FieldToLower() *FormPanel

func (*FormPanel) FieldToTitle

func (f *FormPanel) FieldToTitle() *FormPanel

func (*FormPanel) FieldToUpper

func (f *FormPanel) FieldToUpper() *FormPanel

func (*FormPanel) FieldTrimSpace

func (f *FormPanel) FieldTrimSpace() *FormPanel

func (*FormPanel) FieldValue

func (f *FormPanel) FieldValue(value string) *FormPanel

func (*FormPanel) FieldWidth

func (f *FormPanel) FieldWidth(width int) *FormPanel

func (*FormPanel) FieldXssFilter

func (f *FormPanel) FieldXssFilter() *FormPanel

func (*FormPanel) FieldsWithDefaultValue

func (f *FormPanel) FieldsWithDefaultValue(sql ...func() *db.SQL) FormFields

func (*FormPanel) FieldsWithValue

func (f *FormPanel) FieldsWithValue(pk, id string, columns []string, res map[string]interface{}, sql ...func() *db.SQL) FormFields

func (*FormPanel) GroupField

func (f *FormPanel) GroupField(sql ...func() *db.SQL) ([]FormFields, []string)

func (*FormPanel) GroupFieldWithValue

func (f *FormPanel) GroupFieldWithValue(pk, id string, columns []string, res map[string]interface{}, sql ...func() *db.SQL) ([]FormFields, []string)

func (*FormPanel) HideBackButton

func (f *FormPanel) HideBackButton() *FormPanel

func (*FormPanel) HideContinueEditCheckBox

func (f *FormPanel) HideContinueEditCheckBox() *FormPanel

func (*FormPanel) HideContinueNewCheckBox

func (f *FormPanel) HideContinueNewCheckBox() *FormPanel

func (*FormPanel) HideResetButton

func (f *FormPanel) HideResetButton() *FormPanel

func (*FormPanel) OperationURL

func (f *FormPanel) OperationURL(id string) string

func (*FormPanel) SetAjaxErrorJS

func (f *FormPanel) SetAjaxErrorJS(js template.JS) *FormPanel

func (*FormPanel) SetAjaxSuccessJS

func (f *FormPanel) SetAjaxSuccessJS(js template.JS) *FormPanel

func (*FormPanel) SetDescription

func (f *FormPanel) SetDescription(desc string) *FormPanel

func (*FormPanel) SetFooterHtml

func (f *FormPanel) SetFooterHtml(footer template.HTML) *FormPanel

func (*FormPanel) SetHTMLContent

func (f *FormPanel) SetHTMLContent(content template.HTML) *FormPanel

func (*FormPanel) SetHeadWidth

func (f *FormPanel) SetHeadWidth(width int) *FormPanel

func (*FormPanel) SetHeader

func (f *FormPanel) SetHeader(content template.HTML) *FormPanel

func (*FormPanel) SetHeaderHtml

func (f *FormPanel) SetHeaderHtml(header template.HTML) *FormPanel

func (*FormPanel) SetInputWidth

func (f *FormPanel) SetInputWidth(width int) *FormPanel

func (*FormPanel) SetInsertFn

func (f *FormPanel) SetInsertFn(fn FormPostFn) *FormPanel

func (*FormPanel) SetLayout

func (f *FormPanel) SetLayout(layout form2.Layout) *FormPanel

func (*FormPanel) SetPostHook

func (f *FormPanel) SetPostHook(fn FormPostFn) *FormPanel

func (*FormPanel) SetPostValidator

func (f *FormPanel) SetPostValidator(va FormPostFn) *FormPanel

func (*FormPanel) SetPreProcessFn

func (f *FormPanel) SetPreProcessFn(fn FormPreProcessFn) *FormPanel

func (*FormPanel) SetPrimaryKey

func (f *FormPanel) SetPrimaryKey(name string, typ db.DatabaseType) *FormPanel

func (*FormPanel) SetResponder

func (f *FormPanel) SetResponder(responder Responder) *FormPanel

func (*FormPanel) SetTabGroups

func (f *FormPanel) SetTabGroups(groups TabGroups) *FormPanel

func (*FormPanel) SetTabHeaders

func (f *FormPanel) SetTabHeaders(headers ...string) *FormPanel

func (*FormPanel) SetTable

func (f *FormPanel) SetTable(table string) *FormPanel

func (*FormPanel) SetTitle

func (f *FormPanel) SetTitle(title string) *FormPanel

func (*FormPanel) SetUpdateFn

func (f *FormPanel) SetUpdateFn(fn FormPostFn) *FormPanel

func (*FormPanel) SetWrapper

func (f *FormPanel) SetWrapper(wrapper ContentWrapper) *FormPanel

type FormPostFn

type FormPostFn func(values form.Values) error

type FormPreProcessFn

type FormPreProcessFn func(values form.Values) form.Values

type GetDataFn

type GetDataFn func(param parameter.Parameters) ([]map[string]interface{}, int)

type GetPanelFn

type GetPanelFn func(ctx interface{}) (Panel, error)

type GetPanelInfoFn

type GetPanelInfoFn func(ctx *context.Context) (Panel, error)

type GroupFieldHeaders

type GroupFieldHeaders []string

type GroupFormFields

type GroupFormFields []FormFields

type Handler

type Handler func(ctx *context.Context) (success bool, msg string, data interface{})

func (Handler) Wrap

func (h Handler) Wrap() context.Handler

type ImgAttribute

type ImgAttribute interface {
	SetWidth(value string) ImgAttribute
	SetHeight(value string) ImgAttribute
	WithModal() ImgAttribute
	SetSrc(value template.HTML) ImgAttribute
	GetContent() template.HTML
}

type InfoItem

type InfoItem struct {
	Content template.HTML `json:"content"`
	Value   string        `json:"value"`
}

type InfoList

type InfoList []map[string]InfoItem

func (InfoList) GroupBy

func (i InfoList) GroupBy(groups TabGroups) []InfoList

type InfoPanel

type InfoPanel struct {
	FieldList FieldList

	Table       string
	Title       string
	Description string

	// Warn: may be deprecated future.
	TabGroups  TabGroups
	TabHeaders TabHeaders

	Sort      Sort
	SortField string

	PageSizeList    []int
	DefaultPageSize int

	ExportType int

	IsHideNewButton    bool
	IsHideExportButton bool
	IsHideEditButton   bool
	IsHideDeleteButton bool
	IsHideDetailButton bool
	IsHideFilterButton bool
	IsHideRowSelector  bool
	IsHidePagination   bool
	IsHideFilterArea   bool
	IsHideQueryInfo    bool
	FilterFormLayout   form.Layout

	FilterFormHeadWidth  int
	FilterFormInputWidth int

	Wheres    Wheres
	WhereRaws WhereRaw

	Callbacks Callbacks

	Buttons Buttons

	TableLayout string

	DeleteHook  DeleteFn
	PreDeleteFn DeleteFn
	DeleteFn    DeleteFn

	DeleteHookWithRes DeleteFnWithRes

	GetDataFn GetDataFn

	ActionButtons Buttons

	DisplayGeneratorRecords map[string]struct{}

	QueryFilterFn QueryFilterFn

	Wrapper ContentWrapper

	// column operation buttons
	Action     template.HTML
	HeaderHtml template.HTML
	FooterHtml template.HTML
	// contains filtered or unexported fields
}

InfoPanel

func NewInfoPanel

func NewInfoPanel(pk string) *InfoPanel

func (*InfoPanel) AddActionButton

func (i *InfoPanel) AddActionButton(title template.HTML, action Action, ids ...string) *InfoPanel

func (*InfoPanel) AddActionButtonFront

func (i *InfoPanel) AddActionButtonFront(title template.HTML, action Action, ids ...string) *InfoPanel

func (*InfoPanel) AddButton

func (i *InfoPanel) AddButton(title template.HTML, icon string, action Action, color ...template.HTML) *InfoPanel

func (*InfoPanel) AddButtonRaw

func (i *InfoPanel) AddButtonRaw(btn Button, action Action) *InfoPanel

func (*InfoPanel) AddColumn

func (i *InfoPanel) AddColumn(head string, fun FieldFilterFn) *InfoPanel

func (*InfoPanel) AddColumnButtons

func (i *InfoPanel) AddColumnButtons(head string, buttons ...Button) *InfoPanel

func (*InfoPanel) AddField

func (i *InfoPanel) AddField(head, field string, typeName db.DatabaseType) *InfoPanel

func (*InfoPanel) AddLimitFilter

func (i *InfoPanel) AddLimitFilter(limit int) *InfoPanel

func (*InfoPanel) AddSelectBox

func (i *InfoPanel) AddSelectBox(placeholder string, options FieldOptions, action Action, width ...int) *InfoPanel

func (*InfoPanel) AddSubstrFilter

func (i *InfoPanel) AddSubstrFilter(start int, end int) *InfoPanel

func (*InfoPanel) AddToLowerFilter

func (i *InfoPanel) AddToLowerFilter() *InfoPanel

func (*InfoPanel) AddToTitleFilter

func (i *InfoPanel) AddToTitleFilter() *InfoPanel

func (*InfoPanel) AddToUpperFilter

func (i *InfoPanel) AddToUpperFilter() *InfoPanel

func (*InfoPanel) AddTrimSpaceFilter

func (i *InfoPanel) AddTrimSpaceFilter() *InfoPanel

func (*InfoPanel) AddXssFilter

func (i *InfoPanel) AddXssFilter() *InfoPanel

func (*InfoPanel) AddXssJsFilter

func (i *InfoPanel) AddXssJsFilter() *InfoPanel

func (*InfoPanel) ExportValue

func (i *InfoPanel) ExportValue() *InfoPanel

func (*InfoPanel) FieldBool

func (i *InfoPanel) FieldBool(flags ...string) *InfoPanel

func (*InfoPanel) FieldCarousel

func (i *InfoPanel) FieldCarousel(fn FieldGetImgArrFn, size ...int) *InfoPanel

func (*InfoPanel) FieldCopyable

func (i *InfoPanel) FieldCopyable(prefix ...string) *InfoPanel

func (*InfoPanel) FieldDate

func (i *InfoPanel) FieldDate(format string) *InfoPanel

func (*InfoPanel) FieldDisplay

func (i *InfoPanel) FieldDisplay(filter FieldFilterFn) *InfoPanel

func (*InfoPanel) FieldDot

func (i *InfoPanel) FieldDot(icons map[string]FieldDotColor, defaultDot FieldDotColor) *InfoPanel

func (*InfoPanel) FieldDownLoadable

func (i *InfoPanel) FieldDownLoadable(prefix ...string) *InfoPanel

func (*InfoPanel) FieldEditAble

func (i *InfoPanel) FieldEditAble(editType ...table.Type) *InfoPanel

func (*InfoPanel) FieldEditOptions

func (i *InfoPanel) FieldEditOptions(options FieldOptions, extra ...map[string]string) *InfoPanel

func (*InfoPanel) FieldFileSize

func (i *InfoPanel) FieldFileSize() *InfoPanel

func (*InfoPanel) FieldFilterOnChoose

func (i *InfoPanel) FieldFilterOnChoose(val, field string, value template.HTML) *InfoPanel

func (*InfoPanel) FieldFilterOnChooseAjax

func (i *InfoPanel) FieldFilterOnChooseAjax(field, url string, handler Handler) *InfoPanel

func (*InfoPanel) FieldFilterOnChooseCustom

func (i *InfoPanel) FieldFilterOnChooseCustom(js template.HTML) *InfoPanel

func (*InfoPanel) FieldFilterOnChooseDisable

func (i *InfoPanel) FieldFilterOnChooseDisable(value string, field ...string) *InfoPanel

func (*InfoPanel) FieldFilterOnChooseHide

func (i *InfoPanel) FieldFilterOnChooseHide(value string, field ...string) *InfoPanel

func (*InfoPanel) FieldFilterOnChooseMap

func (i *InfoPanel) FieldFilterOnChooseMap(m map[string]LinkField) *InfoPanel

func (*InfoPanel) FieldFilterOnChooseShow

func (i *InfoPanel) FieldFilterOnChooseShow(value string, field ...string) *InfoPanel

func (*InfoPanel) FieldFilterOnSearch

func (i *InfoPanel) FieldFilterOnSearch(url string, handler Handler, delay ...int) *InfoPanel

func (*InfoPanel) FieldFilterOptionExt

func (i *InfoPanel) FieldFilterOptionExt(m map[string]interface{}) *InfoPanel

func (*InfoPanel) FieldFilterOptions

func (i *InfoPanel) FieldFilterOptions(options FieldOptions) *InfoPanel

func (*InfoPanel) FieldFilterOptionsFromTable

func (i *InfoPanel) FieldFilterOptionsFromTable(table, textFieldName, valueFieldName string, process ...OptionTableQueryProcessFn) *InfoPanel

func (*InfoPanel) FieldFilterProcess

func (i *InfoPanel) FieldFilterProcess(process func(string) string) *InfoPanel

func (*InfoPanel) FieldFilterable

func (i *InfoPanel) FieldFilterable(filterType ...FilterType) *InfoPanel

func (*InfoPanel) FieldFixed

func (i *InfoPanel) FieldFixed() *InfoPanel

func (*InfoPanel) FieldHide

func (i *InfoPanel) FieldHide() *InfoPanel

func (*InfoPanel) FieldIcon

func (i *InfoPanel) FieldIcon(icons map[string]string, defaultIcon string) *InfoPanel

func (*InfoPanel) FieldImage

func (i *InfoPanel) FieldImage(width, height string, prefix ...string) *InfoPanel

func (*InfoPanel) FieldJoin

func (i *InfoPanel) FieldJoin(join Join) *InfoPanel

func (*InfoPanel) FieldLabel

func (i *InfoPanel) FieldLabel(args ...FieldLabelParam) *InfoPanel

func (*InfoPanel) FieldLimit

func (i *InfoPanel) FieldLimit(limit int) *InfoPanel
func (i *InfoPanel) FieldLink(src string, openInNewTab ...bool) *InfoPanel

func (*InfoPanel) FieldLoading

func (i *InfoPanel) FieldLoading(data []string) *InfoPanel

func (*InfoPanel) FieldProgressBar

func (i *InfoPanel) FieldProgressBar(data ...FieldProgressBarData) *InfoPanel

func (*InfoPanel) FieldQrcode

func (i *InfoPanel) FieldQrcode() *InfoPanel

func (*InfoPanel) FieldSortable

func (i *InfoPanel) FieldSortable() *InfoPanel

func (*InfoPanel) FieldSubstr

func (i *InfoPanel) FieldSubstr(start int, end int) *InfoPanel

func (*InfoPanel) FieldToLower

func (i *InfoPanel) FieldToLower() *InfoPanel

func (*InfoPanel) FieldToTitle

func (i *InfoPanel) FieldToTitle() *InfoPanel

func (*InfoPanel) FieldToUpper

func (i *InfoPanel) FieldToUpper() *InfoPanel

func (*InfoPanel) FieldTrimSpace

func (i *InfoPanel) FieldTrimSpace() *InfoPanel

func (*InfoPanel) FieldWidth

func (i *InfoPanel) FieldWidth(width int) *InfoPanel

func (*InfoPanel) FieldXssFilter

func (i *InfoPanel) FieldXssFilter() *InfoPanel

func (*InfoPanel) GetPageSizeList

func (i *InfoPanel) GetPageSizeList() []string

func (*InfoPanel) GetSort

func (i *InfoPanel) GetSort() string

func (*InfoPanel) HideDeleteButton

func (i *InfoPanel) HideDeleteButton() *InfoPanel

func (*InfoPanel) HideDetailButton

func (i *InfoPanel) HideDetailButton() *InfoPanel

func (*InfoPanel) HideEditButton

func (i *InfoPanel) HideEditButton() *InfoPanel

func (*InfoPanel) HideExportButton

func (i *InfoPanel) HideExportButton() *InfoPanel

func (*InfoPanel) HideFilterArea

func (i *InfoPanel) HideFilterArea() *InfoPanel

func (*InfoPanel) HideFilterButton

func (i *InfoPanel) HideFilterButton() *InfoPanel

func (*InfoPanel) HideNewButton

func (i *InfoPanel) HideNewButton() *InfoPanel

func (*InfoPanel) HidePagination

func (i *InfoPanel) HidePagination() *InfoPanel

func (*InfoPanel) HideQueryInfo

func (i *InfoPanel) HideQueryInfo() *InfoPanel

func (*InfoPanel) HideRowSelector

func (i *InfoPanel) HideRowSelector() *InfoPanel

func (*InfoPanel) IsExportValue

func (i *InfoPanel) IsExportValue() bool

func (*InfoPanel) SetAction

func (i *InfoPanel) SetAction(action template.HTML) *InfoPanel

func (*InfoPanel) SetDefaultPageSize

func (i *InfoPanel) SetDefaultPageSize(defaultPageSize int) *InfoPanel

func (*InfoPanel) SetDeleteFn

func (i *InfoPanel) SetDeleteFn(fn DeleteFn) *InfoPanel

func (*InfoPanel) SetDeleteHook

func (i *InfoPanel) SetDeleteHook(fn DeleteFn) *InfoPanel

func (*InfoPanel) SetDeleteHookWithRes

func (i *InfoPanel) SetDeleteHookWithRes(fn DeleteFnWithRes) *InfoPanel

func (*InfoPanel) SetDescription

func (i *InfoPanel) SetDescription(desc string) *InfoPanel

func (*InfoPanel) SetFilterFormHeadWidth

func (i *InfoPanel) SetFilterFormHeadWidth(w int) *InfoPanel

func (*InfoPanel) SetFilterFormInputWidth

func (i *InfoPanel) SetFilterFormInputWidth(w int) *InfoPanel

func (*InfoPanel) SetFilterFormLayout

func (i *InfoPanel) SetFilterFormLayout(layout form.Layout) *InfoPanel

func (*InfoPanel) SetFooterHtml

func (i *InfoPanel) SetFooterHtml(footer template.HTML) *InfoPanel

func (*InfoPanel) SetGetDataFn

func (i *InfoPanel) SetGetDataFn(fn GetDataFn) *InfoPanel

func (*InfoPanel) SetHeaderHtml

func (i *InfoPanel) SetHeaderHtml(header template.HTML) *InfoPanel

func (*InfoPanel) SetPageSizeList

func (i *InfoPanel) SetPageSizeList(pageSizeList []int) *InfoPanel

func (*InfoPanel) SetPreDeleteFn

func (i *InfoPanel) SetPreDeleteFn(fn DeleteFn) *InfoPanel

func (*InfoPanel) SetPrimaryKey

func (i *InfoPanel) SetPrimaryKey(name string, typ db.DatabaseType) *InfoPanel

func (*InfoPanel) SetQueryFilterFn

func (i *InfoPanel) SetQueryFilterFn(fn QueryFilterFn) *InfoPanel

func (*InfoPanel) SetSortAsc

func (i *InfoPanel) SetSortAsc() *InfoPanel

func (*InfoPanel) SetSortDesc

func (i *InfoPanel) SetSortDesc() *InfoPanel

func (*InfoPanel) SetSortField

func (i *InfoPanel) SetSortField(field string) *InfoPanel

func (*InfoPanel) SetTabGroups

func (i *InfoPanel) SetTabGroups(groups TabGroups) *InfoPanel

func (*InfoPanel) SetTabHeaders

func (i *InfoPanel) SetTabHeaders(headers ...string) *InfoPanel

func (*InfoPanel) SetTable

func (i *InfoPanel) SetTable(table string) *InfoPanel

func (*InfoPanel) SetTableFixed

func (i *InfoPanel) SetTableFixed() *InfoPanel

func (*InfoPanel) SetTitle

func (i *InfoPanel) SetTitle(title string) *InfoPanel

func (*InfoPanel) SetWrapper

func (i *InfoPanel) SetWrapper(wrapper ContentWrapper) *InfoPanel

func (*InfoPanel) Where

func (i *InfoPanel) Where(field string, operator string, arg interface{}) *InfoPanel

func (*InfoPanel) WhereOr

func (i *InfoPanel) WhereOr(field string, operator string, arg interface{}) *InfoPanel

func (*InfoPanel) WhereRaw

func (i *InfoPanel) WhereRaw(raw string, arg ...interface{}) *InfoPanel

type Join

type Join struct {
	Table     string
	Field     string
	JoinField string
	BaseTable string
}

Join store join table info. For example:

Join {
    BaseTable:   "users",
    Field:       "role_id",
    Table:       "roles",
    JoinField:   "id",
}

It will generate the join table sql like:

... left join roles on roles.id = users.role_id ...

func (Join) Valid

func (j Join) Valid() bool

type Joins

type Joins []Join

func (Joins) Last

func (j Joins) Last() Join

func (Joins) Valid

func (j Joins) Valid() bool

type LabelAttribute

type LabelAttribute interface {
	SetContent(value template.HTML) LabelAttribute
	SetColor(value template.HTML) LabelAttribute
	SetType(value string) LabelAttribute
	GetContent() template.HTML
}

type LinkAttribute

type LinkAttribute interface {
	OpenInNewTab() LinkAttribute
	SetURL(value string) LinkAttribute
	SetAttributes(attr template.HTMLAttr) LinkAttribute
	SetClass(class template.HTML) LinkAttribute
	NoPjax() LinkAttribute
	SetTabTitle(value template.HTML) LinkAttribute
	SetContent(value template.HTML) LinkAttribute
	GetContent() template.HTML
}

type LinkField

type LinkField struct {
	Field   string
	Value   template.HTML
	Hide    bool
	Disable bool
}
type NavButton struct {
	*BaseButton
	Icon string
}

func GetNavButton

func GetNavButton(title template.HTML, icon string, action Action, names ...string) *NavButton
func (n *NavButton) Content() (template.HTML, template.JS)

type NewPageParam

type NewPageParam struct {
	User         models.UserModel
	Menu         *menu.Menu
	Panel        Panel
	Assets       template.HTML
	Buttons      Buttons
	Iframe       bool
	TmplHeadHTML template.HTML
	TmplFootJS   template.HTML
}

func (NewPageParam) NavButtonsAndJS

func (param NewPageParam) NavButtonsAndJS() (template.HTML, template.HTML)

type OptionArrInitFn

type OptionArrInitFn func(val FieldModel) []FieldOptions

type OptionInitFn

type OptionInitFn func(val FieldModel) FieldOptions

type OptionProcessFn

type OptionProcessFn func(options FieldOptions) FieldOptions

type OptionTable

type OptionTable struct {
	Table          string
	TextField      string
	ValueField     string
	QueryProcessFn OptionTableQueryProcessFn
	ProcessFn      OptionProcessFn
}

type OptionTableQueryProcessFn

type OptionTableQueryProcessFn func(sql *db.SQL) *db.SQL

type Page

type Page struct {
	// User is the login user.
	User models.UserModel

	// Menu is the left side menu of the template.
	Menu menu.Menu

	// Panel is the main content of template.
	Panel Panel

	// System contains some system info.
	System SystemInfo

	// UrlPrefix is the prefix of url.
	UrlPrefix string

	// Title is the title of the web page.
	Title string

	Logo template.HTML

	MiniLogo template.HTML

	// ColorScheme is the color scheme of the template.
	ColorScheme string

	// IndexUrl is the home page url of the site.
	IndexUrl string

	// AssetUrl is the cdn link of assets
	CdnUrl string

	// Custom html in the tag head.
	CustomHeadHtml template.HTML

	// Custom html after body.
	CustomFootHtml template.HTML

	TmplHeadHTML template.HTML
	TmplFootJS   template.HTML

	// Components assets
	AssetsList template.HTML

	// Footer info
	FooterInfo template.HTML

	// Load as Iframe or not
	Iframe bool

	NavButtonsHTML template.HTML
	// contains filtered or unexported fields
}

Page used in the template as a top variable.

func NewPage

func NewPage(param NewPageParam) *Page

func NewPagePanel

func NewPagePanel(panel Panel) *Page

func (*Page) AddButton

func (page *Page) AddButton(title template.HTML, icon string, action Action) *Page

type PaginatorAttribute

type PaginatorAttribute interface {
	SetCurPageStartIndex(value string) PaginatorAttribute
	SetCurPageEndIndex(value string) PaginatorAttribute
	SetTotal(value string) PaginatorAttribute
	SetHideEntriesInfo() PaginatorAttribute
	SetPreviousClass(value string) PaginatorAttribute
	SetPreviousUrl(value string) PaginatorAttribute
	SetPages(value []map[string]string) PaginatorAttribute
	SetPageSizeList(value []string) PaginatorAttribute
	SetNextClass(value string) PaginatorAttribute
	SetNextUrl(value string) PaginatorAttribute
	SetOption(value map[string]template.HTML) PaginatorAttribute
	SetUrl(value string) PaginatorAttribute
	SetExtraInfo(value template.HTML) PaginatorAttribute
	GetContent() template.HTML
}

type Panel

type Panel struct {
	Title       template.HTML
	Description template.HTML
	Content     template.HTML

	CSS template.CSS
	JS  template.JS
	Url string

	// Whether to toggle the sidebar
	MiniSidebar bool

	// Auto refresh page switch.
	AutoRefresh bool
	// Refresh page intervals, the unit is second.
	RefreshInterval []int
}

Panel contains the main content of the template which used as pjax.

func (Panel) GetContent

func (p Panel) GetContent(params ...bool) Panel

type PopupAttribute

type PopupAttribute interface {
	SetID(value string) PopupAttribute
	SetTitle(value template.HTML) PopupAttribute
	SetDraggable() PopupAttribute
	SetHideFooter() PopupAttribute
	SetWidth(width string) PopupAttribute
	SetHeight(height string) PopupAttribute
	SetFooter(value template.HTML) PopupAttribute
	SetBody(value template.HTML) PopupAttribute
	SetSize(value string) PopupAttribute
	GetContent() template.HTML
}

type PostFieldFilterFn

type PostFieldFilterFn func(value PostFieldModel) interface{}

PostFieldFilterFn is filter function of data.

type PostFieldModel

type PostFieldModel struct {
	ID    string
	Value FieldModelValue
	Row   map[string]interface{}
}

PostFieldModel contains ID and value of the single query result and the current row data.

type QueryFilterFn

type QueryFilterFn func(param parameter.Parameters, conn db.Connection) (ids []string, stopQuery bool)

type Responder

type Responder func(ctx *context.Context)

type RowAttribute

type RowAttribute interface {
	SetContent(value template.HTML) RowAttribute
	AddContent(value template.HTML) RowAttribute
	GetContent() template.HTML
}

type S

type S map[string]string

func Size

func Size(sm, md, lg int) S

func SizeLG

func SizeLG(lg int) S

func SizeMD

func SizeMD(md int) S

func SizeSM

func SizeSM(sm int) S

func SizeXL

func SizeXL(xl int) S

func SizeXS

func SizeXS(xs int) S

func (S) LG

func (s S) LG(lg int) S

func (S) MD

func (s S) MD(md int) S

func (S) SM

func (s S) SM(sm int) S

func (S) XL

func (s S) XL(xl int) S

func (S) XS

func (s S) XS(xs int) S

type Sort

type Sort uint8
const (
	SortDesc Sort = iota
	SortAsc
)

type SystemInfo

type SystemInfo struct {
	Version string
	Theme   string
}

SystemInfo contains basic info of system.

type TabGroups

type TabGroups [][]string

func NewTabGroups

func NewTabGroups(items ...string) TabGroups

func (TabGroups) AddGroup

func (t TabGroups) AddGroup(items ...string) TabGroups

func (TabGroups) Valid

func (t TabGroups) Valid() bool

type TabHeaders

type TabHeaders []string

func (TabHeaders) Add

func (t TabHeaders) Add(header string) TabHeaders

type TableAttribute

type TableAttribute interface {
	SetThead(value Thead) TableAttribute
	SetInfoList(value []map[string]InfoItem) TableAttribute
	SetType(value string) TableAttribute
	SetMinWidth(value string) TableAttribute
	SetHideThead() TableAttribute
	SetLayout(value string) TableAttribute
	SetStyle(style string) TableAttribute
	GetContent() template.HTML
}

type TableInfo

type TableInfo struct {
	Table      string
	PrimaryKey string
	Delimiter  string
	Driver     string
}

type TableRowData

type TableRowData struct {
	Id  template.HTML
	Ids template.HTML
}

type TabsAttribute

type TabsAttribute interface {
	SetData(value []map[string]template.HTML) TabsAttribute
	GetContent() template.HTML
}

type Thead

type Thead []TheadItem

func (Thead) GroupBy

func (t Thead) GroupBy(group [][]string) []Thead

type TheadItem

type TheadItem struct {
	Head       string       `json:"head"`
	Sortable   bool         `json:"sortable"`
	Field      string       `json:"field"`
	Hide       bool         `json:"hide"`
	Editable   bool         `json:"editable"`
	EditType   string       `json:"edit_type"`
	EditOption FieldOptions `json:"edit_option"`
	Width      string       `json:"width"`
}

type TreeAttribute

type TreeAttribute interface {
	SetTree(value []menu.Item) TreeAttribute
	SetEditUrl(value string) TreeAttribute
	SetOrderUrl(value string) TreeAttribute
	SetUrlPrefix(value string) TreeAttribute
	SetDeleteUrl(value string) TreeAttribute
	GetContent() template.HTML
	GetTreeHeader() template.HTML
}

type TreeViewAttribute

type TreeViewAttribute interface {
	SetTree(value TreeViewData) TreeViewAttribute
	SetUrlPrefix(value string) TreeViewAttribute
	SetID(id string) TreeViewAttribute
	GetContent() template.HTML
}

type TreeViewData

type TreeViewData struct {
	Data              TreeViewItems `json:"data,omitempty"`
	Levels            int           `json:"levels,omitempty"`
	BackColor         string        `json:"backColor,omitempty"`
	BorderColor       string        `json:"borderColor,omitempty"`
	CheckedIcon       string        `json:"checkedIcon,omitempty"`
	CollapseIcon      string        `json:"collapseIcon,omitempty"`
	Color             string        `json:"color,omitempty"`
	EmptyIcon         string        `json:"emptyIcon,omitempty"`
	EnableLinks       bool          `json:"enableLinks,omitempty"`
	ExpandIcon        string        `json:"expandIcon,omitempty"`
	MultiSelect       bool          `json:"multiSelect,omitempty"`
	NodeIcon          string        `json:"nodeIcon,omitempty"`
	OnhoverColor      string        `json:"onhoverColor,omitempty"`
	SelectedIcon      string        `json:"selectedIcon,omitempty"`
	SearchResultColor string        `json:"searchResultColor,omitempty"`
	SelectedBackColor string        `json:"selectedBackColor,omitempty"`
	SelectedColor     string        `json:"selectedColor,omitempty"`
	ShowBorder        bool          `json:"showBorder,omitempty"`
	ShowCheckbox      bool          `json:"showCheckbox,omitempty"`
	ShowIcon          bool          `json:"showIcon,omitempty"`
	ShowTags          bool          `json:"showTags,omitempty"`
	UncheckedIcon     string        `json:"uncheckedIcon,omitempty"`

	SearchResultBackColor  string `json:"searchResultBackColor,omitempty"`
	HighlightSearchResults bool   `json:"highlightSearchResults,omitempty"`
}

type TreeViewItem

type TreeViewItem struct {
	Text         string            `json:"text,omitempty"`
	Icon         string            `json:"icon,omitempty"`
	SelectedIcon string            `json:"selected_icon,omitempty"`
	Color        string            `json:"color,omitempty"`
	BackColor    string            `json:"backColor,omitempty"`
	Href         string            `json:"href,omitempty"`
	Selectable   bool              `json:"selectable,omitempty"`
	State        TreeViewItemState `json:"state,omitempty"`
	Tags         []string          `json:"tags,omitempty"`
	Nodes        TreeViewItems     `json:"nodes,omitempty"`
}

type TreeViewItemState

type TreeViewItemState struct {
	Checked  bool `json:"checked,omitempty"`
	Disabled bool `json:"disabled,omitempty"`
	Expanded bool `json:"expanded,omitempty"`
	Selected bool `json:"selected,omitempty"`
}

type TreeViewItems

type TreeViewItems []TreeViewItem

type Where

type Where struct {
	Join     string
	Field    string
	Operator string
	Arg      interface{}
}

type WhereRaw

type WhereRaw struct {
	Raw  string
	Args []interface{}
}

func (WhereRaw) Statement

func (wh WhereRaw) Statement(wheres string, whereArgs []interface{}) (string, []interface{})

type Wheres

type Wheres []Where

func (Wheres) Statement

func (whs Wheres) Statement(wheres, delimiter string, whereArgs []interface{}, existKeys, columns []string) (string, []interface{})

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL