mirror of
				https://github.com/TriliumNext/Notes.git
				synced 2025-11-04 15:11:31 +08:00 
			
		
		
		
	refactoring of note saving code & API
This commit is contained in:
		
							parent
							
								
									6128bb4ff3
								
							
						
					
					
						commit
						d2e2caed62
					
				@ -44,6 +44,14 @@ class NoteShort {
 | 
				
			|||||||
    get toString() {
 | 
					    get toString() {
 | 
				
			||||||
        return `Note(noteId=${this.noteId}, title=${this.title})`;
 | 
					        return `Note(noteId=${this.noteId}, title=${this.title})`;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    get dto() {
 | 
				
			||||||
 | 
					        const dto = Object.assign({}, this);
 | 
				
			||||||
 | 
					        delete dto.treeCache;
 | 
				
			||||||
 | 
					        delete dto.hideInAutocomplete;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        return dto;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default NoteShort;
 | 
					export default NoteShort;
 | 
				
			||||||
@ -84,39 +84,31 @@ async function switchToNote(noteId) {
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					async function saveNote() {
 | 
				
			||||||
 | 
					    const note = getCurrentNote();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    note.title = $noteTitle.val();
 | 
				
			||||||
 | 
					    note.content = getComponent(note.type).getContent();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    treeService.setNoteTitle(note.noteId, note.title);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    await server.put('notes/' + note.noteId, note.dto);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    isNoteChanged = false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if (note.isProtected) {
 | 
				
			||||||
 | 
					        protectedSessionHolder.touchProtectedSession();
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    infoService.showMessage("Saved!");
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
async function saveNoteIfChanged() {
 | 
					async function saveNoteIfChanged() {
 | 
				
			||||||
    if (!isNoteChanged) {
 | 
					    if (!isNoteChanged) {
 | 
				
			||||||
        return;
 | 
					        return;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    const note = getCurrentNote();
 | 
					    await saveNote();
 | 
				
			||||||
 | 
					 | 
				
			||||||
    updateNoteFromInputs(note);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    await saveNoteToServer(note);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    if (note.isProtected) {
 | 
					 | 
				
			||||||
        protectedSessionHolder.touchProtectedSession();
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function updateNoteFromInputs(note) {
 | 
					 | 
				
			||||||
    note.title = $noteTitle.val();
 | 
					 | 
				
			||||||
    note.content = getComponent(note.type).getContent();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    treeService.setNoteTitle(note.noteId, note.title);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
async function saveNoteToServer(note) {
 | 
					 | 
				
			||||||
    const dto = Object.assign({}, note);
 | 
					 | 
				
			||||||
    delete dto.treeCache;
 | 
					 | 
				
			||||||
    delete dto.hideInAutocomplete;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    await server.put('notes/' + dto.noteId, dto);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    isNoteChanged = false;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    infoService.showMessage("Saved!");
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function setNoteBackgroundIfProtected(note) {
 | 
					function setNoteBackgroundIfProtected(note) {
 | 
				
			||||||
@ -245,8 +237,6 @@ setInterval(saveNoteIfChanged, 5000);
 | 
				
			|||||||
export default {
 | 
					export default {
 | 
				
			||||||
    reload,
 | 
					    reload,
 | 
				
			||||||
    switchToNote,
 | 
					    switchToNote,
 | 
				
			||||||
    updateNoteFromInputs,
 | 
					 | 
				
			||||||
    saveNoteToServer,
 | 
					 | 
				
			||||||
    setNoteBackgroundIfProtected,
 | 
					    setNoteBackgroundIfProtected,
 | 
				
			||||||
    loadNote,
 | 
					    loadNote,
 | 
				
			||||||
    getCurrentNote,
 | 
					    getCurrentNote,
 | 
				
			||||||
@ -255,6 +245,7 @@ export default {
 | 
				
			|||||||
    newNoteCreated,
 | 
					    newNoteCreated,
 | 
				
			||||||
    focus,
 | 
					    focus,
 | 
				
			||||||
    loadLabelList,
 | 
					    loadLabelList,
 | 
				
			||||||
 | 
					    saveNote,
 | 
				
			||||||
    saveNoteIfChanged,
 | 
					    saveNoteIfChanged,
 | 
				
			||||||
    noteChanged
 | 
					    noteChanged
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
@ -91,12 +91,9 @@ async function protectNoteAndSendToServer() {
 | 
				
			|||||||
    await ensureProtectedSession(true, true);
 | 
					    await ensureProtectedSession(true, true);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    const note = noteDetail.getCurrentNote();
 | 
					    const note = noteDetail.getCurrentNote();
 | 
				
			||||||
 | 
					 | 
				
			||||||
    noteDetail.updateNoteFromInputs(note);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    note.isProtected = true;
 | 
					    note.isProtected = true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    await noteDetail.saveNoteToServer(note);
 | 
					    await noteDetail.saveNote(note);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    treeService.setProtected(note.noteId, note.isProtected);
 | 
					    treeService.setProtected(note.noteId, note.isProtected);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -107,12 +104,9 @@ async function unprotectNoteAndSendToServer() {
 | 
				
			|||||||
    await ensureProtectedSession(true, true);
 | 
					    await ensureProtectedSession(true, true);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    const note = noteDetail.getCurrentNote();
 | 
					    const note = noteDetail.getCurrentNote();
 | 
				
			||||||
 | 
					 | 
				
			||||||
    noteDetail.updateNoteFromInputs(note);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    note.isProtected = false;
 | 
					    note.isProtected = false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    await noteDetail.saveNoteToServer(note);
 | 
					    await noteDetail.saveNote(note);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    treeService.setProtected(note.noteId, note.isProtected);
 | 
					    treeService.setProtected(note.noteId, note.isProtected);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user