combined html filling in one function (initial)

This commit is contained in:
ReznoRMichael 2021-07-03 11:11:57 +02:00
parent 6093685bc0
commit 5a763d4ee2
4 changed files with 182 additions and 177 deletions

View file

@ -85,10 +85,10 @@ function HKCheckCompletion(jsonObject) {
HKWorldItems = jsonObject.sceneData.persistentBoolItems; HKWorldItems = jsonObject.sceneData.persistentBoolItems;
} else return false; } else return false;
} else return false; // Pre-Cleaning and filling initial data (h2, id) needed for PrepareHTMLString() } else return false; // Pre-Cleaning and filling initial data (h2, id) needed for PrepareHTMLString()
// PrefillHTML(HK.SECTION);
// Prevents adding current percent data after each function call (each click of Analyze button)
(0,_page_functions_js__WEBPACK_IMPORTED_MODULE_1__.PrefillHTML)(_hk_database_js__WEBPACK_IMPORTED_MODULE_0__.default.SECTION); // Prevents adding current percent data after each function call (each click of Analyze button)
ResetCompletion(_hk_database_js__WEBPACK_IMPORTED_MODULE_0__.default.SECTION); // ================================================================================== // ResetCompletion(_hk_database_js__WEBPACK_IMPORTED_MODULE_0__.default.SECTION); // ================================================================================== //
// ---------------- Time Played ----------------- // // ---------------- Time Played ----------------- //
@ -97,8 +97,8 @@ function HKCheckCompletion(jsonObject) {
CheckCompletionPercent(_hk_database_js__WEBPACK_IMPORTED_MODULE_0__.default.SECTION.intro, HKPlayerData.completionPercentage); // ---------------- Game Completion Status ----------------- // CheckCompletionPercent(_hk_database_js__WEBPACK_IMPORTED_MODULE_0__.default.SECTION.intro, HKPlayerData.completionPercentage); // ---------------- Game Completion Status ----------------- //
CheckSaveFileVersion(_hk_database_js__WEBPACK_IMPORTED_MODULE_0__.default.SECTION.intro, HKPlayerData.version); // ---------------- Fleur Divide ----------------- // CheckSaveFileVersion(_hk_database_js__WEBPACK_IMPORTED_MODULE_0__.default.SECTION.intro, HKPlayerData.version); // ---------------- Fleur Divide ----------------- //
// AppendHTML(HK.SECTION.intro, FLEUR_DIVIDE);
(0,_page_functions_js__WEBPACK_IMPORTED_MODULE_1__.AppendHTML)(_hk_database_js__WEBPACK_IMPORTED_MODULE_0__.default.SECTION.intro, FLEUR_DIVIDE); // ---------------- Health Masks ----------------- // // ---------------- Health Masks ----------------- //
CheckHealthMasks(_hk_database_js__WEBPACK_IMPORTED_MODULE_0__.default.SECTION.intro, HKPlayerData.maxHealthBase, HKPlayerData.permadeathMode); // ---------------- Soul Orbs ----------------- // CheckHealthMasks(_hk_database_js__WEBPACK_IMPORTED_MODULE_0__.default.SECTION.intro, HKPlayerData.maxHealthBase, HKPlayerData.permadeathMode); // ---------------- Soul Orbs ----------------- //
@ -137,16 +137,16 @@ function HKCheckCompletion(jsonObject) {
CheckIfDataTrue(_hk_database_js__WEBPACK_IMPORTED_MODULE_0__.default.SECTION.lifeblood, _hk_database_js__WEBPACK_IMPORTED_MODULE_0__.default.SECTION.lifeblood.entries, HKPlayerData); // ---------------- Godmaster Content Pack --------------------- // CheckIfDataTrue(_hk_database_js__WEBPACK_IMPORTED_MODULE_0__.default.SECTION.lifeblood, _hk_database_js__WEBPACK_IMPORTED_MODULE_0__.default.SECTION.lifeblood.entries, HKPlayerData); // ---------------- Godmaster Content Pack --------------------- //
CheckIfDataTrue(_hk_database_js__WEBPACK_IMPORTED_MODULE_0__.default.SECTION.godmaster, _hk_database_js__WEBPACK_IMPORTED_MODULE_0__.default.SECTION.godmaster.entries, HKPlayerData); // ---------------- Fleur Divide ----------------- // CheckIfDataTrue(_hk_database_js__WEBPACK_IMPORTED_MODULE_0__.default.SECTION.godmaster, _hk_database_js__WEBPACK_IMPORTED_MODULE_0__.default.SECTION.godmaster.entries, HKPlayerData); // ---------------- Fleur Divide ----------------- //
// AppendHTML(HK.SECTION.godmaster, FLEUR_DIVIDE);
(0,_page_functions_js__WEBPACK_IMPORTED_MODULE_1__.AppendHTML)(_hk_database_js__WEBPACK_IMPORTED_MODULE_0__.default.SECTION.godmaster, FLEUR_DIVIDE); // ------------------------- Essential Things ----------------------------- // // ------------------------- Essential Things ----------------------------- //
CheckAdditionalThings(_hk_database_js__WEBPACK_IMPORTED_MODULE_0__.default.SECTION.essential, _hk_database_js__WEBPACK_IMPORTED_MODULE_0__.default.SECTION.essential.entries, HKPlayerData, HKWorldItems); // ---------------- Fleur Divide ----------------- // CheckAdditionalThings(_hk_database_js__WEBPACK_IMPORTED_MODULE_0__.default.SECTION.essential, _hk_database_js__WEBPACK_IMPORTED_MODULE_0__.default.SECTION.essential.entries, HKPlayerData, HKWorldItems); // ---------------- Fleur Divide ----------------- //
// AppendHTML(HK.SECTION.essential, FLEUR_DIVIDE);
(0,_page_functions_js__WEBPACK_IMPORTED_MODULE_1__.AppendHTML)(_hk_database_js__WEBPACK_IMPORTED_MODULE_0__.default.SECTION.essential, FLEUR_DIVIDE); // ------------------------- Achievements ----------------------------- // // ------------------------- Achievements ----------------------------- //
CheckAdditionalThings(_hk_database_js__WEBPACK_IMPORTED_MODULE_0__.default.SECTION.achievements, _hk_database_js__WEBPACK_IMPORTED_MODULE_0__.default.SECTION.achievements.entries, HKPlayerData, HKWorldItems); // ---------------- Fleur Divide ----------------- // CheckAdditionalThings(_hk_database_js__WEBPACK_IMPORTED_MODULE_0__.default.SECTION.achievements, _hk_database_js__WEBPACK_IMPORTED_MODULE_0__.default.SECTION.achievements.entries, HKPlayerData, HKWorldItems); // ---------------- Fleur Divide ----------------- //
// AppendHTML(HK.SECTION.achievements, FLEUR_DIVIDE);
(0,_page_functions_js__WEBPACK_IMPORTED_MODULE_1__.AppendHTML)(_hk_database_js__WEBPACK_IMPORTED_MODULE_0__.default.SECTION.achievements, FLEUR_DIVIDE); // ------------------------- Game Statistics ----------------------------- // // ------------------------- Game Statistics ----------------------------- //
CheckAdditionalThings(_hk_database_js__WEBPACK_IMPORTED_MODULE_0__.default.SECTION.statistics, _hk_database_js__WEBPACK_IMPORTED_MODULE_0__.default.SECTION.statistics.entries, HKPlayerData, HKWorldItems, HKSceneData); // ------------------------- Godhome Statistics ----------------------------- // CheckAdditionalThings(_hk_database_js__WEBPACK_IMPORTED_MODULE_0__.default.SECTION.statistics, _hk_database_js__WEBPACK_IMPORTED_MODULE_0__.default.SECTION.statistics.entries, HKPlayerData, HKWorldItems, HKSceneData); // ------------------------- Godhome Statistics ----------------------------- //
@ -155,7 +155,7 @@ function HKCheckCompletion(jsonObject) {
CheckHintsTrue(_hk_database_js__WEBPACK_IMPORTED_MODULE_0__.default.SECTION.hints, _hk_database_js__WEBPACK_IMPORTED_MODULE_0__.default.SECTION.hints.entries, HKPlayerData, HKWorldItems); // ------------------------- Fill completion ----------------------------- // CheckHintsTrue(_hk_database_js__WEBPACK_IMPORTED_MODULE_0__.default.SECTION.hints, _hk_database_js__WEBPACK_IMPORTED_MODULE_0__.default.SECTION.hints.entries, HKPlayerData, HKWorldItems); // ------------------------- Fill completion ----------------------------- //
(0,_page_functions_js__WEBPACK_IMPORTED_MODULE_1__.CompletionHTML)(_hk_database_js__WEBPACK_IMPORTED_MODULE_0__.default.SECTION, HKPlayerData.completionPercentage); (0,_page_functions_js__WEBPACK_IMPORTED_MODULE_1__.CompletionHTML)(_hk_database_js__WEBPACK_IMPORTED_MODULE_0__.default.SECTION, HKPlayerData.completionPercentage);
(0,_page_functions_js__WEBPACK_IMPORTED_MODULE_1__.GenerateInnerHTML)(_hk_database_js__WEBPACK_IMPORTED_MODULE_0__.default); // Prevents wrong checkbox behaviour (must run after everything is finished) (0,_page_functions_js__WEBPACK_IMPORTED_MODULE_1__.GenerateInnerHTML)(_hk_database_js__WEBPACK_IMPORTED_MODULE_0__.default.SECTION); // Prevents wrong checkbox behaviour (must run after everything is finished)
(0,_page_functions_js__WEBPACK_IMPORTED_MODULE_1__.CheckboxHintsToggle)(); (0,_page_functions_js__WEBPACK_IMPORTED_MODULE_1__.CheckboxHintsToggle)();
(0,_page_functions_js__WEBPACK_IMPORTED_MODULE_1__.CheckboxSpoilersToggle)(); // finish and show benchmark (0,_page_functions_js__WEBPACK_IMPORTED_MODULE_1__.CheckboxSpoilersToggle)(); // finish and show benchmark
@ -250,8 +250,7 @@ function CheckPlayTime(divId, playTime) {
if (sec < 10) sec = "0" + sec; if (sec < 10) sec = "0" + sec;
if (minutes < 10) minutes = "0" + minutes; if (minutes < 10) minutes = "0" + minutes;
var textFill = "Time Played:" + pSpan + "<b>" + hours + " h " + minutes + " min " + sec + " sec</b>"; var textFill = "Time Played:" + pSpan + "<b>" + hours + " h " + minutes + " min " + sec + " sec</b>";
divId.entries.timePlayed.spoiler = hours + " h " + minutes + " min " + sec + " sec"; divId.entries.timePlayed.spoiler = hours + " h " + minutes + " min " + sec + " sec"; // document.getElementById(divId.id).innerHTML += divStart + SYMBOL_CLOCK + textFill + divEnd;
document.getElementById(divId.id).innerHTML += divStart + SYMBOL_CLOCK + textFill + divEnd;
} }
/** /**
* Searches for completionPercentage in playerData and fills HTML with the value of the save file * Searches for completionPercentage in playerData and fills HTML with the value of the save file
@ -263,8 +262,7 @@ function CheckPlayTime(divId, playTime) {
function CheckCompletionPercent(divId, completionPercentage) { function CheckCompletionPercent(divId, completionPercentage) {
completionPercentage >= 112 ? CurrentDataTrue() : CurrentDataFalse(); completionPercentage >= 112 ? CurrentDataTrue() : CurrentDataFalse();
divId.percent = completionPercentage; divId.percent = completionPercentage;
var textFill = "Game Completion:" + pSpan + "<b>" + completionPercentage + " %</b>" + pSpan + "(out of " + divId.maxPercent + " %)"; var textFill = "Game Completion:" + pSpan + "<b>" + completionPercentage + " %</b>" + pSpan + "(out of " + divId.maxPercent + " %)"; // document.getElementById(divId.id).innerHTML += divStart + completionSymbol + textFill + divEnd;
document.getElementById(divId.id).innerHTML += divStart + completionSymbol + textFill + divEnd;
} }
/** /**
* Reads the "version" string from the save file and appends it to the selected div ID element * Reads the "version" string from the save file and appends it to the selected div ID element
@ -276,8 +274,7 @@ function CheckCompletionPercent(divId, completionPercentage) {
function CheckSaveFileVersion(divId) { function CheckSaveFileVersion(divId) {
var saveVersion = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _hk_database_js__WEBPACK_IMPORTED_MODULE_0__.default.SECTION.intro.entries.saveVersion.spoiler; var saveVersion = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _hk_database_js__WEBPACK_IMPORTED_MODULE_0__.default.SECTION.intro.entries.saveVersion.spoiler;
CurrentDataBlank(); CurrentDataBlank();
var textFill = "Save Version:".concat(pSpan, "<b>").concat(saveVersion, "</b>").concat(pSpan); var textFill = "Save Version:".concat(pSpan, "<b>").concat(saveVersion, "</b>").concat(pSpan); // document.getElementById(divId.id).innerHTML += divStart + completionSymbol + textFill + divEnd;
document.getElementById(divId.id).innerHTML += divStart + completionSymbol + textFill + divEnd;
} }
/** /**
* Fills HTML with appropriate number of health mask images * Fills HTML with appropriate number of health mask images
@ -300,9 +297,8 @@ function CheckHealthMasks(divId) {
for (var i = 0; i < masks; i++) { for (var i = 0; i < masks; i++) {
maskImages += maskImg; maskImages += maskImg;
} } // document.getElementById(divId.id).innerHTML += divStartCenter + icon + textFill + maskImages + divEnd;
document.getElementById(divId.id).innerHTML += divStartCenter + icon + textFill + maskImages + divEnd;
} }
/** /**
* Fills HTML with appropriate number of soul orbs images * Fills HTML with appropriate number of soul orbs images
@ -320,9 +316,8 @@ function CheckSoulOrbs(divId, totalSoul) {
for (var i = 0, total = totalSoul / 33; i < total; i++) { for (var i = 0, total = totalSoul / 33; i < total; i++) {
soulImages += soulImg; soulImages += soulImg;
} } // document.getElementById(divId.id).innerHTML += divStartCenter + icon + textFill + soulImages + divEnd;
document.getElementById(divId.id).innerHTML += divStartCenter + icon + textFill + soulImages + divEnd;
} }
/** /**
* Fills HTML with the Geo value of the save file * Fills HTML with the Geo value of the save file
@ -339,8 +334,7 @@ function CheckGeo(divId) {
if (geoPoolValue > 0) textFill += "\n ".concat(pSpan, "+<img src='").concat(_img_geo_shade_png__WEBPACK_IMPORTED_MODULE_10__, "' class='geo-symbol' alt='shade geo symbol image' title='Shade Geo'><b>").concat(geoPoolValue, "</b>"); // Show also total Geo (Geo + Shade Geo) if player has at least 1 geo alongside the shade geo if (geoPoolValue > 0) textFill += "\n ".concat(pSpan, "+<img src='").concat(_img_geo_shade_png__WEBPACK_IMPORTED_MODULE_10__, "' class='geo-symbol' alt='shade geo symbol image' title='Shade Geo'><b>").concat(geoPoolValue, "</b>"); // Show also total Geo (Geo + Shade Geo) if player has at least 1 geo alongside the shade geo
if (geoValue > 0 && geoPoolValue > 0) textFill += "".concat(pSpan, "=").concat(pSpan, "<b>").concat(geoValue + geoPoolValue, "</b>"); if (geoValue > 0 && geoPoolValue > 0) textFill += "".concat(pSpan, "=").concat(pSpan, "<b>").concat(geoValue + geoPoolValue, "</b>"); // document.getElementById(divId.id).innerHTML += divStartCenter + icon + textFill + divEnd;
document.getElementById(divId.id).innerHTML += divStartCenter + icon + textFill + divEnd;
} }
/** /**
* Fills HTML with appropriate number of notch images * Fills HTML with appropriate number of notch images
@ -389,9 +383,8 @@ function CheckNotches(divId) {
for (var _i2 = 0; _i2 < unusedNotches; _i2++) { for (var _i2 = 0; _i2 < unusedNotches; _i2++) {
notchImages += notchNormalImage; notchImages += notchNormalImage;
} }
} } // document.getElementById(divId.id).innerHTML += divStartCenter + icon + textFill + notchImages + divEnd;
document.getElementById(divId.id).innerHTML += divStartCenter + icon + textFill + notchImages + divEnd;
} }
/** /**
* Verifies if the data in a specific object is true or false, and appends HTML accordingly. * Verifies if the data in a specific object is true or false, and appends HTML accordingly.
@ -490,9 +483,8 @@ function CheckIfDataTrue(divId, dataObject, playerData) {
} }
sFillText += PrepareHTMLString(divId, textPrefix, textSuffix, wiki); sFillText += PrepareHTMLString(divId, textPrefix, textSuffix, wiki);
} } // AppendHTML(divId, sFillText);
(0,_page_functions_js__WEBPACK_IMPORTED_MODULE_1__.AppendHTML)(divId, sFillText);
} }
/** /**
* Verifies if the data in a specific object is 0 or > 0, and appends HTML accordingly. * Verifies if the data in a specific object is 0 or > 0, and appends HTML accordingly.
@ -528,9 +520,8 @@ function CheckSpellLevel(divId, dataObject, playerData) {
default: default:
break; break;
} }
} } // AppendHTML(divId, sFillText);
(0,_page_functions_js__WEBPACK_IMPORTED_MODULE_1__.AppendHTML)(divId, sFillText);
} }
/** /**
* Verifies if the data in a specific object is 0 or > 0, and appends HTML accordingly. * Verifies if the data in a specific object is 0 or > 0, and appends HTML accordingly.
@ -546,9 +537,8 @@ function CheckWarriorDreams(divId, dataObject, playerData) {
for (var i in dataObject) { for (var i in dataObject) {
playerData[i] >= 2 ? CurrentDataTrue(divId) : CurrentDataFalse(); playerData[i] >= 2 ? CurrentDataTrue(divId) : CurrentDataFalse();
sFillText += PrepareHTMLString(divId, dataObject[i].name, dataObject[i].spoiler, dataObject[i].wiki); sFillText += PrepareHTMLString(divId, dataObject[i].name, dataObject[i].spoiler, dataObject[i].wiki);
} } // AppendHTML(divId, sFillText);
(0,_page_functions_js__WEBPACK_IMPORTED_MODULE_1__.AppendHTML)(divId, sFillText);
} }
/** /**
* Verifies if the Godmaster Pantheons 1-4 are completed by the player, and appends HTML accordingly. * Verifies if the Godmaster Pantheons 1-4 are completed by the player, and appends HTML accordingly.
@ -588,8 +578,7 @@ function CheckNailUpgrades(divId, dataObject, playerData) {
} }
if (divId.percent) divId.percent--; // subject one for the Old Nail if (divId.percent) divId.percent--; // subject one for the Old Nail
// AppendHTML(divId, sFillText);
(0,_page_functions_js__WEBPACK_IMPORTED_MODULE_1__.AppendHTML)(divId, sFillText);
} }
/** /**
* Verifies if the specific Interactable (Item, Boss, Chest etc.) is activated. Returns true or false. * Verifies if the specific Interactable (Item, Boss, Chest etc.) is activated. Returns true or false.
@ -643,9 +632,8 @@ function CheckWorldDataTrue(divId, idText, dataObject, worldData) {
CurrentDataFalse(); CurrentDataFalse();
if (orderedArray[_i4][4] === true) CurrentDataTrue(divId); if (orderedArray[_i4][4] === true) CurrentDataTrue(divId);
sFillText += PrepareHTMLString(divId, orderedArray[_i4][1], orderedArray[_i4][2], orderedArray[_i4][3]); sFillText += PrepareHTMLString(divId, orderedArray[_i4][1], orderedArray[_i4][2], orderedArray[_i4][3]);
} } // AppendHTML(divId, sFillText);
(0,_page_functions_js__WEBPACK_IMPORTED_MODULE_1__.AppendHTML)(divId, sFillText);
} }
/** /**
* Verifies if the data in a specific object are true or false, or checks what values they have, and appends HTML accordingly. * Verifies if the data in a specific object are true or false, or checks what values they have, and appends HTML accordingly.
@ -963,9 +951,8 @@ function CheckAdditionalThings(divId, dataObject, playerData, worldData, sceneDa
if (i === "mrMushroomState") continue; if (i === "mrMushroomState") continue;
sFillText += PrepareHTMLString(divId, textPrefix, textSuffix, wiki); sFillText += PrepareHTMLString(divId, textPrefix, textSuffix, wiki);
} // end for (let i in dataObject) } // end for (let i in dataObject)
// AppendHTML(divId, sFillText);
// ==========================================
(0,_page_functions_js__WEBPACK_IMPORTED_MODULE_1__.AppendHTML)(divId, sFillText); // ==========================================
// -------------- Methods ---------------- // // -------------- Methods ---------------- //
/** /**
@ -975,6 +962,7 @@ function CheckAdditionalThings(divId, dataObject, playerData, worldData, sceneDa
* @returns {boolean} * @returns {boolean}
*/ */
function FindWorldItem() { function FindWorldItem() {
var idText = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ""; var idText = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "";
var sceneNameText = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ""; var sceneNameText = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "";
@ -1186,7 +1174,8 @@ function CheckHintsTrue(divId, dataObject, playerData, worldData) {
if (playerData.killedHollowKnight === true) { if (playerData.killedHollowKnight === true) {
// a text to show when player already finished their first playthrough (killed Hollow Knight first time) // a text to show when player already finished their first playthrough (killed Hollow Knight first time)
(0,_page_functions_js__WEBPACK_IMPORTED_MODULE_1__.AppendHTML)(divId, "...a successful Knight who doesn't need hints anymore. The Knight explores the world of Hallownest patiently in constant search of its remaining secrets...");
/* AppendHTML(divId, "...a successful Knight who doesn't need hints anymore. The Knight explores the world of Hallownest patiently in constant search of its remaining secrets..."); */
return true; return true;
} }
@ -1248,9 +1237,8 @@ function CheckHintsTrue(divId, dataObject, playerData, worldData) {
break; break;
} }
} // end: for (let i in dataObject) } // end: for (let i in dataObject)
// AppendHTML(divId, sFillText);
(0,_page_functions_js__WEBPACK_IMPORTED_MODULE_1__.AppendHTML)(divId, sFillText);
} // function CheckHintsTrue() } // function CheckHintsTrue()
/** /**
@ -1284,47 +1272,57 @@ function HKReadTextArea() {
function InitialHTMLPopulate(sections) { function InitialHTMLPopulate(sections) {
var sFillText = ""; var sFillText = "";
CurrentDataFalse(); CurrentDataFalse();
(0,_page_functions_js__WEBPACK_IMPORTED_MODULE_1__.PrefillHTML)(sections); // Play Time (0,_page_functions_js__WEBPACK_IMPORTED_MODULE_1__.GenerateInnerHTML)(sections); // PrefillHTML(sections);
CheckPlayTime(sections.intro, 0); // Game Completion /*
// Play Time
CheckPlayTime(sections.intro, 0)
// Game Completion
CheckCompletionPercent(sections.intro, 0);
// Save File Version
CheckSaveFileVersion(sections.intro);
// Fleur Divide
// AppendHTML(sections.intro, FLEUR_DIVIDE);
// Health Masks
CheckHealthMasks(sections.intro);
// Soul Orbs
CheckSoulOrbs(sections.intro, 99);
// Charm Notches
CheckNotches(sections.intro);
// Geo
CheckGeo(sections.intro);
// Keep symbol False
CurrentDataFalse();
*/
// First Hint Only
// AppendHTML(sections.hints, sections.hints.entries.fireballLevel.spoiler);
CheckCompletionPercent(sections.intro, 0); // Save File Version /* let entries = {};
for (let section in sections) {
entries = sections[section].entries;
switch(section) {
case "intro":
case "hints":
break;
default:
for (let entry in entries) {
sFillText += PrepareHTMLString(sections[section], entries[entry].name, entries[entry].spoiler, entries[entry].wiki);
}
// AppendHTML(sections[section], sFillText);
}
sFillText = "";
} */
CheckSaveFileVersion(sections.intro); // Fleur Divide
(0,_page_functions_js__WEBPACK_IMPORTED_MODULE_1__.AppendHTML)(sections.intro, FLEUR_DIVIDE); // Health Masks
CheckHealthMasks(sections.intro); // Soul Orbs
CheckSoulOrbs(sections.intro, 99); // Charm Notches
CheckNotches(sections.intro); // Geo
CheckGeo(sections.intro); // Keep symbol False
CurrentDataFalse(); // First Hint Only
(0,_page_functions_js__WEBPACK_IMPORTED_MODULE_1__.AppendHTML)(sections.hints, sections.hints.entries.fireballLevel.spoiler);
var entries = {};
for (var section in sections) {
entries = sections[section].entries;
switch (section) {
case "intro":
case "hints":
break;
default:
for (var entry in entries) {
sFillText += PrepareHTMLString(sections[section], entries[entry].name, entries[entry].spoiler, entries[entry].wiki);
}
(0,_page_functions_js__WEBPACK_IMPORTED_MODULE_1__.AppendHTML)(sections[section], sFillText);
}
sFillText = "";
}
/* /*
// Temp arrays storing references (addresses) to objects for looping through them (duplicates important) // Temp arrays storing references (addresses) to objects for looping through them (duplicates important)
let hkObjArray = [HK.BOSSES, HK.CHARMS, HK.EQUIPMENT, HK.NAILARTS, HK.MASKSHARDS, HK.MASKSHARDS_WORLD, HK.VESSELFRAGMENTS, HK.VESSELFRAGMENTS_WORLD, HK.DREAMERS, HK.COLOSSEUM, HK.DREAMNAIL, HK.WARRIORDREAMS, HK.GRIMMTROUPE, HK.LIFEBLOOD, HK.GODMASTER, HK.ESSENTIAL, HK.ACHIEVEMENTS, HK.STATISTICS, HK.GODHOME_STATISTICS]; let hkObjArray = [HK.BOSSES, HK.CHARMS, HK.EQUIPMENT, HK.NAILARTS, HK.MASKSHARDS, HK.MASKSHARDS_WORLD, HK.VESSELFRAGMENTS, HK.VESSELFRAGMENTS_WORLD, HK.DREAMERS, HK.COLOSSEUM, HK.DREAMNAIL, HK.WARRIORDREAMS, HK.GRIMMTROUPE, HK.LIFEBLOOD, HK.GODMASTER, HK.ESSENTIAL, HK.ACHIEVEMENTS, HK.STATISTICS, HK.GODHOME_STATISTICS];
@ -1366,10 +1364,10 @@ function InitialHTMLPopulate(sections) {
*/ */
// Fleur Dividers // Fleur Dividers
/* AppendHTML(sections.godmaster, FLEUR_DIVIDE);
(0,_page_functions_js__WEBPACK_IMPORTED_MODULE_1__.AppendHTML)(sections.godmaster, FLEUR_DIVIDE); AppendHTML(sections.essential, FLEUR_DIVIDE);
(0,_page_functions_js__WEBPACK_IMPORTED_MODULE_1__.AppendHTML)(sections.essential, FLEUR_DIVIDE); AppendHTML(sections.achievements, FLEUR_DIVIDE); */
(0,_page_functions_js__WEBPACK_IMPORTED_MODULE_1__.AppendHTML)(sections.achievements, FLEUR_DIVIDE); // Check local storage first to set proper checkbox state before the below functions start (default is always unchecked) // Check local storage first to set proper checkbox state before the below functions start (default is always unchecked)
if ((0,_page_functions_js__WEBPACK_IMPORTED_MODULE_1__.StorageAvailable)('localStorage')) { if ((0,_page_functions_js__WEBPACK_IMPORTED_MODULE_1__.StorageAvailable)('localStorage')) {
if (localStorage.getItem("hkCheckboxHints") === "checked") document.getElementById("checkbox-hints").checked = true; if (localStorage.getItem("hkCheckboxHints") === "checked") document.getElementById("checkbox-hints").checked = true;
@ -1378,9 +1376,9 @@ function InitialHTMLPopulate(sections) {
// if (localStorage.getItem("hkCheckboxSpoilers") === "checked") document.getElementById("checkbox-spoilers").checked = true; // if (localStorage.getItem("hkCheckboxSpoilers") === "checked") document.getElementById("checkbox-spoilers").checked = true;
// Prevents wrong checkbox behaviour (must run after everything is finished) // Prevents wrong checkbox behaviour (must run after everything is finished)
/* CheckboxHintsToggle();
CheckboxSpoilersToggle(); */
(0,_page_functions_js__WEBPACK_IMPORTED_MODULE_1__.CheckboxHintsToggle)();
(0,_page_functions_js__WEBPACK_IMPORTED_MODULE_1__.CheckboxSpoilersToggle)();
} }
/** /**
* Zero-fill all "percent" properties in the JSON Object (reset to default) * Zero-fill all "percent" properties in the JSON Object (reset to default)
@ -4799,8 +4797,8 @@ function PrefillHTML(jsObj) {
var element = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "generated"; var element = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "generated";
var domElement = document.getElementById(element); var domElement = document.getElementById(element);
var sFillText = ""; // Clean "generated" div var sFillText = ""; // Clean "generated" div
// domElement.innerHTML = "";
domElement.innerHTML = "";
var id = ""; var id = "";
var h2 = ""; var h2 = "";
var h2id = ""; var h2id = "";
@ -4815,9 +4813,8 @@ function PrefillHTML(jsObj) {
mp = "<div class='percent-box'>".concat(i === "intro" ? 0 : jsObj[i].maxPercent, "%</div>"); mp = "<div class='percent-box'>".concat(i === "intro" ? 0 : jsObj[i].maxPercent, "%</div>");
if (!jsObj[i].hasOwnProperty("maxPercent")) mp = ""; if (!jsObj[i].hasOwnProperty("maxPercent")) mp = "";
sFillText += "\n <div id=\"".concat(id, "\" ").concat(cl, ">\n <h2 id='").concat(h2id, "'>").concat(h2).concat(mp, "</h2>\n </div>\n "); sFillText += "\n <div id=\"".concat(id, "\" ").concat(cl, ">\n <h2 id='").concat(h2id, "'>").concat(h2).concat(mp, "</h2>\n </div>\n ");
} } // domElement.innerHTML = sFillText;
domElement.innerHTML = sFillText;
} }
/** /**
* Replaces the h2 titles with a current percent/max percent values as read from the save file * Replaces the h2 titles with a current percent/max percent values as read from the save file
@ -4870,19 +4867,17 @@ function CompletionHTML(jsObj, hkGameCompletion) {
if (jsObj[i].id != "hk-intro") cp += "/"; if (jsObj[i].id != "hk-intro") cp += "/";
fillText = "<div class='percent-box".concat(cl, "'>").concat(i === "intro" ? cp : cp + jsObj[i].maxPercent, "%</div>"); fillText = "<div class='percent-box".concat(cl, "'>").concat(i === "intro" ? cp : cp + jsObj[i].maxPercent, "%</div>");
} } // document.getElementById(h2id).innerHTML = h2 + fillText;
document.getElementById(h2id).innerHTML = h2 + fillText;
} }
} }
/* ################################### Optimized Functions ###################################### */ /* ################################### Optimized Functions ###################################### */
function GenerateInnerHTML(hkdb) { function GenerateInnerHTML(sections) {
console.log(hkdb); console.log(sections);
var finalHTMLFill = ""; var finalHTMLFill = "";
var textFill = ""; var textFill = "";
var sections = hkdb.SECTION;
var entries = {}; var entries = {};
for (var section in sections) { for (var section in sections) {
@ -4896,17 +4891,9 @@ function GenerateInnerHTML(hkdb) {
/* create all main entries */ /* create all main entries */
for (var entry in entries) { for (var entry in entries) {
textFill += SingleEntryFill(entries[entry]); textFill += SingleEntryFill(section, entries[entry]);
} }
/* Cumulate all section texts into one variable for final HTML filling. End section div tag */
switch (section) {
case "intro":
textFill += "This is intro";
break;
default:
}
/* Cumulate all section texts into one variable for final HTML filling. End div tag */
finalHTMLFill += "".concat(textFill, "\n</div>\n\n"); finalHTMLFill += "".concat(textFill, "\n</div>\n\n");
@ -4917,6 +4904,7 @@ function GenerateInnerHTML(hkdb) {
console.groupCollapsed("finalHTMLFill"); console.groupCollapsed("finalHTMLFill");
console.log(finalHTMLFill); console.log(finalHTMLFill);
console.groupEnd(); console.groupEnd();
document.getElementById("generated").innerHTML = finalHTMLFill;
} }
function SectionStart(section) { function SectionStart(section) {
@ -4971,12 +4959,19 @@ function CompletionFill(section) {
return "\t".concat(h2id).concat(h2).concat(fillText, "</h2>\n"); return "\t".concat(h2id).concat(h2).concat(fillText, "</h2>\n");
} }
function SingleEntryFill(entry) { function SingleEntryFill(section, entry) {
var icon = ""; var icon = "";
var iconGreen = SYMBOL_TRUE; var iconGreen = SYMBOL_TRUE;
var iconRed = SYMBOL_FALSE; var iconRed = SYMBOL_FALSE;
var iconClock = SYMBOL_CLOCK; var iconClock = SYMBOL_CLOCK;
var iconNull = SYMBOL_EMPTY; var iconNull = SYMBOL_EMPTY;
var textPrefix = "";
var textSuffix = "";
var wiki = "";
var b = ["<b>", "</b>"];
var p = "";
var span = ["", ""];
var spoiler = ["", ""];
if (entry.hasOwnProperty("icon")) { if (entry.hasOwnProperty("icon")) {
switch (entry.icon) { switch (entry.icon) {
@ -4999,10 +4994,6 @@ function SingleEntryFill(entry) {
icon = iconNull; icon = iconNull;
} }
var textPrefix = "";
var textSuffix = "";
var wiki = "";
if (entry.hasOwnProperty("name")) { if (entry.hasOwnProperty("name")) {
textPrefix = entry.name; textPrefix = entry.name;
} }
@ -5015,15 +5006,23 @@ function SingleEntryFill(entry) {
wiki = entry.wiki; wiki = entry.wiki;
} }
var b = ["<b>", "</b>"];
if (!textPrefix.length) b = ["", ""]; if (!textPrefix.length) b = ["", ""];
if (wiki.length) b = ["<a class=\"wiki\" href=\"".concat(WIKI_LINK).concat(wiki, "\" target=\"_blank\">"), "</a>"]; if (wiki.length) b = ["<a class=\"wiki\" href=\"".concat(WIKI_LINK).concat(wiki, "\" target=\"_blank\">"), "</a>"];
var p = "<span class='p-left-small'></span>";
var span = ["<span class='spoiler-span'>", "</span>"];
var spoiler = ["<span class='spoiler-text'>", "</span>"]; // let dash = "";
if (textSuffix.length && textPrefix.length) textSuffix = "— " + textSuffix; switch (section) {
if (textPrefix.includes("<del>")) textSuffix = "<del>".concat(textSuffix, "</del>"); case "intro":
case "hints":
b = ["", ""];
break;
default:
p = "<span class='p-left-small'></span>";
span = ["<span class='spoiler-span'>", "</span>"];
spoiler = ["<span class='spoiler-text'>", "</span>"];
if (textSuffix.length && textPrefix.length) textSuffix = "— " + textSuffix;
if (textPrefix.includes("<del>")) textSuffix = "<del>".concat(textSuffix, "</del>");
}
return "\n <div class=\"single-entry\">\n ".concat(icon, "\n ").concat(b[0]).concat(textPrefix).concat(b[1], "\n ").concat(span[0], "\n ").concat(p, "\n ").concat(spoiler[0], "\n ").concat(textSuffix, "\n ").concat(spoiler[1], "\n ").concat(span[1], "\n </div>\n "); return "\n <div class=\"single-entry\">\n ".concat(icon, "\n ").concat(b[0]).concat(textPrefix).concat(b[1], "\n ").concat(span[0], "\n ").concat(p, "\n ").concat(spoiler[0], "\n ").concat(textSuffix, "\n ").concat(spoiler[1], "\n ").concat(span[1], "\n </div>\n ");
} }
/** /**

File diff suppressed because one or more lines are too long

View file

@ -91,7 +91,7 @@ function HKCheckCompletion(jsonObject) {
} else return false; } else return false;
// Pre-Cleaning and filling initial data (h2, id) needed for PrepareHTMLString() // Pre-Cleaning and filling initial data (h2, id) needed for PrepareHTMLString()
PrefillHTML(HK.SECTION); // PrefillHTML(HK.SECTION);
// Prevents adding current percent data after each function call (each click of Analyze button) // Prevents adding current percent data after each function call (each click of Analyze button)
ResetCompletion(HK.SECTION); ResetCompletion(HK.SECTION);
@ -112,7 +112,7 @@ function HKCheckCompletion(jsonObject) {
// ---------------- Fleur Divide ----------------- // // ---------------- Fleur Divide ----------------- //
AppendHTML(HK.SECTION.intro, FLEUR_DIVIDE); // AppendHTML(HK.SECTION.intro, FLEUR_DIVIDE);
// ---------------- Health Masks ----------------- // // ---------------- Health Masks ----------------- //
@ -192,7 +192,7 @@ function HKCheckCompletion(jsonObject) {
// ---------------- Fleur Divide ----------------- // // ---------------- Fleur Divide ----------------- //
AppendHTML(HK.SECTION.godmaster, FLEUR_DIVIDE); // AppendHTML(HK.SECTION.godmaster, FLEUR_DIVIDE);
// ------------------------- Essential Things ----------------------------- // // ------------------------- Essential Things ----------------------------- //
@ -200,7 +200,7 @@ function HKCheckCompletion(jsonObject) {
// ---------------- Fleur Divide ----------------- // // ---------------- Fleur Divide ----------------- //
AppendHTML(HK.SECTION.essential, FLEUR_DIVIDE); // AppendHTML(HK.SECTION.essential, FLEUR_DIVIDE);
// ------------------------- Achievements ----------------------------- // // ------------------------- Achievements ----------------------------- //
@ -208,7 +208,7 @@ function HKCheckCompletion(jsonObject) {
// ---------------- Fleur Divide ----------------- // // ---------------- Fleur Divide ----------------- //
AppendHTML(HK.SECTION.achievements, FLEUR_DIVIDE); // AppendHTML(HK.SECTION.achievements, FLEUR_DIVIDE);
// ------------------------- Game Statistics ----------------------------- // // ------------------------- Game Statistics ----------------------------- //
@ -226,7 +226,7 @@ function HKCheckCompletion(jsonObject) {
CompletionHTML(HK.SECTION, HKPlayerData.completionPercentage); CompletionHTML(HK.SECTION, HKPlayerData.completionPercentage);
GenerateInnerHTML(HK); GenerateInnerHTML(HK.SECTION);
// Prevents wrong checkbox behaviour (must run after everything is finished) // Prevents wrong checkbox behaviour (must run after everything is finished)
CheckboxHintsToggle(); CheckboxHintsToggle();
@ -326,7 +326,7 @@ function CheckPlayTime(divId, playTime) {
divId.entries.timePlayed.spoiler = hours + " h " + minutes + " min " + sec + " sec"; divId.entries.timePlayed.spoiler = hours + " h " + minutes + " min " + sec + " sec";
document.getElementById(divId.id).innerHTML += divStart + SYMBOL_CLOCK + textFill + divEnd; // document.getElementById(divId.id).innerHTML += divStart + SYMBOL_CLOCK + textFill + divEnd;
} }
/** /**
@ -341,7 +341,7 @@ function CheckCompletionPercent(divId, completionPercentage) {
divId.percent = completionPercentage; divId.percent = completionPercentage;
let textFill = "Game Completion:" + pSpan + "<b>" + completionPercentage + " %</b>" + pSpan + "(out of " + divId.maxPercent + " %)"; let textFill = "Game Completion:" + pSpan + "<b>" + completionPercentage + " %</b>" + pSpan + "(out of " + divId.maxPercent + " %)";
document.getElementById(divId.id).innerHTML += divStart + completionSymbol + textFill + divEnd; // document.getElementById(divId.id).innerHTML += divStart + completionSymbol + textFill + divEnd;
} }
/** /**
@ -353,7 +353,7 @@ function CheckSaveFileVersion(divId, saveVersion = HK.SECTION.intro.entries.save
CurrentDataBlank(); CurrentDataBlank();
let textFill = `Save Version:${pSpan}<b>${saveVersion}</b>${pSpan}`; let textFill = `Save Version:${pSpan}<b>${saveVersion}</b>${pSpan}`;
document.getElementById(divId.id).innerHTML += divStart + completionSymbol + textFill + divEnd; // document.getElementById(divId.id).innerHTML += divStart + completionSymbol + textFill + divEnd;
} }
/** /**
@ -377,7 +377,7 @@ function CheckHealthMasks(divId, masks = 5, permadeathMode = 0) {
maskImages += maskImg; maskImages += maskImg;
} }
document.getElementById(divId.id).innerHTML += divStartCenter + icon + textFill + maskImages + divEnd; // document.getElementById(divId.id).innerHTML += divStartCenter + icon + textFill + maskImages + divEnd;
} }
/** /**
@ -397,7 +397,7 @@ function CheckSoulOrbs(divId, totalSoul) {
soulImages += soulImg; soulImages += soulImg;
} }
document.getElementById(divId.id).innerHTML += divStartCenter + icon + textFill + soulImages + divEnd; // document.getElementById(divId.id).innerHTML += divStartCenter + icon + textFill + soulImages + divEnd;
} }
/** /**
@ -417,7 +417,7 @@ function CheckGeo(divId, geoValue = 0, geoPoolValue = 0) {
// Show also total Geo (Geo + Shade Geo) if player has at least 1 geo alongside the shade geo // Show also total Geo (Geo + Shade Geo) if player has at least 1 geo alongside the shade geo
if (geoValue > 0 && geoPoolValue > 0) textFill += `${pSpan}=${pSpan}<b>${geoValue+geoPoolValue}</b>`; if (geoValue > 0 && geoPoolValue > 0) textFill += `${pSpan}=${pSpan}<b>${geoValue+geoPoolValue}</b>`;
document.getElementById(divId.id).innerHTML += divStartCenter + icon + textFill + divEnd; // document.getElementById(divId.id).innerHTML += divStartCenter + icon + textFill + divEnd;
} }
/** /**
@ -473,7 +473,7 @@ function CheckNotches(divId, totalNotches = 3, filledNotches = 0) {
} }
} }
document.getElementById(divId.id).innerHTML += divStartCenter + icon + textFill + notchImages + divEnd; // document.getElementById(divId.id).innerHTML += divStartCenter + icon + textFill + notchImages + divEnd;
} }
/** /**
@ -571,7 +571,7 @@ function CheckIfDataTrue(divId, dataObject, playerData, worldData = []) {
sFillText += PrepareHTMLString(divId, textPrefix, textSuffix, wiki); sFillText += PrepareHTMLString(divId, textPrefix, textSuffix, wiki);
} }
AppendHTML(divId, sFillText); // AppendHTML(divId, sFillText);
} }
/** /**
@ -606,7 +606,7 @@ function CheckSpellLevel(divId, dataObject, playerData) {
} }
} }
AppendHTML(divId, sFillText); // AppendHTML(divId, sFillText);
} }
/** /**
@ -624,7 +624,7 @@ function CheckWarriorDreams(divId, dataObject, playerData) {
sFillText += PrepareHTMLString(divId, dataObject[i].name, dataObject[i].spoiler, dataObject[i].wiki); sFillText += PrepareHTMLString(divId, dataObject[i].name, dataObject[i].spoiler, dataObject[i].wiki);
} }
AppendHTML(divId, sFillText); // AppendHTML(divId, sFillText);
} }
/** /**
@ -663,7 +663,7 @@ function CheckNailUpgrades(divId, dataObject, playerData) {
} }
if (divId.percent) divId.percent--; // subject one for the Old Nail if (divId.percent) divId.percent--; // subject one for the Old Nail
AppendHTML(divId, sFillText); // AppendHTML(divId, sFillText);
} }
/** /**
@ -718,7 +718,7 @@ function CheckWorldDataTrue(divId, idText, dataObject, worldData) {
sFillText += PrepareHTMLString(divId, orderedArray[i][1], orderedArray[i][2], orderedArray[i][3]); sFillText += PrepareHTMLString(divId, orderedArray[i][1], orderedArray[i][2], orderedArray[i][3]);
} }
AppendHTML(divId, sFillText); // AppendHTML(divId, sFillText);
} }
/** /**
@ -1026,7 +1026,7 @@ function CheckAdditionalThings(divId, dataObject, playerData, worldData, sceneDa
sFillText += PrepareHTMLString(divId, textPrefix, textSuffix, wiki); sFillText += PrepareHTMLString(divId, textPrefix, textSuffix, wiki);
} // end for (let i in dataObject) } // end for (let i in dataObject)
AppendHTML(divId, sFillText); // AppendHTML(divId, sFillText);
// ========================================== // ==========================================
// -------------- Methods ---------------- // // -------------- Methods ---------------- //
@ -1232,7 +1232,7 @@ function CheckHintsTrue(divId, dataObject, playerData, worldData) {
if (playerData.killedHollowKnight === true) { if (playerData.killedHollowKnight === true) {
// a text to show when player already finished their first playthrough (killed Hollow Knight first time) // a text to show when player already finished their first playthrough (killed Hollow Knight first time)
AppendHTML(divId, "...a successful Knight who doesn't need hints anymore. The Knight explores the world of Hallownest patiently in constant search of its remaining secrets..."); /* AppendHTML(divId, "...a successful Knight who doesn't need hints anymore. The Knight explores the world of Hallownest patiently in constant search of its remaining secrets..."); */
return true; return true;
} }
@ -1290,7 +1290,7 @@ function CheckHintsTrue(divId, dataObject, playerData, worldData) {
} }
} // end: for (let i in dataObject) } // end: for (let i in dataObject)
AppendHTML(divId, sFillText); // AppendHTML(divId, sFillText);
} // function CheckHintsTrue() } // function CheckHintsTrue()
/** /**
@ -1327,8 +1327,10 @@ function InitialHTMLPopulate(sections) {
CurrentDataFalse(); CurrentDataFalse();
PrefillHTML(sections); GenerateInnerHTML(sections);
// PrefillHTML(sections);
/*
// Play Time // Play Time
CheckPlayTime(sections.intro, 0) CheckPlayTime(sections.intro, 0)
@ -1339,7 +1341,7 @@ function InitialHTMLPopulate(sections) {
CheckSaveFileVersion(sections.intro); CheckSaveFileVersion(sections.intro);
// Fleur Divide // Fleur Divide
AppendHTML(sections.intro, FLEUR_DIVIDE); // AppendHTML(sections.intro, FLEUR_DIVIDE);
// Health Masks // Health Masks
CheckHealthMasks(sections.intro); CheckHealthMasks(sections.intro);
@ -1355,11 +1357,11 @@ function InitialHTMLPopulate(sections) {
// Keep symbol False // Keep symbol False
CurrentDataFalse(); CurrentDataFalse();
*/
// First Hint Only // First Hint Only
AppendHTML(sections.hints, sections.hints.entries.fireballLevel.spoiler); // AppendHTML(sections.hints, sections.hints.entries.fireballLevel.spoiler);
let entries = {}; /* let entries = {};
for (let section in sections) { for (let section in sections) {
@ -1378,11 +1380,11 @@ function InitialHTMLPopulate(sections) {
sFillText += PrepareHTMLString(sections[section], entries[entry].name, entries[entry].spoiler, entries[entry].wiki); sFillText += PrepareHTMLString(sections[section], entries[entry].name, entries[entry].spoiler, entries[entry].wiki);
} }
AppendHTML(sections[section], sFillText); // AppendHTML(sections[section], sFillText);
} }
sFillText = ""; sFillText = "";
} } */
/* /*
@ -1433,9 +1435,9 @@ function InitialHTMLPopulate(sections) {
*/ */
// Fleur Dividers // Fleur Dividers
AppendHTML(sections.godmaster, FLEUR_DIVIDE); /* AppendHTML(sections.godmaster, FLEUR_DIVIDE);
AppendHTML(sections.essential, FLEUR_DIVIDE); AppendHTML(sections.essential, FLEUR_DIVIDE);
AppendHTML(sections.achievements, FLEUR_DIVIDE); AppendHTML(sections.achievements, FLEUR_DIVIDE); */
// Check local storage first to set proper checkbox state before the below functions start (default is always unchecked) // Check local storage first to set proper checkbox state before the below functions start (default is always unchecked)
if (StorageAvailable('localStorage')) { if (StorageAvailable('localStorage')) {
@ -1447,8 +1449,8 @@ function InitialHTMLPopulate(sections) {
// if (localStorage.getItem("hkCheckboxSpoilers") === "checked") document.getElementById("checkbox-spoilers").checked = true; // if (localStorage.getItem("hkCheckboxSpoilers") === "checked") document.getElementById("checkbox-spoilers").checked = true;
// Prevents wrong checkbox behaviour (must run after everything is finished) // Prevents wrong checkbox behaviour (must run after everything is finished)
CheckboxHintsToggle(); /* CheckboxHintsToggle();
CheckboxSpoilersToggle(); CheckboxSpoilersToggle(); */
} }
/** /**

View file

@ -73,7 +73,7 @@ function PrefillHTML(jsObj, element = "generated") {
let domElement = document.getElementById(element); let domElement = document.getElementById(element);
let sFillText = ""; let sFillText = "";
// Clean "generated" div // Clean "generated" div
domElement.innerHTML = ""; // domElement.innerHTML = "";
let id = ""; let id = "";
let h2 = ""; let h2 = "";
@ -96,7 +96,7 @@ function PrefillHTML(jsObj, element = "generated") {
`; `;
} }
domElement.innerHTML = sFillText; // domElement.innerHTML = sFillText;
} }
/** /**
@ -156,7 +156,7 @@ function CompletionHTML(jsObj, hkGameCompletion) {
fillText = `<div class='percent-box${cl}'>${(i === "intro") ? cp: cp + jsObj[i].maxPercent}%</div>`; fillText = `<div class='percent-box${cl}'>${(i === "intro") ? cp: cp + jsObj[i].maxPercent}%</div>`;
} }
document.getElementById(h2id).innerHTML = h2 + fillText; // document.getElementById(h2id).innerHTML = h2 + fillText;
} }
} }
@ -164,14 +164,13 @@ function CompletionHTML(jsObj, hkGameCompletion) {
/* ################################### Optimized Functions ###################################### */ /* ################################### Optimized Functions ###################################### */
function GenerateInnerHTML(hkdb) { function GenerateInnerHTML(sections) {
console.log(hkdb); console.log(sections);
let finalHTMLFill = ""; let finalHTMLFill = "";
let textFill = ""; let textFill = "";
let sections = hkdb.SECTION;
let entries = {}; let entries = {};
for (let section in sections) { for (let section in sections) {
@ -186,20 +185,10 @@ function GenerateInnerHTML(hkdb) {
/* create all main entries */ /* create all main entries */
for (let entry in entries) { for (let entry in entries) {
textFill += SingleEntryFill(entries[entry]); textFill += SingleEntryFill(section, entries[entry]);
} }
switch (section) { /* Cumulate all section texts into one variable for final HTML filling. End section div tag */
case "intro":
textFill += "This is intro";
break;
default:
}
/* Cumulate all section texts into one variable for final HTML filling. End div tag */
finalHTMLFill += `${textFill}\n</div>\n\n`; finalHTMLFill += `${textFill}\n</div>\n\n`;
} }
@ -209,6 +198,8 @@ function GenerateInnerHTML(hkdb) {
console.log(finalHTMLFill); console.log(finalHTMLFill);
console.groupEnd(); console.groupEnd();
document.getElementById("generated").innerHTML = finalHTMLFill;
} }
function SectionStart(section) { function SectionStart(section) {
@ -270,7 +261,7 @@ function SectionStart(section) {
} }
function SingleEntryFill(entry) { function SingleEntryFill(section, entry) {
let icon = ""; let icon = "";
let iconGreen = SYMBOL_TRUE; let iconGreen = SYMBOL_TRUE;
@ -278,6 +269,14 @@ function SingleEntryFill(entry) {
let iconClock = SYMBOL_CLOCK; let iconClock = SYMBOL_CLOCK;
let iconNull = SYMBOL_EMPTY; let iconNull = SYMBOL_EMPTY;
let textPrefix = "";
let textSuffix = "";
let wiki = "";
let b = ["<b>", "</b>"];
let p = "";
let span = ["", ""];
let spoiler = ["", ""];
if (entry.hasOwnProperty("icon")) { if (entry.hasOwnProperty("icon")) {
switch (entry.icon) { switch (entry.icon) {
@ -298,10 +297,6 @@ function SingleEntryFill(entry) {
icon = iconNull; icon = iconNull;
} }
let textPrefix = "";
let textSuffix = "";
let wiki = "";
if (entry.hasOwnProperty("name")) { if (entry.hasOwnProperty("name")) {
textPrefix = entry.name; textPrefix = entry.name;
} }
@ -314,17 +309,26 @@ function SingleEntryFill(entry) {
wiki = entry.wiki; wiki = entry.wiki;
} }
let b = ["<b>", "</b>"];
if (!textPrefix.length) b = ["", ""]; if (!textPrefix.length) b = ["", ""];
if (wiki.length) b = [`<a class="wiki" href="${WIKI_LINK}${wiki}" target="_blank">`, "</a>"]; if (wiki.length) b = [`<a class="wiki" href="${WIKI_LINK}${wiki}" target="_blank">`, "</a>"];
let p = "<span class='p-left-small'></span>"; switch (section) {
let span = ["<span class='spoiler-span'>", "</span>"];
let spoiler = ["<span class='spoiler-text'>", "</span>"]; case "intro":
case "hints":
b = ["", ""];
break;
default:
p = "<span class='p-left-small'></span>";
span = ["<span class='spoiler-span'>", "</span>"];
spoiler = ["<span class='spoiler-text'>", "</span>"];
if (textSuffix.length && textPrefix.length) textSuffix = "— " + textSuffix;
if (textPrefix.includes("<del>")) textSuffix = `<del>${textSuffix}</del>`;
}
// let dash = "";
if (textSuffix.length && textPrefix.length) textSuffix = "— " + textSuffix;
if (textPrefix.includes("<del>")) textSuffix = `<del>${textSuffix}</del>`;
return ` return `
<div class="single-entry"> <div class="single-entry">