UNPKG

react-mutation-mapper

Version:
79 lines (78 loc) 3.96 kB
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;