react-mutation-mapper
Version:
Generic Mutation Mapper
144 lines (143 loc) • 6.63 kB
TypeScript
import * as React from 'react';
import { ReactNode } from 'react';
import { TableProps } from 'react-table';
import { MobxCache, Mutation, RemoteData } from 'cbioportal-utils';
import { DataFilter } from '../../model/DataFilter';
import { ApplyFilterFn, FilterApplier } from '../../model/FilterApplier';
import { LollipopPlotControlsConfig } from '../../model/LollipopPlotControlsConfig';
import { MutationMapperDataFetcher } from '../../model/MutationMapperDataFetcher';
import { MutationMapperStore } from '../../model/MutationMapperStore';
import DefaultMutationMapperStore from '../../store/DefaultMutationMapperStore';
import { ColumnSort, DataTableColumn } from '../dataTable/DataTable';
import { MutationRate } from './DefaultMutationRateSummary';
import { TrackDataStatus, TrackName, TrackVisibility } from '../track/TrackSelector';
export declare type MutationMapperProps = {
hugoSymbol?: string;
entrezGeneId?: number;
data?: Partial<Mutation>[];
store?: MutationMapperStore<Mutation>;
lollipopPlotControlsConfig?: LollipopPlotControlsConfig;
windowWrapper?: {
size: {
width: number;
height: number;
};
};
trackVisibility?: TrackVisibility;
tracks?: TrackName[];
showTrackSelector?: boolean;
mutationTableColumns?: DataTableColumn<Partial<Mutation>>[];
customMutationTableProps?: Partial<TableProps<Partial<Mutation>>>;
showFilterResetPanel?: boolean;
showPlotYAxis?: boolean;
showPlotYMaxSlider?: boolean;
showPlotLegendToggle?: boolean;
showPlotDownloadControls?: boolean;
plotYMaxFractionDigits?: number;
plotYMaxLabelPostfix?: string;
plotTopYAxisSymbol?: string;
plotBottomYAxisSymbol?: string;
plotTopYAxisDefaultMax?: number;
plotTopYAxisDefaultMin?: number;
plotBottomYAxisDefaultMax?: number;
plotBottomYAxisDefaultMin?: number;
plotYAxisLabelPadding?: number;
plotLollipopTooltipCountInfo?: (count: number, mutations?: Partial<Mutation>[]) => JSX.Element;
plotVizHeight?: number;
customControls?: JSX.Element;
mutationTable?: JSX.Element;
mutationTableInitialSort?: ColumnSort[];
mutationTableInitialSortRemoteData?: (RemoteData<any> | undefined)[];
mutationRates?: MutationRate[];
pubMedCache?: MobxCache;
mutationAlignerCache?: MobxCache;
dataFetcher?: MutationMapperDataFetcher;
mutationAlignerUrlTemplate?: string;
genomeNexusUrl?: string;
oncoKbUrl?: string;
enableOncoKb?: boolean;
enableCivic?: boolean;
enableRevue?: boolean;
cachePostMethodsOnClients?: boolean;
apiCacheLimit?: number;
showTranscriptDropDown?: boolean;
showOnlyAnnotatedTranscriptsInDropdown?: boolean;
filterMutationsBySelectedTranscript?: boolean;
transcriptSummaryUrlTemplate?: string;
isoformOverrideSource?: string;
ptmSources?: string[];
annotationFields?: string[];
mainLoadingIndicator?: JSX.Element;
geneSummaryLoadingIndicator?: JSX.Element;
getLollipopColor?: (mutations: Partial<Mutation>[]) => string;
getMutationCount?: (mutation: Partial<Mutation>) => number;
getTumorType?: (mutation: Partial<Mutation>) => string;
onXAxisOffset?: (offset: number) => void;
onTrackVisibilityChange?: (selectedTrackIds: string[]) => void;
dataFilters?: DataFilter[];
selectionFilters?: DataFilter[];
highlightFilters?: DataFilter[];
groupFilters?: {
group: string;
filter: DataFilter;
}[];
filterAppliersOverride?: {
[filterType: string]: ApplyFilterFn;
};
filterApplier?: FilterApplier;
onTranscriptChange?: (transcript: string) => void;
compactStyle?: boolean;
collapsePtmTrack?: boolean;
collapseUniprotTopologyTrack?: boolean;
};
export declare function initDefaultMutationMapperStore(props: MutationMapperProps): DefaultMutationMapperStore<Mutation>;
export default class MutationMapper<P extends MutationMapperProps = MutationMapperProps> extends React.Component<P, {}> {
static defaultProps: Partial<MutationMapperProps>;
constructor(props: any);
private _trackVisibility;
protected lollipopPlotGeneX: number | undefined;
protected get geneWidth(): number;
protected get trackVisibility(): TrackVisibility;
protected getTrackDataStatus(): TrackDataStatus;
get trackDataStatus(): TrackDataStatus;
protected get plotTopYAxisSymbol(): string | undefined;
protected get plotYMaxLabelPostfix(): string | undefined;
protected get plotBottomYAxisSymbol(): string | undefined;
protected get plotTopYAxisDefaultMax(): number | undefined;
protected get plotTopYAxisDefaultMin(): number | undefined;
protected get plotBottomYAxisDefaultMax(): number | undefined;
protected get plotBottomYAxisDefaultMin(): number | undefined;
protected get store(): MutationMapperStore<Mutation>;
protected get lollipopPlotControlsConfig(): LollipopPlotControlsConfig;
protected get pubMedCache(): MobxCache;
protected get mutationAlignerCache(): MobxCache;
protected getWindowWrapper(): NonNullable<P["windowWrapper"]> | import("cbioportal-frontend-commons").WindowWrapper;
protected get windowWrapper(): {
size: {
width: number;
height: number;
};
};
protected get mutationTableInfo(): JSX.Element | undefined;
protected get mutationTableComponent(): JSX.Element | null;
protected get mutationPlot(): JSX.Element | null;
protected get customControls(): JSX.Element | undefined;
protected get geneSummary(): JSX.Element | null;
protected get mutationRates(): MutationRate[] | undefined;
protected getMutationRateSummary(): JSX.Element | null;
protected get mutationRateSummary(): JSX.Element | null;
protected get isFiltered(): boolean;
protected get isMutationTableDataLoading(): boolean;
protected get filterResetPanel(): JSX.Element | null;
protected get mutationTable(): JSX.Element | null;
protected get proteinChainPanel(): JSX.Element | null;
protected get mutationFilterPanel(): JSX.Element | null;
protected get view3dButton(): JSX.Element | null;
protected get isMutationPlotDataLoading(): boolean;
protected get isLoading(): boolean;
protected get loadingIndicator(): JSX.Element;
render(): ReactNode;
protected handleTranscriptChange(transcriptId: string): void;
protected onXAxisOffset(offset: number): void;
protected resetFilters(): void;
}