AZLABS's picture
Upload folder using huggingface_hub
530729e verified
package components
import (
"fmt"
"html/template"
"github.com/GoAdminGroup/go-admin/modules/language"
"github.com/GoAdminGroup/go-admin/modules/utils"
"github.com/GoAdminGroup/go-admin/template/icon"
"github.com/GoAdminGroup/go-admin/template/types"
)
type ButtonAttribute struct {
Name string
Content template.HTML
Orientation string
LoadingText template.HTML
Theme string
Type string
Size string
Href string
Class string
ID string
Style template.HTMLAttr
MarginLeft int
MarginRight int
types.Attribute
}
func (compo *ButtonAttribute) SetContent(value template.HTML) types.ButtonAttribute {
compo.Content = value
return compo
}
func (compo *ButtonAttribute) SetOrientationRight() types.ButtonAttribute {
compo.Orientation = "pull-right"
return compo
}
func (compo *ButtonAttribute) SetOrientationLeft() types.ButtonAttribute {
compo.Orientation = "pull-left"
return compo
}
func (compo *ButtonAttribute) SetMarginLeft(px int) types.ButtonAttribute {
compo.MarginLeft = px
return compo
}
func (compo *ButtonAttribute) SetSmallSize() types.ButtonAttribute {
compo.Size = "btn-sm"
return compo
}
func (compo *ButtonAttribute) SetMiddleSize() types.ButtonAttribute {
compo.Size = "btn-md"
return compo
}
func (compo *ButtonAttribute) SetMarginRight(px int) types.ButtonAttribute {
compo.MarginRight = px
return compo
}
func (compo *ButtonAttribute) SetLoadingText(value template.HTML) types.ButtonAttribute {
compo.LoadingText = value
return compo
}
func (compo *ButtonAttribute) SetThemePrimary() types.ButtonAttribute {
compo.Theme = "primary"
return compo
}
func (compo *ButtonAttribute) SetThemeDefault() types.ButtonAttribute {
compo.Theme = "default"
return compo
}
func (compo *ButtonAttribute) SetThemeWarning() types.ButtonAttribute {
compo.Theme = "warning"
return compo
}
func (compo *ButtonAttribute) SetHref(href string) types.ButtonAttribute {
compo.Href = href
return compo
}
func (compo *ButtonAttribute) AddClass(class string) types.ButtonAttribute {
compo.Class += " " + class
return compo
}
func (compo *ButtonAttribute) SetID(id string) types.ButtonAttribute {
compo.ID = id
return compo
}
func (compo *ButtonAttribute) SetTheme(value string) types.ButtonAttribute {
compo.Theme = value
return compo
}
func (compo *ButtonAttribute) SetType(value string) types.ButtonAttribute {
compo.Type = value
return compo
}
func (compo *ButtonAttribute) GetContent() template.HTML {
if compo.MarginLeft != 0 {
compo.Style = template.HTMLAttr(fmt.Sprintf(`style="margin-left:%dpx;"`, compo.MarginLeft))
}
if compo.MarginRight != 0 {
compo.Style = template.HTMLAttr(fmt.Sprintf(`style="margin-right:%dpx;"`, compo.MarginRight))
}
if compo.LoadingText == "" {
compo.LoadingText = icon.Icon(icon.Spinner, 1) + language.GetFromHtml(`Save`)
}
if compo.ID == "" {
compo.ID = utils.Uuid(15) + "_btn"
}
return ComposeHtml(compo.TemplateList, compo.Separation, *compo, "button")
}