mirror of
https://github.com/zadam/trilium.git
synced 2025-03-01 14:22:32 +01:00
delete progress
This commit is contained in:
parent
b890859025
commit
9f4ca279aa
@ -117,14 +117,18 @@ function makeToast(id, message) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
ws.subscribeToMessages(async message => {
|
ws.subscribeToMessages(async message => {
|
||||||
if (message.type === 'task-error' && message.taskType === 'export') {
|
if (message.taskType !== 'export') {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (message.type === 'task-error') {
|
||||||
infoService.closePersistent(message.taskId);
|
infoService.closePersistent(message.taskId);
|
||||||
infoService.showError(message.message);
|
infoService.showError(message.message);
|
||||||
}
|
}
|
||||||
else if (message.type === 'task-progress-count' && message.taskType === 'export') {
|
else if (message.type === 'task-progress-count') {
|
||||||
infoService.showPersistent(makeToast(message.taskId, "Export in progress: " + message.progressCount));
|
infoService.showPersistent(makeToast(message.taskId, "Export in progress: " + message.progressCount));
|
||||||
}
|
}
|
||||||
else if (message.type === 'task-succeeded' && message.taskType === 'export') {
|
else if (message.type === 'task-succeeded') {
|
||||||
const toast = makeToast(message.taskId, "Import finished successfully.");
|
const toast = makeToast(message.taskId, "Import finished successfully.");
|
||||||
toast.closeAfter = 5000;
|
toast.closeAfter = 5000;
|
||||||
|
|
||||||
|
@ -6,6 +6,7 @@ import treeCache from "./tree_cache.js";
|
|||||||
import treeUtils from "./tree_utils.js";
|
import treeUtils from "./tree_utils.js";
|
||||||
import hoistedNoteService from "./hoisted_note.js";
|
import hoistedNoteService from "./hoisted_note.js";
|
||||||
import noteDetailService from "./note_detail.js";
|
import noteDetailService from "./note_detail.js";
|
||||||
|
import ws from "./ws.js";
|
||||||
|
|
||||||
async function moveBeforeNode(nodesToMove, beforeNode) {
|
async function moveBeforeNode(nodesToMove, beforeNode) {
|
||||||
nodesToMove = await filterRootNote(nodesToMove);
|
nodesToMove = await filterRootNote(nodesToMove);
|
||||||
@ -105,14 +106,16 @@ async function deleteNodes(nodes) {
|
|||||||
|
|
||||||
const deleteClones = $deleteClonesCheckbox.find("input").is(":checked");
|
const deleteClones = $deleteClonesCheckbox.find("input").is(":checked");
|
||||||
|
|
||||||
|
const taskId = utils.randomString(10);
|
||||||
|
|
||||||
for (const node of nodes) {
|
for (const node of nodes) {
|
||||||
if (deleteClones) {
|
if (deleteClones) {
|
||||||
await server.remove('notes/' + node.data.noteId);
|
await server.remove('notes/' + node.data.noteId + '?taskId=' + taskId);
|
||||||
|
|
||||||
noteDetailService.noteDeleted(node.data.noteId);
|
noteDetailService.noteDeleted(node.data.noteId);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
const {noteDeleted} = await server.remove('branches/' + node.data.branchId);
|
const {noteDeleted} = await server.remove('branches/' + node.data.branchId + '?taskId=' + taskId);
|
||||||
|
|
||||||
if (noteDeleted) {
|
if (noteDeleted) {
|
||||||
noteDetailService.noteDeleted(node.data.noteId);
|
noteDetailService.noteDeleted(node.data.noteId);
|
||||||
@ -249,6 +252,33 @@ async function filterRootNote(nodes) {
|
|||||||
&& node.data.noteId !== hoistedNoteId);
|
&& node.data.noteId !== hoistedNoteId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function makeToast(id, message) {
|
||||||
|
return {
|
||||||
|
id: id,
|
||||||
|
title: "Delete status",
|
||||||
|
message: message,
|
||||||
|
icon: "trash"
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
ws.subscribeToMessages(async message => {
|
||||||
|
if (message.taskType !== 'delete-notes') {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (message.type === 'task-error') {
|
||||||
|
infoService.closePersistent(message.taskId);
|
||||||
|
infoService.showError(message.message);
|
||||||
|
} else if (message.type === 'task-progress-count') {
|
||||||
|
infoService.showPersistent(makeToast(message.taskId, "Delete notes in progress: " + message.progressCount));
|
||||||
|
} else if (message.type === 'task-succeeded') {
|
||||||
|
const toast = makeToast(message.taskId, "Delete finished successfully.");
|
||||||
|
toast.closeAfter = 5000;
|
||||||
|
|
||||||
|
infoService.showPersistent(toast);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
moveBeforeNode,
|
moveBeforeNode,
|
||||||
moveAfterNode,
|
moveAfterNode,
|
||||||
|
@ -48,14 +48,16 @@ function makeToast(id, message) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
ws.subscribeToMessages(async message => {
|
ws.subscribeToMessages(async message => {
|
||||||
if (message.type === 'task-error' && message.taskType === 'import') {
|
if (message.taskType !== 'import') {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (message.type === 'task-error') {
|
||||||
infoService.closePersistent(message.taskId);
|
infoService.closePersistent(message.taskId);
|
||||||
infoService.showError(message.message);
|
infoService.showError(message.message);
|
||||||
}
|
} else if (message.type === 'task-progress-count') {
|
||||||
else if (message.type === 'task-progress-count' && message.taskType === 'import') {
|
|
||||||
infoService.showPersistent(makeToast(message.taskId, "Import in progress: " + message.progressCount));
|
infoService.showPersistent(makeToast(message.taskId, "Import in progress: " + message.progressCount));
|
||||||
}
|
} else if (message.type === 'task-succeeded') {
|
||||||
else if (message.type === 'task-succeeded' && message.taskType === 'import') {
|
|
||||||
const toast = makeToast(message.taskId, "Import finished successfully.");
|
const toast = makeToast(message.taskId, "Import finished successfully.");
|
||||||
toast.closeAfter = 5000;
|
toast.closeAfter = 5000;
|
||||||
|
|
||||||
|
@ -6,6 +6,7 @@ const sync_table = require('../../services/sync_table');
|
|||||||
const tree = require('../../services/tree');
|
const tree = require('../../services/tree');
|
||||||
const notes = require('../../services/notes');
|
const notes = require('../../services/notes');
|
||||||
const repository = require('../../services/repository');
|
const repository = require('../../services/repository');
|
||||||
|
const TaskContext = require('../../services/task_context');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Code in this file deals with moving and cloning branches. Relationship between note and parent note is unique
|
* Code in this file deals with moving and cloning branches. Relationship between note and parent note is unique
|
||||||
@ -101,9 +102,10 @@ async function setExpanded(req) {
|
|||||||
|
|
||||||
async function deleteBranch(req) {
|
async function deleteBranch(req) {
|
||||||
const branch = await repository.getBranch(req.params.branchId);
|
const branch = await repository.getBranch(req.params.branchId);
|
||||||
|
const taskContext = TaskContext.getInstance(req.query.taskId, 'delete-notes');
|
||||||
|
|
||||||
return {
|
return {
|
||||||
noteDeleted: await notes.deleteBranch(branch)
|
noteDeleted: await notes.deleteBranch(branch, taskContext)
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -43,7 +43,7 @@ async function importToBranch(req) {
|
|||||||
|
|
||||||
let note; // typically root of the import - client can show it after finishing the import
|
let note; // typically root of the import - client can show it after finishing the import
|
||||||
|
|
||||||
const taskContext = TaskContext.getInstance(taskId, options);
|
const taskContext = TaskContext.getInstance(taskId, 'import', options);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
if (extension === '.tar' && options.explodeArchives) {
|
if (extension === '.tar' && options.explodeArchives) {
|
||||||
|
@ -78,7 +78,7 @@ async function deleteNote(req) {
|
|||||||
|
|
||||||
const note = await repository.getNote(noteId);
|
const note = await repository.getNote(noteId);
|
||||||
|
|
||||||
const taskContext = new TaskContext(utils.randomString(10), 'delete-note');
|
const taskContext = TaskContext.getInstance(req.query.taskId, 'delete-notes');
|
||||||
|
|
||||||
for (const branch of await note.getBranches()) {
|
for (const branch of await note.getBranches()) {
|
||||||
await noteService.deleteBranch(branch, taskContext);
|
await noteService.deleteBranch(branch, taskContext);
|
||||||
|
@ -17,9 +17,9 @@ class TaskContext {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/** @return {TaskContext} */
|
/** @return {TaskContext} */
|
||||||
static getInstance(taskId, data) {
|
static getInstance(taskId, taskType, data) {
|
||||||
if (!taskContexts[taskId]) {
|
if (!taskContexts[taskId]) {
|
||||||
taskContexts[taskId] = new TaskContext(taskId, 'import', data);
|
taskContexts[taskId] = new TaskContext(taskId, taskType, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
return taskContexts[taskId];
|
return taskContexts[taskId];
|
||||||
|
Loading…
x
Reference in New Issue
Block a user