new UI - reset whole view console panel when clicking different VM or router in middle menu.

This commit is contained in:
Jessica Wang 2010-10-01 10:28:16 -07:00
parent b441deec94
commit 9d5d1084d7
5 changed files with 40 additions and 38 deletions

View File

@ -31,11 +31,7 @@
<div class="grid_container" style="display: block;" id="tab_content_details">
<div class="grid_rows odd">
<div class="vm_statusbox">
<div id="vm_action_view_console">
<div class="vm_consolebox" id="box0">
</div>
<div class="vm_consolebox" id="box1" style="display: none">
</div>
<div id="view_console_container">
</div>
<div class="vm_status_textbox">
<div class="vm_status_textline green" id="state">
@ -951,3 +947,12 @@
</form>
</div>
</div>
<!-- view console template (begin) -->
<div id="view_console_template" style="display:none">
<div class="vm_consolebox" id="box0">
</div>
<div class="vm_consolebox" id="box1" style="display: none">
</div>
</div>
<!-- view console template (end) -->

View File

@ -50,11 +50,7 @@
<div class="grid_container">
<div class="grid_rows odd">
<div class="vm_statusbox">
<div id="vm_action_view_console">
<div class="vm_consolebox" id="box0">
</div>
<div class="vm_consolebox" id="box1" style="display: none">
</div>
<div id="view_console_container">
</div>
<div class="vm_status_textbox">
<div class="vm_status_textline green" id="state">
@ -159,3 +155,13 @@
</div>
</div>
<!-- router detail panel (end) -->
<!-- view console template (begin) -->
<div id="view_console_template" style="display:none">
<div class="vm_consolebox" id="box0">
</div>
<div class="vm_consolebox" id="box1" style="display: none">
</div>
</div>
<!-- view console template (end) -->

View File

@ -415,7 +415,7 @@ function clickInstanceGroupHeader($arrowIcon) {
setBooleanField(jsonObj.haenable, $detailsTab.find("#haenable"));
setBooleanField((jsonObj.isoid != null && jsonObj.isoid.length > 0), $detailsTab.find("#iso"));
setViewConsoleAction(jsonObj, $detailsTab);
resetViewConsoleAction(jsonObj, $detailsTab);
}
function vmJsonToVolumeTab(jsonObj) {

View File

@ -698,49 +698,40 @@ function updateStateInMidMenu(jsonObj, $midmenuItem1) {
$midmenuItem1.find("#icon_container").show();
}
function setViewConsoleAction(jsonObj, $detailsTab) {
var timerKey = "viewConsoleProxyTimerKey";
$detailsTab.stopTime(timerKey); //stop previous timer
//$("#vm_action_view_console #box0").css("background", "url(../images/consoletb_box.gif)"); //restore to default image
$("#vm_action_view_console #box0").css("background", "url(http://localhost:8080/client/new/images/consoletb_box.gif)"); //***** temporary hack. This line will be removed after new UI code (/ui/new/*) moves to /ui/*
if (jsonObj.state == 'Destroyed') {
//$detailsTab.find("#vm_action_view_console").unbind("mouseover");
$detailsTab.find("#vm_action_view_console").unbind("click");
}
else if (jsonObj.state == 'Running') {
function resetViewConsoleAction(jsonObj, $detailsTab) {
var $viewConsoleContainer = $detailsTab.find("#view_console_container").empty(); //reset view console panel
var $viewConsoleTemplate = $("#view_console_template").clone();
$viewConsoleContainer.append($viewConsoleTemplate.show());
if (jsonObj.state == 'Running') {
//console proxy image
var imgUrl = "console?cmd=thumbnail&vm=" + jsonObj.id + "&w=144&h=110";
imgUrl = "http://localhost:8080/client/" + imgUrl; //***** temporary hack. This line will be removed after new UI code (/ui/new/*) moves to /ui/*
var time = new Date();
$("#vm_action_view_console #box0").css("background", "url("+imgUrl+"&t="+time.getTime()+")");
var time = new Date();
$viewConsoleTemplate.find("#box1").hide().css("background", "url("+imgUrl+"&t="+time.getTime()+")");
var index = 0;
$detailsTab.everyTime(2000, timerKey, function() {
$detailsTab.everyTime(2000, function() {
var time = new Date();
if ((index % 2) == 0) {
$("#vm_action_view_console #box0").hide().css("background", "url("+imgUrl+"&t="+time.getTime()+")");
$("#vm_action_view_console #box1").show();
$viewConsoleTemplate.find("#box0").hide().css("background", "url("+imgUrl+"&t="+time.getTime()+")");
$viewConsoleTemplate.find("#box1").show();
} else {
$("#vm_action_view_console #box1").hide().css("background", "url("+imgUrl+"&t="+time.getTime()+")");
$("#vm_action_view_console #box0").show();
$viewConsoleTemplate.find("#box1").hide().css("background", "url("+imgUrl+"&t="+time.getTime()+")");
$viewConsoleTemplate.find("#box0").show();
}
index++;
}, 0);
}, 0);
//console proxy popup
$detailsTab.find("#vm_action_view_console").data("proxyUrl", "console?cmd=access&vm=" + jsonObj.id).data("vmId",jsonObj.id).click(function(event) {
$viewConsoleTemplate.data("proxyUrl", "console?cmd=access&vm=" + jsonObj.id).data("vmId",jsonObj.id).click(function(event) {
var proxyUrl = $(this).data("proxyUrl");
proxyUrl = "http://localhost:8080/client/" + proxyUrl; //***** temporary hack. This line will be removed after new UI code (/ui/new/*) moves to /ui/*
var viewer = window.open(proxyUrl, $(this).data("vmId"),"width=820,height=640,resizable=yes,menubar=no,status=no,scrollbars=no,toolbar=no,location=no");
viewer.focus();
return false;
});
}
else {
//$detailsTab.find("#vm_action_view_console").unbind("mouseover");
$detailsTab.find("#vm_action_view_console").unbind("click");
}
}
}

View File

@ -51,7 +51,7 @@ function routerJsonToDetailsTab(jsonObj) {
buildActionLinkForDetailsTab("Start Router", routerActionMap, $actionMenu, routerListAPIMap);
}
setViewConsoleAction(jsonObj, $detailsTab);
resetViewConsoleAction(jsonObj, $detailsTab);
}
var routerListAPIMap = {