react-mutation-mapper
Version:
Generic Mutation Mapper
79 lines (78 loc) • 3.96 kB
TypeScript
import * as React from 'react';
import { CSSProperties } from 'react';
import { DataFilter } from '../../model/DataFilter';
import { CheckBoxType, Option } from 'cbioportal-frontend-commons';
export declare type BadgeSelectorOption = {
value: string;
label?: string | JSX.Element;
badgeContent?: number | string;
badgeStyleOverride?: CSSProperties;
badgeStyleSelectedOverride?: CSSProperties;
};
export declare type BadgeSelectorProps = {
name?: string;
placeholder?: string;
isDisabled?: boolean;
numberOfColumnsPerRow?: number;
alignColumns?: boolean;
uniformBadgeWidth?: boolean;
alignmentPaddingWithinBadge?: boolean;
onSelect?: (selectedOptionIds: string[], allValuesSelected?: boolean) => void;
selectedValues?: {
value: string;
}[];
getOptionLabel?: (option: Option, selectedValues: {
[optionValue: string]: any;
}, checkBoxType?: CheckBoxType) => JSX.Element;
getBadgeLabel?: (option: BadgeSelectorOption, selectedValues: {
[optionValue: string]: any;
}, badgeClassName?: string, badgeAlignmentStyle?: CSSProperties, isDriverAnnotated?: boolean, badgeLabelFormat?: (label: JSX.Element | string, badgeFirst?: boolean, value?: string, badge?: JSX.Element | null) => JSX.Element, badgeFirst?: boolean) => JSX.Element;
filter?: DataFilter<string>;
options?: BadgeSelectorOption[];
badgeClassName?: string;
badgeContentPadding?: number;
badgeCharWidth?: number;
isDriverAnnotated?: boolean;
onOnlyDriverVsVusSelect?: (selectedOption: string[], allValuesSelected: boolean) => void;
driverAnnotationIcon?: JSX.Element;
onBadgeSelect?: (value: string, selectedValues: {
value: string;
}[], onChange: (values: {
value: string;
}[]) => void) => void;
onOnlySelect?: (value: string, onChange: (values: {
value: string;
}[]) => void, onOnlyDriverVsVusChange: (values: {
value: string;
}[]) => void) => void;
badgeLabelFormat?: (label: JSX.Element | string, badgeFirst?: boolean, value?: string, badge?: JSX.Element | null) => JSX.Element;
useOnlyFeature?: boolean;
badgeFirst?: boolean;
};
export declare const DEFAULT_BADGE_CHAR_WIDTH = 10;
export declare const DEFAULT_BADGE_CONTENT_PADDING = 7;
export declare function getBadgeStyleOverride(option: BadgeSelectorOption, selectedValues: {
[optionValue: string]: any;
}, badgeAlignmentStyle?: CSSProperties): React.CSSProperties;
export declare function calculateBadgeAlignmentStyle(maxLengthInCol: number, optionLength: number, badgeCharWidth?: number, badgeContentPadding?: number, padWithinBadge?: boolean): CSSProperties;
export declare function getOptionContentLengths(options: BadgeSelectorOption[]): number[];
export declare function calculateBadgeAlignmentStyles(options: BadgeSelectorOption[], numberOfColumnsPerRow?: number, uniformBadgeWidth?: boolean, badgeCharWidth?: number, badgeContentPadding?: number, alignmentPaddingWithinBadge?: boolean): CSSProperties[];
export declare class BadgeSelector extends React.Component<BadgeSelectorProps, {}> {
constructor(props: any);
get allValues(): string[];
get selectedValues(): {
value: string;
}[];
get selectedValuesMap(): {
[optionValue: string]: any;
};
getBadgeLabel(option: BadgeSelectorOption, selectedValues: {
[optionValue: string]: any;
}, badgeClassName?: string, badgeAlignmentStyle?: CSSProperties, isDriverAnnotated?: boolean, badgeLabelFormat?: (label: JSX.Element | string, badgeFirst?: boolean, value?: string, badge?: JSX.Element | null) => JSX.Element, badgeFirst?: boolean): JSX.Element;
get badgeAlignmentStyles(): CSSProperties[] | undefined;
get options(): Option[];
render(): JSX.Element;
private onChange;
private onOnlyDriverVsVusChange;
}
export default BadgeSelector;