Skip to content

Commit

Permalink
bug fix: reset the filter toolbar
Browse files Browse the repository at this point in the history
  • Loading branch information
OlegKi committed Mar 27, 2016
1 parent c1320de commit effb2ac
Show file tree
Hide file tree
Showing 14 changed files with 502 additions and 486 deletions.
2 changes: 1 addition & 1 deletion css/ui.jqgrid.css
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/*!
* jqGrid 4.13.2-pre - free jqGrid: https://github.com/free-jqgrid/jqGrid
* Date: 2016-03-20
* Date: 2016-03-28
*/

/* Grid */
Expand Down
2 changes: 1 addition & 1 deletion css/ui.jqgrid.min.css

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion js/grid.base.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
* Dual licensed under the MIT and GPL licenses
* http://www.opensource.org/licenses/mit-license.php
* http://www.gnu.org/licenses/gpl-2.0.html
* Date: 2016-03-20
* Date: 2016-03-28
*/
//jsHint options
/*jshint eqnull:true */
Expand Down
32 changes: 22 additions & 10 deletions js/grid.custom.js
Original file line number Diff line number Diff line change
Expand Up @@ -270,10 +270,24 @@
getIdSel = function (cmName) {
return "#" + getId(cmName);
},
parseFilter = function () {
parseFilter = function (fillAll) {
var j, filters = p.postData.filters, filter = {}, rules, rule,
iColByName = p.iColByName, cm, soptions;
if (!filters) { return; }
if (fillAll) {
for (j = 0; j < colModel.length; j++) {
cm = colModel[j];
if (cm.search !== false) {
soptions = cm.searchoptions || {};
filter[cm.name] = {
op: soptions.sopt ?
soptions.sopt[0] :
cm.stype === "select" ? "eq" : o.defaultSearch,
data: soptions.defaultValue !== undefined ? soptions.defaultValue : ""
};
}
}
}
if (!filters || !p.search) { return filter; }
if (typeof filters === "string") {
try {
filters = $.parseJSON(filters);
Expand All @@ -286,25 +300,25 @@
filters.groupOp.toUpperCase() !== o.groupOp.toUpperCase() ||
rules == null || rules.length === 0 ||
(filters.groups != null && filters.groups.length > 0)) {
return;
return filter;
}
for (j = 0; j < rules.length; j++) {
rule = rules[j];
cm = colModel[iColByName[rule.field]];
if (cm == null || cm.search === false) {
return;
continue;
}
soptions = cm.searchoptions || {};
if (soptions.sopt) {
if ($.inArray(rule.op, soptions.sopt) < 0) {
return;
continue;
}
} else if (cm.stype === "select") {
if (rule.op !== "eq") {
return;
continue;
}
} else if (rule.op !== o.defaultSearch) {
return;
continue;
}
filter[cm.name] = { op: rule.op, data: rule.data };
}
Expand Down Expand Up @@ -913,9 +927,7 @@
$self.bind(
"jqGridRefreshFilterValues.filterToolbar" + (o.loadFilterDefaults ? " jqGridAfterLoadComplete.filterToolbar" : ""),
function () {
var cmName, filter, newFilters = parseFilter(), p = this.p, $input, $searchOper, i;

if (!p || !p.search || !newFilters) { return; }
var cmName, filter, newFilters = parseFilter(true) || {}, $input, $searchOper, i;

for (cmName in newFilters) {
if (newFilters.hasOwnProperty(cmName)) {
Expand Down
764 changes: 382 additions & 382 deletions js/jquery.jqgrid.min.js

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions js/jquery.jqgrid.min.map

Large diffs are not rendered by default.

34 changes: 23 additions & 11 deletions js/jquery.jqgrid.src.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
* Dual licensed under the MIT and GPL licenses
* http://www.opensource.org/licenses/mit-license.php
* http://www.gnu.org/licenses/gpl-2.0.html
* Date: 2016-03-20
* Date: 2016-03-28
*/
//jsHint options
/*jshint eqnull:true */
Expand Down Expand Up @@ -8889,10 +8889,24 @@
getIdSel = function (cmName) {
return "#" + getId(cmName);
},
parseFilter = function () {
parseFilter = function (fillAll) {
var j, filters = p.postData.filters, filter = {}, rules, rule,
iColByName = p.iColByName, cm, soptions;
if (!filters) { return; }
if (fillAll) {
for (j = 0; j < colModel.length; j++) {
cm = colModel[j];
if (cm.search !== false) {
soptions = cm.searchoptions || {};
filter[cm.name] = {
op: soptions.sopt ?
soptions.sopt[0] :
cm.stype === "select" ? "eq" : o.defaultSearch,
data: soptions.defaultValue !== undefined ? soptions.defaultValue : ""
};
}
}
}
if (!filters || !p.search) { return filter; }
if (typeof filters === "string") {
try {
filters = $.parseJSON(filters);
Expand All @@ -8905,25 +8919,25 @@
filters.groupOp.toUpperCase() !== o.groupOp.toUpperCase() ||
rules == null || rules.length === 0 ||
(filters.groups != null && filters.groups.length > 0)) {
return;
return filter;
}
for (j = 0; j < rules.length; j++) {
rule = rules[j];
cm = colModel[iColByName[rule.field]];
if (cm == null || cm.search === false) {
return;
continue;
}
soptions = cm.searchoptions || {};
if (soptions.sopt) {
if ($.inArray(rule.op, soptions.sopt) < 0) {
return;
continue;
}
} else if (cm.stype === "select") {
if (rule.op !== "eq") {
return;
continue;
}
} else if (rule.op !== o.defaultSearch) {
return;
continue;
}
filter[cm.name] = { op: rule.op, data: rule.data };
}
Expand Down Expand Up @@ -9532,9 +9546,7 @@
$self.bind(
"jqGridRefreshFilterValues.filterToolbar" + (o.loadFilterDefaults ? " jqGridAfterLoadComplete.filterToolbar" : ""),
function () {
var cmName, filter, newFilters = parseFilter(), p = this.p, $input, $searchOper, i;

if (!p || !p.search || !newFilters) { return; }
var cmName, filter, newFilters = parseFilter(true) || {}, $input, $searchOper, i;

for (cmName in newFilters) {
if (newFilters.hasOwnProperty(cmName)) {
Expand Down
2 changes: 1 addition & 1 deletion js/min/grid.base.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit effb2ac

Please sign in to comment.