{% extends 'base_front.html.twig' %}
{% block title %} Accueil {% endblock %}
{% block stylesheets %}
{{ parent() }}
<link rel="stylesheet" href="{{ asset('front/css/maps/styles.css') }}">
<link rel="stylesheet" href="{{ asset('front/css/maps/icon.css') }}">
<link rel="stylesheet" href="{{ asset('front/css/maps/style.css') }}">
<link rel="stylesheet" type="text/css" href="{{ asset('app-assets/vendors/css/forms/select/select2.min.css') }}">
<link rel="stylesheet" type="text/css" href="{{ asset('app-assets/css/plugins/forms/form-wizard.css') }}">
{% endblock %}
{% block body %}
{% include('__front/maps.html.twig') %}
{% include('__front/search.html.twig') %}
{% include('__front/section.html.twig') %}
{% endblock %}
{% block javascripts %}
{{ parent() }}
<script src="{{ asset('front/js/chart.js') }}"></script>
<script src="{{ asset('front/js/chart-utils.js') }}"></script>
<script src="{{ asset('front/js/maps/jquery.vmap.js') }}"></script>
<script src="{{ asset('front/js/maps/jquery.vmap.tunisia.js') }}"></script>
<!-- BEGIN: Page Vendor JS-->
<script src="{{ asset('app-assets/vendors/js/forms/select/select2.full.min.js') }}"></script>
<script src="{{ asset('app-assets/js/scripts/forms/form-wizard.js') }}"></script>
<!-- END: Page JS-->
<script>
let NbrPartenaireLabel = JSON.parse('{{ stats['NbrPartenaire']['label'] | json_encode | raw }}');
let NbrPartenaireValeur = JSON.parse('{{ stats['NbrPartenaire']['valeur'] | json_encode | raw }}');
let SumPartenaireLabel = JSON.parse('{{ stats['SumPartenaire']['label'] | json_encode | raw }}');
let SumPartenaireValeur = JSON.parse('{{ stats['SumPartenaire']['valeur'] | json_encode | raw }}');
let StatusLabel = JSON.parse('{{ stats['Status']['label'] | json_encode | raw }}');
let StatusValeur = JSON.parse('{{ stats['Status']['valeur'] | json_encode | raw }}');
let SInterLabel = JSON.parse('{{ stats['SIntervention']['label'] | json_encode | raw }}');
let SInterValeur = JSON.parse('{{ stats['SIntervention']['valeur'] | json_encode | raw }}');
let chart1Colors = [window.chartColors.green_special, window.chartColors.red_special, window.chartColors.orange_spec, window.chartColors.blue_special, window.chartColors.pink_special];
let chart2Colors = [window.chartColors.red_special, window.chartColors.green_special, window.chartColors.orange_spec, window.chartColors.blue_special, window.chartColors.pink_special];
let chart3Colors = [window.chartColors.orange_spec, window.chartColors.pink_special, window.chartColors.green_special, window.chartColors.red_special, window.chartColors.blue_special];
let chart4Colors = [window.chartColors.blue_special, window.chartColors.red_special, window.chartColors.green_special, window.chartColors.orange_spec, window.chartColors.pink_special];
function drawChart(id, values, labels, colors = ["red", "grey"]) {
let ctx = document.getElementById(id).getContext("2d");
let config = {
type: 'pie',
data: {
datasets: [{
data: values,
backgroundColor: colors,
label: 'IPAPD'
}],
labels: labels
},
options: {
responsive: true,
plugins: {
legend: false // Hide legend
}
}
};
window.myPie = new Chart(ctx, config);
}
window.onload = function () {
drawChart('chart-0', NbrPartenaireValeur, NbrPartenaireLabel, chart1Colors);
drawChart('chart-1', SumPartenaireValeur, SumPartenaireLabel, chart2Colors);
drawChart('chart-2', StatusValeur, StatusLabel, chart3Colors);
drawChart('chart-3', SInterValeur, SInterLabel, chart4Colors);
};
jQuery(document).ready(function () {
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"];
let gov = $('.all_gouvs').data('gouvs');
let lang = "{{ app.request.locale }}";
if (lang == 'ar') {
jQuery(".select2").select2({
placeholder: "اختر المجال",
allowClear: true
});
}
else {
jQuery(".select2").select2({
placeholder: "Sélectionner un choix",
allowClear: true
});
}
/************Google Maps*************/
jQuery('#vmaps').vectorMap({
map: 'tunisia',
selectedRegions: all_region,
selectedRegions: 'tn-Tu',
multiSelectRegion: false,
enableZoom: false,
backgroundColor: '#616161;',
hoverColor: '#be0000',
selectedColor: '#be0000',
borderColor: '#000000',
color: '#f4f3f0',
borderWidth: 2,
onRegionClick: function (element, code, region) {
var countNb = 0;
jQuery.each(gov, function (key, value) {
if (value['code'] === code) {
if (value['communes'] !== "" && (value['communes'].length) > 0) {
jQuery('.regiongov').html("Région de " + key);
var communes = (value['communes']).sort();
jQuery.each(communes, function (key, value) {
countNb++;
});
}
}
});
var limitCol = countNb / 2;
if (limitCol < 10) limitCol = 10;
jQuery(".first-select-commune").empty();
jQuery(".second-select-commune").empty();
jQuery.each(gov, function (key, value) {
if (value['code'] === code) {
if (value['communes'] !== "" && (value['communes'].length) > 0) {
var communes = (value['communes'] ? value['communes'][0] : null).sort();
jQuery.each(communes, function (key, value) {
if (lang == 'ar') {
if (key < limitCol)
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 />');
else if (key >= limitCol)
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 />');
} else if (lang == 'fr') {
if (key < limitCol)
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 />');
else if (key >= limitCol)
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 />');
}
});
}
}
});
}
});
jQuery('#gmaps').vectorMap({
map: 'tunisia',
//selectedRegions: all_region,
selectedRegions: 'tn-Tu',
multiSelectRegion: false,
enableZoom: false,
backgroundColor: '#616161;',
hoverColor: '#be0000',
selectedColor: '#be0000',
borderColor: '#000000',
color: '#f4f3f0',
borderWidth: 2,
onRegionClick: function (element, code, region) {
//$('#exampleModalToggle').modal('toggle');
jQuery.ajax(
{
type: "GET",
dataType: "json",
url: '/api/projet/gov/' + code ?? 0,
success: function (response) {
$('#exampleModalToggle').modal('toggle');
$('.cmo-gouvernorat').show();
$('.cmo-municipalite').hide();
if (lang == 'ar') {
$('.namecom').text(response.commune_ar ? response.commune_ar : '');
$('.namegov').text(response.gouvernorat_ar ? response.gouvernorat_ar : '');
$('.indic-budget').text(response.totalBudgeTnd ? response.totalBudgeTnd + ' دينار' : 0);
$('.indic-projet').text(response.nbr_projets ? response.nbr_projets : 0);
$('.indic-municipalite').text(response.commune_ar ? response.commune_ar : '');
$('.indic-gouvernorat').text(response.gouvernorat_ar ? response.gouvernorat_ar : '');
if (response.status == true) {
drawChart('erreur_message_cmo', response.NbrPartenaire ? response.NbrPartenaire['valeur'] : 0, response.NbrPartenaire ? response.NbrPartenaire['label_ar'] : '', chart1Colors);
drawChart('erreur_message_cmo1', response.SumPartenaire ? response.SumPartenaire['valeur'] : 0, response.SumPartenaire ? response.SumPartenaire['label_ar'] : '', chart2Colors);
drawChart('erreur_message_cmo2', response.SInterProjet ? response.SInterProjet['valeur'] : 0, response.SInterProjet ? response.SInterProjet['label_ar'] : '', chart3Colors);
drawChart('erreur_message_cmo3', response.StatusProjet ? response.StatusProjet['valeur'] : 0, response.StatusProjet ? response.StatusProjet['label_ar'] : '', chart4Colors);
$('.section-charts-modal').show();
$('.plus-detail').show();
} else {
$('.plus-detail').hide();
$('.section-charts-modal').hide();
}
}
else if (lang == 'fr') {
$('.namecom').text(response.commune ? response.commune : '');
$('.namegov').text(response.gouvernorat ? response.gouvernorat : '');
$('.indic-budget').text(response.totalBudgeTnd ? response.totalBudgeTnd + ' TND' : 0);
$('.indic-projet').text(response.nbr_projets ? response.nbr_projets : 0);
$('.indic-municipalite').text(response.commune ? response.commune : '');
$('.indic-gouvernorat').text(response.gouvernorat ? response.gouvernorat : '');
if (response.status == true) {
drawChart('erreur_message_cmo', response.NbrPartenaire ? response.NbrPartenaire['valeur'] : 0, response.NbrPartenaire ? response.NbrPartenaire['label'] : '', chart1Colors);
drawChart('erreur_message_cmo1', response.SumPartenaire ? response.SumPartenaire['valeur'] : 0, response.SumPartenaire ? response.SumPartenaire['label'] : '', chart2Colors);
drawChart('erreur_message_cmo2', response.SInterProjet ? response.SInterProjet['valeur'] : 0, response.SInterProjet ? response.SInterProjet['label'] : '', chart3Colors);
drawChart('erreur_message_cmo3', response.StatusProjet ? response.StatusProjet['valeur'] : 0, response.StatusProjet ? response.StatusProjet['label'] : '', chart4Colors);
$('.section-charts-modal').show();
$('.plus-detail').show();
} else {
$('.plus-detail').hide();
$('.section-charts-modal').hide();
}
}
},
errors: function (response) {
console.log('errors');
console.log(response);
}
});
}
});
$('.modal-central').click(function () {
let typeProjet = jQuery(this).data('type');
jQuery.ajax(
{
type: "GET",
dataType: "json",
url: '/api/projet/type/' + typeProjet ?? 0,
success: function (response) {
$('#exampleModalToggle').modal('toggle');
$('.cmo-gouvernorat').hide();
$('.cmo-municipalite').hide();
if (lang == 'ar') {
$('.namecom').text(response.commune_ar ? response.commune_ar : '');
$('.namegov').text(response.gouvernorat_ar ? response.gouvernorat_ar : '');
$('.indic-budget').text(response.totalBudgeTnd ? response.totalBudgeTnd + ' دينار' : 0);
$('.indic-projet').text(response.nbr_projets ? response.nbr_projets : 0);
$('.indic-municipalite').text(response.commune_ar ? response.commune_ar : '');
$('.indic-gouvernorat').text(response.gouvernorat_ar ? response.gouvernorat_ar : '');
if (response.status == true) {
drawChart('erreur_message_cmo', response.NbrPartenaire ? response.NbrPartenaire['valeur'] : 0, response.NbrPartenaire ? response.NbrPartenaire['label_ar'] : '', chart1Colors);
drawChart('erreur_message_cmo1', response.SumPartenaire ? response.SumPartenaire['valeur'] : 0, response.SumPartenaire ? response.SumPartenaire['label_ar'] : '', chart2Colors);
drawChart('erreur_message_cmo2', response.SInterProjet ? response.SInterProjet['valeur'] : 0, response.SInterProjet ? response.SInterProjet['label_ar'] : '', chart3Colors);
drawChart('erreur_message_cmo3', response.StatusProjet ? response.StatusProjet['valeur'] : 0, response.StatusProjet ? response.StatusProjet['label_ar'] : '', chart4Colors);
$('.section-charts-modal').show();
$('.plus-detail').show();
} else {
$('.plus-detail').hide();
$('.section-charts-modal').hide();
}
}
else if (lang == 'fr') {
$('.namecom').text(response.commune ? response.commune : '');
$('.namegov').text(response.gouvernorat ? response.gouvernorat : '');
$('.indic-budget').text(response.totalBudgeTnd ? response.totalBudgeTnd + ' TND' : 0);
$('.indic-projet').text(response.nbr_projets ? response.nbr_projets : 0);
$('.indic-municipalite').text(response.commune ? response.commune : '');
$('.indic-gouvernorat').text(response.gouvernorat ? response.gouvernorat : '');
if (response.status == true) {
drawChart('erreur_message_cmo', response.NbrPartenaire ? response.NbrPartenaire['valeur'] : 0, response.NbrPartenaire ? response.NbrPartenaire['label'] : '', chart1Colors);
drawChart('erreur_message_cmo1', response.SumPartenaire ? response.SumPartenaire['valeur'] : 0, response.SumPartenaire ? response.SumPartenaire['label'] : '', chart2Colors);
drawChart('erreur_message_cmo2', response.SInterProjet ? response.SInterProjet['valeur'] : 0, response.SInterProjet ? response.SInterProjet['label'] : '', chart3Colors);
drawChart('erreur_message_cmo3', response.StatusProjet ? response.StatusProjet['valeur'] : 0, response.StatusProjet ? response.StatusProjet['label'] : '', chart4Colors);
$('.section-charts-modal').show();
$('.plus-detail').show();
} else {
$('.plus-detail').hide();
$('.section-charts-modal').hide();
}
}
},
errors: function (response) {
console.log('errors');
console.log(response);
}
});
});
/************OnClick Close Modal*************/
jQuery('.modal-content').on('click', '.btn-close', function () {
$('#exampleModalToggle').modal('toggle');
});
/************OnClick Open Modal*************/
jQuery('.maps').on('click', '.list-gov', function () {
let code_com = jQuery(this).data('id');
$('.namecom').empty();
$('.namegov').empty();
$('.indic-budget').empty();
$('.indic-municipalite').empty();
$('.indic-gouvernorat').empty();
//$('.plus-detail').empty();
$('#erreur_message_cmo').empty();
$('#erreur_message_cmo1').empty();
$('#erreur_message_cmo2').empty();
$('#erreur_message_cmo3').empty();
let path = "{{ path('mes_projets')|escape('js') }}";
$("#plus-detail-modal").attr("href", path);
jQuery.ajax(
{
type: "GET",
dataType: "json",
url: '/api/projet/' + code_com ?? 0,
success: function (response) {
$('#exampleModalToggle').modal('toggle');
$('.cmo-gouvernorat').show();
$('.cmo-municipalite').show();
if (lang == 'ar') {
$('.namecom').text(response.commune_ar ? response.commune_ar : '');
$('.namegov').text(response.gouvernorat_ar ? response.gouvernorat_ar : '');
$('.indic-budget').text(response.totalBudgeTnd ? response.totalBudgeTnd + ' دينار' : 0);
$('.indic-projet').text(response.nbr_projets ? response.nbr_projets : 0);
$('.indic-municipalite').text(response.commune_ar ? response.commune_ar : '');
$('.indic-gouvernorat').text(response.gouvernorat_ar ? response.gouvernorat_ar : '');
if (response.status == true) {
drawChart('erreur_message_cmo', response.NbrPartenaire ? response.NbrPartenaire['valeur'] : 0, response.NbrPartenaire ? response.NbrPartenaire['label_ar'] : '', chart1Colors);
drawChart('erreur_message_cmo1', response.SumPartenaire ? response.SumPartenaire['valeur'] : 0, response.SumPartenaire ? response.SumPartenaire['label_ar'] : '', chart2Colors);
drawChart('erreur_message_cmo2', response.SInterProjet ? response.SInterProjet['valeur'] : 0, response.SInterProjet ? response.SInterProjet['label_ar'] : '', chart3Colors);
drawChart('erreur_message_cmo3', response.StatusProjet ? response.StatusProjet['valeur'] : 0, response.StatusProjet ? response.StatusProjet['label_ar'] : '', chart4Colors);
$('.section-charts-modal').show();
$('.plus-detail').show();
} else {
$('.plus-detail').hide();
$('.section-charts-modal').hide();
}
}
else if (lang == 'fr') {
$('.namecom').text(response.commune ? response.commune : '');
$('.namegov').text(response.gouvernorat ? response.gouvernorat : '');
$('.indic-budget').text(response.totalBudgeTnd ? response.totalBudgeTnd + ' TND' : 0);
$('.indic-projet').text(response.nbr_projets ? response.nbr_projets : 0);
$('.indic-municipalite').text(response.commune ? response.commune : '');
$('.indic-gouvernorat').text(response.gouvernorat ? response.gouvernorat : '');
if (response.status == true) {
drawChart('erreur_message_cmo', response.NbrPartenaire ? response.NbrPartenaire['valeur'] : 0, response.NbrPartenaire ? response.NbrPartenaire['label'] : '', chart1Colors);
drawChart('erreur_message_cmo1', response.SumPartenaire ? response.SumPartenaire['valeur'] : 0, response.SumPartenaire ? response.SumPartenaire['label'] : '', chart2Colors);
drawChart('erreur_message_cmo2', response.SInterProjet ? response.SInterProjet['valeur'] : 0, response.SInterProjet ? response.SInterProjet['label'] : '', chart3Colors);
drawChart('erreur_message_cmo3', response.StatusProjet ? response.StatusProjet['valeur'] : 0, response.StatusProjet ? response.StatusProjet['label'] : '', chart4Colors);
$('.section-charts-modal').show();
$('.plus-detail').show();
} else {
$('.plus-detail').hide();
$('.section-charts-modal').hide();
}
}
},
errors: function (response) {
console.log('errors');
console.log(response);
}
});
});
/************When Gouvernorat gets selected **********/
var $gouv = $('#search_projet_gouvernorat');
$gouv.change(function () {
var $form = $(this).closest('form');
var data = {};
data[$gouv.attr('name')] = $gouv.val();
let dt = $form.serializeArray().filter(item => {
return (item.name !== 'projet[_token]')
});
try {
$.ajax({
url: $form.attr('action'),
type: $form.attr('method'),
data: dt,
complete: function (html) {
$('#search_projet_communes').replaceWith(
$(html.responseText).find('#search_projet_communes')
);
$('#search_projet_communes').select2();
}
});
} catch (e) {
console.log(e);
}
});
/************When Partenaire gets selected **********/
var $part = $('#search_projet_partenaire');
$part.change(function () {
var $form = $(this).closest('form');
var data = {};
data[$part.attr('name')] = $part.val();
let dt = $form.serializeArray().filter(item => {
return (item.name !== 'projet[_token]')
});
try {
$.ajax({
url: $form.attr('action'),
type: $form.attr('method'),
data: dt,
complete: function (html) {
$('#search_projet_programme').replaceWith(
$(html.responseText).find('#search_projet_programme')
);
$('#search_projet_programme').select2();
}
});
} catch (e) {
console.log(e);
}
});
/*******Arabic filtre******/
// When Gouvernorat Arabic gets selected ...
var $gouvAr = $('#search_projet_ar_gouvernorat');
$gouvAr.change(function () {
var $form = $(this).closest('form');
var data = {};
data[$gouvAr.attr('name')] = $gouvAr.val();
let dt = $form.serializeArray().filter(item => {
return (item.name !== 'projet[_token]')
});
try {
$.ajax({
url: $form.attr('action'),
type: $form.attr('method'),
data: dt,
complete: function (html) {
$('#search_projet_ar_communes').replaceWith(
$(html.responseText).find('#search_projet_ar_communes')
);
$('#search_projet_ar_communes').select2();
}
});
} catch (e) {
console.log(e);
}
});
// When Partenaire Arabic gets selected ...
var $partAr = $('#search_projet_ar_partenaire');
$partAr.change(function () {
var $form = $(this).closest('form');
var data = {};
data[$partAr.attr('name')] = $partAr.val();
let dt = $form.serializeArray().filter(item => {
return (item.name !== 'projet[_token]')
});
try {
$.ajax({
url: $form.attr('action'),
type: $form.attr('method'),
data: dt,
complete: function (html) {
$('#search_projet_ar_programme').replaceWith(
$(html.responseText).find('#search_projet_ar_programme')
);
$('#search_projet_ar_programme').select2();
}
});
} catch (e) {
console.log(e);
}
});
/**********Onclick Regional - Central*************/
$('#niveau-regional').click(function () {
$('#niveau-gouv-commune').delay(250).fadeIn(0);
$('#niveau-central-regional').delay(250).fadeOut(0);
$('#niveau-central-detail').delay(250).fadeOut(0);
$('#detail-carte-commune').delay(250).fadeOut(0);
$('#detail-carte-gouvernorat').delay(250).fadeOut(0);
});
$('#niveau-central').click(function () {
$('#niveau-central-detail').delay(250).fadeIn(0);
$('#niveau-gouv-commune').delay(250).fadeOut(0);
$('#niveau-central-regional').delay(250).fadeOut(0);
$('#detail-carte-commune').delay(250).fadeOut(0);
$('#detail-carte-gouvernorat').delay(250).fadeOut(0);
});
$('#detail-commune').click(function () {
$('#detail-carte-commune').delay(250).fadeIn(0);
$('#niveau-gouv-commune').delay(250).fadeOut(0);
$('#niveau-central-regional').delay(250).fadeOut(0);
$('#niveau-central-detail').delay(250).fadeOut(0);
$('#detail-carte-gouvernorat').delay(250).fadeOut(0);
});
$('#detail-gouvernorat').click(function () {
$('#detail-carte-gouvernorat').delay(250).fadeIn(0);
$('#niveau-central-detail').delay(250).fadeOut(0);
$('#niveau-gouv-commune').delay(250).fadeOut(0);
$('#niveau-central-regional').delay(250).fadeOut(0);
$('#detail-carte-commune').delay(250).fadeOut(0);
});
$('.retour-central-regional').click(function () {
$('#niveau-central-regional').delay(250).fadeIn(0);
$('#niveau-gouv-commune').delay(250).fadeOut(0);
$('#niveau-central-detail').delay(250).fadeOut(0);
$('#detail-carte-commune').delay(250).fadeOut(0);
$('#detail-carte-gouvernorat').delay(250).fadeOut(0);
});
});
</script>
{% endblock %}