import * as React from 'react'; import { observer } from 'mobx-react'; import featureTableStyle from '../featureTable/FeatureTable.module.scss'; import { computed, makeObservable } from 'mobx'; import { Clinvar } from 'genome-nexus-ts-api-client'; import { DefaultTooltip } from 'cbioportal-frontend-commons'; export interface IClinvarInterpretationProps { clinvar: Clinvar | undefined; } @observer class ClinvarInterpretation extends React.Component< IClinvarInterpretationProps > { constructor(props: IClinvarInterpretationProps) { super(props); makeObservable(this); } @computed get clinvarTooltip() { const clinvarUrl = this.props.clinvar ? `https://www.ncbi.nlm.nih.gov/clinvar/variation/${this.props.clinvar.clinvarId}/` : `https://www.ncbi.nlm.nih.gov/clinvar/`; return ( ClinVar Interpretation} > ClinVar Interpretation ); } @computed get clinvarInterpretationContent() { const clinvarUrl = this.props.clinvar ? `https://www.ncbi.nlm.nih.gov/clinvar/variation/${this.props.clinvar.clinvarId}/` : `https://www.ncbi.nlm.nih.gov/clinvar/`; if (this.props.clinvar) { if ( this.props.clinvar.clinicalSignificance && this.props.clinvar.conflictingClinicalSignificance ) { return (
{`${this.props.clinvar.clinicalSignificance} (${this.props.clinvar.conflictingClinicalSignificance})`}
); } else if (this.props.clinvar.clinicalSignificance) { return (
{this.props.clinvar.clinicalSignificance}
); } } return
N/A
; } public render() { return (
{this.clinvarTooltip}
{this.clinvarInterpretationContent}
); } } export default ClinvarInterpretation;