hx_url.go 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. // package hx_url -- атрибут HTMX (URL запроса).
  2. package hx_url
  3. import (
  4. "gitp78su.ipnodns.ru/svi/kern/v4/d0"
  5. "gitp78su.ipnodns.ru/svi/kern/v4/d2/wui/hx_url_method"
  6. "gitp78su.ipnodns.ru/svi/kern/v4/d2/wui/hx_url_patch"
  7. mWt "gitp78su.ipnodns.ru/svi/kern/v4/d2/wui/wui_types"
  8. )
  9. // HxUrl -- атрибут HTMX (URL запроса).
  10. type HxUrl struct {
  11. owner *d0.LOwner
  12. method mWt.IHxUrlMethod
  13. patch mWt.IHxUrlPatch
  14. }
  15. // NewHxUrl -- возвращает новый URL запроса.
  16. func NewHxUrl(owner *d0.LOwner, patch *d0.LTxt) *HxUrl {
  17. sf := &HxUrl{
  18. owner: owner,
  19. method: hx_url_method.NewHxUrlMethod(owner),
  20. patch: hx_url_patch.NewHxUrlPatch(patch),
  21. }
  22. _ = mWt.IHxUrl(sf)
  23. return sf
  24. }
  25. // String -- возвращает строковое представление тэга.
  26. func (sf *HxUrl) String() string {
  27. return string(sf.method.Method().Get() + `="` + sf.patch.Patch().Get() + `"`)
  28. }
  29. // Method -- возвращает метод запроса.
  30. func (sf *HxUrl) Method() mWt.IHxUrlMethod {
  31. return sf.method
  32. }
  33. // Patch -- возвращает путь запроса.
  34. func (sf *HxUrl) Patch() mWt.IHxUrlPatch {
  35. return sf.patch
  36. }