Skip to content

Commit 0bb81c5

Browse files
hawkgskirjs
authored andcommitted
feat(devtools): tone down obtrusive elements in the Injector Tree tab (angular#59499)
Some of the elements are a bit too large so they have been shrunken to fit in with the rest of the UI. PR Close angular#59499
1 parent 47e48b4 commit 0bb81c5

File tree

9 files changed

+313
-232
lines changed

9 files changed

+313
-232
lines changed

devtools/projects/ng-devtools/src/lib/devtools-tabs/injector-tree/BUILD.bazel

Lines changed: 3 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
load("//devtools/tools:ng_module.bzl", "ng_module")
21
load("@io_bazel_rules_sass//:defs.bzl", "sass_binary")
3-
load("//devtools/tools:typescript.bzl", "ts_library", "ts_test_library")
42
load("//devtools/tools:defaults.bzl", "karma_web_test_suite")
3+
load("//devtools/tools:ng_module.bzl", "ng_module")
4+
load("//devtools/tools:typescript.bzl", "ts_library", "ts_test_library")
55

66
package(default_visibility = ["//:__subpackages__"])
77

@@ -20,10 +20,10 @@ ng_module(
2020
"injector-tree.component.html",
2121
],
2222
deps = [
23-
":injector_providers",
2423
":injector_tree_fns",
2524
"//devtools/projects/ng-devtools/src/lib/devtools-tabs/dependency-injection:injector_tree_visualizer",
2625
"//devtools/projects/ng-devtools/src/lib/devtools-tabs/dependency-injection:resolution_path",
26+
"//devtools/projects/ng-devtools/src/lib/devtools-tabs/injector-tree/injector-providers",
2727
"//devtools/projects/ng-devtools/src/lib/vendor/angular-split",
2828
"//devtools/projects/protocol",
2929
"//packages/common",
@@ -35,21 +35,6 @@ ng_module(
3535
],
3636
)
3737

38-
ng_module(
39-
name = "injector_providers",
40-
srcs = [
41-
"injector-providers.component.ts",
42-
],
43-
deps = [
44-
"//devtools/projects/ng-devtools/src/lib/devtools-tabs/dependency-injection:resolution_path",
45-
"//devtools/projects/protocol",
46-
"//packages/animations",
47-
"//packages/common",
48-
"//packages/core",
49-
"@npm//@angular/material",
50-
],
51-
)
52-
5338
karma_web_test_suite(
5439
name = "test",
5540
deps = [

devtools/projects/ng-devtools/src/lib/devtools-tabs/injector-tree/injector-providers.component.ts

Lines changed: 0 additions & 205 deletions
This file was deleted.
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
load("@io_bazel_rules_sass//:defs.bzl", "sass_binary")
2+
load("//devtools/tools:ng_module.bzl", "ng_module")
3+
4+
package(default_visibility = ["//visibility:public"])
5+
6+
sass_binary(
7+
name = "injector_providers_component_styles",
8+
src = "injector-providers.component.scss",
9+
include_paths = [
10+
"external/npm/node_modules",
11+
],
12+
deps = ["//devtools:material_sass_deps"],
13+
)
14+
15+
ng_module(
16+
name = "injector-providers",
17+
srcs = [
18+
"injector-providers.component.ts",
19+
],
20+
angular_assets = [
21+
"injector-providers.component.html",
22+
":injector_providers_component_styles",
23+
],
24+
deps = [
25+
"//devtools/projects/ng-devtools/src/lib/devtools-tabs/dependency-injection:resolution_path",
26+
"//devtools/projects/protocol",
27+
"//packages/animations",
28+
"//packages/common",
29+
"//packages/core",
30+
"@npm//@angular/material",
31+
],
32+
)
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
<h2 class="providers-title">Providers for {{ injector()?.name }}</h2>
2+
@if (injector()) {
3+
<div class="injector-providers">
4+
<div class="filter">
5+
<mat-form-field appearance="outline">
6+
<mat-label>Search by token</mat-label>
7+
<input
8+
type="text"
9+
matInput
10+
placeholder="Provider token"
11+
(input)="searchToken.set($event.target.value)"
12+
[value]="searchToken()"
13+
/>
14+
<mat-icon matSuffix (click)="searchToken.set('')">close</mat-icon>
15+
</mat-form-field>
16+
<mat-form-field appearance="outline">
17+
<mat-label>Search by type</mat-label>
18+
<mat-select [value]="searchType()" (selectionChange)="searchType.set($event.value)">
19+
<mat-option>None</mat-option>
20+
@for (type of providerTypes; track type) {
21+
<mat-option [value]="type">{{ $any(providerTypeToLabel)[type] }}</mat-option>
22+
}
23+
</mat-select>
24+
</mat-form-field>
25+
</div>
26+
@if (visibleProviders().length > 0) {
27+
<table mat-table [dataSource]="visibleProviders()" class="mat-elevation-z4">
28+
<ng-container matColumnDef="token">
29+
<th mat-header-cell *matHeaderCellDef><h3 class="column-title">Token</h3></th>
30+
<td mat-cell *matCellDef="let provider">{{ provider.token }}</td>
31+
</ng-container>
32+
<ng-container matColumnDef="type">
33+
<th mat-header-cell *matHeaderCellDef><h3 class="column-title">Type</h3></th>
34+
<td mat-cell *matCellDef="let provider">
35+
@if (provider.type === 'multi') {
36+
multi (x{{ provider.index.length }})
37+
} @else {
38+
{{ $any(providerTypeToLabel)[provider.type] }}
39+
}
40+
</td>
41+
</ng-container>
42+
<ng-container matColumnDef="isViewProvider">
43+
<th mat-header-cell *matHeaderCellDef><h3 class="column-title">Is View Provider</h3></th>
44+
<td mat-cell *matCellDef="let provider">
45+
<mat-icon>{{ provider.isViewProvider ? 'check_circle' : 'cancel' }}</mat-icon>
46+
</td>
47+
</ng-container>
48+
<ng-container matColumnDef="log">
49+
<th mat-header-cell *matHeaderCellDef><h3 class="column-title"></h3></th>
50+
<td mat-cell *matCellDef="let provider">
51+
<mat-icon
52+
matTooltipPosition="left"
53+
matTooltip="Log provider in console"
54+
class="select"
55+
(click)="select(provider)"
56+
>send</mat-icon
57+
>
58+
</td>
59+
</ng-container>
60+
<tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
61+
<tr mat-row *matRowDef="let row; columns: displayedColumns"></tr>
62+
</table>
63+
}
64+
</div>
65+
}

0 commit comments

Comments
 (0)