From 246dfbdcb40e415e1e0f83beb3be3ebfe79963c8 Mon Sep 17 00:00:00 2001 From: azivner Date: Mon, 24 Dec 2018 23:08:43 +0100 Subject: [PATCH] fix attribute loading for mobile --- src/public/javascripts/services/attributes.js | 17 +++++++++++++++-- src/public/javascripts/services/note_detail.js | 4 ++++ 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/src/public/javascripts/services/attributes.js b/src/public/javascripts/services/attributes.js index 3b184a917..d9232d0f4 100644 --- a/src/public/javascripts/services/attributes.js +++ b/src/public/javascripts/services/attributes.js @@ -13,13 +13,25 @@ const $savedIndicator = $("#saved-indicator"); let attributePromise; -async function refreshAttributes() { +function invalidateAttributes() { + attributePromise = null; +} + +function reloadAttributes() { attributePromise = server.get('notes/' + noteDetailService.getCurrentNoteId() + '/attributes'); +} + +async function refreshAttributes() { + reloadAttributes(); await showAttributes(); } async function getAttributes() { + if (!attributePromise) { + reloadAttributes(); + } + return await attributePromise; } @@ -286,5 +298,6 @@ async function promotedAttributeChanged(event) { export default { getAttributes, showAttributes, - refreshAttributes + refreshAttributes, + invalidateAttributes } \ No newline at end of file diff --git a/src/public/javascripts/services/note_detail.js b/src/public/javascripts/services/note_detail.js index a3c246792..2963c99ed 100644 --- a/src/public/javascripts/services/note_detail.js +++ b/src/public/javascripts/services/note_detail.js @@ -182,6 +182,10 @@ async function loadNoteDetail(noteId) { // needs to happen after loading the note itself because it references current noteId attributeService.refreshAttributes(); } + else { + // mobile usually doesn't need attributes so we just invalidate + attributeService.invalidateAttributes(); + } if (isNewNoteCreated) { isNewNoteCreated = false;