Fix ClearAdonment for light theme

This commit is contained in:
Thomas Nordquist
2019-04-10 18:55:25 +02:00
parent 8773d73ead
commit 195c2db70d
2 changed files with 15 additions and 13 deletions

View File

@@ -103,7 +103,7 @@ class TitleBar extends React.Component<Props, {}> {
value={topicFilter} value={topicFilter}
onChange={this.onFilterChange} onChange={this.onFilterChange}
placeholder="Search…" placeholder="Search…"
endAdornment={<div style={{ width: '24px', paddingRight: '8px' }}><ClearAdornment action={this.clearFilter} value={topicFilter} /></div>} endAdornment={<div style={{ width: '24px', paddingRight: '8px' }}><ClearAdornment variant="primary" action={this.clearFilter} value={topicFilter} /></div>}
classes={{ root: classes.inputRoot, input: classes.inputInput }} classes={{ root: classes.inputRoot, input: classes.inputInput }}
/> />
</div> </div>

View File

@@ -1,28 +1,30 @@
import * as React from 'react' import * as React from 'react'
import Clear from '@material-ui/icons/Clear' import Clear from '@material-ui/icons/Clear'
import { IconButton } from '@material-ui/core' import { IconButton, Theme } from '@material-ui/core'
import { withTheme } from '@material-ui/core/styles'
interface Props { interface Props {
value?: string value?: string
action: any action: any
style?: React.CSSProperties style?: React.CSSProperties
variant?: 'primary'
theme: Theme
} }
/** /**
* Clear button for text input fields * Clear button for text input fields
*/ */
class ClearAdornment extends React.Component<Props, {}> { function ClearAdornment(props: Props) {
public render() { if (!props.value) {
if (this.props.value) {
return (
<IconButton style={{ ...this.props.style, padding: '1px' }} onClick={this.props.action}>
<Clear style={{ fontSize: '16px' }} />
</IconButton>
)
}
return null return null
} }
const color = props.variant === 'primary' ? props.theme.palette.primary.contrastText : undefined
return (
<IconButton style={{ ...props.style, padding: '1px' }} onClick={props.action}>
<Clear style={{ color, fontSize: '16px' }} />
</IconButton>
)
} }
export default ClearAdornment export default withTheme(ClearAdornment)