1
0
mirror of https://github.com/chylex/TweetDuck.git synced 2025-04-20 21:15:48 +02:00

Add a global plugins.js file with loadConfigurationFile utility function

This commit is contained in:
chylex 2016-09-04 03:59:37 +02:00
parent 81aa30b2ec
commit 36473c2df9
4 changed files with 29 additions and 0 deletions

View File

@ -112,6 +112,7 @@ private void Browser_FrameLoadEnd(object sender, FrameLoadEndEventArgs e){
if (plugins.HasAnyPlugin(PluginEnvironment.Browser)){
ScriptLoader.ExecuteFile(e.Frame, PluginManager.PluginBrowserScriptFile);
ScriptLoader.ExecuteFile(e.Frame, PluginManager.PluginGlobalScriptFile);
plugins.ExecutePlugins(e.Frame, PluginEnvironment.Browser, true);
}
}

View File

@ -196,6 +196,7 @@ private void Browser_FrameLoadEnd(object sender, FrameLoadEndEventArgs e){
if (plugins.HasAnyPlugin(PluginEnvironment.Notification)){
ScriptLoader.ExecuteScript(e.Frame, pluginJS, PluginScriptIdentifier);
ScriptLoader.ExecuteFile(e.Frame, PluginManager.PluginGlobalScriptFile);
plugins.ExecutePlugins(e.Frame, PluginEnvironment.Notification, false);
}
}

View File

@ -10,6 +10,7 @@ namespace TweetDck.Plugins{
class PluginManager{
public const string PluginBrowserScriptFile = "plugins.browser.js";
public const string PluginNotificationScriptFile = "plugins.notification.js";
public const string PluginGlobalScriptFile = "plugins.js";
public string PathOfficialPlugins { get { return Path.Combine(rootPath, "official"); } }
public string PathCustomPlugins { get { return Path.Combine(rootPath, "user"); } }

View File

@ -0,0 +1,26 @@
(function($TDP){
//
// Block: Setup a simple JavaScript object configuration loader.
//
window.TDPF_loadConfigurationFile = function(pluginObject, fileName, onSuccess, onFailure){
$TDP.readFile(pluginObject.$token, fileName, true).then(contents => {
var obj;
try{
obj = eval("("+contents+")");
}catch(err){
if (!(onFailure && onFailure(err.message))){
alert("Problem loading '"+fileName+"' file for '"+pluginObject.$id+"' plugin, the JavaScript syntax is invalid: "+err.message);
}
return;
}
onSuccess && onSuccess(obj);
}).catch(err => {
if (!(onFailure && onFailure(err))){
alert("Problem loading '"+fileName+"' file for '"+pluginObject.$id+"' plugin: "+err);
}
});
};
})($TDP);