angular/devtools/src/app/devtools-app/devtools-app.component.ts

25 lines
821 B
TypeScript
Raw Normal View History

import {Component, ElementRef, ViewChild} from '@angular/core';
import {Events, MessageBus, PriorityAwareMessageBus} from 'protocol';
import {IFrameMessageBus} from '../../iframe-message-bus';
2020-01-27 18:40:18 +00:00
@Component({
templateUrl: './devtools-app.component.html',
styleUrls: ['./devtools-app.component.scss'],
providers: [
{
provide: MessageBus,
useFactory(): MessageBus<Events> {
return new PriorityAwareMessageBus(new IFrameMessageBus(
'angular-devtools', 'angular-devtools-backend',
// tslint:disable-next-line: no-non-null-assertion
() => (document.querySelector('#sample-app') as HTMLIFrameElement).contentWindow!));
},
},
],
2020-01-27 18:40:18 +00:00
})
export class DevToolsComponent {
messageBus: IFrameMessageBus|null = null;
2020-01-27 18:40:18 +00:00
@ViewChild('ref') iframe: ElementRef;
}