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) const useStyles = makeStyles(styles)
function Select({ label, items, ...props }) { function Select({ className, label, items, ...props }) {
const classes = useStyles() const classes = useStyles()
const { const {

View file

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

View file

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