btn_monolit.go 1.1 KB

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