<html>
<head>
<script src="https://unpkg.com/ag-grid-enterprise@13.2.0/dist/ag-grid-enterprise.js"></script>
</head>
<body>
<div id="myGrid" class="ag-fresh" style="height: 100%;"></div>
<script src="main.js"></script>
</body>
</html>
var irishAthletes = ['John Joe Nevin','Katie Taylor','Paddy Barnes','Kenny Egan','Darren Sutherland', 'Margaret Thatcher', 'Tony Blair', 'Ronald Regan', 'Barack Obama'];
var columnDefs = [
{headerName: "Athlete", field: "athlete", width: 150, filter: 'text',
},
// {headerName: "Age", field: "age", width: 90, filter: 'number'},
{headerName: "Country", field: "country", width: 140,
cellRenderer: countryCellRenderer, keyCreator: countryKeyCreator, filter: 'set', filterParams:{selectAllOnMiniFilter:true}},
//{headerName: "Year", field: "year", width: 90},
{headerName: "Date", field: "date", width: 260, filter:'date',
cellRenderer: dateCellRenderer,
},
// {headerName: "Sport", field: "sport", width: 110, filter: 'set', filterParams:{suppressMiniFilter:true}},
// {headerName: "Gold", field: "gold", width: 100, filter: 'number'},
// {headerName: "Silver", field: "silver", width: 100, filter: 'number'},
// {headerName: "Bronze", field: "bronze", width: 100, filter: 'number'},
// {headerName: "Total", field: "total", width: 100, filter: 'number'}
];
var gridOptions = {
columnDefs: columnDefs,
rowData: null,
enableFilter: true,
enableColResize: true,
floatingFilter:true
};
function countryCellRenderer(params) {
return params.value.name;// + ' (' + params.value.code + ')';
}
function dateCellRenderer(params,second) {
//console.log(params,second);
var oneDay = 24*60*60*1000; // hours*minutes*seconds*milliseconds
var firstDate = params.data.date;
var secondDate = new Date();
var diffDays = Math.round(Math.abs((firstDate.getTime() - secondDate.getTime())/(oneDay)));
return "Valli "+diffDays+ " days - " + params.data.date + "test";// + ' (' + params.value.code + ')';
}
function countryKeyCreator(params) {
var countryObject = params.value;
var key = countryObject.name;
return key;
}
function onFilterChanged(value) {
gridOptions.api.setQuickFilter(value);
}
function setDataIntoGrid(data) {
// hack the data, replace each country with an object of country name and code
data.forEach( function(row) {
var countryName = row.country;
var countryCode = countryName.substring(0,2).toUpperCase();
row.country = {
name: countryName,
code: countryCode
};
var parts =row.date.split('/');
//please put attention to the month (parts[0]), Javascript counts months from 0:
// January - 0, February - 1, etc
var mydate = new Date(parts[2],parts[1]-1,parts[0]);
row.date=mydate;
});
gridOptions.api.setRowData(data);
}
// setup the grid after the page has finished loading
document.addEventListener('DOMContentLoaded', function() {
var gridDiv = document.querySelector('#myGrid');
new agGrid.Grid(gridDiv, gridOptions);
// // do http request to get our sample data - not using any framework to keep the example self contained.
// // you will probably use a framework like JQuery, Angular or something else to do your HTTP calls.
// var httpRequest = new XMLHttpRequest();
// httpRequest.open('GET', 'https://raw.githubusercontent.com/ag-grid/ag-grid-docs/master/src/olympicWinnersSmall.json');
// httpRequest.send();
// httpRequest.onreadystatechange = function() {
// if (httpRequest.readyState === 4 && httpRequest.status === 200) {
// var httpResult = JSON.parse(httpRequest.responseText);
var httpResult = [
{"athlete":"Michael Phelps","age":23,"country":"","year":2016,"date":"24/08/2016","sport":"Swimming","gold":8,"silver":0,"bronze":0,"total":8},{"athlete":"James Phelps","age":19,"country":"United States","year":2004,"date":"29/08/2004","sport":"Swimming","gold":6,"silver":0,"bronze":2,"total":8},
{"athlete":"Valli Phelps","age":23,"country":"","year":2016,"date":"24/08/2016","sport":"Swimming","gold":8,"silver":0,"bronze":0,"total":8},{"athlete":"Michael Phelps","age":19,"country":"India","year":2004,"date":"29/08/2004","sport":"Swimming","gold":6,"silver":0,"bronze":2,"total":8},
{"athlete":"Bala Phelps","age":23,"country":"","year":2016,"date":"24/08/2016","sport":"Swimming","gold":8,"silver":0,"bronze":0,"total":8},{"athlete":"Ibrahim Phelps","age":19,"country":"Swiss","year":2004,"date":"29/08/2004","sport":"Swimming","gold":6,"silver":0,"bronze":2,"total":8},
];
setDataIntoGrid(httpResult);
// }
// };
});