From 5d84df4fa00b66c1b34d021618272d0d7514158f Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Fri, 5 Feb 2021 18:55:53 -0500 Subject: [PATCH] Fix a bug in the weighted settings causing the sprite list to not update when a preset is changed --- WebHostLib/static/assets/weightedSettings.js | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/WebHostLib/static/assets/weightedSettings.js b/WebHostLib/static/assets/weightedSettings.js index f80ac74b..af881288 100644 --- a/WebHostLib/static/assets/weightedSettings.js +++ b/WebHostLib/static/assets/weightedSettings.js @@ -113,6 +113,7 @@ const handleOptionChange = (event) => { }; const populateSettings = () => { + buildSpriteOptions(); const presetNumber = document.getElementById('preset-number').value; const settings = JSON.parse(localStorage.getItem(`weightedSettings${presetNumber}`)) const settingsInputs = Array.from(document.querySelectorAll('.setting')); @@ -206,7 +207,21 @@ const buildUI = (settings, spriteData) => { settingsWrapper.appendChild(spriteOptionsHeader); const spriteOptionsWrapper = document.createElement('div'); + spriteOptionsWrapper.setAttribute('id', 'sprite-options-wrapper'); spriteOptionsWrapper.className = 'setting-wrapper'; + settingsWrapper.appendChild(spriteOptionsWrapper); + + // Append sprite picker + settingsWrapper.appendChild(buildSpritePicker(spriteData)); +}; + +const buildSpriteOptions = () => { + const spriteOptionsWrapper = document.getElementById('sprite-options-wrapper'); + + // Clear the contents of the wrapper div + while(spriteOptionsWrapper.firstChild){ + spriteOptionsWrapper.removeChild(spriteOptionsWrapper.lastChild); + } const spriteOptionsTitle = document.createElement('span'); spriteOptionsTitle.className = 'title-span'; @@ -240,11 +255,6 @@ const buildUI = (settings, spriteData) => { spriteOptionsTable.appendChild(tbody); spriteOptionsWrapper.appendChild(spriteOptionsTable); - - settingsWrapper.appendChild(spriteOptionsWrapper); - - // Append sprite picker - settingsWrapper.appendChild(buildSpritePicker(spriteData)); }; const buildRangeSettings = (parentElement, settings) => {