[FIX] web: calendar some operation enable swipe in mobile

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>
This commit is contained in:
Romeo Fragomeli
2019-10-01 14:10:53 +00:00
parent 18e3f8405a
commit 6b847c543a
@@ -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');