From d1e2fc21a23316aa2c5046810f681be2ef34c83a Mon Sep 17 00:00:00 2001 From: Jessica Wang Date: Thu, 4 Nov 2010 19:02:23 -0700 Subject: [PATCH] new UI - VM - console proxy screen - only request thumbnail when mouse is over console proxy icon. When mouse is out of console proxy icon, stop requesting thumbnail. --- ui/scripts/cloud.core.js | 56 ++++++++++++++++++++++++---------------- 1 file changed, 34 insertions(+), 22 deletions(-) diff --git a/ui/scripts/cloud.core.js b/ui/scripts/cloud.core.js index be3b13ade16..69aab779666 100644 --- a/ui/scripts/cloud.core.js +++ b/ui/scripts/cloud.core.js @@ -751,32 +751,44 @@ function updateHostStateInMidMenu(jsonObj, $midmenuItem1) { $midmenuItem1.find("#icon_container").show(); } + +function enableConsoleHover($viewConsoleTemplate) { + var imgUrl = $viewConsoleTemplate.data("imgUrl"); + var time = new Date(); + $viewConsoleTemplate.find("#box1").hide().css("background", "url("+imgUrl+"&t="+time.getTime()+")"); + var index = 0; + $viewConsoleTemplate.everyTime(2000, function() { + var time = new Date(); + if ((index % 2) == 0) { + $viewConsoleTemplate.find("#box0").hide().css("background", "url("+imgUrl+"&t="+time.getTime()+")"); + $viewConsoleTemplate.find("#box1").show(); + } else { + $viewConsoleTemplate.find("#box1").hide().css("background", "url("+imgUrl+"&t="+time.getTime()+")"); + $viewConsoleTemplate.find("#box0").show(); + } + index++; + }, 0); +} + +function disableConsoleHover($viewConsoleTemplate) { + $viewConsoleTemplate.stopTime(); +} 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(); - $viewConsoleTemplate.find("#box1").hide().css("background", "url("+imgUrl+"&t="+time.getTime()+")"); - var index = 0; - $detailsTab.everyTime(2000, function() { - var time = new Date(); - if ((index % 2) == 0) { - $viewConsoleTemplate.find("#box0").hide().css("background", "url("+imgUrl+"&t="+time.getTime()+")"); - $viewConsoleTemplate.find("#box1").show(); - } else { - $viewConsoleTemplate.find("#box1").hide().css("background", "url("+imgUrl+"&t="+time.getTime()+")"); - $viewConsoleTemplate.find("#box0").show(); - } - index++; - }, 0); - + $viewConsoleContainer.append($viewConsoleTemplate.show()); + if (jsonObj.state == 'Running') { + //console proxy thumbnail + var imgUrl = "console?cmd=thumbnail&vm=" + jsonObj.id + "&w=144&h=110"; + $viewConsoleTemplate.data("imgUrl", imgUrl); + $viewConsoleTemplate.bind("mouseover", function(event) { + enableConsoleHover($(this)); + }); + $viewConsoleTemplate.bind("mouseout", function(event) { + disableConsoleHover($(this)); + }); + //console proxy popup $viewConsoleTemplate.data("proxyUrl", "console?cmd=access&vm=" + jsonObj.id).data("vmId",jsonObj.id).click(function(event) { var proxyUrl = $(this).data("proxyUrl");