hx_url_patch.go 915 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. // package hx_url_patch -- атрибут HTMX (путь запроса)
  2. package hx_url_patch
  3. import (
  4. "sync"
  5. . "gitp78su.ipnodns.ru/svi/kern/kc/helpers"
  6. . "gitp78su.ipnodns.ru/svi/kern/wui/wtypes"
  7. )
  8. // HxUrlPatch -- атрибут HTMX (путь запроса)
  9. type HxUrlPatch struct {
  10. sync.RWMutex
  11. val string
  12. }
  13. // NewHxUrlPatch -- возвращает новый путь запроса
  14. func NewHxUrlPatch(patch string) *HxUrlPatch {
  15. Hassert(patch != "", "NewHxUrlPatch(): patch isempty")
  16. sf := &HxUrlPatch{
  17. val: patch,
  18. }
  19. _ = 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. }