180 lines
3.8 KiB
HTML
180 lines
3.8 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta charset='utf-8' />
|
|
<script src='../dist/index.global.js'></script>
|
|
<script>
|
|
|
|
/*
|
|
From https://github.com/fullcalendar/fullcalendar/issues/5026
|
|
*/
|
|
|
|
document.addEventListener('DOMContentLoaded', function() {
|
|
var calendarOptions = {
|
|
initialDate: '2023-01-12',
|
|
initialView: 'timeGridWeek',
|
|
nowIndicator: true,
|
|
headerToolbar: {
|
|
left: 'prev,next today',
|
|
center: 'title',
|
|
right: 'dayGridMonth,timeGridWeek,timeGridDay,listWeek'
|
|
},
|
|
navLinks: true, // can click day/week names to navigate views
|
|
editable: true,
|
|
selectable: true,
|
|
selectMirror: true,
|
|
dayMaxEvents: true, // allow "more" link when too many events
|
|
events: [
|
|
{
|
|
title: 'All Day Event',
|
|
start: '2023-01-01',
|
|
},
|
|
{
|
|
title: 'Long Event',
|
|
start: '2023-01-07',
|
|
end: '2023-01-10'
|
|
},
|
|
{
|
|
groupId: 999,
|
|
title: 'Repeating Event',
|
|
start: '2023-01-09T16:00:00'
|
|
},
|
|
{
|
|
groupId: 999,
|
|
title: 'Repeating Event',
|
|
start: '2023-01-16T16:00:00'
|
|
},
|
|
{
|
|
title: 'Conference',
|
|
start: '2023-01-11',
|
|
end: '2023-01-13'
|
|
},
|
|
{
|
|
title: 'Meeting',
|
|
start: '2023-01-12T10:30:00',
|
|
end: '2023-01-12T12:30:00'
|
|
},
|
|
{
|
|
title: 'Lunch',
|
|
start: '2023-01-12T12:00:00'
|
|
},
|
|
{
|
|
title: 'Meeting',
|
|
start: '2023-01-12T14:30:00'
|
|
},
|
|
{
|
|
title: 'Happy Hour',
|
|
start: '2023-01-12T17:30:00'
|
|
},
|
|
{
|
|
title: 'Dinner',
|
|
start: '2023-01-12T20:00:00'
|
|
},
|
|
{
|
|
title: 'Birthday Party',
|
|
start: '2023-01-13T07:00:00'
|
|
},
|
|
{
|
|
title: 'Click for Google',
|
|
url: 'http://google.com/',
|
|
start: '2023-01-28'
|
|
}
|
|
]
|
|
};
|
|
|
|
var calendar = new FullCalendar.Calendar(document.getElementById('calendar'), calendarOptions);
|
|
calendar.render();
|
|
|
|
var calendar2 = new FullCalendar.Calendar(document.getElementById('calendar2'), calendarOptions);
|
|
calendar2.render();
|
|
|
|
/*
|
|
Modal
|
|
*/
|
|
|
|
var modal = document.querySelector('.modal');
|
|
var modalTrigger = document.querySelector('.modal-trigger');
|
|
var modalOverlay = document.querySelector('.modal-overlay');
|
|
|
|
modalTrigger.addEventListener('click', function() {
|
|
modal.classList.add('is-visible');
|
|
calendar2.updateSize();
|
|
});
|
|
modalOverlay.addEventListener('click', function() {
|
|
modal.classList.remove('is-visible');
|
|
});
|
|
});
|
|
|
|
</script>
|
|
<style>
|
|
|
|
body {
|
|
margin: 10px;
|
|
padding: 0;
|
|
font-family: Arial, Helvetica Neue, Helvetica, sans-serif;
|
|
font-size: 14px;
|
|
}
|
|
|
|
#calendar {
|
|
max-width: 1100px;
|
|
margin: 0 auto;
|
|
}
|
|
|
|
.modal {
|
|
display: none;
|
|
position: absolute;
|
|
z-index: 10000;
|
|
top: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
}
|
|
|
|
.modal.is-visible {
|
|
display: block;
|
|
}
|
|
|
|
.modal-overlay {
|
|
position: fixed;
|
|
z-index: 10;
|
|
top: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
background: hsla(0, 0%, 0%, 0.5);
|
|
}
|
|
|
|
.modal-wrapper {
|
|
position: absolute;
|
|
z-index: 9999;
|
|
top: 6em;
|
|
left: 50%;
|
|
width: 600px;
|
|
margin-left: -16em;
|
|
background-color: #fff;
|
|
box-shadow: 0 0 1.5em hsla(0, 0%, 0%, 0.35);
|
|
}
|
|
|
|
.modal-content {
|
|
padding: 1em;
|
|
}
|
|
|
|
</style>
|
|
</head>
|
|
<body>
|
|
|
|
<button class='modal-trigger'>Show modal</button>
|
|
|
|
<div id='calendar'></div>
|
|
|
|
<div class='modal'>
|
|
<div class='modal-overlay'></div>
|
|
<div class='modal-wrapper'>
|
|
<div class='modal-content'>
|
|
<div id='calendar2'></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</body>
|
|
</html>
|