angular/projects/ng-devtools/src/lib/devtools-tabs/devtools-tabs.component.ts

42 lines
1.2 KiB
TypeScript
Raw Normal View History

2020-01-27 18:40:18 +00:00
import { Component, Input, ViewChild } from '@angular/core';
import { Events, MessageBus } from 'protocol';
import { MatTabGroup } from '@angular/material/tabs';
import { DirectiveExplorerComponent } from './directive-explorer/directive-explorer.component';
2020-01-27 18:40:18 +00:00
@Component({
selector: 'ng-devtools-tabs',
templateUrl: './devtools-tabs.component.html',
styleUrls: ['./devtools-tabs.component.css'],
})
export class DevToolsTabsComponent {
@Input() angularVersion: string | undefined = undefined;
2020-01-27 18:40:18 +00:00
@ViewChild(MatTabGroup) tabGroup: MatTabGroup;
@ViewChild(DirectiveExplorerComponent) directiveExplorer: DirectiveExplorerComponent;
2020-01-27 18:40:18 +00:00
constructor(private _messageBus: MessageBus<Events>) {}
2020-01-27 18:40:18 +00:00
inspectorRunning = false;
toggleInspector(): void {
this.toggleInspectorState();
this.emitInspectorEvent();
}
emitInspectorEvent(): void {
2020-01-27 18:40:18 +00:00
if (this.inspectorRunning) {
this._messageBus.emit('inspectorStart');
2020-01-27 18:40:18 +00:00
this.tabGroup.selectedIndex = 0;
} else {
this._messageBus.emit('inspectorEnd');
2020-01-27 18:40:18 +00:00
}
}
toggleInspectorState(): void {
this.inspectorRunning = !this.inspectorRunning;
}
refresh(): void {
this.directiveExplorer.refresh();
2020-01-27 18:40:18 +00:00
}
}