0ad/binaries/data/mods/mod/gui/common/utilities.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

38 lines
1,010 B
JavaScript

function distributeButtonsHorizontally(button, captions)
{
const y1 = "100%-46";
const y2 = "100%-18";
switch (captions.length)
{
case 1:
button[0].size = "18 " + y1 + " 100%-18 " + y2;
break;
case 2:
button[0].size = "18 " + y1 + " 50%-5 " + y2;
button[1].size = "50%+5 " + y1 + " 100%-18 " + y2;
break;
case 3:
button[0].size = "18 " + y1 + " 33%-5 " + y2;
button[1].size = "33%+5 " + y1 + " 66%-5 " + y2;
button[2].size = "66%+5 " + y1 + " 100%-18 " + y2;
break;
default:
error("distributeButtonsHorizontally does not yet support more than 3 buttons, attempting to use " + captions.length);
}
}
function setButtonCaptionsAndVisibility(buttons, captions, cancelHotkey, name)
{
return new Promise(resolve =>
{
captions.forEach((caption, i) =>
{
buttons[i] = Engine.GetGUIObjectByName(name + (i + 1));
buttons[i].caption = caption;
buttons[i].hidden = false;
buttons[i].onPress = resolve.bind(null, i);
});
cancelHotkey.onPress = buttons[0].onPress;
});
}