hx_url_patch.go 983 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. // package hx_url_patch -- атрибут HTMX (путь запроса)
  2. package hx_url_patch
  3. import (
  4. "gitp78su.ipnodns.ru/svi/kern/v4/d0"
  5. mWt "gitp78su.ipnodns.ru/svi/kern/v4/d2/wui/wui_types"
  6. )
  7. // HxUrlPatch -- атрибут HTMX (путь запроса).
  8. type HxUrlPatch struct {
  9. *d0.MSafeMutex
  10. val *d0.LTxt
  11. }
  12. // NewHxUrlPatch -- возвращает новый путь запроса.
  13. func NewHxUrlPatch(patch *d0.LTxt) *HxUrlPatch {
  14. d0.If(patch.Get() == "").Hassert("NewHxUrlPatch(): patch isempty")
  15. sf := &HxUrlPatch{
  16. MSafeMutex: d0.MutSafeMutex(),
  17. val: patch,
  18. }
  19. _ = mWt.IHxUrlPatch(sf)
  20. return sf
  21. }
  22. // Patch -- возвращает хранимое значение пути запроса.
  23. func (sf *HxUrlPatch) Patch() *d0.LTxt {
  24. sf.RLock()
  25. defer sf.RUnlock()
  26. return sf.val
  27. }
  28. // Set -- устанавливает значение пути запроса.
  29. func (sf *HxUrlPatch) Set(val *d0.LTxt) {
  30. sf.Lock()
  31. defer sf.Unlock()
  32. sf.val = val
  33. }