reloading tree now doesn't force note reload

This commit is contained in:
azivner 2017-11-05 10:06:49 -05:00
parent df7a39776d
commit 8c996a75ef
3 changed files with 25 additions and 6 deletions

View File

@ -36,6 +36,20 @@ const noteEditor = (function() {
isNoteChanged = true; isNoteChanged = true;
} }
async function reload() {
// no saving here
await loadNoteToEditor(getCurrentNoteId());
}
async function switchToNote(noteId) {
if (getCurrentNoteId() !== noteId) {
await saveNoteIfChanged();
await loadNoteToEditor(noteId);
}
}
async function saveNoteIfChanged() { async function saveNoteIfChanged() {
if (!isNoteChanged) { if (!isNoteChanged) {
return; return;
@ -247,6 +261,8 @@ const noteEditor = (function() {
setInterval(saveNoteIfChanged, 5000); setInterval(saveNoteIfChanged, 5000);
return { return {
reload,
switchToNote,
saveNoteIfChanged, saveNoteIfChanged,
updateNoteFromInputs, updateNoteFromInputs,
saveNoteToServer, saveNoteToServer,

View File

@ -107,7 +107,7 @@ const noteTree = (function() {
activate: (event, data) => { activate: (event, data) => {
const node = data.node.data; const node = data.node.data;
noteEditor.saveNoteIfChanged().then(() => noteEditor.loadNoteToEditor(node.note_id)); noteEditor.switchToNote(node.note_id);
}, },
expand: (event, data) => { expand: (event, data) => {
setExpandedToServer(data.node.key, true); setExpandedToServer(data.node.key, true);
@ -119,8 +119,6 @@ const noteTree = (function() {
if (startNoteId) { if (startNoteId) {
data.tree.activateKey(startNoteId); data.tree.activateKey(startNoteId);
} }
$(window).resize();
}, },
hotkeys: { hotkeys: {
keydown: keybindings keydown: keybindings

View File

@ -1,8 +1,7 @@
"use strict"; "use strict";
const status = (function() { const status = (function() {
const treeEl = $("#tree"); const changesToPushCountEl = $("#changesToPushCount");
const $changesToPushCountEl = $("#changesToPushCount");
async function checkStatus() { async function checkStatus() {
const resp = await $.ajax({ const resp = await $.ajax({
@ -33,7 +32,13 @@ const status = (function() {
noteTree.reload(); noteTree.reload();
} }
$changesToPushCountEl.html(resp.changesToPushCount); if (resp.changedCurrentNote) {
message('Reloading note because background change');
noteEditor.reload();
}
changesToPushCountEl.html(resp.changesToPushCount);
} }
setInterval(checkStatus, 5 * 1000); setInterval(checkStatus, 5 * 1000);