1
0
mirror of https://github.com/chylex/TweetDuck.git synced 2025-04-09 06:15:49 +02:00

Import shared plugin setup code into individual environment files

This commit is contained in:
chylex 2018-07-04 06:26:41 +02:00
parent fedf9c60ee
commit 414f3a1f9d
5 changed files with 11 additions and 9 deletions

View File

@ -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;
}
}

View File

@ -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();

View File

@ -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))){

View File

@ -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
})();

View File

@ -14,3 +14,5 @@ window.TD_PLUGINS = {
plugin.obj.run();
}
};
#import components/plugins.base.js