mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-11-14 14:13:43 +01:00
Merge pull request #36494 from overleaf/em-remove-visual-options
Remove the Options object from the visual editor extensions GitOrigin-RevId: f06e60b88ef77d3a670d7d956d1a86c116d71873
This commit is contained in:
+1011
-1047
File diff suppressed because it is too large
Load Diff
+2
-3
@@ -3,8 +3,8 @@ import { placeSelectionInsideBlock } from '../selection'
|
||||
import { isEqual } from 'lodash'
|
||||
import { FigureData } from '../../figure-modal'
|
||||
import { debugConsole } from '@/utils/debugging'
|
||||
import { PreviewPath } from '../../../../../../../types/preview-path'
|
||||
import type { PDFDocumentProxy } from 'pdfjs-dist/types/src/display/api'
|
||||
import { previewByPathFacet } from '../../file-preview'
|
||||
import { PdfDestroyLock } from '../utils/pdf-destroy-lock'
|
||||
|
||||
// Module level to synchronize across all GraphicsWidgets
|
||||
@@ -25,7 +25,6 @@ export class GraphicsWidget extends WidgetType {
|
||||
|
||||
constructor(
|
||||
public filePath: string,
|
||||
public previewByPath: (path: string) => PreviewPath | null,
|
||||
public centered: boolean,
|
||||
public figureData: FigureData | null
|
||||
) {
|
||||
@@ -107,7 +106,7 @@ export class GraphicsWidget extends WidgetType {
|
||||
renderGraphic(element: HTMLElement, view: EditorView) {
|
||||
element.textContent = '' // ensure the element is empty
|
||||
|
||||
const preview = this.previewByPath(this.filePath)
|
||||
const preview = view.state.facet(previewByPathFacet)(this.filePath)
|
||||
element.dataset.filepath = this.filePath
|
||||
element.dataset.width = this.figureData?.width?.toString()
|
||||
|
||||
|
||||
@@ -21,14 +21,8 @@ import { pasteHtml } from './paste-html'
|
||||
import { commandTooltip } from '../command-tooltip'
|
||||
import { tableGeneratorTheme } from './table-generator'
|
||||
import { debugConsole } from '@/utils/debugging'
|
||||
import { PreviewPath } from '../../../../../../types/preview-path'
|
||||
import { getFileExtension } from '../../utils/file'
|
||||
|
||||
type Options = {
|
||||
visual: boolean
|
||||
previewByPath: (path: string) => PreviewPath | null
|
||||
}
|
||||
|
||||
// Module-provided visual editors registered via the
|
||||
// `sourceEditorVisualExtensions` hook. Module exposes `getExtensions(ext)`,
|
||||
// returning the visual-mode extensions for that file extension. A module match takes precedence
|
||||
@@ -55,17 +49,16 @@ const visualState = StateField.define<boolean>({
|
||||
},
|
||||
})
|
||||
|
||||
const configureVisualExtensions = (options: Options) =>
|
||||
options.visual ? sharedVisualExtensions() : []
|
||||
const configureVisualExtensions = (showVisual: boolean) =>
|
||||
showVisual ? sharedVisualExtensions() : []
|
||||
|
||||
export const visual = (docName: string, options: Options): Extension => {
|
||||
const extensions =
|
||||
visualModuleExtensions(docName) ?? latexVisualExtensions(options)
|
||||
export const visual = (docName: string, showVisual: boolean): Extension => {
|
||||
const extensions = visualModuleExtensions(docName) ?? latexVisualExtensions()
|
||||
|
||||
return [
|
||||
visualState.init(() => options.visual),
|
||||
visualConf.of(configureVisualExtensions(options)),
|
||||
visualOnly(options.visual, extensions),
|
||||
visualState.init(() => showVisual),
|
||||
visualConf.of(configureVisualExtensions(showVisual)),
|
||||
visualOnly(showVisual, extensions),
|
||||
]
|
||||
}
|
||||
|
||||
@@ -73,11 +66,11 @@ export const isVisual = (view: EditorView) => {
|
||||
return view.state.field(visualState, false) || false
|
||||
}
|
||||
|
||||
export const setVisual = (options: Options): TransactionSpec => {
|
||||
export const setVisual = (showVisual: boolean): TransactionSpec => {
|
||||
return {
|
||||
effects: [
|
||||
toggleVisualEffect.of(options.visual),
|
||||
visualConf.reconfigure(configureVisualExtensions(options)),
|
||||
toggleVisualEffect.of(showVisual),
|
||||
visualConf.reconfigure(configureVisualExtensions(showVisual)),
|
||||
],
|
||||
}
|
||||
}
|
||||
@@ -202,9 +195,9 @@ const sharedVisualExtensions = () => [
|
||||
EditorView.contentAttributes.of({ 'aria-label': 'Visual Editor editing' }),
|
||||
]
|
||||
|
||||
const latexVisualExtensions = (options: Options): Extension => [
|
||||
const latexVisualExtensions = (): Extension => [
|
||||
listItemMarker,
|
||||
atomicDecorations(options),
|
||||
atomicDecorations,
|
||||
markDecorations, // NOTE: must be after atomicDecorations, so that mark decorations wrap inline widgets
|
||||
visualKeymap,
|
||||
commandTooltip,
|
||||
|
||||
Reference in New Issue
Block a user