11import React from "react" ;
22import { Query } from '@apollo/client/react/components' ;
33import { Grid , GridColumn } from '@progress/kendo-react-grid' ;
4- import { process } from '@progress/kendo-data-query' ;
54import { ColumnMenu } from './ColumnMenu' ;
65import { DetailComponent } from './DetailComponent' ;
76import { StateCell } from './StateCell' ;
8- import { АssignedTo } from './АssignedTo ' ;
7+ import { Author } from './Author ' ;
98import { LoadingPanel } from './LoadingPanel' ;
109
1110import { getQuery } from '../queries/github' ;
@@ -15,17 +14,9 @@ import reactIssues from '../data/fallBackDataReact.json';
1514
1615
1716export class KendoGridContainer extends React . Component {
18- state = {
19- skip : 0 ,
20- take : 10
21- }
2217 allLabels = [ ] ;
2318 uniqueLabels = [ ] ;
2419 initialLoad = true ;
25- expandChange = ( event ) => {
26- event . dataItem . expanded = ! event . dataItem . expanded ;
27- this . forceUpdate ( ) ;
28- }
2920
3021 getOccurrence = ( array , value ) => {
3122 var count = 0 ;
@@ -84,10 +75,6 @@ export class KendoGridContainer extends React.Component {
8475 this . allLabels = [ ] ;
8576
8677 gridData . map ( ( item , index ) => {
87- if ( this . initialLoad ) {
88- index === 0 ? item . expanded = true : item . expanded = false
89- this . initialLoad = false
90- }
9178 item . node . createdAt = new Date ( item . node . createdAt )
9279 item . node . labels . edges . forEach ( item => {
9380 this . allLabels . push ( {
@@ -106,20 +93,22 @@ export class KendoGridContainer extends React.Component {
10693 return (
10794 < React . Fragment >
10895 < Grid
109- data = { process ( gridData , this . state ) }
96+ data = { gridData }
97+ autoProcessData = { true }
98+ dataItemKey = 'id'
11099 sortable
111100 pageable
112- { ...this . state }
113- onDataStateChange = { ( e ) => { this . setState ( e . dataState ) ; } }
114- expandField = "expanded"
115- onExpandChange = { this . expandChange }
101+ defaultSkip = { 0 }
102+ defaultTake = { 10 }
116103 style = { { height : '100%' , overflow : 'auto' , borderInline : 0 } }
104+ scrollable = { 'scrollable' }
105+ onDetailExpandChange = { ( e ) => { console . log ( e ) } }
117106 detail = { ( props ) => < DetailComponent { ...props } makeChartData = { this . makeChartData } /> }
118107 >
119108 < GridColumn field = "node.number" title = "ID" width = { 100 } />
120- < GridColumn field = "node.state" title = "State" cell = { StateCell } width = { 100 } />
109+ < GridColumn field = "node.state" title = "State" cells = { { data : StateCell } } width = { 100 } />
121110 < GridColumn field = "node.title" title = "Issue" columnMenu = { ColumnMenu } />
122- < GridColumn field = "node.assignees.node " title = "Assigned to " width = { 200 } cell = { АssignedTo } sortable = { false } />
111+ < GridColumn field = "node.author.label " title = "Author " width = { 200 } cells = { { data : Author } } sortable = { false } />
123112 < GridColumn field = "node.createdAt" title = "Created on" width = { 200 } format = '{0:yyyy/MM/dd hh:mm a}' filter = "date" columnMenu = { ColumnMenu } />
124113 </ Grid >
125114 { loading && < LoadingPanel /> }
0 commit comments