Author: tveronezi
Date: Sat Oct 20 14:54:09 2012
New Revision: 1400465

URL: http://svn.apache.org/viewvc?rev=1400465&view=rev
Log:
User alt-1, alt-2 and alt-3 to switch tabs.

Modified:
    
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/ApplicationController.js
    
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/templates/application-toolbar.handlebars
    
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/ApplicationToolbarView.js
    
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/ApplicationView.js
    
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/panels/console.js
    
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/panels/log.js

Modified: 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/ApplicationController.js
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/ApplicationController.js?rev=1400465&r1=1400464&r2=1400465&view=diff
==============================================================================
--- 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/ApplicationController.js
 (original)
+++ 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/ApplicationController.js
 Sat Oct 20 14:54:09 2012
@@ -85,13 +85,6 @@ TOMEE.ApplicationController = function (
         window.location.reload();
     });
 
-    channel.bind('server-command-callback-success', 'Login', function (data) {
-        model.sendMessage({
-            cmdName:'GetLog',
-            aNumber:1
-        });
-    });
-
     channel.bind('server-connection', 'session-ready', function () {
         model.connectSocket();
     });

Modified: 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/templates/application-toolbar.handlebars
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/templates/application-toolbar.handlebars?rev=1400465&r1=1400464&r2=1400465&view=diff
==============================================================================
--- 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/templates/application-toolbar.handlebars
 (original)
+++ 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/templates/application-toolbar.handlebars
 Sat Oct 20 14:54:09 2012
@@ -4,8 +4,8 @@
             <a class="brand" href="#">{{i18n "application.name"}}</a>
             <ul class="nav">
                 <li class="toolbar-item active" tab-key="home"><a 
href="#">{{i18n "application.home"}}</a></li>
-                <li class="toolbar-item disabled" tab-key="console"><a 
href="#">{{i18n "application.console"}}</a></li>
-                <li class="toolbar-item disabled" tab-key="log"><a 
href="#">{{i18n "application.log"}}</a></li>
+                <li class="toolbar-item" tab-key="console"><a href="#">{{i18n 
"application.console"}}</a></li>
+                <li class="toolbar-item" tab-key="log"><a href="#">{{i18n 
"application.log"}}</a></li>
             </ul>
             <div class="pull-right">
                 <ul class="nav">

Modified: 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/ApplicationToolbarView.js
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/ApplicationToolbarView.js?rev=1400465&r1=1400464&r2=1400465&view=diff
==============================================================================
--- 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/ApplicationToolbarView.js
 (original)
+++ 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/ApplicationToolbarView.js
 Sat Oct 20 14:54:09 2012
@@ -27,15 +27,21 @@ TOMEE.ApplicationToolbarView = function 
         var tabEl = $(ev.currentTarget),
             tabKey = tabEl.attr("tab-key");
 
-        if (tabEl.hasClass('disabled')) {
-            return;
-        }
+        channel.send('ui-actions', 'toolbar-click', {
+            key:tabKey
+        });
+    });
 
+    channel.bind('ui-actions', 'panel-switch', function (data) {
         el.find('.toolbar-item').removeClass('active');
-        tabEl.addClass('active');
-
-        updateSelected(tabKey);
-
+        el.find('.toolbar-item').each(function (index, htmlEl) {
+            var tabEl = $(htmlEl),
+                tabKey = tabEl.attr("tab-key");
+
+            if (tabKey === data.key) {
+                tabEl.addClass('active');
+            }
+        });
     });
 
     el.find('.tomee-login-btn').on('click', function () {
@@ -77,7 +83,6 @@ TOMEE.ApplicationToolbarView = function 
         userNameMenu.html(user.val());
 
         el.find('.login-menu').addClass('logout');
-        el.find('.toolbar-item').removeClass('disabled');
     });
 
     channel.bind('server-command-callback-success', 'session', function 
(params) {
@@ -108,12 +113,6 @@ TOMEE.ApplicationToolbarView = function 
         btn.prop('disabled', false);
     });
 
-    function updateSelected(key) {
-        channel.send('ui-actions', 'toolbar-click', {
-            key:key
-        });
-    }
-
     return {
         getEl:function () {
             return el;

Modified: 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/ApplicationView.js
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/ApplicationView.js?rev=1400465&r1=1400464&r2=1400465&view=diff
==============================================================================
--- 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/ApplicationView.js
 (original)
+++ 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/ApplicationView.js
 Sat Oct 20 14:54:09 2012
@@ -21,7 +21,7 @@ TOMEE.ApplicationView = function () {
 
     var channel = TOMEE.ApplicationChannel,
         panelMap = {
-            'home': TOMEE.ApplicationTabHome(),
+            'home':TOMEE.ApplicationTabHome(),
             'console':TOMEE.ApplicationTabConsole(),
             'log':TOMEE.ApplicationTabLog()
         },
@@ -47,7 +47,7 @@ TOMEE.ApplicationView = function () {
     });
 
     channel.bind('ui-actions', 'toolbar-click', function (data) {
-        switchPanel(data.key);
+        switchPanelAndSendEvent(data.key);
     });
 
     //disable default contextmenu
@@ -106,6 +106,15 @@ TOMEE.ApplicationView = function () {
         }
     });
 
+    channel.bind('ui-actions', 'window-alt-1-pressed', function () {
+        switchPanelAndSendEvent('home');
+    });
+    channel.bind('ui-actions', 'window-alt-2-pressed', function () {
+        switchPanelAndSendEvent('console');
+    });
+    channel.bind('ui-actions', 'window-alt-3-pressed', function () {
+        switchPanelAndSendEvent('log');
+    });
 
     function showConnectionPopup() {
         if (connectionPopupVisible) {
@@ -125,7 +134,20 @@ TOMEE.ApplicationView = function () {
         connectionPopup.detach();
     }
 
+    function switchPanelAndSendEvent(key) {
+        if (switchPanel(key)) {
+            channel.send('ui-actions', 'panel-switch', {
+                key:key
+            });
+        }
+    }
+
     function switchPanel(key) {
+        if (panelMap[key].isLocked && panelMap[key].isLocked()) {
+            //The panel is locked. The user should login first.
+            return false;
+        }
+
         if (selected) {
             selected.getEl().detach();
             selected.onDetach();
@@ -135,6 +157,8 @@ TOMEE.ApplicationView = function () {
         selected.onAppend();
 
         updateContainerSize();
+
+        return true;
     }
 
     function updateContainerSize() {

Modified: 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/panels/console.js
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/panels/console.js?rev=1400465&r1=1400464&r2=1400465&view=diff
==============================================================================
--- 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/panels/console.js
 (original)
+++ 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/panels/console.js
 Sat Oct 20 14:54:09 2012
@@ -28,6 +28,7 @@ TOMEE.ApplicationTabConsole = function (
 
         codeArea = null,
         active = false,
+        locked = true,
         delayedContainerResize = TOMEE.DelayedTask();
 
     container.find('.webservices-div').append(innerPanels.webservices.getEl());
@@ -39,10 +40,10 @@ TOMEE.ApplicationTabConsole = function (
             group = button.parent('.btn-group'),
             tab = group.attr(customAttr);
 
-        container.find('.btn-group').each(function(index, grpHtmlEl) {
+        container.find('.btn-group').each(function (index, grpHtmlEl) {
             var grpEl = $(grpHtmlEl),
                 grpTabName = grpEl.attr(customAttr);
-            if(tab === grpTabName) {
+            if (tab === grpTabName) {
                 return;
             }
             innerPanels[grpTabName].onDetach();
@@ -107,6 +108,22 @@ TOMEE.ApplicationTabConsole = function (
         consoleOutput.prepend(newLine);
     });
 
+    channel.bind('server-command-callback-success', 'Login', function (params) 
{
+        if (params.output.loginSuccess) {
+            locked = false;
+        } else {
+            locked = true;
+        }
+    });
+
+    channel.bind('server-command-callback-success', 'session', function 
(params) {
+        if (params.data.userName) {
+            locked = false;
+        } else {
+            locked = true;
+        }
+    });
+
     function clearConsole() {
         if (!active) {
             return;
@@ -146,6 +163,9 @@ TOMEE.ApplicationTabConsole = function (
         },
         onDetach:function () {
             active = false;
+        },
+        isLocked:function () {
+            return locked;
         }
     };
 };
\ No newline at end of file

Modified: 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/panels/log.js
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/panels/log.js?rev=1400465&r1=1400464&r2=1400465&view=diff
==============================================================================
--- 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/panels/log.js
 (original)
+++ 
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/panels/log.js
 Sat Oct 20 14:54:09 2012
@@ -22,7 +22,8 @@ TOMEE.ApplicationTabLog = function () {
     var channel = TOMEE.ApplicationChannel,
         container = 
$(TOMEE.ApplicationTemplates.getValue('application-tab-log', {})),
         selectedFile = null,
-        active = false;
+        active = false,
+        locked = true;
 
     channel.bind('ui-actions', 'container-resized', function (data) {
         var consoleOutput = container.find('.tomee-log-output'),
@@ -58,11 +59,11 @@ TOMEE.ApplicationTabLog = function () {
         })));
 
         lines.animate({
-            scrollTop: lines.prop("scrollHeight") - lines.height()
+            scrollTop:lines.prop("scrollHeight") - lines.height()
         }, 500);
     });
 
-    container.find('.log-file-name').on('click', function() {
+    container.find('.log-file-name').on('click', function () {
         triggerFileSelected();
     });
 
@@ -74,8 +75,24 @@ TOMEE.ApplicationTabLog = function () {
         triggerFileSelected();
     });
 
+    channel.bind('server-command-callback-success', 'Login', function (params) 
{
+        if (params.output.loginSuccess) {
+            locked = false;
+        } else {
+            locked = true;
+        }
+    });
+
+    channel.bind('server-command-callback-success', 'session', function 
(params) {
+        if (params.data.userName) {
+            locked = false;
+        } else {
+            locked = true;
+        }
+    });
+
     function triggerFileSelected() {
-        if(!active || !selectedFile) {
+        if (!active || !selectedFile) {
             return;
         }
         channel.send('ui-actions', 'log-file-selected', {
@@ -99,6 +116,9 @@ TOMEE.ApplicationTabLog = function () {
         },
         onDetach:function () {
             active = false;
+        },
+        isLocked:function () {
+            return locked;
         }
     };
 };
\ No newline at end of file


Reply via email to