feat: Ajout de deux events à l'API JS
bigup.fileAdded & bigup.fileSubmitted
C'est surtout le second qui peut être utile, car à ce moment on peut accéder à l'objet file ainsi que bigup pour retirer un fichier de l'upload après une vérification perso. Exemple :
fileSubmitted: function(event, file){
$.ajax({
url: '#URL_PAGE{geol_upload_limit}',
async: false,
type: 'GET',
data: ({id_article: '#ENV{id_article}'}),
dataType: 'html',
success: function(msg){
if (parseInt(msg) >= 1) {
file.bigup.presenter_erreur(file.emplacement, _T('bigup:erreur_probleme_survenu'));
file.bigup.enlever_fichier(file.emplacement);
}
}
});
},
Ici la vérification est faite en appelant une page qui vérifie que l'user n'a pas dépasser son quota d'upload pour l'objet en cours d'édition.
À noter que ça n'est pas possible de le faire depuis l'event ready (j'en parle dans le commentaire suivant), en suchargeant la méthode accepter_fichier()
de bigup car son appel ici https://git.spip.net/spip/bigup/src/commit/607a4f0a7e4d8c4d264e90d4393d37b327b88d67/javascript/bigup.js#L332 est "incompatible" avec le fait de faire un test sur un post ajax vu qu'on n'est pas dans un test en mode async/await.