From 6b847c543a0f70b540d61878aaafc46b79da4061 Mon Sep 17 00:00:00 2001 From: Romeo Fragomeli <rfr@odoo.com> Date: Thu, 20 Jun 2019 06:46:12 +0000 Subject: [PATCH] [FIX] web: calendar some operation enable swipe in mobile MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This commit avoids the swipe feature when we are moving/resizing an event. Task ID: 2071605 closes odoo/odoo#37715 Signed-off-by: Adrien Dieudonné (adr) <adr@odoo.com> --- .../static/src/js/views/calendar/calendar_renderer.js | 9 +++++++++ 1 file changed, 9 insertions(+) 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 757835e694db..b28d0622094f 100644 --- a/addons/web/static/src/js/views/calendar/calendar_renderer.js +++ b/addons/web/static/src/js/views/calendar/calendar_renderer.js @@ -57,6 +57,7 @@ var SidebarFilter = Widget.extend(FieldManagerMixin, { this.filters = options.filters; this.label = options.label; this.getColor = options.getColor; + this.isSwipeEnabled = true; }, /** * @override @@ -325,6 +326,9 @@ return AbstractRenderer.extend({ }); this.$calendar.on('touchend', function (event) { touchEndX = event.originalEvent.changedTouches[0].pageX; + if (!self.isSwipeEnabled) { + return; + } if (touchStartX - touchEndX > 100) { self.trigger_up('next'); } else if (touchStartX - touchEndX < -100) { @@ -393,6 +397,7 @@ return AbstractRenderer.extend({ self._renderEventPopover(eventData, $(ev.currentTarget)); }, select: function (startDate, endDate) { + self.isSwipeEnabled = false; // Clicking on the view, dispose any visible popover. Otherwise create a new event. if (self.$('.o_cw_popover').length) { self._unselectEvent(); @@ -406,6 +411,7 @@ return AbstractRenderer.extend({ self.$calendar.fullCalendar('unselect'); }, eventRender: function (event, element, view) { + self.isSwipeEnabled = false; var $render = $(self._eventRender(event)); element.find('.fc-content').html($render.html()); element.addClass($render.attr('class')); @@ -433,6 +439,9 @@ return AbstractRenderer.extend({ self.trigger_up('edit_event', {id: event.id}); }); }, + eventAfterAllRender: function () { + self.isSwipeEnabled = true; + }, viewRender: function (view) { // compute mode from view.name which is either 'month', 'agendaWeek' or 'agendaDay' var mode = view.name === 'month' ? 'month' : (view.name === 'agendaWeek' ? 'week' : 'day'); -- GitLab