static/ext/src/ux/dd/CellFieldDropZone.js
function(target, dd, e, dragData) {
        delete this.dropOK;
        if (!target) {
            return;
        }

//      Check that a field is being dragged.
        var f = dragData.field;
        if (!f) {
            return;
        }

//      Check whether the data type of the column being dropped on accepts the
//      dragged field type. If so, set dropOK flag, and highlight the target node.
        var type = target.record.fields.get(target.fieldName).type,
            types = Ext.data.Types;
        switch(type){
            case types.FLOAT:
            case types.INT:
                if (!f.isXType('numberfield')) {
                    return;
                }
                break;
            case types.DATE:
                if (!f.isXType('datefield')) {
                    return;
                }
                break;
            case types.BOOL:
                if (!f.isXType('checkbox')) {
                    return;
                }
        }
        this.dropOK = true;
        Ext.fly(target.node).addCls('x-drop-target-active');
    }
function(target, dd, e, dragData) {
        delete this.dropOK;
        if (!target) {
            return;
        }

//      Check that a field is being dragged.
        var f = dragData.field;
        if (!f) {
            return;
        }

//      Check whether the data type of the column being dropped on accepts the
//      dragged field type. If so, set dropOK flag, and highlight the target node.
        var type = target.record.fields.get(target.fieldName).type,
            types = Ext.data.Types;
        switch(type){
            case types.FLOAT:
            case types.INT:
                if (!f.isXType('numberfield')) {
                    return;
                }
                break;
            case types.DATE:
                if (!f.isXType('datefield')) {
                    return;
                }
                break;
            case types.BOOL:
                if (!f.isXType('checkbox')) {
                    return;
                }
        }
        this.dropOK = true;
        Ext.fly(target.node).addCls('x-drop-target-active');
    }
function ( target , dd , e , dragData ) { delete this . dropOK ; if ( ! target ) { return ; } //      Check that a field is being dragged. var f = dragData . field ; if ( ! f ) { return ; } //      Check whether the data type of the column being dropped on accepts the //      dragged field type. If so, set dropOK flag, and highlight the target node. var type = target . record . fields . get ( target . fieldName ) . type , types = Ext . data . Types ; switch ( type ) { case types . FLOAT : case types . INT : if ( ! f . isXType ( 'numberfield' ) ) { return ; } break ; case types . DATE : if ( ! f . isXType ( 'datefield' ) ) { return ; } break ; case types . BOOL : if ( ! f . isXType ( 'checkbox' ) ) { return ; } } this . dropOK = true ; Ext . fly ( target . node ) . addCls ( 'x-drop-target-active' ) ; }
On Node enter, see if it is valid for us to drop the field on that type of column.
On Node enter see if it is valid for us to drop the field on that type of column .