diff --git a/resources/js/Components/DataTable/DataTable.jsx b/resources/js/Components/DataTable/DataTable.jsx index aca481b50..7f660a4da 100644 --- a/resources/js/Components/DataTable/DataTable.jsx +++ b/resources/js/Components/DataTable/DataTable.jsx @@ -16,6 +16,14 @@ import TableRow from './TableRow.jsx'; export default class DataTable extends Component { view(vnode) { + const rowsPerPageOptions: number[] = this.attrs.get('rows-per-page', '10,25,50,75,100').split(',') + .map((rowsPerPage: string) => Number.parseInt(rowsPerPage, 10)); + + let defaultRowsPerPage = Number.parseInt(this.attrs.get('default-rows-per-page', 10), 10); + if (!rowsPerPageOptions.includes(defaultRowsPerPage)) { + [defaultRowsPerPage] = rowsPerPageOptions; + } + return
@@ -45,8 +53,9 @@ export default class DataTable extends Component { className="mdc-data-table__pagination-rows-per-page-select" fixedMenuPosition style="--mdc-select-width: 112px; --mdc-select-height: 36px; --mdc-menu-item-height: 36px;" + value={defaultRowsPerPage} > - {this.attrs.get('rows-per-page', '10,25,50,75,100').split(',').map( + {rowsPerPageOptions.map( (value) => { const rowsPerPage = Number.parseInt(value, 10); return ( diff --git a/resources/js/Components/Pages/RecordsPage.jsx b/resources/js/Components/Pages/RecordsPage.jsx index b9a5b3733..a749d1404 100644 --- a/resources/js/Components/Pages/RecordsPage.jsx +++ b/resources/js/Components/Pages/RecordsPage.jsx @@ -263,7 +263,7 @@ export default class RecordsPage extends Page { return ( <>

{this.title}

- + {this.tableColumns()} {this.tableRows()}