(function() {
var resolve = pageflow.react.resolve;
class TimelineItem extends React.Component {
render() {
var {PageLink, LazyLoadedPageThumbnail} = pageflow.react.components;
var {TimelineItemSpacer} = pageflow.timelinePage;
var targetPage = this.props.pageLink.targetPage;
return (
{this.props.pageLink.tagline}
{this.caption()}
);
}
className() {
return [
'timeline_item',
'position_' + (this.props.pageLink.timelineItemPosition || 'left'),
'alignment_' + this.alignment(),
this.props.pageLink.timelineItemSize || 'medium'
].join(' ');
}
alignment() {
var position = this.props.pageLink.timelineItemPosition;
if (this.props.timelineLayout === 'right') {
return 'right';
}
else if (this.props.timelineLayout === 'left') {
return 'left';
}
else if (this.props.timelineLayout === 'margin') {
return position === 'right' ? 'right' : 'left';
}
else {
return position === 'right' ? 'left' : 'right';
}
}
caption() {
return this.props.pageLink.title ||
(this.props.pageLink.targetPage && this.props.pageLink.targetPage.title);
}
};
pageflow.timelinePage.TimelineItem = pageflow.react.createContainer(TimelineItem, {
fragments: {
pageLink: {
targetPage: resolve('page', {
property: 'targetPageId'
})
}
}
});
}());