Update add users dropdown with an empty state

pull/13590/head
Palak Bhojani 2019-04-23 14:23:24 -07:00
parent 3bc1c49e91
commit 945505839f
1 changed files with 30 additions and 14 deletions

View File

@ -6,6 +6,7 @@ import {MultiSelectDropdown, Dropdown} from 'src/clockface'
// Types // Types
import {User} from '@influxdata/influx' import {User} from '@influxdata/influx'
import {ComponentStatus} from '@influxdata/clockface'
interface Props { interface Props {
users: User[] users: User[]
@ -15,22 +16,37 @@ interface Props {
export default class SelectUsers extends PureComponent<Props> { export default class SelectUsers extends PureComponent<Props> {
public render() { public render() {
const {users} = this.props const {users, selectedUserIDs, onSelect} = this.props
return ( return (
<> <MultiSelectDropdown
<MultiSelectDropdown selectedIDs={selectedUserIDs}
selectedIDs={this.props.selectedUserIDs} onChange={onSelect}
onChange={this.props.onSelect} emptyText={this.emptyText}
emptyText="Select user" status={this.dropdownStatus}
> >
{users.map(u => ( {users.map(u => (
<Dropdown.Item id={u.id} key={u.id} value={u}> <Dropdown.Item id={u.id} key={u.id} value={u}>
{u.name} {u.name}
</Dropdown.Item> </Dropdown.Item>
))} ))}
</MultiSelectDropdown> </MultiSelectDropdown>
</>
) )
} }
private get emptyText(): string {
const {users} = this.props
if (!users || !users.length) {
return 'No users exist'
}
return 'Select user'
}
private get dropdownStatus(): ComponentStatus {
const {users} = this.props
if (!users || !users.length) {
return ComponentStatus.Disabled
}
return ComponentStatus.Default
}
} }