Skip to content
Snippets Groups Projects
Commit 11d2df7b authored by Jorrit Schaap's avatar Jorrit Schaap
Browse files

Task #8887: only show projects for which there is a task in the filter box

parent 295945da
No related branches found
No related tags found
No related merge requests found
...@@ -142,6 +142,8 @@ gridControllerMod.controller('GridController', ['$scope', 'dataService', 'uiGrid ...@@ -142,6 +142,8 @@ gridControllerMod.controller('GridController', ['$scope', 'dataService', 'uiGrid
$scope.gridOptions.data = $scope.dataService.tasks; $scope.gridOptions.data = $scope.dataService.tasks;
else else
$scope.gridOptions.data = [] $scope.gridOptions.data = []
fillProjectsColumFilterSelectOptions();
}, true); }, true);
$scope.$watch('dataService.taskstatustypes', function() { $scope.$watch('dataService.taskstatustypes', function() {
...@@ -155,12 +157,17 @@ gridControllerMod.controller('GridController', ['$scope', 'dataService', 'uiGrid ...@@ -155,12 +157,17 @@ gridControllerMod.controller('GridController', ['$scope', 'dataService', 'uiGrid
fillColumFilterSelectOptions(tasktypenames, $scope.columns[7]); fillColumFilterSelectOptions(tasktypenames, $scope.columns[7]);
}); });
$scope.$watch('dataService.momProjectsDict', function() { function fillProjectsColumFilterSelectOptions() {
var projectNames = []; var projectNames = [];
var momProjectsDict = $scope.dataService.momProjectsDict; var momProjectsDict = $scope.dataService.momProjectsDict;
for(var key in momProjectsDict) { var tasks = $scope.dataService.tasks;
if(momProjectsDict.hasOwnProperty(key)) { //get unique projectIds from tasks
var projectName = momProjectsDict[key].name; var task_project_ids = tasks.map(function(t) { return t.project_mom_id; });
task_project_ids = task_project_ids.filter(function(value, index, arr) { return arr.indexOf(value) == index;})
for(var project_id of task_project_ids) {
if(momProjectsDict.hasOwnProperty(project_id)) {
var projectName = momProjectsDict[project_id].name;
if(!(projectName in projectNames)) { if(!(projectName in projectNames)) {
projectNames.push(projectName); projectNames.push(projectName);
} }
...@@ -168,7 +175,9 @@ gridControllerMod.controller('GridController', ['$scope', 'dataService', 'uiGrid ...@@ -168,7 +175,9 @@ gridControllerMod.controller('GridController', ['$scope', 'dataService', 'uiGrid
} }
projectNames.sort(); projectNames.sort();
fillColumFilterSelectOptions(projectNames, $scope.columns[1]); fillColumFilterSelectOptions(projectNames, $scope.columns[1]);
}); };
$scope.$watch('dataService.momProjectsDict', fillProjectsColumFilterSelectOptions);
$scope.$watch('dataService.selected_task_id', function() { $scope.$watch('dataService.selected_task_id', function() {
var taskIdx = $scope.gridOptions.data.findIndex(function(row) {return row.id == dataService.selected_task_id}); var taskIdx = $scope.gridOptions.data.findIndex(function(row) {return row.id == dataService.selected_task_id});
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment