alternative.go 627 B

12345678910111213141516171819202122232425262728293031
  1. package element
  2. import (
  3. "git.nspix.com/golang/pgenr/internal/pool"
  4. "golang.org/x/net/html/atom"
  5. )
  6. type Alternative struct {
  7. Elements []Element
  8. }
  9. func (element *Alternative) String() string {
  10. br := pool.Get()
  11. defer pool.Put(br)
  12. br.WriteString(beginTag(atom.Div.String(), Attrs{"class": "alternative-wrapper"}))
  13. for _, ele := range element.Elements {
  14. br.WriteString(ele.Html())
  15. }
  16. br.WriteString(endTag(atom.Div.String()))
  17. return br.String()
  18. }
  19. func (element *Alternative) Html() string {
  20. return element.String()
  21. }
  22. func NewAlternative(eles ...Element) *Alternative {
  23. return &Alternative{
  24. Elements: eles,
  25. }
  26. }