fix: moved removeCoinFromOverride and added select className prop

This commit is contained in:
Jose Sousa 2020-11-27 16:22:47 +00:00 committed by Josh Harvey
parent 013955075a
commit 588b24fa6a
4 changed files with 43 additions and 6 deletions

View file

@ -9,7 +9,7 @@ import styles from './Select.styles'
const useStyles = makeStyles(styles)
function Select({ label, items, ...props }) {
function Select({ className, label, items, ...props }) {
const classes = useStyles()
const {

View file

@ -11,7 +11,6 @@ import { fromNamespace, toNamespace, namespaces } from 'src/utils/config'
import CommissionsDetails from './components/CommissionsDetails'
import CommissionsList from './components/CommissionsList'
import { removeCoinFromOverride } from './helper.js'
const GET_DATA = gql`
query getData {
@ -32,6 +31,10 @@ const SAVE_CONFIG = gql`
saveConfig(config: $config)
}
`
const removeCoinFromOverride = crypto => override =>
R.mergeRight(override, {
cryptoCurrencies: R.without([crypto], override.cryptoCurrencies)
})
const Commissions = ({ name: SCREEN_KEY }) => {
const [showMachines, setShowMachines] = useState(false)

View file

@ -15,10 +15,10 @@ const styles = {
headerLine: {
display: 'flex',
justifyContent: '',
marginBottom: 24,
'& div': {
marginBottom: 24
},
select: {
marginRight: 24
}
},
tableWrapper: {
flex: 1,
@ -139,6 +139,7 @@ const CommissionsList = memo(
<div>
<div className={classes.headerLine}>
<Select
className={classes.select}
onSelectedItemChange={setMachineFilter}
label="Machines"
default={SHOW_ALL}
@ -146,6 +147,7 @@ const CommissionsList = memo(
selectedItem={machineFilter}
/>
<Select
className={classes.select}
onSelectedItemChange={setCoinFilter}
label="Cryptocurrency"
default={SHOW_ALL}

View file

@ -515,6 +515,38 @@ const getListCommissionsFields = (getData, currency, defaults) => {
]
}
const filterCommissions = (coinFilter, machineFilter, machines) =>
R.compose(
R.filter(byMachine(machineFilter, machines)),
R.filter(byCoin(coinFilter))
)
const byMachine = (filter, machines) => it =>
(filter === SHOW_ALL) |
(filter === getView(machines, 'name', 'deviceId')(it.machine))
const byCoin = filter => it =>
(filter === SHOW_ALL) | (filter === it.cryptoCurrencies[0])
const sortCommissionsBy = (prop, machines) => {
switch (prop) {
case ORDER_OPTIONS[1]:
return R.sortBy(R.path(['cryptoCurrencies', 0]))
case ORDER_OPTIONS[2]:
return R.sortBy(R.prop('cashIn'))
case ORDER_OPTIONS[3]:
return R.sortBy(R.prop('cashOut'))
case ORDER_OPTIONS[4]:
return R.sortBy(R.prop('fixedFee'))
case ORDER_OPTIONS[5]:
return R.sortBy(R.prop('minimumTx'))
default:
return R.sortBy(
R.compose(getView(machines, 'name', 'deviceId'), R.prop('machine'))
)
}
}
export {
mainFields,
overrides,