Ver código fonte

SVI Рабочее сохранение

SVI 2 meses atrás
pai
commit
10642ad8a4

+ 6 - 12
v4/lev2/wui/hx_swap/hx_swap.go

@@ -4,13 +4,14 @@ package hx_swap
 import (
 	"sync"
 
+	"gitp78su.ipnodns.ru/svi/kern/v4/lev0/defs"
 	mWt "gitp78su.ipnodns.ru/svi/kern/v4/lev2/wui/wui_types"
 )
 
 // HxSwap -- атрибут HTMX (политика замены).
 type HxSwap struct {
 	sync.RWMutex
-	val string
+	swap defs.ITxtMut
 }
 
 // NewHxSwap -- возвращает новую политику замены.
@@ -24,19 +25,12 @@ func NewHxSwap() *HxSwap {
 func (sf *HxSwap) String() string {
 	sf.RLock()
 	defer sf.RUnlock()
-	return `hx-swap="` + sf.val + `"`
+	return `hx-swap="` + sf.swap.String() + `"`
 }
 
-// Get -- возвращает хранимое значение политики замена.
-func (sf *HxSwap) Get() string {
+// Swap -- возвращает хранимое значение политики замена.
+func (sf *HxSwap) Swap() defs.ITxtMut {
 	sf.RLock()
 	defer sf.RUnlock()
-	return sf.val
-}
-
-// Set -- устанавливает значение политики обмена.
-func (sf *HxSwap) Set(val string) {
-	sf.Lock()
-	defer sf.Unlock()
-	sf.val = val
+	return sf.swap
 }

+ 3 - 3
v4/lev2/wui/hx_swap/hx_swap_test.go

@@ -9,11 +9,11 @@ func TestHxSwap(t *testing.T) {
 	if swap == nil {
 		t.Fatalf("swap==nil")
 	}
-	if tag := swap.Get(); tag != "" {
+	if tag := swap.Swap(); tag.Get() != "" {
 		t.Fatalf("tag not empty")
 	}
-	swap.Set("innerHTML")
-	if tag := swap.Get(); tag != "innerHTML" {
+	swap.Swap().Set("innerHTML")
+	if tag := swap.Swap(); tag.Get() != "innerHTML" {
 		t.Fatalf("tag bad")
 	}
 	if str := swap.String(); str != `hx-swap="innerHTML"` {

+ 7 - 13
v4/lev2/wui/hx_trigger/hx_trigger.go

@@ -4,19 +4,20 @@ package hx_trigger
 import (
 	"sync"
 
+	"gitp78su.ipnodns.ru/svi/kern/v4/lev0/defs"
 	mWt "gitp78su.ipnodns.ru/svi/kern/v4/lev2/wui/wui_types"
 )
 
 // HxTrigger -- атрибут HTMX (триггер запроса).
 type HxTrigger struct {
 	sync.RWMutex
-	val string
+	trigger defs.ITxtMut
 }
 
 // NewHxTrigger -- возвращает новый триггер запроса.
 func NewHxTrigger() *HxTrigger {
 	sf := &HxTrigger{}
-	_ = mWt.IHxSwap(sf)
+	_ = mWt.IHxTrigger(sf)
 
 	return sf
 }
@@ -26,20 +27,13 @@ func (sf *HxTrigger) String() string {
 	sf.RLock()
 	defer sf.RUnlock()
 
-	return `hx-trigger="` + sf.val + `"`
+	return `hx-trigger="` + sf.trigger.String() + `"`
 }
 
-// Get -- возвращает хранимое значение триггера запроса.
-func (sf *HxTrigger) Get() string {
+// Trigger -- возвращает хранимое значение триггера запроса.
+func (sf *HxTrigger) Trigger() defs.ITxtMut {
 	sf.RLock()
 	defer sf.RUnlock()
 
-	return sf.val
-}
-
-// Set -- устанавливает значение триггера запроса.
-func (sf *HxTrigger) Set(val string) {
-	sf.Lock()
-	defer sf.Unlock()
-	sf.val = val
+	return sf.trigger
 }

+ 3 - 3
v4/lev2/wui/hx_trigger/hx_trigger_test.go

@@ -11,13 +11,13 @@ func TestHxTrigger(t *testing.T) {
 		t.Fatalf("swap==nil")
 	}
 
-	if tag := swap.Get(); tag != "" {
+	if tag := swap.Trigger(); tag.Get() != "" {
 		t.Fatalf("tag not empty")
 	}
 
-	swap.Set("every 1s")
+	swap.Trigger().Set("every 1s")
 
-	if tag := swap.Get(); tag != "every 1s" {
+	if tag := swap.Trigger().Get(); tag != "every 1s" {
 		t.Fatalf("tag bad")
 	}
 

+ 3 - 3
v4/lev2/wui/wui_hx/wui_hx.go

@@ -39,15 +39,15 @@ func NewWuiHx(path defs.ITxtFix) *WuiHx {
 // String -- возвращает строку тэгов.
 func (sf *WuiHx) String() string {
 	strOut := sf.url.String() + " " // Не может быть пустым
-	trig := sf.trigger.Get()
-	if trig != "" {
+	trig := sf.trigger.Trigger()
+	if trig.Get() != "" {
 		strOut += sf.trigger.String() + " "
 	}
 	target := sf.target.Get()
 	if target != "" {
 		strOut += sf.target.String() + " "
 	}
-	swap := sf.swap.Get()
+	swap := sf.swap.Swap().Get()
 	if swap != "" {
 		strOut += sf.swap.String() + " "
 	}

+ 2 - 2
v4/lev2/wui/wui_hx/wui_hx_test.go

@@ -23,9 +23,9 @@ func TestWhx(t *testing.T) {
 func (sf *tester) str() {
 	sf.t.Log("str")
 	sf.hx.Url().Method().Set(defs.Txt("hx-put"))
-	sf.hx.Trigger().Set("load")
+	sf.hx.Trigger().Trigger().Set("load")
 	sf.hx.Target().Set("#main")
-	sf.hx.Swap().Set("before")
+	sf.hx.Swap().Swap().Set("before")
 	sf.hx.Oob().Set("true")
 	sf.hx.Vals().Set("test", 3)
 	str := sf.hx.String()

+ 4 - 4
v4/lev2/wui/wui_types/ihx_swap.go

@@ -1,5 +1,7 @@
 package wui_types
 
+import "gitp78su.ipnodns.ru/svi/kern/v4/lev0/defs"
+
 // IHxSwap -- политика замены элемента (hx-swap)
 //
 //	Возможными значениями этого атрибута являются:
@@ -48,10 +50,8 @@ package wui_types
 //
 // hx-swap="innerHTML show:top".
 type IHxSwap interface {
-	// Get -- возвращает политику замены элемента
-	Get() string
-	// Set -- устанавливает политику замены элемента
-	Set(string)
+	// Swap -- возвращает политику замены элемента
+	Swap() defs.ITxtMut
 	// String -- возвращает строковое представление тэга
 	String() string
 }

+ 4 - 4
v4/lev2/wui/wui_types/ihx_trigger.go

@@ -1,5 +1,7 @@
 package wui_types
 
+import "gitp78su.ipnodns.ru/svi/kern/v4/lev0/defs"
+
 // IHxTrigger -- атрибут триггера HTMX (hx-trigger)
 //
 // # Список событий разделяется запятыми
@@ -148,10 +150,8 @@ package wui_types
 //
 // hx-vals='js:{x: event.offsetX, y: event.offsetY}'.
 type IHxTrigger interface {
-	// Set -- устанавливает триггер атрибута
-	Set(string)
-	// Get -- возвращает триггер атрибута
-	Get() string
+	// Trigger -- устанавливает триггер срабатывания атрибута
+	Trigger() defs.ITxtMut
 	// String -- возвращает строковое значение тэга
 	String() string
 }