fix: issue where the last flag filter could not be removed

This commit is contained in:
Julian Lam
2020-09-23 10:24:06 -04:00
parent abe8377387
commit 0fffe28941
2 changed files with 6 additions and 4 deletions

View File

@@ -38,9 +38,7 @@ define('forum/flags/list', ['components', 'Chart'], function (components, Chart)
filtersEl.find('[name="sort"]').val(ajaxify.data.sort); filtersEl.find('[name="sort"]').val(ajaxify.data.sort);
document.getElementById('apply-filters').addEventListener('click', function () { document.getElementById('apply-filters').addEventListener('click', function () {
var payload = filtersEl.serializeArray().filter(function (item) { var payload = filtersEl.serializeArray();
return !!item.value;
});
ajaxify.go('flags?' + (payload.length ? $.param(payload) : 'reset=1')); ajaxify.go('flags?' + (payload.length ? $.param(payload) : 'reset=1'));
}); });
}; };

View File

@@ -47,8 +47,12 @@ modsController.flags.list = async function (req, res, next) {
// Parse query string params for filters, eliminate non-valid filters // Parse query string params for filters, eliminate non-valid filters
filters = filters.reduce(function (memo, cur) { filters = filters.reduce(function (memo, cur) {
if (req.query.hasOwnProperty(cur)) { if (req.query.hasOwnProperty(cur)) {
if (req.query[cur] === '') {
delete req.session.flags_filters[cur];
} else {
memo[cur] = req.query[cur]; memo[cur] = req.query[cur];
} }
}
return memo; return memo;
}, {}); }, {});