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]
|
||||
@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) ->
|
||||
filters = {}
|
||||
urlfilters = @location.search()
|
||||
|
@ -588,8 +598,9 @@ IssueStatusInlineEditionDirective = ($repo, $template, $rootscope) ->
|
|||
|
||||
$scope.$apply () ->
|
||||
$repo.save(issue).then ->
|
||||
$ctrl.loadIssues()
|
||||
$ctrl.generateFilters()
|
||||
if $ctrl.isFilterDataTypeSelected('status')
|
||||
$ctrl.loadIssues()
|
||||
|
||||
taiga.bindOnce $scope, "project", (project) ->
|
||||
$el.append(selectionTemplate({ 'statuses': project.issue_statuses }))
|
||||
|
@ -660,8 +671,10 @@ IssueAssignedToInlineEditionDirective = ($repo, $rootscope, $translate, avatarSe
|
|||
updatedIssue.assigned_to = userId
|
||||
$repo.save(issue).then ->
|
||||
updateIssue(updatedIssue)
|
||||
$ctrl.loadIssues()
|
||||
$ctrl.generateFilters()
|
||||
if $ctrl.isFilterDataTypeSelected('assigned_to') \
|
||||
|| $ctrl.isFilterDataTypeSelected('role')
|
||||
$ctrl.loadIssues()
|
||||
|
||||
$scope.$watch $attrs.tgIssueAssignedToInlineEdition, (val) ->
|
||||
updateIssue(val)
|
||||
|
|
|
@ -200,7 +200,7 @@ class KanbanController extends mixOf(taiga.Controller, taiga.PageMixin, taiga.Fi
|
|||
@kanbanUserstoriesService.replaceModel(usModel)
|
||||
|
||||
@repo.save(usModel).then =>
|
||||
if @.isFilterDataTypeSelected('assigned_to')
|
||||
if @.isFilterDataTypeSelected('assigned_to') || @.isFilterDataTypeSelected('role')
|
||||
@.filtersReloadContent()
|
||||
|
||||
refreshTagsColors: ->
|
||||
|
|
|
@ -134,6 +134,16 @@ class TaskboardController extends mixOf(taiga.Controller, taiga.PageMixin, taiga
|
|||
|
||||
@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) ->
|
||||
filters = {}
|
||||
urlfilters = @location.search()
|
||||
|
@ -310,9 +320,9 @@ class TaskboardController extends mixOf(taiga.Controller, taiga.PageMixin, taiga
|
|||
|
||||
@taskboardTasksService.replaceModel(taskModel)
|
||||
|
||||
promise = @repo.save(taskModel)
|
||||
promise.then null, ->
|
||||
console.log "FAIL" # TODO
|
||||
@repo.save(taskModel).then =>
|
||||
if @.isFilterDataTypeSelected('assigned_to') || @.isFilterDataTypeSelected('role')
|
||||
@.loadTasks()
|
||||
|
||||
initializeSubscription: ->
|
||||
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'])
|
||||
@taskboardTasksService.assignOrders(order)
|
||||
|
||||
if @.isFilterDataTypeSelected('status')
|
||||
@.loadTasks()
|
||||
|
||||
@.loadSprintStats()
|
||||
|
||||
## Template actions
|
||||
|
|
Loading…
Reference in New Issue