preview-toolbar.js 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. import React from 'react'
  2. import PropTypes from 'prop-types'
  3. import PreviewRecompileButton from './preview-recompile-button'
  4. import PreviewLogsToggleButton from './preview-logs-toggle-button'
  5. function PreviewToolbar({
  6. compilerState,
  7. logsState,
  8. onRecompile,
  9. onRunSyntaxCheckNow,
  10. onSetAutoCompile,
  11. onSetDraftMode,
  12. onSetSyntaxCheck,
  13. onToggleLogs,
  14. showLogs
  15. }) {
  16. return (
  17. <div className="toolbar toolbar-pdf">
  18. <div className="toolbar-pdf-left">
  19. <PreviewRecompileButton
  20. compilerState={compilerState}
  21. onRecompile={onRecompile}
  22. onRunSyntaxCheckNow={onRunSyntaxCheckNow}
  23. onSetAutoCompile={onSetAutoCompile}
  24. onSetDraftMode={onSetDraftMode}
  25. onSetSyntaxCheck={onSetSyntaxCheck}
  26. />
  27. </div>
  28. <div className="toolbar-pdf-right">
  29. <PreviewLogsToggleButton
  30. logsState={logsState}
  31. showLogs={showLogs}
  32. onToggle={onToggleLogs}
  33. />
  34. </div>
  35. </div>
  36. )
  37. }
  38. PreviewToolbar.propTypes = {
  39. compilerState: PropTypes.shape({
  40. isAutoCompileOn: PropTypes.bool.isRequired,
  41. isCompiling: PropTypes.bool.isRequired,
  42. isDraftModeOn: PropTypes.bool.isRequired,
  43. isSyntaxCheckOn: PropTypes.bool.isRequired,
  44. logEntries: PropTypes.object.isRequired
  45. }),
  46. logsState: PropTypes.shape({
  47. nErrors: PropTypes.number.isRequired,
  48. nWarnings: PropTypes.number.isRequired,
  49. nLogEntries: PropTypes.number.isRequired
  50. }),
  51. showLogs: PropTypes.bool.isRequired,
  52. onRecompile: PropTypes.func.isRequired,
  53. onRunSyntaxCheckNow: PropTypes.func.isRequired,
  54. onSetAutoCompile: PropTypes.func.isRequired,
  55. onSetDraftMode: PropTypes.func.isRequired,
  56. onSetSyntaxCheck: PropTypes.func.isRequired,
  57. onToggleLogs: PropTypes.func.isRequired
  58. }
  59. export default PreviewToolbar