UNPKG

azure-devops-ui

Version:

React components for building web UI in Azure DevOps

33 lines (32 loc) 988 B
export class EventDispatch { constructor() { this.listeners = {}; } addEventListener(eventType, callback) { if (!(eventType in this.listeners)) { this.listeners[eventType] = []; } this.listeners[eventType].push(callback); } dispatchEvent(event, data, type) { const delegates = this.listeners[type || event.type]; if (delegates) { const stack = delegates.slice(); for (let i = 0, l = stack.length; i < l; i++) { stack[i].call(this, event, data); } } } removeEventListener(eventType, callback) { if (!(eventType in this.listeners)) { return; } const stack = this.listeners[eventType]; for (let i = 0, l = stack.length; i < l; i++) { if (stack[i] === callback) { stack.splice(i, 1); return; } } } }