require('./toolBar.less'); const React = require('react'); const { useState, useEffect } = React; const _ = require('lodash') const MAX_ZOOM = 300; const MIN_ZOOM = 10; const ToolBar = ({ onZoomChange, currentPage, onPageChange, totalPages })=>{ const [zoomLevel, setZoomLevel] = useState(100); const [pageInput, setPageInput] = useState(currentPage); useEffect(()=>{ onZoomChange(zoomLevel); }, [zoomLevel]); useEffect(()=>{ setState((prevState)=>({ ...prevState, currentPage : currentPage, pageNumberInput : currentPage, })); }, [currentPage]); const handleZoomChange = (delta)=>{ const zoomChange = _.clamp(zoomLevel + delta, minZoom, maxZoom); setZoomLevel(zoomChange); }; return (
{setZoomLevel(parseInt(e.target.value));}} />
handleInputChange(e.target.value, 'page')} onBlur={(e)=>{ parseInt(state.pageNumberInput) === state.currentPage || onPageChange(parseInt(state.pageNumberInput) - 1); }} onKeyPress={(e)=>{ if(e.key === 'Enter') { e.target.blur(); } }} />
); }; module.exports = ToolBar;