web: ThermalUnits: onDataChanged

This commit is contained in:
2025-06-25 13:59:07 -05:00
parent 3bf028577e
commit eb3d39b1ab
5 changed files with 165 additions and 20 deletions

View File

@@ -13,6 +13,7 @@ import {
renameItemInObject,
} from "./commonOps";
import { ProfiledUnitsColumnSpec } from "../../components/CaseBuilder/ProfiledUnits";
import { ThermalUnitsColumnSpec } from "../../components/CaseBuilder/ThermalUnits";
const assertBusesNotEmpty = (
scenario: UnitCommitmentScenario,
@@ -109,6 +110,32 @@ export const changeProfiledUnitData = (
];
};
export const changeThermalUnitData = (
generator: string,
field: string,
newValueStr: string,
scenario: UnitCommitmentScenario,
): [UnitCommitmentScenario, ValidationError | null] => {
const [newGen, err] = changeData(
field,
newValueStr,
scenario.Generators[generator]!,
ThermalUnitsColumnSpec,
scenario,
);
if (err) return [scenario, err];
return [
{
...scenario,
Generators: {
...scenario.Generators,
[generator]: newGen,
} as Generators,
},
null,
];
};
export const deleteGenerator = (
name: string,
scenario: UnitCommitmentScenario,