UNPKG

mframejs

Version:
53 lines 2.02 kB
Object.defineProperty(exports, "__esModule", { value: true }); var exported_1 = require("../utils/exported"); var DomEventHandler = (function () { function DomEventHandler() { this.count = 0; this.id = []; this.events = []; this.target = []; this.call = []; this.eventHandlerBinded = this.eventHandler.bind(this); } DomEventHandler.prototype.listenFor = function (event, target, call) { this.count++; if (this.events.indexOf(event) === -1) { this.addEventListener(event); } this.id.push(this.count); this.events.push(event); this.target.push(target); this.call.push(call); return this.count; }; DomEventHandler.prototype.removeListener = function (id) { this.id.splice(id, 1); var event = this.events.splice(id, 1); this.target.splice(id, 1); this.call.splice(id, 1); if (this.events.indexOf(event) === -1) { this.removeEventListener(event); } }; DomEventHandler.prototype.addEventListener = function (event) { exported_1.DOM.document.body.addEventListener(event, this.eventHandlerBinded, false); }; DomEventHandler.prototype.removeEventListener = function (event) { exported_1.DOM.document.body.removeEventListener(event, this.eventHandlerBinded, false); }; DomEventHandler.prototype.eventHandler = function (event) { var targetID = this.target.indexOf(event.target); var targetEvent = this.events[targetID]; var eventID = this.events.indexOf(event.type); if (eventID !== -1 && targetID !== -1) { if (targetID !== -1 && targetEvent === event.type) { this.call[targetID](event); } else { } } }; return DomEventHandler; }()); exports.DomEventHandler = DomEventHandler; //# sourceMappingURL=domEventHandler.js.map