From 851f46bf97fce113a5e3f55ae50bb8c190b0ea82 Mon Sep 17 00:00:00 2001 From: Michael M Slusarz Date: Wed, 12 May 2010 11:50:05 -0600 Subject: [PATCH] The new prototype Layout code messes a bunch of previous layout determination up - try to sort out that mess --- horde/js/ContextSensitive.js | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/horde/js/ContextSensitive.js b/horde/js/ContextSensitive.js index e52d0b8f6..580e39876 100644 --- a/horde/js/ContextSensitive.js +++ b/horde/js/ContextSensitive.js @@ -273,18 +273,25 @@ var ContextSensitive = Class.create({ _displayMenu: function(elt, x, y) { // Get window/element dimensions - var id = elt.identify(), - size = elt.getDimensions(), + var eltL, h, w, + id = elt.identify(), v = document.viewport.getDimensions(); + elt.setStyle({ visibility: 'hidden' }).show(); + eltL = elt.getLayout(), + h = eltL.get('border-box-height'); + w = eltL.get('border-box-width'); + elt.hide().setStyle({ visibility: null }); + // Make sure context window is entirely on screen - if ((y + size.height) > v.height) { - y = v.height - size.height - 10; + if ((y + h) > v.height) { + y = v.height - h - 2; } - if ((x + size.width) > v.width) { + + if ((x + w) > v.width) { x = this.current.size() - ? ($(this.current.last()).viewportOffset()[0] - size.width) - : (v.width - size.width - 10); + ? ($(this.current.last()).viewportOffset()[0] - w) + : (v.width - w - 2); } this.baseelt.fire('ContextSensitive:show', id); -- 2.11.0