From c6633632d622db9dce9e8a96db76175a490d5d3d Mon Sep 17 00:00:00 2001 From: Alf Eaton Date: Fri, 27 Sep 2024 11:31:31 +0100 Subject: [PATCH] Move CodeMirror contexts into a separate file (#20643) GitOrigin-RevId: 8425454a75ff8160a03fda1be5bda2242b41f6cd --- .../components/add-comment-tooltip.tsx | 2 +- .../components/review-panel-add-comment.tsx | 2 +- .../components/review-panel-container.tsx | 2 +- .../components/review-panel-current-file.tsx | 2 +- .../components/review-panel-entry.tsx | 2 +- .../context/ranges-context.tsx | 2 +- .../hooks/use-review-panel-styles.ts | 2 +- .../components/codemirror-command-tooltip.tsx | 2 +- .../components/codemirror-context.ts | 35 +++++++++++++ .../components/codemirror-editor.tsx | 50 ++++--------------- .../components/codemirror-outline.tsx | 2 +- .../components/codemirror-search-form.tsx | 2 +- .../components/codemirror-search.tsx | 2 +- .../components/codemirror-toolbar.tsx | 2 +- .../components/codemirror-view.tsx | 2 +- .../command-tooltip/href-tooltip.tsx | 2 +- .../command-tooltip/ref-tooltip.tsx | 2 +- .../command-tooltip/url-tooltip.tsx | 2 +- .../components/figure-modal/figure-modal.tsx | 2 +- .../figure-modal-other-project-source.tsx | 2 +- .../figure-modal-upload-source.tsx | 2 +- .../file-sources/figure-modal-url-source.tsx | 2 +- .../editor-widgets/editor-widgets.tsx | 2 +- .../editor-widgets/toggle-widget.tsx | 2 +- .../components/review-panel/review-panel.tsx | 2 +- .../components/table-generator/cell.tsx | 2 +- .../contexts/editing-context.tsx | 2 +- .../components/table-generator/table.tsx | 2 +- .../components/table-generator/tabular.tsx | 8 +-- .../toolbar/column-width-modal/modal.tsx | 2 +- .../toolbar/toolbar-button.tsx | 2 +- .../toolbar/toolbar-dropdown.tsx | 2 +- .../table-generator/toolbar/toolbar.tsx | 2 +- .../components/toolbar/button-menu.tsx | 2 +- .../toolbar/insert-figure-dropdown.tsx | 2 +- .../components/toolbar/math-dropdown.tsx | 2 +- .../components/toolbar/overflow.tsx | 2 +- .../toolbar/section-heading-dropdown.tsx | 2 +- .../toolbar/table-inserter-dropdown.tsx | 2 +- .../components/toolbar/toolbar-button.tsx | 2 +- .../hooks/use-codemirror-measurement.ts | 2 +- .../source-editor/hooks/use-included-file.ts | 2 +- 42 files changed, 88 insertions(+), 83 deletions(-) create mode 100644 services/web/frontend/js/features/source-editor/components/codemirror-context.ts diff --git a/services/web/frontend/js/features/review-panel-new/components/add-comment-tooltip.tsx b/services/web/frontend/js/features/review-panel-new/components/add-comment-tooltip.tsx index 2128adaca5..fc9a6342d3 100644 --- a/services/web/frontend/js/features/review-panel-new/components/add-comment-tooltip.tsx +++ b/services/web/frontend/js/features/review-panel-new/components/add-comment-tooltip.tsx @@ -5,7 +5,7 @@ import { useTranslation } from 'react-i18next' import { useCodeMirrorStateContext, useCodeMirrorViewContext, -} from '@/features/source-editor/components/codemirror-editor' +} from '@/features/source-editor/components/codemirror-context' import { addCommentStateField, buildAddNewCommentRangeEffect, diff --git a/services/web/frontend/js/features/review-panel-new/components/review-panel-add-comment.tsx b/services/web/frontend/js/features/review-panel-new/components/review-panel-add-comment.tsx index 1e59906ed6..2cd55de12a 100644 --- a/services/web/frontend/js/features/review-panel-new/components/review-panel-add-comment.tsx +++ b/services/web/frontend/js/features/review-panel-new/components/review-panel-add-comment.tsx @@ -2,7 +2,7 @@ import { FC, FormEventHandler, useCallback, useState, useRef } from 'react' import { useCodeMirrorStateContext, useCodeMirrorViewContext, -} from '@/features/source-editor/components/codemirror-editor' +} from '@/features/source-editor/components/codemirror-context' import { EditorSelection } from '@codemirror/state' import { useTranslation } from 'react-i18next' import { useThreadsActionsContext } from '../context/threads-context' diff --git a/services/web/frontend/js/features/review-panel-new/components/review-panel-container.tsx b/services/web/frontend/js/features/review-panel-new/components/review-panel-container.tsx index c795b5706e..ade154b061 100644 --- a/services/web/frontend/js/features/review-panel-new/components/review-panel-container.tsx +++ b/services/web/frontend/js/features/review-panel-new/components/review-panel-container.tsx @@ -1,5 +1,5 @@ import ReactDOM from 'react-dom' -import { useCodeMirrorViewContext } from '../../source-editor/components/codemirror-editor' +import { useCodeMirrorViewContext } from '../../source-editor/components/codemirror-context' import { memo } from 'react' import ReviewPanel from './review-panel' import { useLayoutContext } from '@/shared/context/layout-context' diff --git a/services/web/frontend/js/features/review-panel-new/components/review-panel-current-file.tsx b/services/web/frontend/js/features/review-panel-new/components/review-panel-current-file.tsx index 3ca9508eaa..f1e4683a25 100644 --- a/services/web/frontend/js/features/review-panel-new/components/review-panel-current-file.tsx +++ b/services/web/frontend/js/features/review-panel-new/components/review-panel-current-file.tsx @@ -19,7 +19,7 @@ import { import { useCodeMirrorStateContext, useCodeMirrorViewContext, -} from '@/features/source-editor/components/codemirror-editor' +} from '@/features/source-editor/components/codemirror-context' import { useRangesContext } from '../context/ranges-context' import { useThreadsContext } from '../context/threads-context' import { isDeleteChange, isInsertChange } from '@/utils/operations' diff --git a/services/web/frontend/js/features/review-panel-new/components/review-panel-entry.tsx b/services/web/frontend/js/features/review-panel-new/components/review-panel-entry.tsx index 9ad9d36e52..59cb3b4745 100644 --- a/services/web/frontend/js/features/review-panel-new/components/review-panel-entry.tsx +++ b/services/web/frontend/js/features/review-panel-new/components/review-panel-entry.tsx @@ -3,7 +3,7 @@ import { AnyOperation } from '../../../../../types/change' import { useCodeMirrorStateContext, useCodeMirrorViewContext, -} from '@/features/source-editor/components/codemirror-editor' +} from '@/features/source-editor/components/codemirror-context' import { isSelectionWithinOp } from '../utils/is-selection-within-op' import classNames from 'classnames' import { highlightRanges } from '@/features/source-editor/extensions/ranges' diff --git a/services/web/frontend/js/features/review-panel-new/context/ranges-context.tsx b/services/web/frontend/js/features/review-panel-new/context/ranges-context.tsx index 4b260ee496..485f98b182 100644 --- a/services/web/frontend/js/features/review-panel-new/context/ranges-context.tsx +++ b/services/web/frontend/js/features/review-panel-new/context/ranges-context.tsx @@ -15,7 +15,7 @@ import { } from '../../../../../types/change' import RangesTracker from '@overleaf/ranges-tracker' import { rejectChanges } from '@/features/source-editor/extensions/changes/reject-changes' -import { useCodeMirrorViewContext } from '@/features/source-editor/components/codemirror-editor' +import { useCodeMirrorViewContext } from '@/features/source-editor/components/codemirror-context' export type Ranges = { docId: string diff --git a/services/web/frontend/js/features/review-panel-new/hooks/use-review-panel-styles.ts b/services/web/frontend/js/features/review-panel-new/hooks/use-review-panel-styles.ts index 3bca48a7ea..fb5e6c3734 100644 --- a/services/web/frontend/js/features/review-panel-new/hooks/use-review-panel-styles.ts +++ b/services/web/frontend/js/features/review-panel-new/hooks/use-review-panel-styles.ts @@ -1,5 +1,5 @@ import { CSSProperties, useCallback, useEffect, useState } from 'react' -import { useCodeMirrorViewContext } from '@/features/source-editor/components/codemirror-editor' +import { useCodeMirrorViewContext } from '@/features/source-editor/components/codemirror-context' export const useReviewPanelStyles = (mini: boolean) => { const view = useCodeMirrorViewContext() diff --git a/services/web/frontend/js/features/source-editor/components/codemirror-command-tooltip.tsx b/services/web/frontend/js/features/source-editor/components/codemirror-command-tooltip.tsx index 3bc56f2a8f..c8c4814688 100644 --- a/services/web/frontend/js/features/source-editor/components/codemirror-command-tooltip.tsx +++ b/services/web/frontend/js/features/source-editor/components/codemirror-command-tooltip.tsx @@ -2,7 +2,7 @@ import { memo, useEffect } from 'react' import { useCodeMirrorStateContext, useCodeMirrorViewContext, -} from './codemirror-editor' +} from './codemirror-context' import { closeCommandTooltip, commandTooltipState, diff --git a/services/web/frontend/js/features/source-editor/components/codemirror-context.ts b/services/web/frontend/js/features/source-editor/components/codemirror-context.ts new file mode 100644 index 0000000000..7acf549408 --- /dev/null +++ b/services/web/frontend/js/features/source-editor/components/codemirror-context.ts @@ -0,0 +1,35 @@ +import { createContext, useContext } from 'react' +import { EditorView } from '@codemirror/view' +import { EditorState } from '@codemirror/state' + +export const CodeMirrorStateContext = createContext( + undefined +) + +export const CodeMirrorViewContext = createContext( + undefined +) + +export const useCodeMirrorStateContext = (): EditorState => { + const context = useContext(CodeMirrorStateContext) + + if (!context) { + throw new Error( + 'useCodeMirrorStateContext is only available inside CodeMirrorStateContext.Provider' + ) + } + + return context +} + +export const useCodeMirrorViewContext = (): EditorView => { + const context = useContext(CodeMirrorViewContext) + + if (!context) { + throw new Error( + 'useCodeMirrorViewContext is only available inside CodeMirrorViewContext.Provider' + ) + } + + return context +} diff --git a/services/web/frontend/js/features/source-editor/components/codemirror-editor.tsx b/services/web/frontend/js/features/source-editor/components/codemirror-editor.tsx index 5b420ab240..5c5ed43282 100644 --- a/services/web/frontend/js/features/source-editor/components/codemirror-editor.tsx +++ b/services/web/frontend/js/features/source-editor/components/codemirror-editor.tsx @@ -1,11 +1,4 @@ -import { - createContext, - ElementType, - memo, - useContext, - useRef, - useState, -} from 'react' +import { ElementType, memo, useRef, useState } from 'react' import useIsMounted from '../../../shared/hooks/use-is-mounted' import { EditorView } from '@codemirror/view' import { EditorState } from '@codemirror/state' @@ -21,6 +14,13 @@ import { ReviewPanelProviders } from '@/features/review-panel-new/context/review import { ReviewPanelMigration } from '@/features/source-editor/components/review-panel/review-panel-migration' import AddCommentTooltip from '@/features/review-panel-new/components/add-comment-tooltip' import { useFeatureFlag } from '@/shared/context/split-test-context' +import { + CodeMirrorStateContext, + CodeMirrorViewContext, +} from './codemirror-context' + +// TODO: remove this when definitely no longer used +export * from './codemirror-context' const sourceEditorComponents = importOverleafModules( 'sourceEditorComponents' @@ -64,7 +64,7 @@ function CodeMirrorEditor() { return ( - + @@ -87,39 +87,9 @@ function CodeMirrorEditor() { ) )} - + ) } export default memo(CodeMirrorEditor) - -const CodeMirrorStateContext = createContext(undefined) - -export const useCodeMirrorStateContext = (): EditorState => { - const context = useContext(CodeMirrorStateContext) - - if (!context) { - throw new Error( - 'useCodeMirrorStateContext is only available inside CodeMirrorEditor' - ) - } - - return context -} - -const CodeMirrorViewContext = createContext(undefined) - -export const CodeMirrorViewContextProvider = CodeMirrorViewContext.Provider - -export const useCodeMirrorViewContext = (): EditorView => { - const context = useContext(CodeMirrorViewContext) - - if (!context) { - throw new Error( - 'useCodeMirrorViewContext is only available inside CodeMirrorViewContextProvider' - ) - } - - return context -} diff --git a/services/web/frontend/js/features/source-editor/components/codemirror-outline.tsx b/services/web/frontend/js/features/source-editor/components/codemirror-outline.tsx index 3b4f9e3f8e..4a17e1b46a 100644 --- a/services/web/frontend/js/features/source-editor/components/codemirror-outline.tsx +++ b/services/web/frontend/js/features/source-editor/components/codemirror-outline.tsx @@ -1,4 +1,4 @@ -import { useCodeMirrorStateContext } from './codemirror-editor' +import { useCodeMirrorStateContext } from './codemirror-context' import React, { useEffect } from 'react' import { documentOutline } from '../languages/latex/document-outline' import { ProjectionStatus } from '../utils/tree-operations/projection' diff --git a/services/web/frontend/js/features/source-editor/components/codemirror-search-form.tsx b/services/web/frontend/js/features/source-editor/components/codemirror-search-form.tsx index ad406bf724..8dd3d36373 100644 --- a/services/web/frontend/js/features/source-editor/components/codemirror-search-form.tsx +++ b/services/web/frontend/js/features/source-editor/components/codemirror-search-form.tsx @@ -1,7 +1,7 @@ import { useCodeMirrorStateContext, useCodeMirrorViewContext, -} from './codemirror-editor' +} from './codemirror-context' import { FC, useCallback, useEffect, useMemo, useRef, useState } from 'react' import { runScopeHandlers } from '@codemirror/view' import { diff --git a/services/web/frontend/js/features/source-editor/components/codemirror-search.tsx b/services/web/frontend/js/features/source-editor/components/codemirror-search.tsx index 9eda1fcdd1..f346334095 100644 --- a/services/web/frontend/js/features/source-editor/components/codemirror-search.tsx +++ b/services/web/frontend/js/features/source-editor/components/codemirror-search.tsx @@ -1,6 +1,6 @@ import { createPortal } from 'react-dom' import CodeMirrorSearchForm from './codemirror-search-form' -import { useCodeMirrorViewContext } from './codemirror-editor' +import { useCodeMirrorViewContext } from './codemirror-context' import { getPanel } from '@codemirror/view' import { createSearchPanel } from '@codemirror/search' diff --git a/services/web/frontend/js/features/source-editor/components/codemirror-toolbar.tsx b/services/web/frontend/js/features/source-editor/components/codemirror-toolbar.tsx index ba765ca886..ae595ad17b 100644 --- a/services/web/frontend/js/features/source-editor/components/codemirror-toolbar.tsx +++ b/services/web/frontend/js/features/source-editor/components/codemirror-toolbar.tsx @@ -3,7 +3,7 @@ import { createPortal } from 'react-dom' import { useCodeMirrorStateContext, useCodeMirrorViewContext, -} from './codemirror-editor' +} from './codemirror-context' import { searchPanelOpen } from '@codemirror/search' import { useResizeObserver } from '../../../shared/hooks/use-resize-observer' import { ToolbarButton } from './toolbar/toolbar-button' diff --git a/services/web/frontend/js/features/source-editor/components/codemirror-view.tsx b/services/web/frontend/js/features/source-editor/components/codemirror-view.tsx index 666c2dd14f..c369aa63a1 100644 --- a/services/web/frontend/js/features/source-editor/components/codemirror-view.tsx +++ b/services/web/frontend/js/features/source-editor/components/codemirror-view.tsx @@ -1,5 +1,5 @@ import { memo, useCallback, useEffect } from 'react' -import { useCodeMirrorViewContext } from './codemirror-editor' +import { useCodeMirrorViewContext } from './codemirror-context' import useCodeMirrorScope from '../hooks/use-codemirror-scope' import useScopeValueSetterOnly from '@/shared/hooks/use-scope-value-setter-only' diff --git a/services/web/frontend/js/features/source-editor/components/command-tooltip/href-tooltip.tsx b/services/web/frontend/js/features/source-editor/components/command-tooltip/href-tooltip.tsx index 2f9a4333cd..7f26d5f391 100644 --- a/services/web/frontend/js/features/source-editor/components/command-tooltip/href-tooltip.tsx +++ b/services/web/frontend/js/features/source-editor/components/command-tooltip/href-tooltip.tsx @@ -3,7 +3,7 @@ import { useTranslation } from 'react-i18next' import { useCodeMirrorStateContext, useCodeMirrorViewContext, -} from '../codemirror-editor' +} from '../codemirror-context' import { closeCommandTooltip, resolveCommandNode, diff --git a/services/web/frontend/js/features/source-editor/components/command-tooltip/ref-tooltip.tsx b/services/web/frontend/js/features/source-editor/components/command-tooltip/ref-tooltip.tsx index e4c7dc91d3..6e80513741 100644 --- a/services/web/frontend/js/features/source-editor/components/command-tooltip/ref-tooltip.tsx +++ b/services/web/frontend/js/features/source-editor/components/command-tooltip/ref-tooltip.tsx @@ -3,7 +3,7 @@ import { useTranslation } from 'react-i18next' import { useCodeMirrorStateContext, useCodeMirrorViewContext, -} from '../codemirror-editor' +} from '../codemirror-context' import { Button } from 'react-bootstrap' import { resolveCommandNode } from '../../extensions/command-tooltip' import { diff --git a/services/web/frontend/js/features/source-editor/components/command-tooltip/url-tooltip.tsx b/services/web/frontend/js/features/source-editor/components/command-tooltip/url-tooltip.tsx index 632d71dd03..7034c286ea 100644 --- a/services/web/frontend/js/features/source-editor/components/command-tooltip/url-tooltip.tsx +++ b/services/web/frontend/js/features/source-editor/components/command-tooltip/url-tooltip.tsx @@ -1,6 +1,6 @@ import { FC } from 'react' import { useTranslation } from 'react-i18next' -import { useCodeMirrorStateContext } from '../codemirror-editor' +import { useCodeMirrorStateContext } from '../codemirror-context' import { Button } from 'react-bootstrap' import { resolveCommandNode } from '../../extensions/command-tooltip' import { diff --git a/services/web/frontend/js/features/source-editor/components/figure-modal/figure-modal.tsx b/services/web/frontend/js/features/source-editor/components/figure-modal/figure-modal.tsx index cac28f2a52..46dc913754 100644 --- a/services/web/frontend/js/features/source-editor/components/figure-modal/figure-modal.tsx +++ b/services/web/frontend/js/features/source-editor/components/figure-modal/figure-modal.tsx @@ -8,7 +8,7 @@ import { } from './figure-modal-context' import { FigureModalFooter } from './figure-modal-footer' import { lazy, memo, Suspense, useCallback, useEffect } from 'react' -import { useCodeMirrorViewContext } from '../codemirror-editor' +import { useCodeMirrorViewContext } from '../codemirror-context' import { ChangeSpec } from '@codemirror/state' import { snippet } from '@codemirror/autocomplete' import { diff --git a/services/web/frontend/js/features/source-editor/components/figure-modal/file-sources/figure-modal-other-project-source.tsx b/services/web/frontend/js/features/source-editor/components/figure-modal/file-sources/figure-modal-other-project-source.tsx index 714589073f..3115b2c4dc 100644 --- a/services/web/frontend/js/features/source-editor/components/figure-modal/file-sources/figure-modal-other-project-source.tsx +++ b/services/web/frontend/js/features/source-editor/components/figure-modal/file-sources/figure-modal-other-project-source.tsx @@ -21,7 +21,7 @@ import { useProjectContext } from '../../../../../shared/context/project-context import { FileRelocator } from '../file-relocator' import { useTranslation } from 'react-i18next' import { waitForFileTreeUpdate } from '../../../extensions/figure-modal' -import { useCodeMirrorViewContext } from '../../codemirror-editor' +import { useCodeMirrorViewContext } from '../../codemirror-context' import getMeta from '@/utils/meta' function suggestName(path: string) { diff --git a/services/web/frontend/js/features/source-editor/components/figure-modal/file-sources/figure-modal-upload-source.tsx b/services/web/frontend/js/features/source-editor/components/figure-modal/file-sources/figure-modal-upload-source.tsx index ca8d546bd8..cfc9cb8e18 100644 --- a/services/web/frontend/js/features/source-editor/components/figure-modal/file-sources/figure-modal-upload-source.tsx +++ b/services/web/frontend/js/features/source-editor/components/figure-modal/file-sources/figure-modal-upload-source.tsx @@ -14,7 +14,7 @@ import classNames from 'classnames' import { Button } from 'react-bootstrap' import { FileRelocator } from '../file-relocator' import { useTranslation } from 'react-i18next' -import { useCodeMirrorViewContext } from '../../codemirror-editor' +import { useCodeMirrorViewContext } from '../../codemirror-context' import { waitForFileTreeUpdate } from '../../../extensions/figure-modal' import getMeta from '@/utils/meta' diff --git a/services/web/frontend/js/features/source-editor/components/figure-modal/file-sources/figure-modal-url-source.tsx b/services/web/frontend/js/features/source-editor/components/figure-modal/file-sources/figure-modal-url-source.tsx index 41c3318f5c..255529287b 100644 --- a/services/web/frontend/js/features/source-editor/components/figure-modal/file-sources/figure-modal-url-source.tsx +++ b/services/web/frontend/js/features/source-editor/components/figure-modal/file-sources/figure-modal-url-source.tsx @@ -6,7 +6,7 @@ import { File } from '../../../utils/file' import { useCurrentProjectFolders } from '../../../hooks/use-current-project-folders' import { FileRelocator } from '../file-relocator' import { useTranslation } from 'react-i18next' -import { useCodeMirrorViewContext } from '../../codemirror-editor' +import { useCodeMirrorViewContext } from '../../codemirror-context' import { EditorView } from '@codemirror/view' import { waitForFileTreeUpdate } from '../../../extensions/figure-modal' diff --git a/services/web/frontend/js/features/source-editor/components/review-panel/editor-widgets/editor-widgets.tsx b/services/web/frontend/js/features/source-editor/components/review-panel/editor-widgets/editor-widgets.tsx index 3681e235d1..f20bd2ecce 100644 --- a/services/web/frontend/js/features/source-editor/components/review-panel/editor-widgets/editor-widgets.tsx +++ b/services/web/frontend/js/features/source-editor/components/review-panel/editor-widgets/editor-widgets.tsx @@ -9,7 +9,7 @@ import { useReviewPanelValueContext, } from '../../../context/review-panel/review-panel-context' import { useEditorContext } from '@/shared/context/editor-context' -import { useCodeMirrorViewContext } from '../../codemirror-editor' +import { useCodeMirrorViewContext } from '../../codemirror-context' import Modal, { useBulkActionsModal } from '../entries/bulk-actions-entry/modal' import getMeta from '../../../../../utils/meta' import useScopeEventListener from '@/shared/hooks/use-scope-event-listener' diff --git a/services/web/frontend/js/features/source-editor/components/review-panel/editor-widgets/toggle-widget.tsx b/services/web/frontend/js/features/source-editor/components/review-panel/editor-widgets/toggle-widget.tsx index 40dd0d1ccf..8bf2d8d7ca 100644 --- a/services/web/frontend/js/features/source-editor/components/review-panel/editor-widgets/toggle-widget.tsx +++ b/services/web/frontend/js/features/source-editor/components/review-panel/editor-widgets/toggle-widget.tsx @@ -1,6 +1,6 @@ import { Trans } from 'react-i18next' import { useReviewPanelUpdaterFnsContext } from '../../../context/review-panel/review-panel-context' -import { useCodeMirrorStateContext } from '../../codemirror-editor' +import { useCodeMirrorStateContext } from '../../codemirror-context' import { EditorView } from '@codemirror/view' import classnames from 'classnames' import { memo } from 'react' diff --git a/services/web/frontend/js/features/source-editor/components/review-panel/review-panel.tsx b/services/web/frontend/js/features/source-editor/components/review-panel/review-panel.tsx index 3eed4b240a..afd6e445a1 100644 --- a/services/web/frontend/js/features/source-editor/components/review-panel/review-panel.tsx +++ b/services/web/frontend/js/features/source-editor/components/review-panel/review-panel.tsx @@ -1,5 +1,5 @@ import ReactDOM from 'react-dom' -import { useCodeMirrorViewContext } from '../codemirror-editor' +import { useCodeMirrorViewContext } from '../codemirror-context' import { ReviewPanelProvider } from '../../context/review-panel/review-panel-context' import { memo } from 'react' import ReviewPanelContent from '@/features/source-editor/components/review-panel/review-panel-content' diff --git a/services/web/frontend/js/features/source-editor/components/table-generator/cell.tsx b/services/web/frontend/js/features/source-editor/components/table-generator/cell.tsx index a8639739a9..03c582380a 100644 --- a/services/web/frontend/js/features/source-editor/components/table-generator/cell.tsx +++ b/services/web/frontend/js/features/source-editor/components/table-generator/cell.tsx @@ -11,7 +11,7 @@ import { typesetNodeIntoElement } from '../../extensions/visual/utils/typeset-co import { parser } from '../../lezer-latex/latex.mjs' import { useTableContext } from './contexts/table-context' import { CellInput, CellInputRef } from './cell-input' -import { useCodeMirrorViewContext } from '../codemirror-editor' +import { useCodeMirrorViewContext } from '../codemirror-context' export const Cell: FC<{ cellData: CellData diff --git a/services/web/frontend/js/features/source-editor/components/table-generator/contexts/editing-context.tsx b/services/web/frontend/js/features/source-editor/components/table-generator/contexts/editing-context.tsx index eee2d40a4c..24b8688f20 100644 --- a/services/web/frontend/js/features/source-editor/components/table-generator/contexts/editing-context.tsx +++ b/services/web/frontend/js/features/source-editor/components/table-generator/contexts/editing-context.tsx @@ -1,5 +1,5 @@ import { FC, createContext, useCallback, useContext, useState } from 'react' -import { useCodeMirrorViewContext } from '../../codemirror-editor' +import { useCodeMirrorViewContext } from '../../codemirror-context' import { useTableContext } from './table-context' import { TableSelection } from './selection-context' import { debugConsole } from '@/utils/debugging' diff --git a/services/web/frontend/js/features/source-editor/components/table-generator/table.tsx b/services/web/frontend/js/features/source-editor/components/table-generator/table.tsx index 895b89c077..3227173c96 100644 --- a/services/web/frontend/js/features/source-editor/components/table-generator/table.tsx +++ b/services/web/frontend/js/features/source-editor/components/table-generator/table.tsx @@ -15,7 +15,7 @@ import { } from './contexts/selection-context' import { useEditingContext } from './contexts/editing-context' import { useTableContext } from './contexts/table-context' -import { useCodeMirrorViewContext } from '../codemirror-editor' +import { useCodeMirrorViewContext } from '../codemirror-context' import { undo, redo } from '@codemirror/commands' import { ChangeSpec } from '@codemirror/state' import { startCompileKeypress } from '@/features/pdf-preview/hooks/use-compile-triggers' diff --git a/services/web/frontend/js/features/source-editor/components/table-generator/tabular.tsx b/services/web/frontend/js/features/source-editor/components/table-generator/tabular.tsx index 9c5223159d..d466a66bf5 100644 --- a/services/web/frontend/js/features/source-editor/components/table-generator/tabular.tsx +++ b/services/web/frontend/js/features/source-editor/components/table-generator/tabular.tsx @@ -17,9 +17,9 @@ import { ErrorBoundary } from 'react-error-boundary' import { Alert, Button } from 'react-bootstrap' import { EditorSelection } from '@codemirror/state' import { - CodeMirrorViewContextProvider, + CodeMirrorViewContext, useCodeMirrorViewContext, -} from '../codemirror-editor' +} from '../codemirror-context' import { TableProvider } from './contexts/table-context' import { TabularProvider, useTabularContext } from './contexts/tabular-context' import Icon from '../../../../shared/components/icon' @@ -244,7 +244,7 @@ export const Tabular: FC<{ )} > - + - + ) diff --git a/services/web/frontend/js/features/source-editor/components/table-generator/toolbar/column-width-modal/modal.tsx b/services/web/frontend/js/features/source-editor/components/table-generator/toolbar/column-width-modal/modal.tsx index 341885ed7b..2894b07230 100644 --- a/services/web/frontend/js/features/source-editor/components/table-generator/toolbar/column-width-modal/modal.tsx +++ b/services/web/frontend/js/features/source-editor/components/table-generator/toolbar/column-width-modal/modal.tsx @@ -16,7 +16,7 @@ import { useSelectionContext } from '../../contexts/selection-context' import { useTableContext } from '../../contexts/table-context' import { setColumnWidth } from '../commands' import { UNITS, WidthSelection, WidthUnit } from './column-width' -import { useCodeMirrorViewContext } from '../../../codemirror-editor' +import { useCodeMirrorViewContext } from '../../../codemirror-context' import { CopyToClipboard } from '@/shared/components/copy-to-clipboard' import Tooltip from '@/shared/components/tooltip' import Icon from '@/shared/components/icon' diff --git a/services/web/frontend/js/features/source-editor/components/table-generator/toolbar/toolbar-button.tsx b/services/web/frontend/js/features/source-editor/components/table-generator/toolbar/toolbar-button.tsx index 6873be66b0..a745999ab4 100644 --- a/services/web/frontend/js/features/source-editor/components/table-generator/toolbar/toolbar-button.tsx +++ b/services/web/frontend/js/features/source-editor/components/table-generator/toolbar/toolbar-button.tsx @@ -3,7 +3,7 @@ import classNames from 'classnames' import { memo, useCallback } from 'react' import Tooltip from '../../../../../shared/components/tooltip' import MaterialIcon from '../../../../../shared/components/material-icon' -import { useCodeMirrorViewContext } from '../../codemirror-editor' +import { useCodeMirrorViewContext } from '../../codemirror-context' import { emitTableGeneratorEvent } from '../analytics' export const ToolbarButton = memo<{ diff --git a/services/web/frontend/js/features/source-editor/components/table-generator/toolbar/toolbar-dropdown.tsx b/services/web/frontend/js/features/source-editor/components/table-generator/toolbar/toolbar-dropdown.tsx index 05b4394482..3c7d2e0aa1 100644 --- a/services/web/frontend/js/features/source-editor/components/table-generator/toolbar/toolbar-dropdown.tsx +++ b/services/web/frontend/js/features/source-editor/components/table-generator/toolbar/toolbar-dropdown.tsx @@ -5,7 +5,7 @@ import MaterialIcon from '../../../../../shared/components/material-icon' import Tooltip from '../../../../../shared/components/tooltip' import { useTabularContext } from '../contexts/tabular-context' import { emitTableGeneratorEvent } from '../analytics' -import { useCodeMirrorViewContext } from '../../codemirror-editor' +import { useCodeMirrorViewContext } from '../../codemirror-context' import classNames from 'classnames' export const ToolbarDropdown: FC<{ diff --git a/services/web/frontend/js/features/source-editor/components/table-generator/toolbar/toolbar.tsx b/services/web/frontend/js/features/source-editor/components/table-generator/toolbar/toolbar.tsx index e1c29d0391..1e92398f6f 100644 --- a/services/web/frontend/js/features/source-editor/components/table-generator/toolbar/toolbar.tsx +++ b/services/web/frontend/js/features/source-editor/components/table-generator/toolbar/toolbar.tsx @@ -18,7 +18,7 @@ import { setBorders, unmergeCells, } from './commands' -import { useCodeMirrorViewContext } from '../../codemirror-editor' +import { useCodeMirrorViewContext } from '../../codemirror-context' import { useTableContext } from '../contexts/table-context' import { useTabularContext } from '../contexts/tabular-context' import { useTranslation } from 'react-i18next' diff --git a/services/web/frontend/js/features/source-editor/components/toolbar/button-menu.tsx b/services/web/frontend/js/features/source-editor/components/toolbar/button-menu.tsx index a26983fe21..b61dabb421 100644 --- a/services/web/frontend/js/features/source-editor/components/toolbar/button-menu.tsx +++ b/services/web/frontend/js/features/source-editor/components/toolbar/button-menu.tsx @@ -5,7 +5,7 @@ import useDropdown from '../../../../shared/hooks/use-dropdown' import Tooltip from '../../../../shared/components/tooltip' import { EditorView } from '@codemirror/view' import { emitToolbarEvent } from '../../extensions/toolbar/utils/analytics' -import { useCodeMirrorViewContext } from '../codemirror-editor' +import { useCodeMirrorViewContext } from '../codemirror-context' import MaterialIcon from '../../../../shared/components/material-icon' export const ToolbarButtonMenu: FC<{ diff --git a/services/web/frontend/js/features/source-editor/components/toolbar/insert-figure-dropdown.tsx b/services/web/frontend/js/features/source-editor/components/toolbar/insert-figure-dropdown.tsx index b8dc6f7d0b..988fb2cb27 100644 --- a/services/web/frontend/js/features/source-editor/components/toolbar/insert-figure-dropdown.tsx +++ b/services/web/frontend/js/features/source-editor/components/toolbar/insert-figure-dropdown.tsx @@ -5,7 +5,7 @@ import { memo, useCallback } from 'react' import { FigureModalSource } from '../figure-modal/figure-modal-context' import { useTranslation } from 'react-i18next' import { emitToolbarEvent } from '../../extensions/toolbar/utils/analytics' -import { useCodeMirrorViewContext } from '../codemirror-editor' +import { useCodeMirrorViewContext } from '../codemirror-context' import { insertFigure } from '../../extensions/toolbar/commands' import getMeta from '@/utils/meta' diff --git a/services/web/frontend/js/features/source-editor/components/toolbar/math-dropdown.tsx b/services/web/frontend/js/features/source-editor/components/toolbar/math-dropdown.tsx index cb5531a50f..45ddf80238 100644 --- a/services/web/frontend/js/features/source-editor/components/toolbar/math-dropdown.tsx +++ b/services/web/frontend/js/features/source-editor/components/toolbar/math-dropdown.tsx @@ -3,7 +3,7 @@ import { ToolbarButtonMenu } from './button-menu' import { emitToolbarEvent } from '../../extensions/toolbar/utils/analytics' import MaterialIcon from '../../../../shared/components/material-icon' import { useTranslation } from 'react-i18next' -import { useCodeMirrorViewContext } from '../codemirror-editor' +import { useCodeMirrorViewContext } from '../codemirror-context' import { wrapInDisplayMath, wrapInInlineMath, diff --git a/services/web/frontend/js/features/source-editor/components/toolbar/overflow.tsx b/services/web/frontend/js/features/source-editor/components/toolbar/overflow.tsx index 1626d36e72..b9ecee37dc 100644 --- a/services/web/frontend/js/features/source-editor/components/toolbar/overflow.tsx +++ b/services/web/frontend/js/features/source-editor/components/toolbar/overflow.tsx @@ -2,7 +2,7 @@ import { FC, LegacyRef, useRef } from 'react' import { Button, Overlay, Popover } from 'react-bootstrap' import classnames from 'classnames' import Icon from '../../../../shared/components/icon' -import { useCodeMirrorViewContext } from '../codemirror-editor' +import { useCodeMirrorViewContext } from '../codemirror-context' export const ToolbarOverflow: FC<{ overflowed: boolean diff --git a/services/web/frontend/js/features/source-editor/components/toolbar/section-heading-dropdown.tsx b/services/web/frontend/js/features/source-editor/components/toolbar/section-heading-dropdown.tsx index 71476de599..36ac0bc815 100644 --- a/services/web/frontend/js/features/source-editor/components/toolbar/section-heading-dropdown.tsx +++ b/services/web/frontend/js/features/source-editor/components/toolbar/section-heading-dropdown.tsx @@ -2,7 +2,7 @@ import classnames from 'classnames' import { useCodeMirrorStateContext, useCodeMirrorViewContext, -} from '../codemirror-editor' +} from '../codemirror-context' import { findCurrentSectionHeadingLevel, setSectionHeadingLevel, diff --git a/services/web/frontend/js/features/source-editor/components/toolbar/table-inserter-dropdown.tsx b/services/web/frontend/js/features/source-editor/components/toolbar/table-inserter-dropdown.tsx index 248fec1cd6..c5901123b4 100644 --- a/services/web/frontend/js/features/source-editor/components/toolbar/table-inserter-dropdown.tsx +++ b/services/web/frontend/js/features/source-editor/components/toolbar/table-inserter-dropdown.tsx @@ -3,7 +3,7 @@ import * as commands from '../../extensions/toolbar/commands' import { useTranslation } from 'react-i18next' import useDropdown from '../../../../shared/hooks/use-dropdown' import { Button, Overlay, Popover } from 'react-bootstrap' -import { useCodeMirrorViewContext } from '../codemirror-editor' +import { useCodeMirrorViewContext } from '../codemirror-context' import Tooltip from '../../../../shared/components/tooltip' import MaterialIcon from '../../../../shared/components/material-icon' import classNames from 'classnames' diff --git a/services/web/frontend/js/features/source-editor/components/toolbar/toolbar-button.tsx b/services/web/frontend/js/features/source-editor/components/toolbar/toolbar-button.tsx index b6fab0c409..3d32ed8652 100644 --- a/services/web/frontend/js/features/source-editor/components/toolbar/toolbar-button.tsx +++ b/services/web/frontend/js/features/source-editor/components/toolbar/toolbar-button.tsx @@ -1,6 +1,6 @@ import { memo, useCallback } from 'react' import { EditorView } from '@codemirror/view' -import { useCodeMirrorViewContext } from '../codemirror-editor' +import { useCodeMirrorViewContext } from '../codemirror-context' import { Button } from 'react-bootstrap' import classnames from 'classnames' import Tooltip from '../../../../shared/components/tooltip' diff --git a/services/web/frontend/js/features/source-editor/hooks/use-codemirror-measurement.ts b/services/web/frontend/js/features/source-editor/hooks/use-codemirror-measurement.ts index b6e8c7112d..f330a19af4 100644 --- a/services/web/frontend/js/features/source-editor/hooks/use-codemirror-measurement.ts +++ b/services/web/frontend/js/features/source-editor/hooks/use-codemirror-measurement.ts @@ -1,5 +1,5 @@ import { useCallback, useState } from 'react' -import { useCodeMirrorViewContext } from '../components/codemirror-editor' +import { useCodeMirrorViewContext } from '../components/codemirror-context' import { EditorView } from '@codemirror/view' import useEventListener from '../../../shared/hooks/use-event-listener' diff --git a/services/web/frontend/js/features/source-editor/hooks/use-included-file.ts b/services/web/frontend/js/features/source-editor/hooks/use-included-file.ts index a68bc20e82..33ce4e20c7 100644 --- a/services/web/frontend/js/features/source-editor/hooks/use-included-file.ts +++ b/services/web/frontend/js/features/source-editor/hooks/use-included-file.ts @@ -1,4 +1,4 @@ -import { useCodeMirrorStateContext } from '@/features/source-editor/components/codemirror-editor' +import { useCodeMirrorStateContext } from '@/features/source-editor/components/codemirror-context' import { useFileTreePathContext } from '@/features/file-tree/contexts/file-tree-path' import { useEditorManagerContext } from '@/features/ide-react/context/editor-manager-context' import { useCallback } from 'react'