details: https://code.openbravo.com/erp/devel/pi/rev/e71aac88d050
changeset: 13306:e71aac88d050
user: David Baz Fayos <david.baz <at> openbravo.com>
date: Wed Jul 27 16:39:32 2011 +0200
summary: Fixed issue 17474: [KS] Refactor of KS to allow define a KS target
diffstat:
modules/org.openbravo.client.application/src-db/database/sourcedata/AD_PREFERENCE.xml
| 17 +-
modules/org.openbravo.client.application/src/org/openbravo/client/application/templates/layout.js.ftl
| 4 +-
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/alert-management/ob-alert-manager.js
| 2 +-
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/classic/ob-classic-compatibility.js
| 137 +++---
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/ob-statusbar.js
| 4 +-
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/ob-view-form.js
| 26 +-
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/grid/ob-grid.js
| 104 ++--
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/grid/ob-view-grid.js
| 191 +++++----
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/main/ob-tab.js
| 12 +-
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/navbar/ob-application-menu.js
| 2 +-
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/navbar/ob-logout-widget.js
| 2 +-
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/navbar/ob-quickrun-widget.js
| 2 +-
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/toolbar/ob-toolbar.js
| 8 +-
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/utilities/ob-keyboard-manager.js
| 116 +++--
modules/org.openbravo.userinterface.selector/web/org.openbravo.userinterface.selector/js/ob-selector-item.js
| 46 +-
15 files changed, 372 insertions(+), 301 deletions(-)
diffs (truncated from 1028 to 300 lines):
diff -r 50d4546d8a8b -r e71aac88d050
modules/org.openbravo.client.application/src-db/database/sourcedata/AD_PREFERENCE.xml
---
a/modules/org.openbravo.client.application/src-db/database/sourcedata/AD_PREFERENCE.xml
Wed Jul 27 11:34:53 2011 +0200
+++
b/modules/org.openbravo.client.application/src-db/database/sourcedata/AD_PREFERENCE.xml
Wed Jul 27 16:39:32 2011 +0200
@@ -41,10 +41,19 @@
{"id": "StatusBar_Next", "keyComb": {"alt": true, "shift": true, "key":
"Page_Down"}},
{"id": "StatusBar_Maximize-Restore", "keyComb": {"alt": true, "shift": true,
"key": "Enter"}},
{"id": "StatusBar_Close", "keyComb": {"key": "Escape"}},
- {"id": "Grid_EditInForm", "keyComb": {"ctrl": true, "alt": false, "key":
"f2"}},
- {"id": "Grid_EditInGrid", "keyComb": {"ctrl": false, "alt": false, "key":
"f2"}},
- {"id": "Grid_EditInGrid", "keyComb": {"ctrl": false, "alt": false, "key":
"f2"}},
- {"id": "Grid_CancelChanges", "keyComb": {"ctrl": false, "alt": false, "key":
"Escape"}}
+ {"id": "Grid_FocusFilter", "keyComb": {"ctrl": true, "shift": true, "key":
"F"}},
+ {"id": "Grid_FocusGrid", "keyComb": {"key": "Escape"}},
+ {"id": "Grid_ClearFilter", "keyComb": {"alt": true, "key": "Delete"}},
+ {"id": "Grid_SelectAll", "keyComb": {"alt": true, "shift": true, "key":
"A"}},
+ {"id": "Grid_UnselectAll", "keyComb": {"alt": true, "shift": true, "key":
"N"}},
+ {"id": "ViewGrid_EditInForm", "keyComb": {"ctrl": true, "key": "f2"}},
+ {"id": "ViewGrid_EditInGrid", "keyComb": {"key": "f2"}},
+ {"id": "ViewGrid_CancelEditing", "keyComb": {"key": "Escape"}},
+ {"id": "ViewGrid_DeleteSelectedRecords", "keyComb": {"key": "Delete"}},
+ {"id": "ViewGrid_CancelChanges", "keyComb": {"key": "Escape"}},
+ {"id": "ViewForm_OpenLinkOut", "keyComb": {"ctrl": true, "alt": true, "key":
"Enter"}},
+ {"id": "Selector_ShowPopup", "keyComb": {"ctrl": true, "key": "Enter"}},
+ {"id": "SelectorLink_ShowPopup", "keyComb": {"ctrl": true, "key": "Enter"}}
]]]></VALUE>
<!--5EE6D055A7FE4C4DA7EB557F6C61D0EA-->
<PROPERTY><![CDATA[OBUIAPP_KeyboardShortcuts]]></PROPERTY>
<!--5EE6D055A7FE4C4DA7EB557F6C61D0EA-->
<ISPROPERTYLIST><![CDATA[Y]]></ISPROPERTYLIST>
diff -r 50d4546d8a8b -r e71aac88d050
modules/org.openbravo.client.application/src/org/openbravo/client/application/templates/layout.js.ftl
---
a/modules/org.openbravo.client.application/src/org/openbravo/client/application/templates/layout.js.ftl
Wed Jul 27 11:34:53 2011 +0200
+++
b/modules/org.openbravo.client.application/src/org/openbravo/client/application/templates/layout.js.ftl
Wed Jul 27 16:39:32 2011 +0200
@@ -41,8 +41,8 @@
isc.Canvas.addClassProperties({neverUsePNGWorkaround:true});
-OB.KeyboardManager.KS.setPredefinedKSList('OBUIAPP_KeyboardShortcuts');
-OB.KeyboardManager.KS.setPredefinedKSList('UINAVBA_KeyboardShortcuts');
+OB.KeyboardManager.Shortcuts.setPredefinedList('OBUIAPP_KeyboardShortcuts');
+OB.KeyboardManager.Shortcuts.setPredefinedList('UINAVBA_KeyboardShortcuts');
// should be moved to client.kernel component
// placed here to prevent dependencies of client.kernel on Preferences
diff -r 50d4546d8a8b -r e71aac88d050
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/alert-management/ob-alert-manager.js
---
a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/alert-management/ob-alert-manager.js
Wed Jul 27 11:34:53 2011 +0200
+++
b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/alert-management/ob-alert-manager.js
Wed Jul 27 16:39:32 2011 +0200
@@ -147,7 +147,7 @@
me.click();
return false; //To avoid keyboard shortcut propagation
};
- OB.KeyboardManager.KS.set(this.keyboardShortcutId, ksAction);
+ OB.KeyboardManager.Shortcuts.set(this.keyboardShortcutId, 'Canvas',
ksAction);
}
this.Super('draw', arguments);
},
diff -r 50d4546d8a8b -r e71aac88d050
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/classic/ob-classic-compatibility.js
---
a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/classic/ob-classic-compatibility.js
Wed Jul 27 11:34:53 2011 +0200
+++
b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/classic/ob-classic-compatibility.js
Wed Jul 27 16:39:32 2011 +0200
@@ -233,79 +233,80 @@
getMDIKS: function(){
var key, auxKey, action, funcParam, keyMap,
ClassicKeyJSON = [],
- LKS = O.KeyboardManager.KS, i;
+ LKS = O.KeyboardManager.Shortcuts, i;
for (i = 0; i < LKS.list.length; i++) {
auxKey = '';
+ if (LKS.list[i].isGlobal) {
+ if (LKS.list[i].keyComb.ctrl === true) {
+ if (auxKey.length > 0) {
+ auxKey += '+';
+ }
+ auxKey += 'ctrlKey';
+ }
+ if (LKS.list[i].keyComb.alt === true) {
+ if (auxKey.length > 0) {
+ auxKey += '+';
+ }
+ auxKey += 'altKey';
+ }
+ if (LKS.list[i].keyComb.shift === true) {
+ if (auxKey.length > 0) {
+ auxKey += '+';
+ }
+ auxKey += 'shiftKey';
+ }
+ if (LKS.list[i].keyComb.key !== null) {
+ key = LKS.list[i].keyComb.key;
+ }
- if (LKS.list[i].keyComb.ctrl === true) {
- if (auxKey.length > 0) {
- auxKey += '+';
- }
- auxKey += 'ctrlKey';
+ action = LKS.list[i].action;
+ funcParam = LKS.list[i].funcParam;
+
+ // Special keys nomenclature adaptation from Smartclient way to
+ // classic utils.js way
+
+ keyMap = {
+ 'Backspace': 'BACKSPACE',
+ 'Tab': 'TAB',
+ 'Enter': 'ENTER',
+ 'Space': 'SPACE',
+ 'Insert': 'INSERT',
+ 'End': 'END',
+ 'Home': 'HOME',
+ 'Page_Up': 'REPAGE',
+ 'Page_Down': 'AVPAGE',
+ 'Arrow_Left': 'LEFTARROW',
+ 'Arrow_Right': 'RIGHTARROW',
+ 'Arrow_Up': 'UPARROW',
+ 'Arrow_Down': 'DOWNARROW',
+ '+': 'NUMBERPOSITIVE',
+ '-': 'NUMBERNEGATIVE',
+ '.': 'NUMBERDECIMAL',
+ 'Escape': 'ESCAPE',
+ 'f1': 'F1',
+ 'f2': 'F2',
+ 'f3': 'F3',
+ 'f4': 'F4',
+ 'f5': 'F5',
+ 'f6': 'F6',
+ 'f7': 'F7',
+ 'f8': 'F8',
+ 'f9': 'F9',
+ 'f10': 'F10',
+ 'f11': 'F11',
+ 'f12': 'F12'
+ };
+
+ key = keyMap[key] || key;
+
+ ClassicKeyJSON.push({
+ 'key': key,
+ 'auxKey': auxKey,
+ 'action': action,
+ 'funcParam': funcParam
+ });
}
- if (LKS.list[i].keyComb.alt === true) {
- if (auxKey.length > 0) {
- auxKey += '+';
- }
- auxKey += 'altKey';
- }
- if (LKS.list[i].keyComb.shift === true) {
- if (auxKey.length > 0) {
- auxKey += '+';
- }
- auxKey += 'shiftKey';
- }
- if (LKS.list[i].keyComb.key !== null) {
- key = LKS.list[i].keyComb.key;
- }
-
- action = LKS.list[i].action;
- funcParam = LKS.list[i].funcParam;
-
- // Special keys nomenclature adaptation from Smartclient way to
- // classic utils.js way
-
- keyMap = {
- 'Backspace': 'BACKSPACE',
- 'Tab': 'TAB',
- 'Enter': 'ENTER',
- 'Space': 'SPACE',
- 'Insert': 'INSERT',
- 'End': 'END',
- 'Home': 'HOME',
- 'Page_Up': 'REPAGE',
- 'Page_Down': 'AVPAGE',
- 'Arrow_Left': 'LEFTARROW',
- 'Arrow_Right': 'RIGHTARROW',
- 'Arrow_Up': 'UPARROW',
- 'Arrow_Down': 'DOWNARROW',
- '+': 'NUMBERPOSITIVE',
- '-': 'NUMBERNEGATIVE',
- '.': 'NUMBERDECIMAL',
- 'Escape': 'ESCAPE',
- 'f1': 'F1',
- 'f2': 'F2',
- 'f3': 'F3',
- 'f4': 'F4',
- 'f5': 'F5',
- 'f6': 'F6',
- 'f7': 'F7',
- 'f8': 'F8',
- 'f9': 'F9',
- 'f10': 'F10',
- 'f11': 'F11',
- 'f12': 'F12'
- };
-
- key = keyMap[key] || key;
-
- ClassicKeyJSON.push({
- 'key': key,
- 'auxKey': auxKey,
- 'action': action,
- 'funcParam': funcParam
- });
}
return ClassicKeyJSON;
diff -r 50d4546d8a8b -r e71aac88d050
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/ob-statusbar.js
---
a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/ob-statusbar.js
Wed Jul 27 11:34:53 2011 +0200
+++
b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/ob-statusbar.js
Wed Jul 27 16:39:32 2011 +0200
@@ -120,13 +120,13 @@
}
return false; //To avoid keyboard shortcut propagation
};
- OB.KeyboardManager.KS.set(this.keyboardShortcutId, ksAction);
+ OB.KeyboardManager.Shortcuts.set(this.keyboardShortcutId, 'OBViewForm',
ksAction);
}
},
disableShortcut: function() {
if (this.keyboardShortcutId) {
- OB.KeyboardManager.KS.set(this.keyboardShortcutId, function(){
+ OB.KeyboardManager.Shortcuts.set(this.keyboardShortcutId, null,
function(){
return true;
});
}
diff -r 50d4546d8a8b -r e71aac88d050
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/ob-view-form.js
---
a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/ob-view-form.js
Wed Jul 27 11:34:53 2011 +0200
+++
b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/ob-view-form.js
Wed Jul 27 16:39:32 2011 +0200
@@ -1414,14 +1414,28 @@
return this.Super('updateFocusItemValue', arguments);
},
+ enableShortcuts: function() {
+ var me = this;
+ var ksAction = function() {
+ if (me.getFocusItem && me.getFocusItem().titleClick) {
+ me.getFocusItem().titleClick(me, me.getFocusItem());
+ }
+ return false; //To avoid keyboard shortcut propagation
+ };
+ OB.KeyboardManager.Shortcuts.set('ViewForm_OpenLinkOut', 'OBViewForm',
ksAction);
+ },
+
+ draw : function() {
+ this.enableShortcuts();
+ this.Super('draw', arguments);
+ },
+
keyDown: function() {
- if (isc.EventHandler.getKey() === 'Enter' &&
- (isc.EventHandler.ctrlKeyDown() && isc.EventHandler.altKeyDown() &&
!isc.EventHandler.shiftKeyDown()) &&
- this.getFocusItem && this.getFocusItem().titleClick) {
- this.getFocusItem().titleClick(this, this.getFocusItem());
- return false;
+ var response = OB.KeyboardManager.Shortcuts.monitor('OBViewForm');
+ if (response !== false) {
+ response = this.Super('keyDown', arguments);
}
- return this.Super('keyDown', arguments);
+ return response;
},
storeFocusItem: function() {
diff -r 50d4546d8a8b -r e71aac88d050
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/grid/ob-grid.js
---
a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/grid/ob-grid.js
Wed Jul 27 11:34:53 2011 +0200
+++
b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/grid/ob-grid.js
Wed Jul 27 16:39:32 2011 +0200
@@ -33,33 +33,64 @@
escapeHTML: true,
bodyProperties: {canSelectText:true},
+ enableShortcuts: function() {
+ var me = this;
+
+ var ksAction_FocusFilter = function() {
+ me.focusInFirstFilterEditor();
+ return false; //To avoid keyboard shortcut propagation
+ };
+ OB.KeyboardManager.Shortcuts.set('Grid_FocusFilter', 'OBGrid.body',
ksAction_FocusFilter);
+
+ var ksAction_FocusGrid = function() {
+ me.focus();
+ return false; //To avoid keyboard shortcut propagation
+ };
+ OB.KeyboardManager.Shortcuts.set('Grid_FocusGrid', 'OBGrid.filter',
ksAction_FocusGrid);
+
+ var ksAction_ClearFilter = function() {
+ me.clearFilter(true);
+ return false; //To avoid keyboard shortcut propagation
+ };
+ OB.KeyboardManager.Shortcuts.set('Grid_ClearFilter', ['OBGrid.body',
'OBGrid.filter'], ksAction_ClearFilter);
+
+ var ksAction_SelectAll = function() {
+ me.selectAllRecords();
+ return false; //To avoid keyboard shortcut propagation
+ };
+ OB.KeyboardManager.Shortcuts.set('Grid_SelectAll', 'OBGrid.body',
ksAction_SelectAll);
+
+ var ksAction_UnselectAll = function() {
+ if (me.getSelectedRecords().length > 1) {
+ me.deselectAllRecords();
+ }
------------------------------------------------------------------------------
Got Input? Slashdot Needs You.
Take our quick survey online. Come on, we don't ask for help often.
Plus, you'll get a chance to win $100 to spend on ThinkGeek.
http://p.sf.net/sfu/slashdot-survey
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits