1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140
|
$("#calendrier_supprimer").click(
function(){
//Un requête qui me renvoit un fichier html
$.ajax({
url:'/NouvelleInterface/dialoguedates.html',
async:false,
success:
function(data){
var Debut = '';
var Fin = '';
if(($('#date_du').val()!='')&&($('#date_au').val()!='')){
Debut = $('#date_du').val();
Fin = $('#date_au').val();
}
if((Debut!='')&&(Fin!='')){
//On stock le contenus html dans une div
$('#tmp_dial').html(data);
var hauteur = $(window).height()-150;
var longueur = $(window).width()-150;
$("#dial_dates").dialog('destroy');
$("#dial_dates").dialog({
title:'Sélection des dates',
autoOpen:false,
height:hauteur,
width:longueur,
modal:true,
buttons:{
"Valider":
function(){
},
"Annuler":
function(){
$(this).dialog('destroy');
}
},
close:
function(){
//ICI c'est le point critique à mon avis... C'est ici qu'on supprime les instances du calendrier
$('#intervalle_calendrier .fullcalendarCalendrier').each(
function(){
$(this).fullCalendar('destroy');
$(this).remove();
$(this).fullCalendar.remove;
$(this).fullCalendar = null;
}
);
$('#tmp_dial').html('');
$(this).dialog('destroy');
}
});
//On a instancié la popup
//On ouvre la popup
$("#dial_dates").dialog('open');
//On vide le tableau qui se trouve dans la DIV ou on a stocké le code HTML (donc dans $('#tmp_dial'))
$('#intervalle_calendrier').html('');
//ICI on va faire un calcul qui va nous permettre de récupérer le mois de l'intervalle des dates. On accèpte au maximum que une année d'intervalle.
var decoupeDeb = Debut.split('/');
var decoupeFin = Fin.split('/');
var MoisCourant = (decoupeDeb[1]-1);
var NomMois = '';
var annee = decoupeFin[2]-1;
var startboucle = (decoupeDeb[1]-1);
var finishboucle = (decoupeFin[1]-1);
var erreur = false;
if(decoupeDeb[2]!=decoupeFin[2]){
var minus = decoupeFin[2]-decoupeDeb[2];
if(minus>1){
erreur = true;
}else{
finishboucle = finishboucle+(startboucle+(12-startboucle));
}
}else{
if(finishboucle<startboucle){
finishboucle = startboucle+(12-startboucle)+1;
}
}
if(erreur==false){
var LigneMax = 0;
var LigneText = '';
var booleen = true;
//On boucle sur les X mois d'intervalle
for(var i=startboucle;i<=finishboucle;i++){
//Permet de récupérer le nom du mois
NomMois = NomMoisSelonDate(MoisCourant);
//Permet de repartir à 0 quand le mois courant arrive à 11 ET nous permet de passer à l'année suivante aussi.
if(MoisCourant>=11){
MoisCourant = 0;
}else{
if(MoisCourant==0){
annee++;
}
MoisCourant++;
}
//Il y a au maximum 4 calendriers par ligne
if(LigneMax<=3){
//On crée le contenus HTML du tableau
if((LigneMax==0)&&(booleen)){
LigneText = '<tr>\n';
booleen = false;
}
LigneText = LigneText+'<td><h3>'+NomMois+' '+annee+'</h3><div class="fullcalendarCalendrier" style="width:200px;"></div></td>';
}else{
LigneText = LigneText+'</tr>\n';
LigneText = LigneText+'<tr>\n';
LigneText = LigneText+'<td><h3>'+NomMois+' '+annee+'</h3><div class="fullcalendarCalendrier" style="width:200px;"></div></td>';
LigneMax = 0;
}
LigneMax++;
}
//On stock le contenus HTML dans le tableau
$('#intervalle_calendrier').append(LigneText);
//On instancie les différents calendrier
$('.fullcalendarCalendrier').fullCalendar({
allDaySlot:false,
theme:true,
height:0,
firstDay:1,
selectable:false,
editable:false,
defaultView:'month',
header:false,
dayClick:
function(date,allDay,jsEvent,view){
}
});
}
}
}
});
return false;
}
); |
Partager