File "chart-resize.html.erb"
Full Path: /home/analogde/www/php/integrations/rubyonrails/samples/app/views/samples/chart-resize.html.erb
File size: 4.66 KB
MIME-type: text/x-ruby
Charset: utf-8
<%
require 'fusioncharts-rails'
def getChart
chartData = {
"chart": {
"caption": "Countries With Most Oil Reserves [2017-18]",
"subcaption": "In MMbbl = One Million barrels",
"xaxisname": "Country",
"yaxisname": "Reserves (MMbbl)",
"numbersuffix": "K",
"theme": "fusion"
},
"data": [{
"label": "Venezuela",
"value": "290"
}, {
"label": "Saudi",
"value": "260"
}, {
"label": "Canada",
"value": "180"
}, {
"label": "Iran",
"value": "140"
}, {
"label": "Russia",
"value": "115"
}, {
"label": "UAE",
"value": "100"
}, {
"label": "US",
"value": "30"
}, {
"label": "China",
"value": "30"
}]
}
# Chart rendering
chart = Fusioncharts::Chart.new({
width: "100%",
height: "100%",
type: "column2d",
renderAt: "chartContainer",
dataSource: chartData
})
end
%>
<style>
input[type=radio], input[type=checkbox] {
display:none;
}
input[type=radio] + label, input[type=checkbox] + label {
display:inline-block;
margin:-2px;
padding: 4px 12px;
margin-bottom: 0;
font-size: 14px;
line-height: 20px;
color: #333;
text-align: center;
text-shadow: 0 1px 1px rgba(255,255,255,0.75);
vertical-align: middle;
cursor: pointer;
background-color: #f5f5f5;
background-image: -moz-linear-gradient(top,#fff,#e6e6e6);
background-image: -webkit-gradient(linear,0 0,0 100%,from(#fff),to(#e6e6e6));
background-image: -webkit-linear-gradient(top,#fff,#e6e6e6);
background-image: -o-linear-gradient(top,#fff,#e6e6e6);
background-image: linear-gradient(to bottom,#fff,#e6e6e6);
background-repeat: repeat-x;
border: 1px solid #ccc;
border-color: #e6e6e6 #e6e6e6 #bfbfbf;
border-color: rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);
border-bottom-color: #b3b3b3;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffe6e6e6',GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
-webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);
-moz-box-shadow: inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);
box-shadow: inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);
}
input[type=radio]:checked + label, input[type=checkbox]:checked + label{
background-image: none;
outline: 0;
-webkit-box-shadow: inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);
-moz-box-shadow: inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);
box-shadow: inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);
background-color:#e0e0e0;
}
</style>
<h3>Chart Auto-Resise Sample</h3>
<script type="text/javascript">
FusionCharts && FusionCharts.ready(function () {
var trans = document.getElementById("controllers").getElementsByTagName("input");
for (var i=0, len=trans.length; i<len; i++) {
if (trans[i].type == "radio"){
trans[i].onchange = function() {
changeSize(this.value);
};
}
}
});
function changeSize(size) {
document.getElementById('chartContainer').style.width = size.split('x')[0] + 'px';
document.getElementById('chartContainer').style.height = size.split('x')[1] + 'px';
};
</script>
<div align="center">
<label style="padding: 0px 5px !important;">Select Chart Container Size (in pixels)</label>
</div>
<br/>
<div id="controllers" align="center" style="font-family:'Helvetica Neue', Arial; font-size: 14px;">
<input type="radio" id="radio1" name="div-size" checked value="400x300"/>
<label for="radio1">400x300</label>
<input type="radio" id="radio2" name="div-size" value="600x500"/>
<label for="radio2">600x500</label>
<input type="radio" id="radio3" name="div-size" value="800x600"/>
<label for="radio3">800x600</label>
</div>
<br/>
<br/>
<br/>
<div style="width: 100%; display: block;" align="center">
<div id="chartContainer" style="border-style: solid;border-color:#5a5a5a;width: 400px; height: 300px;"><%= getChart.render() %></div>
</div>
<br/>
<br/>
<a href="index">Go Back</a>