geometry-change-event.ts 515 B

123456789101112131415
  1. import { EditorView } from '@codemirror/view'
  2. /**
  3. * An extension that triggers a custom DOM event whenever the editor geometry
  4. * changes. This is used to synchronize the editor content and review panel
  5. * height in "Current file" mode.
  6. */
  7. export const geometryChangeEvent = (reactReviewPanel: boolean) =>
  8. reactReviewPanel
  9. ? EditorView.updateListener.of(update => {
  10. if (update.geometryChanged) {
  11. window.dispatchEvent(new CustomEvent('editor:geometry-change'))
  12. }
  13. })
  14. : []