diff --git a/web/src/components/CaseBuilder/ThermalUnits.test.ts b/web/src/components/CaseBuilder/ThermalUnits.test.ts index b89425e..010d9b3 100644 --- a/web/src/components/CaseBuilder/ThermalUnits.test.ts +++ b/web/src/components/CaseBuilder/ThermalUnits.test.ts @@ -36,7 +36,7 @@ test("generateTableColumns", () => { headerSort: false, headerWordWrap: true, hozAlign: "left", - minWidth: 75, + minWidth: 80, resizable: false, title: "1", }); diff --git a/web/src/components/Common/Forms/DataTable.tsx b/web/src/components/Common/Forms/DataTable.tsx index 9ff8cb9..e246393 100644 --- a/web/src/components/Common/Forms/DataTable.tsx +++ b/web/src/components/Common/Forms/DataTable.tsx @@ -12,7 +12,11 @@ import { } from "tabulator-tables"; import { ValidationError } from "../../../core/Data/validate"; import Papa from "papaparse"; -import { parseBool, parseNumber } from "../../../core/Operations/commonOps"; +import { + parseBool, + parseNullableNumber, + parseNumber, +} from "../../../core/Operations/commonOps"; import { UnitCommitmentScenario } from "../../../core/Data/types"; export interface ColumnSpec { @@ -243,6 +247,12 @@ export const parseCsv = ( data[name][spec.title] = val; break; } + case "number?": { + const [val, err] = parseNullableNumber(row[spec.title]); + if (err) return [null, { message: err.message + rowRef }]; + data[name][spec.title] = val; + break; + } case "busRef": const busName = row[spec.title]; if (!(busName in scenario.Buses)) { @@ -421,10 +431,10 @@ const DataTable = (props: DataTableProps) => { // Restore active cell selection if (activeCell) { - const cell = tableRef.current - .getRowFromPosition(activeRowPosition!!) - .getCell(activeField!!); - cell.edit(); + tableRef.current + ?.getRowFromPosition(activeRowPosition!!) + ?.getCell(activeField!!) + ?.edit(); } // Update columns