File size: 2,958 Bytes
530729e |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 |
package components
import (
"fmt"
"html/template"
"github.com/GoAdminGroup/go-admin/template/types"
)
type BoxAttribute struct {
Name string
Header template.HTML
Body template.HTML
Footer template.HTML
Title template.HTML
Theme string
HeadBorder string
Attr template.HTMLAttr
HeadColor string
Class string
SecondHeaderClass string
SecondHeader template.HTML
SecondHeadBorder string
SecondHeadColor string
Style template.HTMLAttr
Padding string
types.Attribute
}
func (compo *BoxAttribute) SetTheme(value string) types.BoxAttribute {
compo.Theme = value
return compo
}
func (compo *BoxAttribute) SetClass(value string) types.BoxAttribute {
compo.Class = value
return compo
}
func (compo *BoxAttribute) SetHeader(value template.HTML) types.BoxAttribute {
compo.Header = value
return compo
}
func (compo *BoxAttribute) SetBody(value template.HTML) types.BoxAttribute {
compo.Body = value
return compo
}
func (compo *BoxAttribute) SetStyle(value template.HTMLAttr) types.BoxAttribute {
compo.Style = value
return compo
}
func (compo *BoxAttribute) SetAttr(attr template.HTMLAttr) types.BoxAttribute {
compo.Attr = attr
return compo
}
func (compo *BoxAttribute) SetIframeStyle(iframe bool) types.BoxAttribute {
if iframe {
compo.Attr = `style="border-radius: 0px;box-shadow:none;border-top:none;margin-bottom: 0px;"`
}
return compo
}
func (compo *BoxAttribute) SetFooter(value template.HTML) types.BoxAttribute {
compo.Footer = value
return compo
}
func (compo *BoxAttribute) SetTitle(value template.HTML) types.BoxAttribute {
compo.Title = value
return compo
}
func (compo *BoxAttribute) SetHeadColor(value string) types.BoxAttribute {
compo.HeadColor = value
return compo
}
func (compo *BoxAttribute) WithHeadBorder() types.BoxAttribute {
compo.HeadBorder = "with-border"
return compo
}
func (compo *BoxAttribute) SetSecondHeader(value template.HTML) types.BoxAttribute {
compo.SecondHeader = value
return compo
}
func (compo *BoxAttribute) SetSecondHeadColor(value string) types.BoxAttribute {
compo.SecondHeadColor = value
return compo
}
func (compo *BoxAttribute) SetSecondHeaderClass(value string) types.BoxAttribute {
compo.SecondHeaderClass = value
return compo
}
func (compo *BoxAttribute) SetNoPadding() types.BoxAttribute {
compo.Padding = "padding:0;"
return compo
}
func (compo *BoxAttribute) WithSecondHeadBorder() types.BoxAttribute {
compo.SecondHeadBorder = "with-border"
return compo
}
func (compo *BoxAttribute) GetContent() template.HTML {
if compo.Style == "" {
compo.Style = template.HTMLAttr(fmt.Sprintf(`style="%s"`, compo.Padding))
} else {
compo.Style = template.HTMLAttr(fmt.Sprintf(`style="%s"`, string(compo.Style)+compo.Padding))
}
return ComposeHtml(compo.TemplateList, compo.Separation, *compo, "box")
}
|