angular2
Version:
Angular 2 - a web framework for modern web apps
1 lines • 10.4 kB
Source Map (JSON)
{"version":3,"sources":["event_manager.js"],"names":[],"mappings":"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","file":"angular2/src/render/dom/events/event_manager.js","sourcesContent":["import {isBlank, BaseException, isPresent, StringWrapper} from 'angular2/src/facade/lang';\nimport {DOM} from 'angular2/src/dom/dom_adapter';\nimport {List, ListWrapper, MapWrapper} from 'angular2/src/facade/collection';\nimport {VmTurnZone} from 'angular2/src/core/zone/vm_turn_zone';\n\nvar BUBBLE_SYMBOL = '^';\n\nexport class EventManager {\n _plugins: List<EventManagerPlugin>;\n _zone: VmTurnZone;\n\n constructor(plugins: List<EventManagerPlugin>, zone: VmTurnZone) {\n this._zone = zone;\n this._plugins = plugins;\n for (var i = 0; i < plugins.length; i++) {\n plugins[i].manager = this;\n }\n }\n\n addEventListener(element, eventName: string, handler: Function) {\n var withoutBubbleSymbol = this._removeBubbleSymbol(eventName);\n var plugin = this._findPluginFor(withoutBubbleSymbol);\n plugin.addEventListener(element, withoutBubbleSymbol, handler, withoutBubbleSymbol != eventName);\n }\n\n addGlobalEventListener(target: string, eventName: string, handler: Function): Function {\n var withoutBubbleSymbol = this._removeBubbleSymbol(eventName);\n var plugin = this._findPluginFor(withoutBubbleSymbol);\n return plugin.addGlobalEventListener(target, withoutBubbleSymbol, handler, withoutBubbleSymbol != eventName);\n }\n\n getZone(): VmTurnZone {\n return this._zone;\n }\n\n _findPluginFor(eventName: string): EventManagerPlugin {\n var plugins = this._plugins;\n for (var i = 0; i < plugins.length; i++) {\n var plugin = plugins[i];\n if (plugin.supports(eventName)) {\n return plugin;\n }\n }\n throw new BaseException(`No event manager plugin found for event ${eventName}`);\n }\n\n _removeBubbleSymbol(eventName: string): string {\n return eventName[0] == BUBBLE_SYMBOL ? StringWrapper.substring(eventName, 1) : eventName;\n }\n}\n\nexport class EventManagerPlugin {\n manager: EventManager;\n\n // We are assuming here that all plugins support bubbled and non-bubbled events.\n // That is equivalent to having supporting $event.target\n // The bubbling flag (currently ^) is stripped before calling the supports and \n // addEventListener methods.\n supports(eventName: string): boolean {\n return false;\n }\n\n addEventListener(element, eventName: string, handler: Function, shouldSupportBubble: boolean) {\n throw \"not implemented\";\n }\n\n addGlobalEventListener(element, eventName: string, handler: Function, shouldSupportBubble: boolean): Function {\n throw \"not implemented\";\n }\n}\n\nexport class DomEventsPlugin extends EventManagerPlugin {\n manager: EventManager;\n\n // This plugin should come last in the list of plugins, because it accepts all\n // events.\n supports(eventName: string): boolean {\n return true;\n }\n\n addEventListener(element, eventName: string, handler: Function, shouldSupportBubble: boolean) {\n var outsideHandler = this._getOutsideHandler(shouldSupportBubble, element, handler, this.manager._zone);\n this.manager._zone.runOutsideAngular(() => {\n DOM.on(element, eventName, outsideHandler);\n });\n }\n\n addGlobalEventListener(target:string, eventName: string, handler: Function, shouldSupportBubble: boolean): Function {\n var element = DOM.getGlobalEventTarget(target);\n var outsideHandler = this._getOutsideHandler(shouldSupportBubble, element, handler, this.manager._zone);\n return this.manager._zone.runOutsideAngular(() => {\n return DOM.onAndCancel(element, eventName, outsideHandler);\n });\n }\n\n _getOutsideHandler(shouldSupportBubble: boolean, element, handler: Function, zone: VmTurnZone) {\n return shouldSupportBubble ?\n DomEventsPlugin.bubbleCallback(element, handler, zone) :\n DomEventsPlugin.sameElementCallback(element, handler, zone);\n }\n\n static sameElementCallback(element, handler, zone) {\n return (event) => {\n if (event.target === element) {\n zone.run(() => handler(event));\n }\n };\n }\n\n static bubbleCallback(element, handler, zone) {\n return (event) => zone.run(() => handler(event));\n }\n}\n"]}