Commit graph

209 commits

Author SHA1 Message Date
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
AleksanderBodurri
a665e305ea fix(devtools): allow arrow key events to fire when focusing on an input 2020-03-02 11:11:24 -10:00
AleksanderBodurri
b1d0f0a7d4 feat(devtools): add overflow-x auto to breadcrumbs tab 2020-03-02 09:07:49 -10:00
AleksanderBodurri
015d98e2c0 feat(devtools): decrease width of split pane to match the rest of the application 2020-02-28 10:00:53 -05:00
AleksanderBodurri
38afb5c90b feat(devtools): Add margin to tree nodes so that they are not stacked on each other directly 2020-02-28 10:00:53 -05:00
AleksanderBodurri
eb3a1c2971 fix(devtools): fix issue where last node would be hidden behind breadcrumbs 2020-02-28 10:00:53 -05:00
AleksanderBodurri
6c284ef32e fix(devtools tabs): stop scroll occuring at tabs level 2020-02-28 10:00:53 -05:00
AleksanderBodurri
4ea0d91dc5 feat(devtools): reorient split pane when screen width goes under 500 px 2020-02-28 10:00:53 -05:00
AleksanderBodurri
8d713657e7 test(devtools): add e2e testing for property editing feature 2020-02-26 15:35:50 -10:00
AleksanderBodurri
1fc39d9332 fix(devtools): fix issue that prevented booleans from being parsed properly 2020-02-26 15:35:50 -10:00
AleksanderBodurri
6727d7e229 fix(devtools): set a min width for the property view split tab to prevents styling issues when tab is too small 2020-02-26 15:35:50 -10:00
AleksanderBodurri
29db8d5a8b feat(devtools): allow user to edit props 2020-02-26 15:35:50 -10:00
AleksanderBodurri
3b8833cfec fix(devtools): use cascading view child/children to fix regression caused by refactor (rangle/angular-devtools#92) 2020-02-25 14:39:00 -05:00
AleksanderBodurri
edcaa8c89f fix(devtools): stop filter input from scrolling with the component forest (rangle/angular-devtools#87) 2020-02-25 10:45:31 -05:00
AleksanderBodurri
5eba00abe5 fix(devtools): fix regression that broke node expansion (rangle/angular-devtools#88) 2020-02-25 10:36:02 -05:00
AleksanderBodurri
c5e633b8a3 refactor(devtools): refactor breadcrumbs into its own component. (rangle/angular-devtools#90) 2020-02-25 10:27:09 -05:00
AleksanderBodurri
984dfc6db1 fix(devtools): fix typo in file names (rangle/angular-devtools#91) 2020-02-25 07:44:22 -05:00
Sumit Arora
6ddac7c051 feat(devtools): Applying consistent styling 2020-02-24 17:23:37 -05:00
mgechev
c3a8fcb08a refactor(devtools): address review comments 2020-02-24 11:09:10 -05:00
mgechev
41cb658e10 fix(devtools): handle corner cases when a component aims to replace an existing one 2020-02-24 11:09:10 -05:00
mgechev
6154f8dfdf fix(devtools): proper tracking without overwriting previous refs 2020-02-24 11:09:10 -05:00
mgechev
b46b296255 fix(devtools): get proper change detection trigger 2020-02-24 11:09:10 -05:00
mgechev
b350bfc838 fix(devtools): remove jumping when adding nodes 2020-02-24 11:09:10 -05:00
mgechev
632a12579b fix(devtools): prevent node overwriting 2020-02-24 11:09:10 -05:00
mgechev
dba943a4e2 feat(devtools): detect directives added to non-elements 2020-02-24 11:09:10 -05:00
mgechev
8a286f1a07 fix(devtools): show proper lifecycle hook names 2020-02-24 11:09:10 -05:00
mgechev
23bc10cf7e fix(devtools): do not highlight nodes during initial rendering 2020-02-24 11:09:10 -05:00
mgechev
c44f00b78e feat(devtools): patch life cycle hooks 2020-02-24 11:09:10 -05:00
mgechev
a8088ac68f fix(devtools): proper timing for operations 2020-02-24 11:09:10 -05:00
mgechev
268ac30463 refactor(devtools): remove unused components 2020-02-24 11:09:10 -05:00
mgechev
f454498274 fix(devtools): make sure we dont fail on null elements 2020-02-24 11:09:10 -05:00
mgechev
dca328e2ee refactor(devtools): remove time travel and aggregated timeline 2020-02-24 11:09:10 -05:00
mgechev
aba32e3efc refactor(devtools): remove debugging left overs 2020-02-24 11:09:10 -05:00
mgechev
88a608640d test(devtools): fix broken time-travel tests 2020-02-24 11:09:10 -05:00
mgechev
a00c19f101 feat(devtools): introduce directive records 2020-02-24 11:09:10 -05:00
mgechev
79f145dc77 fix(devtools): proper diffing with unique ids 2020-02-24 11:09:10 -05:00
mgechev
451ff03d91 refactor(devtools): move the component tree identification to a better named file 2020-02-24 11:09:10 -05:00
mgechev
9d7b762d7d refactor(devtools): remove cyclic dependency 2020-02-24 11:09:10 -05:00
mgechev
17eea0549b fix(devtools): show new items using a class 2020-02-24 11:09:10 -05:00
mgechev
5d0d064b17 refactor(devtools): identity tracker 2020-02-24 11:09:10 -05:00
mgechev
b7b99b8532 feat(devtools): implement proper diffing in the explorer 2020-02-24 11:09:10 -05:00
mgechev
758d0a82fe feat(devtools): keep unique index for all components and directives 2020-02-24 11:09:10 -05:00
mgechev
a5ab7ba5e7 refactor(devtools): rename id to position 2020-02-24 11:09:10 -05:00
mgechev
86cb107fee feat(devtools): use flamegraph in timeline and aggregated view 2020-02-24 11:09:10 -05:00
mgechev
b2a537a41b fix(devtools): proper diffing and expansion of new items 2020-02-24 11:09:10 -05:00
AleksanderBodurri
a4a06eea18 perf(devtools): stream records incrementally so that they do not get sent all at once 2020-02-19 12:46:09 -08:00
AleksanderBodurri
78b3d39810 feat(devtools): implement split pane so that user can resize properties view tab (rangle/angular-devtools#60) 2020-02-19 10:51:44 -05:00
mgechev
212e4026f8 fix(devtools): nowrap for the material tree items 2020-02-18 11:49:51 -08:00
mgechev
5fa1c35579 fix(devtools): set proper types of the props in the clipboard copy feature 2020-02-18 11:49:51 -08:00
AleksanderBodurri
d95806ef57 perf(devtools): cache timeline frames so that the timetraveler doesn't have to process the same frame multiple times 2020-02-18 11:48:58 -08:00
mgechev
337be9bd63 feat(devtools): use flamechart with a better layout 2020-02-18 10:47:27 -08:00
mgechev
e23c81e2b5 feat(devtools): use flamegraph in timeline and aggregated view 2020-02-18 10:47:27 -08:00
Minko Gechev
f2998980f3 feat(devtools): show frame drop in the timeline (rangle/angular-devtools#62) 2020-02-12 11:49:16 -08:00
AleksanderBodurri
9500ec6617 feat(devtools): create copy to clipboard button for properties view wrapper (rangle/angular-devtools#38)
add snack bar notification
2020-02-10 21:17:48 -08:00
AleksanderBodurri
1636c4b5d8 style(devtools): change cursor to pointer when hovering; change bkg colour and add border radius (rangle/angular-devtools#59) 2020-02-10 16:02:30 -08:00
AleksanderBodurri
3e05c31979 feat(devtools): select dom element on double click of node (rangle/angular-devtools#51) 2020-02-07 19:56:11 -08:00
Sumit Arora
568d12b18f build(devtools): Updating libs to Angular 9 release version (rangle/angular-devtools#52) 2020-02-07 19:55:28 -08:00
Ricardo Mattiazzi Baumgartner
a20b4ea5c7 feat(devtools): added prettier for formatting code on pre-commit (rangle/angular-devtools#50)
* feat(prettier): added prettier for formatting code on pre-commit and linted files

* feat(prettier): formatted code after merge
2020-02-07 13:25:16 -08:00
AleksanderBodurri
e4784bc3b0 feat(devtools): add view source button to properties view tab (rangle/angular-devtools#42) 2020-02-07 13:09:36 -08:00
Ricardo Mattiazzi Baumgartner
a3ac38041f feat(devtools): synchronizing highlight between source application and component in presentation tree (rangle/angular-devtools#35)
* rangle/angular-devtools#13 - Highlight from the component tree to the application

* rangle/angular-devtools#13 - Highlight from the application to the component tree when using inspector

* Fixes on broken unit tests + added all files to coverage reports

* Setting test default to always generate coverage report

* rangle/angular-devtools#13 - Added basic test for component inspector

* feat(frontend): Moving component hover to tree to avoid passing messageBus rangle/angular-devtools#13

* feat(frontend): Sync hover from inspector to component tree rangle/angular-devtools#13

* feat(frontend): Rename function to retrieve ElementID from native element

* feat(frontend): Use separate handler to unhighlight from component instead of using highlight without ID

* feat(frontend): de-coupling inspector from the message bus

* feat(frontend): fix unit tests
2020-02-07 11:43:49 -08:00
AleksanderBodurri
4dec3fb3e6 fix(devtools): ui flicker bug (rangle/angular-devtools#49) 2020-02-07 11:43:21 -08:00
AleksanderBodurri
8d81155052 fix(devtools): fix initialization of non-supported applications (rangle/angular-devtools#43) 2020-02-07 10:39:15 -08:00
AleksanderBodurri
07cd82a10c feat(devtools): implement time travel player functionality (rangle/angular-devtools#46) 2020-02-07 10:38:03 -08:00
AleksanderBodurri
f16ab91572 test(devtools): add tests for devtools tabs component and directive explorer component (rangle/angular-devtools#37) 2020-02-06 14:41:19 -08:00
Sumit Arora
14b6572785 style(devtools): Applying consistent styling (rangle/angular-devtools#36) 2020-02-05 07:39:46 -08:00
Sumit Arora
aaae3c4796 feat(devtools): Adding parent nodes for selected component (rangle/angular-devtools#34) 2020-02-04 15:26:16 -08:00
AleksanderBodurri
da690ca84a feat(devtools): Implement Component/Directive Search (rangle/angular-devtools#25) 2020-02-04 07:34:34 -08:00
AleksanderBodurri
26fb1f4d4b feat(devtools): create message bus event for component selection 2020-01-31 13:54:51 -05:00
AleksanderBodurri
208d1a7459 refactor(devtools): change message bus event naming from generate to subscribe 2020-01-30 09:51:52 -05:00
AleksanderBodurri
733cee3ba4 refactor(devtools): refactor client event subscriber initialization to a seperate file 2020-01-29 15:20:17 -05:00
Ricardo Mattiazzi Baumgartner
1cb3967670 feat(devtools): add detected application angular version to top right next to tabs (rangle/angular-devtools#4) 2020-01-29 11:52:42 -08:00
AleksanderBodurri
a0f118e7a5 refactor(devtools): clean up typing; refactor some component files (rangle/angular-devtools#1) 2020-01-29 11:52:42 -08:00
AleksanderBodurri
8a90f5b8b4 perf(devtools): switch to on push change detection to optimize profiler; rename variable for readability; null coalesce profileRecords to fix bug when profile profiles no changes (rangle/angular-devtools#3) 2020-01-29 11:52:42 -08:00
AleksanderBodurri
86242b10bf feat(devtools): wrap entire row in div and bind click event to the div (rangle/angular-devtools#2) 2020-01-29 11:52:42 -08:00
Sumit Arora
8a5fbf5963 fix(devtools): fix issues in message bus and watch 2020-01-29 11:52:42 -08:00
mgechev
98a96608a6 Initial commit for Angular DevTools 2020-01-29 11:52:19 -08:00