refactoring of note saving code & API

This commit is contained in:
azivner 2018-04-08 08:21:49 -04:00
parent 6128bb4ff3
commit d2e2caed62
3 changed files with 31 additions and 38 deletions

View File

@ -44,6 +44,14 @@ class NoteShort {
get toString() {
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;

View File

@ -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() {
if (!isNoteChanged) {
return;
}
const note = getCurrentNote();
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!");
await saveNote();
}
function setNoteBackgroundIfProtected(note) {
@ -245,8 +237,6 @@ setInterval(saveNoteIfChanged, 5000);
export default {
reload,
switchToNote,
updateNoteFromInputs,
saveNoteToServer,
setNoteBackgroundIfProtected,
loadNote,
getCurrentNote,
@ -255,6 +245,7 @@ export default {
newNoteCreated,
focus,
loadLabelList,
saveNote,
saveNoteIfChanged,
noteChanged
};

View File

@ -91,12 +91,9 @@ async function protectNoteAndSendToServer() {
await ensureProtectedSession(true, true);
const note = noteDetail.getCurrentNote();
noteDetail.updateNoteFromInputs(note);
note.isProtected = true;
await noteDetail.saveNoteToServer(note);
await noteDetail.saveNote(note);
treeService.setProtected(note.noteId, note.isProtected);
@ -107,12 +104,9 @@ async function unprotectNoteAndSendToServer() {
await ensureProtectedSession(true, true);
const note = noteDetail.getCurrentNote();
noteDetail.updateNoteFromInputs(note);
note.isProtected = false;
await noteDetail.saveNoteToServer(note);
await noteDetail.saveNote(note);
treeService.setProtected(note.noteId, note.isProtected);