2a2497072d
* infer card title * Infer entry body & image * infer image * Better terminology: EntryListing accept a single Collection * remove log * Refactored Collections VO into selectors * use selectors when showning card * fixed size cards * Added 'bio' and 'biography' to collection description inference synonyms * Removed unused card file * throw error instance * bugfix for file based collections * lint * moved components with css to own folder * Search Bugfix: More than one collection might be returned * Changed sidebar implementation. Closes #104 & #152 * Show spinning loading for unpublished entries * Refactored Sidebar into a separate container * Make preview widgets more robust
29 lines
792 B
JavaScript
29 lines
792 B
JavaScript
import React, { PropTypes, Component } from 'react';
|
|
import { resolveWidget } from '../Widgets';
|
|
|
|
export default class ObjectPreview extends Component {
|
|
widgetFor = (field) => {
|
|
const { value, getMedia } = this.props;
|
|
const widget = resolveWidget(field.get('widget'));
|
|
return (<div key={field.get('name')}>{React.createElement(widget.preview, {
|
|
key: field.get('name'),
|
|
value: value && value.get(field.get('name')),
|
|
field,
|
|
getMedia,
|
|
})}</div>);
|
|
};
|
|
|
|
render() {
|
|
const { field } = this.props;
|
|
const fields = field && field.get('fields');
|
|
|
|
return <div>{fields ? fields.map(f => this.widgetFor(f)) : null}</div>;
|
|
}
|
|
}
|
|
|
|
ObjectPreview.propTypes = {
|
|
value: PropTypes.node,
|
|
field: PropTypes.node,
|
|
getMedia: PropTypes.func.isRequired,
|
|
};
|