feat(fe): support explicit relative flex ratios per grid column
This commit is contained in:
@@ -79,13 +79,13 @@ const filteredJobs = computed(() => {
|
|||||||
})
|
})
|
||||||
|
|
||||||
const shadowRunColumns: UiGridColumn[] = [
|
const shadowRunColumns: UiGridColumn[] = [
|
||||||
{ field: 'jobId', header: 'Job ID', width: 90, formatter: value => `#${value}` },
|
{ field: 'jobId', header: 'Job ID', minWidth: 90, flex: 1, formatter: value => `#${value}` },
|
||||||
{ field: 'modelName', header: 'Model Name', minWidth: 160 },
|
{ field: 'modelName', header: 'Model Name', minWidth: 200, flex: 3 },
|
||||||
{ field: 'windowStart', header: 'Window Period', minWidth: 180, formatter: (val, row) => `${val} ~ ${(row as any)?.windowEnd ?? ''}` },
|
{ field: 'windowStart', header: 'Window Period', minWidth: 220, flex: 3, formatter: (val, row) => `${val} ~ ${(row as any)?.windowEnd ?? ''}` },
|
||||||
{ field: 'tradingDays', header: 'Days', width: 80, formatter: val => `${val}d` },
|
{ field: 'tradingDays', header: 'Days', minWidth: 70, flex: 1, formatter: val => `${val}d` },
|
||||||
{ field: 'status', header: 'Status', width: 110, formatter: val => String(val).toUpperCase() },
|
{ field: 'status', header: 'Status', minWidth: 100, flex: 1, formatter: val => String(val).toUpperCase() },
|
||||||
{ field: 'progress', header: 'Progress', width: 100, formatter: val => `${val}%` },
|
{ field: 'progress', header: 'Progress', minWidth: 90, flex: 1, formatter: val => `${val}%` },
|
||||||
{ field: 'startedAt', header: 'Started At', minWidth: 160, formatter: val => val ? formatAsOf(String(val)) : '—' },
|
{ field: 'startedAt', header: 'Started At', minWidth: 160, flex: 2, formatter: val => val ? formatAsOf(String(val)) : '—' },
|
||||||
]
|
]
|
||||||
|
|
||||||
const handleRetry = () => {
|
const handleRetry = () => {
|
||||||
|
|||||||
@@ -50,6 +50,7 @@ export interface UiGridColumn {
|
|||||||
header: string
|
header: string
|
||||||
width?: number
|
width?: number
|
||||||
minWidth?: number
|
minWidth?: number
|
||||||
|
flex?: number
|
||||||
sortable?: boolean
|
sortable?: boolean
|
||||||
filterable?: boolean
|
filterable?: boolean
|
||||||
sensitive?: boolean
|
sensitive?: boolean
|
||||||
|
|||||||
@@ -12,8 +12,8 @@ const columnDefs = computed<ColDef[]>(() => props.columns.map(column => ({
|
|||||||
field: column.field,
|
field: column.field,
|
||||||
headerName: column.header,
|
headerName: column.header,
|
||||||
width: column.width,
|
width: column.width,
|
||||||
minWidth: column.minWidth ?? 100,
|
minWidth: column.minWidth ?? 80,
|
||||||
flex: column.width ? undefined : 1,
|
flex: column.flex ?? (column.width ? undefined : 1),
|
||||||
sortable: column.sortable ?? true,
|
sortable: column.sortable ?? true,
|
||||||
filter: column.filterable ?? true,
|
filter: column.filterable ?? true,
|
||||||
valueFormatter: column.formatter ? params => column.formatter?.(params.value, params.data) ?? '' : undefined
|
valueFormatter: column.formatter ? params => column.formatter?.(params.value, params.data) ?? '' : undefined
|
||||||
|
|||||||
Reference in New Issue
Block a user