update from RIFT as of 696b75d2fe9fb046261b08c616f1bcf6c0b54a9b third try
[osm/UI.git] / skyquake / plugins / composer / src / src / libraries / TooltipManager.js
index 3c792e7..71bbaf1 100644 (file)
@@ -12,10 +12,18 @@ import '../styles/TooltipManager.scss'
 class TooltipManager {
 
        static addEventListeners(element = document.body) {
-               TooltipManager.element = element;
+               if (element === TooltipManager.element) {
+                       return;
+               }
+               // remove listeners for current element
                TooltipManager.removeEventListeners();
-               TooltipManager.element.addEventListener('mousedown', TooltipManager.onScrollRemoveTooltip, true);
-               TooltipManager.element.addEventListener('scroll', TooltipManager.onScrollRemoveTooltip, true);
+               TooltipManager.element = element;
+               if (element) { 
+                       // make sure new element is clean
+                       TooltipManager.removeEventListeners();
+                       TooltipManager.element.addEventListener('mousedown', TooltipManager.onScrollRemoveTooltip, true);
+                       TooltipManager.element.addEventListener('scroll', TooltipManager.onScrollRemoveTooltip, true);
+               }
        }
 
        static removeEventListeners() {