diff --git a/public/js/FilterWidget.js b/public/js/FilterWidget.js index dccc8893c..a9e0f6cf9 100644 --- a/public/js/FilterWidget.js +++ b/public/js/FilterWidget.js @@ -84,7 +84,7 @@ var FHC_FilterWidget = { // Public methods /** - * To display the FilterWidget using the loaded data prenset in the session + * To display the FilterWidget using the loaded data present in the session */ display: function() { @@ -392,7 +392,6 @@ var FHC_FilterWidget = { }, { successCallback: function(data, textStatus, jqXHR) { - FHC_FilterWidget._cleanTablesorterLocalStorage(); FHC_FilterWidget._failOrRefresh(data, textStatus, jqXHR); } } @@ -413,7 +412,6 @@ var FHC_FilterWidget = { }, { successCallback: function(data, textStatus, jqXHR) { - FHC_FilterWidget._cleanTablesorterLocalStorage(); FHC_FilterWidget._failOrRefresh(data, textStatus, jqXHR); } } @@ -454,7 +452,6 @@ var FHC_FilterWidget = { }, { successCallback: function(data, textStatus, jqXHR) { - FHC_FilterWidget._cleanTablesorterLocalStorage(); FHC_FilterWidget._failOrRefresh(data, textStatus, jqXHR); } } @@ -489,7 +486,6 @@ var FHC_FilterWidget = { }, { successCallback: function(data, textStatus, jqXHR) { - FHC_FilterWidget._cleanTablesorterLocalStorage(); FHC_FilterWidget._failOrReload(data, textStatus, jqXHR); } } @@ -509,7 +505,6 @@ var FHC_FilterWidget = { }, { successCallback: function(data, textStatus, jqXHR) { - FHC_FilterWidget._cleanTablesorterLocalStorage(); FHC_FilterWidget._failOrReload(data, textStatus, jqXHR); } } @@ -840,6 +835,14 @@ var FHC_FilterWidget = { */ _renderDatasetTablesorter: function(data) { + //clear tablesorter filter storage + var keepTsFilter = FHC_AjaxClient.getUrlParameter("keepTsFilter"); + + if (typeof keepTsFilter === "undefined" || keepTsFilter !== "true") + { + FHC_FilterWidget._clearTablesorterLocalStorage(); + } + if (data.hasOwnProperty("checkboxes") && data.checkboxes!=null && data.checkboxes.trim() != "") { $("#filterTableDataset > thead > tr").append("Select"); @@ -938,14 +941,6 @@ var FHC_FilterWidget = { } }); - // 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); } }, @@ -1064,9 +1059,8 @@ var FHC_FilterWidget = { /** * Tablesorter filter local storage clean */ - _cleanTablesorterLocalStorage: function() { - - $("#filterTableDataset").trigger("filterResetSaved"); + _clearTablesorterLocalStorage: function() { + localStorage.removeItem("tablesorter-filters"); }, /** diff --git a/public/js/infocenter/infocenterPersonDataset.js b/public/js/infocenter/infocenterPersonDataset.js index 54933165d..816dd2fda 100644 --- a/public/js/infocenter/infocenterPersonDataset.js +++ b/public/js/infocenter/infocenterPersonDataset.js @@ -148,6 +148,28 @@ var InfocenterPersonDataset = { trs.find("input[name=PersonId\\[\\]]").prop("checked", false); } ); + + //make sure tablesorter local storage for homepage url with and without "/index" shares same values + $("#filterTableDataset").bind('filterEnd', function() + { + if (FHC_JS_DATA_STORAGE_OBJECT.called_method === 'index') + { + var pathname = window.location.pathname; + var storageobj = localStorage.getItem("tablesorter-filters"); + var parsed = JSON.parse(storageobj); + var regex = new RegExp(/\/index(?!\.ci\.php)/); + if (regex.test(pathname)) + { + parsed[pathname.replace(regex, "")] = parsed[pathname]; + } + else + { + parsed[pathname + "/index"] = parsed[pathname]; + } + storageobj = JSON.stringify(parsed); + localStorage.setItem("tablesorter-filters", storageobj); + } + }); }, /**