mirror of
https://github.com/Icinga/icingaweb2.git
synced 2025-07-26 23:34:08 +02:00
js: Properly parse/decode query params in utils.parseParams()
This commit is contained in:
parent
4d790e70fc
commit
2dbf9ca8ab
@ -161,7 +161,7 @@
|
|||||||
var keys = this.getMultiselectionKeys();
|
var keys = this.getMultiselectionKeys();
|
||||||
for (var i = 0; i < keys.length; i++) {
|
for (var i = 0; i < keys.length; i++) {
|
||||||
var key = keys[i];
|
var key = keys[i];
|
||||||
if (params[key]) {
|
if (params[key] || params[key] === null) {
|
||||||
tuple[key] = params[key];
|
tuple[key] = params[key];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -305,7 +305,12 @@
|
|||||||
selections.each(function (i, el) {
|
selections.each(function (i, el) {
|
||||||
var parts = [];
|
var parts = [];
|
||||||
$.each(_this.getRowData($(el)), function(key, value) {
|
$.each(_this.getRowData($(el)), function(key, value) {
|
||||||
parts.push(utils.fixedEncodeURIComponent(key) + '=' + utils.fixedEncodeURIComponent(value));
|
var condition = utils.fixedEncodeURIComponent(key);
|
||||||
|
if (value !== null) {
|
||||||
|
condition += '=' + utils.fixedEncodeURIComponent(value);
|
||||||
|
}
|
||||||
|
|
||||||
|
parts.push(condition);
|
||||||
});
|
});
|
||||||
queries.push('(' + parts.join('&') + ')');
|
queries.push('(' + parts.join('&') + ')');
|
||||||
});
|
});
|
||||||
|
@ -136,19 +136,25 @@
|
|||||||
newparams[key] = value;
|
newparams[key] = value;
|
||||||
});
|
});
|
||||||
|
|
||||||
if (Object.keys(newparams).length > 0) {
|
if (Object.keys(newparams).length) {
|
||||||
var queryString = '?';
|
var queryString = '?';
|
||||||
$.each(newparams, function (key, value) {
|
$.each(newparams, function (key, value) {
|
||||||
if (queryString !== '?') {
|
if (queryString !== '?') {
|
||||||
queryString += '&';
|
queryString += '&';
|
||||||
}
|
}
|
||||||
queryString += encodeURIComponent(key) + '=' + encodeURIComponent(value);
|
|
||||||
|
queryString += encodeURIComponent(key);
|
||||||
|
if (value !== null) {
|
||||||
|
queryString += '=' + encodeURIComponent(value);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
result += queryString;
|
result += queryString;
|
||||||
}
|
}
|
||||||
if (parts.hash.length > 0) {
|
|
||||||
|
if (parts.hash.length) {
|
||||||
result += '#' + parts.hash;
|
result += '#' + parts.hash;
|
||||||
}
|
}
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -162,19 +168,25 @@
|
|||||||
delete newparams[key];
|
delete newparams[key];
|
||||||
});
|
});
|
||||||
|
|
||||||
if (Object.keys(newparams).length > 0) {
|
if (Object.keys(newparams).length) {
|
||||||
var queryString = '?';
|
var queryString = '?';
|
||||||
$.each(newparams, function (key, value) {
|
$.each(newparams, function (key, value) {
|
||||||
if (queryString !== '?') {
|
if (queryString !== '?') {
|
||||||
queryString += '&';
|
queryString += '&';
|
||||||
}
|
}
|
||||||
queryString += encodeURIComponent(key) + '=' + encodeURIComponent(value);
|
|
||||||
|
queryString += encodeURIComponent(key);
|
||||||
|
if (value !== null) {
|
||||||
|
queryString += '=' + encodeURIComponent(value);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
result += queryString;
|
result += queryString;
|
||||||
}
|
}
|
||||||
if (parts.hash.length > 0) {
|
|
||||||
|
if (parts.hash.length) {
|
||||||
result += '#' + parts.hash;
|
result += '#' + parts.hash;
|
||||||
}
|
}
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -193,7 +205,7 @@
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
s = segment[i].split('=');
|
s = segment[i].split('=');
|
||||||
params[s[0]] = decodeURIComponent(s[1]);
|
params[decodeURIComponent(s[0])] = typeof s[1] !== 'undefined' ? decodeURIComponent(s[1]) : null;
|
||||||
}
|
}
|
||||||
return params;
|
return params;
|
||||||
},
|
},
|
||||||
|
Loading…
x
Reference in New Issue
Block a user