mirror of
https://github.com/chylex/TweetDuck.git
synced 2025-04-28 09:15:46 +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)){
|
if (plugins.HasAnyPlugin(PluginEnvironment.Browser)){
|
||||||
ScriptLoader.ExecuteFile(e.Frame, PluginManager.PluginBrowserScriptFile);
|
ScriptLoader.ExecuteFile(e.Frame, PluginManager.PluginBrowserScriptFile);
|
||||||
|
ScriptLoader.ExecuteFile(e.Frame, PluginManager.PluginGlobalScriptFile);
|
||||||
plugins.ExecutePlugins(e.Frame, PluginEnvironment.Browser, true);
|
plugins.ExecutePlugins(e.Frame, PluginEnvironment.Browser, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -196,6 +196,7 @@ private void Browser_FrameLoadEnd(object sender, FrameLoadEndEventArgs e){
|
|||||||
|
|
||||||
if (plugins.HasAnyPlugin(PluginEnvironment.Notification)){
|
if (plugins.HasAnyPlugin(PluginEnvironment.Notification)){
|
||||||
ScriptLoader.ExecuteScript(e.Frame, pluginJS, PluginScriptIdentifier);
|
ScriptLoader.ExecuteScript(e.Frame, pluginJS, PluginScriptIdentifier);
|
||||||
|
ScriptLoader.ExecuteFile(e.Frame, PluginManager.PluginGlobalScriptFile);
|
||||||
plugins.ExecutePlugins(e.Frame, PluginEnvironment.Notification, false);
|
plugins.ExecutePlugins(e.Frame, PluginEnvironment.Notification, false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -10,6 +10,7 @@ namespace TweetDck.Plugins{
|
|||||||
class PluginManager{
|
class PluginManager{
|
||||||
public const string PluginBrowserScriptFile = "plugins.browser.js";
|
public const string PluginBrowserScriptFile = "plugins.browser.js";
|
||||||
public const string PluginNotificationScriptFile = "plugins.notification.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 PathOfficialPlugins { get { return Path.Combine(rootPath, "official"); } }
|
||||||
public string PathCustomPlugins { get { return Path.Combine(rootPath, "user"); } }
|
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