Reload taskboard and issues list only if last action is related to selected filters
parent
28bdedf0b5
commit
02e6fa1f6b
|
@ -127,6 +127,16 @@ class IssuesController extends mixOf(taiga.Controller, taiga.PageMixin, taiga.Fi
|
||||||
delete userFilters[customFilter.id]
|
delete userFilters[customFilter.id]
|
||||||
@filterRemoteStorageService.storeFilters(@scope.projectId, userFilters, @.myFiltersHashSuffix).then(@.generateFilters)
|
@filterRemoteStorageService.storeFilters(@scope.projectId, userFilters, @.myFiltersHashSuffix).then(@.generateFilters)
|
||||||
|
|
||||||
|
isFilterDataTypeSelected: (filterDataType) ->
|
||||||
|
if (@.selectedFilters.length == 0)
|
||||||
|
return false
|
||||||
|
|
||||||
|
for filter in @.selectedFilters
|
||||||
|
if (filter['dataType'] == filterDataType)
|
||||||
|
return true
|
||||||
|
|
||||||
|
return false
|
||||||
|
|
||||||
saveCustomFilter: (name) ->
|
saveCustomFilter: (name) ->
|
||||||
filters = {}
|
filters = {}
|
||||||
urlfilters = @location.search()
|
urlfilters = @location.search()
|
||||||
|
@ -588,8 +598,9 @@ IssueStatusInlineEditionDirective = ($repo, $template, $rootscope) ->
|
||||||
|
|
||||||
$scope.$apply () ->
|
$scope.$apply () ->
|
||||||
$repo.save(issue).then ->
|
$repo.save(issue).then ->
|
||||||
$ctrl.loadIssues()
|
|
||||||
$ctrl.generateFilters()
|
$ctrl.generateFilters()
|
||||||
|
if $ctrl.isFilterDataTypeSelected('status')
|
||||||
|
$ctrl.loadIssues()
|
||||||
|
|
||||||
taiga.bindOnce $scope, "project", (project) ->
|
taiga.bindOnce $scope, "project", (project) ->
|
||||||
$el.append(selectionTemplate({ 'statuses': project.issue_statuses }))
|
$el.append(selectionTemplate({ 'statuses': project.issue_statuses }))
|
||||||
|
@ -660,8 +671,10 @@ IssueAssignedToInlineEditionDirective = ($repo, $rootscope, $translate, avatarSe
|
||||||
updatedIssue.assigned_to = userId
|
updatedIssue.assigned_to = userId
|
||||||
$repo.save(issue).then ->
|
$repo.save(issue).then ->
|
||||||
updateIssue(updatedIssue)
|
updateIssue(updatedIssue)
|
||||||
$ctrl.loadIssues()
|
|
||||||
$ctrl.generateFilters()
|
$ctrl.generateFilters()
|
||||||
|
if $ctrl.isFilterDataTypeSelected('assigned_to') \
|
||||||
|
|| $ctrl.isFilterDataTypeSelected('role')
|
||||||
|
$ctrl.loadIssues()
|
||||||
|
|
||||||
$scope.$watch $attrs.tgIssueAssignedToInlineEdition, (val) ->
|
$scope.$watch $attrs.tgIssueAssignedToInlineEdition, (val) ->
|
||||||
updateIssue(val)
|
updateIssue(val)
|
||||||
|
|
|
@ -200,7 +200,7 @@ class KanbanController extends mixOf(taiga.Controller, taiga.PageMixin, taiga.Fi
|
||||||
@kanbanUserstoriesService.replaceModel(usModel)
|
@kanbanUserstoriesService.replaceModel(usModel)
|
||||||
|
|
||||||
@repo.save(usModel).then =>
|
@repo.save(usModel).then =>
|
||||||
if @.isFilterDataTypeSelected('assigned_to')
|
if @.isFilterDataTypeSelected('assigned_to') || @.isFilterDataTypeSelected('role')
|
||||||
@.filtersReloadContent()
|
@.filtersReloadContent()
|
||||||
|
|
||||||
refreshTagsColors: ->
|
refreshTagsColors: ->
|
||||||
|
|
|
@ -134,6 +134,16 @@ class TaskboardController extends mixOf(taiga.Controller, taiga.PageMixin, taiga
|
||||||
|
|
||||||
@filterRemoteStorageService.storeFilters(@scope.projectId, userFilters, 'tasks-custom-filters').then(@.generateFilters)
|
@filterRemoteStorageService.storeFilters(@scope.projectId, userFilters, 'tasks-custom-filters').then(@.generateFilters)
|
||||||
|
|
||||||
|
isFilterDataTypeSelected: (filterDataType) ->
|
||||||
|
if (@.selectedFilters.length == 0)
|
||||||
|
return false
|
||||||
|
|
||||||
|
for filter in @.selectedFilters
|
||||||
|
if (filter['dataType'] == filterDataType)
|
||||||
|
return true
|
||||||
|
|
||||||
|
return false
|
||||||
|
|
||||||
saveCustomFilter: (name) ->
|
saveCustomFilter: (name) ->
|
||||||
filters = {}
|
filters = {}
|
||||||
urlfilters = @location.search()
|
urlfilters = @location.search()
|
||||||
|
@ -310,9 +320,9 @@ class TaskboardController extends mixOf(taiga.Controller, taiga.PageMixin, taiga
|
||||||
|
|
||||||
@taskboardTasksService.replaceModel(taskModel)
|
@taskboardTasksService.replaceModel(taskModel)
|
||||||
|
|
||||||
promise = @repo.save(taskModel)
|
@repo.save(taskModel).then =>
|
||||||
promise.then null, ->
|
if @.isFilterDataTypeSelected('assigned_to') || @.isFilterDataTypeSelected('role')
|
||||||
console.log "FAIL" # TODO
|
@.loadTasks()
|
||||||
|
|
||||||
initializeSubscription: ->
|
initializeSubscription: ->
|
||||||
routingKey = "changes.project.#{@scope.projectId}.tasks"
|
routingKey = "changes.project.#{@scope.projectId}.tasks"
|
||||||
|
@ -457,6 +467,9 @@ class TaskboardController extends mixOf(taiga.Controller, taiga.PageMixin, taiga
|
||||||
order = JSON.parse(headers['taiga-info-order-updated'])
|
order = JSON.parse(headers['taiga-info-order-updated'])
|
||||||
@taskboardTasksService.assignOrders(order)
|
@taskboardTasksService.assignOrders(order)
|
||||||
|
|
||||||
|
if @.isFilterDataTypeSelected('status')
|
||||||
|
@.loadTasks()
|
||||||
|
|
||||||
@.loadSprintStats()
|
@.loadSprintStats()
|
||||||
|
|
||||||
## Template actions
|
## Template actions
|
||||||
|
|
Loading…
Reference in New Issue