From 63acad3aebf7c4df8bc2684b113225b7a41bf0f7 Mon Sep 17 00:00:00 2001 From: Felix Linker Date: Sun, 9 Sep 2018 15:59:19 +0200 Subject: [PATCH] Sort mods in modifications menu by editable first --- src/app/components/ModificationsMenu.jsx | 26 +++++++++++++++--------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/src/app/components/ModificationsMenu.jsx b/src/app/components/ModificationsMenu.jsx index 615a0d4b..2f9a62d4 100644 --- a/src/app/components/ModificationsMenu.jsx +++ b/src/app/components/ModificationsMenu.jsx @@ -15,6 +15,10 @@ import { specialToolTip } from '../utils/BlueprintFunctions'; +const MODIFICATIONS_COMPARATOR = (mod1, mod2) => { + return mod1.props.name.localeCompare(mod2.props.name); +}; + /** * Modifications menu */ @@ -205,17 +209,20 @@ export default class ModificationsMenu extends TranslatedComponent { */ _renderModifications(props) { const { m, onChange, ship } = props; + const modifiableModifications = []; const modifications = []; for (const modName of Modifications.modules[m.grp].modifications) { if (!Modifications.modifications[modName].hidden) { const key = modName + (m.getModValue(modName) / 100 || 0); + const editable = modName !== 'fallofffromrange' && + m.blueprint.grades[m.blueprint.grade].features[modName]; this.lastNeId = modName; - modifications.push(); + (editable ? modifiableModifications : modifications).push( + + ); } } @@ -230,10 +237,9 @@ export default class ModificationsMenu extends TranslatedComponent { } } - this.modifications = modifications.sort( - (mod1, mod2) => mod1.props.name.localeCompare(mod2.props.name) - ); - return this.modifications; + modifiableModifications.sort(MODIFICATIONS_COMPARATOR); + modifications.sort(MODIFICATIONS_COMPARATOR); + return modifiableModifications.concat(modifications); } /**