From aca5d150e48810ccc98fb0c284c35b1cca1f2070 Mon Sep 17 00:00:00 2001 From: Marcel Klehr Date: Tue, 26 Mar 2013 11:58:31 +0100 Subject: [PATCH] /admin/plugins: Don't list installed plugins as available --- src/node/hooks/express/adminplugins.js | 3 +++ src/static/js/admin/plugins.js | 19 +++++++++++++++---- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/src/node/hooks/express/adminplugins.js b/src/node/hooks/express/adminplugins.js index bf796ee7..3ef34115 100644 --- a/src/node/hooks/express/adminplugins.js +++ b/src/node/hooks/express/adminplugins.js @@ -72,6 +72,9 @@ exports.socketio = function (hook_name, args, cb) { var res = Object.keys(results) .map(function(pluginName) { return results[pluginName] + }) + .filter(function(plugin) { + return !plugins.plugins[plugin.name] }); res = sortPluginList(res, query.sortBy, query.sortDir) .slice(query.offset, query.offset+query.limit); diff --git a/src/static/js/admin/plugins.js b/src/static/js/admin/plugins.js index 8f03f3b9..49477678 100644 --- a/src/static/js/admin/plugins.js +++ b/src/static/js/admin/plugins.js @@ -80,16 +80,17 @@ $(document).ready(function () { // update & install $(".do-install, .do-update").unbind('click').click(function (e) { - var row = $(e.target).closest("tr") - , plugin = row.find(".name").text(); + var $row = $(e.target).closest("tr") + , plugin = $row.find(".name").text(); socket.emit("install", plugin); progress.show('Installing plugin '+plugin+'...') }); // uninstall $(".do-uninstall").unbind('click').click(function (e) { - var row = $(e.target).closest("tr") - , plugin = row.find(".name").text(); + var $row = $(e.target).closest("tr") + , plugin = $row.find(".name").text(); + $row.remove() socket.emit("uninstall", plugin); progress.show('Uninstalling plugin '+plugin+'...') }); @@ -172,11 +173,21 @@ $(document).ready(function () { socket.on('finished:install', function(data) { if(data.error) alert('An error occured while installing the plugin. \n'+data.error) socket.emit("getInstalled"); + + // update search results + search.offset = 0; + search(search.searchTerm, search.results.length); + search.results = []; }) socket.on('finished:uninstall', function(data) { if(data.error) alert('An error occured while uninstalling the plugin. \n'+data.error) socket.emit("getInstalled"); + + // update search results + search.offset = 0; + search(search.searchTerm, search.results.length); + search.results = []; }) // init