details: /erp/devel/pi/rev/65676b546c2e
changeset: 12358:65676b546c2e
user: David Baz Fayos <david.baz <at> openbravo.com>
date: Tue May 24 02:00:43 2011 +0200
summary: [KS] Improved a bit StatusBar keyboard shortcuts login
details: /erp/devel/pi/rev/a62eea43d881
changeset: 12359:a62eea43d881
user: David Baz Fayos <david.baz <at> openbravo.com>
date: Tue May 24 02:06:00 2011 +0200
summary: [KS] switched from keyPress logic at Page level to keyDown logic at
Canvas level
to allow override some default Chrome browser shortcuts
diffstat:
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-keyboard-manager.js
| 12 +++++-
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-statusbar.js
| 20 +++++----
2 files changed, 21 insertions(+), 11 deletions(-)
diffs (80 lines):
diff -r a707bb7eade4 -r a62eea43d881
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-keyboard-manager.js
---
a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-keyboard-manager.js
Mon May 23 17:08:51 2011 +0200
+++
b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-keyboard-manager.js
Tue May 24 02:06:00 2011 +0200
@@ -160,7 +160,7 @@
},
execute: function(position){
- if (this.list[position].action !== null) {
+ if (this.list[position].action !== null && typeof
this.list[position].action === 'function') {
return this.list[position].action(this.list[position].funcParam);
} else {
return true;
@@ -175,6 +175,14 @@
// Initialize KeyboardManager object
keyboardMgr = O.KeyboardManager = new KeyboardManager();
- isc.Page.setEvent('keyPress', 'OB.KeyboardManager.action.keyDown()');
+ /* isc.Page.setEvent('keyPress', 'OB.KeyboardManager.action.keyDown()'); //
Discart due to Chrome event propagation problems
http://forums.smartclient.com/showthread.php?p=65578 */
+ isc.Canvas.getPrototype()._originalKeyDown =
isc.Canvas.getPrototype().keyDown;
+ isc.Canvas.getPrototype().keyDown = function() {
+ var response = OB.KeyboardManager.action.keyDown();
+ if (response) { // To ensure that if a previous keyDown was set in the
Canvas it is executed if the action KeyboardManager.action should be propagated
+ response = this._originalKeyDown();
+ }
+ return response;
+ };
}(OB, isc));
diff -r a707bb7eade4 -r a62eea43d881
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-statusbar.js
---
a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-statusbar.js
Mon May 23 17:08:51 2011 +0200
+++
b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-statusbar.js
Tue May 24 02:06:00 2011 +0200
@@ -68,7 +68,7 @@
},
doAction : function() {
- var rowNum, newRowNum, newRecord, theButtonVar, i;
+ var rowNum, newRowNum, newRecord, theButtonBar, i;
if (this.buttonType === 'previous') {
this.view.editNextPreviousRecord(false);
} else if (this.buttonType === 'maximize') {
@@ -81,14 +81,14 @@
this.view.switchFormGridVisibility();
this.view.messageBar.hide();
} else if (this.buttonType === 'maximizeRestore') {
- theButtonVar = this.view.statusBar.buttonBar;
- if (theButtonVar.members) {
- for (i = 0; i < theButtonVar.members.length; i++) {
- if (theButtonVar.members[i].buttonType === 'maximize' &&
!theButtonVar.members[i].isDisabled() && theButtonVar.members[i].isVisible()) {
- theButtonVar.members[i].action();
+ theButtonBar = this.view.statusBar.buttonBar;
+ if (theButtonBar.members) {
+ for (i = 0; i < theButtonBar.members.length; i++) {
+ if (theButtonBar.members[i].buttonType === 'maximize' &&
!theButtonBar.members[i].isDisabled() && theButtonBar.members[i].isVisible()) {
+ theButtonBar.members[i].action();
break;
- } else if (theButtonVar.members[i].buttonType === 'restore' &&
!theButtonVar.members[i].isDisabled() && theButtonVar.members[i].isVisible()) {
- theButtonVar.members[i].action();
+ } else if (theButtonBar.members[i].buttonType === 'restore' &&
!theButtonBar.members[i].isDisabled() && theButtonBar.members[i].isVisible()) {
+ theButtonBar.members[i].action();
break;
}
}
@@ -100,7 +100,8 @@
if (this.keyboardShortcutId) {
var me = this;
var ksAction = function(){
- if ((!me.isDisabled() && me.isVisible()) || me.buttonType ===
'maximizeRestore') {
+ if ((!me.isDisabled() && me.isVisible()) || me.forceKeyboardShortcut) {
+ me.focus();
me.action();
}
return false; //To avoid keyboard shortcut propagation
@@ -182,6 +183,7 @@
visibility : 'hidden',
view : this.view,
buttonType : 'maximizeRestore',
+ forceKeyboardShortcut : true,
keyboardShortcutId : 'StatusBar_Maximize-Restore'
});
this.buttonBar = isc.OBStatusBarIconButtonBar.create( {});
------------------------------------------------------------------------------
vRanger cuts backup time in half-while increasing security.
With the market-leading solution for virtual backup and recovery,
you get blazing-fast, flexible, and affordable data protection.
Download your free trial now.
http://p.sf.net/sfu/quest-d2dcopy1
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits