All files / src/gadgets/filtered-dropdown scenario.js

100% Statements 2/2
100% Branches 0/0
100% Functions 2/2
100% Lines 2/2

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51                                                        1x       13x                                    
/* Copyright © 2016 Kuali, Inc. - All Rights Reserved
 * You may use and modify this code under the terms of the Kuali, Inc.
 * Pre-Release License Agreement. You may not distribute it.
 *
 * You should have received a copy of the Kuali, Inc. Pre-Release License
 * Agreement with this file. If not, please write to license@kuali.co.
 */
 
import { KeyedList } from '@kuali/formbot'
import PropTypes from 'prop-types'
import styles from './config.css'
import React, { Component } from 'react'
 
export default class Scenario extends Component {
  static defaultProps = {
    values: []
  }
 
  static propTypes = {
    onListChange: PropTypes.func.isRequired,
    option: PropTypes.shape({
      label: PropTypes.string.isRequired,
      value: PropTypes.string.isRequired
    }).isRequired,
    values: PropTypes.array
  }
 
  handleListChange = newItems => {
    this.props.onListChange(this.props.option.value, newItems)
  }
 
  render () {
    return (
      <div className={styles.scenario}>
        <div>
          is
          <span className={styles.referenceOptionLabel}>
            {this.props.option.label}
          </span>
        </div>
        <div>
          <KeyedList
            onChange={this.handleListChange}
            value={this.props.values}
          />
        </div>
      </div>
    )
  }
}