Skip to content

Instantly share code, notes, and snippets.

@ShinyChang
Created June 12, 2015 02:45
Show Gist options
  • Save ShinyChang/e6060f16b5b73e347e63 to your computer and use it in GitHub Desktop.
Save ShinyChang/e6060f16b5b73e347e63 to your computer and use it in GitHub Desktop.
JS Bin // source http://jsbin.com/qudepidamu
<!DOCTYPE html>
<html>
<head>
<script src="http://blueimp.github.io/JavaScript-MD5/js/md5.js"></script>
<script src="http://fb.me/react-with-addons-0.13.1.js"></script>
<meta charset="utf-8">
<title>JS Bin</title>
</head>
<body>
<script id="jsbin-javascript">
var AuthCalc = React.createClass({displayName: 'AuthCalc',
getInitialState: function() {
return {
"param": [
{"key": "action", "value": "create"}
]
};
},
handleChange: function(e) {
var data = e.target.dataset;
this.state.param[data.sn][data.key] = e.target.value;
this.setState(this.state);
data = null;
},
handleRemove: function(e) {
var sn = e.target.dataset.sn;
this.state.param.splice(sn, 1);
this.setState(this.state);
},
handleNew: function(e) {
this.state.param.push({"key": "", "value": ""});
this.setState(this.state);
},
render: function() {
var obj = {};
var afterJsonEncode;
var afterUrlEncode;
var _auth;
var params = this.state.param.map(function(o, key) {
if (o.key !== '_DEBUG_' && o.key !== '_auth' && o.key !== '') {
obj[o.key] = o.value;
}
return (
React.createElement("tr", {key: key},
React.createElement("td", null,
React.createElement("input", {type: "text", value: o.key, onChange: this.handleChange, 'data-sn': key, 'data-key': "key"})
),
React.createElement("td", null,
React.createElement("input", {type: "text", value: o.value, onChange: this.handleChange, 'data-sn': key, 'data-key': "value"})
),
React.createElement("td", null,
React.createElement("button", {type: "button", onClick: this.handleRemove, 'data-sn': key}, "Remove")
)
)
);
}.bind(this));
afterJsonEncode = JSON.stringify(obj);
afterUrlEncode = encodeURIComponent(afterJsonEncode);
_auth = md5(afterUrlEncode);
return (
React.createElement("div", null,
React.createElement("h1", null, "Auth Calcular ", React.createElement("button", {type: "button", onClick: this.handleNew}, "Add Param")),
React.createElement("table", null,
React.createElement("thead", null,
React.createElement("tr", null,
React.createElement("th", null, "Key"),
React.createElement("th", null, "Value"),
React.createElement("th", null, "Action")
)
),
React.createElement("tfoot", null,
React.createElement("tr", null,
React.createElement("td", {colSpan: "3"}, React.createElement("strong", null, "JSON Encode:"), React.createElement("br", null), afterJsonEncode)
),
React.createElement("tr", null,
React.createElement("td", {colSpan: "3"}, React.createElement("strong", null, "Url Encode:"), React.createElement("br", null), afterUrlEncode)
),
React.createElement("tr", null,
React.createElement("td", {colSpan: "3"}, React.createElement("strong", null, "_auth:"), React.createElement("br", null), _auth)
)
),
React.createElement("tbody", null,
params
)
)
)
);
}
});
React.render(React.createElement(AuthCalc, null), document.body);
</script>
<script id="jsbin-source-html" type="text/html"><!DOCTYPE html>
<html>
<head>
<script src="//blueimp.github.io/JavaScript-MD5/js/md5.js"><\/script>
<script src="//fb.me/react-with-addons-0.13.1.js"><\/script>
<meta charset="utf-8">
<title>JS Bin</title>
</head>
<body>
</body>
</html></script>
<script id="jsbin-source-javascript" type="text/javascript">var AuthCalc = React.createClass({
getInitialState: function() {
return {
"param": [
{"key": "action", "value": "create"}
]
};
},
handleChange: function(e) {
var data = e.target.dataset;
this.state.param[data.sn][data.key] = e.target.value;
this.setState(this.state);
data = null;
},
handleRemove: function(e) {
var sn = e.target.dataset.sn;
this.state.param.splice(sn, 1);
this.setState(this.state);
},
handleNew: function(e) {
this.state.param.push({"key": "", "value": ""});
this.setState(this.state);
},
render: function() {
var obj = {};
var afterJsonEncode;
var afterUrlEncode;
var _auth;
var params = this.state.param.map(function(o, key) {
if (o.key !== '_DEBUG_' && o.key !== '_auth' && o.key !== '') {
obj[o.key] = o.value;
}
return (
<tr key={key}>
<td>
<input type='text' value={o.key} onChange={this.handleChange} data-sn={key} data-key='key'/>
</td>
<td>
<input type='text' value={o.value} onChange={this.handleChange} data-sn={key} data-key='value'/>
</td>
<td>
<button type='button' onClick={this.handleRemove} data-sn={key}>Remove</button>
</td>
</tr>
);
}.bind(this));
afterJsonEncode = JSON.stringify(obj);
afterUrlEncode = encodeURIComponent(afterJsonEncode);
_auth = md5(afterUrlEncode);
return (
<div>
<h1>Auth Calcular <button type='button' onClick={this.handleNew}>Add Param</button></h1>
<table>
<thead>
<tr>
<th>Key</th>
<th>Value</th>
<th>Action</th>
</tr>
</thead>
<tfoot>
<tr>
<td colSpan='3'><strong>JSON Encode:</strong><br/>{afterJsonEncode}</td>
</tr>
<tr>
<td colSpan='3'><strong>Url Encode:</strong><br/>{afterUrlEncode}</td>
</tr>
<tr>
<td colSpan='3'><strong>_auth:</strong><br/>{_auth}</td>
</tr>
</tfoot>
<tbody>
{params}
</tbody>
</table>
</div>
);
}
});
React.render(<AuthCalc/>, document.body);</script></body>
</html>
var AuthCalc = React.createClass({displayName: 'AuthCalc',
getInitialState: function() {
return {
"param": [
{"key": "action", "value": "create"}
]
};
},
handleChange: function(e) {
var data = e.target.dataset;
this.state.param[data.sn][data.key] = e.target.value;
this.setState(this.state);
data = null;
},
handleRemove: function(e) {
var sn = e.target.dataset.sn;
this.state.param.splice(sn, 1);
this.setState(this.state);
},
handleNew: function(e) {
this.state.param.push({"key": "", "value": ""});
this.setState(this.state);
},
render: function() {
var obj = {};
var afterJsonEncode;
var afterUrlEncode;
var _auth;
var params = this.state.param.map(function(o, key) {
if (o.key !== '_DEBUG_' && o.key !== '_auth' && o.key !== '') {
obj[o.key] = o.value;
}
return (
React.createElement("tr", {key: key},
React.createElement("td", null,
React.createElement("input", {type: "text", value: o.key, onChange: this.handleChange, 'data-sn': key, 'data-key': "key"})
),
React.createElement("td", null,
React.createElement("input", {type: "text", value: o.value, onChange: this.handleChange, 'data-sn': key, 'data-key': "value"})
),
React.createElement("td", null,
React.createElement("button", {type: "button", onClick: this.handleRemove, 'data-sn': key}, "Remove")
)
)
);
}.bind(this));
afterJsonEncode = JSON.stringify(obj);
afterUrlEncode = encodeURIComponent(afterJsonEncode);
_auth = md5(afterUrlEncode);
return (
React.createElement("div", null,
React.createElement("h1", null, "Auth Calcular ", React.createElement("button", {type: "button", onClick: this.handleNew}, "Add Param")),
React.createElement("table", null,
React.createElement("thead", null,
React.createElement("tr", null,
React.createElement("th", null, "Key"),
React.createElement("th", null, "Value"),
React.createElement("th", null, "Action")
)
),
React.createElement("tfoot", null,
React.createElement("tr", null,
React.createElement("td", {colSpan: "3"}, React.createElement("strong", null, "JSON Encode:"), React.createElement("br", null), afterJsonEncode)
),
React.createElement("tr", null,
React.createElement("td", {colSpan: "3"}, React.createElement("strong", null, "Url Encode:"), React.createElement("br", null), afterUrlEncode)
),
React.createElement("tr", null,
React.createElement("td", {colSpan: "3"}, React.createElement("strong", null, "_auth:"), React.createElement("br", null), _auth)
)
),
React.createElement("tbody", null,
params
)
)
)
);
}
});
React.render(React.createElement(AuthCalc, null), document.body);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment