hx_url_method.go 1016 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. // package hx_url_method -- атрибут HTMX (метод запроса).
  2. package hx_url_method
  3. import (
  4. "gitp78su.ipnodns.ru/svi/kern/v4/d0"
  5. mWt "gitp78su.ipnodns.ru/svi/kern/v4/d2/wui/wui_types"
  6. )
  7. // HxSwap -- атрибут HTMX (метод запроса, внеполосная замена).
  8. type HxSwap struct {
  9. *d0.MSafeMutex
  10. owner *d0.LOwner
  11. method *d0.LTxt
  12. }
  13. // NewHxUrlMethod -- возвращает новый метод запроса.
  14. func NewHxUrlMethod(owner *d0.LOwner) *HxSwap {
  15. sf := &HxSwap{
  16. owner:owner,
  17. MSafeMutex: d0.MutSafeMutex(),
  18. method: d0.LetTxt(owner, "hx-post"),
  19. }
  20. _ = mWt.IHxUrlMethod(sf)
  21. return sf
  22. }
  23. // Method -- возвращает хранимое значение метода запроса.
  24. func (sf *HxSwap) Method() *d0.LTxt {
  25. sf.RLock()
  26. defer sf.RUnlock()
  27. return sf.method
  28. }
  29. // Set -- устанавливает значение метода запроса.
  30. func (sf *HxSwap) Set(val *d0.LTxt) {
  31. sf.Lock()
  32. defer sf.Unlock()
  33. sf.method = val
  34. }