@@ -64,6 +64,28 @@ OpenLayers.String = {
|
||||
return str.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
|
||||
},
|
||||
|
||||
/**
|
||||
* APIFunction: camelize
|
||||
* Camel-case a hyphenated string.
|
||||
* Ex. "chicken-head" becomes "chickenHead", and
|
||||
* "-chicken-head" becomes "ChickenHead".
|
||||
*
|
||||
* Parameters:
|
||||
* str - {String} The string to be camelized. The original is not modified.
|
||||
*
|
||||
* Returns:
|
||||
* {String} The string, camelized
|
||||
*/
|
||||
camelize: function(str) {
|
||||
var oStringList = str.split('-');
|
||||
var camelizedString = oStringList[0];
|
||||
for (var i=1, len=oStringList.length; i<len; i++) {
|
||||
var s = oStringList[i];
|
||||
camelizedString += s.charAt(0).toUpperCase() + s.substring(1);
|
||||
}
|
||||
return camelizedString;
|
||||
},
|
||||
|
||||
/**
|
||||
* APIFunction: format
|
||||
* Given a string with tokens in the form ${token}, return a string
|
||||
|
||||
@@ -163,7 +163,7 @@ OpenLayers.Element = {
|
||||
|
||||
var value = null;
|
||||
if (element && element.style) {
|
||||
value = element.style[style];
|
||||
value = element.style[OpenLayers.String.camelize(style)];
|
||||
if (!value) {
|
||||
if (document.defaultView &&
|
||||
document.defaultView.getComputedStyle) {
|
||||
@@ -171,7 +171,7 @@ OpenLayers.Element = {
|
||||
var css = document.defaultView.getComputedStyle(element, null);
|
||||
value = css ? css.getPropertyValue(style) : null;
|
||||
} else if (element.currentStyle) {
|
||||
value = element.currentStyle[style];
|
||||
value = element.currentStyle[OpenLayers.String.camelize(style)];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -493,14 +493,14 @@ OpenLayers.Control.OverviewMap = OpenLayers.Class(OpenLayers.Control, {
|
||||
this.ovmap.zoomToMaxExtent();
|
||||
// check extent rectangle border width
|
||||
this.wComp = parseInt(OpenLayers.Element.getStyle(this.extentRectangle,
|
||||
'borderLeftWidth')) +
|
||||
'border-left-width')) +
|
||||
parseInt(OpenLayers.Element.getStyle(this.extentRectangle,
|
||||
'borderRightWidth'));
|
||||
'border-right-width'));
|
||||
this.wComp = (this.wComp) ? this.wComp : 2;
|
||||
this.hComp = parseInt(OpenLayers.Element.getStyle(this.extentRectangle,
|
||||
'border-top-width')) +
|
||||
parseInt(OpenLayers.Element.getStyle(this.extentRectangle,
|
||||
'borderBottomWidth'));
|
||||
'border-bottom-width'));
|
||||
this.hComp = (this.hComp) ? this.hComp : 2;
|
||||
|
||||
this.handlers.drag = new OpenLayers.Handler.Drag(
|
||||
|
||||
@@ -221,13 +221,13 @@ OpenLayers.Handler.Box = OpenLayers.Class(OpenLayers.Handler, {
|
||||
document.body.removeChild(testDiv);
|
||||
|
||||
var left = parseInt(OpenLayers.Element.getStyle(this.zoomBox,
|
||||
"borderLeftWidth"));
|
||||
"border-left-width"));
|
||||
var right = parseInt(OpenLayers.Element.getStyle(
|
||||
this.zoomBox, "borderRightWidth"));
|
||||
this.zoomBox, "border-right-width"));
|
||||
var top = parseInt(OpenLayers.Element.getStyle(this.zoomBox,
|
||||
"borderTopWidth"));
|
||||
"border-top-width"));
|
||||
var bottom = parseInt(OpenLayers.Element.getStyle(
|
||||
this.zoomBox, "borderBottomWidth"));
|
||||
this.zoomBox, "border-bottom-width"));
|
||||
this.boxOffsets = {
|
||||
left: left,
|
||||
right: right,
|
||||
|
||||
@@ -847,10 +847,10 @@ OpenLayers.Popup = OpenLayers.Class({
|
||||
|
||||
//read the padding settings from css, put them in an OL.Bounds
|
||||
contentDivPadding = new OpenLayers.Bounds(
|
||||
OpenLayers.Element.getStyle(this.contentDiv, "paddingLeft"),
|
||||
OpenLayers.Element.getStyle(this.contentDiv, "paddingBottom"),
|
||||
OpenLayers.Element.getStyle(this.contentDiv, "paddingRight"),
|
||||
OpenLayers.Element.getStyle(this.contentDiv, "paddingTop")
|
||||
OpenLayers.Element.getStyle(this.contentDiv, "padding-left"),
|
||||
OpenLayers.Element.getStyle(this.contentDiv, "padding-bottom"),
|
||||
OpenLayers.Element.getStyle(this.contentDiv, "padding-right"),
|
||||
OpenLayers.Element.getStyle(this.contentDiv, "padding-top")
|
||||
);
|
||||
|
||||
//cache the value
|
||||
|
||||
@@ -60,6 +60,33 @@
|
||||
t.eq(OpenLayers.String.trim(str), "", "whitespace string is trimmed correctly");
|
||||
}
|
||||
|
||||
function test_String_camelize(t) {
|
||||
t.plan(7);
|
||||
|
||||
var str = "chickenhead";
|
||||
t.eq(OpenLayers.String.camelize(str), "chickenhead", "string with no hyphens is left alone");
|
||||
|
||||
str = "chicken-head";
|
||||
t.eq(OpenLayers.String.camelize(str), "chickenHead", "string with one middle hyphen is camelized correctly");
|
||||
|
||||
str = "chicken-head-man";
|
||||
t.eq(OpenLayers.String.camelize(str), "chickenHeadMan", "string with multiple middle hyphens is camelized correctly");
|
||||
|
||||
str = "-chickenhead";
|
||||
t.eq(OpenLayers.String.camelize(str), "Chickenhead", "string with starting hyphen is camelized correctly (capitalized)");
|
||||
|
||||
str = "-chicken-head-man";
|
||||
t.eq(OpenLayers.String.camelize(str), "ChickenHeadMan", "string with starting hypen and multiple middle hyphens is camelized correctly");
|
||||
|
||||
str = "chicken-";
|
||||
t.eq(OpenLayers.String.camelize(str), "chicken", "string ending in hyphen is camelized correctly (hyphen dropped)");
|
||||
|
||||
str = "chicken-head-man-";
|
||||
t.eq(OpenLayers.String.camelize(str), "chickenHeadMan", "string with multiple middle hyphens and end hyphen is camelized correctly (end hyphen dropped)");
|
||||
|
||||
|
||||
}
|
||||
|
||||
function test_String_format(t) {
|
||||
var unchanged = [
|
||||
"", "${ ", "${", " ${", "${${", "${}", "${${}}", " ${ ${",
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
// Chromium 10: left is 0
|
||||
var testdiv = OpenLayers.Util.createDiv('testdiv', new OpenLayers.Pixel(5, 5));
|
||||
map.div.appendChild(testdiv);
|
||||
var left = parseInt(OpenLayers.Element.getStyle(testdiv, 'borderLeftWidth'));
|
||||
var left = parseInt(OpenLayers.Element.getStyle(testdiv, 'border-left-width'));
|
||||
map.div.removeChild(testdiv);
|
||||
var testAll = !isNaN(left);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user