11import {
22 container ,
3+ datasource ,
34 dropzone ,
45 rowLayout ,
56 selectable ,
@@ -132,7 +133,14 @@ export function getProperties(
132133 return defaultProperties ;
133134}
134135
135- export const getPreview = ( values : DatagridPreviewProps , isDarkMode : boolean ) : StructurePreviewProps => {
136+ export const getPreview = (
137+ values : DatagridPreviewProps ,
138+ isDarkMode : boolean ,
139+ spVersion : number [ ] = [ 0 , 0 , 0 ]
140+ ) : StructurePreviewProps => {
141+ const [ x , y ] = spVersion ;
142+ const canHideDataSourceHeader = x >= 9 && y >= 20 ;
143+
136144 const modeColor = ( colorDark : string , colorLight : string ) => ( isDarkMode ? colorDark : colorLight ) ;
137145
138146 const hasColumns = values . columns && values . columns . length > 0 ;
@@ -169,7 +177,7 @@ export const getPreview = (values: DatagridPreviewProps, isDarkMode: boolean): S
169177 values . columnsHidable && column . hidable === "hidden" ? modeColor ( "#3E3E3E" , "#F5F5F5" ) : undefined
170178 } ) (
171179 column . showContentAs === "customContent"
172- ? dropzone ( ) ( column . content )
180+ ? dropzone ( dropzone . hideDataSourceHeaderIf ( canHideDataSourceHeader ) ) ( column . content )
173181 : container ( {
174182 padding : 8
175183 } ) (
@@ -195,7 +203,12 @@ export const getPreview = (values: DatagridPreviewProps, isDarkMode: boolean): S
195203 const headerFilters = rowLayout ( {
196204 columnSize : "fixed" ,
197205 borders : true
198- } ) ( dropzone ( dropzone . placeholder ( "Place filter widget(s) here" ) ) ( values . filtersPlaceholder ) ) ;
206+ } ) (
207+ dropzone (
208+ dropzone . placeholder ( "Place filter widget(s) here" ) ,
209+ dropzone . hideDataSourceHeaderIf ( canHideDataSourceHeader )
210+ ) ( values . filtersPlaceholder )
211+ ) ;
199212
200213 const headers = rowLayout ( {
201214 columnSize : "fixed"
@@ -226,7 +239,12 @@ export const getPreview = (values: DatagridPreviewProps, isDarkMode: boolean): S
226239 } ) ( column . header ? column . header : "Header" )
227240 ) ,
228241 ...( hasColumns && values . columnsFilterable
229- ? [ dropzone ( dropzone . placeholder ( "Place filter widget here" ) ) ( column . filter ) ]
242+ ? [
243+ dropzone (
244+ dropzone . placeholder ( "Place filter widget here" ) ,
245+ dropzone . hideDataSourceHeaderIf ( canHideDataSourceHeader )
246+ ) ( column . filter )
247+ ]
230248 : [ ] )
231249 ) ;
232250 return values . columns . length > 0
@@ -242,12 +260,18 @@ export const getPreview = (values: DatagridPreviewProps, isDarkMode: boolean): S
242260 rowLayout ( {
243261 columnSize : "fixed" ,
244262 borders : true
245- } ) ( dropzone ( dropzone . placeholder ( "Empty list message: Place widgets here" ) ) ( values . emptyPlaceholder ) )
263+ } ) (
264+ dropzone (
265+ dropzone . placeholder ( "Empty list message: Place widgets here" ) ,
266+ dropzone . hideDataSourceHeaderIf ( canHideDataSourceHeader )
267+ ) ( values . emptyPlaceholder )
268+ )
246269 ]
247270 : [ ] ;
248271
249272 return container ( ) (
250273 titleHeader ,
274+ datasource ( values . datasource ) ( ) ,
251275 ...( values . showHeaderFilters && values . filterList . length > 0 ? [ headerFilters ] : [ ] ) ,
252276 headers ,
253277 ...Array . from ( { length : 5 } ) . map ( ( ) => columns ) ,
0 commit comments