2023-12-04 21:19:43 +00:00
|
|
|
<nav class="devtools-nav" #navBar mat-tab-nav-bar [color]="'accent'" [tabPanel]="tabPanel">
|
2021-02-13 10:22:04 +00:00
|
|
|
<div id="nav-buttons">
|
2023-08-30 22:41:16 +00:00
|
|
|
<button (click)="toggleInspector()" matTooltip="Inspect element">
|
|
|
|
|
<mat-icon [class.inspector-active]="inspectorRunning"> pin_end </mat-icon>
|
2021-02-13 10:22:04 +00:00
|
|
|
</button>
|
2023-08-30 22:41:16 +00:00
|
|
|
<button [matMenuTriggerFor]="menu" matTooltip="Open settings">
|
2021-09-08 22:38:13 +00:00
|
|
|
<mat-icon> settings </mat-icon>
|
2021-02-13 10:22:04 +00:00
|
|
|
</button>
|
2023-08-30 22:41:16 +00:00
|
|
|
<button [matMenuTriggerFor]="info" matTooltip="Info">
|
2021-09-08 22:38:13 +00:00
|
|
|
<mat-icon> info </mat-icon>
|
2021-05-03 23:13:23 +00:00
|
|
|
</button>
|
2021-02-13 10:22:04 +00:00
|
|
|
</div>
|
2024-03-05 03:55:01 +00:00
|
|
|
|
|
|
|
|
<select matTooltip="Select a frame to inspect with Angular Devtools" class="frame-selector" (change)="emitSelectedFrame($event.target.value)">
|
|
|
|
|
@for (frame of frameManager.frames; track frame.id) {
|
|
|
|
|
<option [value]="frame.id" [selected]="frameManager.isSelectedFrame(frame)">
|
|
|
|
|
@if (frame.id === TOP_LEVEL_FRAME_ID) {
|
|
|
|
|
top
|
|
|
|
|
} @else {
|
|
|
|
|
{{ frame.name }} ({{ frame.id }})
|
|
|
|
|
}
|
|
|
|
|
</option>
|
|
|
|
|
} @empty {
|
|
|
|
|
<option value="0" selected>top</option>
|
|
|
|
|
}
|
|
|
|
|
</select>
|
|
|
|
|
|
2023-12-04 21:19:43 +00:00
|
|
|
@for (tab of tabs; track $index) {
|
|
|
|
|
<a class="mat-tab-link" mat-tab-link (click)="changeTab(tab)" [active]="activeTab === tab">
|
|
|
|
|
{{ tab }}
|
|
|
|
|
</a>
|
|
|
|
|
}
|
2024-04-05 22:24:43 +00:00
|
|
|
@if (angularVersion()) {
|
2023-12-04 21:19:43 +00:00
|
|
|
<section id="app-angular-version">
|
|
|
|
|
Angular version:
|
2024-04-05 22:24:43 +00:00
|
|
|
|
|
|
|
|
@if (majorAngularVersion() > 12 || majorAngularVersion() == 0) {
|
|
|
|
|
<span id="version-number">
|
|
|
|
|
{{ angularVersion() }}
|
|
|
|
|
</span>
|
|
|
|
|
} @else {
|
|
|
|
|
<span
|
|
|
|
|
id="version-number"
|
|
|
|
|
matTooltip="
|
|
|
|
|
Angular Devtools supports Angular versions 12 and above. Some DevTools features may be available in
|
|
|
|
|
older versions of Angular, but it is not officially supported.
|
|
|
|
|
"
|
|
|
|
|
class="unsupported-version"
|
|
|
|
|
>
|
|
|
|
|
{{ angularVersion() }} (unsupported)
|
|
|
|
|
</span>
|
|
|
|
|
}
|
|
|
|
|
|
2024-05-06 20:16:22 +00:00
|
|
|
| DevTools: {{ extensionVersion }}
|
2023-12-04 21:19:43 +00:00
|
|
|
</section>
|
|
|
|
|
}
|
2021-02-13 10:22:04 +00:00
|
|
|
</nav>
|
2024-03-05 03:55:01 +00:00
|
|
|
|
2023-12-04 21:19:43 +00:00
|
|
|
<mat-tab-nav-panel #tabPanel>
|
2024-03-05 03:55:01 +00:00
|
|
|
@if (!applicationEnvironment.frameSelectorEnabled || frameManager.selectedFrame !== null) {
|
|
|
|
|
<div class="tab-content">
|
|
|
|
|
<ng-directive-explorer
|
|
|
|
|
[showCommentNodes]="showCommentNodes"
|
|
|
|
|
[isHydrationEnabled]="isHydrationEnabled"
|
|
|
|
|
[class.hidden]="activeTab !== 'Components'"
|
|
|
|
|
(toggleInspector)="toggleInspector()"
|
|
|
|
|
/>
|
|
|
|
|
<ng-profiler [class.hidden]="activeTab !== 'Profiler'"/>
|
|
|
|
|
<ng-router-tree [routes]="routes" [class.hidden]="activeTab !== 'Router Tree'"/>
|
|
|
|
|
<ng-injector-tree [class.hidden]="activeTab !== 'Injector Tree'"/>
|
|
|
|
|
</div>
|
|
|
|
|
}
|
2023-12-04 21:19:43 +00:00
|
|
|
</mat-tab-nav-panel>
|
2024-03-05 03:55:01 +00:00
|
|
|
|
2022-04-18 07:35:56 +00:00
|
|
|
<mat-menu #menu="matMenu">
|
2023-08-30 22:41:16 +00:00
|
|
|
<div mat-menu-item disableRipple (click)="$event.stopPropagation(); toggleTimingAPI()">
|
|
|
|
|
<mat-slide-toggle [checked]="timingAPIEnabled">
|
|
|
|
|
Enable timing API
|
|
|
|
|
</mat-slide-toggle>
|
2022-04-18 07:35:56 +00:00
|
|
|
</div>
|
2023-08-30 22:41:16 +00:00
|
|
|
<div mat-menu-item disableRipple (click)="$event.stopPropagation(); themeService.toggleDarkMode(currentTheme === 'light-theme')">
|
|
|
|
|
<mat-slide-toggle [checked]="currentTheme === 'dark-theme'">
|
|
|
|
|
Dark Mode
|
|
|
|
|
</mat-slide-toggle>
|
2022-04-18 07:35:56 +00:00
|
|
|
</div>
|
2023-08-30 22:41:16 +00:00
|
|
|
<div mat-menu-item disableRipple (click)="$event.stopPropagation(); showCommentNodes = $event.checked">
|
|
|
|
|
<mat-slide-toggle [checked]="showCommentNodes">
|
|
|
|
|
Show comment nodes
|
|
|
|
|
</mat-slide-toggle>
|
2022-04-18 07:35:56 +00:00
|
|
|
</div>
|
2020-05-07 03:21:32 +00:00
|
|
|
</mat-menu>
|
2024-03-05 03:55:01 +00:00
|
|
|
|
2021-05-03 23:13:23 +00:00
|
|
|
<mat-menu #info="matMenu">
|
2024-05-28 21:15:19 +00:00
|
|
|
<a mat-menu-item href="https://angular.dev/tools/devtools" target="_blank">
|
2022-04-18 07:35:56 +00:00
|
|
|
<mat-icon>library_books</mat-icon>
|
|
|
|
|
Guide
|
|
|
|
|
</a>
|
|
|
|
|
<a mat-menu-item href="https://github.com/angular/angular" target="_blank">
|
|
|
|
|
<mat-icon>launch</mat-icon>
|
|
|
|
|
GitHub
|
|
|
|
|
</a>
|
|
|
|
|
<a mat-menu-item href="https://github.com/angular/angular/issues" target="_blank">
|
|
|
|
|
<mat-icon>bug_report</mat-icon>
|
|
|
|
|
Issues
|
|
|
|
|
</a>
|
2021-05-03 23:13:23 +00:00
|
|
|
</mat-menu>
|