pragma-views2
Version: 
1 lines • 791 B
JavaScript
export function addEventsFeatures(e){e.events=[],e.registerEvent=registerEvent,e.unregisterEvent=unregisterEvent,e.hasEvent=hasEvent}export function removeEventsFeatures(e){unloadEvents(e),e.registerEvent=null,e.unregisterEvent=null}function unregisterEvent(e,n){const t=this.events.find((t=>t.element===e&&t.event===n));null!=t&&(t.element.removeEventListener(t.event,t.callback),this.events.splice(this.events.indexOf(t),1))}function hasEvent(e,n){return null!=this.events.find((t=>t.element===e&&t.event===n))}function registerEvent(e,n,t){e.addEventListener(n,t),this.events.push({element:e,event:n,callback:t})}function unloadEvents(e){if(null!=e.events){for(let n of e.events)n.element.removeEventListener(n.event,n.callback),n.element=null,n.event=null,n.callback=null;e.events=null}}