mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-08-02 18:09:58 +08:00
fix(core): should not reset page preset on rerender (#5034)
Should not reset editor preset when re-render. See https://github.com/toeverything/blocksuite/blob/ce7ac88fc750fb465a6b4227b8f93eafe8e894fc/packages/editor/src/components/editor-container.ts#L197. If these props changes, it will trigger some unexpected side effects.
This commit is contained in:
@@ -21,7 +21,7 @@ import {
|
|||||||
blockSuiteEditorHeaderStyle,
|
blockSuiteEditorHeaderStyle,
|
||||||
blockSuiteEditorStyle,
|
blockSuiteEditorStyle,
|
||||||
} from './index.css';
|
} from './index.css';
|
||||||
import { getPresets } from './preset';
|
import { editorPresets } from './preset';
|
||||||
|
|
||||||
interface BlockElement extends Element {
|
interface BlockElement extends Element {
|
||||||
path: string[];
|
path: string[];
|
||||||
@@ -104,12 +104,10 @@ const BlockSuiteEditorImpl = ({
|
|||||||
|
|
||||||
if (editor.page !== page) {
|
if (editor.page !== page) {
|
||||||
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(() => {
|
useLayoutEffect(() => {
|
||||||
if (editor) {
|
if (editor) {
|
||||||
const disposes: (() => void)[] = [];
|
const disposes: (() => void)[] = [];
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ class CustomAttachmentService extends AttachmentService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function getPresets() {
|
function getPresets() {
|
||||||
const pageModePreset = PagePreset.map(preset => {
|
const pageModePreset = PagePreset.map(preset => {
|
||||||
if (preset.schema.model.flavour === 'affine:attachment') {
|
if (preset.schema.model.flavour === 'affine:attachment') {
|
||||||
return {
|
return {
|
||||||
@@ -42,3 +42,5 @@ export function getPresets() {
|
|||||||
edgelessModePreset,
|
edgelessModePreset,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export const editorPresets = getPresets();
|
||||||
|
|||||||
Reference in New Issue
Block a user