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

Task #9607: improved filling of filter combos

parent bce1699f
Branches
Tags
No related merge requests found
......@@ -332,22 +332,21 @@ $scope.columns = [
}, true);
$scope.$watch('dataService.filteredTaskChangeCntr', function() {
$scope.$evalAsync(fillProjectsColumFilterSelectOptions)
$scope.$evalAsync(fillGroupsColumFilterSelectOptions);
$scope.$evalAsync(function() {
fillStatusColumFilterSelectOptions();
fillTypeColumFilterSelectOptions();
fillProjectsColumFilterSelectOptions();
fillGroupsColumFilterSelectOptions();
});
});
$scope.$watch('dataService.initialLoadComplete', function() {
$scope.$evalAsync(function() {
taskstatustypenames = $scope.dataService.taskstatustypes.map(function(x) { return x.name; });
fillColumFilterSelectOptions(taskstatustypenames, $scope.columns[5]);
$scope.columns[6].editDropdownOptionsArray = $scope.dataService.taskstatustypes.map(function(x) { return {id:x.name, value:x.name}; });
tasktypenames = $scope.dataService.tasktypes.map(function(x) { return x.name; });
fillColumFilterSelectOptions(tasktypenames, $scope.columns[6]);
fillColumFilterSelectOptions(['CEP2', 'CEP4'], $scope.columns[11]);
fillStatusColumFilterSelectOptions();
fillTypeColumFilterSelectOptions();
fillProjectsColumFilterSelectOptions();
fillGroupsColumFilterSelectOptions();
fillColumFilterSelectOptions(['CEP2', 'CEP4'], $scope.columns[11]);
});
});
......@@ -355,6 +354,12 @@ $scope.columns = [
var projectNames = [];
var momProjectsDict = $scope.dataService.momProjectsDict;
var tasks = $scope.dataService.filteredTasks;
var project_col = $scope.gridApi.grid.columns.find(function(c) {return c.field == 'project_name'; });
if(project_col && project_col.filters.length && project_col.filters[0].term) {
tasks = $scope.dataService.tasks;
}
//get unique projectIds from tasks
var task_project_ids = tasks.map(function(t) { return t.project_mom_id; });
task_project_ids = task_project_ids.unique();
......@@ -371,8 +376,45 @@ $scope.columns = [
fillColumFilterSelectOptions(projectNames, $scope.columns[1]);
};
function fillStatusColumFilterSelectOptions() {
var tasks = $scope.dataService.filteredTasks;
var status_col = $scope.gridApi.grid.columns.find(function(c) {return c.field == 'status'; });
if(status_col && status_col.filters.length && status_col.filters[0].term) {
tasks = $scope.dataService.tasks;
}
//get unique statuses from tasks
var task_statuses = tasks.map(function(t) { return t.status; });
task_statuses = task_statuses.unique();
task_statuses.sort();
fillColumFilterSelectOptions(task_statuses, $scope.columns[5]);
};
function fillTypeColumFilterSelectOptions() {
var tasks = $scope.dataService.filteredTasks;
var type_col = $scope.gridApi.grid.columns.find(function(c) {return c.field == 'type'; });
if(type_col && type_col.filters.length && type_col.filters[0].term) {
tasks = $scope.dataService.tasks;
}
//get unique types from tasks
var task_types = tasks.map(function(t) { return t.type; });
task_types = task_types.unique();
task_types.sort();
fillColumFilterSelectOptions(task_types, $scope.columns[6]);
};
function fillGroupsColumFilterSelectOptions() {
if($scope.columns[7].filter.term) {
return;
}
var tasks = $scope.dataService.filteredTasks;
//get unique groupNames from tasks
var groupId2Name = {};
var groupIds = [];
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment