mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-07-15 17:16:16 +08:00
30a2e5b4fb
Closes: BS-2650
46 lines
1.3 KiB
TypeScript
46 lines
1.3 KiB
TypeScript
import {
|
|
type ViewExtensionContext,
|
|
ViewExtensionProvider,
|
|
} from '@blocksuite/affine-ext-loader';
|
|
import { BlockViewExtension, FlavourExtension } from '@blocksuite/std';
|
|
import { literal } from 'lit/static-html.js';
|
|
|
|
import { effects } from './effects';
|
|
import {
|
|
EdgelessCRUDExtension,
|
|
EdgelessLegacySlotExtension,
|
|
EditPropsMiddlewareBuilder,
|
|
} from './extensions';
|
|
import { ExportManagerExtension } from './extensions/export-manager/export-manager';
|
|
import { DefaultTool } from './tool/default-tool';
|
|
|
|
export class SurfaceViewExtension extends ViewExtensionProvider {
|
|
override name = 'affine-surface-block';
|
|
|
|
override effect() {
|
|
super.effect();
|
|
effects();
|
|
}
|
|
|
|
override setup(context: ViewExtensionContext) {
|
|
super.setup(context);
|
|
context.register([
|
|
FlavourExtension('affine:surface'),
|
|
EdgelessCRUDExtension,
|
|
EdgelessLegacySlotExtension,
|
|
ExportManagerExtension,
|
|
]);
|
|
if (this.isEdgeless(context.scope)) {
|
|
context.register(DefaultTool);
|
|
context.register(
|
|
BlockViewExtension('affine:surface', literal`affine-surface`)
|
|
);
|
|
context.register(EditPropsMiddlewareBuilder);
|
|
} else {
|
|
context.register(
|
|
BlockViewExtension('affine:surface', literal`affine-surface-void`)
|
|
);
|
|
}
|
|
}
|
|
}
|