From 994d42920e264343ad85ffa923ead0ffda9324fe Mon Sep 17 00:00:00 2001 From: Jessica Wang Date: Fri, 18 Nov 2011 10:40:39 -0800 Subject: [PATCH] cloudStack 3.0 new UI - NaaS - Physical Network - Edit action - hide spinning wheel on detail view when 2 API calls are finished. --- ui/scripts/system.js | 52 +++++++++++++++++++++++++++++++++----------- 1 file changed, 39 insertions(+), 13 deletions(-) diff --git a/ui/scripts/system.js b/ui/scripts/system.js index b37913c3fd9..28724a8f4e8 100644 --- a/ui/scripts/system.js +++ b/ui/scripts/system.js @@ -256,24 +256,50 @@ actions: { edit: { label: 'Edit', - action: function(args) { - $.ajax({ - url: createURL("updatePhysicalNetwork&id=" + args._custom.physicalNetworkObj.id + "&vlan=" + todb(args.data.vlan)), - dataType: "json", - success: function(json) { - - } - }); - + action: function(args) { $.ajax({ url: createURL("updateZone&id=" + args.context.zones[0].id + "&guestcidraddress=" + todb(args.data.guestcidraddress)), dataType: "json", - success: function(json) { - + async: false, + success: function(json) { + selectedZoneObj = json.updatezoneresponse.zone; } - }); + }); - //args.response.success({data: item}); + $.ajax({ + url: createURL("updatePhysicalNetwork&id=" + args._custom.physicalNetworkObj.id + "&vlan=" + todb(args.data.vlan)), + dataType: "json", + success: function(json) { + var jobId = json.updatephysicalnetworkresponse.jobid; + var timerKey = "updatePhysicalNetworkJob_"+jobId; + $("body").everyTime(2000, timerKey, function() { + $.ajax({ + url: createURL("queryAsyncJobResult&jobId="+jobId), + dataType: "json", + success: function(json) { + var result = json.queryasyncjobresultresponse; + if (result.jobstatus == 0) { + return; //Job has not completed + } + else { + $("body").stopTime(timerKey); + if (result.jobstatus == 1) { + var item = json.queryasyncjobresultresponse.jobresult.physicalnetwork; + args.response.success({data:item}); + } + else if (result.jobstatus == 2) { + alert("updatePhysicalNetwork failed. Error: " + fromdb(result.jobresult.errortext)); + } + } + }, + error: function(XMLHttpResponse) { + var errorMsg = parseXMLHttpResponse(XMLHttpResponse); + alert("updatePhysicalNetwork failed. Error: " + errorMsg); + } + }); + }); + } + }); } } },