wui_widget.go 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. // package wui_widget -- базовый виджет WUI.
  2. package wui_widget
  3. import (
  4. "crypto/rand"
  5. "strings"
  6. "gitp78su.ipnodns.ru/svi/kern/v4/lev0"
  7. mWt "gitp78su.ipnodns.ru/svi/kern/v4/lev2/wui/wui_types"
  8. )
  9. // WuiWidget -- базовый виджет WUI.
  10. type WuiWidget struct {
  11. val *lev0.LTxt
  12. }
  13. // NewWuiWidget -- возвращает новый базовый виджет WUI.
  14. func NewWuiWidget() *WuiWidget {
  15. sf := &WuiWidget{
  16. val: lev0.LetTxt("wui_" + rand.Text()),
  17. }
  18. _ = mWt.IWuiWidget(sf)
  19. return sf
  20. }
  21. // Id - возвращает ID виджета.
  22. func (sf *WuiWidget) Id() *lev0.LTxt {
  23. return sf.val
  24. }
  25. const (
  26. strBeg = `<div id="{.id}"> WuiWidget.Html(): id={.id}, not implemented </div>`
  27. )
  28. // Html -- возвращает HTML представление виджета.
  29. func (sf *WuiWidget) Html() *lev0.LTxt {
  30. strRes := strings.ReplaceAll(strBeg, "{.id}", sf.String())
  31. return lev0.LetTxt(strRes)
  32. }
  33. // String -- возвращает строковое представление виджета.
  34. func (sf *WuiWidget) String() string {
  35. return sf.val.String()
  36. }