Update add users dropdown with an empty state
parent
3bc1c49e91
commit
945505839f
|
@ -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
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue