From 24a3759b8c5469fa2d2ac7551c76964c71231753 Mon Sep 17 00:00:00 2001 From: Ruben Vargas Date: Thu, 12 Dec 2019 14:07:43 -0600 Subject: [PATCH] Unify criteria for externa/internal references for ReferenceLink and ReferencesButton components Signed-off-by: Ruben Vargas --- .../TraceTimelineViewer/ReferencesButton.test.js | 4 ---- .../TraceTimelineViewer/ReferencesButton.tsx | 9 +-------- .../TracePage/TraceTimelineViewer/SpanBarRow.tsx | 2 -- .../SpanDetail/AccordianReferences.test.js | 1 - .../SpanDetail/AccordianReferences.tsx | 11 +++++------ .../TraceTimelineViewer/SpanDetail/index.tsx | 1 - .../TracePage/url/ReferenceLink.test.js | 16 ++++++---------- .../components/TracePage/url/ReferenceLink.tsx | 5 ++--- 8 files changed, 14 insertions(+), 35 deletions(-) diff --git a/packages/jaeger-ui/src/components/TracePage/TraceTimelineViewer/ReferencesButton.test.js b/packages/jaeger-ui/src/components/TracePage/TraceTimelineViewer/ReferencesButton.test.js index 8e4544d97e..bf85d9b19b 100644 --- a/packages/jaeger-ui/src/components/TracePage/TraceTimelineViewer/ReferencesButton.test.js +++ b/packages/jaeger-ui/src/components/TracePage/TraceTimelineViewer/ReferencesButton.test.js @@ -43,10 +43,6 @@ describe(ReferencesButton, () => { ); const baseProps = { - traceID: trace.traceID, - trace: { - data: trace, - }, focusSpan: () => {}, }; diff --git a/packages/jaeger-ui/src/components/TracePage/TraceTimelineViewer/ReferencesButton.tsx b/packages/jaeger-ui/src/components/TracePage/TraceTimelineViewer/ReferencesButton.tsx index 5f7031f8a0..7525ebef48 100644 --- a/packages/jaeger-ui/src/components/TracePage/TraceTimelineViewer/ReferencesButton.tsx +++ b/packages/jaeger-ui/src/components/TracePage/TraceTimelineViewer/ReferencesButton.tsx @@ -23,7 +23,6 @@ import ReferenceLink from '../url/ReferenceLink'; type TReferencesButtonProps = { references: SpanReference[]; - traceID: string; children: React.ReactNode; tooltipText: string; focusSpan: (spanID: string) => void; @@ -38,7 +37,6 @@ export default class ReferencesButton extends React.PureComponent @@ -76,12 +74,7 @@ export default class ReferencesButton extends React.PureComponent - + {children} diff --git a/packages/jaeger-ui/src/components/TracePage/TraceTimelineViewer/SpanBarRow.tsx b/packages/jaeger-ui/src/components/TracePage/TraceTimelineViewer/SpanBarRow.tsx index 283bf75c46..d9189c9123 100644 --- a/packages/jaeger-ui/src/components/TracePage/TraceTimelineViewer/SpanBarRow.tsx +++ b/packages/jaeger-ui/src/components/TracePage/TraceTimelineViewer/SpanBarRow.tsx @@ -157,7 +157,6 @@ export default class SpanBarRow extends React.PureComponent { {span.references && span.references.length > 1 && ( @@ -167,7 +166,6 @@ export default class SpanBarRow extends React.PureComponent { {span.subsidiarilyReferencedBy && span.subsidiarilyReferencedBy.length > 0 && ( ', () => { const props = { data: references, - traceID: 'trace1', focusSpan: jest.fn(), }; diff --git a/packages/jaeger-ui/src/components/TracePage/TraceTimelineViewer/SpanDetail/AccordianReferences.tsx b/packages/jaeger-ui/src/components/TracePage/TraceTimelineViewer/SpanDetail/AccordianReferences.tsx index d000842c1c..b4b2423b86 100644 --- a/packages/jaeger-ui/src/components/TracePage/TraceTimelineViewer/SpanDetail/AccordianReferences.tsx +++ b/packages/jaeger-ui/src/components/TracePage/TraceTimelineViewer/SpanDetail/AccordianReferences.tsx @@ -26,26 +26,25 @@ type AccordianReferencesProps = { interactive?: boolean; isOpen: boolean; onToggle?: null | (() => void); - traceID: string; focusSpan: (uiFind: string) => void; }; type ReferenceItemProps = { data: SpanReference[]; focusSpan: (uiFind: string) => void; - traceID: string; }; // export for test export function References(props: ReferenceItemProps) { - const { data, focusSpan, traceID } = props; + const { data, focusSpan } = props; + return (
    {data.map(reference => { return (
  • - + {reference.span ? ( @@ -81,7 +80,7 @@ export default class AccordianReferences extends React.PureComponent{' '} ({data.length})
- {isOpen && } + {isOpen && } ); } diff --git a/packages/jaeger-ui/src/components/TracePage/TraceTimelineViewer/SpanDetail/index.tsx b/packages/jaeger-ui/src/components/TracePage/TraceTimelineViewer/SpanDetail/index.tsx index c599aba89a..f61282f680 100644 --- a/packages/jaeger-ui/src/components/TracePage/TraceTimelineViewer/SpanDetail/index.tsx +++ b/packages/jaeger-ui/src/components/TracePage/TraceTimelineViewer/SpanDetail/index.tsx @@ -145,7 +145,6 @@ export default function SpanDetail(props: SpanDetailProps) { data={references} isOpen={isReferencesOpen} onToggle={() => referencesToggle(spanID)} - traceID={span.traceID} focusSpan={focusSpan} /> )} diff --git a/packages/jaeger-ui/src/components/TracePage/url/ReferenceLink.test.js b/packages/jaeger-ui/src/components/TracePage/url/ReferenceLink.test.js index 7509bc4702..64e9980ef2 100644 --- a/packages/jaeger-ui/src/components/TracePage/url/ReferenceLink.test.js +++ b/packages/jaeger-ui/src/components/TracePage/url/ReferenceLink.test.js @@ -19,12 +19,14 @@ import ReferenceLink from './ReferenceLink'; describe(ReferenceLink, () => { const focusMock = jest.fn(); - const traceID = 'trace1'; const sameTraceRef = { refType: 'CHILD_OF', traceID: 'trace1', spanID: 'span1', + span: { + // not null or undefined is an indicator of an internal reference + }, }; const externalRef = { @@ -35,18 +37,14 @@ describe(ReferenceLink, () => { describe('rendering', () => { it('render for this trace', () => { - const component = shallow( - - ); + const component = shallow(); const link = component.find('a'); expect(link.length).toBe(1); expect(link.props().role).toBe('button'); }); it('render for external trace', () => { - const component = shallow( - - ); + const component = shallow(); const link = component.find('a[href="/trace/trace2/uiFind?=span2"]'); expect(link.length).toBe(1); }); @@ -54,9 +52,7 @@ describe(ReferenceLink, () => { describe('focus span', () => { it('call focusSpan', () => { focusMock.mockReset(); - const component = shallow( - - ); + const component = shallow(); const link = component.find('a'); link.simulate('click'); expect(focusMock).toHaveBeenLastCalledWith('span1'); diff --git a/packages/jaeger-ui/src/components/TracePage/url/ReferenceLink.tsx b/packages/jaeger-ui/src/components/TracePage/url/ReferenceLink.tsx index e17c2c958c..93cb551f09 100644 --- a/packages/jaeger-ui/src/components/TracePage/url/ReferenceLink.tsx +++ b/packages/jaeger-ui/src/components/TracePage/url/ReferenceLink.tsx @@ -18,7 +18,6 @@ import { getUrl } from '.'; type ReferenceLinkProps = { reference: SpanReference; - traceID: string; children: React.ReactNode; className?: string; focusSpan: (spanID: string) => void; @@ -28,9 +27,9 @@ type ReferenceLinkProps = { const linkToExternalSpan = (traceID: string, spanID: string) => `${getUrl(traceID)}/uiFind?=${spanID}`; export default function ReferenceLink(props: ReferenceLinkProps) { - const { traceID, reference, children, className, focusSpan, ...otherProps } = props; + const { reference, children, className, focusSpan, ...otherProps } = props; delete otherProps.onClick; - if (traceID === reference.traceID) { + if (reference.span) { return ( focusSpan(reference.spanID)} className={className} {...otherProps}> {children}