From dfd987041a899614be202405b02476682f4f4d34 Mon Sep 17 00:00:00 2001 From: chylex <info@chylex.com> Date: Sat, 1 Apr 2017 16:22:23 +0200 Subject: [PATCH] Tweak plugin system to not trigger enabled()/disabled() if requiresPageReload is true --- Resources/Scripts/plugins.browser.js | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/Resources/Scripts/plugins.browser.js b/Resources/Scripts/plugins.browser.js index 18cdcbd6..f875b601 100644 --- a/Resources/Scripts/plugins.browser.js +++ b/Resources/Scripts/plugins.browser.js @@ -49,19 +49,26 @@ } setState(plugin, enable){ + let reloading = plugin.obj.$pluginSettings.requiresPageReload; + if (enable && this.isDisabled(plugin)){ - this.disabled.splice(this.disabled.indexOf(plugin.id), 1); - plugin.obj.enabled(); - this.runWhenReady(plugin); + if (reloading){ + location.reload(); + } + else{ + this.disabled.splice(this.disabled.indexOf(plugin.id), 1); + plugin.obj.enabled(); + this.runWhenReady(plugin); + } } else if (!enable && !this.isDisabled(plugin)){ - this.disabled.push(plugin.id); - plugin.obj.disabled(); - } - else return; - - if (plugin.obj.$pluginSettings.requiresPageReload){ - window.location.reload(); + if (reloading){ + location.reload(); + } + else{ + this.disabled.push(plugin.id); + plugin.obj.disabled(); + } } }