Toolbar.tsx 1.2 KB

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