split-column.go 916 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. package widget
  2. import (
  3. "context"
  4. "html/template"
  5. "time"
  6. "github.com/glanceapp/glance/internal/assets"
  7. )
  8. type SplitColumn struct {
  9. widgetBase `yaml:",inline"`
  10. containerWidgetBase `yaml:",inline"`
  11. }
  12. func (widget *SplitColumn) Initialize() error {
  13. widget.withError(nil).withTitle("Split Column").SetHideHeader(true)
  14. for i := range widget.Widgets {
  15. if err := widget.Widgets[i].Initialize(); err != nil {
  16. return err
  17. }
  18. }
  19. return nil
  20. }
  21. func (widget *SplitColumn) Update(ctx context.Context) {
  22. widget.containerWidgetBase.Update(ctx)
  23. }
  24. func (widget *SplitColumn) SetProviders(providers *Providers) {
  25. widget.containerWidgetBase.SetProviders(providers)
  26. }
  27. func (widget *SplitColumn) RequiresUpdate(now *time.Time) bool {
  28. return widget.containerWidgetBase.RequiresUpdate(now)
  29. }
  30. func (widget *SplitColumn) Render() template.HTML {
  31. return widget.render(widget, assets.SplitColumnTemplate)
  32. }