[Jifty-commit] r3646 - in jifty/trunk: share/web/static/js

jifty-commit at lists.jifty.org jifty-commit at lists.jifty.org
Tue Jul 10 09:17:04 EDT 2007


Author: clkao
Date: Tue Jul 10 09:17:04 2007
New Revision: 3646

Modified:
   jifty/trunk/lib/Jifty/Plugin/GoogleMap/Widget.pm
   jifty/trunk/share/web/static/js/google_map.js

Log:
Support readonly for googlemap widget.

Modified: jifty/trunk/lib/Jifty/Plugin/GoogleMap/Widget.pm
==============================================================================
--- jifty/trunk/lib/Jifty/Plugin/GoogleMap/Widget.pm	(original)
+++ jifty/trunk/lib/Jifty/Plugin/GoogleMap/Widget.pm	Tue Jul 10 09:17:04 2007
@@ -27,9 +27,10 @@
 #use Template::Declare::Tags;
 
 sub render_widget {
-    my $self  = shift;
-
+    my $self = shift;
+    my $readonly = shift;
     my $action = $self->action;
+    $readonly = $readonly ? 1 : 0;
 
     my ($x, $y) = map { $action->form_field($self->name . "_$_")->current_value } qw( x y );
     my ($xid, $yid) = map { $action->form_field($self->name . "_$_")->element_id } qw( x y );
@@ -39,7 +40,7 @@
     my $element_id = $self->element_id;
     Jifty->web->out(qq{<div @{[$self->_widget_class]} id="$element_id" style="left: 200px; width: 250px; height: 250px"></div>});
     Jifty->web->out(qq{<script type="text/javascript">
-Jifty.GMap.location_editor( \$("$element_id"), $x, $y, "$xid", "$yid", $zoom_level, $use_default);
+Jifty.GMap.location_editor( \$("$element_id"), $x, $y, "$xid", "$yid", $zoom_level, $use_default, $readonly);
 </script>
 });
 
@@ -69,7 +70,7 @@
 =cut
 
 sub render_value {
-    $_[0]->render_widget;
+    $_[0]->render_widget('readonly');
     return '';
 }
 

Modified: jifty/trunk/share/web/static/js/google_map.js
==============================================================================
--- jifty/trunk/share/web/static/js/google_map.js	(original)
+++ jifty/trunk/share/web/static/js/google_map.js	Tue Jul 10 09:17:04 2007
@@ -5,18 +5,19 @@
 
 if(!Jifty) Jifty = {};
 Jifty.GMap = function() {};
-Jifty.GMap.location_editor = function(element, x, y, xid, yid, zoom_level, no_marker) {
+Jifty.GMap.location_editor = function(element, x, y, xid, yid, zoom_level, no_marker, readonly) {
     if (!GBrowserIsCompatible())
 	return;
 
     var map = new GMap2(element);
     map.enableScrollWheelZoom();
     map.addControl(new GSmallZoomControl());
-    map.addControl(new EditLocationControl());
+    if(!readonly)
+	map.addControl(new EditLocationControl());
     map.setCenter(new GLatLng(y, x), zoom_level);
     map._jifty_form_x = xid;
     map._jifty_form_y = yid;
-    if (!no_maker) {
+    if (!no_marker) {
 	map._jifty_location = new GMarker(new GLatLng(y, x));
 	map.addOverlay(map._jifty_location);
     }
@@ -94,7 +95,7 @@
 				      map.setCenter(map._jifty_location.getPoint(), 8+result.Placemark[0].AddressDetails.Accuracy);
 				  }
 				  else {
-				      alert('not yet');
+				      _handle_multiple_results(map, result);
 				  }
 			      }
 			      else {
@@ -103,6 +104,10 @@
 			  });
 }
 
+function _handle_multiple_results {
+
+}
+
 EditLocationControl.prototype.getDefaultPosition = function() {
   return new GControlPosition(G_ANCHOR_BOTTOM_RIGHT, new GSize(7, 7));
 }


More information about the Jifty-commit mailing list