var React = require('react/addons') var moment = require('moment') var CodeViewer = require('../Components/CodeViewer') var ModalBase = require('../Components/ModalBase') var SnippetEditModal = require('../Components/SnippetEditModal') var SnippetDeleteModal = require('../Components/SnippetDeleteModal') var BlueprintEditModal = require('../Components/BlueprintEditModal') var BlueprintDeleteModal = require('../Components/BlueprintDeleteModal') var ForceUpdate = require('../Mixins/ForceUpdate') var Markdown = require('../Mixins/Markdown') var PlanetArticleDetail = React.createClass({ mixins: [ForceUpdate(60000), Markdown], propTypes: { article: React.PropTypes.object }, getInitialState: function () { return { isEditModalOpen: false } }, openEditModal: function () { this.setState({isEditModalOpen: true}) }, closeEditModal: function () { this.setState({isEditModalOpen: false}) }, submitEditModal: function () { this.setState({isEditModalOpen: false}) }, openDeleteModal: function () { this.setState({isDeleteModalOpen: true}) }, closeDeleteModal: function () { this.setState({isDeleteModalOpen: false}) }, submitDeleteModal: function () { this.setState({isDeleteModalOpen: false}) }, render: function () { var article = this.props.article var tags = article.Tags.length > 0 ? article.Tags.map(function (tag) { return ( #{tag.name} ) }) : ( Not tagged yet ) if (article.type === 'snippet') { return (