Success! Looks like we've fixed this one. According to our records the fix was applied for a bug in our system in a recent build.
  1. #11
    Sencha User
    Join Date
    Jan 2008
    Location
    Los Angeles
    Posts
    149
    Vote Rating
    1
    radtad is on a distinguished road

      0  

    Default


    Quote Originally Posted by annette View Post
    I've reported the problem as a ticket (for Ext.tree.plugin.TreeViewDragDropView, ptype: treeviewdragdrop).

    I've got the following response, and have successfully applied the patch.

    It will be fixed in 4.1 since it's an API change.
    Where are you specifically are you putting this? I added this to Ext.tree.plugin.TreeViewDragDropView and it still doesn't work for me. Do you have a link to the bug you submitted by chance?

  2. #12
    Sencha Premium Member
    Join Date
    Mar 2011
    Posts
    41
    Vote Rating
    0
    annette is on a distinguished road

      0  

    Default


    Ext.view.DropZone

    Link to ticket:http://support.sencha.com/index.php#ticket-6205

  3. #13
    Sencha User timriedel's Avatar
    Join Date
    May 2008
    Location
    Karlsruhe, Germany
    Posts
    18
    Vote Rating
    0
    timriedel is on a distinguished road

      0  

    Default


    I have had some trouble figuring out where to put the override in an Ext 4 MVC application. The launch method of Ext.application seems to be a good place, so:

    PHP Code:
    ,launch: function() {

    //... some other stuff here

    Ext.view.DropZone.override({
                
    onNodeDrop : function (nodedragZoneedata) {    var me this,
                    
    dropHandled false,
                    
                    
    // Create a closure to perform the operation which the event handler may use.
                    // Users may now set the wait parameter in the beforedrop handler, and perform any kind
                    // of asynchronous processing such as an Ext.Msg.confirm, or an Ajax request,
                    // and complete the drop gesture at some point in the future by calling either the
                    // processDrop or cancelDrop methods.
                    
    dropHandlers = {
                        
    wait false,
                        
    processDrop : function () {
                            
    me.invalidateDrop();
                            
    me.handleNodeDrop(datame.overRecordme.currentPosition);
                            
    dropHandled true;
                            
    me.fireViewEvent('drop'nodedatame.overRecordme.currentPosition);
                        },
                        
                        
    cancelDrop : function () {
                            
    me.invalidateDrop();
                            
    dropHandled true;
                        }
                    },
                    
    performOperation false;
                    
                    if (
    me.valid) {
                        
    performOperation me.fireViewEvent('beforedrop'nodedatame.overRecordme.currentPositiondropHandlers);
                        if (
    dropHandlers.wait) {
                            return;
                        }
                        
                        if (
    performOperation !== false) {
                            
    // If either of the drop handlers were called in the event handler, do not do it again.
                            
    if (!dropHandled) {
                                
    dropHandlers.processDrop();
                            }
                        }
                    }
                    return 
    performOperation;
                }
            });

    //... some other stuff here 
    Use the scope, Luke.

  4. #14
    Sencha User
    Join Date
    Jan 2008
    Location
    Los Angeles
    Posts
    149
    Vote Rating
    1
    radtad is on a distinguished road

      0  

    Default


    Thanks annette and timriedel! I couldn't get to the ticket since I don't have premium, but timriedel's solution worked. Everywhere I seemed to put it just did not work at all.