hx_url_method.go 950 B

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