{"version":3,"file":"event-helper.js","sources":["../../../../src/utils/event-helper.js"],"sourcesContent":["let eventHelper;\r\n\r\nclass EventHelper {\r\n constructor() {\r\n /**\r\n * listener has表\r\n * {\r\n * instance: {\r\n * eventName: [...handlers]\r\n * }\r\n * }\r\n */\r\n this._listener = new Map();\r\n }\r\n\r\n addListener(instance, eventName, handler, context) {\r\n if (!AMap) throw new Error('please wait for Map API load');\r\n if (!instance.on) {\r\n return;\r\n }\r\n // let listener = AMap.event.addListener(instance, eventName, handler, context);\r\n instance.on(eventName, handler, context);\r\n if (!this._listener.get(instance)) this._listener.set(instance, {});\r\n const listenerMap = this._listener.get(instance);\r\n if (!listenerMap[eventName]) listenerMap[eventName] = [];\r\n listenerMap[eventName].push(handler);\r\n\r\n }\r\n\r\n removeListener(instance, eventName, handler) {\r\n if (!AMap) throw new Error('please wait for Map API load');\r\n if (!instance.off) {\r\n return;\r\n }\r\n if (!this._listener.get(instance) || !this._listener.get(instance)[eventName]) return;\r\n const listenerArr = this._listener.get(instance)[eventName];\r\n if (handler) {\r\n const lIndex = listenerArr.indexOf(handler);\r\n instance.off(eventName, listenerArr[lIndex]);\r\n listenerArr.splice(lIndex, 1);\r\n } else {\r\n listenerArr.forEach(listener => {\r\n instance.off(eventName, listener);\r\n });\r\n this._listener.get(instance)[eventName] = [];\r\n }\r\n }\r\n\r\n addListenerOnce(instance, eventName, handler, context) {\r\n return instance.on(eventName, handler, context, true);\r\n }\r\n\r\n trigger(instance, eventName, args) {\r\n return instance.emit(eventName, args);\r\n }\r\n\r\n clearListeners(instance) {\r\n const listeners = this._listener.get(instance);\r\n if (!listeners) return;\r\n Object.keys(listeners).map(eventName => {\r\n instance.clearEvents(eventName);\r\n });\r\n }\r\n}\r\n\r\neventHelper = eventHelper || new EventHelper();\r\n\r\nexport default eventHelper;\r\n"],"names":[],"mappings":"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"}