mirror of
https://github.com/ether/etherpad-lite.git
synced 2025-04-23 08:56:17 -04:00
Plugin list can now be reloaded 'live'
This commit is contained in:
parent
6fe7f2c2b2
commit
c591efb352
6 changed files with 152 additions and 83 deletions
|
@ -1,6 +1,7 @@
|
|||
var path = require('path');
|
||||
var eejs = require('ep_etherpad-lite/node/eejs');
|
||||
var installer = require('ep_etherpad-lite/static/js/pluginfw/installer');
|
||||
var plugins = require('ep_etherpad-lite/static/js/pluginfw/plugins');
|
||||
|
||||
exports.expressCreateServer = function (hook_name, args, cb) {
|
||||
args.app.get('/admin/plugins', function(req, res) {
|
||||
|
@ -20,35 +21,30 @@ exports.expressCreateServer = function (hook_name, args, cb) {
|
|||
exports.socketio = function (hook_name, args, cb) {
|
||||
var io = args.io.of("/pluginfw/installer");
|
||||
io.on('connection', function (socket) {
|
||||
socket.on("load", function (query) {
|
||||
socket.emit("installed-results", {results: plugins.plugins});
|
||||
});
|
||||
|
||||
socket.on("search", function (query) {
|
||||
socket.emit("progress", {progress:0, message:'Fetching results...'});
|
||||
installer.search(query, function (er, data) {
|
||||
if (er) {
|
||||
socket.emit("progress", {progress:1, error:er});
|
||||
} else {
|
||||
socket.emit("search-result", {results: data});
|
||||
socket.emit("progress", {progress:1, message:'Done.'});
|
||||
}
|
||||
installer.search(query, function (progress) {
|
||||
if (progress.results)
|
||||
socket.emit("search-result", progress);
|
||||
socket.emit("progress", progress);
|
||||
});
|
||||
});
|
||||
|
||||
socket.on("install", function (plugin_name) {
|
||||
socket.emit("progress", {progress:0, message:'Downloading and installing ' + plugin_name + "..."});
|
||||
installer.install(plugin_name, function (er) {
|
||||
if (er)
|
||||
socket.emit("progress", {progress:1, error:er});
|
||||
else
|
||||
socket.emit("progress", {progress:1, message:'Done.'});
|
||||
installer.install(plugin_name, function (progress) {
|
||||
socket.emit("progress", progress);
|
||||
});
|
||||
});
|
||||
|
||||
socket.on("uninstall", function (plugin_name) {
|
||||
socket.emit("progress", {progress:0, message:'Uninstalling ' + plugin_name + "..."});
|
||||
installer.uninstall(plugin_name, function (er) {
|
||||
if (er)
|
||||
socket.emit("progress", {progress:1, error:er});
|
||||
else
|
||||
socket.emit("progress", {progress:1, message:'Done.'});
|
||||
installer.uninstall(plugin_name, function (progress) {
|
||||
socket.emit("progress", progress);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue