/** * @file * When using views with ajax enabled, the use of ajaxified * exposed filters breaks the gmap javascript. * This file is part of the solution to this problem. */ (function($){ Drupal.ajax.prototype.commands.gmapAjaxViewsFix = function(ajax, response, status) { var $view = $(response.target); if (response.settings) { var i = 0; var gmap = {}; for (i = 0; i < response.settings.length; i++) { if (typeof(response.settings[i]['gmap']) == 'object') { gmap = response.settings[i]['gmap']; } } $view.find('.gmap-map').each(function() { var id = '#' + $(this).attr("id"); var t = id.split('-'); var mapid = t[1]; Drupal.gmap.unloadMap(mapid); if (gmap && gmap[mapid]) { Drupal.settings.gmap[mapid] = gmap[mapid]; } $(id).empty().each(Drupal.gmap.setup); }); } }; })(jQuery);