Skip to content

Commit f1b465f

Browse files
committed
chore(datagrid-web): add data source panel and remove it from drop zones
1 parent 2ae5a4b commit f1b465f

File tree

1 file changed

+29
-5
lines changed

1 file changed

+29
-5
lines changed

packages/pluggableWidgets/datagrid-web/src/Datagrid.editorConfig.ts

Lines changed: 29 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import {
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

Comments
 (0)