diff --git a/client/splatsheet/sheetRenderer/parts/box/box.jsx b/client/splatsheet/sheetRenderer/parts/box/box.jsx index c9ba4d1..5a484e0 100644 --- a/client/splatsheet/sheetRenderer/parts/box/box.jsx +++ b/client/splatsheet/sheetRenderer/parts/box/box.jsx @@ -8,7 +8,7 @@ var Box = React.createClass({ mixins : [utils], getDefaultProps: function() { return { - name : 'box', + //name : 'box', defaultData : {}, id : '', diff --git a/client/splatsheet/sheetRenderer/parts/skill/skill.jsx b/client/splatsheet/sheetRenderer/parts/skill/skill.jsx index c5b4332..a9204c3 100644 --- a/client/splatsheet/sheetRenderer/parts/skill/skill.jsx +++ b/client/splatsheet/sheetRenderer/parts/skill/skill.jsx @@ -41,13 +41,11 @@ var Skill = React.createClass({ val : e.target.value }) }, - renderExpert : function(){ if(this.props.showExpert){ return } }, - render : function(){ return
{this.renderExpert()} diff --git a/client/splatsheet/sheetRenderer/parts/utils.js b/client/splatsheet/sheetRenderer/parts/utils.js index 2c07558..95dcd3c 100644 --- a/client/splatsheet/sheetRenderer/parts/utils.js +++ b/client/splatsheet/sheetRenderer/parts/utils.js @@ -16,14 +16,18 @@ module.exports = { updateData : function(val){ if(typeof this.props.onChange !== 'function') throw "No onChange handler set"; - if(_.isObject(val)){ + var newVal = val; + + //Clone the data if it's an object to avoid mutation bugs + if(_.isObject(val)) newVal = _.extend({}, this.data(), val); + + if(this.id()){ this.props.onChange({ - [this.id()] : _.extend({}, this.data(), val) + [this.id()] : newVal }); }else{ - this.props.onChange({ - [this.id()] : val - }); + //If the box has no id, don't add it to the chain + this.props.onChange(newVal) } } } \ No newline at end of file diff --git a/client/splatsheet/sheetRenderer/sheetRenderer.jsx b/client/splatsheet/sheetRenderer/sheetRenderer.jsx index 12d3c48..dbf2f1b 100644 --- a/client/splatsheet/sheetRenderer/sheetRenderer.jsx +++ b/client/splatsheet/sheetRenderer/sheetRenderer.jsx @@ -33,7 +33,6 @@ var SheetRenderer = React.createClass({ }) }, renderSheet : function(){ - try{ var nodes = jsx2json(this.props.code); nodes = _.map(nodes, (node)=>{ @@ -43,8 +42,6 @@ var SheetRenderer = React.createClass({ } return node }) - - return this.renderChildren(nodes); }catch(e){ return
Error bruh {e.toString()}
diff --git a/client/splatsheet/splatsheet.jsx b/client/splatsheet/splatsheet.jsx index 7b757db..a442e07 100644 --- a/client/splatsheet/splatsheet.jsx +++ b/client/splatsheet/splatsheet.jsx @@ -16,13 +16,7 @@ var SplatSheet = React.createClass({ getInitialState: function() { return { sheetCode: '', - characterData : { - playerInfo : { - name : 'scott', - race : 'human', - class : 'coder' - } - } + characterData : {} }; }, diff --git a/shared/jsx-parser.js b/shared/jsx-parser.js index fe36e42..cd4a2ec 100644 --- a/shared/jsx-parser.js +++ b/shared/jsx-parser.js @@ -187,7 +187,18 @@ var parser = function(tokens){ -/* + + + + + + + + + + + + var test1 = `
@@ -205,7 +216,10 @@ var test2 = "
Hey there!
" var tokens = tokenizer(test1); console.log(test1, '\n---\n', tokens, '---\n', JSON.stringify(parser(tokens), null, ' ')); -*/ + + + + module.exports = function(input){ return parser(tokenizer(input));