From 5436011f8e8661b98b28691fee484063008cf6f0 Mon Sep 17 00:00:00 2001 From: SiriusXT <1160925501@qq.com> Date: Tue, 2 Sep 2025 20:17:01 +0800 Subject: [PATCH] feat: Make splits resizable --- apps/client/src/services/resizer.ts | 27 +++++++++---------- .../containers/split_note_container.ts | 2 -- 2 files changed, 13 insertions(+), 16 deletions(-) diff --git a/apps/client/src/services/resizer.ts b/apps/client/src/services/resizer.ts index 8d0baffcb..7d504deb6 100644 --- a/apps/client/src/services/resizer.ts +++ b/apps/client/src/services/resizer.ts @@ -119,13 +119,15 @@ function setupNoteSplitResizer(ntxIds: string[]) { function delNoteSplitResizer(ntxIds: string[]) { let targetNtxIds = findKeyByNtxId(ntxIds[0]); - - if (targetNtxIds) { - noteSplitMap.get(targetNtxIds)?.destroy(); - noteSplitMap.delete(targetNtxIds); - targetNtxIds = targetNtxIds.filter(id => !ntxIds.includes(id)); + if (!targetNtxIds) { + return; } - if (targetNtxIds && targetNtxIds.length >= 2) { + + noteSplitMap.get(targetNtxIds)?.destroy(); + noteSplitMap.delete(targetNtxIds); + targetNtxIds = targetNtxIds.filter(id => !ntxIds.includes(id)); + + if (targetNtxIds.length >= 2) { noteSplitMap.set(targetNtxIds, undefined); createSplitInstance(targetNtxIds); } @@ -133,15 +135,12 @@ function delNoteSplitResizer(ntxIds: string[]) { function moveNoteSplitResizer(ntxId: string) { const targetNtxIds = findKeyByNtxId(ntxId); - - if (targetNtxIds) { - noteSplitMap.get(targetNtxIds)?.destroy(); - noteSplitMap.set(targetNtxIds, undefined); - } - - if (targetNtxIds) { - createSplitInstance(targetNtxIds); + if (!targetNtxIds) { + return; } + noteSplitMap.get(targetNtxIds)?.destroy(); + noteSplitMap.set(targetNtxIds, undefined); + createSplitInstance(targetNtxIds); } function createSplitInstance(targetNtxIds: string[]) { diff --git a/apps/client/src/widgets/containers/split_note_container.ts b/apps/client/src/widgets/containers/split_note_container.ts index 6e5d71a01..8298d5989 100644 --- a/apps/client/src/widgets/containers/split_note_container.ts +++ b/apps/client/src/widgets/containers/split_note_container.ts @@ -102,8 +102,6 @@ export default class SplitNoteContainer extends FlexContainer { async closeThisNoteSplitCommand({ ntxId }: CommandListenerData<"closeThisNoteSplit">) { if (ntxId) { await appContext.tabManager.removeNoteContext(ntxId); - - splitService.delNoteSplitResizer([ntxId]); } }