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));