mirror of
https://github.com/fleetdm/fleet
synced 2026-05-24 09:28:54 +00:00
* Host side panel * Query form handles labels * QueryComposer handles labels * ManageHostsPage add label transitions * Stop preventing default on click outside of ellipsis menu * get labels from API * use real label data in hosts side panel * create label on label form submit * adds platform dropdown * Validate query text * Label header * validate presence of query text
40 lines
955 B
JavaScript
40 lines
955 B
JavaScript
import React, { Component, PropTypes } from 'react';
|
|
import Select from 'react-select';
|
|
import { noop } from 'lodash';
|
|
|
|
import dropdownOptionInterface from 'interfaces/dropdownOption';
|
|
|
|
class Dropdown extends Component {
|
|
static propTypes = {
|
|
options: PropTypes.arrayOf(dropdownOptionInterface).isRequired,
|
|
onSelect: PropTypes.func,
|
|
className: PropTypes.string,
|
|
placeholder: PropTypes.string,
|
|
value: PropTypes.string,
|
|
clearable: PropTypes.bool,
|
|
};
|
|
|
|
static defaultProps = {
|
|
onSelect: noop,
|
|
clearable: false,
|
|
placeholder: 'Select One...',
|
|
};
|
|
|
|
render () {
|
|
const { options, className, placeholder, value, clearable, onSelect } = this.props;
|
|
|
|
return (
|
|
<Select
|
|
className={className}
|
|
name="targets"
|
|
options={options}
|
|
onChange={onSelect}
|
|
placeholder={placeholder}
|
|
value={value}
|
|
clearable={clearable}
|
|
/>
|
|
);
|
|
}
|
|
}
|
|
|
|
export default Dropdown;
|