d3rrc
Version:
Reusable D3 Charts for React.js
64 lines (62 loc) • 1.88 kB
HTML
<meta charset="utf-8">
<html>
<head>
<script type="text/javascript" src="../js/react-with-addons.js"></script>
<script type="text/javascript" src="../../dist/bundle.js"></script>
<script src="../js/JSXTransformer.js"></script>
</head>
<body>
<h1>Bar Chart</h1>
<div id="output"></div>
<script type="text/jsx">
var VBarChart = D3RRC.VBarChart;
var names = function(d){
return d.text;
};
var values = function(d){
return d.value||0;
};
var data = (function(size){
var data = [];
var i=0, l=size;
for(; i<l; i++){
data.push({
value: Math.floor(Math.random() * 90)-40,
text: "Test "+i
});
}
return data;
})(10);
var styles={
'rect.positive': 'fill: steelblue;',
'rect.negative': 'fill: brown;'
};
React.render(
<VBarChart
chart-height="320"
chart-names={names}
chart-values={values}
chart-style={styles}
data={data}
/>,
document.getElementById('output')
);
//SOURCE DUMP
var src = document.querySelector('[type="text/jsx"]').innerText
.split('//SOURCE DUMP').shift();
var pre = document.createElement('pre');
var ws = src.match(/[ \t]+/).shift();
var reWS = new RegExp('^'+ws, 'gm');
var header = document.createElement('h2');
header.innerText = 'Source';
pre.style.padding="10px 10px 10px 10px";
pre.style.margin="0px 0px 0px 0px";
pre.style.background='silver';
pre.style.border='1px solid black';
pre.appendChild(document.createTextNode(src.replace(reWS, '').trim()));
document.body.appendChild(header);
document.body.appendChild(pre);
</script>
</body>
</html>