Select Git revision
samp_connector.py
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
datacontroller.js 50.21 KiB
// $Id$
angular.module('raeApp').factory("dataService", ['$http', '$q', function($http, $q){
var self = this;
self.projectMode = false;
self.tasks = [];
self.resources = [];
self.resourceGroups = [];
self.resourceClaims = [];
self.tasktypes = [];
self.taskstatustypes = [];
self.editableTaskStatusIds = [];
self.taskDict = {};
self.resourceDict = {};
self.resourceGroupsDict = {};
self.resourceGroupMemberships = {};
self.resourceClaimDict = {};
self.resourceUsagesDict = {};
self.tasktypesDict = {};
self.momProjects = [];
self.momProjectsDict = {};
self.resourcesWithClaims = [];
self.filteredTasks = [];
self.filteredTaskDict = {};
self.taskTimes = {};
self.resourceClaimTimes = {};
self.events = [];
self.config = {};
self.selected_resource_id;
self.selected_resourceGroup_id;
self.selected_task_ids = [];
self.selected_project_id;
self.selected_resourceClaim_id;
self.selected_project = { name: 'Please select project', value: undefined };
self.initialLoadComplete = false;
self.taskChangeCntr = 0;
self.filteredTaskChangeCntr = 0;
self.claimChangeCntr = 0;
self.resourceUsagesChangeCntr = 0;
self.loadedHours = {};
self.viewTimeSpan = {from: new Date(), to: new Date() };
self.autoFollowNow = true;
self.humanreadablesize = function(num) {
var units = ['', 'K', 'M', 'G', 'T', 'P', 'E', 'Z'];
for(unit of units) {
if(Math.abs(num) < 1000.0) {
return num.toPrecision(4).toString() + unit;
}
num /= 1000.0;
}
return num.toPrecision(5).toString() + 'Y';
}
self.isTaskIdSelected = function(task_id) {
return self.selected_task_ids.includes(task_id);
}