details: https://code.openbravo.com/erp/devel/pi/rev/c09f69635bed
changeset: 20155:c09f69635bed
user: David Baz Fayos <david.baz <at> openbravo.com>
date: Fri Apr 19 18:16:45 2013 +0200
summary: Fixed issue 23597: Added 'overwriteIfExists' capabilities to
'registerButton' function
diffstat:
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/main/ob-standard-view.js
| 2 +-
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/personalization/ob-manage-views-toolbar.js
| 4 +-
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/personalization/ob-personalize-form-toolbar-button.js
| 6 +-
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/toolbar/ob-toolbar.js
| 45 +++++----
4 files changed, 32 insertions(+), 25 deletions(-)
diffs (163 lines):
diff -r dceedab02219 -r c09f69635bed
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/main/ob-standard-view.js
---
a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/main/ob-standard-view.js
Fri Apr 19 18:04:36 2013 +0200
+++
b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/main/ob-standard-view.js
Fri Apr 19 18:16:45 2013 +0200
@@ -250,7 +250,7 @@
length = this.iconToolbarButtons.length;
for (i = 0; i < length; i++) {
// note create a somewhat unique id by concatenating the tabid and the
index
- OB.ToolbarRegistry.registerButton(this.tabId + '_' + i,
isc.OBToolbarIconButton, this.iconToolbarButtons[i], 200 + (i * 10),
this.tabId);
+ OB.ToolbarRegistry.registerButton(this.tabId + '_' + i,
isc.OBToolbarIconButton, this.iconToolbarButtons[i], 200 + (i * 10),
this.tabId, false);
}
}
diff -r dceedab02219 -r c09f69635bed
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/personalization/ob-manage-views-toolbar.js
---
a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/personalization/ob-manage-views-toolbar.js
Fri Apr 19 18:04:36 2013 +0200
+++
b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/personalization/ob-manage-views-toolbar.js
Fri Apr 19 18:16:45 2013 +0200
@@ -11,7 +11,7 @@
* under the License.
* The Original Code is Openbravo ERP.
* The Initial Developer of the Original Code is Openbravo SLU
- * All portions are Copyright (C) 2011-2012 Openbravo SLU
+ * All portions are Copyright (C) 2011-2013 Openbravo SLU
* All Rights Reserved.
* Contributor(s): ___________
************************************************************************
@@ -228,6 +228,6 @@
keyboardShortcutId: 'ToolBar_ManageViews'
};
- OB.ToolbarRegistry.registerButton(manageViewButtonProperties.buttonType,
isc.OBToolbarIconButton, manageViewButtonProperties, 320, null);
+ OB.ToolbarRegistry.registerButton(manageViewButtonProperties.buttonType,
isc.OBToolbarIconButton, manageViewButtonProperties, 320, null, false);
}());
\ No newline at end of file
diff -r dceedab02219 -r c09f69635bed
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/personalization/ob-personalize-form-toolbar-button.js
---
a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/personalization/ob-personalize-form-toolbar-button.js
Fri Apr 19 18:04:36 2013 +0200
+++
b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/personalization/ob-personalize-form-toolbar-button.js
Fri Apr 19 18:16:45 2013 +0200
@@ -11,7 +11,7 @@
* under the License.
* The Original Code is Openbravo ERP.
* The Initial Developer of the Original Code is Openbravo SLU
- * All portions are Copyright (C) 2011-2012 Openbravo SLU
+ * All portions are Copyright (C) 2011-2013 Openbravo SLU
* All Rights Reserved.
* Contributor(s): ___________
************************************************************************
@@ -71,7 +71,7 @@
keyboardShortcutId: 'ToolBar_Personalization'
};
-
OB.ToolbarRegistry.registerButton(personalizationButtonProperties.buttonType,
isc.OBToolbarIconButton, personalizationButtonProperties, 310, null);
+
OB.ToolbarRegistry.registerButton(personalizationButtonProperties.buttonType,
isc.OBToolbarIconButton, personalizationButtonProperties, 310, null, false);
// and register the toolbar button the window personalization tab
windowPersonalizationTabButtonProperties = {
@@ -147,6 +147,6 @@
};
// register only for the window personalization tab
-
OB.ToolbarRegistry.registerButton(windowPersonalizationTabButtonProperties.buttonType,
isc.OBToolbarIconButton, windowPersonalizationTabButtonProperties, 320,
'FF8081813157AED2013157BF6D810023');
+
OB.ToolbarRegistry.registerButton(windowPersonalizationTabButtonProperties.buttonType,
isc.OBToolbarIconButton, windowPersonalizationTabButtonProperties, 320,
'FF8081813157AED2013157BF6D810023', false);
}());
\ No newline at end of file
diff -r dceedab02219 -r c09f69635bed
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/toolbar/ob-toolbar.js
---
a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/toolbar/ob-toolbar.js
Fri Apr 19 18:04:36 2013 +0200
+++
b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/toolbar/ob-toolbar.js
Fri Apr 19 18:16:45 2013 +0200
@@ -1678,7 +1678,7 @@
};
-// ** {{{ OB.ToolbarUtils.createCloneButton(/*String*/ actionHandler,
/*Array[String]*/ tabIds, /*String*/ askMsg, /*Integer*/ sortOrder, /*Boolean*/
editRecordAfterClone, /*String*/ buttonId}}} **
+// ** {{{ OB.ToolbarUtils.createCloneButton(/*String*/ actionHandler,
/*Array[String]*/ tabIds, /*String*/ askMsg, /*Integer*/ sortOrder, /*Boolean*/
editRecordAfterClone, /*String*/ buttonId, /*Boolean*/ overwriteIfExists}}} **
// Automatically set up a clone button for the provided tabs
// Parameters:
// * {{{actionHandler}}}: action handler which processes and returns the
cloned record
@@ -1686,10 +1686,9 @@
// * {{{askMsg}}}: (Optional, 'OBUIAPP_WantToCloneRecord' by default) Text
that will be displayed when the button be pressed.
// * {{{sortOrder}}}: (Optional, '100' by default) Position in the toolbar of
the clone button.
// * {{{editRecordAfterClone}}}: (Optional, true by default) If the form edit
view (of the cloned record) should be opened after clone it.
-// * {{{buttonId}}}: (Optional, random by default) Don't set it unless you
plan to do advanced coding with this button
-//
-// Based on the development of: Sreedhar Sirigiri (TDS), Mallikarjun M (TDS)
-OB.ToolbarUtils.createCloneButton = function (actionHandler, tabIds, askMsg,
sortOrder, editRecordAfterClone, buttonId) {
+// * {{{buttonId}}}: (Optional, random by default) Don't set it unless you
plan to do advanced coding with this button (as, for example, overwrite it
later in another place).
+// * {{{overwriteIfExists}}}: (Optional, false by default) To be able to
overwrite a particular existing clone button. The buttonId should match with
the overwritten one.
+OB.ToolbarUtils.createCloneButton = function (actionHandler, tabIds, askMsg,
sortOrder, editRecordAfterClone, buttonId, overwriteIfExists) {
var cloneButtonProps = isc.addProperties({},
isc.OBToolbar.CLONE_BUTTON_PROPERTIES);
if (!askMsg) {
@@ -1704,6 +1703,9 @@
if (!buttonId) {
buttonId = cloneButtonProps.buttonType + '_' +
OB.Utilities.generateRandomString(8);
}
+ if (overwriteIfExists !== true) {
+ overwriteIfExists = false;
+ }
cloneButtonProps.action = function () {
var view = this.view,
@@ -1735,14 +1737,14 @@
isc.ask(askMsg, callback);
};
- OB.ToolbarRegistry.registerButton(buttonId, isc.OBToolbarIconButton,
cloneButtonProps, sortOrder, tabIds);
+ OB.ToolbarRegistry.registerButton(buttonId, isc.OBToolbarIconButton,
cloneButtonProps, sortOrder, tabIds, overwriteIfExists);
};
OB.ToolbarRegistry = {
buttonDefinitions: [],
// note tabIds is an array of strings, but maybe null/undefined
- registerButton: function (buttonId, clazz, properties, sortOrder, tabIds) {
+ registerButton: function (buttonId, clazz, properties, sortOrder, tabIds,
overwriteIfExists) {
var length;
if (tabIds && !isc.isA.Array(tabIds)) {
@@ -1761,11 +1763,16 @@
tabIds: tabIds
};
- // already registered, bail
+ // already registered button handling
length = this.buttonDefinitions.length;
for (i = 0; i < length; i++) {
if (this.buttonDefinitions[i].buttonId === buttonId) {
- return;
+ if (overwriteIfExists) {
+ this.buttonDefinitions.splice(i, 1);
+ break;
+ } else {
+ return;
+ }
}
}
@@ -1815,15 +1822,15 @@
};
//These are the icon toolbar buttons shown in all the tabs
-OB.ToolbarRegistry.registerButton(isc.OBToolbar.NEW_DOC_BUTTON_PROPERTIES.buttonType,
isc.OBToolbarIconButton, isc.OBToolbar.NEW_DOC_BUTTON_PROPERTIES, 10, null);
-OB.ToolbarRegistry.registerButton(isc.OBToolbar.NEW_ROW_BUTTON_PROPERTIES.buttonType,
isc.OBToolbarIconButton, isc.OBToolbar.NEW_ROW_BUTTON_PROPERTIES, 20, null);
-OB.ToolbarRegistry.registerButton(isc.OBToolbar.SAVE_BUTTON_PROPERTIES.buttonType,
isc.OBToolbarIconButton, isc.OBToolbar.SAVE_BUTTON_PROPERTIES, 30, null);
-OB.ToolbarRegistry.registerButton(isc.OBToolbar.SAVECLOSE_BUTTON_PROPERTIES.buttonType,
isc.OBToolbarIconButton, isc.OBToolbar.SAVECLOSE_BUTTON_PROPERTIES, 40, null);
-OB.ToolbarRegistry.registerButton(isc.OBToolbar.UNDO_BUTTON_PROPERTIES.buttonType,
isc.OBToolbarIconButton, isc.OBToolbar.UNDO_BUTTON_PROPERTIES, 50, null);
-OB.ToolbarRegistry.registerButton(isc.OBToolbar.DELETE_BUTTON_PROPERTIES.buttonType,
isc.OBToolbarIconButton, isc.OBToolbar.DELETE_BUTTON_PROPERTIES, 60, null);
-OB.ToolbarRegistry.registerButton(isc.OBToolbar.REFRESH_BUTTON_PROPERTIES.buttonType,
isc.OBToolbarIconButton, isc.OBToolbar.REFRESH_BUTTON_PROPERTIES, 70, null);
-OB.ToolbarRegistry.registerButton(isc.OBToolbar.EXPORT_BUTTON_PROPERTIES.buttonType,
isc.OBToolbarIconButton, isc.OBToolbar.EXPORT_BUTTON_PROPERTIES, 80, null);
-OB.ToolbarRegistry.registerButton(isc.OBToolbar.ATTACHMENTS_BUTTON_PROPERTIES.buttonType,
isc.OBToolbarIconButton, isc.OBToolbar.ATTACHMENTS_BUTTON_PROPERTIES, 90,
null);
+OB.ToolbarRegistry.registerButton(isc.OBToolbar.NEW_DOC_BUTTON_PROPERTIES.buttonType,
isc.OBToolbarIconButton, isc.OBToolbar.NEW_DOC_BUTTON_PROPERTIES, 10, null,
false);
+OB.ToolbarRegistry.registerButton(isc.OBToolbar.NEW_ROW_BUTTON_PROPERTIES.buttonType,
isc.OBToolbarIconButton, isc.OBToolbar.NEW_ROW_BUTTON_PROPERTIES, 20, null,
false);
+OB.ToolbarRegistry.registerButton(isc.OBToolbar.SAVE_BUTTON_PROPERTIES.buttonType,
isc.OBToolbarIconButton, isc.OBToolbar.SAVE_BUTTON_PROPERTIES, 30, null,
false);
+OB.ToolbarRegistry.registerButton(isc.OBToolbar.SAVECLOSE_BUTTON_PROPERTIES.buttonType,
isc.OBToolbarIconButton, isc.OBToolbar.SAVECLOSE_BUTTON_PROPERTIES, 40, null,
false);
+OB.ToolbarRegistry.registerButton(isc.OBToolbar.UNDO_BUTTON_PROPERTIES.buttonType,
isc.OBToolbarIconButton, isc.OBToolbar.UNDO_BUTTON_PROPERTIES, 50, null,
false);
+OB.ToolbarRegistry.registerButton(isc.OBToolbar.DELETE_BUTTON_PROPERTIES.buttonType,
isc.OBToolbarIconButton, isc.OBToolbar.DELETE_BUTTON_PROPERTIES, 60, null,
false);
+OB.ToolbarRegistry.registerButton(isc.OBToolbar.REFRESH_BUTTON_PROPERTIES.buttonType,
isc.OBToolbarIconButton, isc.OBToolbar.REFRESH_BUTTON_PROPERTIES, 70, null,
false);
+OB.ToolbarRegistry.registerButton(isc.OBToolbar.EXPORT_BUTTON_PROPERTIES.buttonType,
isc.OBToolbarIconButton, isc.OBToolbar.EXPORT_BUTTON_PROPERTIES, 80, null,
false);
+OB.ToolbarRegistry.registerButton(isc.OBToolbar.ATTACHMENTS_BUTTON_PROPERTIES.buttonType,
isc.OBToolbarIconButton, isc.OBToolbar.ATTACHMENTS_BUTTON_PROPERTIES, 90,
null, false);
//and add the direct link at the end
-OB.ToolbarRegistry.registerButton(isc.OBToolbar.LINK_BUTTON_PROPERTIES.buttonType,
isc.OBToolbarIconButton, isc.OBToolbar.LINK_BUTTON_PROPERTIES, 300, null);
\ No newline at end of file
+OB.ToolbarRegistry.registerButton(isc.OBToolbar.LINK_BUTTON_PROPERTIES.buttonType,
isc.OBToolbarIconButton, isc.OBToolbar.LINK_BUTTON_PROPERTIES, 300, null,
false);
\ No newline at end of file
------------------------------------------------------------------------------
Precog is a next-generation analytics platform capable of advanced
analytics on semi-structured data. The platform includes APIs for building
apps and a phenomenal toolset for data science. Developers can use
our toolset for easy data analysis & visualization. Get a free account!
http://www2.precog.com/precogplatform/slashdotnewsletter
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits