Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | //Event Handling export class EventDispatcher { listeners = {} as Record<string, Array<(event: any) => void>>; dispatchEvent(event: any) { var listenerArray = this.listeners[event.type]; Iif (listenerArray !== undefined) { event.target = this; for (var i = 0, l = listenerArray.length; i < l; i++) listenerArray[i].call(this, event); } } removeEventListener(type: string, listener?: (event: any) => void) { if (!listener) { this.listeners[type] = []; } else { var index = this.listeners[type].indexOf(listener); Iif (index !== -1) this.listeners[type].splice(index, 1); } } addEventListener(type: string, listener: (event: any) => void) { Iif (this.listeners[type] === undefined) this.listeners[type] = []; Iif (this.listeners[type].indexOf(listener) === -1) this.listeners[type].push(listener); } } |