Skip to content

Commit

Permalink
ui/ux: fix flickering icons when resizing explorer (eclipse-theia#12629)
Browse files Browse the repository at this point in the history
  • Loading branch information
vladarama authored Jul 5, 2023
1 parent 828b899 commit 70ad9fd
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 0 deletions.
4 changes: 4 additions & 0 deletions packages/core/src/browser/style/view-container.css
Original file line number Diff line number Diff line change
Expand Up @@ -188,3 +188,7 @@
.theia-view-container-part-title {
display: flex;
}

.no-pointer-events {
pointer-events: none;
}
12 changes: 12 additions & 0 deletions packages/core/src/browser/view-container.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1234,7 +1234,19 @@ export class ViewContainerPart extends BaseWidget {
};
}

protected handleResize(): void {
const handleMouseEnter = () => {
this.node?.classList.add('no-pointer-events');
setTimeout(() => {
this.node?.classList.remove('no-pointer-events');
this.node?.removeEventListener('mouseenter', handleMouseEnter);
}, 100);
};
this.node?.addEventListener('mouseenter', handleMouseEnter);
}

protected override onResize(msg: Widget.ResizeMessage): void {
this.handleResize();
if (this.wrapped.isAttached && !this.collapsed) {
MessageLoop.sendMessage(this.wrapped, Widget.ResizeMessage.UnknownSize);
}
Expand Down

0 comments on commit 70ad9fd

Please sign in to comment.