mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-12 04:18:54 +00:00
feat(editor): add viewport element service (#10727)
This commit is contained in:
@@ -7,9 +7,9 @@ import {
|
||||
GfxControllerIdentifier,
|
||||
type GfxPrimitiveElementModel,
|
||||
} from '@blocksuite/affine/block-std/gfx';
|
||||
import type { EdgelessRootPreviewBlockComponent } from '@blocksuite/affine/blocks/root';
|
||||
import { EdgelessCRUDIdentifier } from '@blocksuite/affine/blocks/surface';
|
||||
import { Bound } from '@blocksuite/affine/global/gfx';
|
||||
import { ViewportElementExtension } from '@blocksuite/affine/shared/services';
|
||||
import { SpecProvider } from '@blocksuite/affine/shared/utils';
|
||||
import type { Block, Store } from '@blocksuite/affine/store';
|
||||
import { useFramework } from '@toeverything/infra';
|
||||
@@ -76,7 +76,9 @@ export const EdgelessSnapshot = (props: Props) => {
|
||||
|
||||
const editorHost = new BlockStdScope({
|
||||
store: doc,
|
||||
extensions: SpecProvider._.getSpec('preview:edgeless').value,
|
||||
extensions: SpecProvider._.getSpec('preview:edgeless').extend([
|
||||
ViewportElementExtension('.ref-viewport'),
|
||||
]).value,
|
||||
}).render();
|
||||
docRef.current = doc;
|
||||
editorHostRef.current?.remove();
|
||||
@@ -98,9 +100,7 @@ export const EdgelessSnapshot = (props: Props) => {
|
||||
) {
|
||||
return;
|
||||
}
|
||||
const component = payload.view as EdgelessRootPreviewBlockComponent;
|
||||
doc.readonly = false;
|
||||
component.editorViewportSelector = 'ref-viewport';
|
||||
const frame = getFrameBlock(doc);
|
||||
if (frame && docName !== 'frame') {
|
||||
// docName with value 'frame' shouldn't be deleted, it is a part of frame settings
|
||||
|
||||
Reference in New Issue
Block a user