table-filter-multiselect
Version:
## Install You need to have react and react-dom as dependencies in your project.
60 lines (48 loc) • 1.37 kB
JavaScript
import React from 'react';
import PropTypes from 'prop-types';
class FilterListItem extends React.Component {
constructor(props){
super(props);
this._initMethods();
this.state = {};
}
/*Bind Functions to Context*/
_initMethods(){
this._checkBoxClicked = this._checkBoxClicked.bind(this);
}
_checkBoxClicked(){
this.props.filterClicked(this.props.index);
}
render(){
if(this.props.label != null){
var filterColorClass = '';
switch(this.props.label){
case 'critical':
filterColorClass = 'color-critical';
break;
case 'good':
filterColorClass = 'color-success';
break;
case 'at-risk':
filterColorClass = 'color-warning';
break;
}
const checkBoxClass = [this.props.selected ? "selected " : "", "filter-check-box"].join('');
return (<div className={`filter-list-item ripple ${filterColorClass}`} onClick={this._checkBoxClicked}>
<div className={ checkBoxClass } ></div>
<div className="filter-label">{this.props.label}</div>
</div>);
}
else{
return (<div className=" filter-list-item ripple hiddenLabel"></div>);
}
}
}
FilterListItem.propTypes = {
filterClicked: PropTypes.func.isRequired,
index: PropTypes.number.isRequired,
label: PropTypes.any.isRequired,
selected: PropTypes.bool.isRequired,
clearClicked: PropTypes.bool
}
export default FilterListItem