diff --git a/src/util/factory.js b/src/util/factory.js index 3f6772060..c5ae9c2cd 100644 --- a/src/util/factory.js +++ b/src/util/factory.js @@ -5,6 +5,7 @@ const _ = { map: require('lodash/map'), uniqBy: require('lodash/uniqBy'), each: require('lodash/each'), + orderBy: require('lodash/orderBy'), } const InputSanitizer = require('./inputSanitizer') @@ -102,6 +103,9 @@ const plotRadarGraph = function (title, blips, currentRadarName, alternativeRada return allQuadrants }, {}) + // Sort blips by quadrant, ring, and name + blips = sortBlipsAlphabetically(blips) + blips.forEach((blip) => { const currentQuadrant = validateInputQuadrantOrRingName(quadrants, blip.quadrant) const ring = validateInputQuadrantOrRingName(ringMap, blip.ring) @@ -552,4 +556,8 @@ function plotUnauthorizedErrorMessage() { }) } +function sortBlipsAlphabetically(blips) { + return _.orderBy(blips, [(blip) => blip.quadrant, (blip) => blip.ring, (blip) => blip.name.toLowerCase()]) +} + module.exports = Factory