From 4d1345a1fa69d4b7fc47d3f94bea5afec13ca378 Mon Sep 17 00:00:00 2001 From: lowercasedonkey <lowercasedonkey@gmail.com> Date: Wed, 21 Oct 2020 22:16:50 -0400 Subject: [PATCH] map --- src/facilities/incubator/incubatorInteract.js | 70 ++++++------------- 1 file changed, 23 insertions(+), 47 deletions(-) diff --git a/src/facilities/incubator/incubatorInteract.js b/src/facilities/incubator/incubatorInteract.js index e187382341b..8a4b4660ff8 100644 --- a/src/facilities/incubator/incubatorInteract.js +++ b/src/facilities/incubator/incubatorInteract.js @@ -138,54 +138,30 @@ App.UI.incubator = function() { V.sortIncubatorList = V.sortIncubatorList || 'Unsorted'; App.UI.DOM.appendNewElement("span", sortingBar, "Sorting: ", "note"); - let qlIncubatorSort = document.createElement("span"); - qlIncubatorSort.classList.add("bold"); - qlIncubatorSort.id = "qlIncubatorSort"; - qlIncubatorSort.append(V.sortIncubatorList); - sortingBar.append(qlIncubatorSort); - sortingBar.append(`. `); - linkArray = []; - linkArray.push( - App.UI.DOM.link( - "Name", - () => { - V.sortIncubatorList = 'Name'; - sortByName(); - jQuery(`#qlIncubatorSort`).empty().append(V.sortIncubatorList); - } - ) - ); - linkArray.push( - App.UI.DOM.link( - "Reserved Incubator Spots", - () => { - V.sortIncubatorList = 'Reserved Incubator Spots'; - sortByReservedSpots(); - jQuery(`#qlIncubatorSort`).empty().append(V.sortIncubatorList); - } - ) - ); - linkArray.push( - App.UI.DOM.link( - "Pregnancy Week", - () => { - V.sortIncubatorList = 'Pregnancy Week'; - sortByPregnancyWeek(); - jQuery(`#qlIncubatorSort`).empty().append(V.sortIncubatorList); - } - ) - ); - linkArray.push( - App.UI.DOM.link( - "Number of Children", - () => { - V.sortIncubatorList = 'Number of Children'; - sortByPregnancyCount(); - jQuery(`#qlIncubatorSort`).empty().append(V.sortIncubatorList); - } - ) - ); + const sortingOptions = new Map([ + ["Name", sortByName], + ["Reserved Incubator Spots", sortByReservedSpots], + ["Pregnancy Week", sortByPregnancyWeek], + ["Number of Children", sortByPregnancyCount], + ]); + for (const [title, func] of sortingOptions) { + if (V.sortIncubatorList === title) { + linkArray.push(App.UI.DOM.makeElement("span", title, "bold")); + } else { + linkArray.push( + App.UI.DOM.link( + title, + () => { + V.sortIncubatorList = title; + func(); + refresh(); + } + ) + ); + } + } + sortingBar.append(App.UI.DOM.generateLinksStrip(linkArray)); el.append(sortingBar); } -- GitLab