Added checkbox to enable/disable max duration.

This commit is contained in:
Krafpy
2023-05-25 19:52:21 +02:00
parent 7aee9ea9c5
commit f13e8c0963
3 changed files with 43 additions and 23 deletions

View File

@@ -180,11 +180,6 @@ export async function initEditorWithSystem(systems: SolarSystemData[], systemInd
timeRangeStart.setToDefault();
timeRangeEnd.setToDefault();
// Max duration input
const maxDuration = new IntegerInput("max-duration");
maxDuration.setMinMax(1, Infinity);
maxDuration.value = config.editor.defaultMaxDuration;
// Numerical inputs
const depAltitude = new IntegerInput("start-altitude");
const destAltitude = new IntegerInput("end-altitude");
@@ -197,6 +192,18 @@ export async function initEditorWithSystem(systems: SolarSystemData[], systemInd
depAltitude.value = config.editor.defaultAltitude;
destAltitude.value = config.editor.defaultAltitude;
// Max duration input
const maxDuration = new IntegerInput("max-duration");
maxDuration.setMinMax(1, Infinity);
maxDuration.value = config.editor.defaultMaxDuration;
const useMaxDuration = document.getElementById("use-max-duration") as HTMLInputElement;
const updateUseMaxDuration = () => {
maxDuration.element.disabled = !useMaxDuration.checked;
};
useMaxDuration.onchange = updateUseMaxDuration;
updateUseMaxDuration();
// No insertion burn checkbox
const noInsertionBox = document.getElementById("insertion-checkbox") as HTMLInputElement;
noInsertionBox.checked = false;
@@ -330,14 +337,17 @@ export async function initEditorWithSystem(systems: SolarSystemData[], systemInd
throw new Error("Invalid duration limit.");
}
let maxDurationSeconds: number;
if(config.time.type == "base") {
const {hoursPerDay} = config.time;
const secondsPerDay = hoursPerDay * 3600;
maxDurationSeconds = maxDuration.value * secondsPerDay;
} else {
maxDurationSeconds = maxDuration.value * 24*3600;
let maxDurationSeconds = Infinity;
if(useMaxDuration.checked){
if(config.time.type == "base") {
const {hoursPerDay} = config.time;
const secondsPerDay = hoursPerDay * 3600;
maxDurationSeconds = maxDuration.value * secondsPerDay;
} else {
maxDurationSeconds = maxDuration.value * 24*3600;
}
}
console.log(maxDurationSeconds);
resetFoundTrajectory();