Commit graph

124 commits

Author SHA1 Message Date
AleksanderBodurri
8ea84d5776 feat(devtools): implement input/output/state preview functionality with the reworked property explorer 2020-03-22 19:59:30 -07:00
AleksanderBodurri
39b65dd05a refactor(devtools): organize property explorer components 2020-03-22 19:59:30 -07:00
Sumit Arora
3d19ebf3a1 fix(devtools): added more padding to treegraph 2020-03-22 12:14:05 -04:00
mgechev
b127cdc211 fix(devtools): prevent race condition between getting nested props and refresh 2020-03-21 19:09:12 -07:00
mgechev
b010784b21 fix(devtools): do not expand HTML Comments and preserve state for selected nodes 2020-03-21 19:09:12 -07:00
mgechev
5f5307e610 fix(devtools): flicker properties when update selected node
Fix rangle/angular-devtools#171

The PR includes few changes:
1. Fixes a race condition between two competing async calls
2. Simplifies the message bus, now we have one method for getting the component tree instead of one for getting the component tree and another for getting properties. Similarly to GraphQL we send a query for exactly what we need.
3. Fixes the way we update properties in the UI once we receive new items
2020-03-21 19:09:12 -07:00
Sumit Arora
ee7d8e58c6 feat(devtools): making small frames clickable 2020-03-21 18:53:56 -07:00
Minko Gechev
6a6059d2b1 build(devtools): enable strictNullChecks (rangle/angular-devtools#167) 2020-03-20 11:54:37 -07:00
Sumit Arora
75cb030a84 feat(devtools): adding bar chart for timeline 2020-03-19 19:15:07 -07:00
mgechev
14e51e8875 test(devtools): verify that the app can select elements with the same name 2020-03-19 21:17:26 -04:00
mgechev
f4db6d7a44 test(devtools): add specs for the element property resolver 2020-03-19 21:17:26 -04:00
mgechev
b3b8c93656 test(devtools): fix typing errors in the specs 2020-03-19 21:17:26 -04:00
mgechev
f93b53bb89 fix(devtools): proper alignment of non-expandable props 2020-03-19 21:17:26 -04:00
mgechev
dce46e5411 refactor(devtools): move abstractions to separate files 2020-03-19 21:17:26 -04:00
mgechev
370a600481 refactor(devtools): use shared store between parent and child components 2020-03-19 21:17:26 -04:00
mgechev
2f115a2448 refactor(devtools): use DI for the messageBus instead of passing it as props 2020-03-19 21:17:26 -04:00
mgechev
25a6ecc438 refactor(devtools): reuse prop instances in the data source 2020-03-19 21:17:26 -04:00
mgechev
2a1f6e9464 fix(devtools): do not refresh the ui unless there are updates 2020-03-19 21:17:26 -04:00
Sumit Arora
0b991bdc0f feat(devtools): adding piechart for profiler 2020-03-18 15:41:56 -04:00
Sumit Arora
7990fdd7b3 style(devtools): adding control padding and bold title 2020-03-18 15:18:50 -04:00
Sumit Arora
257e231f68 style(devtools): fixing title style 2020-03-18 15:18:50 -04:00
Sumit Arora
7c93631b32 style(devtools): setting total time text to bold 2020-03-18 15:18:50 -04:00
AleksanderBodurri
e74e213b7c refactor(devtools): clean up record formatter constants by removing duplicate objects 2020-03-18 09:31:25 -04:00
AleksanderBodurri
a5beefb477 feat(devtools): rerender tree on resize to keep tree within view 2020-03-18 09:31:25 -04:00
AleksanderBodurri
ae478f0e29 test(devtools): create simple unit test for webtreegraph formatter 2020-03-18 09:31:25 -04:00
AleksanderBodurri
45de7613e4 refactor(devtools): create mock formatter to sepearte getLabel and getValue tests from flamegraph; 2020-03-18 09:31:25 -04:00
AleksanderBodurri
18214a9b99 feat(devtools): create webtree graph formatter and pass the formatted data through to the web tree graph visualizer 2020-03-18 09:31:25 -04:00
AleksanderBodurri
0140dc2c8b refactor(devtools): create formatter interface; move flamegraph formatting logic to class that implements interface 2020-03-18 09:31:25 -04:00
AleksanderBodurri
e86ffc1d86 test(devtools): write tests for record formatter 2020-03-18 09:31:25 -04:00
AleksanderBodurri
816974654c refactor(devtools): organize file structure of profiler components 2020-03-18 09:31:25 -04:00
AleksanderBodurri
e7db0d3f78 feat(devtools): split apart visualizing views; create new components for each visualizer component 2020-03-18 09:31:25 -04:00
mgechev
e74dc9e70d fix(devtools): make sure we dont access position of an undefined parent 2020-03-17 21:04:11 -04:00
mgechev
657c74151f fix(devtools): dont leak flat and indexed nodes 2020-03-16 23:04:19 -04:00
mgechev
48c140038b fix(devtools): refresh & reinitialize on navigation 2020-03-13 18:49:46 -07:00
AleksanderBodurri
5eed92e91c fix(devtools): give breadcrumb container a z-index higher than 1 to prevent an issue where scrolling on the x-axis may inadvertently scroll the properties view tab 2020-03-12 10:00:07 -07:00
AleksanderBodurri
0649cc485d fix(devtools): fix edge case where only one item is profiled and where no items are profiled 2020-03-11 15:39:45 -07:00
mgechev
5fe0d80d0c fix(devtools): compatibility issues with google3 2020-03-11 12:48:31 -07:00
mgechev
becdcca64a feat(devtools): add support for Angular elements
Currently, we only show which components are Angular elements. We don't visualize them in their position in the component tree, but only indicate with different coloring.

In the profiler we should also somehow show which tiles correspond to elements. We can discuss this further in rangle/angular-devtools#112.
2020-03-11 09:53:34 -04:00
AleksanderBodurri
ef16144443 test(devtools): integration tests for node selection logic after change detection 2020-03-10 14:54:24 -07:00
AleksanderBodurri
9bdaa57a74 feat(devtools): create shared-utils project library to house functions and classes that can be used by any other project 2020-03-10 14:54:24 -07:00
AleksanderBodurri
2eaf29822f refactor(devtools): use arrayEquals instead of converting to string and checking equality in expandParents method 2020-03-10 14:54:24 -07:00
AleksanderBodurri
0f4dd494f3 fix(devtools): reselect node if it changes position after change detection 2020-03-10 14:54:24 -07:00
AleksanderBodurri
5b10bf2e38 refactor(devtools): add tslint typing rule and fix tslint warnings 2020-03-10 09:50:00 -07:00
mgechev
50488f9380 fix(devtools): distinguish between items with and without children
The big was caused by the diffing logic. We weren't updating the `router-outlet` because we were getting the same instance. Although that is true, there's a special case when the same instance now has children, which should cause rerender of the item (it's not expandable).
2020-03-09 15:32:39 -04:00
mgechev
ce3fbd0426 refactor(devtools): remove obsolete test and fix existing e2e tests 2020-03-09 14:59:09 -04:00
mgechev
bcfd7b97d6 fix(devtools): align with latest changes and keep consistent frame tree 2020-03-09 14:59:09 -04:00
AleksanderBodurri
0babf20443 refactor(devtools): Use material dialog instead of browser confirm when profiler version is incorrect 2020-03-04 10:21:48 -08:00
AleksanderBodurri
dceb8d304c feat(devtools): add versioning to import/export functionality 2020-03-04 10:21:48 -08:00
AleksanderBodurri
605214c59d feat(devtools): implement import/export json functionality for profiler 2020-03-04 10:21:48 -08:00
AleksanderBodurri
466ecaf472 refactor(devtools): rename invalidArrowEvent method for damp-ness 2020-03-02 11:11:24 -10:00