UNPKG

@jsxc/jsxc

Version:

Real-time XMPP chat application with video calls, file transfer and encrypted communication

40 lines (27 loc) 840 B
import Log from '@util/Log'; export default class TableElement { private tableElement = $('<table>'); constructor(private numberOfColumns: number) {} public appendRow(...columns) { return this.addRow('appendTo', columns); } public prependRow(...columns) { return this.addRow('prependTo', columns); } public get() { return this.tableElement; } private addRow(position: 'appendTo' | 'prependTo', columns) { if (columns.length !== this.numberOfColumns) { Log.warn('Wrong number of columns'); return false; } let rowElement = $('<tr>'); for (let column of columns) { let cellElement = $('<td>'); cellElement.text(column); cellElement.appendTo(rowElement); } rowElement[position](this.tableElement); } }