|
@@ -34,6 +34,8 @@ type (
|
|
|
Html() string
|
|
|
}
|
|
|
|
|
|
+ Style map[string]string
|
|
|
+
|
|
|
TextOption func(t *Text)
|
|
|
|
|
|
ButtonOption func(btn *Button)
|
|
@@ -43,14 +45,14 @@ type (
|
|
|
Content string
|
|
|
Theme string
|
|
|
Color string
|
|
|
- Style map[string]string
|
|
|
+ Style Style
|
|
|
}
|
|
|
|
|
|
Button struct {
|
|
|
Url string
|
|
|
Text string
|
|
|
Color string
|
|
|
- Style map[string]string
|
|
|
+ Style Style
|
|
|
}
|
|
|
|
|
|
Entry struct {
|
|
@@ -82,6 +84,22 @@ type (
|
|
|
}
|
|
|
)
|
|
|
|
|
|
+func (s Style) Css(name string, value string) {
|
|
|
+ s[name] = value
|
|
|
+}
|
|
|
+
|
|
|
+func (s Style) String() string {
|
|
|
+ br := getBuffer()
|
|
|
+ defer releaseBuffer(br)
|
|
|
+ for k, v := range s {
|
|
|
+ br.WriteString(k)
|
|
|
+ br.WriteString(":")
|
|
|
+ br.WriteString(v)
|
|
|
+ br.WriteString(";")
|
|
|
+ }
|
|
|
+ return br.String()
|
|
|
+}
|
|
|
+
|
|
|
func (a *Action) Html() string {
|
|
|
return a.String()
|
|
|
}
|
|
@@ -254,12 +272,7 @@ func (button *Button) String() string {
|
|
|
}
|
|
|
if len(button.Style) > 0 {
|
|
|
br.WriteString(" style='")
|
|
|
- for k, v := range button.Style {
|
|
|
- br.WriteString(k)
|
|
|
- br.WriteString(":")
|
|
|
- br.WriteString(v)
|
|
|
- br.WriteString(";")
|
|
|
- }
|
|
|
+ br.WriteString(button.Style.String())
|
|
|
br.WriteString("'")
|
|
|
}
|
|
|
br.WriteString(">")
|
|
@@ -291,13 +304,15 @@ func (table *Table) String() string {
|
|
|
br.WriteString("<table class='table'>")
|
|
|
|
|
|
if len(table.Header) > 0 {
|
|
|
- br.WriteString("<thead><tr>")
|
|
|
+ br.WriteString("<thead>")
|
|
|
+ br.WriteString("<tr>")
|
|
|
for _, text := range table.Header {
|
|
|
br.WriteString("<th>")
|
|
|
br.WriteString(text.Html())
|
|
|
br.WriteString("</th>")
|
|
|
}
|
|
|
- br.WriteString("</tr></thead>")
|
|
|
+ br.WriteString("</tr>")
|
|
|
+ br.WriteString("</thead>")
|
|
|
}
|
|
|
if len(table.Body) > 0 {
|
|
|
br.WriteString("<tbody>")
|
|
@@ -312,7 +327,8 @@ func (table *Table) String() string {
|
|
|
}
|
|
|
br.WriteString("</tbody>")
|
|
|
}
|
|
|
- br.WriteString("</table></div>")
|
|
|
+ br.WriteString("</table>")
|
|
|
+ br.WriteString("</div>")
|
|
|
return br.String()
|
|
|
}
|
|
|
|
|
@@ -341,12 +357,7 @@ func (text *Text) String() string {
|
|
|
}
|
|
|
if len(text.Style) > 0 {
|
|
|
br.WriteString(" style='")
|
|
|
- for k, v := range text.Style {
|
|
|
- br.WriteString(k)
|
|
|
- br.WriteString(":")
|
|
|
- br.WriteString(v)
|
|
|
- br.WriteString(";")
|
|
|
- }
|
|
|
+ br.WriteString(text.Style.String())
|
|
|
br.WriteString("'")
|
|
|
}
|
|
|
br.WriteString(">")
|