diff --git a/Plugins/Enums/PluginEnvironment.cs b/Plugins/Enums/PluginEnvironment.cs index bd4fb2c0..60a28ffa 100644 --- a/Plugins/Enums/PluginEnvironment.cs +++ b/Plugins/Enums/PluginEnvironment.cs @@ -26,9 +26,8 @@ public static bool IncludesDisabledPlugins(this PluginEnvironment environment){ public static string GetScriptIdentifier(this PluginEnvironment environment){ switch(environment){ - case PluginEnvironment.None: return "root:plugins"; - case PluginEnvironment.Browser: return "root:plugins.browser"; - case PluginEnvironment.Notification: return "root:plugins.notification"; + case PluginEnvironment.Browser: return "root:plugins:browser"; + case PluginEnvironment.Notification: return "root:plugins:notification"; default: return null; } } diff --git a/Plugins/PluginManager.cs b/Plugins/PluginManager.cs index 09cde772..bfcd903a 100644 --- a/Plugins/PluginManager.cs +++ b/Plugins/PluginManager.cs @@ -14,7 +14,7 @@ namespace TweetDuck.Plugins{ sealed class PluginManager{ private static IReadOnlyDictionary<PluginEnvironment, string> LoadSetupScripts(){ return PluginEnvironmentExtensions.Map( - ScriptLoader.LoadResource("plugins.js"), + null, ScriptLoader.LoadResource("plugins.browser.js"), ScriptLoader.LoadResource("plugins.notification.js") ); @@ -158,7 +158,6 @@ private void ExecutePlugins(IFrame frame, PluginEnvironment environment){ } ScriptLoader.ExecuteScript(frame, PluginSetupScripts[environment], environment.GetScriptIdentifier()); - ScriptLoader.ExecuteScript(frame, PluginSetupScripts[PluginEnvironment.None], PluginEnvironment.None.GetScriptIdentifier()); bool includeDisabled = environment.IncludesDisabledPlugins(); diff --git a/Resources/Scripts/plugins.js b/Resources/Scripts/components/plugins.base.js similarity index 98% rename from Resources/Scripts/plugins.js rename to Resources/Scripts/components/plugins.base.js index f7684832..2f61b6c1 100644 --- a/Resources/Scripts/plugins.js +++ b/Resources/Scripts/components/plugins.base.js @@ -5,23 +5,23 @@ window.TDPF_loadConfigurationFile = function(pluginObject, fileNameUser, fileNameDefault, onSuccess, onFailure){ var identifier = pluginObject.$id; var token = pluginObject.$token; - + $TDP.checkFileExists(token, fileNameUser).then(exists => { var fileName = exists ? fileNameUser : fileNameDefault; (exists ? $TDP.readFile(token, fileName, true) : $TDP.readFileRoot(token, fileName)).then(contents => { var obj; - + try{ obj = eval("("+contents+")"); }catch(err){ if (!(onFailure && onFailure(err))){ $TD.alert("warning", "Problem loading '"+fileName+"' file for '"+identifier+"' plugin, the JavaScript syntax is invalid: "+err.message); } - + return; } - + onSuccess && onSuccess(obj); }).catch(err => { if (!(onFailure && onFailure(err))){ diff --git a/Resources/Scripts/plugins.browser.js b/Resources/Scripts/plugins.browser.js index 747a7661..12032ac6 100644 --- a/Resources/Scripts/plugins.browser.js +++ b/Resources/Scripts/plugins.browser.js @@ -122,4 +122,6 @@ window.TDPF_reloadColumns = window.TDGF_reloadColumns; window.TDPF_prioritizeNewestEvent = window.TDGF_prioritizeNewestEvent; window.TDPF_injectMustache = window.TDGF_injectMustache; + + #import components/plugins.base.js })(); diff --git a/Resources/Scripts/plugins.notification.js b/Resources/Scripts/plugins.notification.js index 2474b485..f22201a7 100644 --- a/Resources/Scripts/plugins.notification.js +++ b/Resources/Scripts/plugins.notification.js @@ -14,3 +14,5 @@ window.TD_PLUGINS = { plugin.obj.run(); } }; + +#import components/plugins.base.js