Skip to content

Commit 727eac9

Browse files
committed
polish toggle button
1 parent ca86374 commit 727eac9

File tree

1 file changed

+28
-34
lines changed
  • src/sentry/static/sentry/app/components/events/interfaces/spans

1 file changed

+28
-34
lines changed

src/sentry/static/sentry/app/components/events/interfaces/spans/span_tree.tsx

Lines changed: 28 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@ type SpanTreeProps = {
3838
class 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

310302
type 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

Comments
 (0)