0ad/binaries/data/mods/public/gui/loadgame/SavegamePage.js
Dunedan 93ce94655d
Use @stylistic/brace-style for eslint
Up to now `eslint-plugin-brace-rules` was used to enforce a common brace
style for JavaScript code. This plugin was however updated the last time
over 9 years ago and will be incompatible with ESLint v10, as that
[removes `context.getSourceCode()`][1], the plugin relies on.

To keep the eslint config working with ESLint v10, this replaces
`eslint-plugin-brace-rules` with the [`@stylistic/brace-style`][2] rule
from `@stylistic/eslint-plugin`, a package we already use.

While `@stylistic/brace-style` doesn't offer an option to format braces
in exactly the same way as before, the "allman" style seems to be the
one closest to the existing code.

[1]: https://eslint.org/blog/2025/11/eslint-v10.0.0-alpha.0-released/#removed-deprecated-rule-context-members
[2]: https://eslint.style/rules/brace-style
2026-01-12 21:33:52 +01:00

45 lines
1.4 KiB
JavaScript

/**
* This class is responsible for loading the affected GUI control classes,
* and setting them up to communicate with each other.
*/
class SavegamePage
{
constructor(data, closePageCallback)
{
this.savegameList = new SavegameList(data && data.campaignRun || null);
this.savegameDetails = new SavegameDetails();
this.savegameList.registerSelectionChangeHandler(this.savegameDetails);
this.savegameDeleter = new SavegameDeleter();
this.savegameDeleter.registerSavegameListChangeHandler(this.savegameList);
this.savegameList.registerSelectionChangeHandler(this.savegameDeleter);
const savePage = !!data?.savedGameData;
if (savePage)
{
this.savegameWriter = new SavegameWriter(closePageCallback, data.savedGameData);
this.savegameList.registerSelectionChangeHandler(this.savegameWriter);
this.savegameList.gameSelection.size.bottom -= 24;
}
else
{
this.savegameLoader = new SavegameLoader(closePageCallback);
this.savegameList.registerSelectionChangeHandler(this.savegameLoader);
this.savegameList.selectFirst();
}
Engine.GetGUIObjectByName("title").caption = savePage ? translate("Save Game") : translate("Load Game");
Engine.GetGUIObjectByName("cancel").onPress = closePageCallback;
}
}
var g_SavegamePage;
function init(data)
{
return new Promise(closePageCallback =>
{
g_SavegamePage = new SavegamePage(data, closePageCallback);
});
}