import React from "react"; import {AgGridReact} from "ag-grid-react"; import ColDefFactory from "./ColDefFactory.jsx"; import "./myApp.css"; // take this line out if you do not want to use ag-Grid-Enterprise import "ag-grid-enterprise"; export default class MyApp extends React.Component { constructor() { super(); this.state = { showToolPanel: false, columnDefs: new ColDefFactory().createColDefs(), rowData: null, }; this.gridOptions = { groupRowInnerRenderer: function (params) { var FLAG_CODES = { 'Ireland': 'ie', 'United States': 'us', 'Russia': 'ru', 'Australia': 'au', 'Canada': 'ca', 'Norway': 'no', 'China': 'cn', 'Zimbabwe': 'zw', 'Netherlands': 'nl', 'South Korea': 'kr', 'Croatia': 'hr', 'France': 'fr' }; var flagCode = FLAG_CODES[params.node.key]; var html = ''; if (flagCode) { html += '' } html += ' COUNTRY_NAME'.replace('COUNTRY_NAME', params.node.key); html += ' Gold: GOLD_COUNT'.replace('GOLD_COUNT', params.data.gold); html += ' Silver: SILVER_COUNT'.replace('SILVER_COUNT', params.data.silver); html += ' Bronze: BRONZE_COUNT'.replace('BRONZE_COUNT', params.data.bronze); return html; } }; } onGridReady(params) { this.api = params.api; this.columnApi = params.columnApi; var that = this; var httpRequest = new XMLHttpRequest(); httpRequest.open('GET', '/olympicWinners.json'); httpRequest.send(); httpRequest.onreadystatechange = function() { if (httpRequest.readyState == 4 && httpRequest.status == 200) { var httpResult = JSON.parse(httpRequest.responseText); that.api.setRowData(httpResult); } }; } render() { var gridTemplate = (
); return
{gridTemplate}
; } }