mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-07-17 10:06:17 +08:00
38 lines
1.2 KiB
TypeScript
38 lines
1.2 KiB
TypeScript
import {
|
|
type ViewExtensionContext,
|
|
ViewExtensionProvider,
|
|
} from '@blocksuite/affine-ext-loader';
|
|
|
|
import { effects } from './effects';
|
|
import {
|
|
HighlighterElementRendererExtension,
|
|
ShapeElementRendererExtension,
|
|
} from './element-renderer';
|
|
import { ShapeDomRendererExtension } from './element-renderer/shape-dom';
|
|
import { ShapeElementView, ShapeViewInteraction } from './element-view';
|
|
import { ShapeTool } from './shape-tool';
|
|
import { shapeSeniorTool, shapeToolbarExtension } from './toolbar';
|
|
|
|
export class ShapeViewExtension extends ViewExtensionProvider {
|
|
override name = 'affine-shape-gfx';
|
|
|
|
override effect(): void {
|
|
super.effect();
|
|
effects();
|
|
}
|
|
|
|
override setup(context: ViewExtensionContext) {
|
|
super.setup(context);
|
|
if (this.isEdgeless(context.scope)) {
|
|
context.register(HighlighterElementRendererExtension);
|
|
context.register(ShapeElementRendererExtension);
|
|
context.register(ShapeDomRendererExtension);
|
|
context.register(ShapeElementView);
|
|
context.register(ShapeTool);
|
|
context.register(shapeSeniorTool);
|
|
context.register(shapeToolbarExtension);
|
|
context.register(ShapeViewInteraction);
|
|
}
|
|
}
|
|
}
|