visual-editor.ts 841 B

1234567891011121314151617181920212223242526272829
  1. import importOverleafModules from '../../../../macros/import-overleaf-module.macro'
  2. import { isValidTeXFile } from '../../../main/is-valid-tex-file'
  3. const visualEditorProviders = importOverleafModules('visualEditorProviders')
  4. export function isVisualEditorAvailable(filename: string): boolean {
  5. // Core LaTeX visual editor
  6. if (isValidTeXFile(filename)) {
  7. return true
  8. }
  9. // Visual editors provided by modules
  10. for (const provider of visualEditorProviders) {
  11. if (provider.import.isVisualEditorAvailable(filename)) {
  12. return true
  13. }
  14. }
  15. return false
  16. }
  17. export function getVisualEditorComponent(filename: string) {
  18. for (const provider of visualEditorProviders) {
  19. const component = provider.import.getVisualEditorComponent(filename)
  20. if (component != null) {
  21. return component
  22. }
  23. }
  24. return null
  25. }