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 ThrottleBehavior = (function () {
function ThrottleBehavior(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 () {
var _this = this;
if (!this.timerBehavior) {
this.timerBehavior = setTimeout(function () {
binding.eventHandlerBindedBackup();
_this.timerBehavior = null;
}, time);
}
}.bind(binding);
}
}
ThrottleBehavior = tslib_1.__decorate([
exported_1.behavior('throttle'),
tslib_1.__metadata("design:paramtypes", [Object, Object])
], ThrottleBehavior);
return ThrottleBehavior;
}());
exports.ThrottleBehavior = ThrottleBehavior;
//# sourceMappingURL=throttle.js.map