import * as React from 'react'; import { If, Else, Then } from 'react-if'; import { DefaultTooltip, placeArrowBottomLeft, } from 'cbioportal-frontend-commons'; import { ClinicalDataBySampleId } from 'cbioportal-ts-api-client'; import ClinicalInformationPatientTable from '../clinicalInformation/ClinicalInformationPatientTable'; import './styles.scss'; interface ISampleInlineProps { sample: ClinicalDataBySampleId; tooltipEnabled?: boolean; extraTooltipText?: string; additionalContent?: JSX.Element | null; hideClinicalTable?: boolean; onSelectGenePanel?: (name: string) => void; disableTooltip?: boolean; } export default class SampleInline extends React.Component< ISampleInlineProps, {} > { public static defaultProps = { tooltipEnabled: true, hideClinicalInfoTable: false, disableTooltip: false, }; public render() { return ( {this.contentWithTooltip()} {this.mainContent()} ); } public tooltipContent() { const { sample, extraTooltipText } = this.props; return (
{this.props.children} {sample.id}
{extraTooltipText &&
{extraTooltipText}
} {!this.props.hideClinicalTable && ( )}
); } public mainContent() { const { additionalContent } = this.props; let content = ( {this.props.children} ); if (additionalContent) { content = ( {content} {additionalContent} ); } return content; } public contentWithTooltip() { return ( } destroyTooltipOnHide={false} onPopupAlign={placeArrowBottomLeft} disabled={this.props.disableTooltip} > {this.mainContent()} ); } }