mirror of
				https://github.com/zadam/trilium.git
				synced 2025-11-04 05:28:59 +01:00 
			
		
		
		
	added force note sync functionality to context menu
This commit is contained in:
		
							parent
							
								
									a8e45019e4
								
							
						
					
					
						commit
						fdcc833f6d
					
				@ -71,7 +71,8 @@ const contextMenu = (function() {
 | 
			
		||||
            {title: "Paste into <kbd>Ctrl+V</kbd>", cmd: "pasteInto", uiIcon: "ui-icon-clipboard"},
 | 
			
		||||
            {title: "Paste after", cmd: "pasteAfter", uiIcon: "ui-icon-clipboard"},
 | 
			
		||||
            {title: "----"},
 | 
			
		||||
            {title: "Collapse sub-tree <kbd>Alt+-</kbd>", cmd: "collapse-sub-tree", uiIcon: "ui-icon-minus"}
 | 
			
		||||
            {title: "Collapse sub-tree <kbd>Alt+-</kbd>", cmd: "collapse-sub-tree", uiIcon: "ui-icon-minus"},
 | 
			
		||||
            {title: "Force note sync", cmd: "force-note-sync", uiIcon: "ui-icon-refresh"}
 | 
			
		||||
        ],
 | 
			
		||||
        beforeOpen: (event, ui) => {
 | 
			
		||||
            const node = $.ui.fancytree.getNode(ui.target);
 | 
			
		||||
@ -125,6 +126,9 @@ const contextMenu = (function() {
 | 
			
		||||
            else if (ui.cmd === "collapse-sub-tree") {
 | 
			
		||||
                noteTree.collapseTree(node);
 | 
			
		||||
            }
 | 
			
		||||
            else if (ui.cmd === "force-note-sync") {
 | 
			
		||||
                forceNoteSync(node.data.note_id);
 | 
			
		||||
            }
 | 
			
		||||
            else {
 | 
			
		||||
                messaging.logError("Unknown command: " + ui.cmd);
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
@ -13,4 +13,10 @@ async function syncNow() {
 | 
			
		||||
 | 
			
		||||
        showError("Sync failed: " + result.message);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
async function forceNoteSync(noteId) {
 | 
			
		||||
    const result = await server.post('sync/force-note-sync/' + noteId);
 | 
			
		||||
 | 
			
		||||
    showMessage("Note added to sync queue.");
 | 
			
		||||
}
 | 
			
		||||
@ -46,6 +46,30 @@ router.post('/force-full-sync', auth.checkApiAuth, async (req, res, next) => {
 | 
			
		||||
    res.send({});
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
router.post('/force-note-sync/:noteId', auth.checkApiAuth, async (req, res, next) => {
 | 
			
		||||
    const noteId = req.params.noteId;
 | 
			
		||||
 | 
			
		||||
    await sql.doInTransaction(async () => {
 | 
			
		||||
        await sync_table.addNoteSync(noteId);
 | 
			
		||||
 | 
			
		||||
        for (const noteTreeId of await sql.getFirstColumn("SELECT note_tree_id FROM notes_tree WHERE is_deleted = 0 AND note_id = ?", [noteId])) {
 | 
			
		||||
            await sync_table.addNoteTreeSync(noteTreeId);
 | 
			
		||||
            await sync_table.addRecentNoteSync(noteTreeId);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        for (const noteHistoryId of await sql.getFirstColumn("SELECT note_history_id FROM notes_history WHERE note_id = ?", [noteId])) {
 | 
			
		||||
            await sync_table.addNoteTreeSync(noteHistoryId);
 | 
			
		||||
        }
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
    log.info("Forcing note sync for " + noteId);
 | 
			
		||||
 | 
			
		||||
    // not awaiting for the job to finish (will probably take a long time)
 | 
			
		||||
    sync.sync();
 | 
			
		||||
 | 
			
		||||
    res.send({});
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
router.get('/changed', auth.checkApiAuth, async (req, res, next) => {
 | 
			
		||||
    const lastSyncId = parseInt(req.query.lastSyncId);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -24,8 +24,8 @@ async function addOptionsSync(optName, sourceId) {
 | 
			
		||||
    await addEntitySync("options", optName, sourceId);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
async function addRecentNoteSync(notePath, sourceId) {
 | 
			
		||||
    await addEntitySync("recent_notes", notePath, sourceId);
 | 
			
		||||
async function addRecentNoteSync(noteTreeId, sourceId) {
 | 
			
		||||
    await addEntitySync("recent_notes", noteTreeId, sourceId);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
async function addEntitySync(entityName, entityId, sourceId) {
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user