MCPcopy Create free account
hub / github.com/DHTMLX/scheduler / createEventScope

Function createEventScope

codebase/sources/dhtmlxscheduler.js:3697–3730  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

3695 el.detachEvent("on" + event2, handler);
3696 } };
3697 function createEventScope() {
3698 var domEvents = function(addEvent, removeEvent) {
3699 addEvent = addEvent || defaultDomEvents.event;
3700 removeEvent = removeEvent || defaultDomEvents.eventRemove;
3701 var handlers = [];
3702 var eventScope = { attach: function(el, event2, callback, capture) {
3703 handlers.push({ element: el, event: event2, callback, capture });
3704 addEvent(el, event2, callback, capture);
3705 }, detach: function(el, event2, callback, capture) {
3706 removeEvent(el, event2, callback, capture);
3707 for (var i = 0; i < handlers.length; i++) {
3708 var handler = handlers[i];
3709 if (handler.element === el && handler.event === event2 && handler.callback === callback && handler.capture === capture) {
3710 handlers.splice(i, 1);
3711 i--;
3712 }
3713 }
3714 }, detachAll: function() {
3715 var staticArray = handlers.slice();
3716 for (var i = 0; i < staticArray.length; i++) {
3717 var handler = staticArray[i];
3718 eventScope.detach(handler.element, handler.event, handler.callback, handler.capture);
3719 eventScope.detach(handler.element, handler.event, handler.callback, void 0);
3720 eventScope.detach(handler.element, handler.event, handler.callback, false);
3721 eventScope.detach(handler.element, handler.event, handler.callback, true);
3722 }
3723 handlers.splice(0, handlers.length);
3724 }, extend: function() {
3725 return domEvents(this.event, this.eventRemove);
3726 } };
3727 return eventScope;
3728 };
3729 return domEvents();
3730 }
3731 function extend$i(scheduler2) {
3732 var domEvents = createEventScope();
3733 scheduler2.event = domEvents.attach;

Callers 1

extend$iFunction · 0.70

Calls 1

domEventsFunction · 0.70

Tested by

no test coverage detected