Files
Phraseanet/www/include/jslibs/yui2.8/examples/charts/charts-tabview_clean.html
2011-02-16 16:09:48 +01:00

217 lines
6.2 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>Charts in a TabView</title>
<style type="text/css">
/*margin and padding on body element
can introduce errors in determining
element position and are not recommended;
we turn them off as a foundation for YUI
CSS treatments. */
body {
margin:0;
padding:0;
}
</style>
<link rel="stylesheet" type="text/css" href="../../build/fonts/fonts-min.css" />
<link rel="stylesheet" type="text/css" href="../../build/tabview/assets/skins/sam/tabview.css" />
<script type="text/javascript" src="../../build/yahoo-dom-event/yahoo-dom-event.js"></script>
<script type="text/javascript" src="../../build/json/json-min.js"></script>
<script type="text/javascript" src="../../build/element/element-min.js"></script>
<script type="text/javascript" src="../../build/datasource/datasource-min.js"></script>
<script type="text/javascript" src="../../build/swf/swf-min.js"></script>
<script type="text/javascript" src="../../build/charts/charts-min.js"></script>
<script type="text/javascript" src="../../build/tabview/tabview-min.js"></script>
<!--begin custom header content for this example-->
<style type="text/css">
.chart
{
width: 500px;
height: 350px;
margin-bottom: 10px;
}
.chart_title
{
display: block;
font-size: 1.2em;
font-weight: bold;
margin-bottom: 0.4em;
}
#tabContainer
{
width: 520px;
}
</style>
<!--end custom header content for this example-->
</head>
<body class="yui-skin-sam">
<h1>Charts in a TabView</h1>
<div class="exampleIntro">
<p>This example uses the <a href="http://developer.yahoo.com/yui/charts/">YUI Charts Control</a> and the <a href="http://developer.yahoo.com/yui/tabview/">TabView Control</a> to display different views of the same <a href="http://developer.yahoo.com/yui/datasource/">DataSource</a>.</p>
<p>Please note: The YUI Charts Control requires Flash Player 9.0.45 or higher. The latest version of Flash Player is available at the <a href="http://www.adobe.com/go/getflashplayer">Adobe Flash Player Download Center</a>.</p>
</div>
<!--BEGIN SOURCE CODE FOR EXAMPLE =============================== -->
<span class="chart_title">Monthly Expenses</span>
<div id="tabContainer"></div>
<script type="text/javascript">
YAHOO.widget.Chart.SWFURL = "../../build/charts/assets/charts.swf";
//--- DataSource
YAHOO.example.monthlyExpenses =
[
{ month: "January", rent: 880.00, utilities: 894.68 },
{ month: "February", rent: 880.00, utilities: 901.35 },
{ month: "March", rent: 880.00, utilities: 889.32 },
{ month: "April", rent: 880.00, utilities: 884.71 },
{ month: "May", rent: 910.00, utilities: 879.811 },
{ month: "June", rent: 910.00, utilities: 897.95 }
];
var myDataSource = new YAHOO.util.DataSource( YAHOO.example.monthlyExpenses );
myDataSource.responseType = YAHOO.util.DataSource.TYPE_JSARRAY;
myDataSource.responseSchema =
{
fields: [ "month", "rent", "utilities" ]
};
//--- tabView
//Create a TabView
var tabView = new YAHOO.widget.TabView();
//Add a tab for the Bar Chart
tabView.addTab( new YAHOO.widget.Tab({
label: 'Bar Chart',
content: '<span class="chart_title">Bar Chart</span><div class="chart" id="barchart"></div>',
active: true
}));
//Add a tab for the Line Chart
tabView.addTab( new YAHOO.widget.Tab({
label: 'Line Chart',
content: '<span class="chart_title">Line Chart</span><div class="chart" id="linechart"></div>'
}));
//Add a tab for the Column Chart
tabView.addTab( new YAHOO.widget.Tab({
label: 'Column Chart',
content: '<span class="chart_title">Column Chart</span><div class="chart" id="columnchart"></div>'
}));
//Append TabView to its container div
tabView.appendTo('tabContainer');
//--- chart
//series definition for Column and Line Charts
var seriesDef =
[
{ displayName: "Rent", yField: "rent" },
{ displayName: "Utilities", yField: "utilities" }
];
//series definition for Bar Chart
var barChartSeriesDef =
[
{ displayName: "Rent", xField: "rent" },
{ displayName: "Utilities", xField: "utilities" }
];
//format currency
YAHOO.example.formatCurrencyAxisLabel = function( value )
{
return YAHOO.util.Number.format( value,
{
prefix: "$",
thousandsSeparator: ",",
decimalPlaces: 2
});
}
//return the formatted text
YAHOO.example.getDataTipText = function( item, index, series, axisField )
{
var toolTipText = series.displayName + " for " + item.month;
toolTipText += "\n" + YAHOO.example.formatCurrencyAxisLabel( item[series[axisField]] );
return toolTipText;
}
//DataTip function for the Line Chart and Column Chart
YAHOO.example.getYAxisDataTipText = function( item, index, series )
{
return YAHOO.example.getDataTipText(item, index, series, "yField");
}
//DataTip function for the Bar Chart
YAHOO.example.getXAxisDataTipText = function( item, index, series )
{
return YAHOO.example.getDataTipText(item, index, series, "xField");
}
//create a Numeric Axis for displaying dollars
var currencyAxis = new YAHOO.widget.NumericAxis();
currencyAxis.minimum = 800;
currencyAxis.labelFunction = YAHOO.example.formatCurrencyAxisLabel;
//Create Line Chart
var lineChart = new YAHOO.widget.LineChart( "linechart", myDataSource,
{
series: seriesDef,
xField: "month",
yAxis: currencyAxis,
dataTipFunction: YAHOO.example.getYAxisDataTipText,
//only needed for flash player express install
expressInstall: "assets/expressinstall.swf"
});
//Create Bar Chart
var barChart = new YAHOO.widget.BarChart( "barchart", myDataSource,
{
series:barChartSeriesDef,
yField: "month",
xAxis: currencyAxis,
dataTipFunction: YAHOO.example.getXAxisDataTipText,
//only needed for flash player express install
expressInstall: "assets/expressinstall.swf"
});
//Create Column Chart
var columnChart = new YAHOO.widget.ColumnChart( "columnchart", myDataSource,
{
series: seriesDef,
xField: "month",
yAxis: currencyAxis,
dataTipFunction: YAHOO.example.getYAxisDataTipText,
//only needed for flash player express install
expressInstall: "assets/expressinstall.swf"
});
</script>
<!--END SOURCE CODE FOR EXAMPLE =============================== -->
</body>
</html>