executeCode: function()

in site/live_editor.js [258:301]


  executeCode: function () {
    var mountNode = ReactDOM.findDOMNode(this.refs.mount);

    try {
      ReactDOM.unmountComponentAtNode(mountNode);
    } catch (e) {}

    try {
      var compiledCode;
      if (this.props.renderCode) {
        compiledCode = this.compileCode({ skipES2015Transform: true });
        ReactDOM.render(React.createElement(CodeMirrorEditor, { codeText: compiledCode, readOnly: true, __source: {
            fileName: _jsxFileName,
            lineNumber: 214
          }
        }), mountNode);
      } else {
        compiledCode = this.compileCode({ skipES2015Transform: false });
        eval(compiledCode);
      }
    } catch (err) {
      // Babel errors are preformatted, runtime errors are not.
      var errorMessage = err._babel ? React.createElement(
        'pre',
        { style: { overflowX: 'auto' }, className: 'playgroundError', __source: {
            fileName: _jsxFileName,
            lineNumber: 224
          }
        },
        err.toString()
      ) : React.createElement(
        'div',
        { className: 'playgroundError', __source: {
            fileName: _jsxFileName,
            lineNumber: 225
          }
        },
        err.toString()
      );
      this.setTimeout(function () {
        ReactDOM.render(errorMessage, mountNode);
      }, 500);
    }
  }