From 082f70dc6b783ba24adeadd9d06a70178c9b769c Mon Sep 17 00:00:00 2001 From: Arkerthan <arkerthan@mailbox.org> Date: Wed, 1 Mar 2023 19:08:07 +0100 Subject: [PATCH] Remove self executing App.UI.SlaveList.render, replace with normal function --- src/js/slaveListing.js | 137 +++++++++++++++++++---------------------- 1 file changed, 63 insertions(+), 74 deletions(-) diff --git a/src/js/slaveListing.js b/src/js/slaveListing.js index aab9d64ec23..c8dc4f109db 100644 --- a/src/js/slaveListing.js +++ b/src/js/slaveListing.js @@ -19,100 +19,89 @@ App.UI.SlaveList = {}; * @returns {HTMLElement|DocumentFragment} */ -App.UI.SlaveList.render = function() { +/** + * @param {number[]} IDs + * @param {Array.<{id: number, rejects: string[]}>} rejectedSlaves + * @param {slaveToElement} interactionLink + * @param {slaveToElement} [postNote] + * @returns {DocumentFragment} + */ +App.UI.SlaveList.render = function(IDs, rejectedSlaves, interactionLink, postNote) { const facilityPassages = new Set( ["Main", "Head Girl Suite", "Spa", "Brothel", "Club", "Arcade", "Clinic", "Schoolroom", "Dairy", "Farmyard", "Servants' Quarters", "Master Suite", "Cellblock"]); - /** @type {string} */ - let passageName; + // required, if multiple list are displayed on the same passage + const uuid = generateNewID(); + const passageName = passage(); + + const res = document.createDocumentFragment(); /** @type {App.Art.SlaveArtBatch} */ let batchRenderer = null; + if (V.seeImages === 1 && V.seeSummaryImages === 1) { + batchRenderer = new App.Art.SlaveArtBatch(IDs, 1); + res.appendChild(batchRenderer.writePreamble()); + } - return listDOM; - - /** - * @param {number[]} IDs - * @param {Array.<{id: number, rejects: string[]}>} rejectedSlaves - * @param {slaveToElement} interactionLink - * @param {slaveToElement} [postNote] - * @returns {DocumentFragment} - */ - function listDOM(IDs, rejectedSlaves, interactionLink, postNote) { - passageName = passage(); - // required, if multiple list are displayed on the same passage - const uuid = generateNewID(); - - let res = document.createDocumentFragment(); - - if ((V.seeImages === 1) && (V.seeSummaryImages === 1)) { - batchRenderer = new App.Art.SlaveArtBatch(IDs, 1); - res.appendChild(batchRenderer.writePreamble()); - } else { - batchRenderer = null; - } - - res.append(createQuickList(IDs, uuid)); + res.append(createQuickList(IDs, uuid)); - const fcs = App.Entity.facilities; - const penthouse = fcs.penthouse; + const fcs = App.Entity.facilities; + const penthouse = fcs.penthouse; - let anyFacilityExists = false; + let anyFacilityExists = false; - for (const f of Object.values(fcs)) { - if (f !== penthouse && f.established) { - anyFacilityExists = true; - break; - } + for (const f of Object.values(fcs)) { + if (f !== penthouse && f.established) { + anyFacilityExists = true; + break; } + } - let showTransfers = false; - if (anyFacilityExists) { - if (facilityPassages.has(passageName)) { - V.returnTo = passageName; - showTransfers = true; - } + let showTransfers = false; + if (anyFacilityExists) { + if (facilityPassages.has(passageName)) { + V.returnTo = passageName; + showTransfers = true; } + } - for (const sid of IDs) { - let ss = renderSlave(sid, interactionLink, showTransfers, postNote); - let slaveDiv = document.createElement("div"); - slaveDiv.id = `slave-${sid}-${uuid}`; - slaveDiv.classList.add("slaveSummary"); - if (V.slavePanelStyle === 2) { - slaveDiv.classList.add("card"); - } - slaveDiv.appendChild(ss); - res.appendChild(slaveDiv); + for (const sid of IDs) { + let ss = renderSlave(sid, interactionLink, showTransfers, postNote); + let slaveDiv = document.createElement("div"); + slaveDiv.id = `slave-${sid}-${uuid}`; + slaveDiv.classList.add("slaveSummary"); + if (V.slavePanelStyle === 2) { + slaveDiv.classList.add("card"); } + slaveDiv.appendChild(ss); + res.appendChild(slaveDiv); + } - for (const rs of rejectedSlaves) { - const slave = slaveStateById(rs.id); - const rejects = rs.rejects; - const slaveName = SlaveFullName(slave); - let slaveDiv = document.createElement("div"); - slaveDiv.id = `slave-${slave.ID}`; - slaveDiv.style.setProperty("clear", "both"); - if (rejects.length === 1) { - slaveDiv.innerHTML = rejects[0]; - } else { - slaveDiv.appendChild(document.createTextNode(`${slaveName}: `)); - let ul = document.createElement("ul"); - for (const rr of rejects) { - const li = document.createElement("li"); - li.innerHTML = rr; - ul.appendChild(li); - } - slaveDiv.appendChild(ul); + for (const rs of rejectedSlaves) { + const slave = slaveStateById(rs.id); + const rejects = rs.rejects; + const slaveName = SlaveFullName(slave); + let slaveDiv = document.createElement("div"); + slaveDiv.id = `slave-${slave.ID}`; + slaveDiv.style.setProperty("clear", "both"); + if (rejects.length === 1) { + slaveDiv.innerHTML = rejects[0]; + } else { + slaveDiv.appendChild(document.createTextNode(`${slaveName}: `)); + let ul = document.createElement("ul"); + for (const rr of rejects) { + const li = document.createElement("li"); + li.innerHTML = rr; + ul.appendChild(li); } - res.appendChild(slaveDiv); + slaveDiv.appendChild(ul); } + res.appendChild(slaveDiv); + } - batchRenderer = null; // release reference + return res; - return res; - } /** * @param {number} id @@ -397,7 +386,7 @@ App.UI.SlaveList.render = function() { currentSort = colorClass; } } -}(); +}; App.UI.SlaveList.Decoration = {}; /** -- GitLab