import {useCallback} from 'react'; import styled from '@emotion/styled'; import * as Layout from 'sentry/components/layouts/thirds'; import {space} from 'sentry/styles/space'; import type {Group} from 'sentry/types/group'; import type {RouteComponentProps} from 'sentry/types/legacyReactRouter'; import type {Project} from 'sentry/types/project'; import {browserHistory} from 'sentry/utils/browserHistory'; import {ISSUE_PROPERTY_FIELDS} from 'sentry/utils/fields'; import normalizeUrl from 'sentry/utils/url/normalizeUrl'; import useCleanQueryParamsOnRouteLeave from 'sentry/utils/useCleanQueryParamsOnRouteLeave'; import useOrganization from 'sentry/utils/useOrganization'; import {EventList} from 'sentry/views/issueDetails/streamline/eventList'; import {EventSearch} from 'sentry/views/issueDetails/streamline/eventSearch'; import {useHasStreamlinedUI} from 'sentry/views/issueDetails/utils'; import AllEventsTable from './allEventsTable'; interface Props extends RouteComponentProps<{groupId: string}, {}> { environments: string[]; group: Group; project: Project; } export const ALL_EVENTS_EXCLUDED_TAGS = [ 'environment', 'performance.issue_ids', 'transaction.op', 'transaction.status', ...ISSUE_PROPERTY_FIELDS, ]; function GroupEvents({params, location, group, environments}: Props) { const organization = useOrganization(); const {groupId} = params; useCleanQueryParamsOnRouteLeave({ fieldsToClean: ['cursor', 'query'], shouldClean: newLocation => newLocation.pathname.includes(`/issues/${group.id}/`), }); const handleSearch = useCallback( (query: string) => browserHistory.push( normalizeUrl({ pathname: `/organizations/${organization.slug}/issues/${groupId}/events/`, query: {...location.query, query}, }) ), [location, organization, groupId] ); const query = location.query?.query ?? ''; return ( ); } const AllEventsFilters = styled('div')` margin-bottom: ${space(2)}; `; // TODO(streamlined-ui): Remove this file completely and change rotue to new events list function IssueEventsList(props: Props) { const hasStreamlinedUI = useHasStreamlinedUI(); if (hasStreamlinedUI) { return ; } return ; } export default IssueEventsList;