Make WordPress Core

Ticket #19845: 19845.7.diff

File 19845.7.diff, 1.5 KB (added by kovshenin, 11 years ago)
  • src/wp-includes/js/media-views.js

     
    35203520                        return supports;
    35213521                },
    35223522
     3523                isDraggingFile: function( e ) {
     3524                        if ( _.isUndefined( e.originalEvent ) || _.isUndefined( e.originalEvent.dataTransfer ) )
     3525                                return false;
     3526
     3527                        return _.indexOf( event.dataTransfer.types, 'Files' ) > -1;
     3528                },
     3529
    35233530                refresh: function( e ) {
    35243531                        var dropzone_id;
    35253532                        for ( dropzone_id in this.dropzones ) {
     
    35933600                        return this;
    35943601                },
    35953602
    3596                 containerDragover: function() {
     3603                containerDragover: function( e ) {
     3604                        if ( ! this.isDraggingFile( e ) )
     3605                                return;
     3606
    35973607                        this.overContainer = true;
    3598                         this.refresh();
     3608                        this.refresh( e );
    35993609                },
    36003610
    3601                 containerDragleave: function() {
     3611                containerDragleave: function( e ) {
     3612                        if ( ! this.isDraggingFile( e ) )
     3613                                return;
     3614
    36023615                        this.overContainer = false;
    3603 
    36043616                        // Throttle dragleave because it's called when bouncing from some elements to others.
    3605                         _.delay( _.bind( this.refresh, this ), 50 );
     3617                        _.delay( _.bind( this.refresh, this, e ), 50 );
    36063618                },
    36073619
    36083620                dropzoneDragover: function( e ) {
     3621                        if ( ! this.isDraggingFile( e ) )
     3622                                return;
     3623
    36093624                        this.overDropzone = true;
    36103625                        this.refresh( e );
    36113626                        return false;
    36123627                },
    36133628
    36143629                dropzoneDragleave: function( e ) {
     3630                        if ( ! this.isDraggingFile( e ) )
     3631                                return;
     3632
    36153633                        this.overDropzone = false;
    36163634                        _.delay( _.bind( this.refresh, this, e ), 50 );
    36173635                }