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

Task #8574: use module angular-resource to fetch data (as example). Group results.

parent de3eef00
No related branches found
No related tags found
No related merge requests found
......@@ -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();
}
]);
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment