| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- // package wui_label -- WUI метка.
- package wui_label
- import (
- "fmt"
- "strings"
- mL0 "gitp78su.ipnodns.ru/svi/kern/v4/lev0"
- "gitp78su.ipnodns.ru/svi/kern/v4/lev2/wui/wui_ctx"
- "gitp78su.ipnodns.ru/svi/kern/v4/lev2/wui/wui_text"
- mWt "gitp78su.ipnodns.ru/svi/kern/v4/lev2/wui/wui_types"
- "gitp78su.ipnodns.ru/svi/kern/v4/lev2/wui/wui_widget"
- )
- // WuiLabel -- WUI метка.
- type WuiLabel struct {
- mWt.IWuiWidget
- text mWt.IWuiText
- }
- // NewWuiLabel -- возвращает новую метку.
- func NewWuiLabel(text string) *mL0.Result[*WuiLabel] {
- sf := &WuiLabel{
- IWuiWidget: wui_widget.NewWuiWidget(),
- text: wui_text.NewWuiText(text),
- }
- resWuiCtx := wui_ctx.GetWuiCtx()
- if resWuiCtx.IsErr() {
- err := fmt.Errorf("NewWuiLabel(): text=%q, err=\n\t%w", text, resWuiCtx.Err())
- return mL0.NewErr[*WuiLabel](err)
- }
- wCtx := resWuiCtx.Val()
- resSet := wCtx.Set(sf.Id(), sf, "WUI-метка")
- if resSet.IsErr() {
- err := fmt.Errorf("NewWuiLabel(): text=%q, in set label to wui xtx, err=\n\t%w", text, resSet.Err())
- return mL0.NewErr[*WuiLabel](err)
- }
- _ = mWt.IWuiLabel(sf)
- return mL0.NewRes(sf)
- }
- // Text -- возвращает текст метки.
- func (sf *WuiLabel) Text() mWt.IWuiText {
- return sf.text
- }
- const (
- strBeg = `<div id="{.id}">{.txt}</div>`
- )
- // Html -- возвращает HTML-представление текста.
- func (sf *WuiLabel) Html() string {
- strRes := strings.ReplaceAll(strBeg, "{.id}", sf.Id())
- strRes = strings.ReplaceAll(strRes, "{.txt}", sf.text.Get())
- return strRes
- }
|