diff --git a/dist/main/editor/editor.js b/dist/main/editor/editor.js index 6d5f976..fcdb791 100644 --- a/dist/main/editor/editor.js +++ b/dist/main/editor/editor.js @@ -136,9 +136,6 @@ export async function initEditorWithSystem(systems, systemIndex) { const timeRangeEnd = new TimeSelector("end", config); timeRangeStart.setToDefault(); timeRangeEnd.setToDefault(); - const maxDuration = new IntegerInput("max-duration"); - maxDuration.setMinMax(1, Infinity); - maxDuration.value = config.editor.defaultMaxDuration; const depAltitude = new IntegerInput("start-altitude"); const destAltitude = new IntegerInput("end-altitude"); const updateAltitudeRange = (input, body) => { @@ -147,6 +144,15 @@ export async function initEditorWithSystem(systems, systemIndex) { }; depAltitude.value = config.editor.defaultAltitude; destAltitude.value = config.editor.defaultAltitude; + const maxDuration = new IntegerInput("max-duration"); + maxDuration.setMinMax(1, Infinity); + maxDuration.value = config.editor.defaultMaxDuration; + const useMaxDuration = document.getElementById("use-max-duration"); + const updateUseMaxDuration = () => { + maxDuration.element.disabled = !useMaxDuration.checked; + }; + useMaxDuration.onchange = updateUseMaxDuration; + updateUseMaxDuration(); const noInsertionBox = document.getElementById("insertion-checkbox"); noInsertionBox.checked = false; const customSequence = document.getElementById("custom-sequence"); @@ -253,15 +259,18 @@ export async function initEditorWithSystem(systems, systemIndex) { if (!maxDuration.validate()) { throw new Error("Invalid duration limit."); } - let maxDurationSeconds; - 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(); const userSettings = { startDate: startDate, diff --git a/index.html b/index.html index 93defd7..91eea00 100644 --- a/index.html +++ b/index.html @@ -181,6 +181,7 @@
days +
diff --git a/src/main/editor/editor.ts b/src/main/editor/editor.ts index b9f02b8..77bdd5b 100644 --- a/src/main/editor/editor.ts +++ b/src/main/editor/editor.ts @@ -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();