import ArrowButton from '../button/ArrowButton'; import PageNumberButton from '../button/PageNumberButton'; import BasePageList from './BasePageList'; export default class NormalPageList extends BasePageList { state = { activeDoubleArrowButton: '', }; render() { const { layout, buttonBordered, lastPageHelp } = this.props; const { activeDoubleArrowButton } = this.state; return (
{layout.map(btn => { const { type } = btn; if (type === 'number') { const { page, selected } = btn; return ( {page} ); } if (type === 'left-arrow') { return ( ); } if (type === 'right-arrow') { return ( ); } if (type === 'double-left-arrow') { return ( ); } if (type === 'double-right-arrow') { return ( ); } return null; })}
); } onPrevPage = this.jumpToPageDelta(-1, this.resetActiveDoubleArrowButton); onNextPage = this.jumpToPageDelta(1, this.resetActiveDoubleArrowButton); onFastForwardPrevPage = this.jumpToPageDelta(-5, () => { this.setState({ activeDoubleArrowButton: 'left', }); }); onFastForwardNextPage = this.jumpToPageDelta(5, () => { this.setState({ activeDoubleArrowButton: 'right', }); }); resetActiveDoubleArrowButton = () => { this.setState({ activeDoubleArrowButton: '', }); }; }