diff options
Diffstat (limited to 'addons/web/static/src/js/coresetup.js')
| -rw-r--r-- | addons/web/static/src/js/coresetup.js | 27 |
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: |
