btn_monolit.go 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. // package btn_monolit -- обработчик для показа блока монолита.
  2. package btn_monolit
  3. import (
  4. _ "embed"
  5. "fmt"
  6. . "gitp78su.ipnodns.ru/svi/kern/v4/lev0/ktypes"
  7. . "gitp78su.ipnodns.ru/svi/kern/v4/lev1/result"
  8. "gitp78su.ipnodns.ru/svi/kern/v4/lev2/wui"
  9. . "gitp78su.ipnodns.ru/svi/kern/v4/lev2/wui/wtypes"
  10. )
  11. type BtnMonolit struct {
  12. btn IWuiButton
  13. }
  14. // NewBtnMonolit -- возвращает новую кнопку монолита.
  15. func NewBtnMonolit() IResult[*BtnMonolit] {
  16. sf := &BtnMonolit{}
  17. resBtn := wui.NewWuiButton("Monolit", sf.clickMonolit)
  18. if resBtn.IsErr() {
  19. err := fmt.Errorf("NewBtnMonolit(): err=\n\t%w", resBtn.Err())
  20. return NewErr[*BtnMonolit](err)
  21. }
  22. sf.btn = resBtn.Val()
  23. sf.btn.Hx().Target().Set("#monolit")
  24. return NewRes(sf)
  25. }
  26. // Html -- возвращает HTML-представление кнопки.
  27. func (sf *BtnMonolit) Html() string {
  28. return sf.btn.Html()
  29. }
  30. //go:embed block_monolit.html
  31. var strBlockMonolit string
  32. // Событие клика по кнопке.
  33. func (sf *BtnMonolit) clickMonolit(dict map[string]string) IResult[string] {
  34. return NewRes(strBlockMonolit)
  35. }