2 * @class Ext.grid.header.DragZone
3 * @extends Ext.dd.DragZone
6 Ext.define('Ext.grid.header.DragZone', {
7 extend: 'Ext.dd.DragZone',
8 colHeaderCls: Ext.baseCSSPrefix + 'column-header',
11 constructor: function(headerCt) {
12 this.headerCt = headerCt;
13 this.ddGroup = this.getDDGroup();
14 this.callParent([headerCt.el]);
15 this.proxy.el.addCls(Ext.baseCSSPrefix + 'grid-col-dd');
18 getDDGroup: function() {
19 return 'header-dd-zone-' + this.headerCt.up('[scrollerOwner]').id;
22 getDragData: function(e) {
23 var header = e.getTarget('.'+this.colHeaderCls),
27 headerCmp = Ext.getCmp(header.id);
28 if (!this.headerCt.dragging && headerCmp.draggable && !(headerCmp.isOnLeftEdge(e) || headerCmp.isOnRightEdge(e))) {
29 var ddel = document.createElement('div');
30 ddel.innerHTML = Ext.getCmp(header.id).text;
40 onBeforeDrag: function() {
41 return !(this.headerCt.dragging || this.disabled);
44 onInitDrag: function() {
45 this.headerCt.dragging = true;
46 this.callParent(arguments);
49 onDragDrop: function() {
50 this.headerCt.dragging = false;
51 this.callParent(arguments);
54 afterRepair: function() {
56 this.headerCt.dragging = false;
59 getRepairXY: function() {
60 return this.dragData.header.el.getXY();
68 this.disabled = false;