We need to guarantee that the last petition done here is the finally used
When searching by text loadIssues can be called fastly with different parameters and can be resolved in a different order than generatedstable
parent
e289755d6c
commit
5df6386f59
|
@ -134,9 +134,10 @@ class RepositoryService extends taiga.Service
|
|||
return @http.get(url, params, httpOptions).then (data) =>
|
||||
return data.data
|
||||
|
||||
queryPaginated: (name, params) ->
|
||||
queryPaginated: (name, params, options={}) ->
|
||||
url = @urls.resolve(name)
|
||||
return @http.get(url, params).then (data) =>
|
||||
httpOptions = _.merge({headers: {}}, options)
|
||||
return @http.get(url, params, httpOptions).then (data) =>
|
||||
headers = data.headers()
|
||||
result = {}
|
||||
result.models = _.map(data.data, (x) => @model.make_model(name, x))
|
||||
|
|
|
@ -229,7 +229,12 @@ class IssuesController extends mixOf(taiga.Controller, taiga.PageMixin, taiga.Fi
|
|||
@.markSelectedFilters(@scope.filters, urlfilters)
|
||||
@rootscope.$broadcast("filters:loaded", @scope.filters)
|
||||
|
||||
loadIssues: ->
|
||||
# We need to guarantee that the last petition done here is the finally used
|
||||
# When searching by text loadIssues can be called fastly with different parameters and
|
||||
# can be resolved in a different order than generated
|
||||
# We count the requests made and only if the callback is for the last one data is updated
|
||||
loadIssuesRequests: 0
|
||||
loadIssues: =>
|
||||
@scope.urlFilters = @.getUrlFilters()
|
||||
|
||||
# Convert stored filters to http parameters
|
||||
|
@ -255,7 +260,11 @@ class IssuesController extends mixOf(taiga.Controller, taiga.PageMixin, taiga.Fi
|
|||
name = "type"
|
||||
@scope.httpParams[name] = values
|
||||
|
||||
return @rs.issues.list(@scope.projectId, @scope.httpParams).then (data) =>
|
||||
promise = @rs.issues.list(@scope.projectId, @scope.httpParams)
|
||||
@.loadIssuesRequests += 1
|
||||
promise.index = @.loadIssuesRequests
|
||||
promise.then (data) =>
|
||||
if promise.index == @.loadIssuesRequests
|
||||
@scope.issues = data.models
|
||||
@scope.page = data.current
|
||||
@scope.count = data.count
|
||||
|
|
|
@ -35,11 +35,11 @@ resourceProvider = ($repo, $http, $urls, $storage, $q) ->
|
|||
params.project = projectId
|
||||
return $repo.queryOne("issues", issueId, params)
|
||||
|
||||
service.list = (projectId, filters) ->
|
||||
service.list = (projectId, filters, options) ->
|
||||
params = {project: projectId}
|
||||
params = _.extend({}, params, filters or {})
|
||||
service.storeQueryParams(projectId, params)
|
||||
return $repo.queryPaginated("issues", params)
|
||||
return $repo.queryPaginated("issues", params, options)
|
||||
|
||||
service.bulkCreate = (projectId, data) ->
|
||||
url = $urls.resolve("bulk-create-issues")
|
||||
|
|
Loading…
Reference in New Issue