import utils from './utils.js'; import server from './server.js'; import toastService from "./toast.js"; import treeCache from "./tree_cache.js"; import hoistedNoteService from "./hoisted_note.js"; import ws from "./ws.js"; async function moveBeforeBranch(branchIdsToMove, beforeBranchId) { branchIdsToMove = filterRootNote(branchIdsToMove); if (beforeBranchId === 'root') { alert('Cannot move notes before root note.'); return; } for (const branchIdToMove of branchIdsToMove) { const resp = await server.put(`branches/${branchIdToMove}/move-before/${beforeBranchId}`); if (!resp.success) { alert(resp.message); return; } } } async function moveAfterBranch(branchIdsToMove, afterBranchId) { branchIdsToMove = filterRootNote(branchIdsToMove); const afterNote = await treeCache.getBranch(afterBranchId).getNote(); if (afterNote.noteId === 'root' || afterNote.noteId === hoistedNoteService.getHoistedNoteId()) { alert('Cannot move notes after root note.'); return; } branchIdsToMove.reverse(); // need to reverse to keep the note order for (const branchIdToMove of branchIdsToMove) { const resp = await server.put(`branches/${branchIdToMove}/move-after/${afterBranchId}`); if (!resp.success) { alert(resp.message); return; } } } async function moveToParentNote(branchIdsToMove, newParentNoteId) { branchIdsToMove = filterRootNote(branchIdsToMove); for (const branchIdToMove of branchIdsToMove) { const branchToMove = treeCache.getBranch(branchIdToMove); if (branchToMove.noteId === hoistedNoteService.getHoistedNoteId() || (await branchToMove.getParentNote()).type === 'search') { continue; } const resp = await server.put(`branches/${branchIdToMove}/move-to/${newParentNoteId}`); if (!resp.success) { alert(resp.message); return; } } } async function deleteNotes(branchIdsToDelete) { branchIdsToDelete = filterRootNote(branchIdsToDelete); if (branchIdsToDelete.length === 0) { return false; } const $deleteClonesCheckbox = $('