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
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
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
AleksanderBodurri
ef16144443
test(devtools): integration tests for node selection logic after change detection
2020-03-10 14:54:24 -07:00
AleksanderBodurri
34d2f4057a
test(devtools): write unit tests for arrayEquals function
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
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
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
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
AleksanderBodurri
87aaa4933c
fix(devtools): check if node.children is undefined before trying to convert it into an array (ex. node is a text node)
2020-03-05 09:54:18 -08:00
AleksanderBodurri
a30d2a5653
fix(devtools): index new nodes before firing callbacks to fix issue where some callbacks rely on the newly indexed nodes
2020-03-05 09:53:45 -08: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
9c4c18b8ef
fix(devtools): fix bug in component tree observer that prevented nested added nodes from having their ids set properly
2020-03-04 10:21:02 -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
d1d31e2a8f
refactor(devtools): remove unused enums
2020-03-02 09:07:29 -10:00
AleksanderBodurri
97915ba9fb
refactor(devtools): type returns of insertion trie methods
2020-03-01 09:53:37 -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
Sumit Arora
d052ced086
test(devtools): adding highlighter tests
2020-02-27 14:33:48 -05:00
Sumit Arora
9205c1f7ae
test(devtools): adding text-summary for code coverage
2020-02-27 14:33:48 -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
9510a1c38e
fix(devtools): make edit functionality compatible with new getDirectiveForest api
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
2025717a13
fix(devtools): check if node.nativeelement is an instance of an HTMLElement before calling ng.getComponent on it ( rangle/angular-devtools#93 )
2020-02-26 10:17:27 -05: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
dd977f4b26
fix(devtools): fix regression that broke assignment of selected node to $ng0 variable ( rangle/angular-devtools#89 )
2020-02-25 10:32:04 -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
113e4cc72d
refactor(devtools): address review comments
2020-02-24 11:09:10 -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
4b2c509b61
test(devtools): disable two specs temporarily
2020-02-24 11:09:10 -05:00
mgechev
570adcf2f5
fix(devtools): proper calculation of the lifecycle hook duration
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
b3043bd61d
refactor(devtools): type safe profiler 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
36fd1f89da
refactor(devtools): use proper terminology for the observer
2020-02-24 11:09:10 -05:00
mgechev
ff0e41496e
test(devtools): verify we can add top nodes
2020-02-24 11:09:10 -05:00
mgechev
03f896c48e
refactor(devtools): move identity tracking to separate abstraction
2020-02-24 11:09:10 -05:00
mgechev
4d8ca6565a
refactor(devtools): dont create objects when dont have to
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
ec1c95cbdb
refactor(devtools): separate object creation concern from state serializer api ( rangle/angular-devtools#69 )
2020-02-19 13:28:41 -05:00
Sumit Arora
f06aedc28c
feat(devtools): adding icon popups displaying app status ( rangle/angular-devtools#70 )
2020-02-19 12:55:16 -05: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
b455eb158e
fix(devtools): make sure we invoke getComponent with an element
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
6cec6cf0cf
refactor(devtools): use factory pattern to clean up ComponentTreeObserver callbacks in recording/index.ts ( rangle/angular-devtools#54 )
2020-02-11 14:44:09 -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
70bddc85f3
refactor(devtools): remove unnecessary calls to handshakeWithBackend and unused syn event ( rangle/angular-devtools#55 )
2020-02-10 16:14:22 -08:00
AleksanderBodurri
8ddd339bac
refactor(devtools): clean up methods so that each one operates at one level of abstraction ( rangle/angular-devtools#57 )
2020-02-10 16:10:52 -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
8414aa52b8
refactor(devtools): remove console logging events ( rangle/angular-devtools#56 )
2020-02-10 11:28:19 -08:00
AleksanderBodurri
3d3d67fd00
fix(devtools): implement shutdown event to prevent memory leak when reopening devtools ( rangle/angular-devtools#53 )
2020-02-07 20:29:15 -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
mgechev
72a7788589
refactor(devtools): remove unused type
2020-02-04 20:36:52 -05:00
mgechev
9d7333a32a
refactor(devtools): do not use implicit any for result
2020-02-04 20:36:52 -05:00
mgechev
839c5c922e
refactor(devtools): use type inference at the inspector assignment
2020-02-04 20:36:52 -05:00
mgechev
09bd230c6b
refactor(devtools): use type inference for more specific type
2020-02-04 20:36:52 -05: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
Sumit Arora
6aa03cf63e
test(devtools): Adding CircleCI config ( rangle/angular-devtools#22 )
2020-02-04 07:33:28 -08:00
AleksanderBodurri
6a6af6615a
feat(devtools): change trimComponents name; always include nativeElement in buildDirectiveForest
2020-02-03 15:35:51 -05:00
AleksanderBodurri
4abcf4d8fe
refactor(devtools): rename queryComponentTree to be more accurate of purpose
2020-02-01 23:22:40 -05:00
AleksanderBodurri
e3c1c16f94
refactor(devtools): queryComponentTree; change nativeElement type to be Element
2020-02-01 22:54:35 -05:00
AleksanderBodurri
5a253e905c
refactor(devtools): move all messageBus callbacks to separate functions, remove unneeded nativeElement assignment in trimComponent
2020-01-31 17:14:24 -05:00
AleksanderBodurri
2749398650
feat(devtools): use window object instead of getWindow method for setting a console reference
2020-01-31 16:51:42 -05:00
AleksanderBodurri
c98dc5fca5
refactor(devtools): create interface for forest builder options object; change patch template back
2020-01-31 14:33:56 -05:00
AleksanderBodurri
26fb1f4d4b
feat(devtools): create message bus event for component selection
2020-01-31 13:54:51 -05:00
Minko Gechev
05405fa4fb
refactor(devtools): refactor client event subscriber initialization to a seperate file
2020-01-30 11:00:17 -08:00
AleksanderBodurri
2b01bd365e
docs(devtools): change generator comment to subscribe
2020-01-30 09:53:28 -05:00
AleksanderBodurri
208d1a7459
refactor(devtools): change message bus event naming from generate to subscribe
2020-01-30 09:51:52 -05:00
Minko Gechev
54533bc037
fix(devtools): don't collide with the default runtime function ( rangle/angular-devtools#6 )
...
Currently, we don't inject `runtime.js` because we collide with the `runtime.js` of the host Angular application. This creates problems with non-Angular apps which don't use the same app bundling and the `backend.js` does not execute. This PR renames the runtime function to `___ngDevToolsRuntime`, which fixes the issue.
Additionally, since we support only Chrome this PR also drops differential bundling. We support the last two major versions of Chrome (look at `browserlist`), but if users require, we can easily extend the set of supported browsers.
Lastly, to have predictable file names, this PR also drops the hash suffix in the `shell-chrome` project.
2020-01-29 20:23:47 -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
Sumit Arora
cff17715d4
feat(devtools): use tag names
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