UNPKG

angular2

Version:

Angular 2 - a web framework for modern web apps

1 lines 10.9 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"]}