[OpenLayers-Commits] r11790 - in trunk/openlayers: lib/OpenLayers
tests
commits-20090109 at openlayers.org
commits-20090109 at openlayers.org
Wed Mar 30 10:17:16 EDT 2011
Author: fredj
Date: 2011-03-30 07:17:13 -0700 (Wed, 30 Mar 2011)
New Revision: 11790
Modified:
trunk/openlayers/lib/OpenLayers/Feature.js
trunk/openlayers/tests/Feature.html
Log:
remove dependency on AnchoredBubble and Marker from Feature. r=marcjansen,bartvde,erilem (closes #1633)
Modified: trunk/openlayers/lib/OpenLayers/Feature.js
===================================================================
--- trunk/openlayers/lib/OpenLayers/Feature.js 2011-03-30 14:07:56 UTC (rev 11789)
+++ trunk/openlayers/lib/OpenLayers/Feature.js 2011-03-30 14:17:13 UTC (rev 11790)
@@ -7,8 +7,6 @@
/**
* @requires OpenLayers/BaseTypes/Class.js
* @requires OpenLayers/Util.js
- * @requires OpenLayers/Marker.js
- * @requires OpenLayers/Popup/AnchoredBubble.js
*/
/**
@@ -53,7 +51,7 @@
* {<OpenLayers.Class>} The class which will be used to instantiate
* a new Popup. Default is <OpenLayers.Popup.AnchoredBubble>.
*/
- popupClass: OpenLayers.Popup.AnchoredBubble,
+ popupClass: null,
/**
* Property: popup
@@ -187,17 +185,16 @@
createPopup: function(closeBox) {
if (this.lonlat != null) {
-
- var id = this.id + "_popup";
- var anchor = (this.marker) ? this.marker.icon : null;
-
if (!this.popup) {
- this.popup = new this.popupClass(id,
- this.lonlat,
- this.data.popupSize,
- this.data.popupContentHTML,
- anchor,
- closeBox);
+ var anchor = (this.marker) ? this.marker.icon : null;
+ var popupClass = this.popupClass ?
+ this.popupClass : OpenLayers.Popup.AnchoredBubble;
+ this.popup = new popupClass(this.id + "_popup",
+ this.lonlat,
+ this.data.popupSize,
+ this.data.popupContentHTML,
+ anchor,
+ closeBox);
}
if (this.data.overflow != null) {
this.popup.contentDiv.style.overflow = this.data.overflow;
Modified: trunk/openlayers/tests/Feature.html
===================================================================
--- trunk/openlayers/tests/Feature.html 2011-03-30 14:07:56 UTC (rev 11789)
+++ trunk/openlayers/tests/Feature.html 2011-03-30 14:17:13 UTC (rev 11790)
@@ -7,7 +7,7 @@
var feature, layer;
function test_Feature_constructor (t) {
- t.plan( 7 );
+ t.plan( 6 );
var layer = {};
var lonlat = new OpenLayers.LonLat(2,1);
@@ -26,11 +26,10 @@
t.ok( feature.lonlat.equals(lonlat), "feature.lonlat set correctly" );
t.eq( feature.data.iconURL, iconURL, "feature.data.iconURL set correctly" );
t.ok( feature.data.iconSize.equals(iconSize), "feature.data.iconSize set correctly" );
- t.ok( feature.popupClass == OpenLayers.Popup.AnchoredBubble, "default popupClass is AnchoredBubble");
}
function test_Feature_createPopup (t) {
- t.plan(1);
+ t.plan(3);
var layer = {};
var lonlat = new OpenLayers.LonLat(2,1);
var iconURL = 'http://boston.openguides.org/features/ORANGE.png';
@@ -45,6 +44,12 @@
//Safari 3 separates style overflow into overflow-x and overflow-y
var prop = (OpenLayers.BROWSER_NAME == 'safari') ? 'overflowX' : 'overflow';
t.eq(popup.contentDiv.style[prop], "auto", 'overflow on popup is correct');
+ t.ok( popup instanceof OpenLayers.Popup.AnchoredBubble, "popup is an AnchoredBubble by defaults");
+ feature.destroyPopup();
+
+ feature.popupClass = OpenLayers.Popup.FramedCloud;
+ popup = feature.createPopup();
+ t.ok( popup instanceof OpenLayers.Popup.FramedCloud, "setting feature.popupClass works");
}
function test_Feature_createMarker (t) {
t.plan(1);
More information about the Commits
mailing list