Skip to content

Commit

Permalink
Simplify
Browse files Browse the repository at this point in the history
  • Loading branch information
bennothommo committed Aug 13, 2024
1 parent 06d17ef commit 047ea65
Show file tree
Hide file tree
Showing 4 changed files with 12 additions and 15 deletions.
2 changes: 1 addition & 1 deletion modules/system/assets/js/build/system.debug.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion modules/system/assets/js/build/system.js

Large diffs are not rendered by default.

21 changes: 9 additions & 12 deletions modules/system/assets/js/snowboard/ajax/Request.js
Original file line number Diff line number Diff line change
Expand Up @@ -797,7 +797,7 @@ export default class Request extends PluginBase {
const formData = new FormData(this.form || undefined);

if (Object.keys(data).length > 0) {
this.createFormData(formData, '', data);
this.createFormData(formData, data);
}

return formData;
Expand All @@ -810,34 +810,31 @@ export default class Request extends PluginBase {
* objects and arrays are correctly prefixed and added as POST data.
*
* @param {FormData} formData
* @param {string} prefix
* @param {Object} data
* @param {string} prefix
* @returns {void}
*/
createFormData(formData, prefix, data) {
createFormData(formData, data, prefix = '') {
if (typeof data !== 'object') {
formData.append(prefix, data);
return;
}

if (Array.isArray(data)) {
data.forEach((item) => {
this.createFormData(formData, `${prefix}[]`, item);
this.createFormData(formData, item, `${prefix}[]`);
});
return;
}

Object.entries(data).forEach((entry) => {
const [key, value] = entry;
let newPrefix = '';

if (prefix !== '') {
newPrefix = `${prefix}[${key}]`;
} else {
newPrefix = key;
}

this.createFormData(formData, newPrefix, value);
this.createFormData(
formData,
value,
(prefix !== '') ? `${prefix}[${key}]` : key,
);
});
}

Expand Down
Loading

0 comments on commit 047ea65

Please sign in to comment.