d3rrc
Version:
Reusable D3 Charts for React.js
58 lines (55 loc) • 1.79 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>Time Series Chart</h1>
<div id="output"></div>
<script type="text/jsx">
var TimeSeriesChart = D3RRC.TimeSeriesChart;
var data = (function(size){
var data = [], day;
var i=0, l=size;
for(; i<l; i++){
day = Math.floor(Math.random() * 30)+1;
data.push([
new Date('05/'+day+'/2014'),
Math.floor(Math.random() * 90)+10
]);
}
return data;
})(10);
var style = {
'.line': 'fill: none; stroke: black; stroke-width: 1.5px;',
'.area': 'fill: steelblue;',
};
React.render(
<TimeSeriesChart
chart-height="120"
chart-style={style}
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>