fix(core): should not reset page preset on rerender (#5034)

Should not reset editor preset when re-render.

See ce7ac88fc7/packages/editor/src/components/editor-container.ts (L197). If these props changes, it will trigger some unexpected side effects.
This commit is contained in:
Peng Xiao 2023-11-22 18:29:34 +00:00
parent e8616acfe4
commit ca07b143ef
No known key found for this signature in database
GPG Key ID: 23F23D9E8B3971ED
2 changed files with 6 additions and 6 deletions

View File

@ -21,7 +21,7 @@ import {
blockSuiteEditorHeaderStyle,
blockSuiteEditorStyle,
} from './index.css';
import { getPresets } from './preset';
import { editorPresets } from './preset';
interface BlockElement extends Element {
path: string[];
@ -104,12 +104,10 @@ const BlockSuiteEditorImpl = ({
if (editor.page !== page) {
editor.page = page;
editor.pagePreset = editorPresets.pageModePreset;
editor.edgelessPreset = editorPresets.edgelessModePreset;
}
const presets = getPresets();
editor.pagePreset = presets.pageModePreset;
editor.edgelessPreset = presets.edgelessModePreset;
useLayoutEffect(() => {
if (editor) {
const disposes: (() => void)[] = [];

View File

@ -17,7 +17,7 @@ class CustomAttachmentService extends AttachmentService {
}
}
export function getPresets() {
function getPresets() {
const pageModePreset = PagePreset.map(preset => {
if (preset.schema.model.flavour === 'affine:attachment') {
return {
@ -42,3 +42,5 @@ export function getPresets() {
edgelessModePreset,
};
}
export const editorPresets = getPresets();