message-listener.go 620 B

1234567891011121314151617181920212223242526272829303132
  1. package vuetifyx
  2. import (
  3. "context"
  4. h "github.com/theplant/htmlgo"
  5. )
  6. type VXMessageListenerBuilder struct {
  7. tag *h.HTMLTagBuilder
  8. listenFunc string
  9. }
  10. func VXMessageListener() (r *VXMessageListenerBuilder) {
  11. r = &VXMessageListenerBuilder{
  12. tag: h.Tag("vx-messagelistener"),
  13. }
  14. return
  15. }
  16. func (b *VXMessageListenerBuilder) ListenFunc(v string) (r *VXMessageListenerBuilder) {
  17. b.listenFunc = v
  18. return b
  19. }
  20. func (b *VXMessageListenerBuilder) MarshalHTML(ctx context.Context) (r []byte, err error) {
  21. if b.listenFunc != "" {
  22. b.tag.Attr(":listen-func", b.listenFunc)
  23. }
  24. return b.tag.MarshalHTML(ctx)
  25. }