Initial commit
This commit is contained in:
78
pma/js/dist/server/status/sorter.js
vendored
Normal file
78
pma/js/dist/server/status/sorter.js
vendored
Normal file
@ -0,0 +1,78 @@
|
||||
"use strict";
|
||||
|
||||
// TODO: tablesorter shouldn't sort already sorted columns
|
||||
// eslint-disable-next-line no-unused-vars
|
||||
function initTableSorter(tabid) {
|
||||
var $table;
|
||||
var opts;
|
||||
|
||||
switch (tabid) {
|
||||
case 'statustabs_queries':
|
||||
$table = $('#serverStatusQueriesDetails');
|
||||
opts = {
|
||||
sortList: [[3, 1]],
|
||||
headers: {
|
||||
1: {
|
||||
sorter: 'fancyNumber'
|
||||
},
|
||||
2: {
|
||||
sorter: 'fancyNumber'
|
||||
}
|
||||
}
|
||||
};
|
||||
break;
|
||||
}
|
||||
|
||||
$table.tablesorter(opts);
|
||||
$table.find('tr').first().find('th').append('<div class="sorticon"></div>');
|
||||
}
|
||||
|
||||
$(function () {
|
||||
$.tablesorter.addParser({
|
||||
id: 'fancyNumber',
|
||||
is: function is(s) {
|
||||
return /^[0-9]?[0-9,\\.]*\s?(k|M|G|T|%)?$/.test(s);
|
||||
},
|
||||
format: function format(s) {
|
||||
var num = jQuery.tablesorter.formatFloat(s.replace(Messages.strThousandsSeparator, '').replace(Messages.strDecimalSeparator, '.'));
|
||||
var factor = 1;
|
||||
|
||||
switch (s.charAt(s.length - 1)) {
|
||||
case '%':
|
||||
factor = -2;
|
||||
break;
|
||||
// Todo: Complete this list (as well as in the regexp a few lines up)
|
||||
|
||||
case 'k':
|
||||
factor = 3;
|
||||
break;
|
||||
|
||||
case 'M':
|
||||
factor = 6;
|
||||
break;
|
||||
|
||||
case 'G':
|
||||
factor = 9;
|
||||
break;
|
||||
|
||||
case 'T':
|
||||
factor = 12;
|
||||
break;
|
||||
}
|
||||
|
||||
return num * Math.pow(10, factor);
|
||||
},
|
||||
type: 'numeric'
|
||||
});
|
||||
$.tablesorter.addParser({
|
||||
id: 'withinSpanNumber',
|
||||
is: function is(s) {
|
||||
return /<span class="original"/.test(s);
|
||||
},
|
||||
format: function format(s, table, html) {
|
||||
var res = html.innerHTML.match(/<span(\s*style="display:none;"\s*)?\s*class="original">(.*)?<\/span>/);
|
||||
return res && res.length >= 3 ? res[2] : 0;
|
||||
},
|
||||
type: 'numeric'
|
||||
});
|
||||
});
|
Reference in New Issue
Block a user