@@ -38,7 +38,6 @@ type SpanTreeProps = {
3838class SpanTree extends React . Component < SpanTreeProps > {
3939 renderSpan = ( {
4040 treeDepth,
41- numberOfChildrenOfParent,
4241 numOfHiddenSpansAbove,
4342 spanID,
4443 traceID,
@@ -48,7 +47,6 @@ class SpanTree extends React.Component<SpanTreeProps> {
4847 pickSpanBarColour,
4948 } : {
5049 treeDepth : number ;
51- numberOfChildrenOfParent : Array < number > ;
5250 numOfHiddenSpansAbove : number ;
5351 spanID : string ;
5452 traceID : string ;
@@ -61,8 +59,6 @@ class SpanTree extends React.Component<SpanTreeProps> {
6159
6260 const spanChildren : SpanType [ ] = _ . get ( lookup , spanID , [ ] ) ;
6361
64- const numOfSpanChildren = spanChildren . length ;
65-
6662 const start_timestamp : number = span . start_timestamp ;
6763 const end_timestamp : number = span . timestamp ;
6864
@@ -84,7 +80,6 @@ class SpanTree extends React.Component<SpanTreeProps> {
8480
8581 const results = this . renderSpan ( {
8682 treeDepth : treeDepth + 1 ,
87- numberOfChildrenOfParent : [ ...numberOfChildrenOfParent , numOfSpanChildren ] ,
8883 numOfHiddenSpansAbove : acc . numOfHiddenSpansAbove ,
8984 span : spanChild ,
9085 spanID : spanChild . span_id ,
@@ -128,7 +123,6 @@ class SpanTree extends React.Component<SpanTreeProps> {
128123 numOfSpanChildren = { spanChildren . length }
129124 renderedSpanChildren = { reduced . renderedSpanChildren }
130125 spanBarColour = { spanBarColour }
131- numberOfChildrenOfParent = { numberOfChildrenOfParent }
132126 />
133127 </ React . Fragment >
134128 ) ,
@@ -186,7 +180,6 @@ class SpanTree extends React.Component<SpanTreeProps> {
186180
187181 return this . renderSpan ( {
188182 treeDepth : 0 ,
189- numberOfChildrenOfParent : [ ] ,
190183 numOfHiddenSpansAbove : 0 ,
191184 span : rootSpan ,
192185 spanID : trace . span_id ,
@@ -304,7 +297,6 @@ type SpanPropTypes = {
304297 numOfSpanChildren : number ;
305298 renderedSpanChildren : Array < JSX . Element > ;
306299 spanBarColour : string ;
307- numberOfChildrenOfParent : Array < number > ;
308300} ;
309301
310302type SpanState = {
@@ -357,33 +349,17 @@ class Span extends React.Component<SpanPropTypes, SpanState> {
357349 } ;
358350
359351 renderSpanTreeToggler = ( { left} : { left : number } ) => {
360- const { numOfSpanChildren, numberOfChildrenOfParent } = this . props ;
352+ const { numOfSpanChildren} = this . props ;
361353
362354 const chevron = this . state . showSpanTree ? < ChevronOpen /> : < ChevronClosed /> ;
363355
364- const hiddenTreasure = numberOfChildrenOfParent . map ( ( num , index ) => {
365- return (
366- < SpanTreeToggler style = { { left : `${ left } px` , visibility : 'hidden' } } key = { index } >
367- < span style = { { marginRight : '2px' , textAlign : 'center' } } >
368- < Count value = { num } />
369- </ span >
370- < div style = { { marginRight : '2px' } } > { chevron } </ div >
371- </ SpanTreeToggler >
372- ) ;
373- } ) ;
374-
375356 if ( numOfSpanChildren <= 0 ) {
376- if ( hiddenTreasure . length > 0 ) {
377- return hiddenTreasure ;
378- }
379357 return null ;
380358 }
381359
382360 return (
383- < React . Fragment >
384- { hiddenTreasure }
361+ < SpanTreeTogglerContainer style = { { left : `${ left } px` } } >
385362 < SpanTreeToggler
386- style = { { left : `${ left } px` } }
387363 onClick = { event => {
388364 event . stopPropagation ( ) ;
389365
@@ -397,7 +373,7 @@ class Span extends React.Component<SpanPropTypes, SpanState> {
397373 { chevron }
398374 </ div >
399375 </ SpanTreeToggler >
400- </ React . Fragment >
376+ </ SpanTreeTogglerContainer >
401377 ) ;
402378 } ;
403379
@@ -408,7 +384,11 @@ class Span extends React.Component<SpanPropTypes, SpanState> {
408384 const description = _ . get ( span , 'description' , span . span_id ) ;
409385
410386 const MARGIN_LEFT = 8 ;
411- const left = treeDepth * ( 8 * 0 ) + MARGIN_LEFT ;
387+ const TOGGLE_BUTTON_MARGIN_RIGHT = 8 ;
388+ const TOGGLE_BUTTON_MAX_WIDTH = 40 ;
389+
390+ const left =
391+ treeDepth * ( TOGGLE_BUTTON_MAX_WIDTH + TOGGLE_BUTTON_MARGIN_RIGHT ) + MARGIN_LEFT ;
412392
413393 return (
414394 < SpanBarTitleContainer >
@@ -559,23 +539,37 @@ const SpanBarTitle = styled('div')`
559539 white-space: nowrap;
560540` ;
561541
562- const SpanTreeToggler = styled ( 'div' ) `
542+ const SpanTreeTogglerContainer = styled ( 'div' ) `
563543 position: relative;
564-
565- white-space: nowrap;
544+ top: 0;
566545
567546 height: 15px;
568- min-width: 25px;
569547
570- padding-left: 4px;
571- padding-right: 4px;
548+ max-width: 40px;
549+ width: 40px;
550+ min-width: 40px;
572551
573552 margin-right: 8px;
574553
575554 z-index: 999999;
576555
577556 user-select: none;
578557
558+ display: flex;
559+ justify-content: flex-end;
560+ ` ;
561+
562+ const SpanTreeToggler = styled ( 'div' ) `
563+ position: relative;
564+
565+ white-space: nowrap;
566+
567+ height: 15px;
568+ min-width: 25px;
569+
570+ padding-left: 4px;
571+ padding-right: 4px;
572+
579573 display: flex;
580574 flex-wrap: nowrap;
581575 align-items: center;
0 commit comments