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;
+});