render-with-context.js 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. import FileTreeContext from '../../../../../frontend/js/features/file-tree/components/file-tree-context'
  2. import { renderWithEditorContext } from '../../../helpers/render-with-context'
  3. export default (children, options = {}) => {
  4. let { contextProps = {}, ...renderOptions } = options
  5. contextProps = {
  6. projectId: '123abc',
  7. rootFolder: [
  8. {
  9. _id: 'root-folder-id',
  10. name: 'rootFolder',
  11. docs: [],
  12. fileRefs: [],
  13. folders: [],
  14. },
  15. ],
  16. refProviders: {},
  17. reindexReferences: () => {
  18. console.log('reindex references')
  19. },
  20. setRefProviderEnabled: provider => {
  21. console.log(`ref provider ${provider} enabled`)
  22. },
  23. setStartedFreeTrial: () => {
  24. console.log('started free trial')
  25. },
  26. onSelect: () => {},
  27. ...contextProps,
  28. }
  29. const {
  30. refProviders,
  31. reindexReferences,
  32. setRefProviderEnabled,
  33. setStartedFreeTrial,
  34. onSelect,
  35. ...editorContextProps
  36. } = contextProps
  37. return renderWithEditorContext(
  38. <FileTreeContext
  39. refProviders={refProviders}
  40. reindexReferences={reindexReferences}
  41. setRefProviderEnabled={setRefProviderEnabled}
  42. setStartedFreeTrial={setStartedFreeTrial}
  43. onSelect={onSelect}
  44. >
  45. {children}
  46. </FileTreeContext>,
  47. editorContextProps,
  48. renderOptions
  49. )
  50. }