mirror of
https://github.com/HeyPuter/puter.git
synced 2026-11-10 07:55:06 +00:00
fix: Add debounce to toolbar reveal when dragging windows to prevent accidental activation (#1989)
Docker Image CI / build-and-push-image (push) Has been cancelled
Maintain Release Merge PR / update-release-pr (push) Has been cancelled
release-please / release-please (push) Has been cancelled
test / test (20.x) (push) Has been cancelled
test / test (22.x) (push) Has been cancelled
test / backend (node env, api-test) (22.x) (push) Has been cancelled
test / puterjs (browser env, playwright) (22.x) (push) Has been cancelled
test / puterjs (node env, vitest) (22.x) (push) Has been cancelled
Docker Image CI / build-and-push-image (push) Has been cancelled
Maintain Release Merge PR / update-release-pr (push) Has been cancelled
release-please / release-please (push) Has been cancelled
test / test (20.x) (push) Has been cancelled
test / test (22.x) (push) Has been cancelled
test / backend (node env, api-test) (22.x) (push) Has been cancelled
test / puterjs (browser env, playwright) (22.x) (push) Has been cancelled
test / puterjs (node env, vitest) (22.x) (push) Has been cancelled
* fix: debounce toolbar display after dragging a window * change naming convention for debounce to match others. (snake case) * revert changes to package.json that werent meant to be comitted * Revert "change naming convention for debounce to match others. (snake case)" This reverts commitaaedee0dfa. * revert commitaaedee0dfa* use snake case for drag_release_debounce_timer
This commit is contained in:
1 parent
8dafafa749
commit
f6139bc79a
1 file changed
+22
-2
@@ -1547,10 +1547,30 @@ async function UIDesktop(options) {
|
||||
}, hideDelay);
|
||||
};
|
||||
|
||||
// debounce timer to prevent toolbar showing immediately after drag ends
|
||||
window.drag_release_debounce_timer = null;
|
||||
const DRAG_RELEASE_DEBOUNCE_MS = 300;
|
||||
|
||||
// track when drag operations end to enable debounce
|
||||
$(document).on('dragend', function() {
|
||||
window.drag_release_debounce_timer = setTimeout(() => {
|
||||
window.drag_release_debounce_timer = null;
|
||||
}, DRAG_RELEASE_DEBOUNCE_MS);
|
||||
});
|
||||
|
||||
// also debounce when mouseup occurs while in drag state
|
||||
$(document).on('mouseup', function() {
|
||||
if (window.a_window_is_being_dragged || window.an_item_is_being_dragged) {
|
||||
window.drag_release_debounce_timer = setTimeout(() => {
|
||||
window.drag_release_debounce_timer = null;
|
||||
}, DRAG_RELEASE_DEBOUNCE_MS);
|
||||
}
|
||||
});
|
||||
|
||||
// hovering over a hidden toolbar will show it
|
||||
$(document).on('mouseenter', '.toolbar-hidden', function () {
|
||||
// if a window is being dragged, don't show the toolbar
|
||||
if(window.a_window_is_being_dragged)
|
||||
// if a window is being dragged or currently in drag release debounce period, don't show the toolbar
|
||||
if(window.a_window_is_being_dragged || window.drag_release_debounce_timer !== null)
|
||||
return;
|
||||
|
||||
// if selectable is active , don't show the toolbar
|
||||
|
||||
Reference in new issue
Block a user