diff options
Diffstat (limited to 'chimere/static/saclay/js/interface.js')
| -rw-r--r-- | chimere/static/saclay/js/interface.js | 358 |
1 files changed, 358 insertions, 0 deletions
diff --git a/chimere/static/saclay/js/interface.js b/chimere/static/saclay/js/interface.js new file mode 100644 index 0000000..229624a --- /dev/null +++ b/chimere/static/saclay/js/interface.js @@ -0,0 +1,358 @@ +var msg_edit_route = "Cliquez sur la carte pour tracer le trajet. Chaque nouveau clic rajoute un nœud. Double-cliquez pour terminer le trajet.<br/>Pour modifier le trajet sélectionnez un nœud puis glissez-déposez pour le déplacer."; +var msg_edit = "Cliquez sur la carte pour placer le lieu. Pour modifier ce lieu sélectionnez-le puis glissez-déposez pour le déplacer."; + +var register_subactions = function(){ + $('.subactions').click(function(){ + var link = $(this).attr("data-link"); + $.ajax({url: link, + dataType: "html", + success: function (data) { + $("#map-edit").remove(); + $("#modal-edit .modal-body").html(data); + $("#modal-edit .modal-body").find("script").each(function(i) { + eval($(this).text()); + }); + }, + error: function (data) { + $('#frm-edit-marker').html("<p class='warning'>"+ + default_error_message+"</p>"); + } + }); + }); +}; + +var update_editmarker = function(){ + /*$("#main-map").chimere('cleanRoute'); + $('.map_button').hide(); + if($('#multimedia_form').length) $('#multimedia_form').remove(); + $('#action-edit-event').removeClass('state-active'); + $('#action-edit-route').removeClass('state-active'); + $('#action-edit-marker').addClass('state-active'); + $('#frm-edit-route').hide(); + $('#frm-edit-event').hide(); + $('#frm-edit-marker').show(); + + $('#message').removeClass(); + $('#message').addClass('alert'); + $('#message').addClass('alert-info'); + $('#message .content').html(msg_edit); + $('#message').show(); +*/ + $.ajax({url: edit_url, + dataType: "html", + success: function (data) { + $("#modal-edit .modal-body").html(data); + }, + error: function (data) { + $('#frm-edit-marker').html("<p class='warning'>"+ + default_error_message+"</p>"); + } + }); +}; + +var update_editevent = function(){ + $("#main-map").chimere('cleanRoute'); + $('.map_button').hide(); + if($('#multimedia_form').length) $('#multimedia_form').remove(); + $('#action-edit-marker').removeClass('state-active'); + $('#action-edit-route').removeClass('state-active'); + $('#action-edit-event').addClass('state-active'); + $('#frm-edit-marker').hide(); + $('#frm-edit-route').hide(); + $('#frm-edit-event').show(); + + $('#message').removeClass(); + $('#message').addClass('alert'); + $('#message').addClass('alert-info'); + $('#message .content').html(msg_edit); + $('#message').show(); + + $.ajax({url: edit_event_url, + dataType: "html", + success: function (data) { + $('#frm-edit-marker').html(''); + $('#frm-edit-route').html(''); + $('#frm-edit-event').html(data); + $("#main-map").chimere('activateMarkerEdit'); + }, + error: function (data) { + $('#frm-edit-event').html("<p class='warning'>"+ + default_error_message+"</p>"); + } + }); +}; + +var update_editroute = function(){ + $('.map_button').show(); + if($('#multimedia_form').length) $('#multimedia_form').remove(); + $('#action-edit-marker').removeClass('state-active'); + $('#action-edit-event').removeClass('state-active'); + $('#action-edit-route').addClass('state-active'); + $('#frm-edit-marker').hide(); + $('#frm-edit-event').hide(); + $('#frm-edit-route').show(); + $('#chimere_itinerary').hide(); + $('#chimere_itinerary_form').show(); + + $('#message').removeClass(); + $('#message').addClass('alert'); + $('#message').addClass('alert-info'); + $('#message .content').html(msg_edit_route); + $('#message').show(); + + $.ajax({url: edit_route_url, + dataType: "html", + success: function (data) { + $('#frm-edit-marker').html(''); + $('#frm-edit-event').html(''); + $('#frm-edit-route').html(data); + $("#main-map").chimere('cleanMarker'); + $("#main-map").chimere('activateRouteEdit'); + }, + error: function (data) { + $('#frm-edit-route').html("<p class='warning'>"+ + default_error_message+"</p>"); + } + }); +}; + +var action_map = function(){ + $('#main-map').chimere('deactivateEdition'); + $('#message').hide(); + $('.map_button').hide(); + $("#main-map").chimere('cleanRoute'); + $("#main-map").chimere('cleanMarker'); + $("#main-map").chimere('activateContextMenu'); + if($("#itinerary_field").html()){ + $("#chimere_itinerary_form").appendTo("#chimere_itinerary_panel"); + if($("#chimere_itinerary").css('display') != 'none'){ + $("#chimere_itinerary_form").hide(); + } + } + $('#action-participate').removeClass('state-active'); + $('#action-carte').addClass('state-active'); + $('#edit-actions').hide(); + $('#map-actions').show(); + $('#edit-panel').hide(); + $('#map-panel').show(); +}; + +var action_participate = function(){ +/* + $('.map_button').hide(); + $('#message').hide(); + $('#action-carte').removeClass('state-active'); + $('#action-participate').addClass('state-active'); + $('#map-actions').hide(); + $('#edit-actions').show(); + $('#map-panel').hide(); + $('#edit-panel').show(); + */ + update_editmarker(); +}; + +var routing_panel_open = function(){ + action_map(); + $('#frm_categories').hide(); + $('#search-box').hide(); + $('#frm-edit-marker').hide(); + $('#chimere_itinerary_panel').show(); + $('#back-categories').show(); +}; + +var category_panel_open = function(){ + action_map(); + $("#main-map").chimere('razMap'); + $("#id_q").val(''); + $('#chimere_itinerary_panel').hide(); + $('#search-result').hide(); + $('#frm-edit-marker').hide(); + $('#back-categories').hide(); + $('#search-box').show(); + $('#frm_categories').show(); +}; + +var search_panel_open = function(){ + action_map(); + $('#chimere_itinerary_panel').hide(); + $('#frm_categories').hide(); + $('#frm-edit-marker').hide(); + $('#search-box').show(); + $('#search-result').show(); + $('#back-categories').show(); +}; + +var edit_panel_open = function(){ + action_participate(); + /* + $('#search-box').hide(); + $('#search-result').hide(); + $('#frm_categories').hide(); + $('#edit-actions').show(); + $('#back-categories').show(); + */ +}; + +$(function(){ + $('#action-routing').click(routing_panel_open); + $('#routing-button').click(routing_panel_open); + $('#action-categories').click(category_panel_open); + $('#action-search').click(search_panel_open); + $('#edit-button').click(edit_panel_open); + $('#back-categories').click(category_panel_open); + + $('#sidebar-handler-hide').click(function(){$('#sidebar').hide();}); + $('#sidebar-handler-show').click(function(){$('#sidebar').show();}); + + $('#message').hide(); + + $("[data-hide]").on("click", function(){ + $("." + $(this).attr("data-hide")).hide(); + }); + + $("#categories").fadeIn(); + $(".buttonset label").click(function(){ + $(".buttonset label").removeAttr("aria-pressed"); + $(this).attr("aria-pressed", 'true'); + }); + $("#action-news").click(function(){ + $('#modal-news').modal("show"); + }); + + $("#modal-edit").on('shown.bs.modal', function () { + // ol3 must be initialized after modal opening + init_map_edit(); + $('#map_edit').chimere('refresh'); + $("#modal-edit").modal('handleUpdate'); + }); + + $("#action-carte").click(action_map); + + $("#action-participate").click(action_participate); + + $("#action-edit-event").click(update_editevent); + $("#action-edit-marker").click(update_editmarker); + $("#action-edit-route").click(update_editroute); + + $('.dyn-page').click(function(){ + var url = $(this).filter('a').attr('href'); + if (!url){ + url = $(this).children('a').attr('href'); + } + if (!url){ + return false; + } + $.ajax({url: url, + dataType: "html", + success: function (content) { + html = "<div class='dialog-content'>" + + content + "</div>" + $('#modal-default-message .modal-body').html(html); + $('#modal-default-message').modal("show"); + } + }); + return false; + }); + + $('.print-page').click(function(){ + window.print(); + return false; + }); + $('.extra-criteria .extra-label').click(function(){ + var par = $(this).parent(); + var form = par.children('.extra-form'); + form.toggle(); + if(form.is(':visible')){ + par.addClass('opened'); + } else { + par.removeClass('opened'); + } + }); + $('input[name="transport"]').change(change_routing_transport); + $('input[name="speed"]').change(change_routing_speed); + $('#id_speed').change(change_routing_speed); +}); + +function change_routing_speed(){ + var speed = $('#id_speed option:selected').val(); + if(!speed){ + speed = $('input[name=speed]:checked').val(); + } + if (!speed) return; + speed = speed.split('_')[1] + $('#main-map').chimere('routingChangeSpeed', speed); +} + +function change_routing_transport(){ + $('#main-map').chimere('routingChangeTransport', + $('input[name="transport"]:checked').val()); +} + +function display_feature_detail_callback(settings){ + $('.popover-title').hide(); + $('.detail_zoomin').bind("click", function(event){ + $('#main-map').chimere('hidePopup', event); + $('#main-map').chimere('zoomIn'); + }); + $('.detail_zoomout').bind("click", function(event){ + $('#main-map').chimere('hidePopup', event); + $('#main-map').chimere('zoomOut'); + }); + $('.detail_from').bind("click", function(event){ + $('#main-map').chimere('routingFrom'); + $('#main-map').chimere('hidePopup', event); + }); + $('.detail_step').bind("click", function(event){ + $('#main-map').chimere('routingAddStep'); + $('#main-map').chimere('hidePopup', event); + }); + $('.detail_to').bind("click", function(event){ + $('#main-map').chimere('routingTo'); + $('#main-map').chimere('hidePopup', event); + }); + jQuery(".close_img").click(function(event){ + $("#main-map").chimere('hidePopup', event); + }); + /* + jQuery("#read_more_"+settings.current_feature.pk).click(function(){ + $('#detail_content').css('height', $('#detail_content').height()); + $("#description_short_"+settings.current_feature.pk).hide(); + $("#description_long_"+settings.current_feature.pk).show(); + $("#read_more_"+settings.current_feature.pk).hide(); + $("#read_less_"+settings.current_feature.pk).show(); + }); + jQuery("#read_less_"+settings.current_feature.pk).click(function(){ + $("#description_long_"+settings.current_feature.pk).hide(); + $("#description_short_"+settings.current_feature.pk).show(); + $("#read_less_"+settings.current_feature.pk).hide(); + $("#read_more_"+settings.current_feature.pk).show(); + }); + */ + $(document).ready(function(){ + share_link_update(); + /*$("a[rel^='prettyPhoto']").prettyPhoto({ + show_title: false, + social_tools: '' + });*/ + }); + $('html').addClass('js-on'); + $(function(){ + // $('div.media-player').jmeEmbedControls(); + }); +} + +function toggleDrawOn() { + $('#button-move-map').removeClass('toggle-button-active' + ).addClass('toggle-button-inactive'); + $('#button-draw-map').removeClass('toggle-button-inactive' + ).addClass('toggle-button-active'); + $("#main-map").chimere("activateCurrentControl"); +} + +function toggleDrawOff() { + $('#button-draw-map').removeClass('toggle-button-active' + ).addClass('toggle-button-inactive'); + $('#button-move-map').removeClass('toggle-button-inactive' + ).addClass('toggle-button-active'); + $("#main-map").chimere("deactivateCurrentControl"); +} |
