@@ -9,7 +9,7 @@ export interface IProps {
99 events ?: any ; // example: <ReactTabulator events={{ rowClick: (ev, row) => {} }}... />
1010 className ?: string ;
1111 columns : any [ ] ;
12- data : any [ ] ;
12+ data ? : any [ ] ;
1313 height ?: number ;
1414 layout ?: string , /// layout type "fitColumns" | "fitDataTable" | "fitDataStretch" | "fitData" - default: "fitData"
1515 layoutColumnsOnNewData ?: boolean , // update column widths on setData - default: false
@@ -140,18 +140,20 @@ export const propsToOptions = async (props: any) => {
140140
141141 const callbackNames = [ 'tableBuilt' , 'rowClick' , 'rowDblClick' , 'rowContext' , 'rowTap' , 'rowDblTap' , 'rowTapHold' ,
142142 'rowAdded' , 'rowDeleted' , 'rowMoved' , 'rowUpdated' , 'rowSelectionChanged' , 'rowSelected' , 'rowDeselected' , 'rowResized' ,
143- 'cellClick' , 'cellDblClick' , 'cellContext' , 'cellTap' , 'cellDblTap' , 'cellTapHold' , 'cellEditing' , 'cellEdited' , ' cellEditCancelled',
143+ 'cellClick' , 'cellDblClick' , 'cellContext' , 'cellTap' , 'cellDblTap' , 'cellTapHold' , 'cellEditing' , 'cellEditCancelled' ,
144144 'columnMoved' , 'columnResized' , 'columnTitleChanged' , 'columnVisibilityChanged' ,
145- 'htmlImporting' , 'htmlImported' , 'dataLoading' , 'dataLoaded' , 'dataChanged' ,
146- 'ajaxRequesting' , 'ajaxResponse' , 'ajaxError' , ' dataFiltering', 'dataFiltered' , 'dataSorting' , 'dataSorted' ,
145+ 'htmlImporting' , 'htmlImported' , 'dataLoading' , 'dataLoaded' ,
146+ 'ajaxRequesting' , 'ajaxResponse' , 'dataFiltering' , 'dataFiltered' , 'dataSorting' , 'dataSorted' ,
147147 'renderStarted' , 'renderComplete' , 'pageLoaded' , 'localized' , 'dataGrouping' , 'dataGrouped' ,
148148 'groupVisibilityChanged' , 'groupClick' , 'groupDblClick' , 'groupContext' , 'groupTap' , 'groupDblTap' , 'groupTapHold' ,
149149 'movableRowsSendingStart' , 'movableRowsSent' , 'movableRowsSentFailed' , 'movableRowsSendingStop' , 'movableRowsReceivingStart' , 'movableRowsReceived' , 'movableRowsReceivedFailed' , 'movableRowsReceivingStop' ,
150150 'validationFailed' , 'clipboardCopied' , 'clipboardPasted' , 'clipboardPasteError' ,
151151 'downloadReady' , 'downloadComplete' ] ; // don't add "selectableCheck" here, it will break "rowSelectionChanged"
152152
153153 for ( const callbackName of callbackNames ) {
154- output [ callbackName ] = props [ callbackName ] || NOOPS
154+ if ( typeof props [ callbackName ] !== 'undefined' ) {
155+ output [ callbackName ] = props [ callbackName ] || NOOPS
156+ }
155157 }
156158 if ( typeof props [ 'footerElement' ] === 'object' ) {
157159 // convert from JSX to HTML string (tabulator's footerElement accepts string)
0 commit comments