From bcaba4142b53ad802fcde069a7cf682aea7d8de8 Mon Sep 17 00:00:00 2001 From: Brenden Tuck Date: Mon, 12 Oct 2020 08:54:23 -0400 Subject: [PATCH] Add a clear layout button to the webclient --- .../static/webclient/js/plugins/goldenlayout.js | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/evennia/web/webclient/static/webclient/js/plugins/goldenlayout.js b/evennia/web/webclient/static/webclient/js/plugins/goldenlayout.js index d0037f27d5..e141b47b96 100644 --- a/evennia/web/webclient/static/webclient/js/plugins/goldenlayout.js +++ b/evennia/web/webclient/static/webclient/js/plugins/goldenlayout.js @@ -267,6 +267,17 @@ let goldenlayout = (function () { } } + + // + // + var onClearLocalstorage = function (evnt) { + myLayout.off( "stateChanged", onStateChanged ); + localStorage.removeItem( "evenniaGoldenLayoutSavedState" ); + localStorage.removeItem( "evenniaGoldenLayoutSavedStateName" ); + location.reload(); + } + + // // var onSwitchLayout = function (evnt) { @@ -328,7 +339,7 @@ let goldenlayout = (function () { // update localstorage localStorage.setItem( "evenniaGoldenLayoutSavedState", JSON.stringify(myLayout.toConfig()) ); - localStorage.getItem( "evenniaGoldenLayoutSavedStateName", JSON.stringify( activeLayoutName ) ); + localStorage.setItem( "evenniaGoldenLayoutSavedStateName", JSON.stringify( activeLayoutName ) ); } @@ -607,6 +618,7 @@ let goldenlayout = (function () { var layoutInput = $(""); var saveButton = $(""); + var clearButton = $(""); var layouts = Object.keys( evenniaGoldenLayouts ); for (var x = 0; x < layouts.length; x++) { @@ -620,12 +632,15 @@ let goldenlayout = (function () { // Layout selection on-change callback layoutInput.on('change', onSwitchLayout); saveButton.on('click', onSaveLayout); + clearButton.on('click', onClearLocalstorage); // add the selection dialog control to our parentdiv + parentdiv.addClass("goldenlayout-ui"); parentdiv.append("
UI Layout Selection (This list may be longer after login):
"); parentdiv.append(layoutInput); parentdiv.append(layoutName); parentdiv.append(saveButton); + parentdiv.append(clearButton); }