diff --git a/public/src/admin/admin.js b/public/src/admin/admin.js index a5de1568c5..2ae4175bfc 100644 --- a/public/src/admin/admin.js +++ b/public/src/admin/admin.js @@ -162,25 +162,9 @@ $('.restart').off('click').on('click', function() { bootbox.confirm('Are you sure you wish to restart NodeBB?', function(confirm) { if (confirm) { - app.alert({ - alert_id: 'instance_restart', - type: 'info', - title: 'Restarting... ', - message: 'NodeBB is restarting.', - timeout: 5000 + require(['admin/modules/instance'], function(instance) { + instance.restart(); }); - - $(window).one('action:reconnected', function() { - app.alert({ - alert_id: 'instance_restart', - type: 'success', - title: ' Success', - message: 'NodeBB has successfully restarted.', - timeout: 5000 - }); - }); - - socket.emit('admin.restart'); } }); }); diff --git a/public/src/admin/modules/instance.js b/public/src/admin/modules/instance.js index 7a213ec02d..abffdcbe64 100644 --- a/public/src/admin/modules/instance.js +++ b/public/src/admin/modules/instance.js @@ -37,6 +37,32 @@ define('admin/modules/instance', function() { } }); } + + instance.restart = function(callback) { + app.alert({ + alert_id: 'instance_restart', + type: 'info', + title: 'Restarting... ', + message: 'NodeBB is restarting.', + timeout: 5000 + }); + + $(window).one('action:reconnected', function() { + app.alert({ + alert_id: 'instance_restart', + type: 'success', + title: ' Success', + message: 'NodeBB has successfully restarted.', + timeout: 5000 + }); + + if (typeof callback === 'function') { + callback(); + } + }); + + socket.emit('admin.restart'); + } return instance; });