mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-08-30 20:49:20 +03:00
Replace deprecated Knockout throttle with new debounce extender
Replace admin general mainAttachmentLimit with input type="number"
This commit is contained in:
parent
75b7176ada
commit
8c780ad353
18 changed files with 45 additions and 84 deletions
22
dev/External/Admin/ko.js
vendored
22
dev/External/Admin/ko.js
vendored
|
|
@ -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() {
|
||||
|
|
|
|||
29
dev/External/User/ko.js
vendored
29
dev/External/User/ko.js
vendored
|
|
@ -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;
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue