diff options
Diffstat (limited to 'modules')
-rw-r--r-- | modules/luci-base/htdocs/luci-static/resources/ui.js | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/modules/luci-base/htdocs/luci-static/resources/ui.js b/modules/luci-base/htdocs/luci-static/resources/ui.js index 9f3e74b935..ac158f5260 100644 --- a/modules/luci-base/htdocs/luci-static/resources/ui.js +++ b/modules/luci-base/htdocs/luci-static/resources/ui.js @@ -3250,7 +3250,8 @@ var UI = baseclass.extend(/** @lends LuCI.ui.prototype */ { var rect = target.getBoundingClientRect(), x = rect.left + window.pageXOffset, - y = rect.top + rect.height + window.pageYOffset; + y = rect.top + rect.height + window.pageYOffset, + above = false; tooltipDiv.className = 'cbi-tooltip'; tooltipDiv.innerHTML = '▲ '; @@ -3259,7 +3260,15 @@ var UI = baseclass.extend(/** @lends LuCI.ui.prototype */ { if (target.hasAttribute('data-tooltip-style')) tooltipDiv.classList.add(target.getAttribute('data-tooltip-style')); - if ((y + tooltipDiv.offsetHeight) > (window.innerHeight + window.pageYOffset)) { + if ((y + tooltipDiv.offsetHeight) > (window.innerHeight + window.pageYOffset)) + above = true; + + var dropdown = target.querySelector('ul.dropdown[style]:first-child'); + + if (dropdown && dropdown.style.top) + above = true; + + if (above) { y -= (tooltipDiv.offsetHeight + target.offsetHeight); tooltipDiv.firstChild.data = '▼ ' + tooltipDiv.firstChild.data.substr(2); } |