in src/grid/agr-engine.ts [610:625]
dropColumn(column: Column) {
if (!this.draggedColumn || this.draggedColumn.parent !== column.parent || this.draggedColumn.getColumnId() === column.getColumnId()) {
this.draggedColumn = null;
return;
}
const columns = column.parent ? column.parent.columnDef.columns : this.columnDefs;
let dragIndex = columns.indexOf(this.draggedColumn.columnDef);
let dropIndex = columns.indexOf(column.columnDef);
if (dropIndex >= columns.length) {
dropIndex %= columns.length;
dragIndex %= columns.length;
}
columns.splice(dropIndex, 0, columns.splice(dragIndex, 1)[0]);
this.createColumns(this.columnDefs);
this.draggedColumn = null;
}