Skip to content

Commit 50dbf71

Browse files
authored
Merge pull request #5 from norunners/master
Updated event listeners to Go-1.12.
2 parents e7fa4e6 + 9447a79 commit 50dbf71

File tree

4 files changed

+34
-30
lines changed

4 files changed

+34
-30
lines changed

dom.go

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1076,13 +1076,13 @@ func (w *window) Stop() {
10761076

10771077
// TODO reuse util.EventTarget
10781078

1079-
func (w *window) AddEventListener(typ string, useCapture bool, listener func(Event)) func(o *js.Object) {
1080-
wrapper := func(o *js.Object) { listener(wrapEvent(o)) }
1081-
w.Call("addEventListener", typ, wrapper, useCapture)
1082-
return wrapper
1079+
func (w *window) AddEventListener(typ string, listener func(Event), useCapture bool) func(o *js.Object) {
1080+
fn := func(o *js.Object) { listener(wrapEvent(o)) }
1081+
w.Call("addEventListener", typ, fn, useCapture)
1082+
return fn
10831083
}
10841084

1085-
func (w *window) RemoveEventListener(typ string, useCapture bool, listener func(*js.Object)) {
1085+
func (w *window) RemoveEventListener(typ string, listener func(*js.Object), useCapture bool) {
10861086
w.Call("removeEventListener", typ, listener, useCapture)
10871087
}
10881088

@@ -1259,13 +1259,13 @@ func (n *BasicNode) Underlying() *js.Object {
12591259
return n.Object
12601260
}
12611261

1262-
func (n *BasicNode) AddEventListener(typ string, useCapture bool, listener func(Event)) func(*js.Object) {
1263-
wrapper := func(o *js.Object) { listener(wrapEvent(o)) }
1264-
n.Call("addEventListener", typ, wrapper, useCapture)
1265-
return wrapper
1262+
func (n *BasicNode) AddEventListener(typ string, listener func(Event), useCapture bool) func(*js.Object) {
1263+
fn := func(o *js.Object) { listener(wrapEvent(o)) }
1264+
n.Call("addEventListener", typ, fn, useCapture)
1265+
return fn
12661266
}
12671267

1268-
func (n *BasicNode) RemoveEventListener(typ string, useCapture bool, listener func(*js.Object)) {
1268+
func (n *BasicNode) RemoveEventListener(typ string, listener func(*js.Object), useCapture bool) {
12691269
n.Call("removeEventListener", typ, listener, useCapture)
12701270
}
12711271

dom_wasm.go

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1088,14 +1088,16 @@ func (w *window) Stop() {
10881088

10891089
// TODO reuse util.EventTarget
10901090

1091-
func (w *window) AddEventListener(typ string, useCapture bool, listener func(Event)) js.Callback {
1092-
wrapper := func(o js.Value) { listener(wrapEvent(o)) }
1093-
cb := js.NewEventCallback(0, wrapper)
1094-
w.Call("addEventListener", typ, cb, useCapture)
1095-
return cb
1091+
func (w *window) AddEventListener(typ string, listener func(Event), useCapture bool) js.Func {
1092+
fn := js.FuncOf(func(_ js.Value, args []js.Value) interface{} {
1093+
listener(wrapEvent(args[0]))
1094+
return nil
1095+
})
1096+
w.Call("addEventListener", typ, fn, useCapture)
1097+
return fn
10961098
}
10971099

1098-
func (w *window) RemoveEventListener(typ string, useCapture bool, listener js.Callback) {
1100+
func (w *window) RemoveEventListener(typ string, listener js.Func, useCapture bool) {
10991101
w.Call("removeEventListener", typ, listener, useCapture)
11001102
listener.Release()
11011103
}
@@ -1274,14 +1276,16 @@ func (n *BasicNode) Underlying() js.Value {
12741276
return n.Object
12751277
}
12761278

1277-
func (n *BasicNode) AddEventListener(typ string, useCapture bool, listener func(Event)) js.Callback {
1278-
wrapper := func(o js.Value) { listener(wrapEvent(o)) }
1279-
cb := js.NewEventCallback(0, wrapper)
1280-
n.Object.Call("addEventListener", typ, cb, useCapture)
1281-
return cb
1279+
func (n *BasicNode) AddEventListener(typ string, listener func(Event), useCapture bool) js.Func {
1280+
fn := js.FuncOf(func(_ js.Value, args []js.Value) interface{} {
1281+
listener(wrapEvent(args[0]))
1282+
return nil
1283+
})
1284+
n.Object.Call("addEventListener", typ, fn, useCapture)
1285+
return fn
12821286
}
12831287

1284-
func (n *BasicNode) RemoveEventListener(typ string, useCapture bool, listener js.Callback) {
1288+
func (n *BasicNode) RemoveEventListener(typ string, listener js.Func, useCapture bool) {
12851289
n.Object.Call("removeEventListener", typ, listener, useCapture)
12861290
listener.Release()
12871291
}

events.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -406,9 +406,9 @@ type WheelEvent struct {
406406

407407
type EventTarget interface {
408408
// AddEventListener adds a new event listener and returns the
409-
// wrapper function it generated. If using RemoveEventListener,
410-
// that wrapper has to be used.
411-
AddEventListener(typ string, useCapture bool, listener func(Event)) func(*js.Object)
412-
RemoveEventListener(typ string, useCapture bool, listener func(*js.Object))
409+
// function it created. If using RemoveEventListener,
410+
// that function has to be used.
411+
AddEventListener(typ string, listener func(Event), useCapture bool) func(*js.Object)
412+
RemoveEventListener(typ string, listener func(*js.Object), useCapture bool)
413413
DispatchEvent(event Event) bool
414414
}

events_wasm.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -407,9 +407,9 @@ type WheelEvent struct {
407407

408408
type EventTarget interface {
409409
// AddEventListener adds a new event listener and returns the
410-
// wrapper function it generated. If using RemoveEventListener,
411-
// that wrapper has to be used.
412-
AddEventListener(typ string, useCapture bool, listener func(Event)) js.Callback
413-
RemoveEventListener(typ string, useCapture bool, listener js.Callback)
410+
// function it created. If using RemoveEventListener,
411+
// that function has to be used.
412+
AddEventListener(typ string, listener func(Event), useCapture bool) js.Func
413+
RemoveEventListener(typ string, listener js.Func, useCapture bool)
414414
DispatchEvent(event Event) bool
415415
}

0 commit comments

Comments
 (0)