Translated using Weblate (Spanish)
[phpmyadmin.git] / js / server_status_sorter.js
blob36c918a8ae6cc51f9ec9ade80aae47d75e0874c8
1 // TODO: tablesorter shouldn't sort already sorted columns
2 function initTableSorter (tabid) {
3     var $table;
4     var opts;
5     switch (tabid) {
6     case 'statustabs_queries':
7         $table = $('#serverstatusqueriesdetails');
8         opts = {
9             sortList: [[3, 1]],
10             headers: {
11                 1: { sorter: 'fancyNumber' },
12                 2: { sorter: 'fancyNumber' }
13             }
14         };
15         break;
16     }
17     $table.tablesorter(opts);
18     $table.find('tr:first th')
19         .append('<div class="sorticon"></div>');
22 $(function () {
23     $.tablesorter.addParser({
24         id: 'fancyNumber',
25         is: function (s) {
26             return (/^[0-9]?[0-9,\.]*\s?(k|M|G|T|%)?$/).test(s);
27         },
28         format: function (s) {
29             var num = jQuery.tablesorter.formatFloat(
30                 s.replace(PMA_messages.strThousandsSeparator, '')
31                     .replace(PMA_messages.strDecimalSeparator, '.')
32             );
34             var factor = 1;
35             switch (s.charAt(s.length - 1)) {
36             case '%':
37                 factor = -2;
38                 break;
39             // Todo: Complete this list (as well as in the regexp a few lines up)
40             case 'k':
41                 factor = 3;
42                 break;
43             case 'M':
44                 factor = 6;
45                 break;
46             case 'G':
47                 factor = 9;
48                 break;
49             case 'T':
50                 factor = 12;
51                 break;
52             }
54             return num * Math.pow(10, factor);
55         },
56         type: 'numeric'
57     });
59     $.tablesorter.addParser({
60         id: 'withinSpanNumber',
61         is: function (s) {
62             return (/<span class="original"/).test(s);
63         },
64         format: function (s, table, html) {
65             var res = html.innerHTML.match(/<span(\s*style="display:none;"\s*)?\s*class="original">(.*)?<\/span>/);
66             return (res && res.length >= 3) ? res[2] : 0;
67         },
68         type: 'numeric'
69     });
70 });