Loading components/UCalendar.vue +48 −1 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -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() { Loading Loading @@ -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); Loading Loading @@ -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> Loading Loading
components/UCalendar.vue +48 −1 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -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() { Loading Loading @@ -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); Loading Loading @@ -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> Loading