hx_url_patch.go 1004 B

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