Adding a bit of flexibility to extend and applyDefaults. First argument can now be undefined. r=pspencer,elemoine (closes #1564)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@7311 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
@@ -550,9 +550,9 @@ OpenLayers.Format.KML = OpenLayers.Class(OpenLayers.Format.XML, {
|
|||||||
if (inlineStyleNode) {
|
if (inlineStyleNode) {
|
||||||
var inlineStyle= this.parseStyle(inlineStyleNode);
|
var inlineStyle= this.parseStyle(inlineStyleNode);
|
||||||
if (inlineStyle) {
|
if (inlineStyle) {
|
||||||
feature.style = OpenLayers.Util.extend({},
|
feature.style = OpenLayers.Util.extend(
|
||||||
feature.style);
|
feature.style, inlineStyle
|
||||||
OpenLayers.Util.extend(feature.style, inlineStyle);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -64,13 +64,9 @@ OpenLayers.Layer.KaMap = OpenLayers.Class(OpenLayers.Layer.Grid, {
|
|||||||
var newArguments = [];
|
var newArguments = [];
|
||||||
newArguments.push(name, url, params, options);
|
newArguments.push(name, url, params, options);
|
||||||
OpenLayers.Layer.Grid.prototype.initialize.apply(this, newArguments);
|
OpenLayers.Layer.Grid.prototype.initialize.apply(this, newArguments);
|
||||||
this.params = (params ? params : {});
|
this.params = OpenLayers.Util.applyDefaults(
|
||||||
if (params) {
|
this.params, this.DEFAULT_PARAMS
|
||||||
OpenLayers.Util.applyDefaults(
|
);
|
||||||
this.params,
|
|
||||||
this.DEFAULT_PARAMS
|
|
||||||
);
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -42,12 +42,9 @@ OpenLayers.Layer.MapServer = OpenLayers.Class(OpenLayers.Layer.Grid, {
|
|||||||
newArguments.push(name, url, params, options);
|
newArguments.push(name, url, params, options);
|
||||||
OpenLayers.Layer.Grid.prototype.initialize.apply(this, newArguments);
|
OpenLayers.Layer.Grid.prototype.initialize.apply(this, newArguments);
|
||||||
|
|
||||||
if (arguments.length > 0) {
|
this.params = OpenLayers.Util.applyDefaults(
|
||||||
OpenLayers.Util.applyDefaults(
|
this.params, this.DEFAULT_PARAMS
|
||||||
this.params,
|
);
|
||||||
this.DEFAULT_PARAMS
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
// unless explicitly set in options, if the layer is transparent,
|
// unless explicitly set in options, if the layer is transparent,
|
||||||
// it will be an overlay
|
// it will be an overlay
|
||||||
|
|||||||
@@ -138,11 +138,10 @@ OpenLayers.Layer.WFS = OpenLayers.Class(
|
|||||||
this.options.geometry_column = "the_geom";
|
this.options.geometry_column = "the_geom";
|
||||||
}
|
}
|
||||||
|
|
||||||
this.params = params;
|
this.params = OpenLayers.Util.applyDefaults(
|
||||||
OpenLayers.Util.applyDefaults(
|
params,
|
||||||
this.params,
|
OpenLayers.Util.upperCaseObject(this.DEFAULT_PARAMS)
|
||||||
OpenLayers.Util.upperCaseObject(this.DEFAULT_PARAMS)
|
);
|
||||||
);
|
|
||||||
this.url = url;
|
this.url = url;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
@@ -54,13 +54,9 @@ OpenLayers.Layer.WorldWind = OpenLayers.Class(OpenLayers.Layer.Grid, {
|
|||||||
var newArguments = [];
|
var newArguments = [];
|
||||||
newArguments.push(name, url, params, options);
|
newArguments.push(name, url, params, options);
|
||||||
OpenLayers.Layer.Grid.prototype.initialize.apply(this, newArguments);
|
OpenLayers.Layer.Grid.prototype.initialize.apply(this, newArguments);
|
||||||
this.params = (params ? params : {});
|
this.params = OpenLayers.Util.applyDefaults(
|
||||||
if (params) {
|
this.params, this.DEFAULT_PARAMS
|
||||||
OpenLayers.Util.applyDefaults(
|
);
|
||||||
this.params,
|
|
||||||
this.DEFAULT_PARAMS
|
|
||||||
);
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
* Method: addTile
|
* Method: addTile
|
||||||
|
|||||||
@@ -1335,11 +1335,7 @@ OpenLayers.Map = OpenLayers.Class({
|
|||||||
* false.
|
* false.
|
||||||
*/
|
*/
|
||||||
pan: function(dx, dy, options) {
|
pan: function(dx, dy, options) {
|
||||||
// this should be pushed to applyDefaults and extend
|
options = OpenLayers.Util.applyDefaults(options, {
|
||||||
if (!options) {
|
|
||||||
options = {};
|
|
||||||
}
|
|
||||||
OpenLayers.Util.applyDefaults(options, {
|
|
||||||
animate: true,
|
animate: true,
|
||||||
dragging: false
|
dragging: false
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -49,7 +49,8 @@ if ($ == null) {
|
|||||||
* {Object} The destination object.
|
* {Object} The destination object.
|
||||||
*/
|
*/
|
||||||
OpenLayers.Util.extend = function(destination, source) {
|
OpenLayers.Util.extend = function(destination, source) {
|
||||||
if(destination && source) {
|
destination = destination || {};
|
||||||
|
if(source) {
|
||||||
for(var property in source) {
|
for(var property in source) {
|
||||||
var value = source[property];
|
var value = source[property];
|
||||||
if(value !== undefined) {
|
if(value !== undefined) {
|
||||||
@@ -522,7 +523,7 @@ OpenLayers.Util.upperCaseObject = function (object) {
|
|||||||
* in place and returned by this function.
|
* in place and returned by this function.
|
||||||
*/
|
*/
|
||||||
OpenLayers.Util.applyDefaults = function (to, from) {
|
OpenLayers.Util.applyDefaults = function (to, from) {
|
||||||
|
to = to || {};
|
||||||
/*
|
/*
|
||||||
* FF/Windows < 2.0.0.13 reports "Illegal operation on WrappedNative
|
* FF/Windows < 2.0.0.13 reports "Illegal operation on WrappedNative
|
||||||
* prototype object" when calling hawOwnProperty if the source object is an
|
* prototype object" when calling hawOwnProperty if the source object is an
|
||||||
|
|||||||
+14
-2
@@ -169,7 +169,7 @@
|
|||||||
|
|
||||||
function test_Util_applyDefaults(t) {
|
function test_Util_applyDefaults(t) {
|
||||||
|
|
||||||
t.plan(10);
|
t.plan(11);
|
||||||
|
|
||||||
var to = {
|
var to = {
|
||||||
'a': "abra",
|
'a': "abra",
|
||||||
@@ -198,6 +198,12 @@
|
|||||||
t.eq( ret["c"], "press", "key present in from and not ret successfully copied to ret");
|
t.eq( ret["c"], "press", "key present in from and not ret successfully copied to ret");
|
||||||
t.eq(to.toString(), "works", "correctly applies custom toString");
|
t.eq(to.toString(), "works", "correctly applies custom toString");
|
||||||
t.eq(to.n, null, "correctly preserves null");
|
t.eq(to.n, null, "correctly preserves null");
|
||||||
|
|
||||||
|
var to;
|
||||||
|
var from = {rand: Math.random()};
|
||||||
|
|
||||||
|
var ret = OpenLayers.Util.applyDefaults(to, from);
|
||||||
|
t.eq(ret.rand, from.rand, "works with undefined to");
|
||||||
}
|
}
|
||||||
|
|
||||||
function test_Util_getParameterString(t) {
|
function test_Util_getParameterString(t) {
|
||||||
@@ -709,7 +715,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
function tests_Util_extend(t) {
|
function tests_Util_extend(t) {
|
||||||
t.plan(6);
|
t.plan(7);
|
||||||
|
|
||||||
var source = {
|
var source = {
|
||||||
num: Math.random(),
|
num: Math.random(),
|
||||||
@@ -736,6 +742,12 @@
|
|||||||
t.eq(destination.nada, "untouched",
|
t.eq(destination.nada, "untouched",
|
||||||
"undefined source properties don't clobber existing properties");
|
"undefined source properties don't clobber existing properties");
|
||||||
t.eq(window.property, undefined, "Property variable not clobbered.");
|
t.eq(window.property, undefined, "Property variable not clobbered.");
|
||||||
|
|
||||||
|
var destination;
|
||||||
|
var source = {rand: Math.random()};
|
||||||
|
var ret = OpenLayers.Util.extend(destination, source);
|
||||||
|
t.eq(destination.rand, source.rand, "works with undefined destination");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function test_XX_Util_Try(t) {
|
function test_XX_Util_Try(t) {
|
||||||
|
|||||||
Reference in New Issue
Block a user