summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/chrome/action_manager.js
diff options
context:
space:
mode:
authorDharmraj Jhala <dja@openerp.com>2017-05-11 17:15:15 +0530
committerGéry Debongnie <ged@odoo.com>2017-07-12 13:43:08 +0200
commit4330ea02676a4afd88707bb463a007e7de3c8686 (patch)
treef547124a18fd30e09433a65cd9aa7b5a6645131a /addons/web/static/src/js/chrome/action_manager.js
parent578edf73b9f637b0d27708c511b542a27bd7a3b8 (diff)
[ADD] web, *: add rainbowification
This commit introduces the 'rainbowification' feature to the web client (and to some affected addons). This feature is essentially a way to display a nice friendly message when some business event happens. For example, a encouraging message is displayed when the user clear her/his inbox, or when a salesman closes a deal. The mechanism currently only displays a 'rainbowman', but could be extended later to add other kind of animation. There are a few different ways to display a 'rainbowman': - any JS code can simply trigger_up an event ('show_effect') with some options: for example this.trigger_up('show_effect', { type: 'rainbow_man', fadeout: 'no', message: $done, click_close: false, }); - an action returned by the server can have an 'effect' key, with some options - the do_execute_action method accepts a 'effect' option. This is useful when one wants to specify a rainbow on an action button in a form view Joint work with: dbh <dbh@odoo.com>, ged <ged@odoo.com>
Diffstat (limited to 'addons/web/static/src/js/chrome/action_manager.js')
-rw-r--r--addons/web/static/src/js/chrome/action_manager.js5
1 files changed, 5 insertions, 0 deletions
diff --git a/addons/web/static/src/js/chrome/action_manager.js b/addons/web/static/src/js/chrome/action_manager.js
index c81479ec1e0..280a90cec8d 100644
--- a/addons/web/static/src/js/chrome/action_manager.js
+++ b/addons/web/static/src/js/chrome/action_manager.js
@@ -862,6 +862,11 @@ var ActionManager = Widget.extend({
options.on_close();
}
this.dialog_stop();
+ // Display rainbowman on appropriate actions
+ if (action.effect) {
+ this.trigger_up('show_effect', action.effect);
+ }
+
return $.when();
},
ir_actions_server: function (action, options) {