/src/actions.ts
type ActionCallback = (data: any) => void
export default class Actions {
elem: HTMLDivElement
constructor() {
this.elem = <HTMLDivElement>document.getElementById('actions');
this.clear();
}
clear() {
while (this.elem.firstChild)
this.elem.removeChild(this.elem.firstChild);
}
addAction(title: string, callback: ActionCallback, data?: any) {
const button = document.createElement('button');
button.innerText = title;
button.addEventListener('click', this.eventHandler.bind(this, callback, data));
this.elem.appendChild(button);
}
eventHandler(callback: ActionCallback, data: any) {
if (callback)
callback(data);
}
}