@@ -10,8 +10,7 @@ import { SelectAllBar } from "../features/select-all/SelectAllBar";
1010import { SelectionProgressDialog } from "../features/select-all/SelectionProgressDialog" ;
1111import { SelectActionHelper } from "../helpers/SelectActionHelper" ;
1212import { useBasicData } from "../model/hooks/injection-hooks" ;
13- import { CellComponent , EventsController } from "../typings/CellComponent" ;
14- import { GridColumn } from "../typings/GridColumn" ;
13+ import { EventsController } from "../typings/CellComponent" ;
1514import { ExportWidget } from "./ExportWidget" ;
1615import { Grid } from "./Grid" ;
1716import { GridBody } from "./GridBody" ;
@@ -23,17 +22,15 @@ import { WidgetHeader } from "./WidgetHeader";
2322import { WidgetRoot } from "./WidgetRoot" ;
2423import { WidgetTopBar } from "./WidgetTopBar" ;
2524
26- export interface WidgetProps < C extends GridColumn , T extends ObjectItem = ObjectItem > {
27- CellComponent : CellComponent < C > ;
25+ export interface WidgetProps {
2826 className : string ;
2927 columnsDraggable : boolean ;
3028 columnsFilterable : boolean ;
3129 columnsHidable : boolean ;
3230 columnsResizable : boolean ;
3331 columnsSortable : boolean ;
34- data : T [ ] ;
32+ data : ObjectItem [ ] ;
3533 exporting : boolean ;
36- filterRenderer : ( renderWrapper : ( children : ReactNode ) => ReactElement , columnIndex : number ) => ReactElement ;
3734 headerContent ?: ReactNode ;
3835 headerTitle ?: string ;
3936 id : string ;
@@ -43,7 +40,7 @@ export interface WidgetProps<C extends GridColumn, T extends ObjectItem = Object
4340 loadMoreButtonCaption ?: string ;
4441
4542 processedRows : number ;
46- rowClass ?: ( item : T ) => string ;
43+
4744 styles ?: CSSProperties ;
4845 rowAction ?: ListActionValue ;
4946 isFirstLoad : boolean ;
@@ -59,7 +56,7 @@ export interface WidgetProps<C extends GridColumn, T extends ObjectItem = Object
5956 focusController : FocusTargetController ;
6057}
6158
62- export const Widget = observer ( < C extends GridColumn > ( props : WidgetProps < C > ) : ReactElement => {
59+ export const Widget = observer ( function Widget ( props : WidgetProps ) {
6360 const { className, exporting, numberOfItems, onExportCancel, selectActionHelper } = props ;
6461 const basicData = useBasicData ( ) ;
6562 const selectionEnabled = selectActionHelper . selectionType !== "None" ;
@@ -89,19 +86,8 @@ export const Widget = observer(<C extends GridColumn>(props: WidgetProps<C>): Re
8986 ) ;
9087} ) ;
9188
92- const Main = observer ( < C extends GridColumn > ( props : WidgetProps < C > ) : ReactElement => {
93- const {
94- CellComponent,
95- columnsHidable,
96- data : rows ,
97- headerContent,
98- headerTitle,
99- loadMoreButtonCaption,
100- showRefreshIndicator,
101- selectActionHelper
102- } = props ;
103-
104- const basicData = useBasicData ( ) ;
89+ const Main = observer ( ( props : WidgetProps ) : ReactElement => {
90+ const { data : rows , headerContent, headerTitle, loadMoreButtonCaption, showRefreshIndicator } = props ;
10591
10692 return (
10793 < Fragment >
@@ -113,17 +99,7 @@ const Main = observer(<C extends GridColumn>(props: WidgetProps<C>): ReactElemen
11399 < SelectAllBar />
114100 { showRefreshIndicator ? < RefreshIndicator /> : null }
115101 < GridBody >
116- < RowsRenderer
117- preview = { false }
118- interactive = { basicData . gridInteractive }
119- Cell = { CellComponent }
120- columnsHidable = { columnsHidable }
121- rows = { rows }
122- rowClass = { props . rowClass }
123- selectActionHelper = { selectActionHelper }
124- focusController = { props . focusController }
125- eventsController = { props . cellEventsController }
126- />
102+ < RowsRenderer rows = { rows } />
127103 < EmptyPlaceholder />
128104 </ GridBody >
129105 </ Grid >
0 commit comments