Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Develop #1006

Merged
merged 3 commits into from
Feb 1, 2025
Merged

Develop #1006

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 6 additions & 36 deletions src/plugins/settings-menu/settings-menu.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import settingsPng from '@public/img/icons/settings.png';
import { KeepTrackPlugin } from '../KeepTrackPlugin';
import { SoundNames } from '../sounds/SoundNames';
import { TimeMachine } from '../time-machine/time-machine';
import { SettingsManager } from '@app/settings/settings';

/**
* /////////////////////////////////////////////////////////////////////////////
Expand Down Expand Up @@ -356,7 +357,7 @@ export class SettingsMenuPlugin extends KeepTrackPlugin {
cb: () => {
getEl('settings-form').addEventListener('change', SettingsMenuPlugin.onFormChange_);
getEl('settings-form').addEventListener('submit', SettingsMenuPlugin.onSubmit_);
getEl('settings-reset').addEventListener('click', SettingsMenuPlugin.resetToDefaults_);
getEl('settings-reset').addEventListener('click', SettingsMenuPlugin.resetToDefaults);

const colorPalette = [
// Reds
Expand Down Expand Up @@ -521,37 +522,6 @@ export class SettingsMenuPlugin extends KeepTrackPlugin {
// (<HTMLInputElement>getEl('satFieldOfView')).value = settingsManager.selectedSatFOV.toString();
}

static preserveSettings() {
PersistenceManager.getInstance().saveItem(StorageKey.SETTINGS_LEO_SATS, settingsManager.isShowLeoSats.toString());
PersistenceManager.getInstance().saveItem(StorageKey.SETTINGS_STARLINK_SATS, settingsManager.isShowStarlinkSats.toString());
PersistenceManager.getInstance().saveItem(StorageKey.SETTINGS_HEO_SATS, settingsManager.isShowHeoSats.toString());
PersistenceManager.getInstance().saveItem(StorageKey.SETTINGS_MEO_SATS, settingsManager.isShowMeoSats.toString());
PersistenceManager.getInstance().saveItem(StorageKey.SETTINGS_GEO_SATS, settingsManager.isShowGeoSats.toString());
PersistenceManager.getInstance().saveItem(StorageKey.SETTINGS_PAYLOADS, settingsManager.isShowPayloads.toString());
PersistenceManager.getInstance().saveItem(StorageKey.SETTINGS_ROCKET_BODIES, settingsManager.isShowRocketBodies.toString());
PersistenceManager.getInstance().saveItem(StorageKey.SETTINGS_DEBRIS, settingsManager.isShowDebris.toString());
PersistenceManager.getInstance().saveItem(StorageKey.SETTINGS_AGENCIES, settingsManager.isShowAgencies.toString());
PersistenceManager.getInstance().saveItem(StorageKey.SETTINGS_DRAW_CAMERA_WIDGET, settingsManager.drawCameraWidget.toString());
PersistenceManager.getInstance().saveItem(StorageKey.SETTINGS_DRAW_ORBITS, settingsManager.isDrawOrbits.toString());
PersistenceManager.getInstance().saveItem(StorageKey.SETTINGS_DRAW_TRAILING_ORBITS, settingsManager.isDrawTrailingOrbits.toString());
PersistenceManager.getInstance().saveItem(StorageKey.SETTINGS_DRAW_ECF, settingsManager.isOrbitCruncherInEcf.toString());
PersistenceManager.getInstance().saveItem(StorageKey.SETTINGS_DRAW_IN_COVERAGE_LINES, settingsManager.isDrawInCoverageLines.toString());
PersistenceManager.getInstance().saveItem(StorageKey.SETTINGS_DRAW_SUN, settingsManager.isDrawSun.toString());
PersistenceManager.getInstance().saveItem(StorageKey.SETTINGS_DRAW_BLACK_EARTH, settingsManager.isBlackEarth.toString());
PersistenceManager.getInstance().saveItem(StorageKey.SETTINGS_DRAW_ATMOSPHERE, settingsManager.isDrawAtmosphere.toString());
PersistenceManager.getInstance().saveItem(StorageKey.SETTINGS_DRAW_AURORA, settingsManager.isDrawAurora.toString());
PersistenceManager.getInstance().saveItem(StorageKey.SETTINGS_DRAW_MILKY_WAY, settingsManager.isDrawMilkyWay.toString());
PersistenceManager.getInstance().saveItem(StorageKey.SETTINGS_GRAY_SKYBOX, settingsManager.isGraySkybox.toString());
PersistenceManager.getInstance().saveItem(StorageKey.SETTINGS_ECI_ON_HOVER, settingsManager.isEciOnHover.toString());
PersistenceManager.getInstance().saveItem(StorageKey.SETTINGS_HOS, settingsManager.colors.transparent[3] === 0 ? 'true' : 'false');
PersistenceManager.getInstance().saveItem(StorageKey.SETTINGS_CONFIDENCE_LEVELS, settingsManager.isShowConfidenceLevels.toString());
PersistenceManager.getInstance().saveItem(StorageKey.SETTINGS_DEMO_MODE, settingsManager.isDemoModeOn.toString());
PersistenceManager.getInstance().saveItem(StorageKey.SETTINGS_SAT_LABEL_MODE, settingsManager.isSatLabelModeOn.toString());
PersistenceManager.getInstance().saveItem(StorageKey.SETTINGS_FREEZE_PROP_RATE_ON_DRAG, settingsManager.isFreezePropRateOnDrag.toString());
PersistenceManager.getInstance().saveItem(StorageKey.SETTINGS_DISABLE_TIME_MACHINE_TOASTS, settingsManager.isDisableTimeMachineToasts.toString());
PersistenceManager.getInstance().saveItem(StorageKey.SETTINGS_SEARCH_LIMIT, settingsManager.searchLimit.toString());
}

private onColorSelected_(context: ColorPick, colorStr: string) {
if (typeof context === 'undefined' || context === null) {
throw new Error('context is undefined');
Expand Down Expand Up @@ -632,7 +602,7 @@ export class SettingsMenuPlugin extends KeepTrackPlugin {
}
}

private static resetToDefaults_() {
static resetToDefaults() {
keepTrackApi.getSoundManager().play(SoundNames.BUTTON_CLICK);
settingsManager.isShowLeoSats = true;
settingsManager.isShowHeoSats = true;
Expand All @@ -643,7 +613,7 @@ export class SettingsMenuPlugin extends KeepTrackPlugin {
settingsManager.isShowDebris = true;
settingsManager.isShowAgencies = false;
settingsManager.isDrawOrbits = true;
settingsManager.drawCameraWidget = true;
settingsManager.drawCameraWidget = false;
settingsManager.isDrawTrailingOrbits = false;
settingsManager.isOrbitCruncherInEcf = false;
settingsManager.isDrawInCoverageLines = true;
Expand All @@ -662,7 +632,7 @@ export class SettingsMenuPlugin extends KeepTrackPlugin {
settingsManager.isFreezePropRateOnDrag = false;
settingsManager.isDisableTimeMachineToasts = false;
settingsManager.searchLimit = 600;
SettingsMenuPlugin.preserveSettings();
SettingsManager.preserveSettings();
SettingsMenuPlugin.syncOnLoad();
}

Expand Down Expand Up @@ -798,7 +768,7 @@ export class SettingsMenuPlugin extends KeepTrackPlugin {

colorSchemeManagerInstance.setColorScheme(colorSchemeManagerInstance.currentColorScheme, true);

SettingsMenuPlugin.preserveSettings();
SettingsManager.preserveSettings();
}
}

35 changes: 33 additions & 2 deletions src/settings/settings.ts
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,37 @@ export class SettingsManager {
calculator: true,
};

static preserveSettings() {
PersistenceManager.getInstance().saveItem(StorageKey.SETTINGS_LEO_SATS, settingsManager.isShowLeoSats.toString());
PersistenceManager.getInstance().saveItem(StorageKey.SETTINGS_STARLINK_SATS, settingsManager.isShowStarlinkSats.toString());
PersistenceManager.getInstance().saveItem(StorageKey.SETTINGS_HEO_SATS, settingsManager.isShowHeoSats.toString());
PersistenceManager.getInstance().saveItem(StorageKey.SETTINGS_MEO_SATS, settingsManager.isShowMeoSats.toString());
PersistenceManager.getInstance().saveItem(StorageKey.SETTINGS_GEO_SATS, settingsManager.isShowGeoSats.toString());
PersistenceManager.getInstance().saveItem(StorageKey.SETTINGS_PAYLOADS, settingsManager.isShowPayloads.toString());
PersistenceManager.getInstance().saveItem(StorageKey.SETTINGS_ROCKET_BODIES, settingsManager.isShowRocketBodies.toString());
PersistenceManager.getInstance().saveItem(StorageKey.SETTINGS_DEBRIS, settingsManager.isShowDebris.toString());
PersistenceManager.getInstance().saveItem(StorageKey.SETTINGS_AGENCIES, settingsManager.isShowAgencies.toString());
PersistenceManager.getInstance().saveItem(StorageKey.SETTINGS_DRAW_CAMERA_WIDGET, settingsManager.drawCameraWidget.toString());
PersistenceManager.getInstance().saveItem(StorageKey.SETTINGS_DRAW_ORBITS, settingsManager.isDrawOrbits.toString());
PersistenceManager.getInstance().saveItem(StorageKey.SETTINGS_DRAW_TRAILING_ORBITS, settingsManager.isDrawTrailingOrbits.toString());
PersistenceManager.getInstance().saveItem(StorageKey.SETTINGS_DRAW_ECF, settingsManager.isOrbitCruncherInEcf.toString());
PersistenceManager.getInstance().saveItem(StorageKey.SETTINGS_DRAW_IN_COVERAGE_LINES, settingsManager.isDrawInCoverageLines.toString());
PersistenceManager.getInstance().saveItem(StorageKey.SETTINGS_DRAW_SUN, settingsManager.isDrawSun.toString());
PersistenceManager.getInstance().saveItem(StorageKey.SETTINGS_DRAW_BLACK_EARTH, settingsManager.isBlackEarth.toString());
PersistenceManager.getInstance().saveItem(StorageKey.SETTINGS_DRAW_ATMOSPHERE, settingsManager.isDrawAtmosphere.toString());
PersistenceManager.getInstance().saveItem(StorageKey.SETTINGS_DRAW_AURORA, settingsManager.isDrawAurora.toString());
PersistenceManager.getInstance().saveItem(StorageKey.SETTINGS_DRAW_MILKY_WAY, settingsManager.isDrawMilkyWay.toString());
PersistenceManager.getInstance().saveItem(StorageKey.SETTINGS_GRAY_SKYBOX, settingsManager.isGraySkybox.toString());
PersistenceManager.getInstance().saveItem(StorageKey.SETTINGS_ECI_ON_HOVER, settingsManager.isEciOnHover.toString());
PersistenceManager.getInstance().saveItem(StorageKey.SETTINGS_HOS, settingsManager.colors.transparent[3] === 0 ? 'true' : 'false');
PersistenceManager.getInstance().saveItem(StorageKey.SETTINGS_CONFIDENCE_LEVELS, settingsManager.isShowConfidenceLevels.toString());
PersistenceManager.getInstance().saveItem(StorageKey.SETTINGS_DEMO_MODE, settingsManager.isDemoModeOn.toString());
PersistenceManager.getInstance().saveItem(StorageKey.SETTINGS_SAT_LABEL_MODE, settingsManager.isSatLabelModeOn.toString());
PersistenceManager.getInstance().saveItem(StorageKey.SETTINGS_FREEZE_PROP_RATE_ON_DRAG, settingsManager.isFreezePropRateOnDrag.toString());
PersistenceManager.getInstance().saveItem(StorageKey.SETTINGS_DISABLE_TIME_MACHINE_TOASTS, settingsManager.isDisableTimeMachineToasts.toString());
PersistenceManager.getInstance().saveItem(StorageKey.SETTINGS_SEARCH_LIMIT, settingsManager.searchLimit.toString());
}

colors: ColorSchemeColorMap;

/** Ensures no html is injected into the page */
Expand Down Expand Up @@ -1198,8 +1229,8 @@ export class SettingsManager {
* Load Order:
* URL Params > Local Storage > Default
*/
this.loadOverrides_(settingsOverride);
this.loadPersistedSettings();
this.loadOverrides_(settingsOverride);

const params = this.loadOverridesFromUrl_();

Expand Down Expand Up @@ -1469,7 +1500,7 @@ export class SettingsManager {
this.externalTLEs = decodeURIComponent(val);
break;
case 'jsc':
this.isEnableJscCatalog = true;
this.isEnableJscCatalog = val === 'true';
break;
case 'sat':
keepTrackApi.register({
Expand Down
3 changes: 3 additions & 0 deletions src/singletons/camera-control-widget.ts
Original file line number Diff line number Diff line change
Expand Up @@ -195,6 +195,9 @@ export class CameraControlWidget {
}

private draw() {
if (!settingsManager.drawCameraWidget) {
return;
}
this.ctx.clearRect(0, 0, this.canvas.width, this.canvas.height);

const camera = keepTrackApi.getMainCamera();
Expand Down
2 changes: 1 addition & 1 deletion test/environment/TLE2.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
[{"TLE1":"1 00005U 58002B 23102.57063344 .00000078 00000+0 84911-4 0 9991","TLE2":"2 00005 34.2581 297.5582 1847009 304.1004 39.7575 10.85078443317039","payload":"Vanguard Test Satellite H","Mass":"2","vmag":9.5,"status":"In Orbit","launchDate":"1958 Mar 17","owner":"NRL","country":"US","manufacturer":"NRL","bus":"NRL 6\"","launchMass":"2","dryMass":"2","length":"0.1","diameter":"0.1","span":"0.1","shape":"Sphere","name":"VANGUARD 1","launchSite":"AFETR","launchVehicle":"U","type":1,"rcs":"0.1220"},{"TLE1":"1 00011U 59001A 23102.52381981 .00002247 00000+0 11744-2 0 9995","TLE2":"2 00011 32.8738 149.9410 1462946 303.7300 43.2162 11.86962895397182","payload":"Cloud cover satellite","Mass":"10","vmag":7.5,"name":"VANGUARD 2","country":"US","launchSite":"AFETR","launchVehicle":"U","launchDate":"1959 Feb 17","type":1,"rcs":"0.3931","status":"In Orbit","owner":"BSC","manufacturer":"NRL","bus":"NRL 20\"","launchMass":"10","dryMass":"10","length":"0.5","diameter":"0.5","span":"0.5","shape":"Sphere"},{"TLE1":"1 00012U 59001B 23102.10452989 .00002633 00000+0 15673-2 0 9991","TLE2":"2 00012 32.9014 350.5476 1660406 86.2571 292.5454 11.45391638397850","payload":"GRC 33-KS-2800 175-15-21","Mass":"195","vmag":6.5,"status":"In Orbit","launchDate":"1959 Feb 17","owner":"BSC","country":"US","manufacturer":"GCR","bus":"33-KS-2800","launchMass":"195","dryMass":"22","length":"1.5","diameter":"0.7","span":"1.5","shape":"Cyl","name":"VANGUARD R/B","launchSite":"AFETR","launchVehicle":"U","type":2,"rcs":"0.5266"},{"TLE1":"1 00016U 58002A 23102.24264491 .00000023 00000+0 39726-5 0 9998","TLE2":"2 00016 34.2783 63.7306 2025681 255.9344 80.9042 10.48822741566857","payload":"GRC 33-KS-2800 144-79-22","Mass":"195","vmag":7,"status":"In Orbit","launchDate":"1958 Mar 17","owner":"NRL","country":"US","manufacturer":"GCR","bus":"33-KS-2800","launchMass":"195","dryMass":"22","length":"1.5","diameter":"0.7","span":"1.5","shape":"Cyl","name":"VANGUARD R/B","launchSite":"AFETR","launchVehicle":"U","type":2,"rcs":"0.2282"},{"TLE1":"1 00020U 59007A 23102.46762352 .00003540 00000+0 14326-2 0 9995","TLE2":"2 00020 33.3469 114.0738 1659263 328.5202 22.5716 11.57283969349718","payload":"Magne-Ray satellite","Mass":"23","vmag":7,"status":"Attached in Orbit","launchDate":"1959 Sep 18","owner":"GSFC","country":"US","manufacturer":"NRL","bus":"NRL 20\"","launchMass":"23","dryMass":"23","length":"1.2","diameter":"0.5","span":"1.2","shape":"Sphere + Ant","name":"VANGUARD 3","launchSite":"AFETR","launchVehicle":"U","type":1,"rcs":"0.6412"},{"TLE1":"1 00022U 59009A 23102.83836663 .00005260 00000+0 37193-3 0 9996","TLE2":"2 00022 50.2818 302.6617 0128350 239.4768 119.3460 14.99973922379472","payload":"NASA S-1A","Mass":"41","vmag":7.5,"name":"EXPLORER 7","country":"US","launchSite":"AFETR","launchVehicle":"U","launchDate":"1959 Oct 13","type":1,"rcs":"0.5003","status":"In Orbit","owner":"GSFC","manufacturer":"ABMA","bus":"S-1","launchMass":"41","dryMass":"41","length":"0.8","diameter":"0.8","span":"7.0","shape":"DCone + 2 Ant"}]
[{"tle1":"1 00005U 58002B 23102.57063344 .00000078 00000+0 84911-4 0 9991","tle2":"2 00005 34.2581 297.5582 1847009 304.1004 39.7575 10.85078443317039","payload":"Vanguard Test Satellite H","Mass":"2","vmag":9.5,"status":"In Orbit","launchDate":"1958 Mar 17","owner":"NRL","country":"US","manufacturer":"NRL","bus":"NRL 6\"","launchMass":"2","dryMass":"2","length":"0.1","diameter":"0.1","span":"0.1","shape":"Sphere","name":"VANGUARD 1","launchSite":"AFETR","launchVehicle":"U","type":1,"rcs":"0.1220"},{"tle1":"1 00011U 59001A 23102.52381981 .00002247 00000+0 11744-2 0 9995","tle2":"2 00011 32.8738 149.9410 1462946 303.7300 43.2162 11.86962895397182","payload":"Cloud cover satellite","Mass":"10","vmag":7.5,"name":"VANGUARD 2","country":"US","launchSite":"AFETR","launchVehicle":"U","launchDate":"1959 Feb 17","type":1,"rcs":"0.3931","status":"In Orbit","owner":"BSC","manufacturer":"NRL","bus":"NRL 20\"","launchMass":"10","dryMass":"10","length":"0.5","diameter":"0.5","span":"0.5","shape":"Sphere"},{"tle1":"1 00012U 59001B 23102.10452989 .00002633 00000+0 15673-2 0 9991","tle2":"2 00012 32.9014 350.5476 1660406 86.2571 292.5454 11.45391638397850","payload":"GRC 33-KS-2800 175-15-21","Mass":"195","vmag":6.5,"status":"In Orbit","launchDate":"1959 Feb 17","owner":"BSC","country":"US","manufacturer":"GCR","bus":"33-KS-2800","launchMass":"195","dryMass":"22","length":"1.5","diameter":"0.7","span":"1.5","shape":"Cyl","name":"VANGUARD R/B","launchSite":"AFETR","launchVehicle":"U","type":2,"rcs":"0.5266"},{"tle1":"1 00016U 58002A 23102.24264491 .00000023 00000+0 39726-5 0 9998","tle2":"2 00016 34.2783 63.7306 2025681 255.9344 80.9042 10.48822741566857","payload":"GRC 33-KS-2800 144-79-22","Mass":"195","vmag":7,"status":"In Orbit","launchDate":"1958 Mar 17","owner":"NRL","country":"US","manufacturer":"GCR","bus":"33-KS-2800","launchMass":"195","dryMass":"22","length":"1.5","diameter":"0.7","span":"1.5","shape":"Cyl","name":"VANGUARD R/B","launchSite":"AFETR","launchVehicle":"U","type":2,"rcs":"0.2282"},{"tle1":"1 00020U 59007A 23102.46762352 .00003540 00000+0 14326-2 0 9995","tle2":"2 00020 33.3469 114.0738 1659263 328.5202 22.5716 11.57283969349718","payload":"Magne-Ray satellite","Mass":"23","vmag":7,"status":"Attached in Orbit","launchDate":"1959 Sep 18","owner":"GSFC","country":"US","manufacturer":"NRL","bus":"NRL 20\"","launchMass":"23","dryMass":"23","length":"1.2","diameter":"0.5","span":"1.2","shape":"Sphere + Ant","name":"VANGUARD 3","launchSite":"AFETR","launchVehicle":"U","type":1,"rcs":"0.6412"},{"tle1":"1 00022U 59009A 23102.83836663 .00005260 00000+0 37193-3 0 9996","tle2":"2 00022 50.2818 302.6617 0128350 239.4768 119.3460 14.99973922379472","payload":"NASA S-1A","Mass":"41","vmag":7.5,"name":"EXPLORER 7","country":"US","launchSite":"AFETR","launchVehicle":"U","launchDate":"1959 Oct 13","type":1,"rcs":"0.5003","status":"In Orbit","owner":"GSFC","manufacturer":"ABMA","bus":"S-1","launchMass":"41","dryMass":"41","length":"0.8","diameter":"0.8","span":"7.0","shape":"DCone + 2 Ant"}]
Loading