wui.go 1.1 KB

1234567891011121314151617181920212223242526272829303132
  1. // package wui -- пакет веб-интерфейса.
  2. package wui
  3. import (
  4. "fmt"
  5. mKt "gitp78su.ipnodns.ru/svi/kern/v4/lev0/ktypes"
  6. mKr "gitp78su.ipnodns.ru/svi/kern/v4/lev1/result"
  7. "gitp78su.ipnodns.ru/svi/kern/v4/lev2/wui/wui_button"
  8. "gitp78su.ipnodns.ru/svi/kern/v4/lev2/wui/wui_ctx"
  9. mWt "gitp78su.ipnodns.ru/svi/kern/v4/lev2/wui/wui_types"
  10. )
  11. // NewWuiButton -- возвращает новую WUI-кнопку.
  12. func NewWuiButton(text string, fnClick func(map[string]string) mKt.IResult[string]) mKt.IResult[mWt.IWuiButton] {
  13. resBtn := wui_button.NewWuiButton(text, fnClick)
  14. if resBtn.IsErr() {
  15. err := fmt.Errorf("NewWuiButton(): text=%q, err=\n\t%w", text, resBtn.Err())
  16. return mKr.NewErr[mWt.IWuiButton](err)
  17. }
  18. return mKr.NewRes(mWt.IWuiButton(resBtn.Val()))
  19. }
  20. // GetWuiCtx -- возвращает контекст WUI.
  21. func GetWuiCtx() mKt.IResult[mWt.IWuiCtx] {
  22. resWuiCtx := wui_ctx.GetWuiCtx()
  23. if resWuiCtx.IsErr() {
  24. err := fmt.Errorf("GetWuiCtx(): err=\n\t%w", resWuiCtx.Err())
  25. return mKr.NewErr[mWt.IWuiCtx](err)
  26. }
  27. return mKr.NewRes(resWuiCtx.Val())
  28. }