hx_url_patch.go 947 B

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