mirror of
https://github.com/bobwen-dev/react-templates
synced 2025-04-12 00:56:39 +02:00
fix error in editor
This commit is contained in:
parent
07c3952a2f
commit
133f2645d2
24
Gruntfile.js
24
Gruntfile.js
@ -68,13 +68,34 @@ module.exports = function (grunt) {
|
|||||||
spawn: false
|
spawn: false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
uglify: {
|
||||||
|
my_target: {
|
||||||
|
//options: {
|
||||||
|
// sourceMap: true,
|
||||||
|
// sourceMapIncludeSources: true,
|
||||||
|
// sourceMapIn: 'example/coffeescript-sourcemap.js', // input sourcemap from a previous compilation
|
||||||
|
//},
|
||||||
|
files: {
|
||||||
|
'playground/rt-main.browser.min.js': ['playground/rt-main.browser.js'],
|
||||||
|
'playground/libs/requirejs-plugins/text.min.js': ['playground/libs/requirejs-plugins/text.js'],
|
||||||
|
'playground/libs/requirejs-plugins/json.min.js': ['playground/libs/requirejs-plugins/json.js']
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
requirejs: {
|
||||||
|
compile: {
|
||||||
|
options: eval(require('fs').readFileSync('./home.config.js').toString())
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
grunt.loadNpmTasks('grunt-browserify');
|
grunt.loadNpmTasks('grunt-browserify');
|
||||||
grunt.loadNpmTasks('grunt-contrib-watch');
|
grunt.loadNpmTasks('grunt-contrib-watch');
|
||||||
|
grunt.loadNpmTasks('grunt-contrib-requirejs');
|
||||||
grunt.loadNpmTasks('grunt-eslint');
|
grunt.loadNpmTasks('grunt-eslint');
|
||||||
grunt.loadNpmTasks('grunt-node-tap');
|
grunt.loadNpmTasks('grunt-node-tap');
|
||||||
|
grunt.loadNpmTasks('grunt-contrib-uglify');
|
||||||
|
|
||||||
grunt.registerTask('default', ['eslint']);
|
grunt.registerTask('default', ['eslint']);
|
||||||
grunt.registerTask('test', ['node_tap']);
|
grunt.registerTask('test', ['node_tap']);
|
||||||
@ -84,13 +105,14 @@ module.exports = function (grunt) {
|
|||||||
grunt.registerTask('rt', function () {
|
grunt.registerTask('rt', function () {
|
||||||
var reactTemplates = require('./src/cli');
|
var reactTemplates = require('./src/cli');
|
||||||
var files = grunt.file.expand('playground/*.rt');
|
var files = grunt.file.expand('playground/*.rt');
|
||||||
var conf = {common: false, force: true, _: files};
|
var conf = {commonjs: false, force: true, _: files};
|
||||||
var ret = reactTemplates.execute(conf);
|
var ret = reactTemplates.execute(conf);
|
||||||
return ret === 0;
|
return ret === 0;
|
||||||
});
|
});
|
||||||
|
|
||||||
grunt.registerTask('build', ['rt', 'browserify:pg']);
|
grunt.registerTask('build', ['rt', 'browserify:pg']);
|
||||||
grunt.registerTask('home', ['rt', 'browserify:home']);
|
grunt.registerTask('home', ['rt', 'browserify:home']);
|
||||||
|
grunt.registerTask('pgall', ['rt', 'browserify', 'uglify']);
|
||||||
|
|
||||||
grunt.registerTask('all', ['default', 'test']);
|
grunt.registerTask('all', ['default', 'test']);
|
||||||
};
|
};
|
||||||
|
16
index.html
16
index.html
@ -51,9 +51,9 @@
|
|||||||
</a>
|
</a>
|
||||||
<ul class="nav-site">
|
<ul class="nav-site">
|
||||||
<li><a href="https://github.com/wix/react-templates">docs</a></li>
|
<li><a href="https://github.com/wix/react-templates">docs</a></li>
|
||||||
<li><a href="https://github.com/wix/react-templates">support</a></li>
|
<!--<li><a href="https://github.com/wix/react-templates">support</a></li>-->
|
||||||
<li><a href="https://github.com/wix/react-templates">download</a></li>
|
<li><a href="https://github.com/wix/react-templates">download</a></li>
|
||||||
<li><a href="https://github.com/wix/react-templates/">blog</a></li>
|
<!--<li><a href="https://github.com/wix/react-templates/">blog</a></li>-->
|
||||||
<li><a href="https://github.com/wix/react-templates">github</a>
|
<li><a href="https://github.com/wix/react-templates">github</a>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
@ -113,6 +113,11 @@
|
|||||||
<hr class="home-divider" />
|
<hr class="home-divider" />
|
||||||
<section id="home-section" class="home-section">
|
<section id="home-section" class="home-section">
|
||||||
</section>
|
</section>
|
||||||
|
<div id="loading" style="/* padding-bottom: 40px; */
|
||||||
|
margin-bottom: 100px;
|
||||||
|
font-size: 20px;
|
||||||
|
padding-top: 50px;
|
||||||
|
text-align: center;">Loading...</div>
|
||||||
<hr class="home-divider" />
|
<hr class="home-divider" />
|
||||||
<!--<section class="home-bottom-section">-->
|
<!--<section class="home-bottom-section">-->
|
||||||
<!--<div class="buttons-unit">-->
|
<!--<div class="buttons-unit">-->
|
||||||
@ -142,7 +147,12 @@
|
|||||||
<script src="playground/libs/ace-builds-1.1.8/src-min-noconflict/ace.js" type="text/javascript" charset="utf-8"></script>
|
<script src="playground/libs/ace-builds-1.1.8/src-min-noconflict/ace.js" type="text/javascript" charset="utf-8"></script>
|
||||||
<script src="playground/dist/rt-main.browser.min.js"></script>
|
<script src="playground/dist/rt-main.browser.min.js"></script>
|
||||||
<!--<script data-main="playground/home-main.js" src="http://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.15/require.js"></script>-->
|
<!--<script data-main="playground/home-main.js" src="http://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.15/require.js"></script>-->
|
||||||
<script src="http://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.15/require.js"></script>
|
<!--<script src="http://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.15/require.js"></script>-->
|
||||||
|
<!--http://requirejs.org/docs/release/2.1.15/minified/require.js-->
|
||||||
|
|
||||||
|
<!--<script data-main="playground/home-main.js" src="//cdnjs.cloudflare.com/ajax/libs/require.js/2.1.15/require.min.js"></script>-->
|
||||||
|
<!--<script src="playground/home-main.js"></script>-->
|
||||||
|
<script src="//cdnjs.cloudflare.com/ajax/libs/require.js/2.1.15/require.min.js"></script>
|
||||||
<script src="playground/dist/home.min.js"></script>
|
<script src="playground/dist/home.min.js"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
@ -36,6 +36,8 @@
|
|||||||
"brfs": "^1.2.0",
|
"brfs": "^1.2.0",
|
||||||
"grunt": "^0.4.5",
|
"grunt": "^0.4.5",
|
||||||
"grunt-browserify": "^3.2.0",
|
"grunt-browserify": "^3.2.0",
|
||||||
|
"grunt-contrib-requirejs": "^0.4.4",
|
||||||
|
"grunt-contrib-uglify": "^0.6.0",
|
||||||
"grunt-contrib-watch": "^0.6.1",
|
"grunt-contrib-watch": "^0.6.1",
|
||||||
"grunt-eslint": "^2.1.0",
|
"grunt-eslint": "^2.1.0",
|
||||||
"grunt-node-tap": "^0.1.61",
|
"grunt-node-tap": "^0.1.61",
|
||||||
|
2
playground/dist/home.min.js
vendored
2
playground/dist/home.min.js
vendored
File diff suppressed because one or more lines are too long
@ -1,14 +1,14 @@
|
|||||||
requirejs.config({
|
requirejs.config({
|
||||||
// baseUrl: '/',
|
// baseUrl: '/',
|
||||||
paths: {
|
paths: {
|
||||||
lodash: 'http://cdnjs.cloudflare.com/ajax/libs/lodash.js/2.4.1/lodash',
|
lodash: 'http://cdnjs.cloudflare.com/ajax/libs/lodash.js/2.4.1/lodash.min',
|
||||||
jquery: 'http://code.jquery.com/jquery-1.11.0.min',
|
jquery: 'http://code.jquery.com/jquery-1.11.0.min',
|
||||||
firebase: 'https://cdn.firebase.com/js/client/2.0.5/firebase',
|
firebase: 'https://cdn.firebase.com/js/client/2.0.5/firebase',
|
||||||
react: 'http://fb.me/react-with-addons-0.12.1',
|
react: 'http://fb.me/react-with-addons-0.12.1.min',
|
||||||
//ace: '../ace-builds-1.1.8/src-min/ace',
|
//ace: '../ace-builds-1.1.8/src-min/ace',
|
||||||
fiddle: './fiddle',
|
fiddle: './fiddle',
|
||||||
text: 'libs/requirejs-plugins/text',
|
text: 'libs/requirejs-plugins/text',
|
||||||
json: 'libs/requirejs-plugins/json',
|
json: 'libs/requirejs-plugins/json'
|
||||||
//codeMirror: 'libs/codemirror-4.8/lib/codemirror',
|
//codeMirror: 'libs/codemirror-4.8/lib/codemirror',
|
||||||
//htmlmixed: 'libs/codemirror-4.8/mode/htmlmixed/htmlmixed',
|
//htmlmixed: 'libs/codemirror-4.8/mode/htmlmixed/htmlmixed',
|
||||||
//javascript: 'libs/codemirror-4.8/mode/javascript/javascript'
|
//javascript: 'libs/codemirror-4.8/mode/javascript/javascript'
|
||||||
|
@ -3,9 +3,7 @@
|
|||||||
<div id="header">
|
<div id="header">
|
||||||
<div id="header-title">
|
<div id="header-title">
|
||||||
<a href="index.html" class="title-link">
|
<a href="index.html" class="title-link">
|
||||||
|
|
||||||
<img class="nav-logo" src="https://wix.github.io/react-templates/img/logo-rt.svg" width="56" height="24" />
|
<img class="nav-logo" src="https://wix.github.io/react-templates/img/logo-rt.svg" width="56" height="24" />
|
||||||
|
|
||||||
</a>
|
</a>
|
||||||
RTFiddle
|
RTFiddle
|
||||||
</div>
|
</div>
|
||||||
|
@ -28,6 +28,7 @@ requirejs(['jquery', 'react', './examples'], function ($, React, Examples) {
|
|||||||
'use strict';
|
'use strict';
|
||||||
//var Examples = require('./examples.js');
|
//var Examples = require('./examples.js');
|
||||||
React.render(Examples(), document.getElementById('home-section'));
|
React.render(Examples(), document.getElementById('home-section'));
|
||||||
|
$('#loading').hide();
|
||||||
//window.fiddle = React.render(fiddle(), document.getElementById('container'));
|
//window.fiddle = React.render(fiddle(), document.getElementById('container'));
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -9,9 +9,7 @@ define(['react', 'lodash', './playground-fiddle.rt', './playground.rt'], functio
|
|||||||
var code = null;
|
var code = null;
|
||||||
try {
|
try {
|
||||||
code = window.reactTemplates.convertTemplateToReact(html.trim().replace(/\r/g, ''));
|
code = window.reactTemplates.convertTemplateToReact(html.trim().replace(/\r/g, ''));
|
||||||
if (editor) {
|
clearMessage(editor);
|
||||||
editor.clearMessage();
|
|
||||||
}
|
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
var msg;
|
var msg;
|
||||||
if (e.name === 'RTCodeError') {
|
if (e.name === 'RTCodeError') {
|
||||||
@ -20,14 +18,24 @@ define(['react', 'lodash', './playground-fiddle.rt', './playground.rt'], functio
|
|||||||
} else {
|
} else {
|
||||||
msg = e.message;
|
msg = e.message;
|
||||||
}
|
}
|
||||||
if (editor) {
|
showMessage(editor, msg);
|
||||||
editor.showMessage(msg);
|
|
||||||
}
|
|
||||||
console.log(e);
|
console.log(e);
|
||||||
}
|
}
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function showMessage(editor, msg) {
|
||||||
|
if (editor && editor.showMessage) {
|
||||||
|
editor.showMessage(msg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function clearMessage(editor) {
|
||||||
|
if (editor && editor.clearMessage) {
|
||||||
|
editor.clearMessage();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function generateTemplateFunction(code) {
|
function generateTemplateFunction(code) {
|
||||||
try {
|
try {
|
||||||
var defineMap = {'react/addons': React, lodash: _};
|
var defineMap = {'react/addons': React, lodash: _};
|
||||||
@ -69,7 +77,7 @@ define(['react', 'lodash', './playground-fiddle.rt', './playground.rt'], functio
|
|||||||
displayName: 'Playground',
|
displayName: 'Playground',
|
||||||
mixins: [React.addons.LinkedStateMixin],
|
mixins: [React.addons.LinkedStateMixin],
|
||||||
propTypes: {
|
propTypes: {
|
||||||
direction: React.PropTypes.string,
|
direction: React.PropTypes.oneOf(['horizontal', 'vertical']),
|
||||||
codeVisible: React.PropTypes.bool,
|
codeVisible: React.PropTypes.bool,
|
||||||
fiddle: React.PropTypes.bool
|
fiddle: React.PropTypes.bool
|
||||||
},
|
},
|
||||||
@ -82,7 +90,7 @@ define(['react', 'lodash', './playground-fiddle.rt', './playground.rt'], functio
|
|||||||
},
|
},
|
||||||
updateSample: function (state) {
|
updateSample: function (state) {
|
||||||
this.templateSource = generateTemplateSource(state.templateHTML, this.refs.editorRT);
|
this.templateSource = generateTemplateSource(state.templateHTML, this.refs.editorRT);
|
||||||
this.sampleFunc = generateTemplateFunction(this.templateSource, this.refs.editorCode);
|
this.sampleFunc = generateTemplateFunction(this.templateSource);
|
||||||
this.validHTML = this.sampleFunc !== emptyFunc;
|
this.validHTML = this.sampleFunc !== emptyFunc;
|
||||||
this.sampleRender = generateRenderFunc(this.sampleFunc);
|
this.sampleRender = generateRenderFunc(this.sampleFunc);
|
||||||
var classBase = {};
|
var classBase = {};
|
||||||
@ -93,15 +101,11 @@ define(['react', 'lodash', './playground-fiddle.rt', './playground.rt'], functio
|
|||||||
if (!_.isObject(classBase)) {
|
if (!_.isObject(classBase)) {
|
||||||
throw 'failed to eval';
|
throw 'failed to eval';
|
||||||
}
|
}
|
||||||
if (this.refs.editorCode) {
|
clearMessage(this.refs.editorCode);
|
||||||
this.refs.editorCode.clearMessage();
|
|
||||||
}
|
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
classBase = {};
|
classBase = {};
|
||||||
this.validProps = false;
|
this.validProps = false;
|
||||||
if (this.refs.editorCode) {
|
showMessage(this.refs.editorCode, e.message);
|
||||||
this.refs.editorCode.showMessage(e.message);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
classBase.render = this.sampleRender;
|
classBase.render = this.sampleRender;
|
||||||
this.sample = React.createFactory(React.createClass(classBase));
|
this.sample = React.createFactory(React.createClass(classBase));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user