listeners : {
drop : function (source, e, data)
{
- Roo.log("DROP");
+ //Roo.log("DROP");
var t = Roo.lib.Event.getTarget(e);
var ri = grid.view.findRowIndex(t);
- Roo.log(e);
- Roo.log(data);
+ //Roo.log(e);
+ //Roo.log(data);
var dp = this.getDropPoint(e,data);
// at this point should have above or below..
var os = grid.selModel.getSelectedCell()
},
over : function (source, e, data)
{
- //Roo.log(dp);
+ //
// if drag point == drop point...
var t = Roo.lib.Event.getTarget(e);
var ri = grid.view.findRowIndex(t);
- if(ri == data.rowIndex) {
+ var dp = this.getDropPoint(e,data);
+ Roo.log(dp);
+ //Roo.log(JSON.stringify({ dp: dp, ri: ri, src_ri: data.rowIndex}));
+ if(ri == data.rowIndex ||
+ (dp == 'above' && ri-1 == data.rowIndex) ||
+ (dp == 'below' && ri+1 == data.rowIndex)
+ ) {
+ this.expandRow(false);
+
this.valid = false;
return;
}
- var dp = this.getDropPoint(e,data);
this.expandRow(ri, dp);
this.valid = 'ok-add';
- Roo.log("SET VALID TO: " + this.valid)
+ //Roo.log("SET VALID TO: " + this.valid)
//Roo.log([source,e,data]);
// Roo.log("dragover");
expandRow : function(ri,pos)
{
var dom = grid.view.getRow(ri);
- if (this.activeDom = dom) {
- return;
- }
+ //Roo.log(dom);
+ //if (this.activeDom == dom) {
+ // return;
+ //}
if (this.activeDom) {
- this.activeDom.style.borderTop = '';
- this.activeDom.style.borderBottom = '';
- this.activeDom.style.display = '';
+ Roo.get(this.activeDom).removeClass('x-grid-dd-above');
+ Roo.get(this.activeDom).removeClass('x-grid-dd-below');
+
this.activeDom = false;
}
- if (ri == false) {
+ if (ri === false) {
return;
}
- dom.style[ pos == 'above' ? 'borderTop' : 'borderBottom'] ='20px solid #FCFCFC;';
- dom.style.display = 'block';
+ Roo.get(dom).addClass('x-grid-dd-' + pos);
+
this.activeDom = dom;