Skip to content

Commit

Permalink
fix Highlighting incorrect column after repositioning column (#399)
Browse files Browse the repository at this point in the history
* fix Highlighting incorrect column after repositioning column

* fix Moving a row screws up the row-highlighting
  • Loading branch information
xianzhi3 committed Nov 18, 2021
1 parent 04d4056 commit cafad35
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 4 deletions.
22 changes: 19 additions & 3 deletions lib/events/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -899,6 +899,7 @@ export default function (self) {
self.stopDragReorder = function (e) {
var oIndex,
tIndex,
odata,
cr = {
'row-reorder': self.orders.rows,
'column-reorder': self.orders.columns,
Expand Down Expand Up @@ -929,12 +930,15 @@ export default function (self) {
self.ignoreNextClick = true;
oIndex = cr[self.dragMode].indexOf(self.reorderObject[i]);
tIndex = cr[self.dragMode].indexOf(self.reorderTarget[i]);
cr[self.dragMode].splice(oIndex, 1);
cr[self.dragMode].splice(tIndex, 0, self.reorderObject[i]);
if (self.dragMode === 'column-reorder') {
cr[self.dragMode].splice(oIndex, 1);
cr[self.dragMode].splice(tIndex, 0, self.reorderObject[i]);
self.orders.columns = cr[self.dragMode];
} else {
self.orders.rows = cr[self.dragMode];
// self.orders.rows = cr[self.dragMode];
odata = self.viewData[oIndex];
self.viewData[oIndex] = self.viewData[tIndex];
self.viewData[tIndex] = odata;
}
self.resize();
self.setStorageData();
Expand Down Expand Up @@ -1169,16 +1173,28 @@ export default function (self) {
}
if (['row-reorder', 'column-reorder'].indexOf(self.dragMode) !== -1) {
self.draggingItem = self.dragStartObject;
if (
self.dragMode === 'column-reorder' &&
self.attributes.columnHeaderClickBehavior === 'select'
) {
self.selectColumn(self.currentCell.header.index, ctrl, e.shiftKey);
self.draw();
}
document.body.addEventListener('mousemove', self.dragReorder, false);
document.body.addEventListener('mouseup', self.stopDragReorder, false);
return;
}
};
self.mouseup = function (e) {
clearTimeout(self.scrollTimer);
var ctrl = e.ctrlKey || e.metaKey;
self.cellBoundaryCrossed = true;
self.rowBoundaryCrossed = true;
self.columnBoundaryCrossed = true;
if (self.draggingItem) {
self.selectColumn(self.currentCell.header.index, ctrl, e.shiftKey);
self.draw();
}
self.selecting = undefined;
self.draggingItem = undefined;
self.dragStartObject = undefined;
Expand Down
2 changes: 1 addition & 1 deletion test/attributes.js
Original file line number Diff line number Diff line change
Expand Up @@ -458,7 +458,7 @@ export default function () {
grid.addEventListener('click', function (e) {
done(
assertIf(
e.cell.value !== 'bar',
e.cell.value === 'bar',
'Expected to see the value from row 2 here.',
),
);
Expand Down

0 comments on commit cafad35

Please sign in to comment.