From a25d0432c42f8d76fdea9e14b088719c3a46626b Mon Sep 17 00:00:00 2001 From: Will Rossiter Date: Thu, 21 Sep 2023 06:41:00 +1200 Subject: [PATCH] FIX broken URL builder when using MultiSelectFields as parameters --- javascript/ReportAdmin.js | 41 ++++++++++++++++++++++++++------------- 1 file changed, 28 insertions(+), 13 deletions(-) diff --git a/javascript/ReportAdmin.js b/javascript/ReportAdmin.js index fb5d3d4a..0cdd9edb 100644 --- a/javascript/ReportAdmin.js +++ b/javascript/ReportAdmin.js @@ -2,17 +2,32 @@ * File: ReportAdmin.js */ -(function($) { - $.entwine('ss', function($){ - $('.ReportAdmin .cms-edit-form').entwine({ - onsubmit: function(e) { - var url = $.path.parseUrl(document.location.href).hrefNoSearch, - params = this.find(':input[name^=filters]').serializeArray(); - params = $.grep(params, function(param) {return (param.value);}); // filter out empty - if(params) url = $.path.addSearchParams(url, $.param(params)); - $('.cms-container').loadPanel(url); - return false; - } - }); - }); +(function ($) { + $.entwine("ss", function ($) { + $(".ReportAdmin .cms-edit-form").entwine({ + onsubmit: function (e) { + let url = $.path.parseUrl(document.location.href).hrefNoSearch; + let params = this.find(":input[name^=filters]").serializeArray(); + + try { + params = $.grep(params, function (param) { + // filter out empty + return param.value; + }); + + // convert params to a query string + params = $.param(params); + + // append query string to url + url += "?" + params; + + $(".cms-container").loadPanel(url); + } catch (err) { + console.error(err); + } + + return false; + }, + }); + }); })(jQuery);