Commit graph

325 commits

Author SHA1 Message Date
AleksanderBodurri
e60276f640 build(devtools): migrate ng-devtools library to bazel
Allows the ng-devtools library to be built with bazel. ng-devtools can now be used as a dependency in other bazel build rules.
2021-11-10 12:30:54 -05:00
AleksanderBodurri
1b97432960 fix(devtools): update typing of differ objects to fit the new contract of TrackByFunction (rangle/angular-devtools#862)
Previously `DefaultIterableDiffer` was able to infer the type of it's generic by reading the type contract defined by the user defined trackBy function. This was because `TrackByFunction` can be specified with a generic that is used to type its second argument. If this generic is not provided, like in this case, typescript infers this type from the function contract directly. In this case this inferred type was `FlatNode`. This inference is then propagated to `DefaultIterableDiffer`, which is why we were not seeing this error previously.

A change in the framework made it so the second argument of `TrackByFunction` is typed as a generic that extends the generic passed into `TrackByFunction`. Since we had not previously passed in this generic to `TrackByFunction`, this type was inferred as an extension of `unknown`, causing a type error when passed as an argument to the `DefaultIterableDiffer` constructor.

Now the functions being used are typed directly as `TrackByFunction<FlatNode>`

For clarity, the `DefaultIterableDiffer` generic is now also typed as `FlatNode`.

See https://github.com/angular/angular/pull/41995 for the framework change.
2021-06-21 17:56:43 -07:00
AleksanderBodurri
c3e8311298 fix(devtools): use visible gutter size in calculation for split area flex basis' (rangle/angular-devtools#857)
After PR rangle/angular-devtools#618, an invisible gutter was introduced to increase the draggable area of the split pane gutter. The gutter size being used in the calculation for the split area flex-basis still referenced the size of the now invisible gutter, causing split areas to be smaller than they should be. This is most noticable in the the input/output/state expandable panels in the property explorer tab.

Now the visible gutter size is used in the flex-basis calculation instead of the invisible one.
2021-06-21 15:57:47 -07:00
AleksanderBodurri
42e0ba2a9b refactor(devtools): switch to sass use and new angular material theming API (rangle/angular-devtools#853)
Previously we were using sass import rules to bring in material and other styling.

Now we are using the use rule and have switched over to the new angular material theming API
2021-06-16 15:18:12 -07:00
AleksanderBodurri
509abcf39b fix(devtools): prevent mat button css from leaking out of property view header (rangle/angular-devtools#856)
Previously, the property view header component had mat button styling nested in an ng-deep selector. This broke some styling in the info popup whenever an item was selected in the component explorer (because the existence of a selected component causes the property view header tab to render and thus brings in the leaky component css).

Now the leaky styling has been removed, and the component css has been cleaned up.
2021-06-16 15:17:50 -07:00
Sumit Arora
fef9e11022 test(devtools): updating tests for input & output property names 2021-06-03 09:44:17 -04:00
Sumit Arora
0763305d0d fix(devtools): incorrect input names 2021-06-03 09:44:17 -04:00
Minko Gechev
dfc4437afd fix(devtools): make sure we update the property explorer on state change (rangle/angular-devtools#821)
Fix rangle/angular-devtools#786

With this PR now we consider not only the property name but also the
value of properties in the differ comparison.

The change also contains e2e and unit tests.
2021-05-27 14:40:56 -07:00
mgechev
5d1e60dc9d fix(devtools): improve dark mode styles when no ivy detected 2021-05-23 11:00:11 -07:00
mgechev
85f2212796 fix(devtools): wrong label in the profiler 2021-05-19 05:22:49 -07:00
mgechev
614919fd61 fix(devtools): use the aio docs link rather than github 2021-05-12 16:38:22 -07:00
mgechev
de5c669ebe fix(devtools): breadcrumb algorithm when there is no parent available 2021-05-11 08:38:18 -07:00
mgechev
f8bd3fccd7 fix(devtools): preserve proper nesting in flattened node lists
Rather than naively filter the flattened list, preserve the nesting by
filtering the original tree.
2021-05-11 08:38:18 -07:00
mgechev
26d1d3df1c refactor(devtools): remove log statements and update styles when no ng app found 2021-05-11 08:38:07 -07:00
AleksanderBodurri
b411ec64ed feat(devtools): expand node ancestors on component inspection
Previously if a component was inspected with the component inspector and that component was collapsed in the component explorer, the component would be selected but would not be viewable until the explorer was manually expanded.
Now ancestors are expanded on component inspection.
2021-05-10 20:32:37 -07:00
AleksanderBodurri
9344cb7dfc feat(devtools): focus search input when icon is clicked
Previously, clicking the search icon on the component explorer did nothing. Now it focuses search input on click.
2021-05-10 17:02:44 -07:00
Minko Gechev
fab8d018b4 refactor(devtools): better naming and removal of log statement (rangle/angular-devtools#753) 2021-05-10 17:29:16 -04:00
Sumit Arora
ee7bc547d1 feat(devtools): adding tooltips for icons 2021-05-10 13:02:18 -07:00
mgechev
df32c6e11e fix(devtools): improve the styles in the meta popup 2021-05-04 17:21:49 -07:00
Emma Twersky
8728f6f578 fix(devtools): doc links icon (rangle/angular-devtools#742) 2021-05-04 16:55:26 -07:00
Sumit Arora
9872baa24f feat(devtools): adding info popup (rangle/angular-devtools#739)
* feat: adding info popup

* Update projects/ng-devtools/src/lib/devtools-tabs/devtools-tabs.component.html

Co-authored-by: Minko Gechev <mgechev@gmail.com>
2021-05-03 16:13:23 -07:00
AleksanderBodurri
6f338f7066 feat(devtools): implement drag to scroll functionality to improve frame navigation (rangle/angular-devtools#716) 2021-04-30 17:03:10 -07:00
mgechev
9d9518e67e feat(devtools): implement negation in the filtering query language 2021-04-29 10:25:35 -07:00
mgechev
ecfc03a2d2 feat(devtools): don't show comment nodes by default 2021-04-29 10:25:16 -07:00
mgechev
967bd3cf8e feat(devtools): improve output formatting 2021-04-29 10:25:01 -07:00
mgechev
ff45fbd075 feat(devtools): implement output profiling 2021-04-29 10:25:01 -07:00
mgechev
4eeaab5d5e fix(devtools): increase the width of the filter 2021-04-26 17:12:55 -07:00
AleksanderBodurri
e20347090a fix(devtools): prevent link in property view body from closing panel header when clicked (rangle/angular-devtools#714) 2021-04-26 12:46:12 -04:00
Emma Twersky
df680a9113 fix(devtools): contrast on labels and links (rangle/angular-devtools#708) 2021-04-22 18:44:43 -04:00
AleksanderBodurri
ee78ce635f refactor(devtools): move barchart component to live under barchart visualizer 2021-04-22 13:10:59 -07:00
AleksanderBodurri
8a8b911586 fix(devtools): remove relative positioning from profiler content; makes split pane gutter full height for profile details 2021-04-22 13:10:59 -07:00
twerske
1665bda6cc fix(devtools): links to docs in property view tab 2021-04-21 10:55:49 -07:00
mgechev
ff99b9bb03 feat(devtools): add filtering functionality in the profiler
Allow to filter using a simple DSL:

```
search := query*
query := `source:` \w+ | `duration:` [>|<|=|>=|<=]\d+ (ms)?
```
2021-04-21 10:54:02 -07:00
Minko Gechev
0b24fe08f5 feat(devtools): simplify component styling for tabs component 2021-04-21 12:20:30 -04:00
mgechev
13af13cc5d fix(devtools): set more accurate search label 2021-04-19 17:26:20 -07:00
mgechev
ba31d1f784 refactor(devtools): use framework debugging APIs to extract metadata 2021-04-19 17:26:20 -07:00
twerske
be814408c8 fix(devtools): treemap hover colors highlight selection 2021-04-15 17:27:07 -07:00
twerske
6dd50832a9 fix(devtools): frame colors indicate framerate good vs. bad 2021-04-15 17:26:49 -07:00
twerske
db94717ecb fix(devtools): style of editor input
could still get some love on being a textarea
& highlighting all text on selection
min-width fixes empty issue though it needs a value
2021-04-14 12:14:00 -07:00
Emma Twersky
da0ce975f8 fix(devtools): rename state to properties (rangle/angular-devtools#682) 2021-04-14 14:52:26 -04:00
Sumit Arora
a20821be38 fix(devtools): allow deleting property when editing 2021-04-13 20:14:55 -07:00
Sumit Arora
b04649dacb fix(devtools): setting min width for input editor and allowing for rendering space 2021-04-13 20:14:55 -07:00
twerske
7b4e830d88 feat(devtools): new icon & active status 2021-04-13 14:23:05 -07:00
AleksanderBodurri
2b5c40ee6d fix(devtools): fix constrast on navigation tabs; make light mode icons the same colour as the text (rangle/angular-devtools#667) 2021-03-23 17:18:01 -04:00
AleksanderBodurri
c1366d460d feat(devtools): change background colour to align with chrome devtools 2021-03-23 15:33:25 -04:00
AleksanderBodurri
a73f575d6d feat(devtools): make tab menu action button icons smaller 2021-03-22 13:35:57 -07:00
mgechev
18457f02f5 perf(devtools): disable flame graph animations 2021-03-19 11:48:06 -07:00
AleksanderBodurri
37dea7ccd7 fix(devtools): sort array indexes in ascending order 2021-03-18 13:32:36 -07:00
AleksanderBodurri
ec66218c28 fix(devtools): make flamegraph scrollable 2021-03-18 13:32:36 -07:00
mgechev
8c68a645c2 feat(devtools): add tooltip in bar chart 2021-03-16 17:03:59 -07:00