Commit e28fb834 authored by Phil Hughes's avatar Phil Hughes Committed by Douwe Maan

Fixed loading icon not working on resovle all buttons

parent e7626eb0
......@@ -4,16 +4,17 @@
namespace: String
data: ->
comments: CommentsStore.state
loadingObject: CommentsStore.loading
computed:
allResolved: ->
isResolved = true
for noteId, resolved of this.comments[this.discussionId]
unless noteId is "loading"
isResolved = false unless resolved
isResolved
buttonText: ->
if this.allResolved then "Un-resolve all" else "Resolve all"
loading: -> this.comments[this.discussionId].loading
loading: ->
this.loadingObject[this.discussionId]
methods:
resolve: ->
ResolveService
......
......@@ -32,7 +32,7 @@ class ResolveService
for noteId, resolved of CommentsStore.state[discussionId]
ids.push(noteId) if resolved is allResolve
CommentsStore.state[discussionId].loading = true
CommentsStore.loading[discussionId] = true
@resource
.all({}, { ids: ids, discussion: discussionId, resolved: !allResolve })
.then (response) ->
......@@ -40,6 +40,6 @@ class ResolveService
for noteId in ids
CommentsStore.update(discussionId, noteId, !allResolve)
CommentsStore.state[discussionId].loading = false
CommentsStore.loading[discussionId] = false
@ResolveService = new ResolveService()
@CommentsStore =
state: {}
loading: {}
get: (discussionId, noteId) ->
this.state[discussionId][noteId]
create: (discussionId, noteId, resolved) ->
unless this.state[discussionId]?
Vue.set(this.state, discussionId, { loading: false })
Vue.set(this.state, discussionId, {})
Vue.set(this.loading, discussionId, false)
Vue.set(this.state[discussionId], noteId, resolved)
update: (discussionId, noteId, resolved) ->
......@@ -14,3 +16,4 @@
if Object.keys(this.state[discussionId]).length is 0
Vue.delete(this.state, discussionId)
Vue.delete(this.loading, discussionId)
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment