From e3f589d6a50b392d1342e026f2a4485bd18dba62 Mon Sep 17 00:00:00 2001 From: lowercasedonkey <lowercasedonkey@gmail.com> Date: Sat, 10 Jul 2021 00:37:44 -0400 Subject: [PATCH] switch to pulldown for slave sorting --- src/js/slaveListing.js | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/src/js/slaveListing.js b/src/js/slaveListing.js index 06c4f51a07c..c50e278586c 100644 --- a/src/js/slaveListing.js +++ b/src/js/slaveListing.js @@ -538,16 +538,25 @@ App.UI.SlaveList.sortingLinks = function(passage) { const textify = string => capFirstChar(string.replace(/([A-Z])/g, " $1")); let innerDiv = App.UI.DOM.makeElement("div", "Sort by: ", "indent"); - let order = ["devotion", "trust", "name", "assignment", "seniority", "actualAge", "visualAge", "physicalAge", "weeklyIncome", "health", "weight", "muscles", "intelligence", "sexDrive", "pregnancy"] - .map(so => V.sortSlavesBy !== so ? - App.UI.DOM.passageLink(textify(so), passage, () => { V.sortSlavesBy = so; }) : textify(so)); - innerDiv.append(App.UI.DOM.generateLinksStrip(order)); + let order = ["devotion", "trust", "name", "assignment", "seniority", "actualAge", "visualAge", "physicalAge", "weeklyIncome", "health", "weight", "muscles", "intelligence", "sexDrive", "pregnancy"]; + const select = App.UI.DOM.appendNewElement("select", innerDiv); + for (const so of order) { + const choice = App.UI.DOM.appendNewElement("option", select, textify(so)); + choice.value = so; + if (V.sortSlavesBy === so) { + choice.selected = true; + } + } + select.onchange = () => { + V.sortSlavesBy = select.options[select.selectedIndex].value; + App.UI.reload(); + }; outerDiv.append(innerDiv); innerDiv = App.UI.DOM.makeElement("div", "Sort direction: ", "indent"); - order = ["descending", "ascending"].map(so => V.sortSlavesOrder !== so ? - App.UI.DOM.passageLink(textify(so), passage, () => { V.sortSlavesOrder = so; }) : textify(so)); - innerDiv.append(App.UI.DOM.generateLinksStrip(order)); + order = ["descending", "ascending"]; + innerDiv.append(App.UI.DOM.generateLinksStrip(order.map(so => V.sortSlavesOrder !== so ? + App.UI.DOM.passageLink(textify(so), passage, () => { V.sortSlavesOrder = so; }) : textify(so)))); outerDiv.append(innerDiv); return outerDiv; -- GitLab