summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/coresetup.js
diff options
context:
space:
mode:
authorAntony Lesuisse <al@openerp.com>2012-05-15 17:34:23 +0200
committerAntony Lesuisse <al@openerp.com>2012-05-15 17:34:23 +0200
commit33f28d3d6bc61dcb5dea33913925aae49358db27 (patch)
tree8bf71c77126526961fc30189e42dda9c63e4695a /addons/web/static/src/js/coresetup.js
parent6a198b90991254c27612eceec217718830d0a68d (diff)
[FIX] #menu_id loading, move client_actions registry
bzr revid: al@openerp.com-20120515153423-bj6vgiuwq26cyq5o
Diffstat (limited to 'addons/web/static/src/js/coresetup.js')
-rw-r--r--addons/web/static/src/js/coresetup.js27
1 files changed, 27 insertions, 0 deletions
diff --git a/addons/web/static/src/js/coresetup.js b/addons/web/static/src/js/coresetup.js
index 8e7b5d4f75d..5a8a2b50722 100644
--- a/addons/web/static/src/js/coresetup.js
+++ b/addons/web/static/src/js/coresetup.js
@@ -579,6 +579,33 @@ $.async_when = function() {
return old_async_when.apply(this, arguments);
};
+/**
+ * Registry for all the client actions key: tag value: widget
+ */
+instance.web.client_actions = new instance.web.Registry();
+
+/**
+ * Client action to reload the whole interface.
+ * If params has an entry 'menu_id', it opens the given menu entry.
+ */
+instance.web.client_actions.add("reload", "instance.web.Reload");
+
+instance.web.Reload = instance.web.Widget.extend({
+ init: function(parent, params) {
+ this._super(parent);
+ this.menu_id = (params && params.menu_id) || false;
+ },
+ start: function() {
+ if (this.menu_id) {
+ // open the given menu id
+ var url_without_fragment = window.location.toString().split("#", 1)[0];
+ window.location = url_without_fragment + "#menu_id=" + this.menu_id;
+ } else {
+ window.location.reload();
+ }
+ }
+});
+
};
// vim:et fdc=0 fdl=0 foldnestmax=3 fdm=syntax: