diff --git a/client/public/stylesheets/panels/unitcontrol.css b/client/public/stylesheets/panels/unitcontrol.css index da629696..6e222679 100644 --- a/client/public/stylesheets/panels/unitcontrol.css +++ b/client/public/stylesheets/panels/unitcontrol.css @@ -21,6 +21,17 @@ body.feature-forceShowUnitControlPanel #unit-control-panel { margin: -5px; } +#unit-control-panel h3 .num-selected-units { + margin-left:6px; +} + +#unit-control-panel h3 .num-selected-units::before { + content:"("; +} +#unit-control-panel h3 .num-selected-units::after { + content:")"; +} + #unit-control-panel .ol-option-button button { width: 30px; height: 30px; diff --git a/client/src/panels/unitcontrolpanel.ts b/client/src/panels/unitcontrolpanel.ts index 424b36d5..91af3e15 100644 --- a/client/src/panels/unitcontrolpanel.ts +++ b/client/src/panels/unitcontrolpanel.ts @@ -176,6 +176,7 @@ export class UnitControlPanel extends Panel { if (!context.getUseUnitControlPanel()) return; + this.#updateNumberOfSelectedUnits(); super.show(); this.#speedTypeSwitch.resetExpectedValue(); this.#altitudeTypeSwitch.resetExpectedValue(); @@ -420,6 +421,13 @@ export class UnitControlPanel extends Panel { } } + #updateNumberOfSelectedUnits() { + const num = getApp().getUnitsManager().getSelectedUnits().length; + this.getElement().querySelectorAll(".num-selected-units").forEach(el => { + if (el instanceof HTMLElement) el.innerText = num + ""; + }); + } + #applyAdvancedSettings() { /* HTML Elements */ const prohibitJettisonCheckbox = this.#advancedSettingsDialog.querySelector("#prohibit-jettison-checkbox")?.querySelector("input") as HTMLInputElement; diff --git a/client/views/panels/unitcontrol.ejs b/client/views/panels/unitcontrol.ejs index 52b96555..16e2a420 100644 --- a/client/views/panels/unitcontrol.ejs +++ b/client/views/panels/unitcontrol.ejs @@ -1,8 +1,8 @@ -