content: /*****************************************************************
   * 青岛雨人软件有限公司©2016版权所有
   *
   * 本软件之所有（包括但不限于）源代码、设计图、效果图、动画、日志、
   * 脚本、数据库、文档均为青岛雨人软件或其附属子公司所有。任何组织
   * 或者个人，未经青岛雨人软件书面授权，不得复制、使用、修改、分发、
   * 公布本软件的任何部分。青岛雨人软件有限公司保留对任何违反本声明
   * 的组织和个人采取法律手段维护合法权益的权利。
   *****************************************************************/
  
  import React from 'react';
  import classNames from 'classnames';
  import check from './check.png';
  import Checkbox from 'rc-checkbox';
  
  import './CheckboxTag.scss';
  
  export default class CheckboxTag extends React.Component {
    static propTypes = {
      checked: React.PropTypes.bool,
      defaultChecked: React.PropTypes.bool,
    }
  
    static defaultProps = {
      prefixCls: 'icrm-checkoutTag',
      defaultChecked: false,
    }
    constructor(props) {
      super(props);
      let checked = false;
      if ('checked' in props) {
        checked = props.checked;
      } else {
        checked = props.defaultChecked;
      }
      this.state = {
        checked,
      };
      this.handleChange = this.handleChange.bind(this);
    }
  
    handleChange = (e) => {
      this.setState({ checked: e.target.checked });
    }
  
    render() {
      const { checked, children, className, color, disabled, onChange, prefixCls, style, ...others } = this.props;
      const checkIcon = checked ? <img src={check} alt="" /> : '';
      const wrapperClassString = classNames({
        [`${prefixCls}-wrapper`]: true,
        [`${prefixCls}-has-color`]: !!color,
        [`${prefixCls}-wrapper-checked`]: checked,
        [`${prefixCls}-wrapper-disabled`]: disabled,
        [className]: !!className,
      });
      return (
        <label
          className={wrapperClassString}
          style={color ? Object.assign({}, style, { backgroundColor: color }) : style}
        >
          <Checkbox
            onChange={e => this.handleChange(e)}
            {...this.props}
          />
          {children
            ? <span>
              {children}
              {checkIcon}
            </span>
            : null
          }
        </label>
      );
    }
  }
  