Update various improvements and minor changes
This commit is contained in:
@@ -54,6 +54,54 @@ export const useAppState = () => {
|
||||
}
|
||||
}
|
||||
|
||||
// Validate numeric fields and replace empty/invalid values with defaults
|
||||
const validateNumericField = (value: any, defaultValue: any): any => {
|
||||
if (value === '' || value === null || value === undefined || isNaN(Number(value))) {
|
||||
return defaultValue;
|
||||
}
|
||||
return value;
|
||||
};
|
||||
|
||||
// Validate basic pkParams
|
||||
if (migratedPkParams.basic) {
|
||||
migratedPkParams.basic.eliminationHalfLife = validateNumericField(
|
||||
migratedPkParams.basic.eliminationHalfLife,
|
||||
defaults.pkParams.basic.eliminationHalfLife
|
||||
);
|
||||
migratedPkParams.basic.bodyWeight = validateNumericField(
|
||||
migratedPkParams.basic.bodyWeight,
|
||||
defaults.pkParams.basic.bodyWeight
|
||||
);
|
||||
}
|
||||
|
||||
// Validate advanced pkParams
|
||||
if (migratedPkParams.advanced) {
|
||||
migratedPkParams.advanced.conversionEfficiency = validateNumericField(
|
||||
migratedPkParams.advanced.conversionEfficiency,
|
||||
defaults.pkParams.advanced.conversionEfficiency
|
||||
);
|
||||
migratedPkParams.advanced.bioavailability = validateNumericField(
|
||||
migratedPkParams.advanced.bioavailability,
|
||||
defaults.pkParams.advanced.bioavailability
|
||||
);
|
||||
migratedPkParams.advanced.customVolumeOfDistribution = validateNumericField(
|
||||
migratedPkParams.advanced.customVolumeOfDistribution,
|
||||
defaults.pkParams.advanced.customVolumeOfDistribution
|
||||
);
|
||||
migratedPkParams.advanced.absorptionDelay = validateNumericField(
|
||||
migratedPkParams.advanced.absorptionDelay,
|
||||
defaults.pkParams.advanced.absorptionDelay
|
||||
);
|
||||
migratedPkParams.advanced.absorptionRateConstant = validateNumericField(
|
||||
migratedPkParams.advanced.absorptionRateConstant,
|
||||
defaults.pkParams.advanced.absorptionRateConstant
|
||||
);
|
||||
migratedPkParams.advanced.mealDelayFactor = validateNumericField(
|
||||
migratedPkParams.advanced.mealDelayFactor,
|
||||
defaults.pkParams.advanced.mealDelayFactor
|
||||
);
|
||||
}
|
||||
|
||||
setAppState({
|
||||
...defaults,
|
||||
...parsedState,
|
||||
|
||||
Reference in New Issue
Block a user