feat: refactor maplibre for reactive signals and Via-native API
- Export Signal type (signal → Signal) so subpackages can reference it - Expose viewport signals as public fields (CenterLng, CenterLat, Zoom, Bearing, Pitch) for .Text() display and .Bind() usage - Add signal-backed marker positions (LngSignal/LatSignal) with data-effect reactivity for server push and dragend writeback - Add event system (MapEvent, OnClick, OnLayerClick, OnMouseMove, OnContextMenu) using hidden inputs + action triggers - Add Source interface replacing type-switch, with RawSource escape hatch - Add CameraOptions for FlyTo/EaseTo/JumpTo/FitBounds/Stop - Add Control interface with NavigationControl, ScaleControl, GeolocateControl, FullscreenControl - Expand Options with interaction toggles, MaxBounds, and Extra map - Add effectspike example to validate data-effect with server-pushed signals - Update maplibre example to showcase all new features
This commit is contained in:
10
via_test.go
10
via_test.go
@@ -90,7 +90,7 @@ func TestCustomDatastarPath(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestSignal(t *testing.T) {
|
||||
var sig *signal
|
||||
var sig *Signal
|
||||
v := New()
|
||||
v.Page("/", func(c *Context) {
|
||||
sig = c.Signal("test")
|
||||
@@ -106,7 +106,7 @@ func TestSignal(t *testing.T) {
|
||||
|
||||
func TestAction(t *testing.T) {
|
||||
var trigger *actionTrigger
|
||||
var sig *signal
|
||||
var sig *Signal
|
||||
v := New()
|
||||
v.Page("/", func(c *Context) {
|
||||
trigger = c.Action(func() {})
|
||||
@@ -167,7 +167,7 @@ func TestEventTypes(t *testing.T) {
|
||||
|
||||
t.Run("WithSignal", func(t *testing.T) {
|
||||
var trigger *actionTrigger
|
||||
var sig *signal
|
||||
var sig *Signal
|
||||
v := New()
|
||||
v.Page("/", func(c *Context) {
|
||||
trigger = c.Action(func() {})
|
||||
@@ -207,7 +207,7 @@ func TestOnKeyDownWithWindow(t *testing.T) {
|
||||
func TestOnKeyDownMap(t *testing.T) {
|
||||
t.Run("multiple bindings with different actions", func(t *testing.T) {
|
||||
var move, shoot *actionTrigger
|
||||
var dir *signal
|
||||
var dir *Signal
|
||||
v := New()
|
||||
v.Page("/", func(c *Context) {
|
||||
dir = c.Signal("none")
|
||||
@@ -251,7 +251,7 @@ func TestOnKeyDownMap(t *testing.T) {
|
||||
|
||||
t.Run("WithSignal per binding", func(t *testing.T) {
|
||||
var move *actionTrigger
|
||||
var dir *signal
|
||||
var dir *Signal
|
||||
v := New()
|
||||
v.Page("/", func(c *Context) {
|
||||
dir = c.Signal("none")
|
||||
|
||||
Reference in New Issue
Block a user