[FIX] web: fix can't open date picker on graph views

Issue

	- Install CRM
	- CRM > Reports > Activities
	- Add a custom filter > Created on
	- Select the date

	You can't, the date picker is not shown

Cause

	Actually, the date picker is shown but
	very quickly and it is closed by a scroll
	event thrown by Chart.js.

Solution

	Close the date picker only if the user
	scrolls manually.

OPW-2245019

closes odoo/odoo#50482

X-original-commit: bda320052ac937f5bc17c7da81d84633d72a8370
Signed-off-by: Jason Van Malder (jvm) <jvm@odoo.com>
This commit is contained in:
jvm-odoo
2020-04-30 14:35:08 +00:00
parent f1fcc80574
commit a7ee8bc79b
2 changed files with 4 additions and 4 deletions
@@ -75,7 +75,7 @@ var DateWidget = Widget.extend({
*/
destroy: function () {
if (this._onScroll) {
window.removeEventListener('scroll', this._onScroll, true);
window.removeEventListener('wheel', this._onScroll, true);
}
this.__libInput++;
this.$el.datetimepicker('destroy');
@@ -263,7 +263,7 @@ var DateWidget = Widget.extend({
this.__isOpen = false;
this.changeDatetime();
if (this._onScroll) {
window.removeEventListener('scroll', this._onScroll, true);
window.removeEventListener('wheel', this._onScroll, true);
}
this.changeDatetime();
},
@@ -287,7 +287,7 @@ var DateWidget = Widget.extend({
self.__libInput--;
}
};
window.addEventListener('scroll', this._onScroll, true);
window.addEventListener('wheel', this._onScroll, true);
},
/**
* @private
@@ -3478,7 +3478,7 @@ QUnit.module('basic_fields', {
assert.containsOnce($('body'), '.bootstrap-datetimepicker-widget', "datepicker should be opened");
form.el.dispatchEvent(new Event('scroll'));
form.el.dispatchEvent(new Event('wheel'));
assert.containsNone($('body'), '.bootstrap-datetimepicker-widget', "datepicker should be closed");
form.destroy();