From 4ce72ab3680736713d44eaf0810507a5baeba2a7 Mon Sep 17 00:00:00 2001 From: Johannes Millan Date: Wed, 3 May 2017 16:43:03 +0200 Subject: [PATCH] update backlog when project changes --- app-src/scripts/constants.js | 5 +- .../scripts/daily-planner/daily-planner-d.js | 52 +++++++++++-------- .../main/global-services/projects-s.js | 4 +- 3 files changed, 34 insertions(+), 27 deletions(-) diff --git a/app-src/scripts/constants.js b/app-src/scripts/constants.js index 78d0d4af05..478f1cea03 100644 --- a/app-src/scripts/constants.js +++ b/app-src/scripts/constants.js @@ -18,13 +18,14 @@ 'keys', 'isShowWelcomeDialog' ]) - .constant('ON_DEMAND_LS_FIELDS',[ + .constant('ON_DEMAND_LS_FIELDS', [ 'doneBacklogTasks', 'backlogTasks', ]) - .constant('ON_DEMAND_LS_FIELDS_FOR_PROJECT',[ + .constant('ON_DEMAND_LS_FIELDS_FOR_PROJECT', [ 'data', ]) + .constant('EV_PROJECT_CHANGED', 'EV_PROJECT_CHANGED') .constant('LS_DEFAULTS', { note: undefined, theme: undefined, diff --git a/app-src/scripts/daily-planner/daily-planner-d.js b/app-src/scripts/daily-planner/daily-planner-d.js index 8b2d12ade4..67e6b0251c 100644 --- a/app-src/scripts/daily-planner/daily-planner-d.js +++ b/app-src/scripts/daily-planner/daily-planner-d.js @@ -25,35 +25,38 @@ } /* @ngInject */ - function DailyPlannerCtrl($localStorage, $window, $scope, Tasks, TasksUtil, Dialogs, $state, Jira, $filter, IS_ELECTRON, Git, $mdDialog) { + function DailyPlannerCtrl($localStorage, $window, $scope, Tasks, TasksUtil, Dialogs, $state, Jira, $filter, IS_ELECTRON, Git, $mdDialog, EV_PROJECT_CHANGED) { let vm = this; const _ = $window._; - vm.limitBacklogTo = 3; - vm.taskSuggestions = []; - vm.backlogTasks = Tasks.getBacklog(); + vm.init = () => { + vm.limitBacklogTo = 3; + vm.taskSuggestions = []; + vm.backlogTasks = Tasks.getBacklog(); - vm.getFilteredTaskSuggestions = (searchText) => { - return searchText ? $filter('filter')(vm.taskSuggestions, searchText, false, 'title') : vm.taskSuggestions; - }; + vm.getFilteredTaskSuggestions = (searchText) => { + return searchText ? $filter('filter')(vm.taskSuggestions, searchText, false, 'title') : vm.taskSuggestions; + }; - if (IS_ELECTRON && Jira.isSufficientJiraSettings()) { - Jira.checkForNewAndAddToBacklog(); + if (IS_ELECTRON && Jira.isSufficientJiraSettings()) { + Jira.checkForNewAndAddToBacklog(); - Jira.getSuggestions().then((res) => { - vm.taskSuggestions = vm.taskSuggestions.concat(Jira.transformIssues(res)); - }); - } - - // add new git tasks - Git.checkForNewAndAddToBacklog(); - - if ($localStorage.git.isShowIssuesFromGit) { - Git.getIssueList() - .then((res) => { - vm.taskSuggestions = vm.taskSuggestions.concat(res.data); + Jira.getSuggestions().then((res) => { + vm.taskSuggestions = vm.taskSuggestions.concat(Jira.transformIssues(res)); }); - } + } + + // add new git tasks + Git.checkForNewAndAddToBacklog(); + + if ($localStorage.git.isShowIssuesFromGit) { + Git.getIssueList() + .then((res) => { + vm.taskSuggestions = vm.taskSuggestions.concat(res.data); + }); + } + }; + vm.init(); vm.addTask = () => { if (vm.newTask) { @@ -128,6 +131,9 @@ watcher(); }); }); - } + $scope.$on(EV_PROJECT_CHANGED, () => { + vm.init(); + }); + } })(); diff --git a/app-src/scripts/main/global-services/projects-s.js b/app-src/scripts/main/global-services/projects-s.js index ef3da1fe8d..6691b9ba2a 100644 --- a/app-src/scripts/main/global-services/projects-s.js +++ b/app-src/scripts/main/global-services/projects-s.js @@ -14,7 +14,7 @@ .service('Projects', Projects); /* @ngInject */ - function Projects(LS_DEFAULTS, $localStorage, Uid, $window, SimpleToast, $injector, GLOBAL_LS_FIELDS) { + function Projects(LS_DEFAULTS, $localStorage, Uid, $window, SimpleToast, $injector, GLOBAL_LS_FIELDS, $rootScope, EV_PROJECT_CHANGED) { const TMP_FIELDS = [ '$$hashKey', '$$mdSelectId', @@ -143,7 +143,7 @@ // update ls $localStorage current project $localStorage.currentProject = newCurrentProject; - + $rootScope.$broadcast(EV_PROJECT_CHANGED); // re-init all global models InitGlobalModels(); }