hx_url_patch.go 964 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. // package hx_url_patch -- атрибут HTMX (путь запроса)
  2. package hx_url_patch
  3. import (
  4. "sync"
  5. "gitp78su.ipnodns.ru/svi/kern/v4/lev0"
  6. mWt "gitp78su.ipnodns.ru/svi/kern/v4/lev2/wui/wui_types"
  7. )
  8. // HxUrlPatch -- атрибут HTMX (путь запроса).
  9. type HxUrlPatch struct {
  10. sync.RWMutex
  11. val *lev0.LTxt
  12. }
  13. // NewHxUrlPatch -- возвращает новый путь запроса.
  14. func NewHxUrlPatch(patch *lev0.LTxt) *HxUrlPatch {
  15. lev0.If(patch.Get() == "").Hassert("NewHxUrlPatch(): patch isempty")
  16. sf := &HxUrlPatch{
  17. val: patch,
  18. }
  19. _ = mWt.IHxUrlPatch(sf)
  20. return sf
  21. }
  22. // Patch -- возвращает хранимое значение пути запроса.
  23. func (sf *HxUrlPatch) Patch() *lev0.LTxt {
  24. sf.RLock()
  25. defer sf.RUnlock()
  26. return sf.val
  27. }
  28. // Set -- устанавливает значение пути запроса.
  29. func (sf *HxUrlPatch) Set(val *lev0.LTxt) {
  30. sf.Lock()
  31. defer sf.Unlock()
  32. sf.val = val
  33. }