X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/f9dde5c781766b8be71d43d0f031c201a0edcfbb..8e91af9bd8d0a66d1181e4db8b72efc632c27ad5:/src/components/autocomplete/autocomplete.tsx diff --git a/src/components/autocomplete/autocomplete.tsx b/src/components/autocomplete/autocomplete.tsx index b250c7b8..b5c634c3 100644 --- a/src/components/autocomplete/autocomplete.tsx +++ b/src/components/autocomplete/autocomplete.tsx @@ -2,8 +2,14 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; -import { Input as MuiInput, Chip as MuiChip, Popper as MuiPopper, Paper as MuiPaper, FormControl, InputLabel, StyleRulesCallback, withStyles, RootRef, ListItemText, ListItem, List, FormHelperText } from '@material-ui/core'; +import React from 'react'; +import { + Input as MuiInput, + Chip as MuiChip, + Popper as MuiPopper, + Paper as MuiPaper, + FormControl, InputLabel, StyleRulesCallback, withStyles, RootRef, ListItemText, ListItem, List, FormHelperText, Tooltip +} from '@material-ui/core'; import { PopperProps } from '@material-ui/core/Popper'; import { WithStyles } from '@material-ui/core/styles'; import { noop } from 'lodash'; @@ -12,6 +18,7 @@ export interface AutocompleteProps { label?: string; value: string; items: Item[]; + disabled?: boolean; suggestions?: Suggestion[]; error?: boolean; helperText?: string; @@ -23,6 +30,7 @@ export interface AutocompleteProps { onDelete?: (item: Item, index: number) => void; onSelect?: (suggestion: Suggestion) => void; renderChipValue?: (item: Item) => string; + renderChipTooltip?: (item: Item) => string; renderSuggestion?: (suggestion: Suggestion) => React.ReactNode; } @@ -61,6 +69,7 @@ export class Autocomplete extends React.Component extends React.Component - onDelete ? onDelete(item, index) : undefined} /> + (item, index) => { + const tooltip = this.props.renderChipTooltip ? this.props.renderChipTooltip(item) : ''; + if (tooltip && tooltip.length) { + return + onDelete(item, index)) : undefined} /> + + } else { + return onDelete(item, index)) : undefined} /> + } + } ); }