]> source.dussan.org Git - svg.js.git/commitdiff
Add parameter "options" to EventTarget.off() 1249/head
authorMario Schlicht <mario.schlicht@tracetronic.de>
Tue, 18 Jan 2022 07:01:58 +0000 (08:01 +0100)
committerMario Schlicht <mario.schlicht@tracetronic.de>
Tue, 18 Jan 2022 07:01:58 +0000 (08:01 +0100)
- additional: Typescript-Interfaces for off() functions updated

spec/spec/types/EventTarget.js
src/types/EventTarget.js
svg.js.d.ts

index e27a71c34282b8a66b9557c61ab2c215722762a6..82e5a9478fa4f8f6b1c166d07db57f1b59b626e4 100644 (file)
@@ -101,6 +101,17 @@ describe('EventTarget.js', () => {
       target.dispatch('event')
       expect(spy.calls.count()).toBe(1)
     })
+
+    it('removes an event binding with options from the target', () => {
+      const target = new EventTarget()
+      const spy = createSpy()
+      target.on('event', spy, undefined, { capture: true })
+      target.dispatch('event')
+      expect(spy.calls.count()).toBe(1)
+      target.off('event', spy, { capture: true })
+      target.dispatch('event')
+      expect(spy.calls.count()).toBe(1)
+    })
   })
 
   describe('on()', () => {
index 68896056fa2b03a2674ac6a2c67d3e6dc792b400..58f5d5ca1dd83ead325af8bbd861b458d99b0349 100644 (file)
@@ -39,8 +39,8 @@ export default class EventTarget extends Base {
   }
 
   // Unbind event from listener
-  off (event, listener) {
-    off(this, event, listener)
+  off (event, listener, options) {
+    off(this, event, listener, options)
     return this
   }
 
index 0560a62cb55174d9e667a7611298788a809d94a6..baef3b962ef8795768c85d222159699a8f2aeb94 100644 (file)
@@ -27,8 +27,8 @@ declare module "@svgdotjs/svg.js" {
     function on(el: Node | Window, events: string, cb: EventListener, binbind?: any, options?: AddEventListenerOptions): void;\r
     function on(el: Node | Window, events: Event[], cb: EventListener, binbind?: any, options?: AddEventListenerOptions): void;\r
 \r
-    function off(el: Node | Window, events?: string, cb?: EventListener | number): void;\r
-    function off(el: Node | Window, events?: Event[], cb?: EventListener | number): void;\r
+    function off(el: Node | Window, events?: string, cb?: EventListener | number, options?: AddEventListenerOptions): void;\r
+    function off(el: Node | Window, events?: Event[], cb?: EventListener | number, options?: AddEventListenerOptions): void;\r
 \r
     function dispatch(node: Node | Window, event: Event, data?: object, options?: object): Event\r
 \r
@@ -579,7 +579,7 @@ declare module "@svgdotjs/svg.js" {
         getEventTarget(): this | Node\r
 \r
         on(events: string | Event[], cb: EventListener, binbind?: any, options?: AddEventListenerOptions): this;\r
-        off(events?: string | Event[], cb?: EventListener | number): this;\r
+        off(events?: string | Event[], cb?: EventListener | number, options?: AddEventListenerOptions): this;\r
 \r
         removeEventListener(): void\r
     }\r