import React, { Component } from 'react';
import './index.less';
import Icon from '../Icon';
import Select from '../Select';

export default class extends Component {
  onChangePage(page) {
    const { total, pageSize, onChange } = this.props;
    const all = Math.ceil(total / pageSize);
    if (page <= 0 || page > all) return;
    if (onChange) onChange(page);
  }

  render() {
    const { current, total, pageSize, jump } = this.props;
    const all = Math.ceil(total / pageSize);
    return (
      <div className="user-pagination">
        <Icon name="arrow-left-small" onClick={() => this.onChangePage(current - 1)} />
        <span>
          <b>{current}</b>/{all}
        </span>
        <Icon name="arrow-right-small" onClick={() => this.onChangePage(current + 1)} />
        {jump && (
          <div style={{ display: 'inline-block' }} className="m-l-2 v-a-m">
            <div style={{ display: 'inline-block' }} className="v-a-m">
              跳转至
            </div>
            <Select
              size="small"
              theme="white"
              value={current}
              list={[...Array(all)].map((key, index) => ({ title: `第${index + 1}页`, key: index + 1 }))}
              onChange={key => this.onChangePage(key)}
            />
          </div>
        )}
      </div>
    );
  }
}