feat(editor): add widget in viewUpdated slot (#10452)

This commit is contained in:
Saul-Mirone
2025-02-26 13:24:32 +00:00
parent 589622043c
commit 1c5e360d7e
4 changed files with 33 additions and 9 deletions

View File

@@ -423,8 +423,9 @@ export class SurfaceRefBlockComponent extends BlockComponent<SurfaceRefBlockMode
override mounted() {
const disposable = this.std.view.viewUpdated.on(payload => {
if (payload.type !== 'block') return;
if (
payload.type === 'add' &&
payload.method === 'add' &&
matchModels(payload.view.model, [RootBlockModel])
) {
disposable.dispose();

View File

@@ -145,6 +145,8 @@ export class PreviewHelper {
}
this.std.view.viewUpdated.on(payload => {
if (payload.type !== 'block') return;
if (payload.view.model.flavour === 'affine:page') {
const gfx = this.std.get(GfxControllerIdentifier);

View File

@@ -1625,10 +1625,13 @@ export class DragEventWatcher {
disposables.add(
std.view.viewUpdated.on(payload => {
if (payload.type === 'add') {
if (payload.type !== 'block') {
return;
}
if (payload.method === 'add') {
this._makeDropTarget(payload.view);
} else if (
payload.type === 'delete' &&
payload.method === 'delete' &&
this.dropTargetCleanUps.has(payload.id)
) {
this.dropTargetCleanUps.get(payload.id)!.forEach(clean => clean());