| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- // package wui_label -- WUI метка.
- package wui_label
- import (
- "fmt"
- "strings"
- mKt "gitp78su.ipnodns.ru/svi/kern/v4/lev0/ktypes"
- mL1 "gitp78su.ipnodns.ru/svi/kern/v4/lev1"
- "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) mKt.IResult[*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 mL1.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 mL1.NewErr[*WuiLabel](err)
- }
- _ = mWt.IWuiLabel(sf)
- return mL1.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
- }
|