diff --git a/src/gui/options.js b/src/gui/options.js index 01035bf3f3342bfd95fb9c6002981691b3b0d3f5..ce2ac0d11c8185047def6ae2d36dd40bdac643e4 100644 --- a/src/gui/options.js +++ b/src/gui/options.js @@ -225,7 +225,7 @@ App.UI.OptionsGroup = (function() { if (value.value) { Engine.play(value.value); } else { - reload(); + App.UI.reload(); } }; } else { @@ -253,7 +253,7 @@ App.UI.OptionsGroup = (function() { if (value.callback) { value.callback(); } - reload(); + App.UI.reload(); }; } buttonGroup.append(button); @@ -262,7 +262,7 @@ App.UI.OptionsGroup = (function() { const isNumber = typeof currentValue === "number"; const textbox = App.UI.DOM.makeTextBox(currentValue, input => { option.object[option.property] = input; - reload(); + App.UI.reload(); }, isNumber); if (isNumber) { textbox.classList.add("number"); @@ -283,12 +283,6 @@ App.UI.OptionsGroup = (function() { return container; - function reload() { - const position = window.pageYOffset; - Engine.play(passage()); - window.scrollTo(0, position); - } - function inRange(mode, compareValue, value) { if (mode === "<") { return value < compareValue; diff --git a/src/js/utilsSC.js b/src/js/utilsSC.js index e6931d4c235e991c3ef81ab4ca0628bfe8c04889..3c21c2f6295d1b8497131d47a186ac81fb1f8953 100644 --- a/src/js/utilsSC.js +++ b/src/js/utilsSC.js @@ -304,3 +304,12 @@ App.UI.slaveDescriptionDialog = function(slave) { App.UI.DOM.slaveDescriptionDialog = function(slave) { return App.UI.DOM.link(SlaveFullName(slave), App.UI._showDescriptionDialog, [slave]); }; + +/** + * Reloads the passage and stays at the same height. + */ +App.UI.reload = function() { + const position = window.pageYOffset; + Engine.play(passage()); + window.scrollTo(0, position); +};