mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-08-06 03:49:56 +08:00
refactor(editor): extract image block (#9309)
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
import { ImageSelectionExtension } from '@blocksuite/affine-shared/selection';
|
||||
import {
|
||||
BlockViewExtension,
|
||||
CommandExtension,
|
||||
type ExtensionType,
|
||||
FlavourExtension,
|
||||
WidgetViewMapExtension,
|
||||
} from '@blocksuite/block-std';
|
||||
import { literal } from 'lit/static-html.js';
|
||||
|
||||
import { ImageBlockAdapterExtensions } from './adapters/extension.js';
|
||||
import { commands } from './commands/index.js';
|
||||
import { ImageBlockService, ImageDropOption } from './image-service.js';
|
||||
|
||||
export const ImageBlockSpec: ExtensionType[] = [
|
||||
FlavourExtension('affine:image'),
|
||||
ImageBlockService,
|
||||
CommandExtension(commands),
|
||||
BlockViewExtension('affine:image', model => {
|
||||
const parent = model.doc.getParent(model.id);
|
||||
|
||||
if (parent?.flavour === 'affine:surface') {
|
||||
return literal`affine-edgeless-image`;
|
||||
}
|
||||
|
||||
return literal`affine-image`;
|
||||
}),
|
||||
WidgetViewMapExtension('affine:image', {
|
||||
imageToolbar: literal`affine-image-toolbar-widget`,
|
||||
}),
|
||||
ImageDropOption,
|
||||
ImageSelectionExtension,
|
||||
ImageBlockAdapterExtensions,
|
||||
].flat();
|
||||
Reference in New Issue
Block a user