refactor(editor): inner toolbar surface-ref block with extension (#11246)

This PR refactor `surface-ref` toolbar with `ToolbarExtension`
This commit is contained in:
L-Sun
2025-03-28 05:48:24 +00:00
parent 69f393fe2f
commit af91a0217f
22 changed files with 551 additions and 542 deletions
@@ -1,30 +1,33 @@
import { SurfaceRefBlockSchema } from '@blocksuite/affine-model';
import { ToolbarModuleExtension } from '@blocksuite/affine-shared/services';
import {
BlockFlavourIdentifier,
BlockViewExtension,
FlavourExtension,
WidgetViewExtension,
} from '@blocksuite/block-std';
import type { ExtensionType } from '@blocksuite/store';
import { literal } from 'lit/static-html.js';
import { SurfaceRefSlashMenuConfigExtension } from './configs/slash-menu';
export const surfaceRefToolbarWidget = WidgetViewExtension(
'affine:surface-ref',
'surfaceToolbar',
literal`affine-surface-ref-toolbar`
);
import { surfaceRefToolbarModuleConfig } from './configs/toolbar';
export const PageSurfaceRefBlockSpec: ExtensionType[] = [
FlavourExtension('affine:surface-ref'),
BlockViewExtension('affine:surface-ref', literal`affine-surface-ref`),
surfaceRefToolbarWidget,
FlavourExtension(SurfaceRefBlockSchema.model.flavour),
BlockViewExtension(
SurfaceRefBlockSchema.model.flavour,
literal`affine-surface-ref`
),
ToolbarModuleExtension({
id: BlockFlavourIdentifier(SurfaceRefBlockSchema.model.flavour),
config: surfaceRefToolbarModuleConfig,
}),
SurfaceRefSlashMenuConfigExtension,
];
export const EdgelessSurfaceRefBlockSpec: ExtensionType[] = [
FlavourExtension('affine:surface-ref'),
FlavourExtension(SurfaceRefBlockSchema.model.flavour),
BlockViewExtension(
'affine:surface-ref',
SurfaceRefBlockSchema.model.flavour,
literal`affine-edgeless-surface-ref`
),
SurfaceRefSlashMenuConfigExtension,