From 8ce97d144da2c96f0459080e761f5d1cfdb9b148 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A9ry=20Debongnie?= Date: Thu, 8 Aug 2019 12:19:47 +0000 Subject: [PATCH] [FIX] web: remove flickering in calendar popover MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Before this commit, the calendar popover was opened before the popover widget was ready. This is not usually the way it is done in odoo. closes odoo/odoo#31874 Signed-off-by: Géry Debongnie (ged) --- .../js/views/calendar/calendar_renderer.js | 39 ++++++++++--------- addons/web/static/src/xml/web_calendar.xml | 3 -- 2 files changed, 21 insertions(+), 21 deletions(-) diff --git a/addons/web/static/src/js/views/calendar/calendar_renderer.js b/addons/web/static/src/js/views/calendar/calendar_renderer.js index 8999d84bf34..149c54e38c2 100644 --- a/addons/web/static/src/js/views/calendar/calendar_renderer.js +++ b/addons/web/static/src/js/views/calendar/calendar_renderer.js @@ -708,24 +708,27 @@ return AbstractRenderer.extend({ */ _renderEventPopover: function (eventData, $eventElement) { var self = this; - $eventElement.popover({ - animation: false, - delay: { - show: 50, - hide: 100 - }, - trigger: 'manual', - html: true, - title: eventData.record.display_name, - template: qweb.render('CalendarView.event.popover.placeholder', {color: this.getColor(eventData.color_index)}), - container: eventData.allDay ? '.fc-view' : '.fc-scroller', - }).on('shown.bs.popover', function () { - var $popover = $($(this).data('bs.popover').tip); - $popover.find('.o_cw_popover_close').on('click', self._unselectEvent.bind(self)); - // Initialize popover widget - var calendarPopover = new self.config.CalendarPopover(self, self._getPopoverContext(eventData)); - calendarPopover.replace($popover.find('.o_cw_body')); - }).popover('show'); + + // Initialize popover widget + var calendarPopover = new self.config.CalendarPopover(self, self._getPopoverContext(eventData)); + calendarPopover.appendTo($('
')).then(() => { + $eventElement.popover({ + animation: false, + delay: { + show: 50, + hide: 100 + }, + trigger: 'manual', + html: true, + title: eventData.record.display_name, + template: qweb.render('CalendarView.event.popover.placeholder', {color: this.getColor(eventData.color_index)}), + container: eventData.allDay ? '.fc-view' : '.fc-scroller', + }).on('shown.bs.popover', function () { + var $popover = $($(this).data('bs.popover').tip); + $popover.find('.o_cw_popover_close').on('click', self._unselectEvent.bind(self)); + $popover.find('.o_cw_body').replaceWith(calendarPopover.$el); + }).popover('show'); + }); }, //-------------------------------------------------------------------------- diff --git a/addons/web/static/src/xml/web_calendar.xml b/addons/web/static/src/xml/web_calendar.xml index fd4f7b3a532..c17d5861f0e 100644 --- a/addons/web/static/src/xml/web_calendar.xml +++ b/addons/web/static/src/xml/web_calendar.xml @@ -25,9 +25,6 @@
-
- -