hx_url_method.go 960 B

12345678910111213141516171819202122232425262728293031323334353637
  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. method *d0.LTxt
  11. }
  12. // NewHxUrlMethod -- возвращает новый метод запроса.
  13. func NewHxUrlMethod() *HxSwap {
  14. sf := &HxSwap{
  15. MSafeMutex: d0.MutSafeMutex(),
  16. method: d0.LetTxt("hx-post"),
  17. }
  18. _ = mWt.IHxUrlMethod(sf)
  19. return sf
  20. }
  21. // Method -- возвращает хранимое значение метода запроса.
  22. func (sf *HxSwap) Method() *d0.LTxt {
  23. sf.RLock()
  24. defer sf.RUnlock()
  25. return sf.method
  26. }
  27. // Set -- устанавливает значение метода запроса.
  28. func (sf *HxSwap) Set(val *d0.LTxt) {
  29. sf.Lock()
  30. defer sf.Unlock()
  31. sf.method = val
  32. }