import React from 'react'; import ReactDOM from 'react-dom'; import classNames from 'classnames'; import EditButton from './EditButton'; 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 props = this.props; const { meta, src, content, preview, highlightedCode, style, highlightedStyle, } = props; const codeExpand = this.state.codeExpand; const codeBoxClass = classNames({ 'code-box': true, expand: codeExpand, }); const locale = this.context.intl.locale; const localizedTitle = meta.title[locale] || meta.title; const localizeIntro = content[locale] || content; const introChildren = props.utils .toReactComponent(['div'].concat(localizeIntro)); const highlightClass = classNames({ 'highlight-wrapper': true, 'highlight-wrapper-expand': codeExpand, }); return (
{ meta.iframe ?