var React = require('react/addons') var ReactRouter = require('react-router') var moment = require('moment') var ForceUpdate = require('../Mixins/ForceUpdate') var Markdown = require('../Mixins/Markdown') var ProfileImage = require('../Components/ProfileImage') module.exports = React.createClass({ mixins: [ReactRouter.Navigation, ReactRouter.State, ForceUpdate(60000), Markdown], propTypes: { articles: React.PropTypes.array, showOnlyWithTag: React.PropTypes.func }, handleArticleClikck: function (article) { if (article.type === 'code') { return function (e) { var params = this.getParams() this.transitionTo('codes', { userName: params.userName, planetName: params.planetName, localId: article.localId }) }.bind(this) } if (article.type === 'note') { return function (e) { var params = this.getParams() this.transitionTo('notes', { userName: params.userName, planetName: params.planetName, localId: article.localId }) }.bind(this) } }, render: function () { var articles = this.props.articles.map(function (article) { var tags = article.Tags.length > 0 ? article.Tags.map(function (tag) { return ( #{tag.name} ) }.bind(this)) : ( Not tagged yet ) var params = this.getParams() var isActive = article.type === 'code' ? this.isActive('codes') && parseInt(params.localId, 10) === article.localId : this.isActive('notes') && parseInt(params.localId, 10) === article.localId if (article.type === 'code') { return (