git-svn-id: https://192.168.0.254/svn/Proyectos.Incam_SGD/tags/3.7.0.2_original@1 eb19766c-00d9-a042-a3a0-45cb8ec72764
64 lines
2.1 KiB
JavaScript
64 lines
2.1 KiB
JavaScript
/*
|
|
* Ext JS Library 2.3.0
|
|
* Copyright(c) 2006-2009, Ext JS, LLC.
|
|
* licensing@extjs.com
|
|
*
|
|
* http://extjs.com/license
|
|
*/
|
|
|
|
// private
|
|
// This is a support class used internally by the Grid components
|
|
Ext.grid.SplitDragZone = function(grid, hd, hd2){
|
|
this.grid = grid;
|
|
this.view = grid.getView();
|
|
this.proxy = this.view.resizeProxy;
|
|
Ext.grid.SplitDragZone.superclass.constructor.call(this, hd,
|
|
"gridSplitters" + this.grid.getGridEl().id, {
|
|
dragElId : Ext.id(this.proxy.dom), resizeFrame:false
|
|
});
|
|
this.setHandleElId(Ext.id(hd));
|
|
this.setOuterHandleElId(Ext.id(hd2));
|
|
this.scroll = false;
|
|
};
|
|
Ext.extend(Ext.grid.SplitDragZone, Ext.dd.DDProxy, {
|
|
fly: Ext.Element.fly,
|
|
|
|
b4StartDrag : function(x, y){
|
|
this.view.headersDisabled = true;
|
|
this.proxy.setHeight(this.view.mainWrap.getHeight());
|
|
var w = this.cm.getColumnWidth(this.cellIndex);
|
|
var minw = Math.max(w-this.grid.minColumnWidth, 0);
|
|
this.resetConstraints();
|
|
this.setXConstraint(minw, 1000);
|
|
this.setYConstraint(0, 0);
|
|
this.minX = x - minw;
|
|
this.maxX = x + 1000;
|
|
this.startPos = x;
|
|
Ext.dd.DDProxy.prototype.b4StartDrag.call(this, x, y);
|
|
},
|
|
|
|
|
|
handleMouseDown : function(e){
|
|
ev = Ext.EventObject.setEvent(e);
|
|
var t = this.fly(ev.getTarget());
|
|
if(t.hasClass("x-grid-split")){
|
|
this.cellIndex = this.view.getCellIndex(t.dom);
|
|
this.split = t.dom;
|
|
this.cm = this.grid.colModel;
|
|
if(this.cm.isResizable(this.cellIndex) && !this.cm.isFixed(this.cellIndex)){
|
|
Ext.grid.SplitDragZone.superclass.handleMouseDown.apply(this, arguments);
|
|
}
|
|
}
|
|
},
|
|
|
|
endDrag : function(e){
|
|
this.view.headersDisabled = false;
|
|
var endX = Math.max(this.minX, Ext.lib.Event.getPageX(e));
|
|
var diff = endX - this.startPos;
|
|
this.view.onColumnSplitterMoved(this.cellIndex, this.cm.getColumnWidth(this.cellIndex)+diff);
|
|
},
|
|
|
|
autoOffset : function(){
|
|
this.setDelta(0,0);
|
|
}
|
|
}); |