Commit graph

116 commits

Author SHA1 Message Date
AleksanderBodurri
9f9fcdc128 refactor(devtools): rename selected-component.ts to set-console-reference.ts to better describe usage 2020-04-21 12:18:22 -07:00
AleksanderBodurri
4b9031263f feat(devtools): add ivy check 2020-04-20 12:35:24 -07:00
AleksanderBodurri
b5e95ce468 feat(devtools): inform user that devtools has limited functionality in production mode 2020-04-20 12:35:24 -07:00
AleksanderBodurri
502ab94003 feat(devtools): remove timeout and add new loading/error state message (rangle/angular-devtools#291) 2020-04-16 13:32:12 -07:00
AleksanderBodurri
0613d7e4f2 build(devtools): add linting to ci (rangle/angular-devtools#285)
* chore: fix lint errors

* build: add linting to ci pipeline
2020-04-15 14:22:49 -07:00
AleksanderBodurri
363f7954c4 feat(devtools): clicking on element with component inspector enabled will select that component in the directive explorer 2020-04-14 15:27:59 -07:00
AleksanderBodurri
285b5dbe91 feat(devtools): allow user to view change detection strategy and view encapsulation of a component in the property explorer (rangle/angular-devtools#257) 2020-04-08 11:35:50 -07:00
Minko Gechev
544d82fcc3 fix(devtools): debounce dirty notifications and ignore vendorChunk (rangle/angular-devtools#264)
1. On scroll event we can very aggressively request updates. Although we have throttling logic, it still can be quite a heavy operation in the front end. Here we introduce 50ms throttling.
2. Do not produce `vendorChunk` in development (and production) modes.
2020-04-08 11:34:25 -07:00
AleksanderBodurri
0ba899bfd5 refactor(devtools): remove ng.getComponent calls in places it is no longer needed 2020-04-01 15:17:52 -07:00
mgechev
f848ef8d1b feat(devtools): add functionality for visualizing change detection 2020-03-31 18:31:27 -04:00
mgechev
691e495b6b feat(devtools): add duration field to the ProfilerFrame
This way we open the door for further optimizations and make it possible to introduce customization of the output of the formatters per component-level.
2020-03-31 18:31:27 -04:00
mgechev
54c14c251a feat(devtools): optionally show change detection duration only when run 2020-03-31 18:31:27 -04:00
AleksanderBodurri
7d89324441 refactor(devtools): remove unused import 2020-03-30 12:36:55 -07:00
AleksanderBodurri
43df052e5c refactor(devtools): remove unused ng debug objects 2020-03-30 12:34:03 -07:00
AleksanderBodurri
97f88712e6 fix(devtools): drag and drop when selecting input; fix: console warning on update state error (rangle/angular-devtools#205)
* fix: console warn correct variable on update state failure

* fix: prevent drag from occuring on property edit inputs
2020-03-27 15:59:03 -07:00
AleksanderBodurri
74eb888efe feat(devtools): create ConsoleReferenceNode interface to fix typing issues in selected-component.ts 2020-03-23 17:41:52 -07:00
AleksanderBodurri
4df2b2b91e refactor(devtools): type node properly; simplify logic in select-component.ts 2020-03-23 17:41:52 -07:00
AleksanderBodurri
a8ba83cd30 fix(devtools): fix tests and leave todo related to possible typing refactor 2020-03-23 17:41:52 -07:00
AleksanderBodurri
a25cd0ed15 feat(devtools): show the console reference key on each selected element 2020-03-23 17:41:52 -07:00
AleksanderBodurri
4120c551e8 fix(devtools): catch selection edge cases for selecting the same node and selecting a node already in the array 2020-03-23 17:41:52 -07:00
AleksanderBodurri
1d55622f3a feat(devtools): implement component selection functionality for $ng0 - $ng4 similarly to how chrome devtools does with html elements 2020-03-23 17:41:52 -07:00
AleksanderBodurri
0b5e892d84 build(devtools): enable no-unused-variable lint check with warning severity 2020-03-23 17:41:10 -07:00
AleksanderBodurri
3a6b5b0bd9 refactor(devtools): remove old unused methods from property tab body, client event subscribers, and directive property resolver 2020-03-22 19:59:30 -07:00
AleksanderBodurri
f8bb080157 feat(devtools): pass input/output data through from application to devtools UI 2020-03-22 19:59:30 -07:00
mgechev
4b40752cb9 refactor(devtools): type safe serialization 2020-03-22 03:59:27 -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
Minko Gechev
6a6059d2b1 build(devtools): enable strictNullChecks (rangle/angular-devtools#167) 2020-03-20 11:54:37 -07:00
mgechev
48c140038b fix(devtools): refresh & reinitialize on navigation 2020-03-13 18:49:46 -07:00
AleksanderBodurri
1871c34743 fix(devtools): get ng debug object whenever it is required through a function to prevent an issue where it would be set to undefined on page refresh 2020-03-12 15:54:47 -07:00
mgechev
07344cd4b3 feat(devtools): implement "force refresh" when the user presses the refresh button 2020-03-12 15:13:34 -07:00
mgechev
57f6f26b52 refactor(devtools): add comments and remove useless npm scripts 2020-03-12 15:13:15 -07:00
mgechev
3340caf648 fix(devtools): show report for replaced nodes in the same tile and get lifecycle hook name 2020-03-12 15:13:15 -07:00
mgechev
82a8d5c0aa fix(devtools): show elements nested in app elements 2020-03-12 15:13:15 -07:00
mgechev
387b2f34fd refactor(devtools): show more meaningful warning message to help us debug cases 2020-03-12 15:13:15 -07:00
mgechev
6d86bbc11b fix(devtools): get the lifecycle hook name using a more robust approach 2020-03-12 15:13:15 -07:00
mgechev
e254d385f1 refactor(devtools): extract root components traversing the dom 2020-03-12 15:13:15 -07:00
mgechev
fc5801b225 fix(devtools): get the lview from the instance context 2020-03-12 15:13:15 -07:00
mgechev
5fe0d80d0c fix(devtools): compatibility issues with google3 2020-03-11 12:48:31 -07:00
mgechev
21f6b736f5 refactor(devtools): rename getComponentName to getDirectiveName 2020-03-11 12:48:31 -07:00
mgechev
30978b3718 fix(devtools): names of the tiles in the profiler graph 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
mgechev
7851fb2348 perf(devtools): do not index on mutation of inspector 2020-03-10 15:56:38 -04:00
AleksanderBodurri
5b10bf2e38 refactor(devtools): add tslint typing rule and fix tslint warnings 2020-03-10 09:50:00 -07: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
mgechev
d6a0afc1d6 refactor(devtools): dont recompute directive forest frequently 2020-03-09 14:59:09 -04:00
mgechev
085232972e refactor(devtools): use different algorithm for observing the tree to align with the internal traversal 2020-03-09 14:59:09 -04:00
mgechev
c2dfa86702 refactor(devtools): use internal ivy data structures for extracting component tree 2020-03-09 14:59:09 -04:00