Skip to content
Snippets Groups Projects
Commit 367aa23b authored by Laurent Lecluse's avatar Laurent Lecluse
Browse files

Ajout de date de début et de fin de saisie possible pour le calendar

parent 270ed768
No related branches found
No related tags found
No related merge requests found
Pipeline #20249 passed
......@@ -33,7 +33,7 @@
<component :is="event.component" :event="event"></component>
</div>
<div v-if="canAddEvent">
<div v-if="canAdd(jour)">
<button @click="addEvent" :data-jour="jour" class="btn btn-light btn-sm">
<u-icon name="plus"/>
Nouvel événement
......@@ -53,6 +53,8 @@ export default {
date: {type: Date, required: true},
events: {type: Array, required: true},
canAddEvent: {type: Boolean, required: true, default: true},
addDateDebut: {type: String, required: false},
addDateFin: {type: String, required: false},
},
data()
{
......@@ -135,6 +137,41 @@ export default {
return annees;
},
canAdd(numJour)
{
let dateDebut = this.addDateDebut;
if (undefined === dateDebut){
dateDebut = new Date('2000-01-01');
}else if ('now' === dateDebut){
dateDebut = new Date();
}else{
dateDebut = new Date(dateDebut);
}
let dateFin = this.addDateFin;
if (undefined === dateFin){
dateFin = new Date('2500-01-01');
}else if ('now' === dateFin){
dateFin = new Date();
}else{
dateFin = new Date(dateFin);
}
let date = new Date(this.date);
date.setDate(numJour);
dateDebut = this.isoDateOnly(dateDebut);
dateFin = this.isoDateOnly(dateFin);
date = this.isoDateOnly(date);
if (date < dateDebut) return false;
if (date > dateFin) return false;
return true;
},
addEvent(event)
{
const dateObj = new Date(this.date);
......@@ -175,6 +212,16 @@ export default {
}
return res;
},
isoDateOnly(dateObj)
{
const year = dateObj.getFullYear();
const month = String(dateObj.getMonth() + 1).padStart(2, '0');
const day = String(dateObj.getDate()).padStart(2, '0');
const formattedDate = `${year}-${month}-${day}`;
return formattedDate;
},
}
}
</script>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment