diff --git a/app/client/src/mockResponses/WidgetConfigResponse.tsx b/app/client/src/mockResponses/WidgetConfigResponse.tsx index 7635dbb833ce..762cc1ccda4b 100644 --- a/app/client/src/mockResponses/WidgetConfigResponse.tsx +++ b/app/client/src/mockResponses/WidgetConfigResponse.tsx @@ -174,6 +174,7 @@ const WidgetConfigResponse: WidgetConfigReducerState = { TABLE_WIDGET: { rows: 7 * GRID_DENSITY_MIGRATION_V1, columns: 9 * GRID_DENSITY_MIGRATION_V1, + defaultSelectedRow: "0", label: "Data", widgetName: "Table", searchKey: "", diff --git a/app/client/src/utils/WidgetPropsUtils.tsx b/app/client/src/utils/WidgetPropsUtils.tsx index 7fdf60e6ff7c..9645ec91ea63 100644 --- a/app/client/src/utils/WidgetPropsUtils.tsx +++ b/app/client/src/utils/WidgetPropsUtils.tsx @@ -819,6 +819,11 @@ const transformDSL = (currentDSL: ContainerWidgetProps) => { if (currentDSL.version === 31) { currentDSL = migrateIsDisabledToButtonColumn(currentDSL); + currentDSL.version = 31; + } + + if (currentDSL.version === 31) { + currentDSL = migrateTableDefaultSelectedRow(currentDSL); currentDSL.version = LATEST_PAGE_VERSION; } @@ -851,6 +856,20 @@ const addIsDisabledToButtonColumn = ( return currentDSL; }; +export const migrateTableDefaultSelectedRow = ( + currentDSL: ContainerWidgetProps, +) => { + if (currentDSL.type === WidgetTypes.TABLE_WIDGET) { + if (!currentDSL.defaultSelectedRow) currentDSL.defaultSelectedRow = "0"; + } + if (currentDSL.children && currentDSL.children.length) { + currentDSL.children = currentDSL.children.map((child) => + migrateTableDefaultSelectedRow(child), + ); + } + return currentDSL; +}; + const migrateIsDisabledToButtonColumn = ( currentDSL: ContainerWidgetProps, ) => { diff --git a/app/client/src/widgets/TableWidget/TableWidgetConstants.ts b/app/client/src/widgets/TableWidget/TableWidgetConstants.ts index d60b6f442569..7c86211f023c 100644 --- a/app/client/src/widgets/TableWidget/TableWidgetConstants.ts +++ b/app/client/src/widgets/TableWidget/TableWidgetConstants.ts @@ -14,7 +14,7 @@ export interface TableWidgetProps extends WidgetProps, WithMeta, TableStyles { label: string; searchText: string; defaultSearchText: string; - defaultSelectedRow?: number | number[]; + defaultSelectedRow?: number | number[] | string; tableData: Array>; onPageChange?: string; pageSize: number;