From 8de2dd607b00dab525822f95adde3d1472c0cd73 Mon Sep 17 00:00:00 2001 From: Thibaut Date: Sun, 15 Feb 2015 17:52:16 -0500 Subject: [PATCH] Update AppCache in background when toggling light and enabling docs inline --- assets/javascripts/app/app.coffee | 1 + assets/javascripts/app/appcache.coffee | 11 ++++++++--- assets/javascripts/views/layout/document.coffee | 1 + 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/assets/javascripts/app/app.coffee b/assets/javascripts/app/app.coffee index baf4b5ad..00e69356 100644 --- a/assets/javascripts/app/app.coffee +++ b/assets/javascripts/app/app.coffee @@ -102,6 +102,7 @@ @initDoc(doc) @settings.setDocs(doc.slug for doc in @docs.all()) _onSuccess() + @appCache?.updateInBackground() return doc.load onSuccess, onError, writeCache: true diff --git a/assets/javascripts/app/appcache.coffee b/assets/javascripts/app/appcache.coffee index 931e8f2b..25e35e43 100644 --- a/assets/javascripts/app/appcache.coffee +++ b/assets/javascripts/app/appcache.coffee @@ -14,13 +14,18 @@ class app.AppCache $.on @cache, 'updateready', @onUpdateReady update: -> + @notifyUpdate = true + try @cache.update() catch + return + + updateInBackground: -> + @notifyUpdate = false try @cache.update() catch return reload: -> - @reloading = true $.on @cache, 'updateready noupdate error', -> window.location = '/' - @update() + @updateInBackground() return onProgress: (event) => @@ -28,5 +33,5 @@ class app.AppCache return onUpdateReady: => - @trigger 'updateready' unless @reloading + @trigger 'updateready' if @notifyUpdate return diff --git a/assets/javascripts/views/layout/document.coffee b/assets/javascripts/views/layout/document.coffee index f128fbc6..c9c8a928 100644 --- a/assets/javascripts/views/layout/document.coffee +++ b/assets/javascripts/views/layout/document.coffee @@ -23,6 +23,7 @@ class app.views.Document extends app.View css.setAttribute('data-alt', css.getAttribute('href')) css.setAttribute('href', alt) app.settings.setDark(alt.indexOf('dark') > 0) + app.appCache?.updateInBackground() return setTitle: (title) ->