Author: jmorliaguet Date: Mon Jan 2 18:30:30 2006 New Revision: 2119 Modified: cpsskins/branches/jmo-perspectives/ui/framework/cpsskins.js Log:
- added a fitInsideScreen function Modified: cpsskins/branches/jmo-perspectives/ui/framework/cpsskins.js ============================================================================== --- cpsskins/branches/jmo-perspectives/ui/framework/cpsskins.js (original) +++ cpsskins/branches/jmo-perspectives/ui/framework/cpsskins.js Mon Jan 2 18:30:30 2006 @@ -203,6 +203,33 @@ } else { element.style.opacity = opacity; } + }, + + moveTo: function(element, x, y) { + var element = $(element); + Position.absolutize(element); + element.style.left = x + "px"; + element.style.top = y + "px"; + }, + + fitInsideScreen: function(element) { + var element = $(element); + Position.absolutize(element); + var dimensions = Element.getDimensions(element); + var width = dimensions.width; + var height = dimensions.height; + var page_w = window.innerWidth || document.body.clientWidth; + var page_h = window.innerHeight || document.body.clientHeight; + var top = element.style.top; + var left = element.style.left; + if (top) { + top = parseInt(top); + if (top + height > page_h) { element.style.top = top - height + "px"}; + } + if (left) { + left = parseInt(left); + if (left + width > page_w) { element.style.left = left - width + "px"}; + } } }); @@ -352,16 +379,8 @@ var widget = this.widget; var view = this.view; // Display the menu inside the screen - var dimensions = Element.getDimensions(widget); - var menuWidth = dimensions.width; - var menuHeight = dimensions.height; - var page_w = window.innerWidth || document.body.clientWidth; - var page_h = window.innerHeight || document.body.clientHeight; - var menuX = (x + menuWidth > page_w) ? x - menuWidth -1 : x + 1; - var menuY = (y + menuHeight > page_h) ? y - menuHeight -1 : y + 1; - // menu position - widget.style.left = menuX + "px"; - widget.style.top = menuY + "px"; + Canvas.moveTo(widget, x, y); + Canvas.fitInsideScreen(widget); // submenu relative position this.submenuLeft = Element.getDimensions(this.widget).width -2; -- http://lists.nuxeo.com/mailman/listinfo/z3lab-checkins