Toolbar.tsx 906 B

123456789101112131415161718192021222324252627282930313233343536
  1. import React from 'react';
  2. import ToolbarComponent from '../components/Toolbar';
  3. import useActions from '../actions';
  4. import useStore from '../store';
  5. import { scrollIntoView } from '../helpers/utility';
  6. const Toolbar = () => {
  7. const [{totalPage, currentPage, scale, rotation, viewport}, dispatch] = useStore();
  8. const { setCurrentPage, changeScale, changeRotate } = useActions(dispatch);
  9. const _setCurrentPage = (num: number) => {
  10. if (num > 0) {
  11. const ele: HTMLElement = document.getElementById(`page_${num}`)!;
  12. scrollIntoView(ele);
  13. }
  14. setCurrentPage(num);
  15. }
  16. return (
  17. <ToolbarComponent
  18. totalPage={totalPage}
  19. currentPage={currentPage}
  20. setCurrentPage={_setCurrentPage}
  21. changeScale={changeScale}
  22. changeRotate={changeRotate}
  23. scale={scale}
  24. rotation={rotation}
  25. viewport={viewport}
  26. />
  27. );
  28. };
  29. export default Toolbar;