CLOUDSTACK-5252: UI > Infrastructure > Virtual Routers > Select view: group by zone/pod/cluster > (1) pass listAll=true to listRouters. (2) reduce redundant API call.

This commit is contained in:
Jessica Wang 2013-12-10 14:40:51 -08:00
parent a9d96aff06
commit 93ba232eea

View File

@ -8805,19 +8805,21 @@
var zoneObjs = json.listzonesresponse.zone; var zoneObjs = json.listzonesresponse.zone;
if (zoneObjs != null) { if (zoneObjs != null) {
for (var i = 0; i < zoneObjs.length; i++) { for (var i = 0; i < zoneObjs.length; i++) {
var currentPage = 1;
$.ajax({ $.ajax({
url: createURL('listRouters'), url: createURL('listRouters'),
data: { data: {
zoneid: zoneObjs[i].id zoneid: zoneObjs[i].id,
listAll: true,
page: currentPage,
pagesize: pageSize //global variable
}, },
async: false, async: false,
success: function(json) { success: function(json) {
if (json.listroutersresponse.count != undefined) { if (json.listroutersresponse.count != undefined) {
zoneObjs[i].routerCount = json.listroutersresponse.count; zoneObjs[i].routerCount = json.listroutersresponse.count;
var routerCountFromAllPages = json.listroutersresponse.count;
var routerCountFromAllPages = zoneObjs[i].routerCount; var routerCountFromFirstPageToCurrentPage = json.listroutersresponse.router.length;
var currentPage = 1;
var routerCountFromFirstPageToCurrentPage = 0;
var routerRequiresUpgrade = 0; var routerRequiresUpgrade = 0;
var callListApiWithPage = function() { var callListApiWithPage = function() {
$.ajax({ $.ajax({
@ -8825,6 +8827,7 @@
async: false, async: false,
data: { data: {
zoneid: zoneObjs[i].id, zoneid: zoneObjs[i].id,
listAll: true,
page: currentPage, page: currentPage,
pagesize: pageSize //global variable pagesize: pageSize //global variable
}, },
@ -8843,7 +8846,10 @@
} }
}); });
} }
if (routerCountFromFirstPageToCurrentPage < routerCountFromAllPages) {
currentPage++;
callListApiWithPage(); callListApiWithPage();
}
zoneObjs[i].routerRequiresUpgrade = routerRequiresUpgrade; zoneObjs[i].routerRequiresUpgrade = routerRequiresUpgrade;
} else { } else {
@ -9024,19 +9030,21 @@
var podObjs = json.listpodsresponse.pod; var podObjs = json.listpodsresponse.pod;
if (podObjs != null) { if (podObjs != null) {
for (var i = 0; i < podObjs.length; i++) { for (var i = 0; i < podObjs.length; i++) {
var currentPage = 1;
$.ajax({ $.ajax({
url: createURL('listRouters'), url: createURL('listRouters'),
data: { data: {
podid: podObjs[i].id podid: podObjs[i].id,
listAll: true,
page: currentPage,
pagesize: pageSize //global variable
}, },
async: false, async: false,
success: function (json) { success: function (json) {
if (json.listroutersresponse.count != undefined) { if (json.listroutersresponse.count != undefined) {
podObjs[i].routerCount = json.listroutersresponse.count; podObjs[i].routerCount = json.listroutersresponse.count;
var routerCountFromAllPages = json.listroutersresponse.count;
var routerCountFromAllPages = podObjs[i].routerCount; var routerCountFromFirstPageToCurrentPage = json.listroutersresponse.router.length;
var currentPage = 1;
var routerCountFromFirstPageToCurrentPage = 0;
var routerRequiresUpgrade = 0; var routerRequiresUpgrade = 0;
var callListApiWithPage = function () { var callListApiWithPage = function () {
$.ajax({ $.ajax({
@ -9044,6 +9052,7 @@
async: false, async: false,
data: { data: {
podid: podObjs[i].id, podid: podObjs[i].id,
listAll: true,
page: currentPage, page: currentPage,
pagesize: pageSize //global variable pagesize: pageSize //global variable
}, },
@ -9062,7 +9071,10 @@
} }
}); });
} }
if (routerCountFromFirstPageToCurrentPage < routerCountFromAllPages) {
currentPage++;
callListApiWithPage(); callListApiWithPage();
}
podObjs[i].routerRequiresUpgrade = routerRequiresUpgrade; podObjs[i].routerRequiresUpgrade = routerRequiresUpgrade;
} else { } else {
@ -9245,19 +9257,21 @@
var clusterObjs = json.listclustersresponse.cluster; var clusterObjs = json.listclustersresponse.cluster;
if (clusterObjs != null) { if (clusterObjs != null) {
for (var i = 0; i < clusterObjs.length; i++) { for (var i = 0; i < clusterObjs.length; i++) {
var currentPage = 1;
$.ajax({ $.ajax({
url: createURL('listRouters'), url: createURL('listRouters'),
data: { data: {
clusterid: clusterObjs[i].id clusterid: clusterObjs[i].id,
listAll: true,
page: currentPage,
pagesize: pageSize //global variable
}, },
async: false, async: false,
success: function (json) { success: function (json) {
if (json.listroutersresponse.count != undefined) { if (json.listroutersresponse.count != undefined) {
clusterObjs[i].routerCount = json.listroutersresponse.count; clusterObjs[i].routerCount = json.listroutersresponse.count;
var routerCountFromAllPages = json.listroutersresponse.count;
var routerCountFromAllPages = clusterObjs[i].routerCount; var routerCountFromFirstPageToCurrentPage = json.listroutersresponse.router.length;
var currentPage = 1;
var routerCountFromFirstPageToCurrentPage = 0;
var routerRequiresUpgrade = 0; var routerRequiresUpgrade = 0;
var callListApiWithPage = function () { var callListApiWithPage = function () {
$.ajax({ $.ajax({
@ -9265,6 +9279,7 @@
async: false, async: false,
data: { data: {
clusterid: clusterObjs[i].id, clusterid: clusterObjs[i].id,
listAll: true,
page: currentPage, page: currentPage,
pagesize: pageSize //global variable pagesize: pageSize //global variable
}, },
@ -9283,7 +9298,10 @@
} }
}); });
} }
if (routerCountFromFirstPageToCurrentPage < routerCountFromAllPages) {
currentPage++;
callListApiWithPage(); callListApiWithPage();
}
clusterObjs[i].routerRequiresUpgrade = routerRequiresUpgrade; clusterObjs[i].routerRequiresUpgrade = routerRequiresUpgrade;
} else { } else {