From d38a1e196b005cda4a77cfe62e495b9d71a1edc0 Mon Sep 17 00:00:00 2001 From: Jorrit Schaap <schaap@astron.nl> Date: Tue, 3 Nov 2015 14:57:14 +0000 Subject: [PATCH] Task #8574: Render tasks in grid as tree view. Not optimal for user. Let's change this to a task-type-column. --- .../lib/static/app/app.js | 1 - .../static/app/controllers/gridcontroller.js | 21 ++++++++++++++++--- .../lib/static/css/main.css | 4 +++- .../lib/templates/index.html | 2 +- 4 files changed, 22 insertions(+), 6 deletions(-) diff --git a/SAS/ResourceAssignment/ResourceAssignmentEditor/lib/static/app/app.js b/SAS/ResourceAssignment/ResourceAssignmentEditor/lib/static/app/app.js index 537d013649e..07dd886ee45 100644 --- a/SAS/ResourceAssignment/ResourceAssignmentEditor/lib/static/app/app.js +++ b/SAS/ResourceAssignment/ResourceAssignmentEditor/lib/static/app/app.js @@ -2,7 +2,6 @@ var app = angular.module('raeApp', ['ngTouch', - 'ui.grid', 'gantt', 'gantt.table', 'gantt.movable', diff --git a/SAS/ResourceAssignment/ResourceAssignmentEditor/lib/static/app/controllers/gridcontroller.js b/SAS/ResourceAssignment/ResourceAssignmentEditor/lib/static/app/controllers/gridcontroller.js index 68cbe5b07af..eb92c7de174 100644 --- a/SAS/ResourceAssignment/ResourceAssignmentEditor/lib/static/app/controllers/gridcontroller.js +++ b/SAS/ResourceAssignment/ResourceAssignmentEditor/lib/static/app/controllers/gridcontroller.js @@ -1,14 +1,27 @@ // $Id: controller.js 32761 2015-11-02 11:50:21Z schaap $ -var gridControllerMod = angular.module('GridControllerMod', ['DataControllerMod']); +var gridControllerMod = angular.module('GridControllerMod', ['ui.grid', 'ui.grid.treeView']); -gridControllerMod.controller('GridController', ['$scope', 'dataService', function($scope, dataService) { +gridControllerMod.controller('GridController', ['$scope', 'dataService', 'uiGridTreeViewConstants', function($scope, dataService, uiGridTreeViewConstants) { $scope.dataService = dataService; $scope.$watch('dataService.tasks', function() { if('tasks' in $scope.dataService && $scope.dataService.tasks.length > 0) - $scope.gridOptions.data = $scope.dataService.tasks[0]['tasks']; + { + var taskList = []; + for ( var i = 0; i < $scope.dataService.tasks.length; i++ ){ + var node = $scope.dataService.tasks[i]; + node.$$treeLevel = 0; + taskList.push(node); + var nodeTasks = node['tasks']; + for ( var j = 0; j < nodeTasks.length; j++ ){ + nodeTasks[j].$$treeLevel = 1; + taskList.push(nodeTasks[j]); + } + } + $scope.gridOptions.data = taskList; + } else $scope.gridOptions.data = [] }, true); @@ -16,7 +29,9 @@ gridControllerMod.controller('GridController', ['$scope', 'dataService', functio $scope.columns = [{ field: 'name' }, { field: 'from' }, { field: 'to' }]; $scope.gridOptions = { enableSorting: true, + enableFiltering: true, columnDefs: $scope.columns, + showTreeExpandNoChildren: false, data: [] }; } diff --git a/SAS/ResourceAssignment/ResourceAssignmentEditor/lib/static/css/main.css b/SAS/ResourceAssignment/ResourceAssignmentEditor/lib/static/css/main.css index 8285ce40c62..9f3636c4982 100644 --- a/SAS/ResourceAssignment/ResourceAssignmentEditor/lib/static/css/main.css +++ b/SAS/ResourceAssignment/ResourceAssignmentEditor/lib/static/css/main.css @@ -1,8 +1,10 @@ /* $Id: app.js 32724 2015-10-28 13:24:49Z schaap $ */ .myGrid { - width: 500px; + min-height: 400px; + min-width: 500px; height: auto; + width: auto; } .gantt { diff --git a/SAS/ResourceAssignment/ResourceAssignmentEditor/lib/templates/index.html b/SAS/ResourceAssignment/ResourceAssignmentEditor/lib/templates/index.html index aecbc30fd2b..6b0db5c1620 100644 --- a/SAS/ResourceAssignment/ResourceAssignmentEditor/lib/templates/index.html +++ b/SAS/ResourceAssignment/ResourceAssignmentEditor/lib/templates/index.html @@ -26,7 +26,7 @@ {% raw %} <div ng-controller="GridController as gridCtrl"> <strong>Tasks:</strong> - <div id="grid1" ui-grid="gridOptions" ui-grid-move-columns class="grid"></div> + <div id="grid1" ui-grid="gridOptions" ui-grid-move-columns ui-grid-tree-view class="myGrid"></div> </div> <br/> <br/> -- GitLab