templates/__front__pages/index.html.twig line 1

Open in your IDE?
  1. {% extends 'base_front.html.twig' %}
  2. {% block title %} Accueil {% endblock %}
  3. {% block stylesheets %}
  4.     {{ parent() }}
  5.     <link rel="stylesheet" href="{{ asset('front/css/maps/styles.css') }}">
  6.     <link rel="stylesheet" href="{{ asset('front/css/maps/icon.css') }}">
  7.     <link rel="stylesheet" href="{{ asset('front/css/maps/style.css') }}">
  8.     <link rel="stylesheet" type="text/css" href="{{ asset('app-assets/vendors/css/forms/select/select2.min.css') }}">
  9.     <link rel="stylesheet" type="text/css" href="{{ asset('app-assets/css/plugins/forms/form-wizard.css') }}">
  10. {% endblock %}
  11. {% block body %}
  12.     {% include('__front/maps.html.twig') %}
  13.     {% include('__front/search.html.twig') %}
  14.     {% include('__front/section.html.twig') %}
  15. {% endblock %}
  16. {% block javascripts %}
  17.     {{ parent() }}
  18.     <script src="{{ asset('front/js/chart.js') }}"></script>
  19.     <script src="{{ asset('front/js/chart-utils.js') }}"></script>
  20.     <script src="{{ asset('front/js/maps/jquery.vmap.js') }}"></script>
  21.     <script src="{{ asset('front/js/maps/jquery.vmap.tunisia.js') }}"></script>
  22.     <!-- BEGIN: Page Vendor JS-->
  23.     <script src="{{ asset('app-assets/vendors/js/forms/select/select2.full.min.js') }}"></script>
  24.     <script src="{{ asset('app-assets/js/scripts/forms/form-wizard.js') }}"></script>
  25.     <!-- END: Page JS-->
  26.     <script>
  27.         let NbrPartenaireLabel = JSON.parse('{{ stats['NbrPartenaire']['label'] | json_encode | raw }}');
  28.         let NbrPartenaireValeur = JSON.parse('{{ stats['NbrPartenaire']['valeur'] | json_encode | raw }}');
  29.         let SumPartenaireLabel = JSON.parse('{{ stats['SumPartenaire']['label'] | json_encode | raw }}');
  30.         let SumPartenaireValeur = JSON.parse('{{ stats['SumPartenaire']['valeur'] | json_encode | raw }}');
  31.         let StatusLabel = JSON.parse('{{ stats['Status']['label'] | json_encode | raw }}');
  32.         let StatusValeur = JSON.parse('{{ stats['Status']['valeur'] | json_encode | raw }}');
  33.         let SInterLabel = JSON.parse('{{ stats['SIntervention']['label'] | json_encode | raw }}');
  34.         let SInterValeur = JSON.parse('{{ stats['SIntervention']['valeur'] | json_encode | raw }}');
  35.         let chart1Colors = [window.chartColors.green_special, window.chartColors.red_special, window.chartColors.orange_spec, window.chartColors.blue_special, window.chartColors.pink_special];
  36.         let chart2Colors = [window.chartColors.red_special, window.chartColors.green_special, window.chartColors.orange_spec, window.chartColors.blue_special, window.chartColors.pink_special];
  37.         let chart3Colors = [window.chartColors.orange_spec, window.chartColors.pink_special, window.chartColors.green_special, window.chartColors.red_special, window.chartColors.blue_special];
  38.         let chart4Colors = [window.chartColors.blue_special, window.chartColors.red_special, window.chartColors.green_special, window.chartColors.orange_spec, window.chartColors.pink_special];
  39.         function drawChart(id, values, labels, colors = ["red", "grey"]) {
  40.             let ctx = document.getElementById(id).getContext("2d");
  41.             let config = {
  42.                 type: 'pie',
  43.                 data: {
  44.                     datasets: [{
  45.                         data: values,
  46.                         backgroundColor: colors,
  47.                         label: 'IPAPD'
  48.                     }],
  49.                     labels: labels
  50.                 },
  51.                 options: {
  52.                     responsive: true,
  53.                     plugins: {
  54.                         legend: false // Hide legend
  55.                     }
  56.                 }
  57.             };
  58.             window.myPie = new Chart(ctx, config);
  59.         }
  60.         window.onload = function () {
  61.             drawChart('chart-0', NbrPartenaireValeur, NbrPartenaireLabel, chart1Colors);
  62.             drawChart('chart-1', SumPartenaireValeur, SumPartenaireLabel, chart2Colors);
  63.             drawChart('chart-2', StatusValeur, StatusLabel, chart3Colors);
  64.             drawChart('chart-3', SInterValeur, SInterLabel, chart4Colors);
  65.         };
  66.         jQuery(document).ready(function () {
  67.             let all_region = ["tn-ba", "tn-za", "tn-an", "tn-je", "tn-bj", "tn-bz", "tn-mn", "tn-an", "tn-tu", "tn-nb", "tn-sl", "tn-kf", "tn-ks", "tn-sl", "tn-sz", "tn-kr", "tn-ss", "tn-ms", "tn-mh", "tn-sf", "tn-gf", "tn-sz", "tn-ks", "tn-gf", "tn-to", "tn-kb", "tn-gb", "tn-me", "tn-ta"];
  68.             let gov = $('.all_gouvs').data('gouvs');
  69.             let lang = "{{ app.request.locale }}";
  70.             if (lang == 'ar') {
  71.                 jQuery(".select2").select2({
  72.                     placeholder: "اختر المجال",
  73.                     allowClear: true
  74.                 });
  75.             }
  76.             else {
  77.                 jQuery(".select2").select2({
  78.                     placeholder: "Sélectionner un choix",
  79.                     allowClear: true
  80.                 });
  81.             }
  82.             /************Google Maps*************/
  83.             jQuery('#vmaps').vectorMap({
  84.                 map: 'tunisia',
  85.                 selectedRegions: all_region,
  86.                 selectedRegions: 'tn-Tu',
  87.                 multiSelectRegion: false,
  88.                 enableZoom: false,
  89.                 backgroundColor: '#616161;',
  90.                 hoverColor: '#be0000',
  91.                 selectedColor: '#be0000',
  92.                 borderColor: '#000000',
  93.                 color: '#f4f3f0',
  94.                 borderWidth: 2,
  95.                 onRegionClick: function (element, code, region) {
  96.                     var countNb = 0;
  97.                     jQuery.each(gov, function (key, value) {
  98.                         if (value['code'] === code) {
  99.                             if (value['communes'] !== "" && (value['communes'].length) > 0) {
  100.                                 jQuery('.regiongov').html("Région de " + key);
  101.                                 var communes = (value['communes']).sort();
  102.                                 jQuery.each(communes, function (key, value) {
  103.                                     countNb++;
  104.                                 });
  105.                             }
  106.                         }
  107.                     });
  108.                     var limitCol = countNb / 2;
  109.                     if (limitCol < 10) limitCol = 10;
  110.                     jQuery(".first-select-commune").empty();
  111.                     jQuery(".second-select-commune").empty();
  112.                     jQuery.each(gov, function (key, value) {
  113.                         if (value['code'] === code) {
  114.                             if (value['communes'] !== "" && (value['communes'].length) > 0) {
  115.                                 var communes = (value['communes'] ? value['communes'][0] : null).sort();
  116.                                 jQuery.each(communes, function (key, value) {
  117.                                     if (lang == 'ar') {
  118.                                         if (key < limitCol)
  119.                                             jQuery('.first-select-commune').append('<h7 data-id="' + value['id'] + '" class="get_map list-gov"> <i class="fa icon-map-marker-alt"></i> ' + value['nom_ar'] + ' </h7><br />');
  120.                                         else if (key >= limitCol)
  121.                                             jQuery('.second-select-commune').append('<h7 data-id="' + value['id'] + '" class="get_map list-gov"> <i class="fa icon-map-marker-alt"></i> ' + value['nom_ar'] + ' </h7> <br />');
  122.                                     } else if (lang == 'fr') {
  123.                                         if (key < limitCol)
  124.                                             jQuery('.first-select-commune').append('<h7 data-id="' + value['id'] + '" class="get_map list-gov"> <i class="fa icon-map-marker-alt"></i> ' + value['nom_fr'] + ' </h7><br />');
  125.                                         else if (key >= limitCol)
  126.                                             jQuery('.second-select-commune').append('<h7 data-id="' + value['id'] + '" class="get_map list-gov"> <i class="fa icon-map-marker-alt"></i> ' + value['nom_fr'] + ' </h7> <br />');
  127.                                     }
  128.                                 });
  129.                             }
  130.                         }
  131.                     });
  132.                 }
  133.             });
  134.             jQuery('#gmaps').vectorMap({
  135.                 map: 'tunisia',
  136.                 //selectedRegions: all_region,
  137.                 selectedRegions: 'tn-Tu',
  138.                 multiSelectRegion: false,
  139.                 enableZoom: false,
  140.                 backgroundColor: '#616161;',
  141.                 hoverColor: '#be0000',
  142.                 selectedColor: '#be0000',
  143.                 borderColor: '#000000',
  144.                 color: '#f4f3f0',
  145.                 borderWidth: 2,
  146.                 onRegionClick: function (element, code, region) {
  147.                     //$('#exampleModalToggle').modal('toggle');
  148.                     jQuery.ajax(
  149.                         {
  150.                             type: "GET",
  151.                             dataType: "json",
  152.                             url: '/api/projet/gov/' + code ?? 0,
  153.                             success: function (response) {
  154.                                 $('#exampleModalToggle').modal('toggle');
  155.                                 $('.cmo-gouvernorat').show();
  156.                                 $('.cmo-municipalite').hide();
  157.                                 if (lang == 'ar') {
  158.                                     $('.namecom').text(response.commune_ar ? response.commune_ar : '');
  159.                                     $('.namegov').text(response.gouvernorat_ar ? response.gouvernorat_ar : '');
  160.                                     $('.indic-budget').text(response.totalBudgeTnd ? response.totalBudgeTnd + ' دينار' : 0);
  161.                                     $('.indic-projet').text(response.nbr_projets ? response.nbr_projets : 0);
  162.                                     $('.indic-municipalite').text(response.commune_ar ? response.commune_ar : '');
  163.                                     $('.indic-gouvernorat').text(response.gouvernorat_ar ? response.gouvernorat_ar : '');
  164.                                     if (response.status == true) {
  165.                                         drawChart('erreur_message_cmo', response.NbrPartenaire ? response.NbrPartenaire['valeur'] : 0, response.NbrPartenaire ? response.NbrPartenaire['label_ar'] : '', chart1Colors);
  166.                                         drawChart('erreur_message_cmo1', response.SumPartenaire ? response.SumPartenaire['valeur'] : 0, response.SumPartenaire ? response.SumPartenaire['label_ar'] : '', chart2Colors);
  167.                                         drawChart('erreur_message_cmo2', response.SInterProjet ? response.SInterProjet['valeur'] : 0, response.SInterProjet ? response.SInterProjet['label_ar'] : '', chart3Colors);
  168.                                         drawChart('erreur_message_cmo3', response.StatusProjet ? response.StatusProjet['valeur'] : 0, response.StatusProjet ? response.StatusProjet['label_ar'] : '', chart4Colors);
  169.                                         $('.section-charts-modal').show();
  170.                                         $('.plus-detail').show();
  171.                                     } else {
  172.                                         $('.plus-detail').hide();
  173.                                         $('.section-charts-modal').hide();
  174.                                     }
  175.                                 }
  176.                                 else if (lang == 'fr') {
  177.                                     $('.namecom').text(response.commune ? response.commune : '');
  178.                                     $('.namegov').text(response.gouvernorat ? response.gouvernorat : '');
  179.                                     $('.indic-budget').text(response.totalBudgeTnd ? response.totalBudgeTnd + ' TND' : 0);
  180.                                     $('.indic-projet').text(response.nbr_projets ? response.nbr_projets : 0);
  181.                                     $('.indic-municipalite').text(response.commune ? response.commune : '');
  182.                                     $('.indic-gouvernorat').text(response.gouvernorat ? response.gouvernorat : '');
  183.                                     if (response.status == true) {
  184.                                         drawChart('erreur_message_cmo', response.NbrPartenaire ? response.NbrPartenaire['valeur'] : 0, response.NbrPartenaire ? response.NbrPartenaire['label'] : '', chart1Colors);
  185.                                         drawChart('erreur_message_cmo1', response.SumPartenaire ? response.SumPartenaire['valeur'] : 0, response.SumPartenaire ? response.SumPartenaire['label'] : '', chart2Colors);
  186.                                         drawChart('erreur_message_cmo2', response.SInterProjet ? response.SInterProjet['valeur'] : 0, response.SInterProjet ? response.SInterProjet['label'] : '', chart3Colors);
  187.                                         drawChart('erreur_message_cmo3', response.StatusProjet ? response.StatusProjet['valeur'] : 0, response.StatusProjet ? response.StatusProjet['label'] : '', chart4Colors);
  188.                                         $('.section-charts-modal').show();
  189.                                         $('.plus-detail').show();
  190.                                     } else {
  191.                                         $('.plus-detail').hide();
  192.                                         $('.section-charts-modal').hide();
  193.                                     }
  194.                                 }
  195.                             },
  196.                             errors: function (response) {
  197.                                 console.log('errors');
  198.                                 console.log(response);
  199.                             }
  200.                         });
  201.                 }
  202.             });
  203.             $('.modal-central').click(function () {
  204.                 let typeProjet = jQuery(this).data('type');
  205.                 jQuery.ajax(
  206.                     {
  207.                         type: "GET",
  208.                         dataType: "json",
  209.                         url: '/api/projet/type/' + typeProjet ?? 0,
  210.                         success: function (response) {
  211.                             $('#exampleModalToggle').modal('toggle');
  212.                             $('.cmo-gouvernorat').hide();
  213.                             $('.cmo-municipalite').hide();
  214.                             if (lang == 'ar') {
  215.                                 $('.namecom').text(response.commune_ar ? response.commune_ar : '');
  216.                                 $('.namegov').text(response.gouvernorat_ar ? response.gouvernorat_ar : '');
  217.                                 $('.indic-budget').text(response.totalBudgeTnd ? response.totalBudgeTnd + ' دينار' : 0);
  218.                                 $('.indic-projet').text(response.nbr_projets ? response.nbr_projets : 0);
  219.                                 $('.indic-municipalite').text(response.commune_ar ? response.commune_ar : '');
  220.                                 $('.indic-gouvernorat').text(response.gouvernorat_ar ? response.gouvernorat_ar : '');
  221.                                 if (response.status == true) {
  222.                                     drawChart('erreur_message_cmo', response.NbrPartenaire ? response.NbrPartenaire['valeur'] : 0, response.NbrPartenaire ? response.NbrPartenaire['label_ar'] : '', chart1Colors);
  223.                                     drawChart('erreur_message_cmo1', response.SumPartenaire ? response.SumPartenaire['valeur'] : 0, response.SumPartenaire ? response.SumPartenaire['label_ar'] : '', chart2Colors);
  224.                                     drawChart('erreur_message_cmo2', response.SInterProjet ? response.SInterProjet['valeur'] : 0, response.SInterProjet ? response.SInterProjet['label_ar'] : '', chart3Colors);
  225.                                     drawChart('erreur_message_cmo3', response.StatusProjet ? response.StatusProjet['valeur'] : 0, response.StatusProjet ? response.StatusProjet['label_ar'] : '', chart4Colors);
  226.                                     $('.section-charts-modal').show();
  227.                                     $('.plus-detail').show();
  228.                                 } else {
  229.                                     $('.plus-detail').hide();
  230.                                     $('.section-charts-modal').hide();
  231.                                 }
  232.                             }
  233.                             else if (lang == 'fr') {
  234.                                 $('.namecom').text(response.commune ? response.commune : '');
  235.                                 $('.namegov').text(response.gouvernorat ? response.gouvernorat : '');
  236.                                 $('.indic-budget').text(response.totalBudgeTnd ? response.totalBudgeTnd + ' TND' : 0);
  237.                                 $('.indic-projet').text(response.nbr_projets ? response.nbr_projets : 0);
  238.                                 $('.indic-municipalite').text(response.commune ? response.commune : '');
  239.                                 $('.indic-gouvernorat').text(response.gouvernorat ? response.gouvernorat : '');
  240.                                 if (response.status == true) {
  241.                                     drawChart('erreur_message_cmo', response.NbrPartenaire ? response.NbrPartenaire['valeur'] : 0, response.NbrPartenaire ? response.NbrPartenaire['label'] : '', chart1Colors);
  242.                                     drawChart('erreur_message_cmo1', response.SumPartenaire ? response.SumPartenaire['valeur'] : 0, response.SumPartenaire ? response.SumPartenaire['label'] : '', chart2Colors);
  243.                                     drawChart('erreur_message_cmo2', response.SInterProjet ? response.SInterProjet['valeur'] : 0, response.SInterProjet ? response.SInterProjet['label'] : '', chart3Colors);
  244.                                     drawChart('erreur_message_cmo3', response.StatusProjet ? response.StatusProjet['valeur'] : 0, response.StatusProjet ? response.StatusProjet['label'] : '', chart4Colors);
  245.                                     $('.section-charts-modal').show();
  246.                                     $('.plus-detail').show();
  247.                                 } else {
  248.                                     $('.plus-detail').hide();
  249.                                     $('.section-charts-modal').hide();
  250.                                 }
  251.                             }
  252.                         },
  253.                         errors: function (response) {
  254.                             console.log('errors');
  255.                             console.log(response);
  256.                         }
  257.                     });
  258.             });
  259.             /************OnClick Close Modal*************/
  260.             jQuery('.modal-content').on('click', '.btn-close', function () {
  261.                 $('#exampleModalToggle').modal('toggle');
  262.             });
  263.             /************OnClick Open Modal*************/
  264.             jQuery('.maps').on('click', '.list-gov', function () {
  265.                 let code_com = jQuery(this).data('id');
  266.                 $('.namecom').empty();
  267.                 $('.namegov').empty();
  268.                 $('.indic-budget').empty();
  269.                 $('.indic-municipalite').empty();
  270.                 $('.indic-gouvernorat').empty();
  271.                 //$('.plus-detail').empty();
  272.                 $('#erreur_message_cmo').empty();
  273.                 $('#erreur_message_cmo1').empty();
  274.                 $('#erreur_message_cmo2').empty();
  275.                 $('#erreur_message_cmo3').empty();
  276.                 let path = "{{ path('mes_projets')|escape('js') }}";
  277.                 $("#plus-detail-modal").attr("href", path);
  278.                 jQuery.ajax(
  279.                     {
  280.                         type: "GET",
  281.                         dataType: "json",
  282.                         url: '/api/projet/' + code_com ?? 0,
  283.                         success: function (response) {
  284.                             $('#exampleModalToggle').modal('toggle');
  285.                             $('.cmo-gouvernorat').show();
  286.                             $('.cmo-municipalite').show();
  287.                             if (lang == 'ar') {
  288.                                 $('.namecom').text(response.commune_ar ? response.commune_ar : '');
  289.                                 $('.namegov').text(response.gouvernorat_ar ? response.gouvernorat_ar : '');
  290.                                 $('.indic-budget').text(response.totalBudgeTnd ? response.totalBudgeTnd + ' دينار' : 0);
  291.                                 $('.indic-projet').text(response.nbr_projets ? response.nbr_projets : 0);
  292.                                 $('.indic-municipalite').text(response.commune_ar ? response.commune_ar : '');
  293.                                 $('.indic-gouvernorat').text(response.gouvernorat_ar ? response.gouvernorat_ar : '');
  294.                                 if (response.status == true) {
  295.                                     drawChart('erreur_message_cmo', response.NbrPartenaire ? response.NbrPartenaire['valeur'] : 0, response.NbrPartenaire ? response.NbrPartenaire['label_ar'] : '', chart1Colors);
  296.                                     drawChart('erreur_message_cmo1', response.SumPartenaire ? response.SumPartenaire['valeur'] : 0, response.SumPartenaire ? response.SumPartenaire['label_ar'] : '', chart2Colors);
  297.                                     drawChart('erreur_message_cmo2', response.SInterProjet ? response.SInterProjet['valeur'] : 0, response.SInterProjet ? response.SInterProjet['label_ar'] : '', chart3Colors);
  298.                                     drawChart('erreur_message_cmo3', response.StatusProjet ? response.StatusProjet['valeur'] : 0, response.StatusProjet ? response.StatusProjet['label_ar'] : '', chart4Colors);
  299.                                     $('.section-charts-modal').show();
  300.                                     $('.plus-detail').show();
  301.                                 } else {
  302.                                     $('.plus-detail').hide();
  303.                                     $('.section-charts-modal').hide();
  304.                                 }
  305.                             }
  306.                             else if (lang == 'fr') {
  307.                                 $('.namecom').text(response.commune ? response.commune : '');
  308.                                 $('.namegov').text(response.gouvernorat ? response.gouvernorat : '');
  309.                                 $('.indic-budget').text(response.totalBudgeTnd ? response.totalBudgeTnd + ' TND' : 0);
  310.                                 $('.indic-projet').text(response.nbr_projets ? response.nbr_projets : 0);
  311.                                 $('.indic-municipalite').text(response.commune ? response.commune : '');
  312.                                 $('.indic-gouvernorat').text(response.gouvernorat ? response.gouvernorat : '');
  313.                                 if (response.status == true) {
  314.                                     drawChart('erreur_message_cmo', response.NbrPartenaire ? response.NbrPartenaire['valeur'] : 0, response.NbrPartenaire ? response.NbrPartenaire['label'] : '', chart1Colors);
  315.                                     drawChart('erreur_message_cmo1', response.SumPartenaire ? response.SumPartenaire['valeur'] : 0, response.SumPartenaire ? response.SumPartenaire['label'] : '', chart2Colors);
  316.                                     drawChart('erreur_message_cmo2', response.SInterProjet ? response.SInterProjet['valeur'] : 0, response.SInterProjet ? response.SInterProjet['label'] : '', chart3Colors);
  317.                                     drawChart('erreur_message_cmo3', response.StatusProjet ? response.StatusProjet['valeur'] : 0, response.StatusProjet ? response.StatusProjet['label'] : '', chart4Colors);
  318.                                     $('.section-charts-modal').show();
  319.                                     $('.plus-detail').show();
  320.                                 } else {
  321.                                     $('.plus-detail').hide();
  322.                                     $('.section-charts-modal').hide();
  323.                                 }
  324.                             }
  325.                         },
  326.                         errors: function (response) {
  327.                             console.log('errors');
  328.                             console.log(response);
  329.                         }
  330.                     });
  331.             });
  332.             /************When Gouvernorat gets selected **********/
  333.             var $gouv = $('#search_projet_gouvernorat');
  334.             $gouv.change(function () {
  335.                 var $form = $(this).closest('form');
  336.                 var data = {};
  337.                 data[$gouv.attr('name')] = $gouv.val();
  338.                 let dt = $form.serializeArray().filter(item => {
  339.                     return (item.name !== 'projet[_token]')
  340.                 });
  341.                 try {
  342.                     $.ajax({
  343.                         url: $form.attr('action'),
  344.                         type: $form.attr('method'),
  345.                         data: dt,
  346.                         complete: function (html) {
  347.                             $('#search_projet_communes').replaceWith(
  348.                                 $(html.responseText).find('#search_projet_communes')
  349.                             );
  350.                             $('#search_projet_communes').select2();
  351.                         }
  352.                     });
  353.                 } catch (e) {
  354.                     console.log(e);
  355.                 }
  356.             });
  357.             /************When Partenaire gets selected **********/
  358.             var $part = $('#search_projet_partenaire');
  359.             $part.change(function () {
  360.                 var $form = $(this).closest('form');
  361.                 var data = {};
  362.                 data[$part.attr('name')] = $part.val();
  363.                 let dt = $form.serializeArray().filter(item => {
  364.                     return (item.name !== 'projet[_token]')
  365.                 });
  366.                 try {
  367.                     $.ajax({
  368.                         url: $form.attr('action'),
  369.                         type: $form.attr('method'),
  370.                         data: dt,
  371.                         complete: function (html) {
  372.                             $('#search_projet_programme').replaceWith(
  373.                                 $(html.responseText).find('#search_projet_programme')
  374.                             );
  375.                             $('#search_projet_programme').select2();
  376.                         }
  377.                     });
  378.                 } catch (e) {
  379.                     console.log(e);
  380.                 }
  381.             });
  382.             /*******Arabic filtre******/
  383.             // When Gouvernorat Arabic gets selected ...
  384.             var $gouvAr = $('#search_projet_ar_gouvernorat');
  385.             $gouvAr.change(function () {
  386.                 var $form = $(this).closest('form');
  387.                 var data = {};
  388.                 data[$gouvAr.attr('name')] = $gouvAr.val();
  389.                 let dt = $form.serializeArray().filter(item => {
  390.                     return (item.name !== 'projet[_token]')
  391.                 });
  392.                 try {
  393.                     $.ajax({
  394.                         url: $form.attr('action'),
  395.                         type: $form.attr('method'),
  396.                         data: dt,
  397.                         complete: function (html) {
  398.                             $('#search_projet_ar_communes').replaceWith(
  399.                                 $(html.responseText).find('#search_projet_ar_communes')
  400.                             );
  401.                             $('#search_projet_ar_communes').select2();
  402.                         }
  403.                     });
  404.                 } catch (e) {
  405.                     console.log(e);
  406.                 }
  407.             });
  408.             // When Partenaire Arabic gets selected ...
  409.             var $partAr = $('#search_projet_ar_partenaire');
  410.             $partAr.change(function () {
  411.                 var $form = $(this).closest('form');
  412.                 var data = {};
  413.                 data[$partAr.attr('name')] = $partAr.val();
  414.                 let dt = $form.serializeArray().filter(item => {
  415.                     return (item.name !== 'projet[_token]')
  416.                 });
  417.                 try {
  418.                     $.ajax({
  419.                         url: $form.attr('action'),
  420.                         type: $form.attr('method'),
  421.                         data: dt,
  422.                         complete: function (html) {
  423.                             $('#search_projet_ar_programme').replaceWith(
  424.                                 $(html.responseText).find('#search_projet_ar_programme')
  425.                             );
  426.                             $('#search_projet_ar_programme').select2();
  427.                         }
  428.                     });
  429.                 } catch (e) {
  430.                     console.log(e);
  431.                 }
  432.             });
  433.             /**********Onclick Regional - Central*************/
  434.             $('#niveau-regional').click(function () {
  435.                 $('#niveau-gouv-commune').delay(250).fadeIn(0);
  436.                 $('#niveau-central-regional').delay(250).fadeOut(0);
  437.                 $('#niveau-central-detail').delay(250).fadeOut(0);
  438.                 $('#detail-carte-commune').delay(250).fadeOut(0);
  439.                 $('#detail-carte-gouvernorat').delay(250).fadeOut(0);
  440.             });
  441.             $('#niveau-central').click(function () {
  442.                 $('#niveau-central-detail').delay(250).fadeIn(0);
  443.                 $('#niveau-gouv-commune').delay(250).fadeOut(0);
  444.                 $('#niveau-central-regional').delay(250).fadeOut(0);
  445.                 $('#detail-carte-commune').delay(250).fadeOut(0);
  446.                 $('#detail-carte-gouvernorat').delay(250).fadeOut(0);
  447.             });
  448.             $('#detail-commune').click(function () {
  449.                 $('#detail-carte-commune').delay(250).fadeIn(0);
  450.                 $('#niveau-gouv-commune').delay(250).fadeOut(0);
  451.                 $('#niveau-central-regional').delay(250).fadeOut(0);
  452.                 $('#niveau-central-detail').delay(250).fadeOut(0);
  453.                 $('#detail-carte-gouvernorat').delay(250).fadeOut(0);
  454.             });
  455.             $('#detail-gouvernorat').click(function () {
  456.                 $('#detail-carte-gouvernorat').delay(250).fadeIn(0);
  457.                 $('#niveau-central-detail').delay(250).fadeOut(0);
  458.                 $('#niveau-gouv-commune').delay(250).fadeOut(0);
  459.                 $('#niveau-central-regional').delay(250).fadeOut(0);
  460.                 $('#detail-carte-commune').delay(250).fadeOut(0);
  461.             });
  462.             $('.retour-central-regional').click(function () {
  463.                 $('#niveau-central-regional').delay(250).fadeIn(0);
  464.                 $('#niveau-gouv-commune').delay(250).fadeOut(0);
  465.                 $('#niveau-central-detail').delay(250).fadeOut(0);
  466.                 $('#detail-carte-commune').delay(250).fadeOut(0);
  467.                 $('#detail-carte-gouvernorat').delay(250).fadeOut(0);
  468.             });
  469.         });
  470.     </script>
  471. {% endblock %}