Skip to content

Commit

Permalink
Desktop: Fixes #10067: Fix dragging notebooks to the toplevel notebook (
Browse files Browse the repository at this point in the history
  • Loading branch information
personalizedrefrigerator committed Apr 15, 2024
1 parent 3135870 commit 385fe7b
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 1 deletion.
21 changes: 21 additions & 0 deletions packages/lib/models/utils/onFolderDrop.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -70,4 +70,25 @@ describe('onFolderDrop', () => {
expect(n1.parent_id).toBe(folder2.id);
});

it('should drop a non-deleted folder to the virtual root notebook', async () => {
const folder1 = await Folder.save({});
const folder2 = await Folder.save({ parent_id: folder1.id });

await onFolderDrop([], [folder2.id], '');

const folder2Reloaded = await Folder.load(folder2.id);
expect(folder2Reloaded.parent_id).toBe(folder1.parent_id);
expect(folder2Reloaded.parent_id).toBe('');
});

it('should drop a deleted folder to the virtual root notebook', async () => {
const folder1 = await Folder.save({});
await Folder.delete(folder1.id, { toTrash: true });

await onFolderDrop([], [folder1.id], '');

const folder1Reloaded = await Folder.load(folder1.id);
expect(folder1Reloaded.parent_id).toBe('');
expect(folder1Reloaded.deleted_time).toBe(0);
});
});
13 changes: 12 additions & 1 deletion packages/lib/models/utils/onFolderDrop.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,19 @@ import restoreItems from '../../services/trash/restoreItems';
import Folder from '../Folder';
import Note from '../Note';

const rootFolder = {
id: '',
deleted_time: 0,
type_: ModelType.Folder,
};

export default async (noteIds: string[], folderIds: string[], targetFolderId: string) => {
const targetFolder = await Folder.load(targetFolderId, { fields: ['id', 'deleted_time'] });
let targetFolder: FolderEntity;
if (targetFolderId !== '') {
targetFolder = await Folder.load(targetFolderId, { fields: ['id', 'deleted_time'] });
} else {
targetFolder = rootFolder;
}

if (!targetFolder) throw new Error(`No such folder: ${targetFolderId}`);

Expand Down

0 comments on commit 385fe7b

Please sign in to comment.