diff --git a/deluge/ui/web/js/Deluge.UI.js b/deluge/ui/web/js/Deluge.UI.js index 6798f2ca2..170093d14 100644 --- a/deluge/ui/web/js/Deluge.UI.js +++ b/deluge/ui/web/js/Deluge.UI.js @@ -83,6 +83,8 @@ Deluge.UI = { Deluge.Client.on('connected', function(e) { Deluge.Login.show(); Deluge.Events.start(); + Deluge.Events.on('PluginEnabledEvent', this.onPluginEnabled, this); + Deluge.Events.on('PluginDisabledEvent', this.onPluginDisabled, this); }, this, {single: true}); this.update = this.update.bind(this); @@ -152,6 +154,24 @@ Deluge.UI = { this.stop(); }, + onPluginEnabled: function(pluginName) { + Deluge.Client.web.get_plugin_resources(pluginName, { + success: this.onGotPluginResources, + scope: this + }) + }, + + onGotPluginResources: function(resources) { + var scripts = (Deluge.debug) ? resources['debug_scripts'] : resources['scripts']; + Ext.each(scripts, function(script) { + + }, this); + }, + + onPluginDisabled: function(pluginName) { + //alert('D: ' + pluginName); + }, + /** * @static * Stop the Deluge UI polling the server and clear the interface. diff --git a/deluge/ui/web/js/ext-extensions-debug.js b/deluge/ui/web/js/ext-extensions-debug.js index 3050ed683..1270308f2 100644 --- a/deluge/ui/web/js/ext-extensions-debug.js +++ b/deluge/ui/web/js/ext-extensions-debug.js @@ -993,50 +993,4 @@ Ext.override(Ext.form.TriggerField, { actionMode: 'wrap', onShow: Ext.form.TriggerField.superclass.onShow, onHide: Ext.form.TriggerField.superclass.onHide -}); - -Ext.ux.JSLoader = function(options) { - - Ext.ux.JSLoader.scripts[++Ext.ux.JSLoader.index] = { - url: options.url, - success: true, - jsLoadObj: null, - options: options, - onLoad: options.onLoad || Ext.emptyFn, - onError: options.onError || Ext.ux.JSLoader.stdError - }; - - Ext.Ajax.request({ - url: options.url, - params: options.params, - scriptIndex: Ext.ux.JSLoader.index, - success: function(response, options) { - var script = Ext.ux.JSLoader.scripts[options.scriptIndex]; - try { - script.jsLoadObj = Ext.decode(response.responseText); - Ext.applyIf(script.jsLoadObj,{jsLoad: function(){return Ext.ComponentMgr.create(script.jsLoadObj);}}); - var comp = script.jsLoadObj.jsLoad(); - if (comp.remoteInit){ - comp.remoteInit(); - } - } catch(e) { - script.success = false; - script.onError(script.options, e); - } - if (script.success) script.onLoad(comp,script.options); - }, - failure: function(response, options) { - var script = Ext.ux.JSLoader.scripts[options.scriptIndex]; - script.success = false; - script.onError(script.options, response.status); - } - }); -} - -Ext.ux.JSLoader.index = 0; -Ext.ux.JSLoader.scripts = []; - -Ext.ux.JSLoader.stdError = function(options, e) { - // throw(e); - window.alert('Error loading script:\n\n' + options.url + '\n\nstatus: ' + e); -} \ No newline at end of file +}); \ No newline at end of file