diff --git a/src/components/DataTable.js b/src/components/DataTable.js index c7489a800..73d286322 100644 --- a/src/components/DataTable.js +++ b/src/components/DataTable.js @@ -196,6 +196,8 @@ export default function DataTable(props) { DataTable.defaultProps = { pagination: false, + hidePaginationNoPages: true, + size: null, spinnerProps: { size: 30 }, diff --git a/src/components/Datatable/TablePagination.js b/src/components/Datatable/TablePagination.js index 8fea232a2..48211745d 100644 --- a/src/components/Datatable/TablePagination.js +++ b/src/components/Datatable/TablePagination.js @@ -14,12 +14,15 @@ export default function TablePagination() { pageCount, state: { pageIndex, pageSize }, }, - props: { pagination, loading, onPaginationChange }, + props: { pagination, loading, onPaginationChange, hidePaginationNoPages }, } = useContext(TableContext); - const triggerOnPaginationChange = useCallback((payload) => { - saveInvoke(onPaginationChange, payload) - }, [onPaginationChange]); + const triggerOnPaginationChange = useCallback( + (payload) => { + saveInvoke(onPaginationChange, payload); + }, + [onPaginationChange], + ); // Handles the page changing. const handlePageChange = useCallback( @@ -45,8 +48,14 @@ export default function TablePagination() { [gotoPage, setPageSize, triggerOnPaginationChange], ); + // Detarmines when display the pagination. + const showPagination = + pagination && + ((hidePaginationNoPages && pageCount > 1) || !hidePaginationNoPages) && + !loading; + return ( - + showPagination && ( - + ) ); } diff --git a/src/containers/Customers/CustomersLanding/CustomersActionsBar.js b/src/containers/Customers/CustomersLanding/CustomersActionsBar.js index c8ed0fdb6..8ca0e6750 100644 --- a/src/containers/Customers/CustomersLanding/CustomersActionsBar.js +++ b/src/containers/Customers/CustomersLanding/CustomersActionsBar.js @@ -89,7 +89,7 @@ function CustomerActionsBar({ // Handle table row size change. const handleTableRowSizeChange = (size) => { - addSetting('custoemrs', 'tableSize', size); + addSetting('customers', 'tableSize', size); }; return ( diff --git a/src/containers/Settings/withSettings.js b/src/containers/Settings/withSettings.js index 5094f271c..2cca4753e 100644 --- a/src/containers/Settings/withSettings.js +++ b/src/containers/Settings/withSettings.js @@ -14,7 +14,7 @@ export default (mapState) => { itemsSettings: state.settings.data.items, expenseSettings: state.settings.data.expenses, accountsSettings: state.settings.data.accounts, - customersSettings: state.settings.data.custoemrs, + customersSettings: state.settings.data.customers, vendorsSettings: state.settings.data.vendors, }; return mapState ? mapState(mapped, state, props) : mapped; diff --git a/src/store/settings/settings.reducer.js b/src/store/settings/settings.reducer.js index 3c37aaefb..54962940b 100644 --- a/src/store/settings/settings.reducer.js +++ b/src/store/settings/settings.reducer.js @@ -43,6 +43,9 @@ const initialState = { vendors: { tableSize: 'medium', }, + accounts: { + tableSize: 'medium' + } }, };