import * as React from 'react'; import annotationStyles from './../styles/annotation.module.scss'; import classNames from 'classnames'; import tooltipStyles from './styles/mutationAssessorTooltip.module.scss'; import { DefaultTooltip } from 'cbioportal-frontend-commons'; import { MutationAssessor as MutationAssessorData } from 'genome-nexus-ts-api-client'; import mutationAssessorColumn from './styles/mutationAssessorColumn.module.scss'; export interface IMutationAssessorProps { mutationAssessor: MutationAssessorData | undefined; } export function hideArrow(tooltipEl: any) { const arrowEl = tooltipEl.querySelector('.rc-tooltip-arrow'); arrowEl.style.display = 'none'; } export default class MutationAssessor extends React.Component< IMutationAssessorProps, {} > { static MUTATION_ASSESSOR_URL: string = 'http://mutationassessor.org/r3/'; constructor(props: IMutationAssessorProps) { super(props); this.tooltipContent = this.tooltipContent.bind(this); } public static download( mutationAssessorData: MutationAssessorData | undefined ): string { if (mutationAssessorData) { return `impact: ${mutationAssessorData.functionalImpact}, score: ${mutationAssessorData.functionalImpactScore}`; } else { return 'NA'; } } public render() { let maContent: JSX.Element = ( ); if ( this.props.mutationAssessor && this.props.mutationAssessor.functionalImpact !== null ) { const maData = this.props.mutationAssessor; maContent = ( ); const arrowContent =
; maContent = (| Source | MutationAssessor |
| Impact | {maData.functionalImpact} |
| Score | {maData.functionalImpactScore.toFixed( 2 )} |