aboutsummaryrefslogtreecommitdiffstats
path: root/ui/app/components/dropdowns/simple-dropdown.js
diff options
context:
space:
mode:
Diffstat (limited to 'ui/app/components/dropdowns/simple-dropdown.js')
-rw-r--r--ui/app/components/dropdowns/simple-dropdown.js92
1 files changed, 0 insertions, 92 deletions
diff --git a/ui/app/components/dropdowns/simple-dropdown.js b/ui/app/components/dropdowns/simple-dropdown.js
deleted file mode 100644
index bba088ed1..000000000
--- a/ui/app/components/dropdowns/simple-dropdown.js
+++ /dev/null
@@ -1,92 +0,0 @@
-const { Component } = require('react')
-const PropTypes = require('prop-types')
-const h = require('react-hyperscript')
-const classnames = require('classnames')
-const R = require('ramda')
-
-class SimpleDropdown extends Component {
- constructor (props) {
- super(props)
- this.state = {
- isOpen: false,
- }
- }
-
- getDisplayValue () {
- const { selectedOption, options } = this.props
- const matchesOption = option => option.value === selectedOption
- const matchingOption = R.find(matchesOption)(options)
- return matchingOption
- ? matchingOption.displayValue || matchingOption.value
- : selectedOption
- }
-
- handleClose () {
- this.setState({ isOpen: false })
- }
-
- toggleOpen () {
- const { isOpen } = this.state
- this.setState({ isOpen: !isOpen })
- }
-
- renderOptions () {
- const { options, onSelect, selectedOption } = this.props
-
- return h('div', [
- h('div.simple-dropdown__close-area', {
- onClick: event => {
- event.stopPropagation()
- this.handleClose()
- },
- }),
- h('div.simple-dropdown__options', [
- ...options.map(option => {
- return h(
- 'div.simple-dropdown__option',
- {
- className: classnames({
- 'simple-dropdown__option--selected': option.value === selectedOption,
- }),
- key: option.value,
- onClick: () => {
- if (option.value !== selectedOption) {
- onSelect(option.value)
- }
-
- this.handleClose()
- },
- },
- option.displayValue || option.value,
- )
- }),
- ]),
- ])
- }
-
- render () {
- const { placeholder } = this.props
- const { isOpen } = this.state
-
- return h(
- 'div.simple-dropdown',
- {
- onClick: () => this.toggleOpen(),
- },
- [
- h('div.simple-dropdown__selected', this.getDisplayValue() || placeholder || 'Select'),
- h('i.fa.fa-caret-down.fa-lg.simple-dropdown__caret'),
- isOpen && this.renderOptions(),
- ]
- )
- }
-}
-
-SimpleDropdown.propTypes = {
- options: PropTypes.array.isRequired,
- placeholder: PropTypes.string,
- onSelect: PropTypes.func,
- selectedOption: PropTypes.string,
-}
-
-module.exports = SimpleDropdown