From 6c607bca1eba9319f0603d211f1285f71a47b782 Mon Sep 17 00:00:00 2001 From: psychobunny Date: Mon, 8 Jun 2015 15:50:33 -0400 Subject: [PATCH] closes #3212 --- public/src/admin/admin.js | 32 ++++----------------- public/src/admin/extend/plugins.js | 8 ++++-- public/src/admin/modules/instance.js | 42 ++++++++++++++++++++++++++++ 3 files changed, 53 insertions(+), 29 deletions(-) create mode 100644 public/src/admin/modules/instance.js diff --git a/public/src/admin/admin.js b/public/src/admin/admin.js index f7b7817591..a5de1568c5 100644 --- a/public/src/admin/admin.js +++ b/public/src/admin/admin.js @@ -63,8 +63,9 @@ function setupKeybindings() { Mousetrap.bind('ctrl+shift+a r', function() { - console.log('[admin] Reloading NodeBB...'); - socket.emit('admin.reload'); + require(['admin/modules/instance'], function(instance) { + instance.reload(); + }); }); Mousetrap.bind('ctrl+shift+a R', function() { @@ -185,31 +186,8 @@ }); $('.reload').off('click').on('click', function() { - app.alert({ - alert_id: 'instance_reload', - type: 'info', - title: 'Reloading... ', - message: 'NodeBB is reloading.', - timeout: 5000 - }); - - socket.emit('admin.reload', function(err) { - if (!err) { - app.alert({ - alert_id: 'instance_reload', - type: 'success', - title: ' Success', - message: 'NodeBB has successfully reloaded.', - timeout: 5000 - }); - } else { - app.alert({ - alert_id: 'instance_reload', - type: 'danger', - title: '[[global:alert.error]]', - message: '[[error:reload-failed, ' + err.message + ']]' - }); - } + require(['admin/modules/instance'], function(instance) { + instance.reload(); }); }); } diff --git a/public/src/admin/extend/plugins.js b/public/src/admin/extend/plugins.js index e2484b1f07..4987d87552 100644 --- a/public/src/admin/extend/plugins.js +++ b/public/src/admin/extend/plugins.js @@ -27,7 +27,9 @@ define('admin/extend/plugins', function() { type: status.active ? 'warning' : 'success', timeout: 5000, clickfn: function() { - socket.emit('admin.reload'); + require(['admin/modules/instance'], function(instance) { + instance.reload(); + }); } }); }); @@ -160,7 +162,9 @@ define('admin/extend/plugins', function() { type: 'warning', timeout: 5000, clickfn: function() { - socket.emit('admin.reload'); + require(['admin/modules/instance'], function(instance) { + instance.reload(); + }); } }); } diff --git a/public/src/admin/modules/instance.js b/public/src/admin/modules/instance.js new file mode 100644 index 0000000000..7a213ec02d --- /dev/null +++ b/public/src/admin/modules/instance.js @@ -0,0 +1,42 @@ +"use strict"; + +/*globals define*/ + +define('admin/modules/instance', function() { + var instance = {}; + + instance.reload = function(callback) { + app.alert({ + alert_id: 'instance_reload', + type: 'info', + title: 'Reloading... ', + message: 'NodeBB is reloading.', + timeout: 5000 + }); + + socket.emit('admin.reload', function(err) { + if (!err) { + app.alert({ + alert_id: 'instance_reload', + type: 'success', + title: ' Success', + message: 'NodeBB has successfully reloaded.', + timeout: 5000 + }); + } else { + app.alert({ + alert_id: 'instance_reload', + type: 'danger', + title: '[[global:alert.error]]', + message: '[[error:reload-failed, ' + err.message + ']]' + }); + } + + if (typeof callback === 'function') { + callback(); + } + }); + } + + return instance; +});