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

v1.18.x
Julian Lam 5 years ago
parent abe8377387
commit 0fffe28941

@ -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'));
}); });
}; };

@ -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;
}, {}); }, {});

Loading…
Cancel
Save