diff options
Diffstat (limited to 'public/js/fullcalendar/examples')
-rw-r--r-- | public/js/fullcalendar/examples/background-events.html | 101 | ||||
-rw-r--r-- | public/js/fullcalendar/examples/daygrid-views.html | 104 | ||||
-rw-r--r-- | public/js/fullcalendar/examples/external-dragging-2cals.html | 69 | ||||
-rw-r--r-- | public/js/fullcalendar/examples/external-dragging-builtin.html | 149 | ||||
-rw-r--r-- | public/js/fullcalendar/examples/full-height.html | 125 | ||||
-rw-r--r-- | public/js/fullcalendar/examples/list-sticky-header.html | 76 | ||||
-rw-r--r-- | public/js/fullcalendar/examples/list-views.html | 114 | ||||
-rw-r--r-- | public/js/fullcalendar/examples/month-view.html | 100 | ||||
-rw-r--r-- | public/js/fullcalendar/examples/multimonth-view.html | 110 | ||||
-rw-r--r-- | public/js/fullcalendar/examples/multiweek-view.html | 107 | ||||
-rw-r--r-- | public/js/fullcalendar/examples/natural-height.html | 108 | ||||
-rw-r--r-- | public/js/fullcalendar/examples/selectable.html | 123 | ||||
-rw-r--r-- | public/js/fullcalendar/examples/timegrid-views-modal.html | 180 | ||||
-rw-r--r-- | public/js/fullcalendar/examples/timegrid-views.html | 108 |
14 files changed, 1574 insertions, 0 deletions
diff --git a/public/js/fullcalendar/examples/background-events.html b/public/js/fullcalendar/examples/background-events.html new file mode 100644 index 0000000..911e0b3 --- /dev/null +++ b/public/js/fullcalendar/examples/background-events.html | |||
@@ -0,0 +1,101 @@ | |||
1 | <!DOCTYPE html> | ||
2 | <html> | ||
3 | <head> | ||
4 | <meta charset='utf-8' /> | ||
5 | <script src='../dist/index.global.js'></script> | ||
6 | <script> | ||
7 | |||
8 | document.addEventListener('DOMContentLoaded', function() { | ||
9 | var calendarEl = document.getElementById('calendar'); | ||
10 | |||
11 | var calendar = new FullCalendar.Calendar(calendarEl, { | ||
12 | headerToolbar: { | ||
13 | left: 'prev,next today', | ||
14 | center: 'title', | ||
15 | right: 'dayGridMonth,timeGridWeek,timeGridDay,listMonth' | ||
16 | }, | ||
17 | initialDate: '2023-01-12', | ||
18 | navLinks: true, // can click day/week names to navigate views | ||
19 | businessHours: true, // display business hours | ||
20 | editable: true, | ||
21 | selectable: true, | ||
22 | events: [ | ||
23 | { | ||
24 | title: 'Business Lunch', | ||
25 | start: '2023-01-03T13:00:00', | ||
26 | constraint: 'businessHours' | ||
27 | }, | ||
28 | { | ||
29 | title: 'Meeting', | ||
30 | start: '2023-01-13T11:00:00', | ||
31 | constraint: 'availableForMeeting', // defined below | ||
32 | color: '#257e4a' | ||
33 | }, | ||
34 | { | ||
35 | title: 'Conference', | ||
36 | start: '2023-01-18', | ||
37 | end: '2023-01-20' | ||
38 | }, | ||
39 | { | ||
40 | title: 'Party', | ||
41 | start: '2023-01-29T20:00:00' | ||
42 | }, | ||
43 | |||
44 | // areas where "Meeting" must be dropped | ||
45 | { | ||
46 | groupId: 'availableForMeeting', | ||
47 | start: '2023-01-11T10:00:00', | ||
48 | end: '2023-01-11T16:00:00', | ||
49 | display: 'background' | ||
50 | }, | ||
51 | { | ||
52 | groupId: 'availableForMeeting', | ||
53 | start: '2023-01-13T10:00:00', | ||
54 | end: '2023-01-13T16:00:00', | ||
55 | display: 'background' | ||
56 | }, | ||
57 | |||
58 | // red areas where no events can be dropped | ||
59 | { | ||
60 | start: '2023-01-24', | ||
61 | end: '2023-01-28', | ||
62 | overlap: false, | ||
63 | display: 'background', | ||
64 | color: '#ff9f89' | ||
65 | }, | ||
66 | { | ||
67 | start: '2023-01-06', | ||
68 | end: '2023-01-08', | ||
69 | overlap: false, | ||
70 | display: 'background', | ||
71 | color: '#ff9f89' | ||
72 | } | ||
73 | ] | ||
74 | }); | ||
75 | |||
76 | calendar.render(); | ||
77 | }); | ||
78 | |||
79 | </script> | ||
80 | <style> | ||
81 | |||
82 | body { | ||
83 | margin: 40px 10px; | ||
84 | padding: 0; | ||
85 | font-family: Arial, Helvetica Neue, Helvetica, sans-serif; | ||
86 | font-size: 14px; | ||
87 | } | ||
88 | |||
89 | #calendar { | ||
90 | max-width: 1100px; | ||
91 | margin: 0 auto; | ||
92 | } | ||
93 | |||
94 | </style> | ||
95 | </head> | ||
96 | <body> | ||
97 | |||
98 | <div id='calendar'></div> | ||
99 | |||
100 | </body> | ||
101 | </html> | ||
diff --git a/public/js/fullcalendar/examples/daygrid-views.html b/public/js/fullcalendar/examples/daygrid-views.html new file mode 100644 index 0000000..9dafe43 --- /dev/null +++ b/public/js/fullcalendar/examples/daygrid-views.html | |||
@@ -0,0 +1,104 @@ | |||
1 | <!DOCTYPE html> | ||
2 | <html> | ||
3 | <head> | ||
4 | <meta charset='utf-8' /> | ||
5 | <script src='../dist/index.global.js'></script> | ||
6 | <script> | ||
7 | |||
8 | document.addEventListener('DOMContentLoaded', function() { | ||
9 | var calendarEl = document.getElementById('calendar'); | ||
10 | |||
11 | var calendar = new FullCalendar.Calendar(calendarEl, { | ||
12 | headerToolbar: { | ||
13 | left: 'prevYear,prev,next,nextYear today', | ||
14 | center: 'title', | ||
15 | right: 'dayGridMonth,dayGridWeek,dayGridDay' | ||
16 | }, | ||
17 | initialDate: '2023-01-12', | ||
18 | navLinks: true, // can click day/week names to navigate views | ||
19 | editable: true, | ||
20 | dayMaxEvents: true, // allow "more" link when too many events | ||
21 | events: [ | ||
22 | { | ||
23 | title: 'All Day Event', | ||
24 | start: '2023-01-01' | ||
25 | }, | ||
26 | { | ||
27 | title: 'Long Event', | ||
28 | start: '2023-01-07', | ||
29 | end: '2023-01-10' | ||
30 | }, | ||
31 | { | ||
32 | groupId: 999, | ||
33 | title: 'Repeating Event', | ||
34 | start: '2023-01-09T16:00:00' | ||
35 | }, | ||
36 | { | ||
37 | groupId: 999, | ||
38 | title: 'Repeating Event', | ||
39 | start: '2023-01-16T16:00:00' | ||
40 | }, | ||
41 | { | ||
42 | title: 'Conference', | ||
43 | start: '2023-01-11', | ||
44 | end: '2023-01-13' | ||
45 | }, | ||
46 | { | ||
47 | title: 'Meeting', | ||
48 | start: '2023-01-12T10:30:00', | ||
49 | end: '2023-01-12T12:30:00' | ||
50 | }, | ||
51 | { | ||
52 | title: 'Lunch', | ||
53 | start: '2023-01-12T12:00:00' | ||
54 | }, | ||
55 | { | ||
56 | title: 'Meeting', | ||
57 | start: '2023-01-12T14:30:00' | ||
58 | }, | ||
59 | { | ||
60 | title: 'Happy Hour', | ||
61 | start: '2023-01-12T17:30:00' | ||
62 | }, | ||
63 | { | ||
64 | title: 'Dinner', | ||
65 | start: '2023-01-12T20:00:00' | ||
66 | }, | ||
67 | { | ||
68 | title: 'Birthday Party', | ||
69 | start: '2023-01-13T07:00:00' | ||
70 | }, | ||
71 | { | ||
72 | title: 'Click for Google', | ||
73 | url: 'http://google.com/', | ||
74 | start: '2023-01-28' | ||
75 | } | ||
76 | ] | ||
77 | }); | ||
78 | |||
79 | calendar.render(); | ||
80 | }); | ||
81 | |||
82 | </script> | ||
83 | <style> | ||
84 | |||
85 | body { | ||
86 | margin: 40px 10px; | ||
87 | padding: 0; | ||
88 | font-family: Arial, Helvetica Neue, Helvetica, sans-serif; | ||
89 | font-size: 14px; | ||
90 | } | ||
91 | |||
92 | #calendar { | ||
93 | max-width: 1100px; | ||
94 | margin: 0 auto; | ||
95 | } | ||
96 | |||
97 | </style> | ||
98 | </head> | ||
99 | <body> | ||
100 | |||
101 | <div id='calendar'></div> | ||
102 | |||
103 | </body> | ||
104 | </html> | ||
diff --git a/public/js/fullcalendar/examples/external-dragging-2cals.html b/public/js/fullcalendar/examples/external-dragging-2cals.html new file mode 100644 index 0000000..066685d --- /dev/null +++ b/public/js/fullcalendar/examples/external-dragging-2cals.html | |||
@@ -0,0 +1,69 @@ | |||
1 | <!DOCTYPE html> | ||
2 | <html> | ||
3 | <head> | ||
4 | <meta charset='utf-8' /> | ||
5 | <script src='../dist/index.global.js'></script> | ||
6 | <script> | ||
7 | |||
8 | document.addEventListener('DOMContentLoaded', function() { | ||
9 | var srcCalendarEl = document.getElementById('source-calendar'); | ||
10 | var destCalendarEl = document.getElementById('destination-calendar'); | ||
11 | |||
12 | var srcCalendar = new FullCalendar.Calendar(srcCalendarEl, { | ||
13 | editable: true, | ||
14 | initialDate: '2023-01-12', | ||
15 | events: [ | ||
16 | { | ||
17 | title: 'event1', | ||
18 | start: '2023-01-11T10:00:00', | ||
19 | end: '2023-01-11T16:00:00' | ||
20 | }, | ||
21 | { | ||
22 | title: 'event2', | ||
23 | start: '2023-01-13T10:00:00', | ||
24 | end: '2023-01-13T16:00:00' | ||
25 | } | ||
26 | ], | ||
27 | eventLeave: function(info) { | ||
28 | console.log('event left!', info.event); | ||
29 | } | ||
30 | }); | ||
31 | |||
32 | var destCalendar = new FullCalendar.Calendar(destCalendarEl, { | ||
33 | initialDate: '2023-01-12', | ||
34 | editable: true, | ||
35 | droppable: true, // will let it receive events! | ||
36 | eventReceive: function(info) { | ||
37 | console.log('event received!', info.event); | ||
38 | } | ||
39 | }); | ||
40 | |||
41 | srcCalendar.render(); | ||
42 | destCalendar.render(); | ||
43 | }); | ||
44 | |||
45 | </script> | ||
46 | <style> | ||
47 | |||
48 | body { | ||
49 | margin: 20px 0 0 20px; | ||
50 | font-size: 14px; | ||
51 | font-family: Arial, Helvetica Neue, Helvetica, sans-serif; | ||
52 | } | ||
53 | |||
54 | #source-calendar, | ||
55 | #destination-calendar { | ||
56 | float: left; | ||
57 | width: 600px; | ||
58 | margin: 0 20px 20px 0; | ||
59 | } | ||
60 | |||
61 | </style> | ||
62 | </head> | ||
63 | <body> | ||
64 | |||
65 | <div id='source-calendar'></div> | ||
66 | <div id='destination-calendar'></div> | ||
67 | |||
68 | </body> | ||
69 | </html> | ||
diff --git a/public/js/fullcalendar/examples/external-dragging-builtin.html b/public/js/fullcalendar/examples/external-dragging-builtin.html new file mode 100644 index 0000000..78fcd89 --- /dev/null +++ b/public/js/fullcalendar/examples/external-dragging-builtin.html | |||
@@ -0,0 +1,149 @@ | |||
1 | <!DOCTYPE html> | ||
2 | <html> | ||
3 | <head> | ||
4 | <meta charset='utf-8' /> | ||
5 | <script src='../dist/index.global.js'></script> | ||
6 | <script> | ||
7 | |||
8 | document.addEventListener('DOMContentLoaded', function() { | ||
9 | |||
10 | /* initialize the external events | ||
11 | -----------------------------------------------------------------*/ | ||
12 | |||
13 | var containerEl = document.getElementById('external-events-list'); | ||
14 | new FullCalendar.Draggable(containerEl, { | ||
15 | itemSelector: '.fc-event', | ||
16 | eventData: function(eventEl) { | ||
17 | return { | ||
18 | title: eventEl.innerText.trim() | ||
19 | } | ||
20 | } | ||
21 | }); | ||
22 | |||
23 | //// the individual way to do it | ||
24 | // var containerEl = document.getElementById('external-events-list'); | ||
25 | // var eventEls = Array.prototype.slice.call( | ||
26 | // containerEl.querySelectorAll('.fc-event') | ||
27 | // ); | ||
28 | // eventEls.forEach(function(eventEl) { | ||
29 | // new FullCalendar.Draggable(eventEl, { | ||
30 | // eventData: { | ||
31 | // title: eventEl.innerText.trim(), | ||
32 | // } | ||
33 | // }); | ||
34 | // }); | ||
35 | |||
36 | /* initialize the calendar | ||
37 | -----------------------------------------------------------------*/ | ||
38 | |||
39 | var calendarEl = document.getElementById('calendar'); | ||
40 | var calendar = new FullCalendar.Calendar(calendarEl, { | ||
41 | headerToolbar: { | ||
42 | left: 'prev,next today', | ||
43 | center: 'title', | ||
44 | right: 'dayGridMonth,timeGridWeek,timeGridDay,listWeek' | ||
45 | }, | ||
46 | editable: true, | ||
47 | droppable: true, // this allows things to be dropped onto the calendar | ||
48 | drop: function(arg) { | ||
49 | // is the "remove after drop" checkbox checked? | ||
50 | if (document.getElementById('drop-remove').checked) { | ||
51 | // if so, remove the element from the "Draggable Events" list | ||
52 | arg.draggedEl.parentNode.removeChild(arg.draggedEl); | ||
53 | } | ||
54 | } | ||
55 | }); | ||
56 | calendar.render(); | ||
57 | |||
58 | }); | ||
59 | |||
60 | </script> | ||
61 | <style> | ||
62 | |||
63 | body { | ||
64 | margin-top: 40px; | ||
65 | font-size: 14px; | ||
66 | font-family: Arial, Helvetica Neue, Helvetica, sans-serif; | ||
67 | } | ||
68 | |||
69 | #external-events { | ||
70 | position: fixed; | ||
71 | left: 20px; | ||
72 | top: 20px; | ||
73 | width: 150px; | ||
74 | padding: 0 10px; | ||
75 | border: 1px solid #ccc; | ||
76 | background: #eee; | ||
77 | text-align: left; | ||
78 | } | ||
79 | |||
80 | #external-events h4 { | ||
81 | font-size: 16px; | ||
82 | margin-top: 0; | ||
83 | padding-top: 1em; | ||
84 | } | ||
85 | |||
86 | #external-events .fc-event { | ||
87 | margin: 3px 0; | ||
88 | cursor: move; | ||
89 | } | ||
90 | |||
91 | #external-events p { | ||
92 | margin: 1.5em 0; | ||
93 | font-size: 11px; | ||
94 | color: #666; | ||
95 | } | ||
96 | |||
97 | #external-events p input { | ||
98 | margin: 0; | ||
99 | vertical-align: middle; | ||
100 | } | ||
101 | |||
102 | #calendar-wrap { | ||
103 | margin-left: 200px; | ||
104 | } | ||
105 | |||
106 | #calendar { | ||
107 | max-width: 1100px; | ||
108 | margin: 0 auto; | ||
109 | } | ||
110 | |||
111 | </style> | ||
112 | </head> | ||
113 | <body> | ||
114 | <div id='wrap'> | ||
115 | |||
116 | <div id='external-events'> | ||
117 | <h4>Draggable Events</h4> | ||
118 | |||
119 | <div id='external-events-list'> | ||
120 | <div class='fc-event fc-h-event fc-daygrid-event fc-daygrid-block-event'> | ||
121 | <div class='fc-event-main'>My Event 1</div> | ||
122 | </div> | ||
123 | <div class='fc-event fc-h-event fc-daygrid-event fc-daygrid-block-event'> | ||
124 | <div class='fc-event-main'>My Event 2</div> | ||
125 | </div> | ||
126 | <div class='fc-event fc-h-event fc-daygrid-event fc-daygrid-block-event'> | ||
127 | <div class='fc-event-main'>My Event 3</div> | ||
128 | </div> | ||
129 | <div class='fc-event fc-h-event fc-daygrid-event fc-daygrid-block-event'> | ||
130 | <div class='fc-event-main'>My Event 4</div> | ||
131 | </div> | ||
132 | <div class='fc-event fc-h-event fc-daygrid-event fc-daygrid-block-event'> | ||
133 | <div class='fc-event-main'>My Event 5</div> | ||
134 | </div> | ||
135 | </div> | ||
136 | |||
137 | <p> | ||
138 | <input type='checkbox' id='drop-remove' /> | ||
139 | <label for='drop-remove'>remove after drop</label> | ||
140 | </p> | ||
141 | </div> | ||
142 | |||
143 | <div id='calendar-wrap'> | ||
144 | <div id='calendar'></div> | ||
145 | </div> | ||
146 | |||
147 | </div> | ||
148 | </body> | ||
149 | </html> | ||
diff --git a/public/js/fullcalendar/examples/full-height.html b/public/js/fullcalendar/examples/full-height.html new file mode 100644 index 0000000..18b55f8 --- /dev/null +++ b/public/js/fullcalendar/examples/full-height.html | |||
@@ -0,0 +1,125 @@ | |||
1 | <!DOCTYPE html> | ||
2 | <html> | ||
3 | <head> | ||
4 | <meta charset='utf-8' /> | ||
5 | <script src='../dist/index.global.js'></script> | ||
6 | <script> | ||
7 | |||
8 | document.addEventListener('DOMContentLoaded', function() { | ||
9 | var calendarEl = document.getElementById('calendar'); | ||
10 | |||
11 | var calendar = new FullCalendar.Calendar(calendarEl, { | ||
12 | height: '100%', | ||
13 | expandRows: true, | ||
14 | slotMinTime: '08:00', | ||
15 | slotMaxTime: '20:00', | ||
16 | headerToolbar: { | ||
17 | left: 'prev,next today', | ||
18 | center: 'title', | ||
19 | right: 'dayGridMonth,timeGridWeek,timeGridDay,listWeek' | ||
20 | }, | ||
21 | initialView: 'dayGridMonth', | ||
22 | initialDate: '2023-01-12', | ||
23 | navLinks: true, // can click day/week names to navigate views | ||
24 | editable: true, | ||
25 | selectable: true, | ||
26 | nowIndicator: true, | ||
27 | dayMaxEvents: true, // allow "more" link when too many events | ||
28 | events: [ | ||
29 | { | ||
30 | title: 'All Day Event', | ||
31 | start: '2023-01-01', | ||
32 | }, | ||
33 | { | ||
34 | title: 'Long Event', | ||
35 | start: '2023-01-07', | ||
36 | end: '2023-01-10' | ||
37 | }, | ||
38 | { | ||
39 | groupId: 999, | ||
40 | title: 'Repeating Event', | ||
41 | start: '2023-01-09T16:00:00' | ||
42 | }, | ||
43 | { | ||
44 | groupId: 999, | ||
45 | title: 'Repeating Event', | ||
46 | start: '2023-01-16T16:00:00' | ||
47 | }, | ||
48 | { | ||
49 | title: 'Conference', | ||
50 | start: '2023-01-11', | ||
51 | end: '2023-01-13' | ||
52 | }, | ||
53 | { | ||
54 | title: 'Meeting', | ||
55 | start: '2023-01-12T10:30:00', | ||
56 | end: '2023-01-12T12:30:00' | ||
57 | }, | ||
58 | { | ||
59 | title: 'Lunch', | ||
60 | start: '2023-01-12T12:00:00' | ||
61 | }, | ||
62 | { | ||
63 | title: 'Meeting', | ||
64 | start: '2023-01-12T14:30:00' | ||
65 | }, | ||
66 | { | ||
67 | title: 'Happy Hour', | ||
68 | start: '2023-01-12T17:30:00' | ||
69 | }, | ||
70 | { | ||
71 | title: 'Dinner', | ||
72 | start: '2023-01-12T20:00:00' | ||
73 | }, | ||
74 | { | ||
75 | title: 'Birthday Party', | ||
76 | start: '2023-01-13T07:00:00' | ||
77 | }, | ||
78 | { | ||
79 | title: 'Click for Google', | ||
80 | url: 'http://google.com/', | ||
81 | start: '2023-01-28' | ||
82 | } | ||
83 | ] | ||
84 | }); | ||
85 | |||
86 | calendar.render(); | ||
87 | }); | ||
88 | |||
89 | </script> | ||
90 | <style> | ||
91 | |||
92 | html, body { | ||
93 | overflow: hidden; /* don't do scrollbars */ | ||
94 | font-family: Arial, Helvetica Neue, Helvetica, sans-serif; | ||
95 | font-size: 14px; | ||
96 | } | ||
97 | |||
98 | #calendar-container { | ||
99 | position: fixed; | ||
100 | top: 0; | ||
101 | left: 0; | ||
102 | right: 0; | ||
103 | bottom: 0; | ||
104 | } | ||
105 | |||
106 | .fc-header-toolbar { | ||
107 | /* | ||
108 | the calendar will be butting up against the edges, | ||
109 | but let's scoot in the header's buttons | ||
110 | */ | ||
111 | padding-top: 1em; | ||
112 | padding-left: 1em; | ||
113 | padding-right: 1em; | ||
114 | } | ||
115 | |||
116 | </style> | ||
117 | </head> | ||
118 | <body> | ||
119 | |||
120 | <div id='calendar-container'> | ||
121 | <div id='calendar'></div> | ||
122 | </div> | ||
123 | |||
124 | </body> | ||
125 | </html> | ||
diff --git a/public/js/fullcalendar/examples/list-sticky-header.html b/public/js/fullcalendar/examples/list-sticky-header.html new file mode 100644 index 0000000..487af31 --- /dev/null +++ b/public/js/fullcalendar/examples/list-sticky-header.html | |||
@@ -0,0 +1,76 @@ | |||
1 | <!DOCTYPE html> | ||
2 | <html> | ||
3 | <head> | ||
4 | <meta charset='utf-8' /> | ||
5 | <script src='../dist/index.global.js'></script> | ||
6 | <script> | ||
7 | |||
8 | document.addEventListener('DOMContentLoaded', function() { | ||
9 | var calendarEl = document.getElementById('calendar'); | ||
10 | |||
11 | var calendar = new FullCalendar.Calendar(calendarEl, { | ||
12 | height: 'auto', | ||
13 | // stickyHeaderDates: false, // for disabling | ||
14 | |||
15 | headerToolbar: { | ||
16 | left: 'prev,next today', | ||
17 | center: 'title', | ||
18 | right: 'listMonth,listYear' | ||
19 | }, | ||
20 | |||
21 | // customize the button names, | ||
22 | // otherwise they'd all just say "list" | ||
23 | views: { | ||
24 | listMonth: { buttonText: 'list month' }, | ||
25 | listYear: { buttonText: 'list year' } | ||
26 | }, | ||
27 | |||
28 | initialView: 'listYear', | ||
29 | initialDate: '2023-01-12', | ||
30 | navLinks: true, // can click day/week names to navigate views | ||
31 | editable: true, | ||
32 | events: [ | ||
33 | { | ||
34 | title: 'repeating event 1', | ||
35 | daysOfWeek: [ 1, 2, 3 ], | ||
36 | duration: '00:30' | ||
37 | }, | ||
38 | { | ||
39 | title: 'repeating event 2', | ||
40 | daysOfWeek: [ 1, 2, 3 ], | ||
41 | duration: '00:30' | ||
42 | }, | ||
43 | { | ||
44 | title: 'repeating event 3', | ||
45 | daysOfWeek: [ 1, 2, 3 ], | ||
46 | duration: '00:30' | ||
47 | } | ||
48 | ] | ||
49 | }); | ||
50 | |||
51 | calendar.render(); | ||
52 | }); | ||
53 | |||
54 | </script> | ||
55 | <style> | ||
56 | |||
57 | body { | ||
58 | margin: 40px 10px; | ||
59 | padding: 0; | ||
60 | font-family: Arial, Helvetica Neue, Helvetica, sans-serif; | ||
61 | font-size: 14px; | ||
62 | } | ||
63 | |||
64 | #calendar { | ||
65 | max-width: 1100px; | ||
66 | margin: 0 auto; | ||
67 | } | ||
68 | |||
69 | </style> | ||
70 | </head> | ||
71 | <body> | ||
72 | |||
73 | <div id='calendar'></div> | ||
74 | |||
75 | </body> | ||
76 | </html> | ||
diff --git a/public/js/fullcalendar/examples/list-views.html b/public/js/fullcalendar/examples/list-views.html new file mode 100644 index 0000000..cb219d0 --- /dev/null +++ b/public/js/fullcalendar/examples/list-views.html | |||
@@ -0,0 +1,114 @@ | |||
1 | <!DOCTYPE html> | ||
2 | <html> | ||
3 | <head> | ||
4 | <meta charset='utf-8' /> | ||
5 | <script src='../dist/index.global.js'></script> | ||
6 | <script> | ||
7 | |||
8 | document.addEventListener('DOMContentLoaded', function() { | ||
9 | var calendarEl = document.getElementById('calendar'); | ||
10 | |||
11 | var calendar = new FullCalendar.Calendar(calendarEl, { | ||
12 | |||
13 | headerToolbar: { | ||
14 | left: 'prev,next today', | ||
15 | center: 'title', | ||
16 | right: 'listDay,listWeek' | ||
17 | }, | ||
18 | |||
19 | // customize the button names, | ||
20 | // otherwise they'd all just say "list" | ||
21 | views: { | ||
22 | listDay: { buttonText: 'list day' }, | ||
23 | listWeek: { buttonText: 'list week' } | ||
24 | }, | ||
25 | |||
26 | initialView: 'listWeek', | ||
27 | initialDate: '2023-01-12', | ||
28 | navLinks: true, // can click day/week names to navigate views | ||
29 | editable: true, | ||
30 | dayMaxEvents: true, // allow "more" link when too many events | ||
31 | events: [ | ||
32 | { | ||
33 | title: 'All Day Event', | ||
34 | start: '2023-01-01' | ||
35 | }, | ||
36 | { | ||
37 | title: 'Long Event', | ||
38 | start: '2023-01-07', | ||
39 | end: '2023-01-10' | ||
40 | }, | ||
41 | { | ||
42 | groupId: 999, | ||
43 | title: 'Repeating Event', | ||
44 | start: '2023-01-09T16:00:00' | ||
45 | }, | ||
46 | { | ||
47 | groupId: 999, | ||
48 | title: 'Repeating Event', | ||
49 | start: '2023-01-16T16:00:00' | ||
50 | }, | ||
51 | { | ||
52 | title: 'Conference', | ||
53 | start: '2023-01-11', | ||
54 | end: '2023-01-13' | ||
55 | }, | ||
56 | { | ||
57 | title: 'Meeting', | ||
58 | start: '2023-01-12T10:30:00', | ||
59 | end: '2023-01-12T12:30:00' | ||
60 | }, | ||
61 | { | ||
62 | title: 'Lunch', | ||
63 | start: '2023-01-12T12:00:00' | ||
64 | }, | ||
65 | { | ||
66 | title: 'Meeting', | ||
67 | start: '2023-01-12T14:30:00' | ||
68 | }, | ||
69 | { | ||
70 | title: 'Happy Hour', | ||
71 | start: '2023-01-12T17:30:00' | ||
72 | }, | ||
73 | { | ||
74 | title: 'Dinner', | ||
75 | start: '2023-01-12T20:00:00' | ||
76 | }, | ||
77 | { | ||
78 | title: 'Birthday Party', | ||
79 | start: '2023-01-13T07:00:00' | ||
80 | }, | ||
81 | { | ||
82 | title: 'Click for Google', | ||
83 | url: 'http://google.com/', | ||
84 | start: '2023-01-28' | ||
85 | } | ||
86 | ] | ||
87 | }); | ||
88 | |||
89 | calendar.render(); | ||
90 | }); | ||
91 | |||
92 | </script> | ||
93 | <style> | ||
94 | |||
95 | body { | ||
96 | margin: 40px 10px; | ||
97 | padding: 0; | ||
98 | font-family: Arial, Helvetica Neue, Helvetica, sans-serif; | ||
99 | font-size: 14px; | ||
100 | } | ||
101 | |||
102 | #calendar { | ||
103 | max-width: 1100px; | ||
104 | margin: 0 auto; | ||
105 | } | ||
106 | |||
107 | </style> | ||
108 | </head> | ||
109 | <body> | ||
110 | |||
111 | <div id='calendar'></div> | ||
112 | |||
113 | </body> | ||
114 | </html> | ||
diff --git a/public/js/fullcalendar/examples/month-view.html b/public/js/fullcalendar/examples/month-view.html new file mode 100644 index 0000000..dbd8861 --- /dev/null +++ b/public/js/fullcalendar/examples/month-view.html | |||
@@ -0,0 +1,100 @@ | |||
1 | <!DOCTYPE html> | ||
2 | <html> | ||
3 | <head> | ||
4 | <meta charset='utf-8' /> | ||
5 | <script src='../dist/index.global.js'></script> | ||
6 | <script> | ||
7 | |||
8 | document.addEventListener('DOMContentLoaded', function() { | ||
9 | var calendarEl = document.getElementById('calendar'); | ||
10 | |||
11 | var calendar = new FullCalendar.Calendar(calendarEl, { | ||
12 | initialDate: '2023-01-12', | ||
13 | editable: true, | ||
14 | selectable: true, | ||
15 | businessHours: true, | ||
16 | dayMaxEvents: true, // allow "more" link when too many events | ||
17 | events: [ | ||
18 | { | ||
19 | title: 'All Day Event', | ||
20 | start: '2023-01-01' | ||
21 | }, | ||
22 | { | ||
23 | title: 'Long Event', | ||
24 | start: '2023-01-07', | ||
25 | end: '2023-01-10' | ||
26 | }, | ||
27 | { | ||
28 | groupId: 999, | ||
29 | title: 'Repeating Event', | ||
30 | start: '2023-01-09T16:00:00' | ||
31 | }, | ||
32 | { | ||
33 | groupId: 999, | ||
34 | title: 'Repeating Event', | ||
35 | start: '2023-01-16T16:00:00' | ||
36 | }, | ||
37 | { | ||
38 | title: 'Conference', | ||
39 | start: '2023-01-11', | ||
40 | end: '2023-01-13' | ||
41 | }, | ||
42 | { | ||
43 | title: 'Meeting', | ||
44 | start: '2023-01-12T10:30:00', | ||
45 | end: '2023-01-12T12:30:00' | ||
46 | }, | ||
47 | { | ||
48 | title: 'Lunch', | ||
49 | start: '2023-01-12T12:00:00' | ||
50 | }, | ||
51 | { | ||
52 | title: 'Meeting', | ||
53 | start: '2023-01-12T14:30:00' | ||
54 | }, | ||
55 | { | ||
56 | title: 'Happy Hour', | ||
57 | start: '2023-01-12T17:30:00' | ||
58 | }, | ||
59 | { | ||
60 | title: 'Dinner', | ||
61 | start: '2023-01-12T20:00:00' | ||
62 | }, | ||
63 | { | ||
64 | title: 'Birthday Party', | ||
65 | start: '2023-01-13T07:00:00' | ||
66 | }, | ||
67 | { | ||
68 | title: 'Click for Google', | ||
69 | url: 'http://google.com/', | ||
70 | start: '2023-01-28' | ||
71 | } | ||
72 | ] | ||
73 | }); | ||
74 | |||
75 | calendar.render(); | ||
76 | }); | ||
77 | |||
78 | </script> | ||
79 | <style> | ||
80 | |||
81 | body { | ||
82 | margin: 40px 10px; | ||
83 | padding: 0; | ||
84 | font-family: Arial, Helvetica Neue, Helvetica, sans-serif; | ||
85 | font-size: 14px; | ||
86 | } | ||
87 | |||
88 | #calendar { | ||
89 | max-width: 1100px; | ||
90 | margin: 0 auto; | ||
91 | } | ||
92 | |||
93 | </style> | ||
94 | </head> | ||
95 | <body> | ||
96 | |||
97 | <div id='calendar'></div> | ||
98 | |||
99 | </body> | ||
100 | </html> | ||
diff --git a/public/js/fullcalendar/examples/multimonth-view.html b/public/js/fullcalendar/examples/multimonth-view.html new file mode 100644 index 0000000..feb9d23 --- /dev/null +++ b/public/js/fullcalendar/examples/multimonth-view.html | |||
@@ -0,0 +1,110 @@ | |||
1 | <!DOCTYPE html> | ||
2 | <html> | ||
3 | <head> | ||
4 | <meta charset='utf-8' /> | ||
5 | <script src='../dist/index.global.js'></script> | ||
6 | <script> | ||
7 | |||
8 | document.addEventListener('DOMContentLoaded', function() { | ||
9 | var calendarEl = document.getElementById('calendar'); | ||
10 | |||
11 | var calendar = new FullCalendar.Calendar(calendarEl, { | ||
12 | headerToolbar: { | ||
13 | left: 'prev,next today', | ||
14 | center: 'title', | ||
15 | right: 'multiMonthYear,dayGridMonth,timeGridWeek' | ||
16 | }, | ||
17 | initialView: 'multiMonthYear', | ||
18 | initialDate: '2023-01-12', | ||
19 | editable: true, | ||
20 | selectable: true, | ||
21 | dayMaxEvents: true, // allow "more" link when too many events | ||
22 | // multiMonthMaxColumns: 1, // guarantee single column | ||
23 | // showNonCurrentDates: true, | ||
24 | // fixedWeekCount: false, | ||
25 | // businessHours: true, | ||
26 | // weekends: false, | ||
27 | events: [ | ||
28 | { | ||
29 | title: 'All Day Event', | ||
30 | start: '2023-01-01' | ||
31 | }, | ||
32 | { | ||
33 | title: 'Long Event', | ||
34 | start: '2023-01-07', | ||
35 | end: '2023-01-10' | ||
36 | }, | ||
37 | { | ||
38 | groupId: 999, | ||
39 | title: 'Repeating Event', | ||
40 | start: '2023-01-09T16:00:00' | ||
41 | }, | ||
42 | { | ||
43 | groupId: 999, | ||
44 | title: 'Repeating Event', | ||
45 | start: '2023-01-16T16:00:00' | ||
46 | }, | ||
47 | { | ||
48 | title: 'Conference', | ||
49 | start: '2023-01-11', | ||
50 | end: '2023-01-13' | ||
51 | }, | ||
52 | { | ||
53 | title: 'Meeting', | ||
54 | start: '2023-01-12T10:30:00', | ||
55 | end: '2023-01-12T12:30:00' | ||
56 | }, | ||
57 | { | ||
58 | title: 'Lunch', | ||
59 | start: '2023-01-12T12:00:00' | ||
60 | }, | ||
61 | { | ||
62 | title: 'Meeting', | ||
63 | start: '2023-01-12T14:30:00' | ||
64 | }, | ||
65 | { | ||
66 | title: 'Happy Hour', | ||
67 | start: '2023-01-12T17:30:00' | ||
68 | }, | ||
69 | { | ||
70 | title: 'Dinner', | ||
71 | start: '2023-01-12T20:00:00' | ||
72 | }, | ||
73 | { | ||
74 | title: 'Birthday Party', | ||
75 | start: '2023-01-13T07:00:00' | ||
76 | }, | ||
77 | { | ||
78 | title: 'Click for Google', | ||
79 | url: 'http://google.com/', | ||
80 | start: '2023-01-28' | ||
81 | } | ||
82 | ] | ||
83 | }); | ||
84 | |||
85 | calendar.render(); | ||
86 | }); | ||
87 | |||
88 | </script> | ||
89 | <style> | ||
90 | |||
91 | body { | ||
92 | margin: 40px 10px; | ||
93 | padding: 0; | ||
94 | font-family: Arial, Helvetica Neue, Helvetica, sans-serif; | ||
95 | font-size: 14px; | ||
96 | } | ||
97 | |||
98 | #calendar { | ||
99 | max-width: 1200px; | ||
100 | margin: 0 auto; | ||
101 | } | ||
102 | |||
103 | </style> | ||
104 | </head> | ||
105 | <body> | ||
106 | |||
107 | <div id='calendar'></div> | ||
108 | |||
109 | </body> | ||
110 | </html> | ||
diff --git a/public/js/fullcalendar/examples/multiweek-view.html b/public/js/fullcalendar/examples/multiweek-view.html new file mode 100644 index 0000000..5a175fb --- /dev/null +++ b/public/js/fullcalendar/examples/multiweek-view.html | |||
@@ -0,0 +1,107 @@ | |||
1 | <!DOCTYPE html> | ||
2 | <html> | ||
3 | <head> | ||
4 | <meta charset='utf-8' /> | ||
5 | <script src='../dist/index.global.js'></script> | ||
6 | <script> | ||
7 | |||
8 | document.addEventListener('DOMContentLoaded', function() { | ||
9 | var calendarEl = document.getElementById('calendar'); | ||
10 | |||
11 | var calendar = new FullCalendar.Calendar(calendarEl, { | ||
12 | headerToolbar: { | ||
13 | left: 'prev,next today', | ||
14 | center: 'title', | ||
15 | right: 'dayGridYear,dayGridMonth,timeGridWeek' | ||
16 | }, | ||
17 | initialView: 'dayGridYear', | ||
18 | initialDate: '2023-01-12', | ||
19 | editable: true, | ||
20 | selectable: true, | ||
21 | dayMaxEvents: true, // allow "more" link when too many events | ||
22 | // businessHours: true, | ||
23 | // weekends: false, | ||
24 | events: [ | ||
25 | { | ||
26 | title: 'All Day Event', | ||
27 | start: '2023-01-01' | ||
28 | }, | ||
29 | { | ||
30 | title: 'Long Event', | ||
31 | start: '2023-01-07', | ||
32 | end: '2023-01-10' | ||
33 | }, | ||
34 | { | ||
35 | groupId: 999, | ||
36 | title: 'Repeating Event', | ||
37 | start: '2023-01-09T16:00:00' | ||
38 | }, | ||
39 | { | ||
40 | groupId: 999, | ||
41 | title: 'Repeating Event', | ||
42 | start: '2023-01-16T16:00:00' | ||
43 | }, | ||
44 | { | ||
45 | title: 'Conference', | ||
46 | start: '2023-01-11', | ||
47 | end: '2023-01-13' | ||
48 | }, | ||
49 | { | ||
50 | title: 'Meeting', | ||
51 | start: '2023-01-12T10:30:00', | ||
52 | end: '2023-01-12T12:30:00' | ||
53 | }, | ||
54 | { | ||
55 | title: 'Lunch', | ||
56 | start: '2023-01-12T12:00:00' | ||
57 | }, | ||
58 | { | ||
59 | title: 'Meeting', | ||
60 | start: '2023-01-12T14:30:00' | ||
61 | }, | ||
62 | { | ||
63 | title: 'Happy Hour', | ||
64 | start: '2023-01-12T17:30:00' | ||
65 | }, | ||
66 | { | ||
67 | title: 'Dinner', | ||
68 | start: '2023-01-12T20:00:00' | ||
69 | }, | ||
70 | { | ||
71 | title: 'Birthday Party', | ||
72 | start: '2023-01-13T07:00:00' | ||
73 | }, | ||
74 | { | ||
75 | title: 'Click for Google', | ||
76 | url: 'http://google.com/', | ||
77 | start: '2023-01-28' | ||
78 | } | ||
79 | ] | ||
80 | }); | ||
81 | |||
82 | calendar.render(); | ||
83 | }); | ||
84 | |||
85 | </script> | ||
86 | <style> | ||
87 | |||
88 | body { | ||
89 | margin: 40px 10px; | ||
90 | padding: 0; | ||
91 | font-family: Arial, Helvetica Neue, Helvetica, sans-serif; | ||
92 | font-size: 14px; | ||
93 | } | ||
94 | |||
95 | #calendar { | ||
96 | max-width: 1200px; | ||
97 | margin: 0 auto; | ||
98 | } | ||
99 | |||
100 | </style> | ||
101 | </head> | ||
102 | <body> | ||
103 | |||
104 | <div id='calendar'></div> | ||
105 | |||
106 | </body> | ||
107 | </html> | ||
diff --git a/public/js/fullcalendar/examples/natural-height.html b/public/js/fullcalendar/examples/natural-height.html new file mode 100644 index 0000000..b62c41d --- /dev/null +++ b/public/js/fullcalendar/examples/natural-height.html | |||
@@ -0,0 +1,108 @@ | |||
1 | <!DOCTYPE html> | ||
2 | <html> | ||
3 | <head> | ||
4 | <meta charset='utf-8' /> | ||
5 | <script src='../dist/index.global.js'></script> | ||
6 | <script> | ||
7 | |||
8 | document.addEventListener('DOMContentLoaded', function() { | ||
9 | var calendarEl = document.getElementById('calendar'); | ||
10 | |||
11 | var calendar = new FullCalendar.Calendar(calendarEl, { | ||
12 | initialDate: '2023-01-12', | ||
13 | initialView: 'timeGridWeek', | ||
14 | headerToolbar: { | ||
15 | left: 'prev,next today', | ||
16 | center: 'title', | ||
17 | right: 'dayGridMonth,timeGridWeek,timeGridDay,listWeek' | ||
18 | }, | ||
19 | height: 'auto', | ||
20 | navLinks: true, // can click day/week names to navigate views | ||
21 | editable: true, | ||
22 | selectable: true, | ||
23 | selectMirror: true, | ||
24 | nowIndicator: true, | ||
25 | events: [ | ||
26 | { | ||
27 | title: 'All Day Event', | ||
28 | start: '2023-01-01', | ||
29 | }, | ||
30 | { | ||
31 | title: 'Long Event', | ||
32 | start: '2023-01-07', | ||
33 | end: '2023-01-10' | ||
34 | }, | ||
35 | { | ||
36 | groupId: 999, | ||
37 | title: 'Repeating Event', | ||
38 | start: '2023-01-09T16:00:00' | ||
39 | }, | ||
40 | { | ||
41 | groupId: 999, | ||
42 | title: 'Repeating Event', | ||
43 | start: '2023-01-16T16:00:00' | ||
44 | }, | ||
45 | { | ||
46 | title: 'Conference', | ||
47 | start: '2023-01-11', | ||
48 | end: '2023-01-13' | ||
49 | }, | ||
50 | { | ||
51 | title: 'Meeting', | ||
52 | start: '2023-01-12T10:30:00', | ||
53 | end: '2023-01-12T12:30:00' | ||
54 | }, | ||
55 | { | ||
56 | title: 'Lunch', | ||
57 | start: '2023-01-12T12:00:00' | ||
58 | }, | ||
59 | { | ||
60 | title: 'Meeting', | ||
61 | start: '2023-01-12T14:30:00' | ||
62 | }, | ||
63 | { | ||
64 | title: 'Happy Hour', | ||
65 | start: '2023-01-12T17:30:00' | ||
66 | }, | ||
67 | { | ||
68 | title: 'Dinner', | ||
69 | start: '2023-01-12T20:00:00' | ||
70 | }, | ||
71 | { | ||
72 | title: 'Birthday Party', | ||
73 | start: '2023-01-13T07:00:00' | ||
74 | }, | ||
75 | { | ||
76 | title: 'Click for Google', | ||
77 | url: 'http://google.com/', | ||
78 | start: '2023-01-28' | ||
79 | } | ||
80 | ] | ||
81 | }); | ||
82 | |||
83 | calendar.render(); | ||
84 | }); | ||
85 | |||
86 | </script> | ||
87 | <style> | ||
88 | |||
89 | body { | ||
90 | margin: 40px 10px; | ||
91 | padding: 0; | ||
92 | font-family: Arial, Helvetica Neue, Helvetica, sans-serif; | ||
93 | font-size: 14px; | ||
94 | } | ||
95 | |||
96 | #calendar { | ||
97 | max-width: 1100px; | ||
98 | margin: 0 auto; | ||
99 | } | ||
100 | |||
101 | </style> | ||
102 | </head> | ||
103 | <body> | ||
104 | |||
105 | <div id='calendar'></div> | ||
106 | |||
107 | </body> | ||
108 | </html> | ||
diff --git a/public/js/fullcalendar/examples/selectable.html b/public/js/fullcalendar/examples/selectable.html new file mode 100644 index 0000000..785e90e --- /dev/null +++ b/public/js/fullcalendar/examples/selectable.html | |||
@@ -0,0 +1,123 @@ | |||
1 | <!DOCTYPE html> | ||
2 | <html> | ||
3 | <head> | ||
4 | <meta charset='utf-8' /> | ||
5 | <script src='../dist/index.global.js'></script> | ||
6 | <script> | ||
7 | |||
8 | document.addEventListener('DOMContentLoaded', function() { | ||
9 | var calendarEl = document.getElementById('calendar'); | ||
10 | |||
11 | var calendar = new FullCalendar.Calendar(calendarEl, { | ||
12 | headerToolbar: { | ||
13 | left: 'prev,next today', | ||
14 | center: 'title', | ||
15 | right: 'dayGridMonth,timeGridWeek,timeGridDay' | ||
16 | }, | ||
17 | initialDate: '2023-01-12', | ||
18 | navLinks: true, // can click day/week names to navigate views | ||
19 | selectable: true, | ||
20 | selectMirror: true, | ||
21 | select: function(arg) { | ||
22 | var title = prompt('Event Title:'); | ||
23 | if (title) { | ||
24 | calendar.addEvent({ | ||
25 | title: title, | ||
26 | start: arg.start, | ||
27 | end: arg.end, | ||
28 | allDay: arg.allDay | ||
29 | }) | ||
30 | } | ||
31 | calendar.unselect() | ||
32 | }, | ||
33 | eventClick: function(arg) { | ||
34 | if (confirm('Are you sure you want to delete this event?')) { | ||
35 | arg.event.remove() | ||
36 | } | ||
37 | }, | ||
38 | editable: true, | ||
39 | dayMaxEvents: true, // allow "more" link when too many events | ||
40 | events: [ | ||
41 | { | ||
42 | title: 'All Day Event', | ||
43 | start: '2023-01-01' | ||
44 | }, | ||
45 | { | ||
46 | title: 'Long Event', | ||
47 | start: '2023-01-07', | ||
48 | end: '2023-01-10' | ||
49 | }, | ||
50 | { | ||
51 | groupId: 999, | ||
52 | title: 'Repeating Event', | ||
53 | start: '2023-01-09T16:00:00' | ||
54 | }, | ||
55 | { | ||
56 | groupId: 999, | ||
57 | title: 'Repeating Event', | ||
58 | start: '2023-01-16T16:00:00' | ||
59 | }, | ||
60 | { | ||
61 | title: 'Conference', | ||
62 | start: '2023-01-11', | ||
63 | end: '2023-01-13' | ||
64 | }, | ||
65 | { | ||
66 | title: 'Meeting', | ||
67 | start: '2023-01-12T10:30:00', | ||
68 | end: '2023-01-12T12:30:00' | ||
69 | }, | ||
70 | { | ||
71 | title: 'Lunch', | ||
72 | start: '2023-01-12T12:00:00' | ||
73 | }, | ||
74 | { | ||
75 | title: 'Meeting', | ||
76 | start: '2023-01-12T14:30:00' | ||
77 | }, | ||
78 | { | ||
79 | title: 'Happy Hour', | ||
80 | start: '2023-01-12T17:30:00' | ||
81 | }, | ||
82 | { | ||
83 | title: 'Dinner', | ||
84 | start: '2023-01-12T20:00:00' | ||
85 | }, | ||
86 | { | ||
87 | title: 'Birthday Party', | ||
88 | start: '2023-01-13T07:00:00' | ||
89 | }, | ||
90 | { | ||
91 | title: 'Click for Google', | ||
92 | url: 'http://google.com/', | ||
93 | start: '2023-01-28' | ||
94 | } | ||
95 | ] | ||
96 | }); | ||
97 | |||
98 | calendar.render(); | ||
99 | }); | ||
100 | |||
101 | </script> | ||
102 | <style> | ||
103 | |||
104 | body { | ||
105 | margin: 40px 10px; | ||
106 | padding: 0; | ||
107 | font-family: Arial, Helvetica Neue, Helvetica, sans-serif; | ||
108 | font-size: 14px; | ||
109 | } | ||
110 | |||
111 | #calendar { | ||
112 | max-width: 1100px; | ||
113 | margin: 0 auto; | ||
114 | } | ||
115 | |||
116 | </style> | ||
117 | </head> | ||
118 | <body> | ||
119 | |||
120 | <div id='calendar'></div> | ||
121 | |||
122 | </body> | ||
123 | </html> | ||
diff --git a/public/js/fullcalendar/examples/timegrid-views-modal.html b/public/js/fullcalendar/examples/timegrid-views-modal.html new file mode 100644 index 0000000..3b4a0fc --- /dev/null +++ b/public/js/fullcalendar/examples/timegrid-views-modal.html | |||
@@ -0,0 +1,180 @@ | |||
1 | <!DOCTYPE html> | ||
2 | <html> | ||
3 | <head> | ||
4 | <meta charset='utf-8' /> | ||
5 | <script src='../dist/index.global.js'></script> | ||
6 | <script> | ||
7 | |||
8 | /* | ||
9 | From https://github.com/fullcalendar/fullcalendar/issues/5026 | ||
10 | */ | ||
11 | |||
12 | document.addEventListener('DOMContentLoaded', function() { | ||
13 | var calendarOptions = { | ||
14 | initialDate: '2023-01-12', | ||
15 | initialView: 'timeGridWeek', | ||
16 | nowIndicator: true, | ||
17 | headerToolbar: { | ||
18 | left: 'prev,next today', | ||
19 | center: 'title', | ||
20 | right: 'dayGridMonth,timeGridWeek,timeGridDay,listWeek' | ||
21 | }, | ||
22 | navLinks: true, // can click day/week names to navigate views | ||
23 | editable: true, | ||
24 | selectable: true, | ||
25 | selectMirror: true, | ||
26 | dayMaxEvents: true, // allow "more" link when too many events | ||
27 | events: [ | ||
28 | { | ||
29 | title: 'All Day Event', | ||
30 | start: '2023-01-01', | ||
31 | }, | ||
32 | { | ||
33 | title: 'Long Event', | ||
34 | start: '2023-01-07', | ||
35 | end: '2023-01-10' | ||
36 | }, | ||
37 | { | ||
38 | groupId: 999, | ||
39 | title: 'Repeating Event', | ||
40 | start: '2023-01-09T16:00:00' | ||
41 | }, | ||
42 | { | ||
43 | groupId: 999, | ||
44 | title: 'Repeating Event', | ||
45 | start: '2023-01-16T16:00:00' | ||
46 | }, | ||
47 | { | ||
48 | title: 'Conference', | ||
49 | start: '2023-01-11', | ||
50 | end: '2023-01-13' | ||
51 | }, | ||
52 | { | ||
53 | title: 'Meeting', | ||
54 | start: '2023-01-12T10:30:00', | ||
55 | end: '2023-01-12T12:30:00' | ||
56 | }, | ||
57 | { | ||
58 | title: 'Lunch', | ||
59 | start: '2023-01-12T12:00:00' | ||
60 | }, | ||
61 | { | ||
62 | title: 'Meeting', | ||
63 | start: '2023-01-12T14:30:00' | ||
64 | }, | ||
65 | { | ||
66 | title: 'Happy Hour', | ||
67 | start: '2023-01-12T17:30:00' | ||
68 | }, | ||
69 | { | ||
70 | title: 'Dinner', | ||
71 | start: '2023-01-12T20:00:00' | ||
72 | }, | ||
73 | { | ||
74 | title: 'Birthday Party', | ||
75 | start: '2023-01-13T07:00:00' | ||
76 | }, | ||
77 | { | ||
78 | title: 'Click for Google', | ||
79 | url: 'http://google.com/', | ||
80 | start: '2023-01-28' | ||
81 | } | ||
82 | ] | ||
83 | }; | ||
84 | |||
85 | var calendar = new FullCalendar.Calendar(document.getElementById('calendar'), calendarOptions); | ||
86 | calendar.render(); | ||
87 | |||
88 | var calendar2 = new FullCalendar.Calendar(document.getElementById('calendar2'), calendarOptions); | ||
89 | calendar2.render(); | ||
90 | |||
91 | /* | ||
92 | Modal | ||
93 | */ | ||
94 | |||
95 | var modal = document.querySelector('.modal'); | ||
96 | var modalTrigger = document.querySelector('.modal-trigger'); | ||
97 | var modalOverlay = document.querySelector('.modal-overlay'); | ||
98 | |||
99 | modalTrigger.addEventListener('click', function() { | ||
100 | modal.classList.add('is-visible'); | ||
101 | calendar2.updateSize(); | ||
102 | }); | ||
103 | modalOverlay.addEventListener('click', function() { | ||
104 | modal.classList.remove('is-visible'); | ||
105 | }); | ||
106 | }); | ||
107 | |||
108 | </script> | ||
109 | <style> | ||
110 | |||
111 | body { | ||
112 | margin: 10px; | ||
113 | padding: 0; | ||
114 | font-family: Arial, Helvetica Neue, Helvetica, sans-serif; | ||
115 | font-size: 14px; | ||
116 | } | ||
117 | |||
118 | #calendar { | ||
119 | max-width: 1100px; | ||
120 | margin: 0 auto; | ||
121 | } | ||
122 | |||
123 | .modal { | ||
124 | display: none; | ||
125 | position: absolute; | ||
126 | z-index: 10000; | ||
127 | top: 0; | ||
128 | left: 0; | ||
129 | width: 100%; | ||
130 | height: 100%; | ||
131 | } | ||
132 | |||
133 | .modal.is-visible { | ||
134 | display: block; | ||
135 | } | ||
136 | |||
137 | .modal-overlay { | ||
138 | position: fixed; | ||
139 | z-index: 10; | ||
140 | top: 0; | ||
141 | left: 0; | ||
142 | width: 100%; | ||
143 | height: 100%; | ||
144 | background: hsla(0, 0%, 0%, 0.5); | ||
145 | } | ||
146 | |||
147 | .modal-wrapper { | ||
148 | position: absolute; | ||
149 | z-index: 9999; | ||
150 | top: 6em; | ||
151 | left: 50%; | ||
152 | width: 600px; | ||
153 | margin-left: -16em; | ||
154 | background-color: #fff; | ||
155 | box-shadow: 0 0 1.5em hsla(0, 0%, 0%, 0.35); | ||
156 | } | ||
157 | |||
158 | .modal-content { | ||
159 | padding: 1em; | ||
160 | } | ||
161 | |||
162 | </style> | ||
163 | </head> | ||
164 | <body> | ||
165 | |||
166 | <button class='modal-trigger'>Show modal</button> | ||
167 | |||
168 | <div id='calendar'></div> | ||
169 | |||
170 | <div class='modal'> | ||
171 | <div class='modal-overlay'></div> | ||
172 | <div class='modal-wrapper'> | ||
173 | <div class='modal-content'> | ||
174 | <div id='calendar2'></div> | ||
175 | </div> | ||
176 | </div> | ||
177 | </div> | ||
178 | |||
179 | </body> | ||
180 | </html> | ||
diff --git a/public/js/fullcalendar/examples/timegrid-views.html b/public/js/fullcalendar/examples/timegrid-views.html new file mode 100644 index 0000000..9cd2527 --- /dev/null +++ b/public/js/fullcalendar/examples/timegrid-views.html | |||
@@ -0,0 +1,108 @@ | |||
1 | <!DOCTYPE html> | ||
2 | <html> | ||
3 | <head> | ||
4 | <meta charset='utf-8' /> | ||
5 | <script src='../dist/index.global.js'></script> | ||
6 | <script> | ||
7 | |||
8 | document.addEventListener('DOMContentLoaded', function() { | ||
9 | var calendarEl = document.getElementById('calendar'); | ||
10 | |||
11 | var calendar = new FullCalendar.Calendar(calendarEl, { | ||
12 | initialDate: '2023-01-12', | ||
13 | initialView: 'timeGridWeek', | ||
14 | nowIndicator: true, | ||
15 | headerToolbar: { | ||
16 | left: 'prev,next today', | ||
17 | center: 'title', | ||
18 | right: 'dayGridMonth,timeGridWeek,timeGridDay,listWeek' | ||
19 | }, | ||
20 | navLinks: true, // can click day/week names to navigate views | ||
21 | editable: true, | ||
22 | selectable: true, | ||
23 | selectMirror: true, | ||
24 | dayMaxEvents: true, // allow "more" link when too many events | ||
25 | events: [ | ||
26 | { | ||
27 | title: 'All Day Event', | ||
28 | start: '2023-01-01', | ||
29 | }, | ||
30 | { | ||
31 | title: 'Long Event', | ||
32 | start: '2023-01-07', | ||
33 | end: '2023-01-10' | ||
34 | }, | ||
35 | { | ||
36 | groupId: 999, | ||
37 | title: 'Repeating Event', | ||
38 | start: '2023-01-09T16:00:00' | ||
39 | }, | ||
40 | { | ||
41 | groupId: 999, | ||
42 | title: 'Repeating Event', | ||
43 | start: '2023-01-16T16:00:00' | ||
44 | }, | ||
45 | { | ||
46 | title: 'Conference', | ||
47 | start: '2023-01-11', | ||
48 | end: '2023-01-13' | ||
49 | }, | ||
50 | { | ||
51 | title: 'Meeting', | ||
52 | start: '2023-01-12T10:30:00', | ||
53 | end: '2023-01-12T12:30:00' | ||
54 | }, | ||
55 | { | ||
56 | title: 'Lunch', | ||
57 | start: '2023-01-12T12:00:00' | ||
58 | }, | ||
59 | { | ||
60 | title: 'Meeting', | ||
61 | start: '2023-01-12T14:30:00' | ||
62 | }, | ||
63 | { | ||
64 | title: 'Happy Hour', | ||
65 | start: '2023-01-12T17:30:00' | ||
66 | }, | ||
67 | { | ||
68 | title: 'Dinner', | ||
69 | start: '2023-01-12T20:00:00' | ||
70 | }, | ||
71 | { | ||
72 | title: 'Birthday Party', | ||
73 | start: '2023-01-13T07:00:00' | ||
74 | }, | ||
75 | { | ||
76 | title: 'Click for Google', | ||
77 | url: 'http://google.com/', | ||
78 | start: '2023-01-28' | ||
79 | } | ||
80 | ] | ||
81 | }); | ||
82 | |||
83 | calendar.render(); | ||
84 | }); | ||
85 | |||
86 | </script> | ||
87 | <style> | ||
88 | |||
89 | body { | ||
90 | margin: 40px 10px; | ||
91 | padding: 0; | ||
92 | font-family: Arial, Helvetica Neue, Helvetica, sans-serif; | ||
93 | font-size: 14px; | ||
94 | } | ||
95 | |||
96 | #calendar { | ||
97 | max-width: 1100px; | ||
98 | margin: 0 auto; | ||
99 | } | ||
100 | |||
101 | </style> | ||
102 | </head> | ||
103 | <body> | ||
104 | |||
105 | <div id='calendar'></div> | ||
106 | |||
107 | </body> | ||
108 | </html> | ||