00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 if (typeof Debug == 'undefined')
00017 console.log('ERROR: Debug is undefined! Must include Debug.js before Desktop.js');
00018
00019 if (typeof Desktop == 'undefined')
00020 console.log('ERROR: Desktop is undefined! Must include Desktop.js before DesktopDashboard.js');
00021 else {
00022
00023
00026
00029 Desktop.createDashboard = function(z) {
00030 if(false === (this instanceof Desktop.createDashboard)) {
00031
00032
00033 return new Desktop.createDashboard(z);
00034 }
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053 var _defaultDashboardColor = "rgb(0,40,85)";
00054
00055
00056
00057
00058
00059 var _defaultDashboardHeight = 41;
00060 var _defaultWindowDashboardWidth = 200;
00061 var _defaultWindowDashboardMinWidth = 50;
00062
00063 var _windowDashboardWidth = _defaultWindowDashboardWidth;
00064
00065 Debug.log("window.parent.window.location.hash=" + window.parent.window.location.hash,
00066 Debug.MED_PRIORITY);
00067 var _displayWindowDashboard =
00068 window.parent.window.location.hash[1]?
00069 (window.parent.window.location.hash[1] | 0):1;
00070 var _windowDashboard,_topBar,_showDesktopBtn,_fullScreenBtn,_fullScreenRefreshBtn;
00071
00072 var _windowDashboardWindowCSSRule;
00073
00074 var _layoutDropDownDisplayed = false;
00075 var _layoutMenuItems = [];
00076 var numOfUserLayouts = 5;
00077 var numOfSystemLayouts = 5;
00078 for(var i=0;i<numOfSystemLayouts;++i)
00079 _layoutMenuItems.push("System Preset-" + (i+1));
00080 _layoutMenuItems.push("---");
00081 for(var i=0;i<numOfUserLayouts;++i)
00082 _layoutMenuItems.push("User Preset-" + (i+1));
00083
00084 var _dashboardElement, _dashboardColorPostbox;
00085
00086 var _deepClickTimer = 0;
00087
00088
00089
00090 this.dashboardElement;
00091
00092
00093
00094
00095
00096
00097 var _toggleWindowDashboard = function(event,setValue) {
00098
00099 if(setValue !== undefined)
00100 _displayWindowDashboard = setValue;
00101 else
00102 _displayWindowDashboard = !_displayWindowDashboard;
00103
00104 var newURL = window.parent.window.location.pathname +
00105 window.parent.window.location.search +
00106 "#"+
00107 (_displayWindowDashboard?"1":"0");
00108
00109
00110 if(!Desktop.isWizardMode())
00111 window.parent.window.history.replaceState('ots', 'ots', newURL);
00112 else
00113 window.parent.window.history.replaceState('ots wiz', 'ots wiz', newURL);
00114
00115 _windowDashboard.style.display = _displayWindowDashboard?"inline":"none";
00116 Desktop.desktop.redrawDesktop();
00117 }
00118
00119
00120
00121
00122 var _refreshTitle = function() {
00123
00124 var el,winIndex;
00125 var hdrW = _windowDashboardWidth - 14;
00126 for(var i=0;i<Desktop.desktop.getNumberOfWindows();++i) {
00127 el = document.getElementById('DesktopDashboard-windowDashboard-win'+i);
00128 winIndex = document.getElementById('DesktopDashboard-windowDashboard-winIndex'+i).innerHTML;
00129 el.innerHTML = Desktop.desktop.getWindowNameByIndex(winIndex) +
00130 (Desktop.desktop.getWindowSubNameByIndex(winIndex)==""?"":" - ") +
00131 Desktop.desktop.getWindowSubNameByIndex(winIndex);
00132 while(el.scrollWidth > hdrW && el.innerHTML.length > 4)
00133 el.innerHTML = el.innerHTML.substr(0,el.innerHTML.length-4)+"...";
00134
00135 el.innerHTML += "<div class='hiddenDiv' " +
00136 "id='DesktopDashboard-windowDashboard-winIndex"+i+"'>"+ winIndex + "</div>";
00137 }
00138 }
00139
00140 var _redrawDashboard = function() {
00141
00142 _topBar.style.left = Desktop.desktop.getDesktopX()+"px";
00143 _topBar.style.top = Desktop.desktop.getDesktopY()+"px";
00144 _topBar.style.width = Desktop.desktop.getDesktopWidth()+"px";
00145 _topBar.style.height = _defaultDashboardHeight+"px";
00146
00147 _windowDashboard.style.left = Desktop.desktop.getDesktopX()+"px";
00148 _windowDashboard.style.top = Desktop.desktop.getDesktopY()+_defaultDashboardHeight+"px";
00149 _windowDashboard.style.width = _windowDashboardWidth+"px";
00150 _windowDashboardWindowCSSRule.style.width = (_windowDashboardWidth-34)+"px";
00151 _refreshTitle();
00152 _windowDashboard.style.height = Desktop.desktop.getDesktopHeight()-(Desktop.desktop.getDesktopY()+_defaultDashboardHeight)+"px";
00153
00154 }
00155
00156
00157 var _getDashboardWindowWidthCSSRule = function() {
00158
00159 var i,j;
00160 for(i=0;i<document.styleSheets.length;++i) {
00161 Debug.log(document.styleSheets[i].href);
00162 if(document.styleSheets[i].href && document.styleSheets[i].href.split('/').pop() ==
00163 "Desktop.css") {
00164 for(j=0;j<document.styleSheets[i].cssRules.length;++j) {
00165 if(document.styleSheets[i].cssRules[j].selectorText ==
00166 "#Desktop .DesktopDashboard-windowDashboard-win")
00167 return document.styleSheets[i].cssRules[j];
00168 }
00169 break;
00170 }
00171 }
00172 if(i == document.styleSheets.length) Debug.log("FAIL -- Could not locate CSS Rule for Dashboard Window.",Debug.HIGH_PRIORITY);
00173 return 0;
00174 }
00175
00176
00177
00178 var _windowOrganizeMode = -1;
00179 var _windowOrganizeModeTimeout = 0;
00180 var _windowDashboardOrganize = function() {
00181
00182
00183 clearTimeout(_windowOrganizeModeTimeout);
00184 _windowOrganizeModeTimeout = setTimeout(function() {_windowOrganizeMode = -1; Debug.log("Reseting _windowOrganizeMode.");},10000);
00185
00186
00187 var win;
00188
00189 var dx = Desktop.desktop.getDesktopContentX(), dy = Desktop.desktop.getDesktopContentY(),
00190 dw = Desktop.desktop.getDesktopContentWidth(), dh = Desktop.desktop.getDesktopContentHeight();
00191 var xx, yy;
00192
00193 var numOfWindows = Desktop.desktop.getNumberOfWindows();
00194
00195
00196 if(++_windowOrganizeMode < 0 || _windowOrganizeMode > numOfWindows)
00197 _windowOrganizeMode = 0;
00198
00199
00200
00201 if(_windowOrganizeMode && numOfWindows > 1)
00202 ++numOfWindows;
00203
00204 if(1)
00205 {
00206 var rows = 1;
00207 var ww = Math.floor(dw/numOfWindows);
00208 var wh = dh;
00209
00210 while(ww*2 < wh) {
00211
00212 ww = Math.floor(dw/Math.ceil(numOfWindows/++rows)); wh = Math.floor(dh/rows);
00213 }
00214 xx = dx; yy = dy;
00215
00216 var cols = Math.ceil(numOfWindows/rows);
00217 Debug.log("Desktop Dashboard Organize r" + rows + " , c" + cols,Debug.LOW_PRIORITY);
00218
00219
00220
00221
00222
00223 var ic = 0;
00224 if(_windowOrganizeMode && numOfWindows > 1)
00225 {
00226 var i = _windowOrganizeMode-1;
00227
00228 win = Desktop.desktop.getWindowByIndex(
00229 document.getElementById('DesktopDashboard-windowDashboard-winIndex'+i).innerHTML);
00230
00231 if(win.isMinimized()) win.unminimize();
00232 if(win.isMaximized()) win.unmaximize();
00233
00234
00235 win.setWindowSizeAndPosition(xx,yy,ww*2,wh);
00236
00237 xx += ww*2;
00238 ic+=2;
00239 if((ic)%cols==0){xx = dx; yy += wh;}
00240
00241
00242
00243 }
00244
00245
00246 for(var i=0;i<Desktop.desktop.getNumberOfWindows();++i) {
00247
00248 if(_windowOrganizeMode && numOfWindows > 1 && i == _windowOrganizeMode-1) continue;
00249
00250 win = Desktop.desktop.getWindowByIndex(
00251 document.getElementById('DesktopDashboard-windowDashboard-winIndex'+i).innerHTML);
00252
00253 if(win.isMinimized()) win.unminimize();
00254 if(win.isMaximized()) win.unmaximize();
00255
00256
00257 if(i == Desktop.desktop.getNumberOfWindows()-1)
00258 win.setWindowSizeAndPosition(xx,yy,ww*(1 + (rows*cols - numOfWindows)),wh);
00259 else
00260 win.setWindowSizeAndPosition(xx,yy,ww,wh);
00261
00262 xx += ww;
00263 if((++ic)%cols==0){xx = dx; yy += wh;}
00264
00265
00266
00267 }
00268 Desktop.desktop.redrawDashboardWindowButtons();
00269 }
00270
00271 Debug.log("Desktop Dashboard Organize Mode: " + _windowOrganizeMode,Debug.LOW_PRIORITY);
00272 }
00273
00274 var _windowDashboardMinimizeAll = function() {
00275 var win;
00276 for(var i=0;i<Desktop.desktop.getNumberOfWindows();++i) {
00277 win = Desktop.desktop.getWindowByIndex(i);
00278 win.minimize(); if(!win.isMinimized()) win.minimize();
00279
00280 }
00281 }
00282
00283 var _windowDashboardRestoreAll = function() {
00284 var win;
00285 for(var i=0;i<Desktop.desktop.getNumberOfWindows();++i) {
00286 win = Desktop.desktop.getWindowByIndex(i);
00287 win.unminimize();
00288 if (win.isMaximized())
00289 Desktop.desktop.setForeWindow(win);
00290
00291 }
00292
00293 }
00294
00295
00296 var _windowDashboardToggleWindows = function () {
00297
00298
00299
00300
00301
00302
00303
00304
00305 if(_showDesktopBtn.innerHTML.indexOf(">Show Desktop</a>") !== -1)
00306 _windowDashboardMinimizeAll();
00307 else
00308 _windowDashboardRestoreAll();
00309
00310 Desktop.desktop.redrawDashboardWindowButtons();
00311
00312
00313
00314
00315 }
00316
00317 var _windowDashboardRefresh = function() {
00318 updateWindows();
00319 Debug.log("Window refreshed.");
00320 }
00321
00322
00323
00324 var _windowDashboardLayoutsDropDown = function() {
00325 _layoutDropDownDisplayed = !_layoutDropDownDisplayed;
00326 Debug.log("Desktop _windowDashboardDefaultsDropDown " +
00327 _layoutDropDownDisplayed,Debug.LOW_PRIORITY);
00328
00329 var el;
00330
00331 el = document.getElementById("DesktopDashboard-defaults-dropdown");
00332 if(el) {
00333
00334 Debug.log("found DesktopDashboard-defaults-dropdown div and deleted",Debug.LOW_PRIORITY);
00335 el.parentNode.removeChild(el);
00336 }
00337 if(!_layoutDropDownDisplayed) return;
00338
00339
00340 el = document.createElement("div");
00341 el.setAttribute("id", "DesktopDashboard-defaults-dropdown");
00342 el.style.backgroundColor = _defaultDashboardColor;
00343 var str = "";
00344 for(var i=0;i<_layoutMenuItems.length;++i)
00345 if(_layoutMenuItems[i] == "---")
00346 str += "<center><hr width='75%' style='border:1px solid; margin-top:5px'/></center>";
00347 else {
00348 str += "<a href='#' onmouseup='Desktop.desktop.dashboard.windowDashboardLayoutsDropDown(); "
00349 + "Desktop.desktop.defaultLayoutSelect("+i+"); return false;'>"
00350 + _layoutMenuItems[i] + "</a>";
00351
00352 str += "<a onclick='Desktop.openNewBrowserTab(" +
00353 "\"Desktop.openLayout(" + i + ")\",\"\"," +
00354 "\"\",0 /*unique*/);' " +
00355 "title='Click to open the layout in a new tab' " +
00356 ">"
00357 str += "<img style='width:11px;margin-left:10px;' " +
00358 "src='/WebPath/images/dashboardImages/icon-New-Tab.png'>";
00359 str += "</a>";
00360
00361 if(i<_layoutMenuItems.length-1)
00362 str += "<br/>";
00363 }
00364
00365 el.innerHTML = str;
00366 _dashboardElement.appendChild(el);
00367 }
00368
00369
00370
00371
00372 this.getDashboardHeight = function() { return _defaultDashboardHeight;}
00373 this.getDashboardWidth = function() { return _displayWindowDashboard?_windowDashboardWidth:0;}
00374 this.setDashboardWidth = function(w) { if(w > _defaultWindowDashboardMinWidth) _windowDashboardWidth = w; Desktop.desktop.redrawDesktop();}
00375
00376 this.toggleWindowDashboard = _toggleWindowDashboard;
00377 this.redrawDashboard = _redrawDashboard;
00378 this.windowDashboardLayoutsDropDown = _windowDashboardLayoutsDropDown;
00379 this.windowDashboardOrganize = _windowDashboardOrganize;
00380
00381 this.updateWindows = function() {
00382
00383 _windowDashboard.innerHTML = "";
00384
00385 var mySortArrId = [];
00386 var mySortArrIndex = [];
00387 for(var i=0;i<Desktop.desktop.getNumberOfWindows();++i) {
00388 mySortArrId.push(Desktop.desktop.getWindowByIndex(i).getWindowId());
00389 mySortArrIndex.push(i);
00390 }
00391
00392
00393 for(var i=0;i<mySortArrId.length-1;++i) {
00394 var min = i;
00395 for(var j=i+1;j<mySortArrId.length;++j)
00396 if(mySortArrId[j] < mySortArrId[min])
00397 min = j;
00398
00399
00400 var tmp;
00401 tmp = mySortArrId[i];
00402 mySortArrId[i] = mySortArrId[min];
00403 mySortArrId[min] = tmp;
00404 tmp = mySortArrIndex[i];
00405 mySortArrIndex[i] = mySortArrIndex[min];
00406 mySortArrIndex[min] = tmp;
00407 }
00408
00409
00410 var tmpClassStr, defClassStr = "DesktopDashboard-windowDashboard-win";
00411
00412 for(var i=0;i<Desktop.desktop.getNumberOfWindows();++i) {
00413
00414 tmpClassStr = defClassStr +
00415 ((mySortArrIndex[i] == Desktop.desktop.getNumberOfWindows()-1)?
00416 " DesktopDashboard-windowDashboard-foreWin":"");
00417 _windowDashboard.innerHTML +=
00418 "<div " +
00419 "onmouseup='Desktop.desktop.dashboard.handleDashboardWinMouseUp(event," +
00420
00421 mySortArrId[i] + ");' " +
00422 "onmousedown='Desktop.desktop.dashboard.handleDashboardWinMouseDown(event," +
00423
00424 mySortArrId[i] + ");' " +
00425
00426 "class='" + tmpClassStr + "' " +
00427 "id='DesktopDashboard-windowDashboard-win"+i+"'>" +
00428 Desktop.desktop.getWindowNameByIndex(mySortArrIndex[i]) + " - " +
00429 Desktop.desktop.getWindowSubNameByIndex(mySortArrIndex[i]) +
00430 "<div class='hiddenDiv' " +
00431 "id='DesktopDashboard-windowDashboard-winIndex"+i+"'>"+ mySortArrIndex[i] +
00432 "</div>" +
00433 "</div>\n";
00434 }
00435
00436 _refreshTitle();
00437 }
00438
00439 this.redrawFullScreenButton = function() {
00440 _fullScreenBtn.innerHTML = "<a href='#' title='Click to toggle full screen mode for current window'>" +
00441 ((Desktop.desktop.getForeWindow() &&
00442 Desktop.desktop.getForeWindow().isMaximized())?
00443 "Exit Full Screen":"Full Screen") + "</a>";
00444
00445 }
00446
00447 this.redrawRefreshButton = function() {
00448 _fullScreenRefreshBtn.innerHTML = "<a href='#' style='font-size:16px' title='Click to reload the desktop and all windows'> ↻ </a>";
00449 _fullScreenRefreshBtn.style.height = "16px";
00450 _fullScreenRefreshBtn.style.padding = "3px 10px 7px 10px";
00451 }
00452
00453 this.redrawShowDesktopButton = function() {
00454 _showDesktopBtn.innerHTML = "<a href='#' title='Click to toggle minimize/restore all windows'>" +
00455 ((Desktop.desktop.getForeWindow() &&
00456 Desktop.desktop.getForeWindow().isMinimized())?
00457 "Restore Windows":"Show Desktop") + "</a>";
00458
00459 }
00460
00461 this.getDefaultDashboardColor = function() { return _defaultDashboardColor; }
00462
00463 this.setDefaultDashboardColor = function(color) {
00464 _defaultDashboardColor = color;
00465 _dashboardColorPostbox.innerHTML = _defaultDashboardColor;
00466
00467 _topBar.style.backgroundColor = _defaultDashboardColor;
00468 _windowDashboard.style.backgroundColor = _defaultDashboardColor;
00469 }
00470
00471 var _oldUserNameWithLock = "";
00472 this.displayUserLock = function(usernameWithLock, el) {
00473 if(!el)
00474 el = document.getElementById("DesktopDashboard-userWithLock");
00475
00476 var user = Desktop.desktop.login.getUsername();
00477 var data = "";
00478 data += "lock=" + ((!usernameWithLock || usernameWithLock == "")?"1":"0") + "&";
00479 data += "username=" + user;
00480
00481 var jsReq =
00482 "Desktop.XMLHttpRequest(\"" +
00483 "Request?RequestType=setUserWithLock&accounts=1\"," +
00484 "\"" + data + "\",Desktop.desktop.dashboard.handleSetUserWithLock)";
00485
00486 if(!usernameWithLock || usernameWithLock == "")
00487 {
00488
00489 var str = "";
00490 str += "<a href='javascript:" + jsReq + "'" +
00491 "title='Click to lockout the system and take the ots Lock'>";
00492 str += "<img " +
00493 "src='/WebPath/images/dashboardImages/icon-Settings-Unlock.png'>";
00494 str += "</a>";
00495 el.innerHTML = str;
00496 _oldUserNameWithLock = "";
00497 el.style.display = "block";
00498 return;
00499 }
00500
00501 if(_oldUserNameWithLock == usernameWithLock &&
00502 el.style.display == "block")
00503 return;
00504
00505 var str = "";
00506 if(usernameWithLock != user)
00507 str = "<img src='/WebPath/images/dashboardImages/icon-Settings-LockDisabled.png' " +
00508 "title='User " +
00509 usernameWithLock + " has the ots Lock'>";
00510 else
00511 {
00512 str += "<a href='javascript:" + jsReq + "' " +
00513 "title='Click to unlock the system and release the ots Lock'>";
00514 str += "<img " +
00515 "src='/WebPath/images/dashboardImages/icon-Settings-Lock.png'>";
00516 str += "</a>";
00517 }
00518
00519 el.innerHTML = str;
00520 el.style.display = "block";
00521
00522 _oldUserNameWithLock = usernameWithLock;
00523 }
00524
00525 this.handleSetUserWithLock = function(req) {
00526 Debug.log(req);
00527
00528 var serverAlert = Desktop.getXMLValue(req,"server_alert");
00529 if(serverAlert) Debug.log("Message from Server: " + serverAlert, Debug.HIGH_PRIORITY);
00530
00531 Desktop.desktop.dashboard.displayUserLock(
00532 Desktop.getXMLValue(req,"username_with_lock"));
00533
00534 Desktop.desktop.resetDesktop();
00535 }
00536
00537
00538
00539
00540 this.displayConnectionStatus = function(connected) {
00541 var el = document.getElementById("DesktopDashboard-serverConnectionStatus");
00542
00543 if(connected)
00544 {
00545 el.style.display = "none";
00546 el.innerHTML = "";
00547 }
00548 else
00549 {
00550 el.innerHTML = "*** <a onclick='Desktop.desktop.resetDesktop();//soft reset attempt' " +
00551 "style='cursor:pointer; color:rgb(255,150,0);'>Disconnected</a> ***";
00552 el.style.display = "block";
00553
00554
00555 document.getElementById("DesktopDashboard-userWithLock").style.display = "none";
00556 }
00557 }
00558
00559
00560 this.handleDashboardWinMouseUp = function(event, winId) {
00561 if(_deepClickTimer)
00562 {
00563 window.clearTimeout(_deepClickTimer);
00564 _deepClickTimer = 0;
00565 }
00566 Desktop.desktop.clickedWindowDashboard(winId);
00567 }
00568
00569
00570 this.handleDashboardWinMouseDown = function(event, winId) {
00571 event.cancelBubble = true;
00572 event.preventDefault();
00573 _deepClickTimer = window.setTimeout(function() {
00574
00575 var targetWin = Desktop.desktop.getWindowById(winId);
00576 Debug.log("Create Dashboard Window Menu " +
00577 targetWin.isMaximized() + "-" + targetWin.isMinimized());
00578
00579 var menuItems = [
00580 targetWin.isMaximized()?
00581 "Restore Window":"Maximize Window",
00582 targetWin.isMinimized()?
00583 "Restore Window":"Minimize Window",
00584 "Close Window"
00585 ];
00586 var menuItemHandlers = [
00587 "Desktop.desktop.maximizeWindowById("+ winId + ")",
00588 "Desktop.desktop.minimizeWindowById("+ winId + ")",
00589 "Desktop.desktop.closeWindowById("+ winId + ")",
00590 ];
00591 Debug.log("createEditTableMenu()");
00592 SimpleContextMenu.createMenu(
00593 menuItems,
00594 menuItemHandlers,
00595 "DesktopIconContextMenu",
00596 event.pageX-1,event.pageY-1,
00597 Desktop.desktop.dashboard.getDefaultDashboardColor(),
00598 "white"
00599 );
00600
00601 },500);
00602 }
00603
00604
00605
00606
00607
00608 this.dashboardElement = _dashboardElement = document.createElement("div");
00609 this.dashboardElement.setAttribute("class", "DesktopDashboard");
00610 this.dashboardElement.setAttribute("id", "DesktopDashboard");
00611
00612
00613 _topBar = document.createElement("div");
00614 _topBar.setAttribute("class", "DesktopDashboard-topBar");
00615 _topBar.style.position = "absolute";
00616 _topBar.style.zIndex = z;
00617 _topBar.style.backgroundColor = _defaultDashboardColor;
00618
00619 var tmpBtn = document.createElement("div");
00620 tmpBtn.setAttribute("class", "DesktopDashboard-button DesktopDashboard-button-left");
00621 tmpBtn.innerHTML = "<a href='#' title='Click to toggle side Window Bar'>" +
00622 "<img id='dashboard_bi_arrow' src='/WebPath/images/dashboardImages/icon-Bi-arrow-gray.png'></a>";
00623 tmpBtn.onmouseup = _toggleWindowDashboard;
00624 _topBar.appendChild(tmpBtn);
00625
00626 tmpBtn = document.createElement("div");
00627 tmpBtn.setAttribute("class", "DesktopDashboard-button DesktopDashboard-button-left");
00628 tmpBtn.innerHTML = "<a href='#' title='Click to open default window layouts'>Layouts</a>";
00629 tmpBtn.onmouseup = _windowDashboardLayoutsDropDown;
00630 _topBar.appendChild(tmpBtn);
00631
00632 tmpBtn = document.createElement("div");
00633 tmpBtn.setAttribute("class", "DesktopDashboard-button DesktopDashboard-button-left");
00634 tmpBtn.innerHTML = "<a href='#' title='Click to automatically arrange and tile windows'>Tile</a>";
00635 tmpBtn.onmouseup = _windowDashboardOrganize;
00636 _topBar.appendChild(tmpBtn);
00637
00638 _showDesktopBtn = document.createElement("div");
00639 _showDesktopBtn.setAttribute("class", "DesktopDashboard-button DesktopDashboard-button-left");
00640 _showDesktopBtn.innerHTML = "<a href='#' title='Click to toggle minimize/restore all windows'>Show Desktop</a>";
00641 _showDesktopBtn.onmouseup = _windowDashboardToggleWindows;
00642 _topBar.appendChild(_showDesktopBtn);
00643
00644 _fullScreenBtn = document.createElement("div");
00645 _fullScreenBtn.setAttribute("class", "DesktopDashboard-button DesktopDashboard-button-left");
00646 this.redrawFullScreenButton();
00647 _fullScreenBtn.onmouseup = Desktop.desktop.toggleFullScreen;
00648 _topBar.appendChild(_fullScreenBtn);
00649
00650 _fullScreenRefreshBtn = document.createElement("div");
00651 _fullScreenRefreshBtn.setAttribute("class", "DesktopDashboard-button DesktopDashboard-button-left");
00652 this.redrawRefreshButton();
00653 _fullScreenRefreshBtn.onmouseup = Desktop.handleFullScreenWindowRefresh;
00654 _topBar.appendChild(_fullScreenRefreshBtn);
00655
00656
00657 tmpBtn = document.createElement("div");
00658 tmpBtn.setAttribute("class", "DesktopDashboard-button-right");
00659 tmpBtn.setAttribute("id", "DesktopDashboard-serverConnectionStatus");
00660 tmpBtn.setAttribute("title", "Click to attempt to reconnect the server. You could also try refreshing the page, or if the problem persists contact the ots admins.");
00661 tmpBtn.style.display = "none";
00662 tmpBtn.style.color = "rgb(255,150,0)";
00663 _topBar.appendChild(tmpBtn);
00664
00665
00666 tmpBtn = document.createElement("div");
00667 tmpBtn.setAttribute("class", "DesktopDashboard-button-right");
00668 tmpBtn.setAttribute("id", "DesktopDashboard-userWithLock");
00669 tmpBtn.style.display = "none";
00670 tmpBtn.style.marginTop = "4px";
00671 _topBar.appendChild(tmpBtn);
00672
00673 tmpBtn = document.createElement("div");
00674 tmpBtn.setAttribute("class", "DesktopDashboard-button-right");
00675 tmpBtn.innerHTML = "<a target='_blank' href='" +
00676 "https://cdcvs.fnal.gov/redmine/projects/otsdaq/wiki/Otsdaq_User_Manual" +
00677 " 'title='Click to open ots documentation in a new tab' ><img src='/WebPath/images/dashboardImages/icon-Help.png'></a>";
00678 _topBar.appendChild(tmpBtn);
00679
00680 if(Desktop.desktop.security == Desktop.SECURITY_TYPE_DIGEST_ACCESS ||
00681 Desktop.desktop.security == Desktop.SECURITY_TYPE_NONE)
00682 {
00683 tmpBtn = document.createElement("div");
00684 tmpBtn.setAttribute("class", "DesktopDashboard-button-right DesktopDashboard-user-account DesktopDashboard-user-logout");
00685 tmpBtn.innerHTML = "<a href='#' title='Click to sign out of your account'>Sign out</a>";
00686 tmpBtn.onmouseup = Desktop.logout;
00687 _topBar.appendChild(tmpBtn);
00688
00689 tmpBtn = document.createElement("div");
00690 tmpBtn.setAttribute("class", "DesktopDashboard-button-right");
00691 tmpBtn.setAttribute("id", "DesktopDashboard-settings-icon");
00692 tmpBtn.innerHTML = "<a href='Javascript:var win = Desktop.desktop.addWindow(\"Settings\",Desktop.desktop.login.getUsername()," +
00693 "\"/WebPath/html/UserSettings.html\",true);' title='Click to open settings window'><img src='/WebPath/images/dashboardImages/icon-Settings.png'></a>";
00694 _topBar.appendChild(tmpBtn);
00695
00696 tmpBtn = document.createElement("div");
00697 tmpBtn.setAttribute("class", "DesktopDashboard-user-account");
00698 tmpBtn.setAttribute("id", "DesktopDashboard-user-displayName");
00699 tmpBtn.innerHTML = "";
00700 _topBar.appendChild(tmpBtn);
00701 }
00702 else
00703 Debug.log("Desktop Dashboard is in Wizard mode",Debug.LOW_PRIORITY);
00704
00705 this.dashboardElement.appendChild(_topBar);
00706 Debug.log("Desktop Dashboard Top Bar created",Debug.LOW_PRIORITY);
00707
00708
00709 _windowDashboard = document.createElement("div");
00710 _windowDashboard.setAttribute("id", "DesktopDashboard-windowDashboard");
00711 _windowDashboard.style.position = "absolute";
00712 _windowDashboard.style.zIndex = z;
00713 _windowDashboard.style.backgroundColor = _defaultDashboardColor;
00714 _toggleWindowDashboard(0,_displayWindowDashboard);
00715 this.updateWindows();
00716 this.dashboardElement.appendChild(_windowDashboard);
00717
00718
00719 _dashboardColorPostbox = document.createElement("div");
00720 _dashboardColorPostbox.setAttribute("id", "DesktopContent-dashboardColorPostbox");
00721 _dashboardColorPostbox.style.display = "none";
00722 _dashboardColorPostbox.innerHTML = _defaultDashboardColor;
00723 this.dashboardElement.appendChild(_dashboardColorPostbox);
00724
00725
00726
00727 _windowDashboard.onmousemove = Desktop.handleWindowMouseMove;
00728 _windowDashboard.onmousedown = Desktop.handleWindowMouseDown;
00729 _windowDashboard.onmouseup = Desktop.handleWindowMouseUp;
00730
00731 _windowDashboardWindowCSSRule = _getDashboardWindowWidthCSSRule();
00732
00733 Debug.log("Desktop Window Dashboard created",Debug.LOW_PRIORITY);
00734
00735 Debug.log("Desktop Dashboard created",Debug.LOW_PRIORITY);
00736 }
00737
00738 }
00739
00740
00741
00742
00743
00744
00745
00746
00747
00748