CodeMirrorEditorDiff.tsx 866 B

123456789101112131415161718192021222324252627282930313233
  1. import { useEffect } from 'react';
  2. import type { Extension } from '@codemirror/state';
  3. import { placeholder, scrollPastEnd } from '@codemirror/view';
  4. import { GlobalCodeMirrorEditorKey } from '../consts';
  5. import { useCodeMirrorEditorIsolated } from '../stores';
  6. import { CodeMirrorEditor } from '.';
  7. const additionalExtensions: Extension[] = [
  8. [
  9. // todo: i18n
  10. placeholder('Please select page body'),
  11. scrollPastEnd(),
  12. ],
  13. ];
  14. export const CodeMirrorEditorDiff = (): JSX.Element => {
  15. const { data: codeMirrorEditor } = useCodeMirrorEditorIsolated(GlobalCodeMirrorEditorKey.DIFF);
  16. // setup additional extensions
  17. useEffect(() => {
  18. return codeMirrorEditor?.appendExtensions?.(additionalExtensions);
  19. }, [codeMirrorEditor]);
  20. return (
  21. <CodeMirrorEditor
  22. editorKey={GlobalCodeMirrorEditorKey.DIFF}
  23. hideToolbar
  24. />
  25. );
  26. };