Skip to content

Commit 1fe82d2

Browse files
committed
fix(*): drag over part is set properly
1 parent 207eba8 commit 1fe82d2

File tree

2 files changed

+13
-5
lines changed

2 files changed

+13
-5
lines changed

src/components/tile-manager/themes/tile.base.scss

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@
7272
z-index: 10;
7373
}
7474

75-
// [part~='drag-over'] {
76-
// opacity: 0.5;
77-
// pointer-events: none;
78-
// }
75+
[part~='drag-over'] {
76+
opacity: 0.5;
77+
pointer-events: none;
78+
}

src/components/tile-manager/tile.ts

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ export default class IgcTileComponent extends EventEmitterMixin<
9393
private _maximized = false;
9494
private _initialPointerX: number | null = null;
9595
private _initialPointerY: number | null = null;
96+
private _dragCounter = 0;
9697
private _dragGhost: HTMLElement | null = null;
9798
private _dragImage: HTMLElement | null = null;
9899
private _cachedStyles: {
@@ -330,6 +331,7 @@ export default class IgcTileComponent extends EventEmitterMixin<
330331
}
331332

332333
private handleDragEnter() {
334+
this._dragCounter++;
333335
this._hasDragOver = true;
334336
}
335337

@@ -351,7 +353,13 @@ export default class IgcTileComponent extends EventEmitterMixin<
351353
}
352354

353355
private handleDragLeave() {
354-
this._hasDragOver = false;
356+
this._dragCounter--;
357+
358+
// The drag leave is fired on entering a child element
359+
// so we need to check if the dragged item is actually leaving the tile
360+
if (this._dragCounter === 0) {
361+
this._hasDragOver = false;
362+
}
355363
}
356364

357365
private handleDragEnd() {

0 commit comments

Comments
 (0)