new UI - Routers page - implement Start Router, Stop Router action.

This commit is contained in:
Jessica Wang 2010-09-15 11:11:25 -07:00
parent ef8781b7b5
commit 4409d7826e
5 changed files with 90 additions and 27 deletions

View File

@ -27,8 +27,8 @@
</div>
<div id="tab_content_details">
<div class="grid_actionpanel">
<div class="grid_actionbox" id="volume_action_link">
<div class="grid_actionsdropdown_box" id="volume_action_menu" style="display: none;">
<div class="grid_actionbox" id="action_link">
<div class="grid_actionsdropdown_box" id="action_menu" style="display: none;">
<ul class="actionsdropdown_boxlist" id="action_list">
<!--
<li> <a href="#"> Delete </a> </li>

View File

@ -28,8 +28,8 @@
<!--Details tab (start)-->
<div id="tab_content_details">
<div class="grid_actionpanel">
<div class="grid_actionbox" id="volume_action_link">
<div class="grid_actionsdropdown_box" id="volume_action_menu" style="display: none;">
<div class="grid_actionbox" id="action_link">
<div class="grid_actionsdropdown_box" id="action_menu" style="display: none;">
<ul class="actionsdropdown_boxlist" id="action_list">
<!--
<li> <a href="#"> Delete </a> </li>

View File

@ -30,7 +30,13 @@ $(document).ready(function() {
clearMidMenu();
$("#right_panel").load(rightPanelJSP, function(){
afterLoadRightPanelJSP();
$("#right_panel_content #tab_content_details #action_message_box #close_button").bind("click", function(event){
$(this).parent().hide();
return false;
});
afterLoadRightPanelJSP();
$.ajax({
cache: false,
data: createURL("command="+commandString+"&pagesize="+midmenuItemCount),

View File

@ -1,5 +1,10 @@
function afterLoadRouterJSP() {
}
function routerAfterDetailsTabAction(jsonObj) {
$("#midmenuItem_"+jsonObj.id).data("jsonObj", jsonObj);
routerJsonToDetailsTab(jsonObj);
}
function routerToMidmenu(jsonObj, $midmenuItem1) {
@ -17,17 +22,74 @@ function routerToMidmenu(jsonObj, $midmenuItem1) {
function routerToRigntPanel($midmenuItem) {
var jsonObj = $midmenuItem.data("jsonObj");
routerJsonToDetailsTab(jsonObj);
}
function routerJsonToDetailsTab(jsonObj) {
var $detailsTab = $("#right_panel_content #tab_content_details");
$detailsTab.data("jsonObj", jsonObj);
$detailsTab.find("#state").text(fromdb(jsonObj.state));
$detailsTab.find("#zonename").text(fromdb(jsonObj.zonename));
$detailsTab.find("#name").text(fromdb(jsonObj.name));
$detailsTab.find("#publicip").text(fromdb(jsonObj.publicip));
$detailsTab.find("#privateip").text(fromdb(jsonObj.privateip));
$detailsTab.find("#guestipaddress").text(fromdb(jsonObj.guestipaddress));
$detailsTab.find("#hostname").text(fromdb(jsonObj.hostname));
$detailsTab.find("#networkdomain").text(fromdb(jsonObj.networkdomain));
$detailsTab.find("#account").text(fromdb(jsonObj.account));
setDateField(jsonObj.created, $detailsTab.find("#created"));
var $rightPanelContent = $("#right_panel_content");
var $actionLink = $detailsTab.find("#action_link");
$actionLink.bind("mouseover", function(event) {
$(this).find("#action_menu").show();
return false;
});
$actionLink.bind("mouseout", function(event) {
$(this).find("#action_menu").hide();
return false;
});
var $actionMenu = $actionLink.find("#action_menu");
$actionMenu.find("#action_list").empty();
$rightPanelContent.find("#state").text(fromdb(jsonObj.state));
$rightPanelContent.find("#zonename").text(fromdb(jsonObj.zonename));
$rightPanelContent.find("#name").text(fromdb(jsonObj.name));
$rightPanelContent.find("#publicip").text(fromdb(jsonObj.publicip));
$rightPanelContent.find("#privateip").text(fromdb(jsonObj.privateip));
$rightPanelContent.find("#guestipaddress").text(fromdb(jsonObj.guestipaddress));
$rightPanelContent.find("#hostname").text(fromdb(jsonObj.hostname));
$rightPanelContent.find("#networkdomain").text(fromdb(jsonObj.networkdomain));
$rightPanelContent.find("#account").text(fromdb(jsonObj.account));
setDateField(jsonObj.created, $rightPanelContent.find("#created"));
}
if (jsonObj.state == 'Running') {
//template.find(".grid_links").find("#router_action_stop_container, #router_action_reboot_container, #router_action_view_console_container").show();
buildActionLinkForDetailsTab("Stop Router", routerActionMap, $actionMenu, routerListAPIMap);
buildActionLinkForDetailsTab("Reboot Router", routerActionMap, $actionMenu, routerListAPIMap);
//buildActionLinkForDetailsTab("View Console", routerActionMap, $actionMenu, routerListAPIMap);
}
else if (jsonObj.state == 'Stopped') {
//template.find(".grid_links").find("#router_action_start_container").show();
buildActionLinkForDetailsTab("Start Router", routerActionMap, $actionMenu, routerListAPIMap);
}
}
var routerListAPIMap = {
listAPI: "listRouters",
listAPIResponse: "listroutersresponse",
listAPIResponseObj: "router"
};
var routerActionMap = {
"Stop Router": {
api: "stopRouter",
isAsyncJob: true,
asyncJobResponse: "stoprouterresponse",
inProcessText: "Stopping Router....",
afterActionSeccessFn: routerAfterDetailsTabAction
},
"Start Router": {
api: "startRouter",
isAsyncJob: true,
asyncJobResponse: "startrouterresponse",
inProcessText: "Starting Router....",
afterActionSeccessFn: routerAfterDetailsTabAction
},
"Reboot Router": {
api: "rebootRouter",
isAsyncJob: true,
asyncJobResponse: "rebootrouterresponse",
inProcessText: "Rebooting Router....",
afterActionSeccessFn: routerAfterDetailsTabAction
}
}

View File

@ -19,12 +19,7 @@ function afterLoadVolumeJSP() {
}
}
}
});
$("#right_panel_content #tab_content_details #action_message_box #close_button").bind("click", function(event){
$(this).parent().hide();
return false;
});
});
}
function volumeAfterDetailsTabAction(jsonObj) {
@ -69,17 +64,17 @@ function volumeJsonToDetailsTab(jsonObj){
setDateField(jsonObj.created, $detailsTab.find("#created"));
var $actionLink = $detailsTab.find("#volume_action_link");
var $actionLink = $detailsTab.find("#action_link");
$actionLink.bind("mouseover", function(event) {
$(this).find("#volume_action_menu").show();
$(this).find("#action_menu").show();
return false;
});
$actionLink.bind("mouseout", function(event) {
$(this).find("#volume_action_menu").hide();
$(this).find("#action_menu").hide();
return false;
});
var $actionMenu = $actionLink.find("#volume_action_menu");
var $actionMenu = $actionLink.find("#action_menu");
$actionMenu.find("#action_list").empty();
if(jsonObj.type=="ROOT") { //"create template" is allowed(when stopped), "detach disk" is disallowed.
if (jsonObj.vmstate == "Stopped")