X-Git-Url: http://git.pond.sub.org/?p=eow;a=blobdiff_plain;f=static%2Fdojo-release-1.1.1%2Fdijit%2F_base%2Fplace.js;fp=static%2Fdojo-release-1.1.1%2Fdijit%2F_base%2Fplace.js;h=0000000000000000000000000000000000000000;hp=3165c115ef788f955ed2c449885266f651dc5cfb;hb=7beca26e6ea91745cd397ad69ac6e26bb934e683;hpb=bed7f6f60f166f71b2e3a98bb8d1e67c3e501909 diff --git a/static/dojo-release-1.1.1/dijit/_base/place.js b/static/dojo-release-1.1.1/dijit/_base/place.js deleted file mode 100644 index 3165c11..0000000 --- a/static/dojo-release-1.1.1/dijit/_base/place.js +++ /dev/null @@ -1,213 +0,0 @@ -if(!dojo._hasResource["dijit._base.place"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code. -dojo._hasResource["dijit._base.place"] = true; -dojo.provide("dijit._base.place"); - -// ported from dojo.html.util - -dijit.getViewport = function(){ - // summary - // Returns the dimensions and scroll position of the viewable area of a browser window - - var _window = dojo.global; - var _document = dojo.doc; - - // get viewport size - var w = 0, h = 0; - var de = _document.documentElement; - var dew = de.clientWidth, deh = de.clientHeight; - if(dojo.isMozilla){ - // mozilla - // _window.innerHeight includes the height taken by the scroll bar - // clientHeight is ideal but has DTD issues: - // #4539: FF reverses the roles of body.clientHeight/Width and documentElement.clientHeight/Width based on the DTD! - // check DTD to see whether body or documentElement returns the viewport dimensions using this algorithm: - var minw, minh, maxw, maxh; - var dbw = _document.body.clientWidth; - if(dbw > dew){ - minw = dew; - maxw = dbw; - }else{ - maxw = dew; - minw = dbw; - } - var dbh = _document.body.clientHeight; - if(dbh > deh){ - minh = deh; - maxh = dbh; - }else{ - maxh = deh; - minh = dbh; - } - w = (maxw > _window.innerWidth) ? minw : maxw; - h = (maxh > _window.innerHeight) ? minh : maxh; - }else if(!dojo.isOpera && _window.innerWidth){ - //in opera9, dojo.body().clientWidth should be used, instead - //of window.innerWidth/document.documentElement.clientWidth - //so we have to check whether it is opera - w = _window.innerWidth; - h = _window.innerHeight; - }else if(dojo.isIE && de && deh){ - w = dew; - h = deh; - }else if(dojo.body().clientWidth){ - // IE5, Opera - w = dojo.body().clientWidth; - h = dojo.body().clientHeight; - } - - // get scroll position - var scroll = dojo._docScroll(); - - return { w: w, h: h, l: scroll.x, t: scroll.y }; // object -}; - -dijit.placeOnScreen = function( - /* DomNode */ node, - /* Object */ pos, - /* Object */ corners, - /* boolean? */ tryOnly){ - // summary: - // Keeps 'node' in the visible area of the screen while trying to - // place closest to pos.x, pos.y. The input coordinates are - // expected to be the desired document position. - // - // Set which corner(s) you want to bind to, such as - // - // placeOnScreen(node, {x: 10, y: 20}, ["TR", "BL"]) - // - // The desired x/y will be treated as the topleft(TL)/topright(TR) or - // BottomLeft(BL)/BottomRight(BR) corner of the node. Each corner is tested - // and if a perfect match is found, it will be used. Otherwise, it goes through - // all of the specified corners, and choose the most appropriate one. - // - // NOTE: node is assumed to be absolutely or relatively positioned. - - var choices = dojo.map(corners, function(corner){ return { corner: corner, pos: pos }; }); - - return dijit._place(node, choices); -} - -dijit._place = function(/*DomNode*/ node, /* Array */ choices, /* Function */ layoutNode){ - // summary: - // Given a list of spots to put node, put it at the first spot where it fits, - // of if it doesn't fit anywhere then the place with the least overflow - // choices: Array - // Array of elements like: {corner: 'TL', pos: {x: 10, y: 20} } - // Above example says to put the top-left corner of the node at (10,20) - // layoutNode: Function(node, aroundNodeCorner, nodeCorner) - // for things like tooltip, they are displayed differently (and have different dimensions) - // based on their orientation relative to the parent. This adjusts the popup based on orientation. - - // get {x: 10, y: 10, w: 100, h:100} type obj representing position of - // viewport over document - var view = dijit.getViewport(); - - // This won't work if the node is inside a