Replace deprecated Knockout throttle with new debounce extender

Replace admin general mainAttachmentLimit with input type="number"
This commit is contained in:
djmaze 2021-02-10 12:12:36 +01:00
parent 75b7176ada
commit 8c780ad353
18 changed files with 45 additions and 84 deletions

View file

@ -1,7 +1,6 @@
import 'External/ko';
import ko from 'ko';
import { SaveSettingsStep } from 'Common/Enums';
import { pInt } from 'Common/Utils';
ko.bindingHandlers.saveTrigger = {
init: (element) => {
@ -38,27 +37,6 @@ ko.extenders.idleTrigger = (target) => {
return target;
};
ko.extenders.posInterer = (target, defaultVal) => {
const result = ko.computed({
read: target,
write: newValue => {
let val = pInt(newValue.toString(), defaultVal);
if (0 >= val) {
val = defaultVal;
}
if (val === target() && '' + val !== '' + newValue) {
target(val + 1);
}
target(val);
}
});
result(target());
return result;
};
// functions
ko.observable.fn.idleTrigger = function() {

View file

@ -237,32 +237,3 @@ ko.bindingHandlers.onEsc = {
ko.utils.domNodeDisposal.addDisposeCallback(element, () => element.removeEventListener('keyup', fn));
}
};
// extenders
ko.extenders.specialThrottle = (target, timeout) => {
timeout = parseInt(timeout, 10);
if (0 < timeout) {
let timer = 0,
valueForRead = ko.observable(!!target()).extend({ throttle: 10 });
return ko.computed({
read: valueForRead,
write: (bValue) => {
if (bValue) {
valueForRead(bValue);
} else if (valueForRead()) {
clearTimeout(timer);
timer = setTimeout(() => {
valueForRead(false);
timer = 0;
}, timeout);
} else {
valueForRead(bValue);
}
}
});
}
return target;
};