Author: tveronezi
Date: Tue Oct 16 00:50:03 2012
New Revision: 1398588
URL: http://svn.apache.org/viewvc?rev=1398588&view=rev
Log:
https://issues.apache.org/jira/browse/TOMEE-469
Modified:
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/util/Obj.js
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/ApplicationView.js
Modified:
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/util/Obj.js
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/util/Obj.js?rev=1398588&r1=1398587&r2=1398588&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/util/Obj.js
(original)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/util/Obj.js
Tue Oct 16 00:50:03 2012
@@ -19,6 +19,33 @@
TOMEE.utils = (function () {
+ // http://www.quirksmode.org/js/keys.html
+ function keyCodeToString(keyCode) {
+ if(keyCode === 16) {
+ return 'shift';
+ }
+
+ if(keyCode === 17) {
+ return 'control';
+ }
+
+ if(keyCode === 18) {
+ return 'alt';
+ }
+
+ // Numbers or Letters
+ if (keyCode >= 48 && keyCode <= 57 || //Numbers
+ keyCode >= 65 && keyCode <= 90) { //Letters
+ return String.fromCharCode(keyCode);
+ }
+
+ if (keyCode >= 112 && keyCode <= 123) { //F1 -> F12
+ return 'F' + (keyCode - 111);
+ }
+
+ return null;
+ }
+
function isPrimitive(value) {
if ('number' === (typeof value)) {
return true;
@@ -104,6 +131,7 @@ TOMEE.utils = (function () {
}
return {
+ keyCodeToString: keyCodeToString,
isPrimitive:isPrimitive,
getSafe:getSafe,
toArray:toArray,
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=1398588&r1=1398587&r2=1398588&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
Tue Oct 16 00:50:03 2012
@@ -59,7 +59,9 @@ TOMEE.ApplicationView = function () {
});
myWindow.on('keydown', function (ev) {
- var key = [];
+ var key = [],
+ keyStr = null;
+
if (ev.altKey) {
key.push('alt');
} else if (ev.ctrlKey) {
@@ -68,18 +70,16 @@ TOMEE.ApplicationView = function () {
key.push('shift');
}
- if (key.length === 0) {
+ if (key.length === 0 &&
+ !(ev.keyCode >= 112 && ev.keyCode <= 123)) { //F1 -> F12
return; //nothing to do
}
- if (ev.keyCode !== 16 && ev.keyCode !== 17 && ev.keyCode !== 18) {
//not SHIFT, CONTROL or ALT
- if (ev.keyCode >= 48 && ev.keyCode <= 57 || //Numbers
- ev.keyCode >= 65 && ev.keyCode <= 90) { //Letters
- key.push(String.fromCharCode(ev.keyCode));
- } else {
- key.push(ev.keyCode);
- }
+ keyStr = TOMEE.utils.keyCodeToString(ev.keyCode);
+ if(!keyStr) {
+ keyStr = ev.keyCode;
}
+ key.push(keyStr);
channel.send('ui-actions', 'window-' + key.join('-') + '-pressed', {});
ev.preventDefault();