mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-07-29 16:19:43 +08:00
92ac8e3cad
Closes: BS-3195
44 lines
1.7 KiB
TypeScript
44 lines
1.7 KiB
TypeScript
import { EmbedLoomBlockSchema } 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 { createBuiltinToolbarConfigExtension } from '../configs/toolbar';
|
|
import { EmbedLoomBlockAdapterExtensions } from './adapters/extension';
|
|
import { embedLoomSlashMenuConfig } from './configs/slash-menu';
|
|
import { EmbedLoomBlockComponent } from './embed-loom-block';
|
|
import {
|
|
EmbedLoomBlockOptionConfig,
|
|
EmbedLoomBlockService,
|
|
} from './embed-loom-service';
|
|
|
|
const flavour = EmbedLoomBlockSchema.model.flavour;
|
|
|
|
export const EmbedLoomBlockSpec: ExtensionType[] = [
|
|
FlavourExtension(flavour),
|
|
EmbedLoomBlockService,
|
|
BlockViewExtension(flavour, model => {
|
|
return model.parent?.flavour === 'affine:surface'
|
|
? literal`affine-embed-edgeless-loom-block`
|
|
: literal`affine-embed-loom-block`;
|
|
}),
|
|
EmbedLoomBlockAdapterExtensions,
|
|
EmbedLoomBlockOptionConfig,
|
|
createBuiltinToolbarConfigExtension(flavour, EmbedLoomBlockComponent),
|
|
SlashMenuConfigExtension(flavour, embedLoomSlashMenuConfig),
|
|
].flat();
|
|
|
|
export const EmbedLoomViewExtensions: ExtensionType[] = [
|
|
FlavourExtension(flavour),
|
|
EmbedLoomBlockService,
|
|
BlockViewExtension(flavour, model => {
|
|
return model.parent?.flavour === 'affine:surface'
|
|
? literal`affine-embed-edgeless-loom-block`
|
|
: literal`affine-embed-loom-block`;
|
|
}),
|
|
EmbedLoomBlockOptionConfig,
|
|
createBuiltinToolbarConfigExtension(flavour, EmbedLoomBlockComponent),
|
|
SlashMenuConfigExtension(flavour, embedLoomSlashMenuConfig),
|
|
].flat();
|