UNPKG

angular2

Version:

Angular 2 - a web framework for modern web apps

1 lines 9.53 kB
{"version":3,"sources":["event_manager.js"],"names":[],"mappings":"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","file":"angular2/src/render/dom/events/event_manager.es6","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"]}