All files / src/hocs/components 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 37 38 39 40 41 42 43                                                                                     
import React, {Component} from 'react';
import PropTypes from 'prop-types';
import {Input} from 'antd';
import get from 'lodash/get';
import {FilterPlugin, Label} from './share';
 
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({
        [name]: {
          eq: value
        }
      });
    }
  }
 
  render() {
    const {label, where, name} = this.props;
    return (
      <FilterPlugin>
        <Label>{label}</Label>
        <Input
          style={{width: '40%'}}
          placeholder={label}
          onChange={this.onInput}
          defaultValue={get(where, [name, 'eq'], '')}
        />
      </FilterPlugin>
    );
  }
}