@@ -40,6 +40,7 @@ import type {
4040 EnsembleWidgetStyles ,
4141 HasItemTemplate ,
4242} from "../../shared/types" ;
43+ import { getComponentStyles } from "../../shared/styles" ;
4344import { useEnsembleAction } from "../../runtime/hooks/useEnsembleAction" ;
4445import { EnsembleRuntime } from "../../runtime" ;
4546import { DataCell } from "./DataCell" ;
@@ -84,6 +85,7 @@ export interface DataGridRowTemplate {
8485 onTap ?: EnsembleAction ;
8586 children ?: EnsembleWidget [ ] ;
8687 styles ?: EnsembleWidgetStyles ;
88+ rowHoverStyle ?: EnsembleWidgetStyles ;
8789 } & HasItemTemplate ;
8890}
8991
@@ -115,6 +117,7 @@ export type GridProps = {
115117 totalRows ?: number ;
116118 curPage ?: number ;
117119 virtual ?: boolean ;
120+ hideSelectAll ?: boolean ;
118121} & EnsembleWidgetProps < DataGridStyles > ;
119122
120123function djb2Hash ( str : string ) : number {
@@ -364,6 +367,7 @@ export const DataGrid: React.FC<GridProps> = (props) => {
364367 pageSize,
365368 curPage,
366369 widgetName,
370+ rowHoverStyle : itemTemplate . template . properties . rowHoverStyle ,
367371 } ,
368372 props . id ,
369373 {
@@ -375,6 +379,7 @@ export const DataGrid: React.FC<GridProps> = (props) => {
375379 } ,
376380 ) ;
377381 const headerStyle = values ?. styles ?. headerStyle ;
382+ const rowHoverStyle = values ?. rowHoverStyle ;
378383
379384 useEffect ( ( ) => {
380385 setPageSize ( values ?. pageSize || 10 ) ;
@@ -559,6 +564,7 @@ export const DataGrid: React.FC<GridProps> = (props) => {
559564 } ,
560565 defaultSelectedRowKeys : values ?. defaultSelectedRowKeys ,
561566 selectedRowKeys : rowsKey . length ? rowsKey : undefined ,
567+ hideSelectAll : values ?. hideSelectAll ,
562568 }
563569 : undefined
564570 }
@@ -702,6 +708,20 @@ export const DataGrid: React.FC<GridProps> = (props) => {
702708 ! headerStyle ?. borderBottom ? "border-bottom: none !important" : ""
703709 }
704710 }
711+
712+ ${
713+ rowHoverStyle
714+ ? `#${ resolvedWidgetId } .ant-table-tbody > tr > td {
715+ transition: all 0.2s ease-in-out;
716+ }
717+ #${ resolvedWidgetId } .ant-table-tbody > tr:hover > td {
718+ ${ getComponentStyles ( "" , rowHoverStyle , true , true ) }
719+ }
720+ #${ resolvedWidgetId } .ant-table-tbody > tr.ant-table-row:hover > td {
721+ ${ getComponentStyles ( "" , rowHoverStyle , true , true ) }
722+ }`
723+ : ""
724+ }
705725 ` }
706726 </ style >
707727 </ div >
0 commit comments