本文整理汇总了TypeScript中@angular/platform-browser/src/dom/dom_adapter.DomAdapter类的典型用法代码示例。如果您正苦于以下问题:TypeScript DomAdapter类的具体用法?TypeScript DomAdapter怎么用?TypeScript DomAdapter使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了DomAdapter类的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: describe
describe('MdInk', () => {
let builder: TestComponentBuilder;
let dom: DomAdapter = new BrowserDomAdapter();
function setup(template: string = defaultTemplate): Promise<ComponentFixture<any>> {
return builder
.overrideTemplate(TestComponent, template)
.createAsync(TestComponent)
.then((fixture: ComponentFixture<any>) => {
fixture.detectChanges();
return fixture;
}).catch(console.error.bind(console));
}
beforeEach(inject([TestComponentBuilder], (tcb) => {
builder = tcb;
}));
describe('[md-ink]', () => {
it('should ink ripple when clicked', injectAsync([], () => {
return setup().then((fixture: ComponentFixture<any>) => {
let element: DebugElement = fixture.debugElement.query(By.css('[md-ink]'));
let save = Ink.rippleEvent;
let fired = false;
Ink.rippleEvent = () => {
fired = true;
return Promise.resolve();
};
let event = dom.createEvent('mouse');
element.triggerEventHandler('mousedown', event);
expect(fired).toBe(true);
Ink.rippleEvent = save;
});
}));
it('should not ink ripple with md-no-ink attribute', injectAsync([], () => {
let template = `<div md-ink md-no-ink></div>`;
return setup(template).then((fixture: ComponentFixture<any>) => {
let element: DebugElement = fixture.debugElement.query(By.css('[md-ink]'));
let save = Ink.rippleEvent;
let fired = false;
Ink.rippleEvent = () => {
fired = true;
return Promise.resolve();
};
let event = dom.createEvent('mouse');
element.triggerEventHandler('mousedown', event);
expect(fired).toBe(false);
Ink.rippleEvent = save;
});
}));
});
});
示例2: setup
return setup(template).then((fixture: ComponentFixture<any>) => {
let element: DebugElement = fixture.debugElement.query(By.css('[md-ink]'));
let save = Ink.rippleEvent;
let fired = false;
Ink.rippleEvent = () => {
fired = true;
return Promise.resolve();
};
let event = dom.createEvent('mouse');
element.triggerEventHandler('mousedown', event);
expect(fired).toBe(false);
Ink.rippleEvent = save;
});
示例3: addGlobalEventListener
addGlobalEventListener(target: string, eventName: string, handler: Function): Function {
if ((target === 'document') || (target === 'window' )) {
return noop;
} else {
const element = this._DOM.getGlobalEventTarget(target),
zone = this.manager.getZone();
return this.manager.getZone().runOutsideAngular(
() => this._DOM.onAndCancel(
element,
eventName,
evt => zone.runGuarded(() => handler(evt))
)
);
}
}
示例4: handler
() => this._DOM.onAndCancel(
element,
eventName,
evt => zone.runGuarded(() => handler(evt))
)
示例5: bubbleNonAncestorHandlerFactory
const onceOnOutside = () => this._DOM.onAndCancel(
this._DOM.getGlobalEventTarget('document'),
eventMap[eventName],
bubbleNonAncestorHandlerFactory(element, evt => zone.runGuarded(() => handler(evt)))
);