Univention Bugzilla – Bug 48966
badge tooltips don't scroll
Last modified: 2022-02-03 15:01:32 CET
Created attachment 9919 [details] badge tooltips the new scrolling behaviour in the app center leads to the badge tooltips stay in place, while the background is scrolling.
This was also filed as a bug by Orange. We could reproduce it in several UMC modules. Steps for reproduction: - Login to UMC with any user (we used Administrator) - open a UMC Module (we used User) - Search for a little questionmark symbol and click on it to open the tooltip (er used the one of "override password check") - scroll - you will see that the tooltip does not move with the symbol it belongs to.
We have a working patch! Note that I have not developed the patch myself, but Toni Mägel. I replicated the issue, tested the patch and verified that it does indeed solve the issue. After applying the patch the tooltip is hidden after a certain timeout as well as on a scroll event. Here is the patch: diff --git a/management/univention-web/js/widgets/LabelPane.js b/management/univention-web/js/widgets/LabelPane.js index 685a5ccc57..b42036486c 100644 --- a/management/univention-web/js/widgets/LabelPane.js +++ b/management/univention-web/js/widgets/LabelPane.js @@ -38,12 +38,13 @@ define([ "dojo/dom-construct", "dojo/dom-attr", "dojo/on", + "dojo/query", "dijit/_WidgetBase", "dijit/_TemplatedMixin", "dijit/_Container", "dijit/Tooltip", "umc/tools" -], function(declare, lang, array, event, Deferred, domClass, domConstruct, attr, on, _WidgetBase, _TemplatedMixin, _Container, Tooltip, tools) { +], function(declare, lang, array, event, Deferred, domClass, domConstruct, attr, on, query, _WidgetBase, _TemplatedMixin, _Container, Tooltip, tools) { lang.extend(_WidgetBase, { // displayLabel: Boolean? // If specified as false, LabelPane will not display the label value. @@ -284,6 +285,13 @@ define([ on.once(window, "click", lang.hitch(this, function(event) { Tooltip.hide(this.tooltipNode); })); + on(query('.umcPageMain'), "scroll", + lang.hitch(this, function(event) { + Tooltip.hide(this.tooltipNode); + })); + setTimeout(lang.hitch(this, function(event) { + Tooltip.hide(this.tooltipNode); + }), 3000); }))); } } else {