mframejs
Version:
simple framework
29 lines • 1.12 kB
JavaScript
import * as tslib_1 from "tslib";
import { behavior } from '../decorator/exported';
let DebounceBehavior = class DebounceBehavior {
constructor(binding, args) {
const time = args[0] || 100;
if (binding.eventHandlerBinded) {
binding.eventHandlerBindedBackup = binding.eventHandlerBinded;
binding.detachedBackup = binding.detached;
binding.detached = function () {
binding.detachedBackup();
};
binding.eventHandlerBinded = function () {
if (this.timerBehavior) {
clearTimeout(this.timerBehavior);
this.timerBehavior = null;
}
this.timerBehavior = setTimeout(() => {
binding.eventHandlerBindedBackup();
}, time);
}.bind(binding);
}
}
};
DebounceBehavior = tslib_1.__decorate([
behavior('debounce'),
tslib_1.__metadata("design:paramtypes", [Object, Object])
], DebounceBehavior);
export { DebounceBehavior };
//# sourceMappingURL=debounce.js.map