From 1cee88b22cd30ef83f202a1560262502ddb54753 Mon Sep 17 00:00:00 2001 From: Julien Legros Date: Mon, 29 Sep 2014 16:08:42 +0200 Subject: [PATCH] [FIX] web_tip: handles `content changed` event in forms; minor fixes * eval tip on form content changes * prevent multiple tip trigerring in some cases * use scrollTo jquery plugin --- addons/web_tip/static/src/js/tip.js | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/addons/web_tip/static/src/js/tip.js b/addons/web_tip/static/src/js/tip.js index 350062fc9a8..da2ac7f655e 100644 --- a/addons/web_tip/static/src/js/tip.js +++ b/addons/web_tip/static/src/js/tip.js @@ -90,6 +90,9 @@ var model = formView.model; var type = formView.datarecord.type ? formView.datarecord.type : null; var mode = 'form'; + formView.on('view_content_has_changed', self, function() { + self.eval_tip(null, model, mode, type); + }); self.eval_tip(null, model, mode, type); }, @@ -136,7 +139,9 @@ add_tip: function(tip) { var self = this; self.tip_mutex.exec(function() { - return $.when(self.do_tip(tip)); + if (!tip.is_consumed) { + return $.when(self.do_tip(tip)); + } }); }, @@ -175,8 +180,7 @@ return (overflow === 'auto' || overflow === 'scroll'); }); if (scroll) { - var offset = self.$element.offset().top; - $(scroll).scrollTop(offset); + $(scroll).scrollTo(self.$element); } var _top = self.$element.offset().top -5;