import './demo10.css';
import 'whatwg-fetch';
import CascaderSelect from '..';
import Checkbox from '../../checkbox';
import React from 'react';
import ReactDOM from 'react-dom';
interface PageStates {
  data: Array<any>;
  value: Array<any>;
  checkStrictly: boolean;
}
class Demo extends React.Component<{}, PageStates> {
  handleCheck: () => void;
  handleChange: (value: any, data: any, extra: any) => void;
  constructor(props) {
    super(props);

    this.handleCheck = () => {
      this.setState({
        checkStrictly: !this.state.checkStrictly,
      });
    };
    this.handleChange = (value, data, extra) => {
      console.log(value, data, extra);
    };
    this.state = {
      data: [],
      value: [],
      checkStrictly: false,
    };
  }

  componentDidMount() {
    fetch('https://os.alipayobjects.com/rmsportal/ODDwqcDFTLAguOvWEolX.json')
      .then(response => response.json())
      .then(data => this.setState({ data, value: [ '2975' ] }))
      .catch(e => console.log(e));
  }

  render() {
    return (
      <div className="control-multiple-demo">
        <label className="strictly-check">
          <Checkbox
            checked={this.state.checkStrictly}
            onChange={this.handleCheck}
          />
          <span className="strictly-text">Enable checkStrictly</span>
        </label>
        <CascaderSelect
          multiple
          checkStrictly={this.state.checkStrictly}
          dataSource={this.state.data}
          onChange={this.handleChange}
        />
      </div>
    );
  }
}

ReactDOM.render(<Demo />, document.getElementById('cascader-select-demo-10'));
