Skip to content
Snippets Groups Projects
Commit c92341bf authored by Brandon Bergren's avatar Brandon Bergren
Browse files

Add a way to bind controls that we aren't able to set the id/classes on from the Drupal side.

This lets us work around the fact that gmap_widget_setup() completely fails to work on CCK fields.

Example:
<code>
  $remap = array(
    'edit-field-latitude-0-value' => array('classes' => array('gmap-locpick_latitude'), 'id' => 'gmap-loc0-locpick_latitude0'),
    'edit-field-longitude-0-value' => array('classes' => array('gmap-locpick_longitude'), 'id' => 'gmap-loc0-locpick_longitude0'),
    'edit-field-address-0-value' => array('classes' => array('gmap-locpick_address'), 'id' => 'gmap-loc0-locpick_address0'),
  );
  drupal_add_js(array('gmap_remap_widgets' => $remap), 'setting');

  /* ... stuff copied from gmap_set_location(), etc... */
</code>
parent b33681f6
No related branches found
No related tags found
No related merge requests found
...@@ -77,6 +77,14 @@ ...@@ -77,6 +77,14 @@
if (settings || (Drupal.settings && Drupal.settings.gmap)) { if (settings || (Drupal.settings && Drupal.settings.gmap)) {
var mapid = obj.id.split('-'); var mapid = obj.id.split('-');
if (Drupal.settings['gmap_remap_widgets']) {
if (Drupal.settings['gmap_remap_widgets'][obj.id]) {
jQuery.each(Drupal.settings['gmap_remap_widgets'][obj.id].classes, function() {
jQuery(obj).addClass(this);
});
mapid = Drupal.settings['gmap_remap_widgets'][obj.id].id.split('-');
}
}
var instanceid = mapid.pop(); var instanceid = mapid.pop();
mapid.shift(); mapid.shift();
mapid = mapid.join('-'); mapid = mapid.join('-');
...@@ -523,5 +531,10 @@ if (Drupal.jsEnabled) { ...@@ -523,5 +531,10 @@ if (Drupal.jsEnabled) {
} }
Drupal.behaviors.GMap = function (context) { Drupal.behaviors.GMap = function (context) {
if (Drupal.settings && Drupal.settings['gmap_remap_widgets']) {
jQuery.each(Drupal.settings['gmap_remap_widgets'], function(key, val) {
$('#'+ key).addClass('gmap-control');
});
}
$('.gmap-control:not(.gmap-processed)', context).addClass('gmap-processed').each(function () {Drupal.gmap.setup.call(this)}); $('.gmap-control:not(.gmap-processed)', context).addClass('gmap-processed').each(function () {Drupal.gmap.setup.call(this)});
}; };
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment