Parcourir la source

Undownload docs when they are disabled

Thibaut il y a 11 ans
Parent
commit
da3ca7d8c7

+ 9 - 0
assets/javascripts/collections/docs.coffee

@@ -35,6 +35,15 @@ class app.collections.Docs extends app.Collection
     doc.clearCache() for doc in @models
     return
 
+  undownload: (callback) ->
+    i = 0
+    next = =>
+      if i < @models.length
+        @models[i++].undownload(next, next)
+      else
+        callback()
+    next()
+
   getDownloadStatuses: (callback) ->
     app.db.versions @models, (statuses) ->
       if statuses

+ 4 - 2
assets/javascripts/views/sidebar/doc_picker.coffee

@@ -46,9 +46,11 @@ class app.views.DocPicker extends app.View
   save: ->
     unless @saving
       @saving = true
-      app.settings.setDocs @getSelectedDocs()
+      docs = @getSelectedDocs()
+      app.settings.setDocs(docs)
       @saveLink.textContent = if app.appCache then 'Downloading\u2026' else 'Saving\u2026'
-      app.reload()
+      disabledDocs = new app.collections.Docs(doc for doc in app.docs.all() when docs.indexOf(doc.slug) is -1)
+      disabledDocs.undownload -> app.reload()
     return
 
   getSelectedDocs: ->