All files / src/hocs/components/filter text.js

0% Statements 0/7
0% Branches 0/2
0% Functions 0/2
0% Lines 0/7

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36                                                                       
import React, {Component} from 'react';
import PropTypes from 'prop-types';
import {Input} from 'antd';
import get from 'lodash/get';
import set from 'lodash/set';
 
export default class TextFilter extends Component {
  static propTypes = {
    onChange: PropTypes.func,
    name: PropTypes.string,
    label: PropTypes.string
  };
 
  onInput = e => {
    const {name, onChange} = this.props;
    const {value} = e.target;
    if (!value) {
      onChange();
    } else {
      onChange(set({}, `${name}.eq`,  value));
    }
  }
 
  render() {
    const {label, where, name} = this.props;
    return (
      <Input
        style={{width: 140}}
        placeholder={label}
        onChange={this.onInput}
        defaultValue={get(where, `${name}.eq`, '')}
      />
    );
  }
}