details: /erp/devel/pi/rev/9c0116f3fd36
changeset: 10219:9c0116f3fd36
user: David Baz Fayos <david.baz <at> openbravo.com>
date: Fri Jan 28 18:11:01 2011 +0100
summary: [toolbar][ks] Added keboard shortcuts capabilities to text buttons
diffstat:
modules/org.openbravo.client.application/src/org/openbravo/client/application/navigationbarcomponents/templates/application-menu.js.ftl
| 2 +-
modules/org.openbravo.client.application/src/org/openbravo/client/application/navigationbarcomponents/templates/user-info.js.ftl
| 2 +-
modules/org.openbravo.client.application/src/org/openbravo/client/application/templates/layout.js.ftl
| 32 +-
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-action-button.js
| 7 +-
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-keyboard-manager.js
| 78 +++-
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-quickrun-widget.js
| 2 +-
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-toolbar.js
| 144 +++++++++-
7 files changed, 206 insertions(+), 61 deletions(-)
diffs (truncated from 473 to 300 lines):
diff -r 64c89fdf2080 -r 9c0116f3fd36
modules/org.openbravo.client.application/src/org/openbravo/client/application/navigationbarcomponents/templates/application-menu.js.ftl
---
a/modules/org.openbravo.client.application/src/org/openbravo/client/application/navigationbarcomponents/templates/application-menu.js.ftl
Fri Jan 28 17:59:26 2011 +0100
+++
b/modules/org.openbravo.client.application/src/org/openbravo/client/application/navigationbarcomponents/templates/application-menu.js.ftl
Fri Jan 28 18:11:01 2011 +0100
@@ -44,7 +44,7 @@
}
}
};
- OB.KeyboardManager.KS.add(this.keyboardShortcutId, ksAction);
+ OB.KeyboardManager.KS.set(this.keyboardShortcutId, ksAction);
this.Super('draw', arguments);
},
diff -r 64c89fdf2080 -r 9c0116f3fd36
modules/org.openbravo.client.application/src/org/openbravo/client/application/navigationbarcomponents/templates/user-info.js.ftl
---
a/modules/org.openbravo.client.application/src/org/openbravo/client/application/navigationbarcomponents/templates/user-info.js.ftl
Fri Jan 28 17:59:26 2011 +0100
+++
b/modules/org.openbravo.client.application/src/org/openbravo/client/application/navigationbarcomponents/templates/user-info.js.ftl
Fri Jan 28 18:11:01 2011 +0100
@@ -29,7 +29,7 @@
var ksAction = function() {
OB.Utilities.logout();
};
- OB.KeyboardManager.KS.add(this.keyboardShortcutId, ksAction);
+ OB.KeyboardManager.KS.set(this.keyboardShortcutId, ksAction);
this.Super("draw", arguments);
OB.TestRegistry.register('org.openbravo.client.application.navigationbarcomponents.QuitButton',
this);
},
diff -r 64c89fdf2080 -r 9c0116f3fd36
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
Fri Jan 28 17:59:26 2011 +0100
+++
b/modules/org.openbravo.client.application/src/org/openbravo/client/application/templates/layout.js.ftl
Fri Jan 28 18:11:01 2011 +0100
@@ -41,9 +41,9 @@
isc.Canvas.addClassProperties({neverUsePNGWorkaround:true});
-OB.KeyboardManager.KS.readRegisteredKSList('OBUIAPP_KeyboardShortcuts');
-OB.KeyboardManager.KS.readRegisteredKSList('UINAVBA_KeyboardShortcuts');
-OB.KeyboardManager.KS.readRegisteredKSList('UITOOLB_KeyboardShortcuts');
+OB.KeyboardManager.KS.setPredefinedKSList('OBUIAPP_KeyboardShortcuts');
+OB.KeyboardManager.KS.setPredefinedKSList('UINAVBA_KeyboardShortcuts');
+OB.KeyboardManager.KS.setPredefinedKSList('UITOOLB_KeyboardShortcuts');
// should be moved to client.kernel component
// placed here to prevent dependencies of client.kernel on Preferences
@@ -200,15 +200,15 @@
me.getSelectedTab().pane.focusTab();
}
};
- OB.KeyboardManager.KS.add('TabSet_ActivateTab1', ksAction_ActivateTab, 1);
- OB.KeyboardManager.KS.add('TabSet_ActivateTab2', ksAction_ActivateTab, 2);
- OB.KeyboardManager.KS.add('TabSet_ActivateTab3', ksAction_ActivateTab, 3);
- OB.KeyboardManager.KS.add('TabSet_ActivateTab4', ksAction_ActivateTab, 4);
- OB.KeyboardManager.KS.add('TabSet_ActivateTab5', ksAction_ActivateTab, 5);
- OB.KeyboardManager.KS.add('TabSet_ActivateTab6', ksAction_ActivateTab, 6);
- OB.KeyboardManager.KS.add('TabSet_ActivateTab7', ksAction_ActivateTab, 7);
- OB.KeyboardManager.KS.add('TabSet_ActivateTab8', ksAction_ActivateTab, 8);
- OB.KeyboardManager.KS.add('TabSet_ActivateTab9', ksAction_ActivateTab, 9);
+ OB.KeyboardManager.KS.set('TabSet_ActivateTab1', ksAction_ActivateTab, 1);
+ OB.KeyboardManager.KS.set('TabSet_ActivateTab2', ksAction_ActivateTab, 2);
+ OB.KeyboardManager.KS.set('TabSet_ActivateTab3', ksAction_ActivateTab, 3);
+ OB.KeyboardManager.KS.set('TabSet_ActivateTab4', ksAction_ActivateTab, 4);
+ OB.KeyboardManager.KS.set('TabSet_ActivateTab5', ksAction_ActivateTab, 5);
+ OB.KeyboardManager.KS.set('TabSet_ActivateTab6', ksAction_ActivateTab, 6);
+ OB.KeyboardManager.KS.set('TabSet_ActivateTab7', ksAction_ActivateTab, 7);
+ OB.KeyboardManager.KS.set('TabSet_ActivateTab8', ksAction_ActivateTab, 8);
+ OB.KeyboardManager.KS.set('TabSet_ActivateTab9', ksAction_ActivateTab, 9);
var ksAction_closeAllTabs = function() {
var tabCount, tabArray = [], i;
for (i = 1; i > 0; i++) {
@@ -223,21 +223,21 @@
}
me.removeTabs(tabArray);
};
- OB.KeyboardManager.KS.add('TabSet_closeAllTabs', ksAction_closeAllTabs);
+ OB.KeyboardManager.KS.set('TabSet_closeAllTabs', ksAction_closeAllTabs);
var ksAction_ActivateRightTab = function() {
me.selectTab((me.getTabNumber(me.getSelectedTab()))+1);
if(typeof me.getSelectedTab().pane.focusTab === 'function') {
me.getSelectedTab().pane.focusTab();
}
};
- OB.KeyboardManager.KS.add('TabSet_ActivateRightTab',
ksAction_ActivateRightTab);
+ OB.KeyboardManager.KS.set('TabSet_ActivateRightTab',
ksAction_ActivateRightTab);
var ksAction_ActivateLeftTab = function() {
me.selectTab((me.getTabNumber(me.getSelectedTab()))-1);
if(typeof me.getSelectedTab().pane.focusTab === 'function') {
me.getSelectedTab().pane.focusTab();
}
};
- OB.KeyboardManager.KS.add('TabSet_ActivateLeftTab',
ksAction_ActivateLeftTab);
+ OB.KeyboardManager.KS.set('TabSet_ActivateLeftTab',
ksAction_ActivateLeftTab);
var ksAction_ReloadActive = function() {
if(typeof me.getSelectedTab().pane.refreshTab === 'function') {
me.getSelectedTab().pane.refreshTab();
@@ -248,7 +248,7 @@
me.getSelectedTab().pane.focusTab();
}
};
- OB.KeyboardManager.KS.add('TabSet_ReloadActive', ksAction_ReloadActive);
+ OB.KeyboardManager.KS.set('TabSet_ReloadActive', ksAction_ReloadActive);
this.Super('draw', arguments);
},
diff -r 64c89fdf2080 -r 9c0116f3fd36
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-action-button.js
---
a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-action-button.js
Fri Jan 28 17:59:26 2011 +0100
+++
b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-action-button.js
Fri Jan 28 18:11:01 2011 +0100
@@ -150,8 +150,13 @@
var label = this.labelValue[buttonValue];
if (!label){
- label = this.title;
+ if (this.realTitle) {
+ label = this.realTitle;
+ } else {
+ label = this.title;
+ }
}
+ this.realTitle = label;
this.setTitle(label);
}
diff -r 64c89fdf2080 -r 9c0116f3fd36
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
Fri Jan 28 17:59:26 2011 +0100
+++
b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-keyboard-manager.js
Fri Jan 28 18:11:01 2011 +0100
@@ -74,46 +74,68 @@
KS: {
- readRegisteredKSList: function(RefList){
+ setPredefinedKSList: function(RefList){
var i;
var list = [];
list = OB.PropertyStore.get(RefList);
if (list) {
for (i = 0; i < list.length; i++) {
- if (typeof list[i].keyComb.ctrl === 'undefined') {
- list[i].keyComb.ctrl = false;
- }
- if (typeof list[i].keyComb.alt === 'undefined') {
- list[i].keyComb.alt = false;
- }
- if (typeof list[i].keyComb.shift === 'undefined') {
- list[i].keyComb.shift = false;
- }
- if (typeof list[i].keyComb.key === 'undefined') {
- list[i].keyComb.key = null;
- }
+ this.set(list[i].id, null, null, list[i].keyComb);
}
- this.list = this.list.concat(list);
+ }
+ },
+
+ set: function(id, action, funcParam, keyComb) {
+ if (typeof id === 'undefined' || id === null) {
+ return false;
+ }
+
+ var position = this.getPosition(id, 'id');
+ if (position === null) {
+ position = this.list.length;
+ this.list[position] = {};
+ this.list[position].keyComb = {};
+ }
+ if (typeof id !== 'undefined' && id !== null) {
+ this.list[position].id = id;
+ }
+ if (typeof action !== 'undefined' && action !== null) {
+ this.list[position].action = action;
+ }
+ if (typeof funcParam !== 'undefined' && funcParam !== null) {
+ this.list[position].funcParam = funcParam;
+ }
+ if (typeof keyComb !== 'undefined' && keyComb !== null) {
+ if (typeof keyComb.ctrl === 'undefined') {
+ this.list[position].keyComb.ctrl = false;
+ } else {
+ this.list[position].keyComb.ctrl = keyComb.ctrl;
+ }
+ if (typeof keyComb.alt === 'undefined') {
+ this.list[position].keyComb.alt = false;
+ } else {
+ this.list[position].keyComb.alt = keyComb.alt;
+ }
+ if (typeof keyComb.shift === 'undefined') {
+ this.list[position].keyComb.shift = false;
+ } else {
+ this.list[position].keyComb.shift = keyComb.shift;
+ }
+ if (typeof keyComb.key === 'undefined') {
+ this.list[position].keyComb.key = null;
+ } else {
+ this.list[position].keyComb.key = keyComb.key;
+ }
}
},
- add: function(id, action, funcParam){
+ remove: function(id){
var position = this.getPosition(id, 'id');
if (position === null) {
return false;
}
- this.list[position].action = action;
- this.list[position].funcParam = funcParam;
- },
-
- remove: function(id, action, funcParam){
- var position = this.getPosition(id, 'id');
- if (position === null) {
- return false;
- }
- this.list[position].action = null;
- this.list[position].funcParam = null;
+ delete this.list[position];
},
getPosition: function(element, searchPattern){
@@ -135,7 +157,9 @@
},
execute: function(position){
- this.list[position].action(this.list[position].funcParam);
+ if (this.list[position].action !== null) {
+ this.list[position].action(this.list[position].funcParam);
+ }
},
list: []
diff -r 64c89fdf2080 -r 9c0116f3fd36
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-quickrun-widget.js
---
a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-quickrun-widget.js
Fri Jan 28 17:59:26 2011 +0100
+++
b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-quickrun-widget.js
Fri Jan 28 18:11:01 2011 +0100
@@ -90,7 +90,7 @@
}
}
};
- OB.KeyboardManager.KS.add(this.keyboardShortcutId, ksAction);
+ OB.KeyboardManager.KS.set(this.keyboardShortcutId, ksAction);
this.Super('draw', arguments);
},
diff -r 64c89fdf2080 -r 9c0116f3fd36
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-toolbar.js
---
a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-toolbar.js
Fri Jan 28 17:59:26 2011 +0100
+++
b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-toolbar.js
Fri Jan 28 18:11:01 2011 +0100
@@ -130,8 +130,21 @@
// The OBToolbar is the toolbar to perform common actions within a form.
//
isc.OBToolbar.addProperties({
+ randomId: null,
initWidget: function(){
this.Super('initWidget', arguments);
+ function getRandomId() {
+ var chars =
'0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz',
+ stringLength = 8,
+ randomString = '',
+ i, rnum;
+ for (i = 0; i < stringLength; i++) {
+ rnum = Math.floor(Math.random() * chars.length);
+ randomString += chars.substring(rnum,rnum+1);
+ }
+ return randomString;
+ }
+ this.randomId = getRandomId();
this.members = null;
var newMembers = [], i = 0, j = 0;
@@ -639,26 +652,26 @@
// Refreshes all the custom buttons in the toolbar based on current record
selection
//
refreshCustomButtons: function(){
- function doRefresh(buttons, currentValues, hideAllButtons){
+ function doRefresh(buttons, currentValues, hideAllButtons, me){
for (var i = 0; i < buttons.length; i++) {
if (buttons[i].updateState) {
+ me.defineRightMembersShortcuts();
buttons[i].updateState(currentValues, hideAllButtons);
+ me.rightMembers[i].enableShortcut();
}
}
}
- var buttons = this.getRightMembers();
- var numOfSelRecords = 0;
-
+ var buttons = this.getRightMembers(),
+ numOfSelRecords = 0,
+ isNew = this.view.viewForm.isNew,
+ hideAllButtons = !isNew && (!this.view.viewGrid.getSelectedRecords()
|| this.view.viewGrid.getSelectedRecords().length !== 1),
+ currentValues = this.view.getCurrentValues();
if (this.view.viewGrid.getSelectedRecords()) {
numOfSelRecords = this.view.viewGrid.getSelectedRecords().length;
}
- var isNew = this.view.viewForm.isNew;
- var hideAllButtons = !isNew && (!this.view.viewGrid.getSelectedRecords()
|| this.view.viewGrid.getSelectedRecords().length !== 1);
-
-
- var currentValues = this.view.getCurrentValues();
+
if (this.buttonsHaveSessionLogic && !this.view.isShowingForm &&
!hideAllButtons && !isNew) {
var formView = this.view.viewForm;
// Call FIC to obtain possible session attributes and set them in form
@@ -685,11 +698,11 @@
------------------------------------------------------------------------------
Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)!
Finally, a world-class log management solution at an even better price-free!
Download using promo code Free_Logger_4_Dev2Dev. Offer expires
February 28th, so secure your free ArcSight Logger TODAY!
http://p.sf.net/sfu/arcsight-sfd2d
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits