refactor: misc cleanup (#11654)

This commit is contained in:
Victor Berchet
2016-09-19 17:15:57 -07:00
committed by Alex Eagle
parent 51d73d3e4e
commit 671f73448c
37 changed files with 112 additions and 196 deletions

View File

@ -164,7 +164,7 @@ export class BrowserDomAdapter extends GenericBrowserDomAdapter {
childNodes(el: any /** TODO #9100 */): Node[] { return el.childNodes; }
childNodesAsList(el: any /** TODO #9100 */): any[] {
var childNodes = el.childNodes;
var res = ListWrapper.createFixedSize(childNodes.length);
var res = new Array(childNodes.length);
for (var i = 0; i < childNodes.length; i++) {
res[i] = childNodes[i];
}

View File

@ -6,8 +6,6 @@
* found in the LICENSE file at https://angular.io/license
*/
import {StringMapWrapper} from '../../facade/collection';
import {EventManagerPlugin} from './event_manager';
var _eventNames = {
@ -53,7 +51,6 @@ export class HammerGesturesPluginCommon extends EventManagerPlugin {
constructor() { super(); }
supports(eventName: string): boolean {
eventName = eventName.toLowerCase();
return StringMapWrapper.contains(_eventNames, eventName);
return _eventNames.hasOwnProperty(eventName.toLowerCase());
}
}

View File

@ -72,7 +72,7 @@ export class KeyEventsPlugin extends EventManagerPlugin {
// returning null instead of throwing to let another plugin process the event
return null;
}
var result = StringMapWrapper.create();
var result = {};
StringMapWrapper.set(result, 'domEventName', domEventName);
StringMapWrapper.set(result, 'fullKey', fullKey);
return result;

View File

@ -11,12 +11,10 @@ import {beforeEach, ddescribe, describe, expect, iit, it, xdescribe, xit} from '
import {getDOM} from '@angular/platform-browser/src/dom/dom_adapter';
import {DomEventsPlugin} from '@angular/platform-browser/src/dom/events/dom_events';
import {EventManager, EventManagerPlugin} from '@angular/platform-browser/src/dom/events/event_manager';
import {ListWrapper, Map} from '../../../src/facade/collection';
import {el} from '../../../testing/browser_util';
export function main() {
var domEventPlugin: any /** TODO #9100 */;
var domEventPlugin: DomEventsPlugin;
describe('EventManager', () => {
@ -29,7 +27,7 @@ export function main() {
var plugin = new FakeEventManagerPlugin(['click']);
var manager = new EventManager([domEventPlugin, plugin], new FakeNgZone());
manager.addEventListener(element, 'click', handler);
expect(plugin._eventHandler.get('click')).toBe(handler);
expect(plugin.eventHandler['click']).toBe(handler);
});
it('should delegate event bindings to the first plugin supporting the event', () => {
@ -41,10 +39,8 @@ export function main() {
var manager = new EventManager([plugin2, plugin1], new FakeNgZone());
manager.addEventListener(element, 'click', clickHandler);
manager.addEventListener(element, 'dblclick', dblClickHandler);
expect(plugin1._eventHandler.has('click')).toBe(false);
expect(plugin2._eventHandler.get('click')).toBe(clickHandler);
expect(plugin2._eventHandler.has('dblclick')).toBe(false);
expect(plugin1._eventHandler.get('dblclick')).toBe(dblClickHandler);
expect(plugin2.eventHandler['click']).toBe(clickHandler);
expect(plugin1.eventHandler['dblclick']).toBe(dblClickHandler);
});
it('should throw when no plugin can handle the event', () => {
@ -91,22 +87,23 @@ export function main() {
});
}
/** @internal */
class FakeEventManagerPlugin extends EventManagerPlugin {
/** @internal */
_eventHandler = new Map<string, Function>();
constructor(public _supports: string[]) { super(); }
eventHandler: {[event: string]: Function} = {};
supports(eventName: string): boolean { return ListWrapper.contains(this._supports, eventName); }
constructor(public supportedEvents: string[]) { super(); }
addEventListener(element: any /** TODO #9100 */, eventName: string, handler: Function) {
this._eventHandler.set(eventName, handler);
return () => { this._eventHandler.delete(eventName); };
supports(eventName: string): boolean { return this.supportedEvents.indexOf(eventName) > -1; }
addEventListener(element: any, eventName: string, handler: Function) {
this.eventHandler[eventName] = handler;
return () => { delete (this.eventHandler[eventName]); };
}
}
class FakeNgZone extends NgZone {
constructor() { super({enableLongStackTrace: false}); }
run(fn: any /** TODO #9100 */) { fn(); }
run(fn: Function) { fn(); }
runOutsideAngular(fn: any /** TODO #9100 */) { return fn(); }
runOutsideAngular(fn: Function) { return fn(); }
}