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