From fce78a63a56f42920ac40bbf76e67412933c8376 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Mon, 15 Aug 2016 16:31:54 +0200 Subject: [statistics] Fix list view and sorting Broken when moving JS snippets around --- modules-available/statistics/inc/filterset.inc.php | 9 +++-- .../statistics/templates/clientlist.html | 37 +++++++++++++++++++ .../statistics/templates/filterbox.html | 43 ++-------------------- 3 files changed, 46 insertions(+), 43 deletions(-) (limited to 'modules-available') diff --git a/modules-available/statistics/inc/filterset.inc.php b/modules-available/statistics/inc/filterset.inc.php index ea25d9b1..8f506654 100644 --- a/modules-available/statistics/inc/filterset.inc.php +++ b/modules-available/statistics/inc/filterset.inc.php @@ -16,8 +16,7 @@ class FilterSet $this->sortDirection = $direction === 'DESC' ? 'DESC' : 'ASC'; if (is_string($col) && array_key_exists($col, Page_Statistics::$columns)) { - $isMapped = array_key_exists('map_sort', Page_Statistics::$columns[$col]); - $this->sortColumn = $isMapped ? Page_Statistics::$columns[$col]['map_sort'] : $col; + $this->sortColumn = $col; } else { /* default sorting column is clientip */ $this->sortColumn = 'clientip'; @@ -42,8 +41,10 @@ class FilterSet } $join = implode('', array_unique($joins)); - - $sort = " ORDER BY " . $this->sortColumn . " " . $this->sortDirection; + $col = $this->sortColumn; + $isMapped = array_key_exists('map_sort', Page_Statistics::$columns[$col]); + $sort = " ORDER BY " . ($isMapped ? Page_Statistics::$columns[$col]['map_sort'] : $col) . " " . $this->sortDirection + . ", machineuuid ASC"; } public function getSortDirection() diff --git a/modules-available/statistics/templates/clientlist.html b/modules-available/statistics/templates/clientlist.html index f2a6ba03..3a1b52ac 100644 --- a/modules-available/statistics/templates/clientlist.html +++ b/modules-available/statistics/templates/clientlist.html @@ -87,3 +87,40 @@ {{/rows}} + + \ No newline at end of file diff --git a/modules-available/statistics/templates/filterbox.html b/modules-available/statistics/templates/filterbox.html index a5370a0b..544d1c48 100644 --- a/modules-available/statistics/templates/filterbox.html +++ b/modules-available/statistics/templates/filterbox.html @@ -29,7 +29,8 @@
- + + @@ -115,6 +116,8 @@ document.addEventListener("DOMContentLoaded", function () { var str = "{{{query}}}"; var eExp = /^(\w+)\s*([=>'); - $sortBtn.attr('onclick', 'toggleButton(\'' + v + '\');'); - }); -} - -function toggleButton(v) { - var $sortBtn = $('#sortButton-' + v); - var $col = $('#sortColumn'); - var $dir = $('#sortDirection'); - if ($col.val() == v) { - /* toggle direction */ - var newDir = $dir.val() == 'ASC' ? 'DESC' : 'ASC'; - $dir.val(newDir); - /* update button */ - var order = newDir == 'ASC' ? 'up' : 'down'; - $sortBtn.html(''); - } else { - /* remove "btn-success" from current sorting */ - $('#sortButton-'+v).removeClass('btn-success'); - $sortBtn.addClass('btn-success'); - $col.val(v); - $dir = 'ASC'; - } - refresh(); -} - function popupFilter(field) { if (field != null) { $('#columnSelect').val(field); @@ -258,7 +224,6 @@ function myOpSort(a,b) { } function refresh() { - console.log('refresh'); $queryForm.submit(); /* TODO: use AJAX */ } // --> -- cgit v1.2.3-55-g7522