Commit 53b4d1b3 authored by Clement Ho's avatar Clement Ho

Add special character encoding

parent 7b382af7
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
},{ },{
key: 'label', key: 'label',
type: 'array', type: 'array',
param: 'name%5B%5D', param: 'name[]',
},]; },];
class FilteredSearchManager { class FilteredSearchManager {
...@@ -54,13 +54,14 @@ ...@@ -54,13 +54,14 @@
} }
loadSearchParamsFromURL() { loadSearchParamsFromURL() {
// We can trust that each param has one & since values containing & will be encoded
const params = window.location.search.split('&'); const params = window.location.search.split('&');
let inputValue = ''; let inputValue = '';
params.forEach((p) => { params.forEach((p) => {
const split = p.split('='); const split = p.split('=');
const key = split[0]; const key = split[0];
const value = split[1]; const value = decodeURIComponent(split[1]);
const match = validTokenKeys.find((t) => { const match = validTokenKeys.find((t) => {
return key === `${t.key}_${t.param}`; return key === `${t.key}_${t.param}`;
...@@ -200,11 +201,11 @@ ...@@ -200,11 +201,11 @@
return t.key === token.key; return t.key === token.key;
}).param; }).param;
path += `&${token.key}_${param}=${token.value}`; path += `&${token.key}_${param}=${encodeURIComponent(token.value)}`;
}); });
if (this.searchToken) { if (this.searchToken) {
path += '&search=' + this.searchToken.replace(/ /g, '+'); path += '&search=' + encodeURIComponent(this.searchToken.replace(/ /g, '+'));
} }
window.location = path; window.location = path;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment