import React from 'react'; import { Link } from 'react-router'; import classNames from 'classnames'; import * as utils from '../utils'; const isLocal = location.port; export default class Demo extends React.Component { static contextTypes = { intl: React.PropTypes.object, } constructor(props) { super(props); this.state = { codeExpand: false, }; } componentWillReceiveProps(nextProps) { if (nextProps.expand === undefined) return; this.setState({ codeExpand: nextProps.expand, }); } handleCodeExapnd = () => { this.setState({ codeExpand: !this.state.codeExpand }); } render() { const { id, className, meta, intro, preview, style, src, highlightedCode, highlightedStyle, pathname } = this.props; const codeExpand = this.state.codeExpand; const codeBoxClass = classNames({ 'code-box': true, [className]: className, expand: codeExpand, }); const locale = this.context.intl.locale; const localizeIntro = intro[locale] || intro; const introChildren = utils.jsonmlToComponent(pathname, ['div'].concat(localizeIntro)); const localizedTitle = typeof meta.title === 'object' ? meta.title[locale] : meta.title; return (
{ meta.iframe ?