mirror of
https://github.com/Krafpy/KSP-MGA-Planner.git
synced 2025-12-12 15:49:59 -08:00
Added checkbox to enable/disable max duration.
This commit is contained in:
31
dist/main/editor/editor.js
vendored
31
dist/main/editor/editor.js
vendored
@@ -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,
|
||||
|
||||
@@ -181,6 +181,7 @@
|
||||
<div class="controls">
|
||||
<input class="number-input" name="max-duration" id="max-duration" type="number" value="0" min="1">
|
||||
days
|
||||
<input name="use-max-duration" id="use-max-duration" type="checkbox">
|
||||
</div>
|
||||
</div>
|
||||
<div id="insertion-checkbox-container">
|
||||
|
||||
@@ -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();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user