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