From 3578ce1925b1942ff55a71d135512ddb4a6f2def Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Mon, 29 Jul 2013 15:45:13 -0400 Subject: [PATCH] admin panel integration completion + styling of admin panel plugins page --- public/css/admin.less | 12 ++++++++++++ public/src/forum/admin/plugins.js | 29 ++++++++++++++++++++--------- public/templates/admin/plugins.tpl | 4 +++- src/plugins.js | 19 ++++--------------- src/websockets.js | 8 +++----- 5 files changed, 42 insertions(+), 30 deletions(-) diff --git a/public/css/admin.less b/public/css/admin.less index 52f7752a64..cd322ba809 100644 --- a/public/css/admin.less +++ b/public/css/admin.less @@ -145,6 +145,18 @@ .plugins { li { list-style-type: none; + background: rgba(64, 64, 64, 0.05); + padding: 1em; + border-left: 5px solid #08c; + + h2 { + font-size: 16px; + margin: 0; + } + + p { + font-size: 12px; + } } } } \ No newline at end of file diff --git a/public/src/forum/admin/plugins.js b/public/src/forum/admin/plugins.js index e1b49c8a9c..b5e17df7f7 100644 --- a/public/src/forum/admin/plugins.js +++ b/public/src/forum/admin/plugins.js @@ -3,20 +3,31 @@ var nodebb_admin = nodebb_admin || {}; (function() { var plugins = { init: function() { - // socket.on('api:admin.plugins.getInstalled', function(pluginsArr) { - // var pluginsFrag = document.createDocumentFragment(), - // liEl = document.createElement('li'); - // for(var x=0,numPlugins=pluginsArr.length;x
  • {plugins.name}

    +
    + +

    {plugins.description}

    For more information: {plugins.url}

  • - \ No newline at end of file diff --git a/src/plugins.js b/src/plugins.js index 1995f08dd8..a1685ec1b9 100644 --- a/src/plugins.js +++ b/src/plugins.js @@ -178,29 +178,18 @@ var fs = require('fs'), delete config.library; delete config.hooks; config.active = active; + config.activeText = ' ' + (active ? 'Dea' : 'A') + 'ctivate'; next(null, config); }); } ], function(err, config) { - if (err) next(); // Silently fail + if (err) return next(); // Silently fail plugins.push(config); + next(); }); - // fs.stat(path.join(moduleBasePath, file), function(err, stats) { - // if (err || !stats.isDirectory()) return next(); // Silently fail - - // // Load the config file - // fs.readFile(path.join(modulePath, 'plugin.json'), function(err, configJSON) { - // if (err) return next(); // Silently fail if config can't be read - // var config = JSON.parse(configJSON); - // delete config.library; - // delete config.hooks; - - // plugins.push(config); - // next(); - // }); - // }); }, function(err) { + console.log(plugins); next(null, plugins); }); } diff --git a/src/websockets.js b/src/websockets.js index 94a7262429..5e1154634d 100644 --- a/src/websockets.js +++ b/src/websockets.js @@ -633,11 +633,9 @@ var SocketIO = require('socket.io').listen(global.server, { log:false }), }); }); - socket.on('api:admin.plugins.getInstalled', function() { - plugins.showInstalled(function(err, plugins) { - if (err) plugins = []; - - return socket.emit('api:admin.plugins.getInstalled', plugins); + socket.on('api:admin.plugins.toggle', function(plugin_id) { + plugins.toggleActive(plugin_id, function(status) { + socket.emit('api:admin.plugins.toggle', status); }); }); });