fix localStorage bug by not trying (and failing) to make it a multidimensional array; use JSON to store array of filters in localStorage
parent
09adb8dfda
commit
d564176c9c
|
@ -1326,16 +1326,16 @@ function ItemListHelper(listType, supportedSorting, supportedFilters, defaultSor
|
||||||
|
|
||||||
var currentSorting = self.currentSorting();
|
var currentSorting = self.currentSorting();
|
||||||
if (currentSorting !== undefined)
|
if (currentSorting !== undefined)
|
||||||
localStorage[self.listType]["currentSorting"] = currentSorting;
|
localStorage[self.listType + "." + "currentSorting"] = currentSorting;
|
||||||
else
|
else
|
||||||
localStorage[self.listType]["currentSorting"] = undefined;
|
localStorage[self.listType + "." + "currentSorting"] = undefined;
|
||||||
}
|
}
|
||||||
|
|
||||||
self._loadCurrentSortingFromLocalStorage = function() {
|
self._loadCurrentSortingFromLocalStorage = function() {
|
||||||
self._initializeLocalStorage();
|
self._initializeLocalStorage();
|
||||||
|
|
||||||
if (_.contains(_.keys(supportedSorting), localStorage[self.listType]["currentSorting"]))
|
if (_.contains(_.keys(supportedSorting), localStorage[self.listType + "." + "currentSorting"]))
|
||||||
self.currentSorting(localStorage[self.listType]["currentSorting"]);
|
self.currentSorting(localStorage[self.listType + "." + "currentSorting"]);
|
||||||
else
|
else
|
||||||
self.currentSorting(defaultSorting);
|
self.currentSorting(defaultSorting);
|
||||||
}
|
}
|
||||||
|
@ -1344,23 +1344,21 @@ function ItemListHelper(listType, supportedSorting, supportedFilters, defaultSor
|
||||||
self._initializeLocalStorage();
|
self._initializeLocalStorage();
|
||||||
|
|
||||||
var filters = _.intersection(_.keys(self.supportedFilters), self.currentFilters());
|
var filters = _.intersection(_.keys(self.supportedFilters), self.currentFilters());
|
||||||
localStorage[self.listType]["currentFilters"] = filters;
|
localStorage[self.listType + "." + "currentFilters"] = JSON.stringify(filters);
|
||||||
}
|
}
|
||||||
|
|
||||||
self._loadCurrentFiltersFromLocalStorage = function() {
|
self._loadCurrentFiltersFromLocalStorage = function() {
|
||||||
self._initializeLocalStorage();
|
self._initializeLocalStorage();
|
||||||
|
|
||||||
self.currentFilters(_.intersection(_.keys(self.supportedFilters), localStorage[self.listType, "currentFilters"]));
|
self.currentFilters(_.intersection(_.keys(self.supportedFilters), JSON.parse(localStorage[self.listType + "." + "currentFilters"])));
|
||||||
}
|
}
|
||||||
|
|
||||||
self._initializeLocalStorage = function() {
|
self._initializeLocalStorage = function() {
|
||||||
if (localStorage[self.listType] !== undefined)
|
if (localStorage[self.listType + "." + "currentSorting"] !== undefined && localStorage[self.listType + "." + "currentFilters"] !== undefined && JSON.parse(localStorage[self.listType + "." + "currentFilters"]) instanceof Array)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
localStorage[self.listType] = {
|
localStorage[self.listType + "." + "currentSorting"] = self.defaultSorting;
|
||||||
"currentSorting": self.defaultSorting,
|
localStorage[self.listType + "." + "currentFilters"] = JSON.stringify(self.defaultFilters);
|
||||||
"currentFilters": self.defaultFilters
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
self._loadCurrentFiltersFromLocalStorage();
|
self._loadCurrentFiltersFromLocalStorage();
|
||||||
|
|
Loading…
Reference in New Issue