Slider.js: don't hold onto cbObj

pull/3375/head
Rob Pilling 2024-04-21 18:09:38 +01:00
parent cacd6c7ac2
commit a28b2008c3
1 changed files with 5 additions and 5 deletions

View File

@ -125,6 +125,7 @@ exports.create = function(cb, conf) {
if (o.v.timeoutID) {clearTimeout(o.v.timeoutID); o.v.timeoutID = undefined;}
if (e.b==0 && !o.v.timeoutID && (o.c.timeout || o.c.timeout===0)) o.v.timeoutID = setTimeout(o.f.remove, 1000*o.c.timeout);
let cbObj;
if (useMap && o.f.wasOnIndicator(o.v.exFirst)) { // If draging starts on the indicator, adjust one-to-one.
let input = !o.c.horizontal?
@ -134,7 +135,7 @@ exports.create = function(cb, conf) {
o.v.level = Math.min(Math.max(input,0),o.c.steps);
o.v.cbObj = {mode:"map", value:o.v.level};
cbObj = {mode:"map", value:o.v.level};
} else if (useIncr) { // Heavily inspired by "updown" mode of setUI.
@ -149,14 +150,13 @@ exports.create = function(cb, conf) {
o.v.level = Math.min(Math.max(o.v.level-incr,0),o.c.steps);
o.v.cbObj = {mode:"incr", value:incr};
cbObj = {mode:"incr", value:incr};
}
}
if (o.v.cbObj && (o.v.level!==o.v.prevLevel||o.v.level===0||o.v.level===o.c.steps)) {
cb(o.v.cbObj.mode, o.v.cbObj.value);
if (cbObj && (o.v.level!==o.v.prevLevel||o.v.level===0||o.v.level===o.c.steps)) {
cb(cbObj.mode, cbObj.value);
o.f.draw&&o.f.draw(o.v.level);
}
o.v.cbObj = null;
o.v.prevLevel = o.v.level;
o.v.ebLast = e.b;
}