mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-07-22 04:26:23 +08:00
7af5e53838
Closes: [BS-2378](https://linear.app/affine-design/issue/BS-2378/image-toolbar-迁移)
33 lines
1.2 KiB
TypeScript
33 lines
1.2 KiB
TypeScript
import { ImageBlockSchema } from '@blocksuite/affine-model';
|
|
import { SlashMenuConfigExtension } from '@blocksuite/affine-widget-slash-menu';
|
|
import { BlockViewExtension, FlavourExtension } from '@blocksuite/std';
|
|
import type { ExtensionType } from '@blocksuite/store';
|
|
import { literal } from 'lit/static-html.js';
|
|
|
|
import { ImageBlockAdapterExtensions } from './adapters/extension';
|
|
import { imageSlashMenuConfig } from './configs/slash-menu';
|
|
import { createBuiltinToolbarConfigExtension } from './configs/toolbar';
|
|
import { ImageProxyService } from './image-proxy-service';
|
|
import { ImageDropOption } from './image-service';
|
|
|
|
const flavour = ImageBlockSchema.model.flavour;
|
|
|
|
export const ImageBlockSpec: ExtensionType[] = [
|
|
FlavourExtension(flavour),
|
|
BlockViewExtension(flavour, model => {
|
|
const parent = model.doc.getParent(model.id);
|
|
|
|
if (parent?.flavour === 'affine:surface') {
|
|
return literal`affine-edgeless-image`;
|
|
}
|
|
|
|
return literal`affine-image`;
|
|
}),
|
|
ImageDropOption,
|
|
ImageBlockAdapterExtensions,
|
|
createBuiltinToolbarConfigExtension(flavour),
|
|
SlashMenuConfigExtension(flavour, imageSlashMenuConfig),
|
|
].flat();
|
|
|
|
export const ImageStoreSpec: ExtensionType[] = [ImageProxyService];
|