mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-08-09 21:25:45 +08:00
feat(editor): reference, mention and latex inline extension (#11914)
Closes: BS-3215 Closes: BS-3218 Closes: BS-3217
This commit is contained in:
@@ -1,42 +1,56 @@
|
||||
import {
|
||||
type ViewExtensionContext,
|
||||
ViewExtensionProvider,
|
||||
} from '@blocksuite/affine-ext-loader';
|
||||
import { AttachmentViewExtension } from '@blocksuite/affine-block-attachment/view';
|
||||
import { BookmarkViewExtension } from '@blocksuite/affine-block-bookmark/view';
|
||||
import { CalloutViewExtension } from '@blocksuite/affine-block-callout/view';
|
||||
import { CodeBlockViewExtension } from '@blocksuite/affine-block-code/view';
|
||||
import { DataViewViewExtension } from '@blocksuite/affine-block-data-view/view';
|
||||
import { DatabaseViewExtension } from '@blocksuite/affine-block-database/view';
|
||||
import { DividerViewExtension } from '@blocksuite/affine-block-divider/view';
|
||||
import { EdgelessTextViewExtension } from '@blocksuite/affine-block-edgeless-text/view';
|
||||
import { EmbedViewExtension } from '@blocksuite/affine-block-embed/view';
|
||||
import { FrameViewExtension } from '@blocksuite/affine-block-frame/view';
|
||||
import { ImageViewExtension } from '@blocksuite/affine-block-image/view';
|
||||
import { LatexViewExtension } from '@blocksuite/affine-block-latex/view';
|
||||
import { ListViewExtension } from '@blocksuite/affine-block-list/view';
|
||||
import { NoteViewExtension } from '@blocksuite/affine-block-note/view';
|
||||
import { ParagraphViewExtension } from '@blocksuite/affine-block-paragraph/view';
|
||||
import { SurfaceRefViewExtension } from '@blocksuite/affine-block-surface-ref/view';
|
||||
import { TableViewExtension } from '@blocksuite/affine-block-table/view';
|
||||
import { FootnoteViewExtension } from '@blocksuite/affine-inline-footnote/view';
|
||||
import { LatexViewExtension as InlineLatexViewExtension } from '@blocksuite/affine-inline-latex/view';
|
||||
import { LinkViewExtension } from '@blocksuite/affine-inline-link/view';
|
||||
import { MentionViewExtension } from '@blocksuite/affine-inline-mention/view';
|
||||
import { ReferenceViewExtension } from '@blocksuite/affine-inline-reference/view';
|
||||
|
||||
import { effects } from './effects';
|
||||
import {
|
||||
MigratingEdgelessEditorBlockSpecs,
|
||||
MigratingPageEditorBlockSpecs,
|
||||
MigratingPreviewEdgelessEditorBlockSpecs,
|
||||
MigratingPreviewPageEditorBlockSpecs,
|
||||
} from './migrating';
|
||||
import { MigratingViewExtension } from './migrating-view';
|
||||
|
||||
export class MigratingViewExtension extends ViewExtensionProvider {
|
||||
override name = 'migrating';
|
||||
export function getInternalViewExtensions() {
|
||||
return [
|
||||
MigratingViewExtension,
|
||||
|
||||
override effect() {
|
||||
super.effect();
|
||||
effects();
|
||||
}
|
||||
// Block
|
||||
AttachmentViewExtension,
|
||||
BookmarkViewExtension,
|
||||
CalloutViewExtension,
|
||||
CodeBlockViewExtension,
|
||||
DataViewViewExtension,
|
||||
DatabaseViewExtension,
|
||||
DividerViewExtension,
|
||||
EdgelessTextViewExtension,
|
||||
EmbedViewExtension,
|
||||
FrameViewExtension,
|
||||
ImageViewExtension,
|
||||
LatexViewExtension,
|
||||
ListViewExtension,
|
||||
NoteViewExtension,
|
||||
ParagraphViewExtension,
|
||||
SurfaceRefViewExtension,
|
||||
TableViewExtension,
|
||||
|
||||
override setup(context: ViewExtensionContext) {
|
||||
super.setup(context);
|
||||
const scope = context.scope;
|
||||
if (scope === 'preview-page') {
|
||||
context.register(MigratingPreviewPageEditorBlockSpecs);
|
||||
return;
|
||||
}
|
||||
if (scope === 'preview-edgeless') {
|
||||
context.register(MigratingPreviewEdgelessEditorBlockSpecs);
|
||||
return;
|
||||
}
|
||||
if (scope === 'page' || scope === 'mobile-page') {
|
||||
context.register(MigratingPageEditorBlockSpecs);
|
||||
return;
|
||||
}
|
||||
if (scope === 'edgeless' || scope === 'mobile-edgeless') {
|
||||
context.register(MigratingEdgelessEditorBlockSpecs);
|
||||
return;
|
||||
}
|
||||
}
|
||||
// Inline
|
||||
FootnoteViewExtension,
|
||||
LinkViewExtension,
|
||||
ReferenceViewExtension,
|
||||
InlineLatexViewExtension,
|
||||
MentionViewExtension,
|
||||
];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user