Files
NodeBB/public/src/admin.js

84 lines
1.9 KiB
JavaScript
Raw Normal View History

"use strict";
/*global app, socket, Mousetrap*/
var admin = {};
(function() {
admin.enableColorPicker = function(inputEl, callback) {
(inputEl instanceof jQuery ? inputEl : $(inputEl)).each(function() {
var $this = $(this);
$this.ColorPicker({
color: $this.val() || '#000',
onChange: function(hsb, hex) {
$this.val('#' + hex);
if (typeof callback === 'function') {
callback(hsb, hex);
}
2014-06-13 18:27:03 -04:00
},
onShow: function(colpkr) {
$(colpkr).css('z-index', 1051);
}
});
2014-05-15 20:49:47 -04:00
});
};
2014-05-15 17:16:17 -04:00
$(function() {
setupMenu();
setupKeybindings();
2014-05-15 17:16:17 -04:00
});
socket.emit('admin.config.get', function(err, config) {
if(err) {
return app.alert({
alert_id: 'config_status',
timeout: 2500,
title: 'Error',
message: 'NodeBB encountered a problem getting config: ' + err.message,
2014-05-15 17:16:17 -04:00
type: 'danger'
});
}
// move this to admin.config
app.config = config;
});
function setupMenu() {
var listElements = $('.sidebar-nav li');
listElements.on('click', function() {
var $this = $(this);
if ($this.hasClass('nav-header')) {
$this.parents('.sidebar-nav').toggleClass('open').bind('animationend webkitAnimationEnd MSAnimationEnd oAnimationEnd', function (ev) {
$('.nano').nanoScroller();
});
} else {
listElements.removeClass('active');
$this.addClass('active');
}
});
$('.nano').nanoScroller();
$('#main-menu .nav-list > li a').append('<span class="pull-right"><i class="fa fa-inverse fa-arrow-circle-right"></i>&nbsp;</span>');
}
function setupKeybindings() {
Mousetrap.bind('ctrl+shift+a r', function() {
console.log('[admin] Reloading NodeBB...');
socket.emit('admin.reload');
});
Mousetrap.bind('ctrl+shift+a R', function() {
console.log('[admin] Restarting NodeBB...');
socket.emit('admin.restart');
});
Mousetrap.bind('/', function(e) {
$('#acp-search input').focus();
return false;
});
}
}());