From 72a3c2845f8244e955592f7f0f01d17563860339 Mon Sep 17 00:00:00 2001 From: alex Date: Mon, 7 Oct 2019 18:30:06 +0200 Subject: [PATCH] =?UTF-8?q?tablesorter=20filters=20saved=20in=20local=20st?= =?UTF-8?q?orage=20in=20infocenter=20=C3=9Cbersicht=20are=20not=20deleted?= =?UTF-8?q?=20when=20using=20zur=C3=BCck=20button=20or=20freigegeben=20on?= =?UTF-8?q?=20infocenter=20details=20page.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controllers/system/infocenter/InfoCenter.php | 7 ++++--- public/js/FilterWidget.js | 13 ++++++++++--- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/application/controllers/system/infocenter/InfoCenter.php b/application/controllers/system/infocenter/InfoCenter.php index 7d005489d..3a8d51aee 100644 --- a/application/controllers/system/infocenter/InfoCenter.php +++ b/application/controllers/system/infocenter/InfoCenter.php @@ -25,6 +25,7 @@ class InfoCenter extends Auth_Controller const FILTER_ID = 'filter_id'; const PREV_FILTER_ID = 'prev_filter_id'; const RELOAD_DATASET = 'reloadDataset'; + const KEEP_TABLESORTER_FILTER = 'keepTsFilter'; private $_uid; // contains the UID of the logged user @@ -235,7 +236,7 @@ class InfoCenter extends Auth_Controller $redirectLink = '/'.self::INFOCENTER_URI.'?'.self::FHC_CONTROLLER_ID.'='.$this->getControllerId(); // Force reload of Dataset after Unlock - $redirectLink .= '&'.self::RELOAD_DATASET.'=true'; + $redirectLink .= '&'.self::RELOAD_DATASET.'=true&'.self::KEEP_TABLESORTER_FILTER.'=true'; $currentFilterId = $this->input->get(self::FILTER_ID); if (isset($currentFilterId)) @@ -957,7 +958,7 @@ class InfoCenter extends Auth_Controller $origin_page = $this->input->get(self::ORIGIN_PAGE); - $link = site_url(self::INFOCENTER_URI.'/'.self::INDEX_PAGE); + $link = site_url(self::INFOCENTER_URI); if ($origin_page == self::FREIGEGEBEN_PAGE) { $link = site_url(self::INFOCENTER_URI.'/'.self::FREIGEGEBEN_PAGE); @@ -970,7 +971,7 @@ class InfoCenter extends Auth_Controller $prevFilterId = $this->input->get(self::PREV_FILTER_ID); if (isset($prevFilterId)) { - $link .= '?'.self::FILTER_ID.'='.$prevFilterId.'&'.self::RELOAD_DATASET.'=true'; + $link .= '?'.self::FILTER_ID.'='.$prevFilterId.'&'.self::RELOAD_DATASET.'=true&'.self::KEEP_TABLESORTER_FILTER.'=true'; } $this->navigationlib->setSessionMenu( diff --git a/public/js/FilterWidget.js b/public/js/FilterWidget.js index 6aad74562..dccc8893c 100644 --- a/public/js/FilterWidget.js +++ b/public/js/FilterWidget.js @@ -413,6 +413,7 @@ var FHC_FilterWidget = { }, { successCallback: function(data, textStatus, jqXHR) { + FHC_FilterWidget._cleanTablesorterLocalStorage(); FHC_FilterWidget._failOrRefresh(data, textStatus, jqXHR); } } @@ -488,6 +489,7 @@ var FHC_FilterWidget = { }, { successCallback: function(data, textStatus, jqXHR) { + FHC_FilterWidget._cleanTablesorterLocalStorage(); FHC_FilterWidget._failOrReload(data, textStatus, jqXHR); } } @@ -507,6 +509,7 @@ var FHC_FilterWidget = { }, { successCallback: function(data, textStatus, jqXHR) { + FHC_FilterWidget._cleanTablesorterLocalStorage(); FHC_FilterWidget._failOrReload(data, textStatus, jqXHR); } } @@ -935,9 +938,13 @@ var FHC_FilterWidget = { } }); - // Reset filter storage if there is a filter id in url TODO: find better solution - var filter_id = FHC_AjaxClient.getUrlParameter("filter_id"); - if (typeof filter_id !== "undefined") FHC_FilterWidget._cleanTablesorterLocalStorage(); + // Reset filter storage if not specified by get parameter + var keepTsFilter = FHC_AjaxClient.getUrlParameter("keepTsFilter"); + + if (typeof keepTsFilter === "undefined" || keepTsFilter !== "true") + { + FHC_FilterWidget._cleanTablesorterLocalStorage(); + } $.tablesorter.updateAll($("#filterTableDataset")[0].config, true, null); }