1234567891011121314151617181920212223242526272829303132 |
- import type {Location} from 'history';
- import {decodeScalar} from 'sentry/utils/queryString';
- import type {
- NormalizedTrendsTransaction,
- TrendChangeType,
- } from 'sentry/views/performance/trends/types';
- import getSelectedQueryKey from 'sentry/views/performance/trends/utils/getSelectedQueryKey';
- export function getSelectedTransaction(
- location: Location,
- trendChangeType: TrendChangeType,
- transactions?: NormalizedTrendsTransaction[]
- ): NormalizedTrendsTransaction | undefined {
- const queryKey = getSelectedQueryKey(trendChangeType);
- const selectedTransactionName = decodeScalar(location.query[queryKey]);
- if (!transactions) {
- return undefined;
- }
- const selectedTransaction = transactions.find(
- transaction =>
- `${transaction.transaction}-${transaction.project}` === selectedTransactionName
- );
- if (selectedTransaction) {
- return selectedTransaction;
- }
- return transactions.length > 0 ? transactions[0] : undefined;
- }
|