Merged r1559:r1587 from source:/sandbox/crschmidt/noprototype. OpenLayers is now Prototype-free(tm).
git-svn-id: http://svn.openlayers.org/trunk/openlayers@1588 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
@@ -7,6 +7,34 @@
|
||||
*/
|
||||
OpenLayers.Util = new Object();
|
||||
|
||||
/* from Prototype.js */
|
||||
if ($ == null) {
|
||||
var $ = function () {
|
||||
var elements = new Array();
|
||||
|
||||
for (var i = 0; i < arguments.length; i++) {
|
||||
var element = arguments[i];
|
||||
if (typeof element == 'string')
|
||||
element = document.getElementById(element);
|
||||
|
||||
if (arguments.length == 1)
|
||||
return element;
|
||||
|
||||
elements.push(element);
|
||||
}
|
||||
|
||||
return elements;
|
||||
}
|
||||
}
|
||||
|
||||
/* from Prototype.js */
|
||||
OpenLayers.Util.extend = function(destination, source) {
|
||||
for (property in source) {
|
||||
destination[property] = source[property];
|
||||
}
|
||||
return destination;
|
||||
};
|
||||
|
||||
/**
|
||||
* @param {String} id
|
||||
* @param {OpenLayers.Pixel} px
|
||||
@@ -105,9 +133,9 @@ OpenLayers.Util.createImage = function(id, px, sz, imgURL, position, border,
|
||||
|
||||
if(delayDisplay) {
|
||||
image.style.display = "none";
|
||||
Event.observe(image, "load",
|
||||
OpenLayers.Event.observe(image, "load",
|
||||
OpenLayers.Util.onImageLoad.bindAsEventListener(image));
|
||||
Event.observe(image, "error",
|
||||
OpenLayers.Event.observe(image, "error",
|
||||
OpenLayers.Util.onImageLoadError.bindAsEventListener(image));
|
||||
|
||||
}
|
||||
@@ -244,9 +272,9 @@ OpenLayers.Util.createAlphaImageDiv = function(id, px, sz, imgURL,
|
||||
|
||||
if (delayDisplay) {
|
||||
img.style.display = "none";
|
||||
Event.observe(img, "load",
|
||||
OpenLayers.Event.observe(img, "load",
|
||||
OpenLayers.Util.onImageLoad.bindAsEventListener(div));
|
||||
Event.observe(img, "error",
|
||||
OpenLayers.Event.observe(img, "error",
|
||||
OpenLayers.Util.onImageLoadError.bindAsEventListener(div));
|
||||
}
|
||||
|
||||
@@ -275,7 +303,7 @@ OpenLayers.Util.upperCaseObject = function (object) {
|
||||
};
|
||||
|
||||
/** Takes a hashtable and copies any keys that don't exist from
|
||||
* another hashtable, by analogy with Object.extend() from
|
||||
* another hashtable, by analogy with OpenLayers.Util.extend() from
|
||||
* Prototype.js.
|
||||
*
|
||||
* @param {Object} to
|
||||
@@ -318,6 +346,21 @@ OpenLayers.Util.getImagesLocation = function() {
|
||||
return OpenLayers._getScriptLocation() + "img/";
|
||||
};
|
||||
|
||||
/* Originally from Prototype */
|
||||
|
||||
OpenLayers.Util.Try = function() {
|
||||
var returnValue;
|
||||
|
||||
for (var i = 0; i < arguments.length; i++) {
|
||||
var lambda = arguments[i];
|
||||
try {
|
||||
returnValue = lambda();
|
||||
break;
|
||||
} catch (e) {}
|
||||
}
|
||||
|
||||
return returnValue;
|
||||
}
|
||||
|
||||
|
||||
/** These could/should be made namespace aware?
|
||||
@@ -328,7 +371,7 @@ OpenLayers.Util.getImagesLocation = function() {
|
||||
* @return {Array}
|
||||
*/
|
||||
OpenLayers.Util.getNodes=function(p, tagName) {
|
||||
var nodes = Try.these(
|
||||
var nodes = OpenLayers.Util.Try(
|
||||
function () {
|
||||
return OpenLayers.Util._getNodes(p.documentElement.childNodes,
|
||||
tagName);
|
||||
@@ -392,7 +435,7 @@ OpenLayers.Util.getTagText = function (parent, item, index) {
|
||||
*/
|
||||
OpenLayers.Util.getXmlNodeValue = function(node) {
|
||||
var val = null;
|
||||
Try.these(
|
||||
OpenLayers.Util.Try(
|
||||
function() {
|
||||
val = node.text;
|
||||
if (!val)
|
||||
@@ -573,3 +616,26 @@ OpenLayers.Util.safeStopPropagation = function(evt) {
|
||||
}
|
||||
evt.cancelBubble = true;
|
||||
};
|
||||
|
||||
OpenLayers.Util.pagePosition = function(forElement) {
|
||||
var valueT = 0, valueL = 0;
|
||||
|
||||
var element = forElement;
|
||||
do {
|
||||
valueT += element.offsetTop || 0;
|
||||
valueL += element.offsetLeft || 0;
|
||||
|
||||
// Safari fix
|
||||
if (element.offsetParent==document.body)
|
||||
if (OpenLayers.Element.getStyle(element,'position')=='absolute') break;
|
||||
|
||||
} while (element = element.offsetParent);
|
||||
|
||||
element = forElement;
|
||||
do {
|
||||
valueT -= element.scrollTop || 0;
|
||||
valueL -= element.scrollLeft || 0;
|
||||
} while (element = element.parentNode);
|
||||
|
||||
return [valueL, valueT];
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user