committed by
Paul O’Shannessy
8 changed files with 17 additions and 98 deletions
@ -1,82 +0,0 @@ |
|||
/** |
|||
* Copyright 2013-present, Facebook, Inc. |
|||
* All rights reserved. |
|||
* |
|||
* This source code is licensed under the BSD-style license found in the |
|||
* LICENSE file in the root directory of this source tree. An additional grant |
|||
* of patent rights can be found in the PATENTS file in the same directory. |
|||
*/ |
|||
|
|||
/** |
|||
* This is a web interface for the HTML to JSX converter contained in |
|||
* `html-jsx-lib.js`. |
|||
*/ |
|||
;(function() { |
|||
|
|||
var HELLO_COMPONENT = "\ |
|||
<!-- Hello world -->\n\ |
|||
<div class=\"awesome\" style=\"border: 1px solid red\">\n\ |
|||
<label for=\"name\">Enter your name: </label>\n\ |
|||
<input type=\"text\" id=\"name\" />\n\ |
|||
</div>\n\ |
|||
<p>Enter your HTML here</p>\ |
|||
"; |
|||
|
|||
var HTMLtoJSXComponent = React.createClass({ |
|||
getInitialState: function() { |
|||
return { |
|||
outputClassName: 'NewComponent', |
|||
createClass: true |
|||
}; |
|||
}, |
|||
onReactClassNameChange: function(evt) { |
|||
this.setState({ outputClassName: evt.target.value }); |
|||
}, |
|||
onCreateClassChange: function(evt) { |
|||
this.setState({ createClass: evt.target.checked }); |
|||
}, |
|||
setInput: function(input) { |
|||
this.setState({ input: input }); |
|||
this.convertToJsx(); |
|||
}, |
|||
convertToJSX: function(input) { |
|||
var converter = new HTMLtoJSX({ |
|||
outputClassName: this.state.outputClassName, |
|||
createClass: this.state.createClass |
|||
}); |
|||
return converter.convert(input); |
|||
}, |
|||
render: function() { |
|||
return ( |
|||
<div> |
|||
<div id="options"> |
|||
<label> |
|||
<input |
|||
type="checkbox" |
|||
checked={this.state.createClass} |
|||
onChange={this.onCreateClassChange} /> |
|||
Create class |
|||
</label> |
|||
<label style={{display: this.state.createClass ? '' : 'none'}}> |
|||
· |
|||
Class name: |
|||
<input |
|||
type="text" |
|||
value={this.state.outputClassName} |
|||
onChange={this.onReactClassNameChange} /> |
|||
</label> |
|||
</div> |
|||
<ReactPlayground |
|||
codeText={HELLO_COMPONENT} |
|||
renderCode={true} |
|||
transformer={this.convertToJSX} |
|||
showCompiledJSTab={false} |
|||
editorTabTitle="Live HTML Editor" |
|||
/> |
|||
</div> |
|||
); |
|||
} |
|||
}); |
|||
|
|||
ReactDOM.render(<HTMLtoJSXComponent />, document.getElementById('jsxCompiler')); |
|||
}()); |
@ -0,0 +1,12 @@ |
|||
<!DOCTYPE html> |
|||
<html> |
|||
<head> |
|||
<title>HTML to JSX</title> |
|||
<!-- Github Pages lacks basic functionality such as permanent server-side |
|||
redirects, so the best we can do is a meta redirect --> |
|||
<meta http-equiv="refresh" content="0; url=http://magic.reactjs.net/htmltojsx.htm" /> |
|||
</head> |
|||
<body> |
|||
This page has moved to <a href="http://magic.reactjs.net/htmltojsx.htm">http://magic.reactjs.net/htmltojsx.htm</a> |
|||
</body> |
|||
</html> |
@ -1,11 +0,0 @@ |
|||
--- |
|||
layout: default |
|||
title: HTML to JSX |
|||
id: html-jsx |
|||
--- |
|||
<div class="jsxCompiler"> |
|||
<h1>HTML to JSX Compiler</h1> |
|||
<div id="jsxCompiler"></div> |
|||
<script src="https://reactcommunity.org/react-magic/htmltojsx.min.js"></script> |
|||
<script src="js/html-jsx.js"></script> |
|||
</div> |
Loading…
Reference in new issue