diff --git a/public/src/client/flags/list.js b/public/src/client/flags/list.js index b8d168fd33..df87b04562 100644 --- a/public/src/client/flags/list.js +++ b/public/src/client/flags/list.js @@ -38,9 +38,7 @@ define('forum/flags/list', ['components', 'Chart'], function (components, Chart) filtersEl.find('[name="sort"]').val(ajaxify.data.sort); document.getElementById('apply-filters').addEventListener('click', function () { - var payload = filtersEl.serializeArray().filter(function (item) { - return !!item.value; - }); + var payload = filtersEl.serializeArray(); ajaxify.go('flags?' + (payload.length ? $.param(payload) : 'reset=1')); }); }; diff --git a/src/controllers/mods.js b/src/controllers/mods.js index 88befcb4be..3be5ebf5d8 100644 --- a/src/controllers/mods.js +++ b/src/controllers/mods.js @@ -47,7 +47,11 @@ modsController.flags.list = async function (req, res, next) { // Parse query string params for filters, eliminate non-valid filters filters = filters.reduce(function (memo, cur) { if (req.query.hasOwnProperty(cur)) { - memo[cur] = req.query[cur]; + if (req.query[cur] === '') { + delete req.session.flags_filters[cur]; + } else { + memo[cur] = req.query[cur]; + } } return memo;