diff --git a/dist/main/solvers/trajectory.js b/dist/main/solvers/trajectory.js index 2fe1232..e2385c1 100644 --- a/dist/main/solvers/trajectory.js +++ b/dist/main/solvers/trajectory.js @@ -269,8 +269,7 @@ export class Trajectory { else { ejAngleLI.hidden = true; } - const date = depDate.dateSeconds + dateEMT.dateSeconds; - resultItems.dateSpan.onclick = onDateClick(date); + resultItems.dateSpan.onclick = onDateClick(dateEMT.toUT(depDate).dateSeconds); resultItems.flybyDiv.hidden = true; resultItems.maneuverDiv.hidden = false; } @@ -283,10 +282,8 @@ export class Trajectory { resultItems.periAltitudeSpan.innerHTML = details.periAltitude.toFixed(0); resultItems.inclinationSpan.innerHTML = details.inclinationDeg.toFixed(0); resultItems.flybyNumberSpan.innerHTML = (option.origin + 1).toString(); - let enterDate = depDate.dateSeconds + startDateEMT.dateSeconds; - resultItems.startDateSpan.onclick = onDateClick(enterDate); - let exitDate = depDate.dateSeconds + endDateEMT.dateSeconds; - resultItems.endDateSpan.onclick = onDateClick(exitDate); + resultItems.startDateSpan.onclick = onDateClick(startDateEMT.toUT(depDate).dateSeconds); + resultItems.endDateSpan.onclick = onDateClick(endDateEMT.toUT(depDate).dateSeconds); resultItems.flybyDiv.hidden = false; resultItems.maneuverDiv.hidden = true; } diff --git a/dist/main/time/basetime.js b/dist/main/time/basetime.js index 0ab9063..e40b14a 100644 --- a/dist/main/time/basetime.js +++ b/dist/main/time/basetime.js @@ -27,6 +27,12 @@ export class BaseKSPTime { return `T+ ${year - 1}y - ${day - 1}d - ${hmsStr}`; } } + toUT(from) { + if (typeof from == "number") + return new BaseKSPTime(from + this._exactDate, this.config); + else + return new BaseKSPTime(from.dateSeconds + this._exactDate, this.config); + } get dateSeconds() { return this._exactDate; } diff --git a/dist/main/time/realtime.js b/dist/main/time/realtime.js index eb23c40..09cefa7 100644 --- a/dist/main/time/realtime.js +++ b/dist/main/time/realtime.js @@ -43,6 +43,12 @@ export class RealKSPTime { return `T+ ${year}y - ${day}d - ${hmsStr}`; } } + toUT(from) { + if (typeof from == "number") + return new RealKSPTime(from + this._exactDate, this.config); + else + return new RealKSPTime(from.dateSeconds + this._exactDate, this.config); + } get dateSeconds() { return this._exactDate; } diff --git a/src/main/solvers/trajectory.ts b/src/main/solvers/trajectory.ts index 17c7e8d..efd179d 100644 --- a/src/main/solvers/trajectory.ts +++ b/src/main/solvers/trajectory.ts @@ -380,8 +380,7 @@ export class Trajectory { ejAngleLI.hidden = true; } - const date = depDate.dateSeconds + dateEMT.dateSeconds; - resultItems.dateSpan.onclick = onDateClick(date); + resultItems.dateSpan.onclick = onDateClick(dateEMT.toUT(depDate).dateSeconds); resultItems.flybyDiv.hidden = true; resultItems.maneuverDiv.hidden = false; @@ -397,10 +396,8 @@ export class Trajectory { resultItems.inclinationSpan.innerHTML = details.inclinationDeg.toFixed(0); resultItems.flybyNumberSpan.innerHTML = (option.origin + 1).toString(); - let enterDate = depDate.dateSeconds + startDateEMT.dateSeconds; - resultItems.startDateSpan.onclick = onDateClick(enterDate); - let exitDate = depDate.dateSeconds + endDateEMT.dateSeconds; - resultItems.endDateSpan.onclick = onDateClick(exitDate); + resultItems.startDateSpan.onclick = onDateClick(startDateEMT.toUT(depDate).dateSeconds); + resultItems.endDateSpan.onclick = onDateClick(endDateEMT.toUT(depDate).dateSeconds); resultItems.flybyDiv.hidden = false; resultItems.maneuverDiv.hidden = true; diff --git a/src/main/time/basetime.ts b/src/main/time/basetime.ts index 5de52bb..bcd5a42 100644 --- a/src/main/time/basetime.ts +++ b/src/main/time/basetime.ts @@ -29,6 +29,13 @@ export class BaseKSPTime implements IKSPTime { } } + public toUT(from: number | IKSPTime): IKSPTime { + if(typeof from == "number") + return new BaseKSPTime(from + this._exactDate, this.config); + else + return new BaseKSPTime(from.dateSeconds + this._exactDate, this.config); + } + public get dateSeconds(){ return this._exactDate; } diff --git a/src/main/time/realtime.ts b/src/main/time/realtime.ts index 9e61092..4d66ebf 100644 --- a/src/main/time/realtime.ts +++ b/src/main/time/realtime.ts @@ -44,6 +44,13 @@ export class RealKSPTime implements IKSPTime { } } + public toUT(from: number | IKSPTime): IKSPTime { + if(typeof from == "number") + return new RealKSPTime(from + this._exactDate, this.config); + else + return new RealKSPTime(from.dateSeconds + this._exactDate, this.config); + } + public get dateSeconds(){ return this._exactDate; } diff --git a/src/types.d.ts b/src/types.d.ts index ed9eeff..40f0430 100644 --- a/src/types.d.ts +++ b/src/types.d.ts @@ -143,6 +143,7 @@ interface IKSPTime { public displayYDHMS: DateYDH; public readonly defaultDate: number; public stringYDHMS(precision: "h" | "hm" | "hms", display: "emt" | "ut"): string; + public toUT(from: IKSPTime | number): IKSPTime; } type MessageToWorker =