fix: transaction filter deletion
This commit is contained in:
parent
66f79481a2
commit
6b9c18b9c6
2 changed files with 57 additions and 13 deletions
|
|
@ -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
|
||||
</ActionButton>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -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}
|
||||
/>
|
||||
)}
|
||||
<DataTable
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue