From 74663368b364b596a4a6e139de6708318eef7c1d Mon Sep 17 00:00:00 2001 From: Johannes Raggam Date: Fri, 8 Jul 2022 16:38:40 +0200 Subject: [PATCH] fix(pat modal): Use jquery-form to be able to upload binary data via AJAX. --- src/pat/modal/modal.js | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/src/pat/modal/modal.js b/src/pat/modal/modal.js index 5c9515ac6..7c9e373ea 100644 --- a/src/pat/modal/modal.js +++ b/src/pat/modal/modal.js @@ -184,8 +184,8 @@ export default Base.extend({ var self = this; // pass action that was clicked when submiting form - var formData = []; - formData.push({ name: $action.attr("name"), value: $action.attr("value") }); + var extraData = {}; + extraData[$action.attr("name")] = $action.attr("value"); var $form; @@ -227,14 +227,10 @@ export default Base.extend({ }); $form.trigger("submit"); - // serialize form data - formData = [].concat(formData, $form.serializeArray()); - self.loading.show(false); - $.ajax({ + $form.ajaxSubmit({ timeout: options.timeout, - type: $form.attr("method"), - data: formData, + data: extraData, url: url, error: function (xhr, textStatus, errorStatus) { self.loading.hide(); @@ -528,8 +524,9 @@ export default Base.extend({ reloadWindow: function () { window.parent.location.reload(); }, - init: function () { + init: async function () { import("./modal.scss"); + (await import("jquery-form")).default; var self = this; self.options.loadLinksWithinModal = $.parseJSON(