The data is stored in localstorage as the variable 'json_news'.
This is the javascript I'm using to filter the data:
pre
Appery.get_cache_news_filtered_js = Appery.createClass(null, {
Code: Select all
init: function (requestOptions) {
this.__requestOptions = $.extend({}, requestOptions);
},
process: function (settings) {
settings.beforeSend(settings);
if (this.__requestOptions.echo) {
settings.success(this.__requestOptions.echo);
} else {
var cdata = JSON.parse(Apperyio.storage.json_news.get());
var category_slug = Apperyio.storage.category_slug.get();
//alert(category_slug);
var filter_data = [];
jQuery.grep(cdata.posts, function (post, key) {
var found = false;
post.categories.forEach(function (category) {
if (category.slug == category_slug) {
found = true;
}
});
if (found) {
filter_data.push(post);
}
});
cdata.posts = filter_data;
var cdata_filtered = JSON.stringify(cdata);
//Apperyio.storage.json_news_filtered.set(cdata_filtered);
//alert(cdata_filtered);
settings.success(cdata_filtered);
settings.complete('success');
}
settings.complete('success');
}
});
/pre
This is the javascript I'm using to search the data:
pre
Appery.get_cache_news_searched_js = Appery.createClass(null, {
Code: Select all
init: function (requestOptions) {
this.__requestOptions = $.extend({}, requestOptions);
},
process: function (settings) {
settings.beforeSend(settings);
if (this.__requestOptions.echo) {
settings.success(this.__requestOptions.echo);
} else {
var cdata = JSON.parse(Apperyio.storage.json_news.get());
var search_term = Apperyio.storage.search_term.get();
localStorage.removeItem("search_found");
var search_data = [];
jQuery.grep(cdata.posts, function (post, key) {
var found = false;
if (post.content.toLowerCase().indexOf(search_term.toLowerCase()) 0) {
search_data.push(post);
found = true;
Apperyio.storage.search_found.set(found);
}
});
cdata.posts = search_data;
var cdata_searched = JSON.stringify(cdata);
//Apperyio.storage.json_news_searched.set(cdata_searched);
settings.success(cdata_searched);
settings.complete('success');
}
settings.complete('success');
}
});
/pre
Since the upgrade I have changed all localstorage calls to use your storage API, but this did not fix the problem.