import * as React from 'react'; import { SingleComponent } from '../context/DataStore'; import * as _ from 'lodash'; interface ResultsListProps { docs: T[]; render: SingleComponent; height?: number; columnWidth?: 'one' | 'two' | 'three' | 'four' | 'five' | 'six' | 'seven' | 'eight' | 'nine' | 'ten' | 'eleven' | 'twelve' | 'thirteen' | 'fourteen' | 'fifteen' | 'sixteen'; } class ResultsList extends React.Component> { render() { const { docs, render, height } = this.props; let style = _.get(this.props, 'style', {}); if (this.props.height) { style = _.extend( { height: height + 'px', float: 'left' }, style ); } // sixteen means one column const thisColumnClass = (this.props.columnWidth || 'sixteen') + ' wide column'; return (
{ (docs || []).map( (doc, i) =>
{render(doc, i)}
) }
); } } export { ResultsListProps, ResultsList };