dikplhd/public/assets/js/pages/apps-calendar.min.js

1 line
2.4 KiB
JavaScript

class Calendar{constructor(){this.body=document.body,this.calendar=document.getElementById("calendar"),this.formEvent=document.getElementById("forms-event"),this.btnNewEvent=document.getElementById("btn-new-event"),this.btnDeleteEvent=document.getElementById("btn-delete-event"),this.btnSaveEvent=document.getElementById("btn-save-event"),this.calendarObj=null,this.selectedEvent=null,this.newEventData=null}onEventClick(e){this.formEvent?.reset(),this.formEvent.classList.remove("was-validated"),this.newEventData=null,this.btnDeleteEvent.style.display="block",this.selectedEvent=e.event,document.getElementById("event-title").value=this.selectedEvent.title,document.getElementById("event-category").value=this.selectedEvent.classNames[0]}init(){var e=new Date;const t=this;var n=document.getElementById("external-events"),n=(new FullCalendar.Draggable(n,{itemSelector:".external-event",eventData:function(e){return{title:e.innerText,classNames:e.getAttribute("data-class")}}}),[{title:"Interview - Backend Engineer",start:e,end:e,className:"bg-primary"},{title:"Meeting with CT Team",start:new Date(Date.now()+13e6),end:e,className:"bg-warning"},{title:"Meeting with Mr. Shield",start:new Date(Date.now()+308e6),end:new Date(Date.now()+338e6),className:"bg-info"},{title:"Interview - Frontend Engineer",start:new Date(Date.now()+6057e4),end:new Date(Date.now()+153e6),className:"bg-secondary"},{title:"Phone Screen - Frontend Engineer",start:new Date(Date.now()+168e6),className:"bg-success"},{title:"Buy Design Assets",start:new Date(Date.now()+33e7),end:new Date(Date.now()+3308e5),className:"bg-primary"},{title:"Setup Github Repository",start:new Date(Date.now()+1008e6),end:new Date(Date.now()+1108e6),className:"bg-danger"},{title:"Meeting with Mr. Shreyu",start:new Date(Date.now()+2508e6),end:new Date(Date.now()+2508e6),className:"bg-dark"}]);t.calendarObj=new FullCalendar.Calendar(t.calendar,{plugins:[],slotDuration:"00:30:00",slotMinTime:"07:00:00",slotMaxTime:"19:00:00",themeSystem:"default",buttonText:{today:"Today",month:"Month",week:"Week",day:"Day",list:"List",prev:"Prev",next:"Next"},initialView:"dayGridMonth",handleWindowResize:!0,height:window.innerHeight-285,headerToolbar:{left:"prev,next today",center:"title",right:"dayGridMonth,timeGridWeek,timeGridDay,listMonth"},initialEvents:n,editable:!0,droppable:!0,selectable:!0,eventClick:function(e){t.onEventClick(e)}}),t.calendarObj.render()}}document.addEventListener("DOMContentLoaded",function(e){(new Calendar).init()});