implement the close button on filter

This commit is contained in:
DD Liu committed 2017-05-25 15:42:20 -04:00
1 parent cee390d45e
commit c7f05a807c
3 files changed
+14 -4

No files matched your search

+6 -1
View File
@@ -9,6 +9,7 @@ const styles = require('./filter.css');
const FilterComponent = props => {
const {
onChange,
onClear,
placeholderText,
filterQuery
} = props;
@@ -31,7 +32,10 @@ const FilterComponent = props => {
value={filterQuery}
onChange={onChange}
/>
<div className={styles.xIconWrapper}>
<div
className={styles.xIconWrapper}
onClick={onClear}
>
<img
className={styles.xIcon}
src={xIcon}
@@ -44,6 +48,7 @@ const FilterComponent = props => {
FilterComponent.propTypes = {
filterQuery: PropTypes.string,
onChange: PropTypes.func,
onClear: PropTypes.func,
placeholderText: PropTypes.string
};
FilterComponent.defaultProps = {
+6 -3
View File
@@ -12,6 +12,7 @@ class LibraryComponent extends React.Component {
super(props);
bindAll(this, [
'handleFilterChange',
'handleFilterClear',
'handleMouseEnter',
'handleMouseLeave',
'handleSelect'
@@ -32,9 +33,10 @@ class LibraryComponent extends React.Component {
if (this.props.onItemMouseLeave) this.props.onItemMouseLeave(this.getFilteredData()[id]);
}
handleFilterChange (event) {
this.setState({
filterQuery: event.target.value
});
this.setState({filterQuery: event.target.value});
}
handleFilterClear () {
this.setState({filterQuery: ''});
}
getFilteredData () {
return this.props.data.filter(dataItem =>
@@ -48,6 +50,7 @@ class LibraryComponent extends React.Component {
filterQuery={this.state.filterQuery}
visible={this.props.visible}
onFilterChange={this.handleFilterChange}
onFilterClear={this.handleFilterClear}
onRequestClose={this.props.onRequestClose}
>
<div className={styles.libraryScrollGrid}>
+2
View File
@@ -28,6 +28,7 @@ class ModalComponent extends React.Component {
<Filter
filterQuery={this.props.filterQuery}
onChange={this.props.onFilterChange}
onClear={this.props.onFilterClear}
/>
</div>
<div
@@ -62,6 +63,7 @@ ModalComponent.propTypes = {
contentLabel: PropTypes.string.isRequired,
filterQuery: PropTypes.string,
onFilterChange: PropTypes.func,
onFilterClear: PropTypes.func,
onRequestClose: PropTypes.func,
visible: PropTypes.bool.isRequired
};