From 803c6113ca55809b91904de89605aed28b68f34b Mon Sep 17 00:00:00 2001 From: Jorrit Schaap <schaap@astron.nl> Date: Tue, 10 Nov 2015 09:42:29 +0000 Subject: [PATCH] Task #8574: use module angular-resource to fetch data (as example). Group results. --- .../static/app/controllers/datacontroller.js | 133 +++++++++--------- 1 file changed, 70 insertions(+), 63 deletions(-) diff --git a/SAS/ResourceAssignment/ResourceAssignmentEditor/lib/static/app/controllers/datacontroller.js b/SAS/ResourceAssignment/ResourceAssignmentEditor/lib/static/app/controllers/datacontroller.js index 89c063f68c2..401dacd4ac0 100644 --- a/SAS/ResourceAssignment/ResourceAssignmentEditor/lib/static/app/controllers/datacontroller.js +++ b/SAS/ResourceAssignment/ResourceAssignmentEditor/lib/static/app/controllers/datacontroller.js @@ -15,9 +15,29 @@ angular.module('raeApp').factory("dataService", function(){ return self; }); -var dataControllerMod = angular.module('DataControllerMod', []); +var dataControllerMod = angular.module('DataControllerMod', ['ngResource']); -dataControllerMod.controller('DataController', ['$http', '$scope', 'dataService', function($http, $scope, dataService) { +dataControllerMod.factory('taskService', function($resource){ + return $resource("/rest/tasks/:id", {}, { + query: { method: "GET", isArray: false } + }); +}); + +dataControllerMod.factory('resourceService', function($resource){ + return $resource("/rest/resourceitems/:id", {}, { + query: { method: "GET", isArray: false } + }); +}); + +dataControllerMod.factory('resourceClaimsService', function($resource){ + return $resource("/rest/resourceclaims/:id", {}, { + query: { method: "GET", isArray: false } + }); +}); + +dataControllerMod.controller('DataController', + ['$scope', 'dataService', 'taskService', 'resourceService', 'resourceClaimsService', + function($scope, dataService, taskService, resourceService, resourceClaimsService) { var self = this; self.dataService = dataService; @@ -30,74 +50,61 @@ dataControllerMod.controller('DataController', ['$http', '$scope', 'dataService' return dict; }; - function getTasks() { - $http.get('/rest/tasks').success(function(result) { - self.dataService.tasks = result.tasks; + taskService.query(function(results) { + self.dataService.tasks = results.tasks; + self.dataService.taskDict = toIdBasedDict(self.dataService.tasks); + }); - self.dataService.taskDict = toIdBasedDict(self.dataService.tasks); - }); - }; + resourceService.query(function(results) { + self.dataService.resources = results.resourceitems; + self.dataService.resourceDict = toIdBasedDict(self.dataService.resources); + groupResourceClaims(); + }); - function getResources() { - $http.get('/rest/resourceitems').success(function(result) { - self.dataService.resources = result.resourceitems; + resourceClaimsService.query(function(results) { + self.dataService.resourceclaims = results.resourceclaims; + self.dataService.resourceclaimDict = toIdBasedDict(self.dataService.resourceclaims); + groupResourceClaims(); + }); - self.dataService.resourceDict = toIdBasedDict(self.dataService.resources); - groupResourceClaims(); - }); - }; + function groupResourceClaims() { + var grouped = {}; + var resources = self.dataService.resources; + + for(var i = self.dataService.resources.length-1; i >=0; i--) + { + var resource = resources[i]; + grouped[resource.id] = { + 'id': resource.id, + 'name': resource.name, + 'tasks': [] + }; + } - function getResourceClaims() { - $http.get('/rest/resourceclaims').success(function(result) { - self.dataService.resourceclaims = result.resourceclaims; + var resourceclaims = self.dataService.resourceclaims; + for(var i = resourceclaims.length-1; i >=0; i--) + { + var claim = resourceclaims[i]; + var task = self.dataService.taskDict[claim.taskId]; + + var row = grouped[claim.resourceId]; + row.tasks.push({ + name: task ? task.name : '<unknown>', + 'from': claim.startTime, + 'to': claim.endTime + }); + } - self.dataService.resourceclaimDict = toIdBasedDict(self.dataService.resourceclaims); - groupResourceClaims(); - }); - }; + var groupedArray = []; - function groupResourceClaims() { - $http.get('/rest/resourceclaims').success(function(result) { - self.dataService.resourceclaims = result.resourceclaims; - - var grouped = {}; - var resources = self.dataService.resources; - - for(var i = self.dataService.resources.length-1; i >=0; i--) - { - var resource = resources[i]; - grouped[resource.id] = { - 'id': resource.id, - 'name': resource.name, - 'tasks': [] - }; - } - - var resourceclaims = result.resourceclaims; - for(var i = result.resourceclaims.length-1; i >=0; i--) - { - var claim = resourceclaims[i]; - var task = self.dataService.taskDict[claim.taskId]; - - var row = grouped[claim.resourceId]; - row.tasks.push({ - name: task ? task.name : '<unknown>', - 'from': claim.startTime, - 'to': claim.endTime - }); - } - - var groupedArray = []; - - for (var groupId in grouped) - groupedArray.push(grouped[groupId]); - - self.dataService.resourcesWithClaims = groupedArray; - }); + for (var groupId in grouped) + groupedArray.push(grouped[groupId]); + + self.dataService.resourcesWithClaims = groupedArray; }; - getTasks(); - getResources(); - getResourceClaims(); +// getTasks(); +// getResources(); +// getResourceClaims(); } ]); -- GitLab