@@ -3,30 +3,28 @@ import { useStore, useObserver } from "../../../../store/react-bindings";
33import { SidebarPanel , Empty } from "../../../sidebar/SidebarPanel" ;
44import s from "./RenderedAt.css" ;
55import { formatTime } from "../../util" ;
6- import { mapParents } from "../../flamegraph/transform/util" ;
76
87export function RenderedAt ( ) {
98 const store = useStore ( ) ;
109 const data = useObserver ( ( ) => {
1110 const id = store . profiler . selectedNodeId . $ ;
1211
13- return store . profiler . commits . $ . filter ( x => x . nodes . has ( id ) )
14- . filter ( x => {
15- if ( id === x . commitRootId ) return true ;
16- let keep = false ;
17- mapParents ( x . nodes , id , node => {
18- if ( node . id === x . commitRootId ) keep = true ;
19- } ) ;
20- return keep ;
21- } )
22- . map ( ( commit , commitIdx ) => {
23- const node = commit . nodes . get ( id ) ! ;
24- return {
25- id : commitIdx ,
26- startTime : node . startTime ,
27- selfDuration : node . selfDuration ,
28- } ;
29- } ) ;
12+ return store . profiler . commits . $ . filter ( x => {
13+ if ( x . nodes . has ( id ) ) {
14+ const node = x . nodes . get ( id ) ! ;
15+ const root = x . nodes . get ( x . commitRootId ) ! ;
16+ return node . startTime >= root . startTime && node . endTime <= root . endTime ;
17+ }
18+
19+ return false ;
20+ } ) . map ( commit => {
21+ const node = commit . nodes . get ( id ) ! ;
22+ return {
23+ index : store . profiler . commits . $ . findIndex ( x => x === commit ) ,
24+ startTime : node . startTime ,
25+ selfDuration : node . selfDuration ,
26+ } ;
27+ } ) ;
3028 } ) ;
3129
3230 const commitIdx = useObserver ( ( ) => store . profiler . activeCommitIdx . $ ) ;
@@ -38,14 +36,14 @@ export function RenderedAt() {
3836 { data . length <= 0 ? (
3937 < Empty > Did not render during this profiling session</ Empty >
4038 ) : (
41- < nav >
39+ < nav data-testid = "rendered-at" >
4240 { data . map ( node => {
4341 return (
4442 < button
45- key = { node . id }
43+ key = { node . index }
4644 class = { s . item }
47- data-active = { commitIdx === node . id }
48- onClick = { ( ) => ( store . profiler . activeCommitIdx . $ = node . id ) }
45+ data-active = { commitIdx === node . index }
46+ onClick = { ( ) => ( store . profiler . activeCommitIdx . $ = node . index ) }
4947 >
5048 < span >
5149 { formatTime ( node . startTime ) } for{ " " }
0 commit comments