From c35abb44438cfbddd83ae0fb11f2ec8e641881f7 Mon Sep 17 00:00:00 2001 From: zuzanna-maria Date: Tue, 6 Feb 2024 21:07:49 +0000 Subject: [PATCH 01/48] tooltips no longer display after associated element disappears --- www/code/inner.js | 2 ++ www/common/common-interface.js | 8 ++++++++ www/common/common-ui-elements.js | 27 +++++++++++++++++++++++---- www/common/sframe-common-history.js | 7 +++++-- www/pad/inner.js | 1 + www/slide/inner.js | 1 + 6 files changed, 40 insertions(+), 6 deletions(-) diff --git a/www/code/inner.js b/www/code/inner.js index 375423e02..149d85dc1 100644 --- a/www/code/inner.js +++ b/www/code/inner.js @@ -113,6 +113,8 @@ define([ window.focus(); window.print(); framework.feedback('PRINT_CODE'); + UI.clearTooltipsDelay(); + }); framework._.toolbar.$drawer.append($printButton); }; diff --git a/www/common/common-interface.js b/www/common/common-interface.js index 8b30901b5..1f1438a3d 100644 --- a/www/common/common-interface.js +++ b/www/common/common-interface.js @@ -1112,6 +1112,14 @@ define([ }); }; + UI.clearTooltipsDelay = function () { + $.when(new Promise(res => + setTimeout(res, 500))) + .then(() => { + UI.clearTooltips(); + }); + }; + var delay = typeof(AppConfig.tooltipDelay) === "number" ? AppConfig.tooltipDelay : 500; $.extend(true, Tippy.defaults, { placement: 'bottom', diff --git a/www/common/common-ui-elements.js b/www/common/common-ui-elements.js index e643f6add..77166fac3 100644 --- a/www/common/common-ui-elements.js +++ b/www/common/common-ui-elements.js @@ -591,7 +591,9 @@ define([ title: Messages.exportButtonTitle, }).append($('', {'class': 'cp-toolbar-drawer-element'}).text(Messages.exportButton)); - button.click(common.prepareFeedback(type)); + button.click(function() {common.prepareFeedback(type); + UI.clearTooltipsDelay(); + }); if (callback) { button.click(callback); } @@ -648,6 +650,7 @@ define([ .click(common.prepareFeedback(type)) .click(function () { handler(); + UI.clearTooltipsDelay(); }); //} break; @@ -681,7 +684,9 @@ define([ if (callback) { callback(); } }); if (data.accept) { $input.attr('accept', data.accept); } - button.click(function () { $input.click(); }); + button.click(function () { $input.click(); + UI.clearTooltipsDelay(); + }); break; case 'copy': button = $('