100 lines
3.0 KiB
JavaScript
100 lines
3.0 KiB
JavaScript
|
var ToolbarToggler = (function(my) {
|
||
|
var INITIAL_TOOLBAR_TIMEOUT = 20000;
|
||
|
var TOOLBAR_TIMEOUT = INITIAL_TOOLBAR_TIMEOUT;
|
||
|
var toolbarTimeout;
|
||
|
|
||
|
/**
|
||
|
* Shows the main toolbar.
|
||
|
*/
|
||
|
my.showToolbar = function() {
|
||
|
var header = $("#header"),
|
||
|
bottomToolbar = $("#bottomToolbar");
|
||
|
if (!header.is(':visible') || !bottomToolbar.is(":visible")) {
|
||
|
header.show("slide", { direction: "up", duration: 300});
|
||
|
$('#subject').animate({top: "+=40"}, 300);
|
||
|
if(!bottomToolbar.is(":visible")) {
|
||
|
bottomToolbar.show("slide", {direction: "right",cduration: 300});
|
||
|
}
|
||
|
|
||
|
if (toolbarTimeout) {
|
||
|
clearTimeout(toolbarTimeout);
|
||
|
toolbarTimeout = null;
|
||
|
}
|
||
|
toolbarTimeout = setTimeout(hideToolbar, TOOLBAR_TIMEOUT);
|
||
|
TOOLBAR_TIMEOUT = 4000;
|
||
|
}
|
||
|
|
||
|
if (focus != null)
|
||
|
{
|
||
|
// TODO: Enable settings functionality. Need to uncomment the settings button in index.html.
|
||
|
// $('#settingsButton').css({visibility:"visible"});
|
||
|
}
|
||
|
|
||
|
// Show/hide desktop sharing button
|
||
|
showDesktopSharingButton();
|
||
|
};
|
||
|
|
||
|
/**
|
||
|
* Hides the toolbar.
|
||
|
*/
|
||
|
var hideToolbar = function () {
|
||
|
var header = $("#header"),
|
||
|
bottomToolbar = $("#bottomToolbar");
|
||
|
var isToolbarHover = false;
|
||
|
header.find('*').each(function () {
|
||
|
var id = $(this).attr('id');
|
||
|
if ($("#" + id + ":hover").length > 0) {
|
||
|
isToolbarHover = true;
|
||
|
}
|
||
|
});
|
||
|
if($("#bottomToolbar:hover").length > 0) {
|
||
|
isToolbarHover = true;
|
||
|
}
|
||
|
|
||
|
clearTimeout(toolbarTimeout);
|
||
|
toolbarTimeout = null;
|
||
|
|
||
|
if (!isToolbarHover) {
|
||
|
header.hide("slide", { direction: "up", duration: 300});
|
||
|
$('#subject').animate({top: "-=40"}, 300);
|
||
|
if(!$("#remoteVideos").is(":visible")) {
|
||
|
bottomToolbar.hide("slide", {direction: "right", cduration: 300});
|
||
|
}
|
||
|
}
|
||
|
else {
|
||
|
toolbarTimeout = setTimeout(hideToolbar, TOOLBAR_TIMEOUT);
|
||
|
}
|
||
|
};
|
||
|
|
||
|
|
||
|
/**
|
||
|
* Docks/undocks the toolbar.
|
||
|
*
|
||
|
* @param isDock indicates what operation to perform
|
||
|
*/
|
||
|
my.dockToolbar = function(isDock) {
|
||
|
if (isDock) {
|
||
|
// First make sure the toolbar is shown.
|
||
|
if (!$('#header').is(':visible')) {
|
||
|
ToolbarToggler.showToolbar();
|
||
|
}
|
||
|
|
||
|
// Then clear the time out, to dock the toolbar.
|
||
|
if (toolbarTimeout) {
|
||
|
clearTimeout(toolbarTimeout);
|
||
|
toolbarTimeout = null;
|
||
|
}
|
||
|
}
|
||
|
else {
|
||
|
if (!$('#header').is(':visible')) {
|
||
|
ToolbarToggler.showToolbar();
|
||
|
}
|
||
|
else {
|
||
|
toolbarTimeout = setTimeout(hideToolbar, TOOLBAR_TIMEOUT);
|
||
|
}
|
||
|
}
|
||
|
};
|
||
|
|
||
|
|
||
|
return my;
|
||
|
}(ToolbarToggler || {}));
|