web-dev-qa-db-fra.com

Rappel de téléchargement d'image dans le nouveau média 3.5

J'utilise le nouveau chargeur de média 3.5 dans mon interface de thème (base sur this example). C’est très simple de faire quelque chose avec des images après avoir appuyé sur le bouton 'Select':

file_frame.on('select', function() {
    // Get all attachments
    var attachments = file_frame.state().get('selection').toJSON();

    // Do stuff with attachments
});

Mais que faire si je veux faire quelque chose avec des pièces jointes juste après leur téléchargement? Quelque chose comme:

file_frame.on('upload', function() {
    // Do stuff with attachments
});

Je n'ai rien trouvé d'utile dans 'wp-includes/js/media-models.js' ou 'wp-includes/js/media-views.js'.

J'ai essayé de joindre beaucoup d'événements trouvés dans ces fichiers:

'add', 'url', 'select', 'ready', 'escapeHandler', 'keydown', 'attach', 'open', 'close', 'escape', 'recordTab', 'updateIndex', 'activate', 'dismiss', 'remove', 'reset', 'uploading', 'deactivate', 'create', 'render', 'change:content', 'scan', 'prepare', 'content:render:upload', 'content:render', 'content', 'updateIndex', 'recordTab', 'change:uploading', 'finish', 'done', 'upload', 'uploaded', 'save', 'saved','change:compat', 'compat'

Mais tous ces événements ne se déclenchent pas lorsque j'en ai besoin.

Merci!

5
fornyhucker

Un événement FileUploaded est déclenché dans wp-includes/js/plupload/wp-plupload.js.

Alternativement (et probablement le meilleur moyen), vous voudrez peut-être étendre wp.Uploader avec votre propre rappel de succès.

(function($){

    $.extend( wp.Uploader.prototype, {
        success : function( file_attachment ){
            console.log( file_attachment );
        }
    });
})(jQuery);
9
Jörn Lund