JSGrid Storing Filter and Sorting
HTML
<link rel="stylesheet" href="http://js-grid.com/css/jsgrid.min.css">
<link rel="stylesheet" href="http://js-grid.com/css/jsgrid-theme.min.css">
<script src="http://js-grid.com/js/jsgrid.min.js"></script>
<script src="http://underscorejs.org/underscore-min.js"></script>
<link rel="stylesheet" href="https://code.jquery.com/ui/1.10.4/themes/redmond/jquery-ui.css">
<script src="https://code.jquery.com/ui/1.11.2/jquery-ui.js"></script>
<div id="jsGrid"></div>
<button type="button" id="saveSettings">Save Settings</button>
JavaScript
var db = {
loadData: function(filter) {
return $.grep(this.clients, function(client) {
return (!filter.Name || client.Name.toLowerCase().indexOf(filter.Name) > -1)
&& (!filter.Age || client.Age === filter.Age)
&& (!filter.Address || client.Address.indexOf(filter.Address) > -1)
&& (filter.Country === "-" || client.Country === filter.Country)
&& (filter.Married === undefined || client.Married === filter.Married);
});
}
};
// comment
window.db = db;
db.countries = [
{ Name: "All", Id: "-" },
{ Name: "United States", Id: "US" },
{ Name: "Canada", Id: "CA" },
{ Name: "United Kingdom", Id: "UK" },
{ Name: "France", Id: "FR" },
{ Name: "Brazil", Id: "BR" },
{ Name: "China", Id: "CH" },
{ Name: "Russia", Id: "RU" }
];
db.clients = [
{
"Name": "Otto Clay",
"Age": 61,
"Country": "CH",
"Address": "Ap #897-1459 Quam Avenue",
"Married": false
},
{
"Name": "Connor Johnston",
"Age": 73,
"Country": "RU",
"Address": "Ap #370-4647 Dis Av.",
"Married": false
},
{
"Name": "Lacey Hess",
"Age": 29,
"Country": "RU",
"Address": "Ap #365-8835 Integer St.",
"Married": false
},
{
"Name": "Timothy Henson",
"Age": 78,
"Country": "US",
"Address": "911-5143 Luctus Ave",
"Married": false
},
{
"Name": "Ramona Benton",
"Age": 43,
"Country": "BR",
"Address": "Ap #614-689 Vehicula Street",
"Married": true
},
{
"Name": "Ezra Tillman",
"Age": 51,
"Country": "US",
"Address": "P.O. Box 738, 7583 Quisque St.",
"Married": true
},
{
"Name": "Dante Carter",
"Age": 59,
"Country": "US",
"Address": "P.O. Box 976,...