diff --git a/assets/js/toolkit.js b/assets/js/toolkit.js index 8cb64876f9..45bec96e2d 100644 --- a/assets/js/toolkit.js +++ b/assets/js/toolkit.js @@ -248,17 +248,15 @@ function applyFilters(filtersParams) { // Apply current filters to URL function applyFiltersToURL(filterParams) { - let filters = '' - for (let key in filterParams) { - if (filterParams[key].length) { - filters = filters + `${key}=${filterParams[key].join(',')}&` - } - } - // Remove extra & - if (filters) { - filters = filters.slice(0, filters.length - 1) + const url = new URL(window.location) + const params = new URLSearchParams() + + for (const [key, values] of Object.entries(filterParams)) { + values.forEach(value => params.append(key, value)) } - window.history.replaceState(null, '', `?${filters}`) + + url.search = params.toString() + window.history.replaceState(null, '', url) } // Apply URL to filters