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:
parent
81aa30b2ec
commit
36473c2df9
@ -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);
|
||||
}
|
||||
}
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
@ -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"); } }
|
||||
|
26
Resources/Scripts/plugins.js
Normal file
26
Resources/Scripts/plugins.js
Normal 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);
|
Loading…
Reference in New Issue
Block a user