diff --git a/new-lamassu-admin/src/components/SearchFilter.js b/new-lamassu-admin/src/components/SearchFilter.js index fb1a9b2b..0f5abba1 100644 --- a/new-lamassu-admin/src/components/SearchFilter.js +++ b/new-lamassu-admin/src/components/SearchFilter.js @@ -14,7 +14,12 @@ import { chipStyles, styles } from './SearchFilter.styles' const useChipStyles = makeStyles(chipStyles) const useStyles = makeStyles(styles) -const SearchFilter = ({ filters, onFilterDelete, setFilters, entries }) => { +const SearchFilter = ({ + filters, + onFilterDelete, + deleteAllFilters, + entries +}) => { const chipClasses = useChipStyles() const classes = useStyles() @@ -43,7 +48,7 @@ const SearchFilter = ({ filters, onFilterDelete, setFilters, entries }) => { Icon={ReverseFilterIcon} InverseIcon={FilterIcon} className={classes.deleteButton} - onClick={() => setFilters([])}> + onClick={deleteAllFilters}> Delete filters diff --git a/new-lamassu-admin/src/pages/Transactions/Transactions.js b/new-lamassu-admin/src/pages/Transactions/Transactions.js index 460030b0..d038207e 100644 --- a/new-lamassu-admin/src/pages/Transactions/Transactions.js +++ b/new-lamassu-admin/src/pages/Transactions/Transactions.js @@ -114,6 +114,14 @@ const GET_TRANSACTIONS = gql` } ` +const getFiltersObj = filters => + R.compose( + R.mergeAll, + R.map(f => ({ + [f.type]: f.value + })) + )(filters) + const Transactions = () => { const classes = useStyles() const history = useHistory() @@ -227,12 +235,7 @@ const Transactions = () => { ] const onFilterChange = filters => { - const filtersObject = R.compose( - R.mergeAll, - R.map(f => ({ - [f.type]: f.value - })) - )(filters) + const filtersObject = getFiltersObj(filters) setFilters(filters) @@ -250,10 +253,46 @@ const Transactions = () => { refetch && refetch() } - const onFilterDelete = filter => - setFilters( - R.filter(f => !R.whereEq(R.pick(['type', 'value'], f), filter))(filters) - ) + const onFilterDelete = filter => { + const newFilters = R.filter( + f => !R.whereEq(R.pick(['type', 'value'], f), filter) + )(filters) + + setFilters(newFilters) + + const filtersObject = getFiltersObj(newFilters) + + setVariables({ + limit: NUM_LOG_RESULTS, + txClass: filtersObject.type, + machineName: filtersObject.machine, + customerName: filtersObject.customer, + fiatCode: filtersObject.fiat, + cryptoCode: filtersObject.crypto, + toAddress: filtersObject.address, + status: filtersObject.status + }) + + refetch && refetch() + } + + const deleteAllFilters = () => { + setFilters([]) + const filtersObject = getFiltersObj([]) + + setVariables({ + limit: NUM_LOG_RESULTS, + txClass: filtersObject.type, + machineName: filtersObject.machine, + customerName: filtersObject.customer, + fiatCode: filtersObject.fiat, + cryptoCode: filtersObject.crypto, + toAddress: filtersObject.address, + status: filtersObject.status + }) + + refetch && refetch() + } const filterOptions = R.path(['transactionFilters'])(filtersResponse) @@ -301,7 +340,7 @@ const Transactions = () => { entries={txList.length} filters={filters} onFilterDelete={onFilterDelete} - setFilters={setFilters} + deleteAllFilters={deleteAllFilters} /> )}