Sha256: b45243233e168deb138e0828631eb22b735d55948edd6c335d736d438170cd57
Contents?: true
Size: 1.23 KB
Versions: 3
Compression:
Stored size: 1.23 KB
Contents
import React from 'react'; function AssociationPickerResults(props) { let items const shouldAllowCreate = _.isString(props.value) && props.value.length > 0 && props.allowCreate && props.items.length === 0 const selectedIds = _.map(props.selectedItems, 'id') const isSelected = (item) => { return _.includes(selectedIds, item.id) } if (shouldAllowCreate) { let newItem = { id: props.value, name: props.value, _create: true } items = [( <tr key={newItem.id}> <td onClick={() => props.onSelectItem(newItem)}> {props.value} <span className="o-assocpicker-create">(Create)</span> </td> </tr> )] } else { items = props.items.map(item => { let newItem = { id: item.id, name: item.name, _create: false, _selected: isSelected(item) } return ( <tr key={newItem.id} className={newItem._selected ? 'active' : ''}> <td onClick={() => props.onSelectItem(newItem)}>{newItem.name}</td> </tr> ) }) } return ( <table className="c-admcur-items"> <thead> <tr> <th>Name</th> </tr> </thead> <tbody> {items} </tbody> </table> ) } export default AssociationPickerResults
Version data entries
3 entries across 3 versions & 1 rubygems