Browse Source

Fix cutting of url params with the same name upon filtering

tags/2.0.7
Pavel Solomienko 9 years ago committed by SilverFire - Dmitry Naumenko
parent
commit
b6b2befb00
  1. 12
      framework/assets/yii.gridView.js
  2. 26
      framework/assets/yii.js

12
framework/assets/yii.gridView.js

@ -96,10 +96,18 @@
$.each(yii.getQueryParams(settings.filterUrl), function (name, value) { $.each(yii.getQueryParams(settings.filterUrl), function (name, value) {
if (namesInFilter.indexOf(name) === -1 && namesInFilter.indexOf(name.replace(/\[\]$/, '')) === -1) { if (namesInFilter.indexOf(name) === -1 && namesInFilter.indexOf(name.replace(/\[\]$/, '')) === -1) {
if (!$.isArray(value)) {
value = [value];
}
if (!(name in data)) { if (!(name in data)) {
data[name] = []; data[name] = value;
} else {
$.each(value, function (i, val) {
if ($.inArray(val, data[name])) {
data[name].push(val);
}
});
} }
data[name].push(value);
} }
}); });

26
framework/assets/yii.js

@ -276,12 +276,28 @@ yii = (function ($) {
if (pos < 0) { if (pos < 0) {
return {}; return {};
} }
var qs = url.substring(pos + 1).split('&');
for (var i = 0, result = {}; i < qs.length; i++) { var pairs = url.substring(pos + 1).split('&'),
qs[i] = qs[i].split('='); params = {},
result[decodeURIComponent(qs[i][0])] = decodeURIComponent(qs[i][1]); pair,
i;
for (i = 0; i < pairs.length; i++) {
pair = pairs[i].split('=');
var name = decodeURIComponent(pair[0]);
var value = decodeURIComponent(pair[1]);
if (name.length) {
if (params[name] !== undefined) {
if (!$.isArray(params[name])) {
params[name] = [params[name]];
}
params[name].push(value || '');
} else {
params[name] = value || '';
}
}
} }
return result; return params;
}, },
initModule: function (module) { initModule: function (module) {

Loading…
Cancel
Save