Guest User

Untitled

a guest
Apr 1st, 2020
253
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import React, { Component } from 'react';
  2. import { AgGridReact } from 'ag-grid-react';
  3. import 'ag-grid-enterprise';
  4. import '@ag-grid-enterprise/all-modules/dist/styles/ag-grid.css';
  5. import '@ag-grid-enterprise/all-modules/dist/styles/ag-theme-alpine.css';
  6. import '@ag-grid-enterprise/all-modules/dist/styles/ag-theme-balham-dark.css';
  7.  
  8. class DataVisualize extends Component {
  9.     constructor(props) {
  10.         super(props);
  11.  
  12.         this.state = {
  13.             columnDefs: [
  14.                 {
  15.                     field: 'name',
  16.                     minWidth: 200,
  17.                 },
  18.                 {
  19.                     field: 'offers_in_app_purchases',
  20.                     minWidth: 200,
  21.                 },
  22.                 { field: 'price_cents',
  23.                     minWidth: 200,
  24.                 },
  25.                 { field: 'age_restrictions',
  26.                     minWidth: 200,
  27.                 },
  28.                 { field: 'last_update_date',
  29.                     minWidth: 200,
  30.                 },
  31.                 { field: 'initial_release_date',
  32.                     minWidth: 200,
  33.                 },
  34.                 { field: 'cross_store_app_id',
  35.                     minWidth: 200,
  36.                 },
  37.             ],
  38.             defaultColDef: {
  39.                 flex: 1,
  40.                 minWidth: 90,
  41.                 resizable: true,
  42.             },
  43.             rowModelType: 'serverSide',
  44.             paginationPageSize: 1000,
  45.             cacheBlockSize: 10000,
  46.         };
  47.     }
  48.  
  49.     onColumnMove(){
  50.         console.log(12)
  51.     };
  52.  
  53.     onGridReady (params) {
  54.         this.gridApi = params.api;
  55.         this.gridColumnApi = params.columnApi;
  56.  
  57.         const datasource = ServerSideDatasource();
  58.         params.api.setServerSideDatasource(datasource);
  59.  
  60.  
  61.     };
  62.  
  63.  
  64.     static appIconRenderer(params) {
  65.         if (params.value) {
  66.             return `<img width='75' height='75' style='margin-bottom: 2px; margin-top: 15%;' src='${params.value}' alt=""> `;
  67.         } else {
  68.             return null;
  69.         }
  70.     }
  71.  
  72.     static urlRenderer(params) {
  73.         if (params.value) {
  74.             return `<a href="${params.value}" style="font-size: xx-large" target="_blank"> Link </a>`;
  75.         } else {
  76.             return '';
  77.         }
  78.     }
  79.  
  80.     render() {
  81.         return (
  82.             <div
  83.                 className={"ag-theme-balham-dark"}
  84.                 style={{height: "90vh",
  85.                 width: "90vw",
  86.                 paddingTop: "5%",
  87.                 paddingLeft: "4%"}}>
  88.                 <AgGridReact
  89.                     columnDefs={this.state.columnDefs}
  90.                     defaultColDef={this.state.defaultColDef}
  91.                     rowModelType={this.state.rowModelType}
  92.                     rowSelection={this.state.rowSelection}
  93.                     pagination={true}
  94.                     paginationPageSize={this.state.paginationPageSize}
  95.                     cacheBlockSize={this.state.cacheBlockSize}
  96.                     onGridReady={this.onGridReady}
  97.                 >
  98.                 </AgGridReact>
  99.             </div>
  100.         );
  101.     }
  102.  
  103. }
  104.  
  105. function ServerSideDatasource() {
  106.     return {
  107.         getRows: function(params) {
  108.             fetch('http://localhost:9000/api/post/datas', {
  109.                 method: 'POST',
  110.                 body: JSON.stringify(params.request),
  111.                 headers: {"Content-Type": "application/json; charset=utf-8"}
  112.             })
  113.                 .then(httpResponse => httpResponse.json())
  114.                 .then(response => {
  115.                     params.successCallback(response.rows, response.lastRow);
  116.                 })
  117.                 .catch(error => {
  118.                     console.error(error);
  119.                     params.failCallback();
  120.                 })
  121.  
  122.  
  123.         },
  124.     };
  125. }
  126.  
  127. export default DataVisualize
Advertisement
Add Comment
Please, Sign In to add comment