Toolbar.tsx 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  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: React.FC = () => {
  7. const [
  8. { totalPage, currentPage, scale, rotation, viewport, displayMode },
  9. dispatch,
  10. ] = useStore();
  11. const {
  12. setCurrentPage: setCurrentPageAction,
  13. changeScale,
  14. changeRotate,
  15. toggleDisplayMode,
  16. setMarkupTool,
  17. } = useActions(dispatch);
  18. const setCurrentPage = (num: number): void => {
  19. if (num > 0) {
  20. const ele: HTMLElement = document.getElementById(
  21. `page_${num}`
  22. ) as HTMLElement;
  23. scrollIntoView(ele);
  24. }
  25. setCurrentPageAction(num);
  26. };
  27. const handleHandClick = (): void => {
  28. setMarkupTool('');
  29. };
  30. return (
  31. <ToolbarComponent
  32. totalPage={totalPage}
  33. currentPage={currentPage}
  34. setCurrentPage={setCurrentPage}
  35. changeScale={changeScale}
  36. changeRotate={changeRotate}
  37. handleHandClick={handleHandClick}
  38. scale={scale}
  39. rotation={rotation}
  40. viewport={viewport}
  41. displayMode={displayMode}
  42. toggleDisplayMode={toggleDisplayMode}
  43. />
  44. );
  45. };
  46. export default Toolbar;