|
|
|
@ -1,59 +1,81 @@ |
|
|
|
import * as $ from 'jquery'; |
|
|
|
import 'fullcalendar/dist/fullcalendar.min.js'; |
|
|
|
import 'fullcalendar/dist/fullcalendar.min.css'; |
|
|
|
import { Calendar } from '@fullcalendar/core'; |
|
|
|
import interactionPlugin from '@fullcalendar/interaction'; |
|
|
|
import dayGridPlugin from '@fullcalendar/daygrid'; |
|
|
|
import timeGridPlugin from '@fullcalendar/timegrid'; |
|
|
|
import listPlugin from '@fullcalendar/list'; |
|
|
|
|
|
|
|
export default (function () { |
|
|
|
const date = new Date(); |
|
|
|
const d = date.getDate(); |
|
|
|
const m = date.getMonth(); |
|
|
|
const y = date.getFullYear(); |
|
|
|
document.addEventListener('DOMContentLoaded', function() { |
|
|
|
var calendarEl = document.getElementById('calendar'); |
|
|
|
|
|
|
|
const events = [{ |
|
|
|
title : 'All Day Event', |
|
|
|
start : new Date(y, m, 1), |
|
|
|
desc : 'Meetings', |
|
|
|
bullet : 'success', |
|
|
|
}, { |
|
|
|
title : 'Long Event', |
|
|
|
start : new Date(y, m, d - 5), |
|
|
|
end : new Date(y, m, d - 2), |
|
|
|
desc : 'Hangouts', |
|
|
|
bullet : 'success', |
|
|
|
}, { |
|
|
|
title : 'Repeating Event', |
|
|
|
start : new Date(y, m, d - 3, 16, 0), |
|
|
|
allDay : false, |
|
|
|
desc : 'Product Checkup', |
|
|
|
bullet : 'warning', |
|
|
|
}, { |
|
|
|
title : 'Repeating Event', |
|
|
|
start : new Date(y, m, d + 4, 16, 0), |
|
|
|
allDay : false, |
|
|
|
desc : 'Conference', |
|
|
|
bullet : 'danger', |
|
|
|
}, { |
|
|
|
title : 'Birthday Party', |
|
|
|
start : new Date(y, m, d + 1, 19, 0), |
|
|
|
end : new Date(y, m, d + 1, 22, 30), |
|
|
|
allDay : false, |
|
|
|
desc : 'Gathering', |
|
|
|
}, { |
|
|
|
title : 'Click for Google', |
|
|
|
start : new Date(y, m, 28), |
|
|
|
end : new Date(y, m, 29), |
|
|
|
url : 'http ://google.com/', |
|
|
|
desc : 'Google', |
|
|
|
bullet : 'success', |
|
|
|
}]; |
|
|
|
|
|
|
|
$('#full-calendar').fullCalendar({ |
|
|
|
events, |
|
|
|
height : 800, |
|
|
|
editable : true, |
|
|
|
header: { |
|
|
|
left : 'month,agendaWeek,agendaDay', |
|
|
|
center : 'title', |
|
|
|
right : 'today prev,next', |
|
|
|
var calendar = new Calendar(calendarEl, { |
|
|
|
plugins: [ interactionPlugin, dayGridPlugin, timeGridPlugin, listPlugin ], |
|
|
|
headerToolbar: { |
|
|
|
left: 'prev,next today', |
|
|
|
center: 'title', |
|
|
|
right: 'dayGridMonth,timeGridWeek,timeGridDay,listWeek' |
|
|
|
}, |
|
|
|
initialDate: '2018-01-12', |
|
|
|
navLinks: true, // can click day/week names to navigate views
|
|
|
|
editable: true, |
|
|
|
dayMaxEvents: true, // allow "more" link when too many events
|
|
|
|
events: [ |
|
|
|
{ |
|
|
|
title: 'All Day Event', |
|
|
|
start: '2018-01-01', |
|
|
|
}, |
|
|
|
{ |
|
|
|
title: 'Long Event', |
|
|
|
start: '2018-01-07', |
|
|
|
end: '2018-01-10' |
|
|
|
}, |
|
|
|
{ |
|
|
|
groupId: 999, |
|
|
|
title: 'Repeating Event', |
|
|
|
start: '2018-01-09T16:00:00' |
|
|
|
}, |
|
|
|
{ |
|
|
|
groupId: 999, |
|
|
|
title: 'Repeating Event', |
|
|
|
start: '2018-01-16T16:00:00' |
|
|
|
}, |
|
|
|
{ |
|
|
|
title: 'Conference', |
|
|
|
start: '2018-01-11', |
|
|
|
end: '2018-01-13' |
|
|
|
}, |
|
|
|
{ |
|
|
|
title: 'Meeting', |
|
|
|
start: '2018-01-12T10:30:00', |
|
|
|
end: '2018-01-12T12:30:00' |
|
|
|
}, |
|
|
|
{ |
|
|
|
title: 'Lunch', |
|
|
|
start: '2018-01-12T12:00:00' |
|
|
|
}, |
|
|
|
{ |
|
|
|
title: 'Meeting', |
|
|
|
start: '2018-01-12T14:30:00' |
|
|
|
}, |
|
|
|
{ |
|
|
|
title: 'Happy Hour', |
|
|
|
start: '2018-01-12T17:30:00' |
|
|
|
}, |
|
|
|
{ |
|
|
|
title: 'Dinner', |
|
|
|
start: '2018-01-12T20:00:00' |
|
|
|
}, |
|
|
|
{ |
|
|
|
title: 'Birthday Party', |
|
|
|
start: '2018-01-13T07:00:00' |
|
|
|
}, |
|
|
|
{ |
|
|
|
title: 'Click for Google', |
|
|
|
url: 'http://google.com/', |
|
|
|
start: '2018-01-28' |
|
|
|
} |
|
|
|
] |
|
|
|
}); |
|
|
|
}()) |
|
|
|
|
|
|
|
calendar.render(); |
|
|
|
}); |