new UI - volume page - implement take snapshot action.

This commit is contained in:
Jessica Wang 2010-09-21 15:37:22 -07:00
parent d07cac932a
commit f89e11bb21
2 changed files with 37 additions and 4 deletions

View File

@ -218,3 +218,9 @@
</div>
</div>
<!-- Create Snapshot Dialog (begin) -->
<div id="dialog_create_snapshot" title="Create Snapshot" style="display: none">
<p>
Please confirm you want to create snapshot for this volume.</p>
</div>
<!-- Create Snapshot Dialog (end) -->

View File

@ -5,7 +5,11 @@ function afterLoadVolumeJSP() {
modal: true,
zIndex: 2000
}));
activateDialog($("#dialog_create_snapshot").dialog({
autoOpen: false,
modal: true,
zIndex: 2000
}));
$.ajax({
data: createURL("command=listOsTypes&response=json"),
@ -68,7 +72,7 @@ function volumeJsonToDetailsTab(jsonObj){
var $actionMenu = $("#right_panel_content #tab_content_details #action_link #action_menu");
$actionMenu.find("#action_list").empty();
//buildActionLinkForDetailsTab("Take Snapshot", volumeActionMap, $actionMenu, volumeListAPIMap); //show take snapshot
buildActionLinkForDetailsTab("Take Snapshot", volumeActionMap, $actionMenu, volumeListAPIMap); //show take snapshot
//buildActionLinkForDetailsTab("Recurring Snapshot", volumeActionMap, $actionMenu, volumeListAPIMap); //show Recurring Snapshot
if(jsonObj.state != "Creating" && jsonObj.state != "Corrupted" && jsonObj.name != "attaching") {
@ -134,7 +138,14 @@ var volumeActionMap = {
clearRightPanel();
volumeClearRightPanel();
}
}
},
"Take Snapshot": {
isAsyncJob: true,
asyncJobResponse: "createsnapshotresponse",
dialogBeforeActionFn : doTakeSnapshot,
inProcessText: "Taking Snapshot....",
afterActionSeccessFn: function(){}
}
}
var volumeListAPIMap = {
@ -173,4 +184,20 @@ function doCreateTemplateFromVolume($actionLink, listAPIMap, $detailsTab) {
$(this).dialog("close");
}
}).dialog("open");
}
}
function doTakeSnapshot($actionLink, listAPIMap, $detailsTab) {
$("#dialog_create_snapshot")
.dialog('option', 'buttons', {
"Confirm": function() {
$(this).dialog("close");
var id = $detailsTab.data("jsonObj").id;
var apiCommand = "command=createSnapshot&volumeid="+id;
doActionToDetailsTab(id, $actionLink, apiCommand, listAPIMap);
},
"Cancel": function() {
$(this).dialog("close");
}
}).dialog("open");
}