diff options
-rw-r--r-- | chimere/static/chimere/js/jquery.chimere.js | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/chimere/static/chimere/js/jquery.chimere.js b/chimere/static/chimere/js/jquery.chimere.js index e1c48a6..8809655 100644 --- a/chimere/static/chimere/js/jquery.chimere.js +++ b/chimere/static/chimere/js/jquery.chimere.js @@ -32,6 +32,9 @@ OpenLayers.Layer.MapQuestOSM = OpenLayers.Class(OpenLayers.Layer.XYZ, { CLASS_NAME: "OpenLayers.Layer.MapQuestOSM" }); +function category_loaded_callback(cat_numbers){ +}; + /* * Little hasattr helper */ @@ -186,6 +189,7 @@ OpenLayers.Layer.MapQuestOSM = OpenLayers.Class(OpenLayers.Layer.XYZ, { } settings.current_position = null; + settings.suspend_load = false; /* Create map object */ settings.map = map = new OpenLayers.Map(map_element, map_options); @@ -661,6 +665,7 @@ OpenLayers.Layer.MapQuestOSM = OpenLayers.Class(OpenLayers.Layer.XYZ, { methods.cleanCluster(); } settings.map.resetLayersZIndex(); + category_loaded_callback(ids.split("_")); }, error: function (data, textStatus, errorThrown) { settings.layerMarkers.clearMarkers(); @@ -752,16 +757,17 @@ OpenLayers.Layer.MapQuestOSM = OpenLayers.Class(OpenLayers.Layer.XYZ, { * Add event listener in categories DOM elements */ $('#categories #ul_categories > li > input').bind("click", - function (e) { - methods.hidePopup(e); - _toggle_subcategories($(this)); - methods.loadGeoObjects(); - settings.permalink.updateLink(); - }); + function (e) { + methods.hidePopup(e); + _toggle_subcategories($(this)); + methods.loadGeoObjects(); + settings.permalink.updateLink(); + } + ); $('.subcategories li input').bind("click", function (e) { $('#search-result').html(''); var c_name = $(this).attr('name'); - c_name = c_name.substr(c_name.lastIndexOf("_")+1); + c_name = c_name.substr(c_name.lastIndexOf("_") + 1); if($(this).is(':checked')){ methods.subcategory_detail(c_name); } @@ -771,7 +777,7 @@ OpenLayers.Layer.MapQuestOSM = OpenLayers.Class(OpenLayers.Layer.XYZ, { } else { par.removeClass('selected'); } - methods.loadGeoObjects(); + if (! settings.suspend_load) methods.loadGeoObjects(); _toggle_categories($(this)); settings.permalink.updateLink(); if ($('#layer_cat_'+c_name).length){ @@ -823,6 +829,7 @@ OpenLayers.Layer.MapQuestOSM = OpenLayers.Class(OpenLayers.Layer.XYZ, { /* * Check all subcategory of a category */ + settings.suspend_load = true; $('#maincategory_' + cat_id + '.subcategories li input').each( function(){ $(this).click(); @@ -830,6 +837,8 @@ OpenLayers.Layer.MapQuestOSM = OpenLayers.Class(OpenLayers.Layer.XYZ, { $(this).parent().addClass('selected'); } ); + settings.suspend_load = false; + methods.loadGeoObjects(); }, /* * |