All files / src/generic-multiselect view.js

100% Statements 6/6
100% Branches 4/4
100% Functions 2/2
100% Lines 6/6
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                          2x 2x 2x     2x           2x   2x          
/* 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 { map } from 'lodash'
import PropTypes from 'prop-types'
import React from 'react'
 
export default function MultiselectView({ taProps, TypeaheadView, value }) {
  const actualValue = value || []
  const propsToPass = taProps || {}
  return (
    <div style={{ display: 'flex', flexWrap: 'wrap' }}>
      {map(actualValue, (id, i) => (
        <TypeaheadView key={i} value={id} {...propsToPass} />
      ))}
    </div>
  )
}
 
MultiselectView.displayName = 'MultiselectView'
 
MultiselectView.propTypes = {
  taProps: PropTypes.objectOf(PropTypes.any),
  TypeaheadView: PropTypes.func.isRequired,
  value: PropTypes.arrayOf(PropTypes.string),
}