Files
pathfinder/js/app/lib/eventHandler.js
Mark Friedrich ee85b1af56 - Improved 'dragSelect' on map, added "autoScroll" while dragging, closed #879
- Fixed system position not saved properly after multiple systems were dragged at once
2019-11-30 12:57:36 +01:00

29 lines
826 B
JavaScript

define([], () => {
'use strict';
let EventHandler = class EventHandler {
constructor(){
this._listeners = new Map();
}
addEventListener(target, type, listener, options){
this._listeners.set(type, listener);
target.addEventListener(this.constructor.eventParts(type).event, listener, options);
}
removeEventListener(target, type){
target.removeEventListener(this.constructor.eventParts(type).event, this._listeners.get(type));
this._listeners.delete(type);
}
static eventParts(type){
return type.split('.').reduce((acc, val, i) => {
acc[i ? 'namespace' : 'event'] = val;
return acc;
}, {});
}
};
return new EventHandler();
});