mframejs
Version:
simple framework
31 lines • 1.27 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
var exported_1 = require("../decorator/exported");
var DebounceBehavior = (function () {
function DebounceBehavior(binding, args) {
var 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(function () {
binding.eventHandlerBindedBackup();
}, time);
}.bind(binding);
}
}
DebounceBehavior = tslib_1.__decorate([
exported_1.behavior('debounce'),
tslib_1.__metadata("design:paramtypes", [Object, Object])
], DebounceBehavior);
return DebounceBehavior;
}());
exports.DebounceBehavior = DebounceBehavior;
//# sourceMappingURL=debounce.js.map