12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- // TODO: tablesorter shouldn't sort already sorted columns
- 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 th')
- .append('<div class="sorticon"></div>');
- }
- $(function () {
- $.tablesorter.addParser({
- id: 'fancyNumber',
- is: function (s) {
- return (/^[0-9]?[0-9,\.]*\s?(k|M|G|T|%)?$/).test(s);
- },
- format: function (s) {
- var num = jQuery.tablesorter.formatFloat(
- s.replace(PMA_messages.strThousandsSeparator, '')
- .replace(PMA_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 (s) {
- return (/<span class="original"/).test(s);
- },
- format: function (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'
- });
- });
|