forked from Techsystech/web
[FIX] web_widget_numeri_step: Change click interval
Previous this commit, the task for auto-step can enter in a infinite loop. Now only creates a new task if no other task is running.12.0
parent
a432e733c2
commit
2804d02796
|
@ -53,6 +53,7 @@ odoo.define('web_widget_numeric_step.field', function (require) {
|
||||||
this._lazyOnChangeTrigger = _.debounce(function() {
|
this._lazyOnChangeTrigger = _.debounce(function() {
|
||||||
self.$input.trigger("change");
|
self.$input.trigger("change");
|
||||||
}, this.DELAY_THROTTLE_CHANGE);
|
}, this.DELAY_THROTTLE_CHANGE);
|
||||||
|
this._auto_step_interval = false;
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -164,13 +165,15 @@ odoo.define('web_widget_numeric_step.field', function (require) {
|
||||||
},
|
},
|
||||||
|
|
||||||
_onStepMouseDown: function (ev) {
|
_onStepMouseDown: function (ev) {
|
||||||
this._interval = setTimeout(
|
if (!this._auto_step_interval) {
|
||||||
|
this._auto_step_interval = setTimeout(
|
||||||
$.proxy(this, "_whileMouseDown", ev), this._click_delay);
|
$.proxy(this, "_whileMouseDown", ev), this._click_delay);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
_onMouseUp: function () {
|
_onMouseUp: function () {
|
||||||
clearTimeout(this._interval);
|
clearTimeout(this._auto_step_interval);
|
||||||
this._interval = false;
|
this._auto_step_interval = false;
|
||||||
this._click_delay = this.DEF_CLICK_DELAY;
|
this._click_delay = this.DEF_CLICK_DELAY;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -182,6 +185,7 @@ odoo.define('web_widget_numeric_step.field', function (require) {
|
||||||
this._click_delay -= this.SUBSTRACT_DELAY_STEP;
|
this._click_delay -= this.SUBSTRACT_DELAY_STEP;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
this._auto_step_interval = false;
|
||||||
this._onStepMouseDown(ev);
|
this._onStepMouseDown(ev);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue