From e8842222541db1bd603eb5edf690a1fce95d45a0 Mon Sep 17 00:00:00 2001 From: Alberto Leal Date: Wed, 7 Apr 2021 18:55:44 -0400 Subject: [PATCH] fix(performance): Use a single event view as source for "Open in Discover" button --- .../components/discover/transactionsList.tsx | 34 +++++++++++-------- 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/src/sentry/static/sentry/app/components/discover/transactionsList.tsx b/src/sentry/static/sentry/app/components/discover/transactionsList.tsx index 4594ed1c58c4fc..cd7c7f9f0c2119 100644 --- a/src/sentry/static/sentry/app/components/discover/transactionsList.tsx +++ b/src/sentry/static/sentry/app/components/discover/transactionsList.tsx @@ -142,9 +142,21 @@ class TransactionsList extends React.Component { }); }; + getEventView() { + const {eventView, selected} = this.props; + + const sortedEventView = eventView.withSorts([selected.sort]); + if (selected.query) { + const query = tokenizeSearch(sortedEventView.query); + selected.query.forEach(item => query.setTagValues(item[0], [item[1]])); + sortedEventView.query = stringifyQueryObject(query); + } + + return sortedEventView; + } + renderHeader(): React.ReactNode { const { - eventView, organization, selected, options, @@ -184,9 +196,7 @@ class TransactionsList extends React.Component { @@ -201,10 +211,8 @@ class TransactionsList extends React.Component { renderTransactionTable(): React.ReactNode { const { - eventView, location, organization, - selected, handleCellAction, cursorName, limit, @@ -213,14 +221,10 @@ class TransactionsList extends React.Component { baseline, forceLoading, } = this.props; - const sortedEventView = eventView.withSorts([selected.sort]); - const columnOrder = sortedEventView.getColumns(); + + const eventView = this.getEventView(); + const columnOrder = eventView.getColumns(); const cursor = decodeScalar(location.query?.[cursorName]); - if (selected.query) { - const query = tokenizeSearch(sortedEventView.query); - selected.query.forEach(item => query.setTagValues(item[0], [item[1]])); - sortedEventView.query = stringifyQueryObject(query); - } const baselineTransactionName = organization.features.includes( 'transaction-comparison' @@ -231,7 +235,7 @@ class TransactionsList extends React.Component { let tableRenderer = ({isLoading, pageLinks, tableData, baselineData}) => ( { return (