scope.tsx 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. import { MainDocument, PdfViewer } from '../../../../types/project-settings'
  2. type Scope = {
  3. settings?: {
  4. syntaxValidation?: boolean
  5. pdfViewer?: PdfViewer
  6. }
  7. editor?: {
  8. sharejs_doc?: {
  9. doc_id?: string
  10. getSnapshot?: () => string
  11. }
  12. newSourceEditor?: boolean
  13. }
  14. hasLintingError?: boolean
  15. ui?: {
  16. view?: 'editor' | 'history' | 'file' | 'pdf'
  17. pdfLayout?: 'flat' | 'sideBySide' | 'split'
  18. leftMenuShown?: boolean
  19. }
  20. project?: {
  21. members?: any[]
  22. owner: {
  23. _id: string
  24. }
  25. features?: {
  26. gitBridge?: boolean
  27. }
  28. }
  29. user?: {
  30. features?: {
  31. dropbox: boolean
  32. }
  33. }
  34. docs?: MainDocument[]
  35. }
  36. export const mockScope = (scope?: Scope) => ({
  37. settings: {
  38. syntaxValidation: false,
  39. pdfViewer: 'pdfjs',
  40. },
  41. editor: {
  42. sharejs_doc: {
  43. doc_id: 'test-doc',
  44. getSnapshot: () => 'some doc content',
  45. },
  46. newSourceEditor: true,
  47. },
  48. hasLintingError: false,
  49. ui: {
  50. view: 'editor',
  51. pdfLayout: 'sideBySide',
  52. leftMenuShown: false,
  53. },
  54. ...scope,
  55. })