diff options
| author | Étienne Loks <etienne.loks@iggdrasil.net> | 2018-03-12 13:12:43 +0100 | 
|---|---|---|
| committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2018-03-12 13:12:43 +0100 | 
| commit | f57f079c23c739550095e6f54b762f13339123e0 (patch) | |
| tree | e74d6f8f503d2157b82ad160db184752ba81fa1a /chimere/static/saclay/js/interface.js | |
| parent | 4c3071db2a009e41af87bfada2fcb27ffc70d474 (diff) | |
| download | Chimère-f57f079c23c739550095e6f54b762f13339123e0.tar.bz2 Chimère-f57f079c23c739550095e6f54b762f13339123e0.zip  | |
Merge Saclay inside chimere main
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"); +}  | 
