diff options
author | Samuel Mannehed <samuel@cendio.se> | 2018-11-26 18:42:10 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-11-26 18:42:10 +0100 |
commit | 2bab9a0460d6095dc8548764d7e7bf02926115f1 (patch) | |
tree | bec1eca658de6666ff624aebe06317e819fdd478 | |
parent | ae1f7a8f5cc480afa471ff66a1211b8eb51129ee (diff) | |
parent | 11ef53544fbc385f906aaacedc062be4cebfe195 (diff) | |
download | novnc-2bab9a0460d6095dc8548764d7e7bf02926115f1.tar.gz |
Merge pull request #1166 from juanjoDiaz/simplify_EventTargetMixin
Simplify EventTargetMixin
-rw-r--r-- | core/util/eventtarget.js | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/core/util/eventtarget.js b/core/util/eventtarget.js index c541645..d74ed28 100644 --- a/core/util/eventtarget.js +++ b/core/util/eventtarget.js @@ -8,13 +8,10 @@ export default class EventTargetMixin { constructor() { - this._listeners = null; + this._listeners = new Map(); } addEventListener(type, callback) { - if (!this._listeners) { - this._listeners = new Map(); - } if (!this._listeners.has(type)) { this._listeners.set(type, new Set()); } @@ -22,19 +19,17 @@ export default class EventTargetMixin { } removeEventListener(type, callback) { - if (!this._listeners || !this._listeners.has(type)) { - return; + if (this._listeners.has(type)) { + this._listeners.get(type).delete(callback); } - this._listeners.get(type).delete(callback); } dispatchEvent(event) { - if (!this._listeners || !this._listeners.has(event.type)) { + if (!this._listeners.has(event.type)) { return true; } - this._listeners.get(event.type).forEach((callback) => { - callback.call(this, event); - }, this); + this._listeners.get(event.type) + .forEach(callback => callback.call(this, event), this); return !event.defaultPrevented; } } |