fix(editor): should clear selection when switching doc mode (#11545)

Closes: [BS-3050](https://linear.app/affine-design/issue/BS-3050/切换模式时,清除选区)
This commit is contained in:
fundon
2025-04-10 03:10:50 +00:00
parent e7d4684531
commit bb79781dd8
5 changed files with 36 additions and 2 deletions

View File

@@ -23,6 +23,7 @@ import {
} from '@blocksuite/affine-gfx-text';
import { NoteBlockSchema } from '@blocksuite/affine-model';
import {
AutoClearSelectionService,
DNDAPIExtension,
DocModeService,
EmbedOptionService,
@@ -77,6 +78,7 @@ export const CommonSpecs: ExtensionType[] = [
DNDAPIExtension,
FileDropExtension,
ToolbarRegistryExtension,
AutoClearSelectionService,
...RootBlockAdapterExtensions,
...clipboardConfigs,
...EdgelessElementViews,

View File

@@ -0,0 +1,12 @@
import { LifeCycleWatcher } from '@blocksuite/std';
// Auto Clear selection when switching doc mode.
export class AutoClearSelectionService extends LifeCycleWatcher {
static override readonly key = 'auto-clear-selection-service';
override unmounted() {
if (this.std.store.readonly) return;
this.std.selection.clear();
}
}

View File

@@ -1,3 +1,4 @@
export * from './auto-clear-selection-service';
export * from './block-meta-service';
export * from './doc-display-meta-service';
export * from './doc-mode-service';