cloudstack 3.0 UI: delete site-to-site VPN action in detailView - remove detail view and corresponding table row after remove action succeeds.

This commit is contained in:
Jessica Wang 2012-07-03 14:00:10 -07:00
parent 051acd2306
commit 5475436e03
2 changed files with 46 additions and 28 deletions

View File

@ -3380,9 +3380,15 @@
else {
clearInterval(createvpnconnectionIntervalID);
if (result.jobstatus == 1) {
//var obj = result.jobresult.vpnconnection;
$.removeTableRowInAction();
if (result.jobstatus == 1) {
//remove loading image on table row
var $listviewTable = $("div.list-view div.data-table table.body tbody");
var $tr1 = $listviewTable.find("tr.loading").removeClass("loading");
$tr1.find("td div.loading").removeClass("loading");
var item = result.jobresult.vpnconnection;
$tr1.find("td.publicip span").text(item.publicip);
cloudStack.dialog.notice({ message: "site-to-site VPN is created successfully." });
}
else if (result.jobstatus == 2) {
@ -3469,8 +3475,7 @@
}
}
},
actions: {
//???
actions: {
remove: {
label: 'delete site-to-site VPN',
messages: {
@ -3503,8 +3508,6 @@
else {
clearInterval(deleteVpnConnectionIntervalID);
if (result.jobstatus == 1) {
//var updatedObj = result.jobresult.vpnconnection;
$.ajax({
url: createURL("deleteVpnGateway"),
dataType: "json",
@ -3547,17 +3550,19 @@
else {
clearInterval(deleteVpnCustomerGatewayIntervalID);
if (result.jobstatus == 1) {
//debugger;
args.complete({ data: {} }); //show notification
$("div.detail-view div.loading-overlay").remove();
cloudStack.dialog.notice({ message: "site-to-site VPN has been deleted." });
$.removeDetailViewAndTableRow();
}
else if (result.jobstatus == 2) {
alert("deleteVpnCustomerGateway failed. Error: " + _s(result.jobresult.errortext));
$("div.detail-view div.loading-overlay").remove();
cloudStack.dialog.notice({ message: _s(result.jobresult.errortext) });
}
}
},
error: function(XMLHttpResponse) {
var errorMsg = parseXMLHttpResponse(XMLHttpResponse);
alert("deleteVpnCustomerGateway failed. Error: " + errorMsg);
$("div.detail-view div.loading-overlay").remove();
cloudStack.dialog.notice({ message: parseXMLHttpResponse(XMLHttpResponse) });
}
});
}, 3000);
@ -3565,13 +3570,14 @@
});
}
else if (result.jobstatus == 2) {
alert("deleteVpnGateway failed. Error: " + _s(result.jobresult.errortext));
$("div.detail-view div.loading-overlay").remove();
cloudStack.dialog.notice({ message: _s(result.jobresult.errortext) });
}
}
},
error: function(XMLHttpResponse) {
var errorMsg = parseXMLHttpResponse(XMLHttpResponse);
alert("deleteVpnGateway failed. Error: " + errorMsg);
$("div.detail-view div.loading-overlay").remove();
cloudStack.dialog.notice({ message: parseXMLHttpResponse(XMLHttpResponse) });
}
});
}, 3000);
@ -3579,26 +3585,21 @@
});
}
else if (result.jobstatus == 2) {
alert("deleteVpnConnection failed. Error: " + _s(result.jobresult.errortext));
$("div.detail-view div.loading-overlay").remove();
cloudStack.dialog.notice({ message: _s(result.jobresult.errortext) });
}
}
},
error: function(XMLHttpResponse) {
var errorMsg = parseXMLHttpResponse(XMLHttpResponse);
alert("deleteVpnConnection failed. Error: " + errorMsg);
$("div.detail-view div.loading-overlay").remove();
cloudStack.dialog.notice({ message: parseXMLHttpResponse(XMLHttpResponse) });
}
});
}, 3000);
}
});
},
notification: {
poll: pollAsyncJobResult
}
}
//???
});
}
}
}
}
}

View File

@ -277,7 +277,7 @@ cloudStack.actionFilter = {
}
}
$.removeTableRowInAction = function() { //remove table row that has loading image on top of it (i.e. table row that is in action)
$.removeTableRowInAction = function() { //remove table row that has loading image on top of it (i.e. table row that is in action) (e.g. after add action in listView succeeds)
var $listviewTable = $("div.list-view div.data-table table.body tbody");
var $tr1 = $listviewTable.find("tr.loading").removeClass("loading");
$tr1.find("td div.loading").removeClass("loading");
@ -286,6 +286,23 @@ $.removeTableRowInAction = function() { //remove table row that has loading imag
$listviewTable.append($("<tr>").addClass("empty even").append($("<td>").text("No data to show")));
}
$.removeDetailViewAndTableRow = function() { //remove detail view and corresponding table row (e.g. after remove action in detailView succeeds)
var $detailView = $("div.detail-view");
var $panel = $detailView.closest('.panel');
var $browser = $('#browser .container');
if ($detailView.is(':visible')) {
$browser.cloudBrowser('selectPanel', {
panel: $panel.prev()
});
}
if($detailView.data("list-view-row") != null) {
$detailView.data("list-view-row").remove();
var $listviewTable = $("div.list-view div.data-table table.body tbody");
if($listviewTable.find("tr").length == 0)
$listviewTable.append($("<tr>").addClass("empty even").append($("<td>").text("No data to show")));
}
}
var roleTypeUser = "0";
var roleTypeAdmin = "1";
var roleTypeDomainAdmin = "2";