import { UISref } from '@uirouter/react'; import { UIRouterContext } from '@uirouter/react-hybrid'; import React from 'react'; import { SearchResult } from './SearchResult'; import type { ISearchResult } from './SearchResultPods'; import { Tooltip } from '../../presentation'; export interface ISearchResultPodItemProps { categoryName: string; result: ISearchResult; onRemoveItem: (categoryName: string, itemId: string) => void; onResultClick: (categoryName: string) => void; } @UIRouterContext export class SearchResultPodItem extends React.Component { private handleRemoveClicked(evt: React.MouseEvent, categoryName: string, itemId: string) { evt.preventDefault(); this.props.onRemoveItem(categoryName, itemId); } private handleResultClick = (): void => { if (this.props.onResultClick) { this.props.onResultClick(this.props.categoryName); } }; public render() { const { categoryName, result, onRemoveItem } = this.props; const showRemoveButton = !!onRemoveItem; const params = result.params || {}; const account = result.account || params.account || params.accountId || params.accountName; return ( {showRemoveButton && ( this.handleRemoveClicked(evt, categoryName, result.id)} > )} ); } }