import DataTable from '../DataTable/DataTable'; import TableBody from '../DataTable/TableBody'; import TableCell from '../DataTable/TableCell'; import TableHead from '../DataTable/TableHead'; import TableHeadCell from '../DataTable/TableHeadCell'; import TableHeadRow from '../DataTable/TableHeadRow'; import TableRow from '../DataTable/TableRow'; import Page from '../Page'; /** * @abstract */ export default class ListPage extends Page { columns: Array<{ id: string, title: string, type: string | null }>; rows: Array> = []; view(vnode) { const columns = this.columns.map( (column, index) => ( {column} ) ); const rows = this.rows.length > 0 ? this.rows.map((row, index) => ( {row.map((cell, index_) => {cell})} )) : {this.__('Non sono presenti dati')}; return ( <>

{this.title}

{columns} {rows} ); } }