summaryrefslogtreecommitdiff
path: root/chimere/static/saclay/js/interface.js
diff options
context:
space:
mode:
Diffstat (limited to 'chimere/static/saclay/js/interface.js')
-rw-r--r--chimere/static/saclay/js/interface.js358
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");
+}