'use strict'; | |
angular.module('xos.tenant', [ | |
'ngResource', | |
'ngCookies', | |
'ui.router', | |
'xos.helpers' | |
]) | |
.config(($stateProvider) => { | |
$stateProvider | |
.state('site-list', { | |
url: '/', | |
template: '<site-list></site-list>' | |
}) | |
.state('site', { | |
url: '/site/:id', | |
template: '<site-detail></site-detail>' | |
}) | |
.state('createslice', { | |
url: '/site/:site/slice/:id?', | |
template: '<create-slice></create-slice>' | |
}); | |
}) | |
.config(function($httpProvider){ | |
$httpProvider.interceptors.push('NoHyperlinks'); | |
}) | |
.directive('siteList', function(){ | |
return { | |
//sites : {}, | |
restrict: 'E', | |
scope: {}, | |
bindToController: true, | |
controllerAs: 'vm', | |
templateUrl: 'templates/users-list.tpl.html', | |
controller: function(Sites, SlicesPlus){ | |
this.tableConfig = { | |
columns: [ | |
{ | |
label: 'Site', | |
prop: 'name', | |
link: item => `#/site/${item.id}` | |
}, | |
{ | |
label: 'Allocated', | |
prop: 'instance_total' | |
}, | |
{ | |
label: 'Ready', | |
prop: 'instance_total_ready' | |
} | |
] | |
}; | |
// retrieving user list | |
Sites.query().$promise | |
.then((users) => { | |
this.sites = users; | |
return SlicesPlus.query().$promise | |
}) | |
.then((users) => { | |
this.slices = users; | |
this.site_list = this.returnData(this.sites, this.slices); | |
}) | |
.catch((e) => { | |
throw new Error(e); | |
}); | |
this.returnData = (sites, slices) => { | |
var i, j=0; | |
var site_list=[]; | |
for(i = 0; i<sites.length; i++){ | |
var instance_t = 0; | |
var instance_t_r = 0; | |
for(j=0;j<slices.length;j++){ | |
if (sites[i].id != null && slices[j].site !=null && sites[i].id === slices[j].site){ | |
instance_t = instance_t + slices[j].instance_total; | |
instance_t_r = instance_t_r + slices[j].instance_total_ready; | |
} | |
} | |
var data_sites = { | |
'id': sites[i].id, | |
'name': sites[i].name, | |
'instance_total': instance_t, | |
'instance_total_ready': instance_t_r | |
}; | |
site_list.push(data_sites); | |
} | |
return site_list; | |
} | |
} | |
}; | |
}); |