1
0
mirror of https://github.com/ascribe/onion.git synced 2024-06-26 03:06:28 +02:00
onion/js/components/ascribe_accordion_list/accordion_list_item.js
2016-02-08 14:08:54 +01:00

72 lines
2.3 KiB
JavaScript

'use strict';
import React from 'react';
import { Link } from 'react-router';
let AccordionListItem = React.createClass({
propTypes: {
badge: React.PropTypes.object,
className: React.PropTypes.string,
thumbnail: React.PropTypes.object,
heading: React.PropTypes.object,
subheading: React.PropTypes.object,
subsubheading: React.PropTypes.object,
buttons: React.PropTypes.object,
linkData: React.PropTypes.string,
children: React.PropTypes.oneOfType([
React.PropTypes.arrayOf(React.PropTypes.element),
React.PropTypes.element
])
},
render() {
const { badge,
buttons,
children,
className,
heading,
linkData,
subheading,
subsubheading,
thumbnail } = this.props;
return (
<div className="row">
<div className={className}>
<div className="wrapper">
<div className="pull-left">
<Link to={linkData}>
<div className="thumbnail-wrapper">
{thumbnail}
</div>
</Link>
</div>
<div className="accordion-list-item-header">
<Link to={linkData}>
{heading}
</Link>
<Link to={linkData}>
{subheading}
{subsubheading}
</Link>
<div className="accordion-list-item-buttons">
{buttons}
</div>
</div>
<span style={{'clear': 'both'}}></span>
<div className="request-action-badge">
{badge}
</div>
</div>
</div>
{children}
</div>
);
}
});
export default AccordionListItem;