diff --git a/core/src/main/resources/lib/layout/breadcrumbs.js b/core/src/main/resources/lib/layout/breadcrumbs.js index 00e99e4a939838397af7c859eaefffd9961dc36d..7bf2f9dfe62b2125739c056488a9898f412c1dd0 100644 --- a/core/src/main/resources/lib/layout/breadcrumbs.js +++ b/core/src/main/resources/lib/layout/breadcrumbs.js @@ -20,6 +20,9 @@ var breadcrumbs = (function() { */ var mouse; + var logger = function() {}; + // logger = function() { console.log.apply(console,arguments) }; // uncomment this line to enable logging + function makeMenuHtml(icon,displayName) { return (icon!=null ? " " : "")+displayName; } @@ -114,18 +117,27 @@ var breadcrumbs = (function() { canceller = new Delayed(function () { // if the mouse is in the hot spot for the selector, keep showing it var r = this.target ? Dom.getRegion(this.target) : false; - if (r && r.contains(mouse)) return; - r = Dom.getRegion(menuSelector); - if (r && r.contains(mouse)) return; - + if (r && r.contains(mouse)) { + logger("still in the hotspot"); + return; + } + r = Dom.getRegion(this); + if (r && r.contains(mouse)) { + logger("still over the selector"); + return; + } + + logger("hiding 'v'"); menuSelector.hide(); - }, 750); + }.bind(menuSelector), 750); menuSelector.onmouseover = function () { + logger("mouse entered 'v'"); canceller.cancel(); }; menuSelector.onmouseout = function () { canceller.schedule(); + logger("mouse left 'v'"); }; menuSelector.canceller = canceller; @@ -205,10 +217,12 @@ var breadcrumbs = (function() { // $(a).observe("mouseover", function () { handleHover(a,500); }); a.onmouseover = function () { + logger("mouse entered mode-link %s",this); menuSelector.show(this); }; a.onmouseout = function () { menuSelector.canceller.schedule(); + logger("mouse left model-link %s",this); }; });