bug 12211: Implement project dashboard

status 12211: resolved fixed
This commit is contained in:
bfederle 2011-12-19 18:29:49 -05:00
parent d33a23cca6
commit b33c6f6de4
3 changed files with 55 additions and 11 deletions

View File

@ -832,20 +832,20 @@
<ul>
<!-- IP addresses -->
<li class="odd">
<div class="total"><span>171</span></div>
<div class="total"><span data-item="totalIPAddresses"></span></div>
<div class="desc">IP addresses</div>
</li>
<!-- Load balancing policies -->
<li>
<div class="total"><span>04</span></div>
<div class="total"><span data-item="totalLoadBalancers"></span></div>
<div class="desc">Load balancing policies</div>
</li>
<!-- Security Groups -->
<!-- Port forwarding policies -->
<li class="odd">
<div class="total"><span>23</span></div>
<div class="desc">Security groups</div>
<div class="total"><span data-item="totalPortForwards"></span></div>
<div class="desc">Port forwarding policies</div>
</li>
<!-- Blank -->

View File

@ -18,7 +18,7 @@
return instance.state == 'Running';
}).length,
stoppedInstances: $.grep(instances, function(instance) {
return instance.state == 'Stopped';
return instance.state != 'Running';
}).length,
totalInstances: instances.length
}));
@ -32,7 +32,7 @@
success: function(json) {
dataFns.bandwidth($.extend(data, {
totalVolumes: json.listvolumesresponse.volume ?
json.listvolumesresponse.volume.count : 0
json.listvolumesresponse.count : 0
}));
}
});
@ -60,13 +60,49 @@
});
});
dataFns.users($.extend(data, {
dataFns.ipAddresses($.extend(data, {
totalBandwidth: totalBandwidth
}));
}
});
},
ipAddresses: function(data) {
$.ajax({
url: createURL('listPublicIpAddresses'),
success: function(json) {
dataFns.loadBalancingRules($.extend(data, {
totalIPAddresses: json.listpublicipaddressesresponse ?
json.listpublicipaddressesresponse.count : 0
}));
}
});
},
loadBalancingRules: function(data) {
$.ajax({
url: createURL('listLoadBalancerRules'),
success: function(json) {
dataFns.portForwardingRules($.extend(data, {
totalLoadBalancers: json.listloadbalancerrulesresponse ?
json.listloadbalancerrulesresponse.count : 0
}));
}
});
},
portForwardingRules: function(data) {
$.ajax({
url: createURL('listPortForwardingRules'),
success: function(json) {
dataFns.users($.extend(data, {
totalPortForwards: json.listportforwardingrulesresponse ?
json.listportforwardingrulesresponse.count : 0
}));
}
});
},
users: function(data) {
$.ajax({
url: createURL('listProjectAccounts'),

View File

@ -25,9 +25,11 @@
var getData = function() {
// Populate data
$dashboard.find('[data-item]').hide();
var $loading = $('<div>').addClass('loading-overlay').prependTo($dashboard);
cloudStack.projects.dashboard({
response: {
success: function(args) {
$loading.remove();
var data = args.data;
// Iterate over data; populate corresponding DOM elements
@ -70,6 +72,14 @@
getData();
$dashboard.find('.button.manage-resources').click(function() {
$('.navigation-item.network').click();
});
$dashboard.find('.info-box.events .button').click(function() {
$('.navigation-item.events').click();
});
return $dashboard;
}
};
@ -101,7 +111,7 @@
var $content = $('<div>')
.appendTo($tabs)
.attr({ id: 'project-view-dashboard-' + tabName })
.append(tab());
.append(tab);
});
$tabs.find('ul li:first').addClass('first');
@ -462,8 +472,6 @@
.filter(function() {
return $(this).data('json-obj').name == cloudStack.context.projects[0].name;
}).attr('selected', 'selected');
showDashboard();
////
// Hidden for now