You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
1.0 KiB
JavaScript
33 lines
1.0 KiB
JavaScript
define(function() {
|
|
var Plugins = {
|
|
init: function() {
|
|
var pluginsList = $('.plugins'),
|
|
numPlugins = pluginsList[0].querySelectorAll('li').length,
|
|
pluginID, pluginTgl;
|
|
|
|
if (numPlugins > 0) {
|
|
pluginsList.on('click', 'button[data-action="toggleActive"]', function() {
|
|
pluginID = $(this).parents('li').attr('data-plugin-id');
|
|
socket.emit('admin.plugins.toggle', pluginID);
|
|
});
|
|
|
|
socket.on('admin.plugins.toggle', function(status) {
|
|
pluginTgl = document.querySelector('.plugins li[data-plugin-id="' + status.id + '"] button');
|
|
pluginTgl.innerHTML = '<i class="fa fa-power-off"></i> ' + (status.active ? 'Dea' : 'A') + 'ctivate';
|
|
|
|
app.alert({
|
|
alert_id: 'plugin_toggled_' + status.id,
|
|
title: 'Plugin Enabled',
|
|
message: 'You may need to restart NodeBB in order for these changes to be reflected.',
|
|
type: 'warning',
|
|
timeout: 5000
|
|
})
|
|
});
|
|
} else {
|
|
pluginsList.append('<li><p><i>No plugins found.</i></p></li>');
|
|
}
|
|
}
|
|
};
|
|
|
|
return Plugins;
|
|
}); |