pdf-viewer.stories.js 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. import useFetchMock from './hooks/use-fetch-mock'
  2. import PdfSynctexControls from '../js/features/pdf-preview/components/pdf-synctex-controls'
  3. import PdfViewer from '../js/features/pdf-preview/components/pdf-viewer'
  4. import {
  5. mockBuildFile,
  6. mockCompile,
  7. mockSynctex,
  8. mockValidPdf,
  9. } from './fixtures/compile'
  10. import { useEffect, Suspense } from 'react'
  11. import { ScopeDecorator } from './decorators/scope'
  12. export default {
  13. title: 'Editor / PDF Viewer',
  14. component: PdfViewer,
  15. decorators: [ScopeDecorator],
  16. }
  17. export const Interactive = () => {
  18. useFetchMock(fetchMock => {
  19. mockCompile(fetchMock)
  20. mockBuildFile(fetchMock)
  21. mockValidPdf(fetchMock)
  22. mockSynctex(fetchMock)
  23. })
  24. useEffect(() => {
  25. window.dispatchEvent(
  26. new CustomEvent(`cursor:editor:update`, {
  27. detail: { row: 10, position: 10 },
  28. })
  29. )
  30. }, [])
  31. return (
  32. <div>
  33. <div className="pdf-viewer">
  34. <Suspense fallback={null}>
  35. <PdfViewer />
  36. </Suspense>
  37. </div>
  38. <div style={{ position: 'absolute', top: 150, left: 50 }}>
  39. <PdfSynctexControls />
  40. </div>
  41. </div>
  42. )
  43. }