wui.go 1.0 KB

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