/******/ (function() { // webpackBootstrap
var __webpack_exports__ = {};
/*!***************************************************!*\
  !*** ./resources/js/pages/calendars-full.init.js ***!
  \***************************************************/
/*
Template Name: Skote - Admin & Dashboard Template
Author: Themesbrand
Website: https://themesbrand.com/
Contact: themesbrand@gmail.com
File: Apex Chart init js
*/
!function ($) {
  "use strict";

  var CalendarPage = function CalendarPage() {};

  CalendarPage.prototype.init = function () {
    var addEvent = $("#event-modal");
    var modalTitle = $("#modal-title");
    var formEvent = $("#form-event");
    var selectedEvent = null;
    var newEventData = null;
    var forms = document.getElementsByClassName('needs-validation');
    var selectedEvent = null;
    var newEventData = null;
    var eventObject = null;
    /* initialize the calendar */

    var date = new Date();
    var d = date.getDate();
    var m = date.getMonth();
    var y = date.getFullYear();
    var Draggable = FullCalendarInteraction.Draggable;
    var externalEventContainerEl = document.getElementById('external-events'); // init dragable

    new Draggable(externalEventContainerEl, {
      itemSelector: '.external-event',
      eventData: function eventData(eventEl) {
        return {
          title: eventEl.innerText,
          className: $(eventEl).data('class')
        };
      }
    });
    var defaultEvents = [{
      title: 'All Day Event',
      start: new Date(y, m, 1)
    }, {
      title: 'Long Event',
      start: new Date(y, m, d - 5),
      end: new Date(y, m, d - 2),
      className: 'bg-warning'
    }, {
      id: 999,
      title: 'Repeating Event',
      start: new Date(y, m, d - 3, 16, 0),
      allDay: false,
      className: 'bg-info'
    }, {
      id: 999,
      title: 'Repeating Event',
      start: new Date(y, m, d + 4, 16, 0),
      allDay: false,
      className: 'bg-primary'
    }, {
      title: 'Meeting',
      start: new Date(y, m, d, 10, 30),
      allDay: false,
      className: 'bg-success'
    }, {
      title: 'Lunch',
      start: new Date(y, m, d, 12, 0),
      end: new Date(y, m, d, 14, 0),
      allDay: false,
      className: 'bg-danger'
    }, {
      title: 'Birthday Party',
      start: new Date(y, m, d + 1, 19, 0),
      end: new Date(y, m, d + 1, 22, 30),
      allDay: false,
      className: 'bg-success'
    }, {
      title: 'Click for Google',
      start: new Date(y, m, 28),
      end: new Date(y, m, 29),
      url: 'http://google.com/',
      className: 'bg-dark'
    }];
    var draggableEl = document.getElementById('external-events');
    var calendarEl = document.getElementById('calendar');

    function addNewEvent(info) {
      addEvent.modal('show');
      formEvent.removeClass("was-validated");
      formEvent[0].reset();
      $("#event-title").val();
      $('#event-category').val();
      modalTitle.text('Add Event');
      newEventData = info;
    }

    var calendar = new FullCalendar.Calendar(calendarEl, {
      plugins: ['bootstrap', 'interaction', 'dayGrid', 'timeGrid'],
      editable: true,
      droppable: true,
      selectable: true,
      defaultView: 'dayGridMonth',
      themeSystem: 'bootstrap',
      header: {
        left: 'prev,next today',
        center: 'title',
        right: 'dayGridMonth,timeGridWeek,timeGridDay,listMonth'
      },
      eventClick: function eventClick(info) {
        addEvent.modal('show');
        formEvent[0].reset();
        selectedEvent = info.event;
        $("#event-title").val(selectedEvent.title);
        $('#event-category').val(selectedEvent.classNames[0]);
        newEventData = null;
        modalTitle.text('Edit Event');
        newEventData = null;
      },
      dateClick: function dateClick(info) {
        addNewEvent(info);
      },
      events: defaultEvents
    });
    calendar.render();
    /*Add new event*/
    // Form to add new event

    $(formEvent).on('submit', function (ev) {
      ev.preventDefault();
      var inputs = $('#form-event :input');
      var updatedTitle = $("#event-title").val();
      var updatedCategory = $('#event-category').val(); // validation

      if (forms[0].checkValidity() === false) {
        event.preventDefault();
        event.stopPropagation();
        forms[0].classList.add('was-validated');
      } else {
        if (selectedEvent) {
          selectedEvent.setProp("title", updatedTitle);
          selectedEvent.setProp("classNames", [updatedCategory]);
        } else {
          var newEvent = {
            title: updatedTitle,
            start: newEventData.date,
            allDay: newEventData.allDay,
            className: updatedCategory
          };
          calendar.addEvent(newEvent);
        }

        addEvent.modal('hide');
      }
    });
    $("#btn-delete-event").on('click', function (e) {
      if (selectedEvent) {
        selectedEvent.remove();
        selectedEvent = null;
        addEvent.modal('hide');
      }
    });
    $("#btn-new-event").on('click', function (e) {
      addNewEvent({
        date: new Date(),
        allDay: true
      });
    });
  }, //init
  $.CalendarPage = new CalendarPage(), $.CalendarPage.Constructor = CalendarPage;
}(window.jQuery), //initializing 
function ($) {
  "use strict";

  $.CalendarPage.init();
}(window.jQuery);
/******/ })()
;