Files
AFFiNE-Mirror/blocksuite/affine/gfx/shape/src/element-view.ts
T
Saul-Mirone bc0530a708 feat(editor) shape gfx extension (#11928)
Closes: BS-3211
2025-04-23 15:46:23 +00:00

29 lines
753 B
TypeScript

import { ShapeElementModel } from '@blocksuite/affine-model';
import { GfxElementModelView } from '@blocksuite/std/gfx';
import { mountShapeTextEditor } from './text/edgeless-shape-text-editor';
export class ShapeElementView extends GfxElementModelView<ShapeElementModel> {
static override type: string = 'shape';
override onCreated(): void {
super.onCreated();
this._initDblClickToEdit();
}
private _initDblClickToEdit(): void {
this.on('dblclick', () => {
const edgeless = this.std.view.getBlock(this.std.store.root!.id);
if (
edgeless &&
!this.model.isLocked() &&
this.model instanceof ShapeElementModel
) {
mountShapeTextEditor(this.model, edgeless);
}
});
}
}