Prevent parameter errors in sendMessage()/saveMessage() due to too many parameters.

Instead provide an object.
sendMessage param 'SentFolder' and saveMessage param 'DraftFolder' now both 'SaveFolder'
This commit is contained in:
djmaze 2020-08-17 21:32:57 +02:00
parent 6f49e9b80f
commit 7670d2073d
7 changed files with 185 additions and 306 deletions

View file

@ -54,10 +54,17 @@ class AbstractAjaxPromises extends AbstractBasicPromises {
};
params.XToken = Settings.appSettingsGet('token');
// init.body = JSON.stringify(params);
const formData = new FormData();
Object.keys(params).forEach(key => {
formData.append(key, params[key])
});
const formData = new FormData(),
buildFormData = (formData, data, parentKey) => {
if (data && typeof data === 'object' && !(data instanceof Date || data instanceof File)) {
Object.keys(data).forEach(key =>
buildFormData(formData, data[key], parentKey ? `${parentKey}[${key}]` : key)
);
} else {
formData.set(parentKey, data == null ? '' : data);
}
};
buildFormData(formData, params);
init.body = (new URLSearchParams(formData)).toString();
}

View file

@ -22,9 +22,7 @@ class UserAjaxUserPromises extends AbstractAjaxPromises {
this.setTrigger(fTrigger, true);
clearTimeout(this.foldersTimeout);
this.foldersTimeout = setTimeout(() => {
this.foldersReload(fTrigger);
}, 500);
this.foldersTimeout = setTimeout(() => this.foldersReload(fTrigger), 500);
}
folderDelete(sFolderFullNameRaw, fTrigger) {