Browse Source

refactor: Les js de bigup utilisent `bigup.buildFormData()` et `bigup.send()`.

Refs: #4861
(cherry picked from commit be52959e6c)
1.1
Matthieu Marcillaud 2 months ago
parent
commit
13c49c6454
  1. 79
      javascript/bigup.documents.js
  2. 2
      javascript/bigup.documents_edit.js
  3. 65
      javascript/bigup.documents_illustrer.js
  4. 61
      javascript/bigup.logos.js
  5. 61
      javascript/bigup.simples.js

79
javascript/bigup.documents.js

@ -7,48 +7,49 @@ function formulaires_documents_avec_bigup () {
.not('.bigup_document')
.addClass('bigup_document')
.on('bigup.fileSuccess', function(event, file, description) {
var bigup = file.bigup;
var input = file.emplacement;
const bigup = file.bigup;
const input = file.emplacement;
var data = $.extend(bigup.getFormData(), {
joindre_upload: true,
joindre_zip: true, // les zips sont conservés zippés systématiquement.
formulaire_action_verifier_json: true,
bigup_reinjecter_uniquement: [description.bigup.identifiant],
});
const data = bigup.buildFormData();
data.set('joindre_upload', true);
data.set('joindre_zip', true); // les zips sont conservés zippés systématiquement.
data.set('formulaire_action_verifier_json', true);
data.set('bigup_reinjecter_uniquement', [description.bigup.identifiant]);
// verifier les champs
$.post(bigup.target, data, null, 'json')
.done(function(erreurs) {
var erreur = data.fichier_upload || erreurs.message_erreur;
if (erreur) {
bigup.presenter_erreur(input, erreur);
} else {
delete data.formulaire_action_verifier_json;
// Faire le traitement prévu, supposant qu'il n'y aura pas d'erreur...
$.post(bigup.target, data)
.done(function(html) {
var message = $(html).find('.reponse_formulaire').html();
if (message) {
bigup.presenter_succes(input, message);
} else {
bigup.presenter_erreur(input, _T('bigup:erreur_probleme_survenu'));
}
input.addClass('remove').animate({opacity: "0.0"}, 'fast', function(){
// autoriser de mettre une seconde fois le fichier
file.bigup_deleted = true;
file.cancel();
input.remove();
});
})
.fail(function(data) {
bigup.presenter_erreur(input, _T('bigup:erreur_probleme_survenu'));
});
}
})
.fail(function(data) {
bigup.presenter_erreur(input, _T('bigup:erreur_probleme_survenu'));
});
bigup
.send(data, {dataType: 'json'})
.done(function(erreurs) {
var erreur = erreurs[bigup.name] || erreurs.message_erreur;
if (erreur) {
bigup.presenter_erreur(input, erreur);
} else {
data.delete('formulaire_action_verifier_json');
// Faire le traitement prévu, supposant qu'il n'y aura pas d'erreur...
bigup
.send(data)
.done(function(html) {
var message = $(html).find('.reponse_formulaire').html();
if (message) {
bigup.presenter_succes(input, message);
} else {
bigup.presenter_erreur(input, _T('bigup:erreur_probleme_survenu'));
}
input.addClass('remove').animate({opacity: "0.0"}, 'fast', function(){
// autoriser de mettre une seconde fois le fichier
file.bigup_deleted = true;
file.cancel();
input.remove();
});
})
.fail(function(data) {
bigup.presenter_erreur(input, _T('bigup:erreur_probleme_survenu'));
});
}
})
.fail(function(data) {
bigup.presenter_erreur(input, _T('bigup:erreur_probleme_survenu'));
});
});
$("input[name='joindre_upload']").hide();
}

2
javascript/bigup.documents_edit.js

@ -14,7 +14,7 @@ function formulaires_documents_edit_avec_bigup () {
const data = bigup.buildFormData();
data.set('joindre_upload', true);
data.set('joindre_zip', true);
data.set('joindre_zip', true); // les zips sont conservés zippés systématiquement.
data.set('formulaire_action_verifier_json', true);
data.set('bigup_reinjecter_uniquement', [description.bigup.identifiant]);

65
javascript/bigup.documents_illustrer.js

@ -8,41 +8,42 @@ function formulaires_documents_illustrer_avec_bigup () {
.not('.bigup_done')
.bigup()
.on('bigup.fileSuccess', function(event, file, description) {
var bigup = file.bigup;
var input = file.emplacement;
const bigup = file.bigup;
const input = file.emplacement;
var data = $.extend(bigup.getFormData(), {
joindre_upload: true,
joindre_zip: true, // les zips sont conservés zippés systématiquement.
formulaire_action_verifier_json: true,
bigup_reinjecter_uniquement: [description.bigup.identifiant],
});
const data = bigup.buildFormData();
data.set('joindre_upload', true);
data.set('joindre_zip', true); // les zips sont conservés zippés systématiquement.
data.set('formulaire_action_verifier_json', true);
data.set('bigup_reinjecter_uniquement', [description.bigup.identifiant]);
// verifier les champs
$.post(bigup.target, data, null, 'json')
.done(function(erreurs) {
var erreur = data.fichier_upload || erreurs.message_erreur;
if (erreur) {
bigup.presenter_erreur(input, erreur);
} else {
delete data.formulaire_action_verifier_json;
var conteneur = bigup.form.parents('.formulaire_illustrer_documents');
conteneur.animateLoading();
// Faire le traitement prévu, supposant qu'il n'y aura pas d'erreur...
$.post(bigup.target, data)
.done(function(html) {
bigup.presenter_succes(input, _T('bigup:succes_vignette_envoyee'));
bigup.form.parents('.formulaire_spip').parent().html(html);
})
.fail(function(data) {
conteneur.endLoading();
bigup.presenter_erreur(input, _T('bigup:erreur_probleme_survenu'));
});
}
})
.fail(function(data) {
bigup.presenter_erreur(input, _T('bigup:erreur_probleme_survenu'));
});
bigup
.send(data, {dataType: 'json'})
.done(function(erreurs) {
var erreur = erreurs[bigup.name] || erreurs.message_erreur;
if (erreur) {
bigup.presenter_erreur(input, erreur);
} else {
data.delete('formulaire_action_verifier_json');
var conteneur = bigup.form.parents('.formulaire_illustrer_documents');
conteneur.animateLoading();
// Faire le traitement prévu, supposant qu'il n'y aura pas d'erreur...
bigup
.send(data)
.done(function(html) {
bigup.presenter_succes(input, _T('bigup:succes_vignette_envoyee'));
bigup.form.parents('.formulaire_spip').parent().html(html);
})
.fail(function(data) {
conteneur.endLoading();
bigup.presenter_erreur(input, _T('bigup:erreur_probleme_survenu'));
});
}
})
.fail(function(data) {
bigup.presenter_erreur(input, _T('bigup:erreur_probleme_survenu'));
});
})
.closest('.editer').find('.dropfiletext').html(_T('bigup:deposer_la_vignette_ici'));
}

61
javascript/bigup.logos.js

@ -9,39 +9,40 @@ function formulaires_logos_avec_bigup() {
.not('.bigup_done')
.bigup()
.on('bigup.fileSuccess', function(event, file, description) {
var bigup = file.bigup;
var input = file.emplacement;
const bigup = file.bigup;
const input = file.emplacement;
var data = $.extend(bigup.getFormData(), {
formulaire_action_verifier_json: true,
bigup_reinjecter_uniquement: [description.bigup.identifiant],
});
const data = bigup.buildFormData();
data.set('formulaire_action_verifier_json', true);
data.set('bigup_reinjecter_uniquement', [description.bigup.identifiant]);
// verifier les champs
$.post(bigup.target, data, null, 'json')
.done(function(erreurs) {
var erreur = data.logo_on || data.logo_off || erreurs.message_erreur;
if (erreur) {
bigup.presenter_erreur(input, erreur);
} else {
delete data.formulaire_action_verifier_json;
var conteneur = bigup.form.parents('.formulaire_editer_logo');
conteneur.animateLoading();
// Faire le traitement prévu, supposant qu'il n'y aura pas d'erreur...
$.post(bigup.target, data)
.done(function(html) {
bigup.presenter_succes(input, _T('bigup:succes_logo_envoye'));
bigup.form.parents('.formulaire_spip').parent().html(html);
})
.fail(function(data) {
conteneur.endLoading();
bigup.presenter_erreur(input, _T('bigup:erreur_probleme_survenu'));
});
}
})
.fail(function(data) {
bigup.presenter_erreur(input, _T('bigup:erreur_probleme_survenu'));
});
bigup
.send(data, {dataType: 'json'})
.done(function(erreurs) {
var erreur = erreurs[bigup.name] || erreurs.message_erreur;
if (erreur) {
bigup.presenter_erreur(input, erreur);
} else {
data.delete('formulaire_action_verifier_json');
var conteneur = bigup.form.parents('.formulaire_editer_logo');
conteneur.animateLoading();
// Faire le traitement prévu, supposant qu'il n'y aura pas d'erreur...
bigup
.send(data)
.done(function(html) {
bigup.presenter_succes(input, _T('bigup:succes_logo_envoye'));
bigup.form.parents('.formulaire_spip').parent().html(html);
})
.fail(function(data) {
conteneur.endLoading();
bigup.presenter_erreur(input, _T('bigup:erreur_probleme_survenu'));
});
}
})
.fail(function(data) {
bigup.presenter_erreur(input, _T('bigup:erreur_probleme_survenu'));
});
})
.closest('.editer').find('.dropfiletext').html(_T('bigup:deposer_le_logo_ici'));
formulaire_editer_logo.find('.btn-upload').hide();

61
javascript/bigup.simples.js

@ -0,0 +1,61 @@
/** Gérer le formulaire d'upload simples avec Bigup */
function formulaires_simples_avec_bigup() {
// trouver les input qui envoient des fichiers
$("input[type=file].bigup_simple", ".formulaire_spip form").each(function() {
const formulaire_simple = $(this).closest('form');
formulaire_simple
.find("input[type=file].bigup_simple")
.not('.bigup_done')
.bigup()
.on('bigup.fileSuccess', function(event, file, description) {
const bigup = file.bigup;
const input = file.emplacement;
const data = bigup.buildFormData();
data.set('formulaire_action_verifier_json', true);
data.set('bigup_reinjecter_uniquement', [description.bigup.identifiant]);
// verifier les champs
bigup
.send(data, {dataType: 'json'})
.done(function(erreurs) {
const erreur = erreurs[bigup.name] || erreurs.message_erreur;
if (erreur) {
bigup.presenter_erreur(input, erreur);
} else {
data.delete('formulaire_action_verifier_json');
const conteneur = bigup.form.parents('.formulaire_spip');
conteneur.animateLoading();
// Faire le traitement prévu, supposant qu'il n'y aura pas d'erreur...
bigup
.send(data)
.done(function(html) {
bigup.presenter_succes(input, _T('bigup:succes_logo_envoye'));
bigup.form.parents('.formulaire_spip').parent().html(html);
})
.fail(function(data) {
conteneur.endLoading();
bigup.presenter_erreur(input, _T('bigup:erreur_probleme_survenu'));
});
}
})
.fail(function(data) {
bigup.presenter_erreur(input, _T('bigup:erreur_probleme_survenu'));
});
});
// Si l'input d'upload est tout seul dans un .boutons, cacher ce dernier, sinon juste l'input
const $input_upload = formulaire_simple.find('.btn-upload');
const $boutons = $input_upload.parents('.boutons');
if ($boutons.length > 0 && $input_upload.siblings().length === 0) {
$boutons.hide();
} else {
$input_upload.hide();
}
});
}
jQuery(function($) {
formulaires_simples_avec_bigup();
onAjaxLoad(formulaires_simples_avec_bigup);
});
Loading…
Cancel
Save