new UI - disk offering page - implement updateDiskOffering action

This commit is contained in:
Jessica Wang 2010-10-11 12:37:15 -07:00
parent 09cefaf3e9
commit 2942a89ca0
2 changed files with 60 additions and 4 deletions

View File

@ -63,6 +63,8 @@
<div class="grid_row_cell" style="width: 79%;">
<div class="row_celltitles" id="name">
</div>
<input class="text" id="name_edit" style="width: 200px; display: none;" type="text" />
<div id="name_edit_errormsg" style="display:none"></div>
</div>
</div>
<div class="grid_rows odd">
@ -73,6 +75,8 @@
<div class="grid_row_cell" style="width: 79%;">
<div class="row_celltitles" id="displaytext">
</div>
<input class="text" id="displaytext_edit" style="width: 200px; display: none;" type="text" />
<div id="displaytext_edit_errormsg" style="display:none"></div>
</div>
</div>
<div class="grid_rows even">

View File

@ -1,4 +1,12 @@
function afterLoadDiskOfferingJSP() {
var $detailsTab = $("#right_panel_content #tab_content_details");
//edit button ***
var $readonlyFields = $detailsTab.find("#name, #displaytext");
var $editFields = $detailsTab.find("#name_edit, #displaytext_edit");
initializeEditFunction($readonlyFields, $editFields, doUpdateDiskOffering);
//dialogs
initDialog("dialog_add_disk");
//add button ***
@ -63,6 +71,45 @@ function afterLoadDiskOfferingJSP() {
});
}
function doUpdateDiskOffering() {
var $detailsTab = $("#right_panel_content #tab_content_details");
var jsonObj = $detailsTab.data("jsonObj");
var id = jsonObj.id;
// validate values
var isValid = true;
isValid &= validateString("Name", $detailsTab.find("#name_edit"), $detailsTab.find("#name_edit_errormsg"), true);
isValid &= validateString("Display Text", $detailsTab.find("#displaytext_edit"), $detailsTab.find("#displaytext_edit_errormsg"), true);
if (!isValid)
return;
var array1 = [];
var name = $detailsTab.find("#name_edit").val();
array1.push("&name="+todb(name));
var displaytext = $detailsTab.find("#displaytext_edit").val();
array1.push("&displayText="+todb(displaytext));
$.ajax({
data: createURL("command=updateDiskOffering&id="+id+array1.join("")),
dataType: "json",
success: function(json) {
//call listDiskOffering before bug 6502(What updateDiskOffering API returns should include an embedded object) is fixed.
var jsonObj;
$.ajax({
data: createURL("command=listDiskOfferings&id="+id),
dataType: "json",
async: false,
success: function(json) {
jsonObj = json.listdiskofferingsresponse.diskoffering[0];
}
});
var $midmenuItem1 = $("#"+getMidmenuId(jsonObj));
diskOfferingToMidmenu(jsonObj, $midmenuItem1);
diskOfferingToRigntPanel($midmenuItem1);
}
});
}
function diskOfferingToMidmenu(jsonObj, $midmenuItem1) {
$midmenuItem1.attr("id", getMidmenuId(jsonObj));
$midmenuItem1.data("jsonObj", jsonObj);
@ -74,8 +121,8 @@ function diskOfferingToMidmenu(jsonObj, $midmenuItem1) {
$midmenuItem1.find("#second_row").text(convertBytes(jsonObj.disksize));
}
function diskOfferingToRigntPanel($midmenuItem) {
var jsonObj = $midmenuItem.data("jsonObj");
function diskOfferingToRigntPanel($midmenuItem1) {
var jsonObj = $midmenuItem1.data("jsonObj");
diskOfferingJsonToDetailsTab(jsonObj);
}
@ -83,8 +130,13 @@ function diskOfferingJsonToDetailsTab(jsonObj) {
var $detailsTab = $("#right_panel_content #tab_content_details");
$detailsTab.data("jsonObj", jsonObj);
$detailsTab.find("#id").text(jsonObj.id);
$detailsTab.find("#name").text(fromdb(jsonObj.name));
$detailsTab.find("#name_edit").val(fromdb(jsonObj.name));
$detailsTab.find("#displaytext").text(fromdb(jsonObj.displaytext));
$detailsTab.find("#displaytext_edit").val(fromdb(jsonObj.displaytext));
$detailsTab.find("#disksize").text(convertBytes(jsonObj.disksize));
$detailsTab.find("#tags").text(fromdb(jsonObj.tags));
$detailsTab.find("#domain").text(fromdb(jsonObj.domain));