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() { 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;

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() { 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
}; };

View File

@ -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);