friendica_2021-01/view/theme/frio/js/mod_admin.js
2020-06-11 20:26:29 -04:00

69 lines
1.6 KiB
JavaScript

/**
* Javascript for the admin module
*/
$(function() {
let $body = $('body');
$body.on('click', '.selectall', function() {
selectall($(this).data('selectAll'));
});
$body.on('click', '.selectnone', function() {
selectnone($(this).data('selectNone'));
});
// Toggle checkbox status to all or none for all checkboxes of a specific
// css class.
$body.on('change', 'input[type=checkbox].selecttoggle', function() {
$this = $(this);
if ($this.prop('checked')) {
selectall($this.data('selectClass'));
$this.attr('title', $this.data('selectNone'));
} else {
selectnone($this.data('selectClass'));
$this.attr('title', $this.data('selectAll'));
}
});
// Use AJAX calls to reorder the table (so we don't need to reload the page).
$body.on('click', '.table-order', function(e) {
e.preventDefault();
// Get the parent table element.
var table = $(this).parents('table');
var orderUrl = this.getAttribute("data-order-url");
table.fadeTo("fast", 0.33);
$body.css("cursor", "wait");
$.get(orderUrl, function(data) {
// Find the table element in the html we got.
var result = $(data).find('#' + table[0].id);
// And add the new table html to the parent.
$(table).replaceWith(result);
$body.css("cursor", "auto");
});
});
function selectall(cls) {
$('.' + cls).prop('checked', true);
return false;
}
function selectnone(cls) {
$('.' + cls).prop('checked', false);
return false;
}
});
// Users
function confirm_delete(msg, uname){
return confirm(msg.format(uname));
}
function details(uid) {
$("#user-" + uid + "-detail").toggleClass("hidden");
$("#user-" + uid).toggleClass("opened");
return false;
}