JavaScript
google.load('visualization', '1.0', { packages: ['controls'] });
google.setOnLoadCallback(drawVisualization);
function drawVisualization() {
//console.log('foo');
// Prepare the data
var data = google.visualization.arrayToDataTable([
['Country', 'Region/State', 'City', 'Date'],
['USA', 'California', 'San Francisco', new Date(2014, 06, 09)],
['USA', 'California', 'Los Angeles', new Date(2014, 06, 09)],
['USA', 'California', 'Mountain View', new Date(2014, 06, 09)],
['USA', 'New York', 'New York', new Date(2014, 06, 08)],
['USA', 'New York', 'Albany', new Date(2014, 06, 08)],
['France', 'Ile-de-France', 'Paris', new Date(2014, 06, 06)],
['France', 'Ile-de-France', 'Orly', new Date(2014, 06, 06)],
['France', 'Provence', 'Marseille', new Date(2014, 06, 06)],
['France', 'Provence', 'Nice', new Date(2014, 06, 06)]
]);
var dateFormatter = new google.visualization.DateFormat({pattern: 'd MMMM'});
dateFormatter.format(data, 3);
var latestDate = dateFormatter.formatValue(data.getColumnRange(3).max);
// Define category pickers for 'Name'
var countryPicker = new google.visualization.ControlWrapper({
controlType: 'CategoryFilter',
containerId: 'control1',
options: {
filterColumnLabel: 'Date',
ui: {
labelStacking: 'vertical',
allowTyping: false,
allowMultiple: false
},
useFormattedValue: true
},
state: {
selectedValues: [latestDate]
}
});
// Define a table.
var table = new google.visualization.ChartWrapper({
chartType: 'Table',
containerId: 'chart2',
options: {
width: '500px'
}
});
new google.visualization.Dashboard(document.getElementById('dashboard')).bind([countryPicker], [table]).draw(data);
}