diff options
| author | Charles <sircharlesaze@gmail.com> | 2020-01-09 10:55:03 +0100 |
|---|---|---|
| committer | Charles <sircharlesaze@gmail.com> | 2020-01-09 13:09:38 +0100 |
| commit | 04d6d5ca99ebfd1cebb8ce06618fb3811fc1a8aa (patch) | |
| tree | 5c691241355c943a3c68ddb06b8cf8c60aa11319 /srcs/phpmyadmin/js/server/status/sorter.js | |
| parent | 7e0d85db834d6351ed85d01e5126ac31dc510b86 (diff) | |
| download | ft_server-04d6d5ca99ebfd1cebb8ce06618fb3811fc1a8aa.tar.gz ft_server-04d6d5ca99ebfd1cebb8ce06618fb3811fc1a8aa.tar.bz2 ft_server-04d6d5ca99ebfd1cebb8ce06618fb3811fc1a8aa.zip | |
phpmyadmin working
Diffstat (limited to 'srcs/phpmyadmin/js/server/status/sorter.js')
| -rw-r--r-- | srcs/phpmyadmin/js/server/status/sorter.js | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/srcs/phpmyadmin/js/server/status/sorter.js b/srcs/phpmyadmin/js/server/status/sorter.js new file mode 100644 index 0000000..49b6221 --- /dev/null +++ b/srcs/phpmyadmin/js/server/status/sorter.js @@ -0,0 +1,71 @@ +// 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 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(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 (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' + }); +}); |
