exbert-project/exbert
185
1/**2 * Created by hen on 5/15/17.3 * Modified by hoo on 4/16/19.4 */5export class SimpleEventHandler {6 7 element: Element;8 eventListeners: object[];9 10 constructor(element: Element) {11 this.element = element;12 this.eventListeners = []13 }14 15 bind(eventNames: string, eventFunction: Function) {16 for (const eventName of eventNames.split(' ')) {17 this.eventListeners.push({eventName, eventFunction});18 const eventFunctionWrap = e => eventFunction(e.detail, e);19 this.element.addEventListener(eventName, eventFunctionWrap, false);20 }21 }22 23 getListeners() {24 return this.eventListeners;25 }26 27 trigger(eventName: string, detail: object) {28 this.element.dispatchEvent(new CustomEvent(eventName, {detail}));29 }30}