feat: Add calendar view to "important dates" page (#5260)

Fixes #3512
This commit is contained in:
Lars Eggert 2023-03-08 21:05:33 +02:00 committed by GitHub
parent ce7ae86b55
commit 0237411ed5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 86 additions and 1 deletions

39
.pnp.cjs generated
View file

@ -37,6 +37,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
["@fullcalendar/bootstrap5", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.4"],\
["@fullcalendar/core", "npm:6.1.4"],\
["@fullcalendar/daygrid", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.4"],\
["@fullcalendar/icalendar", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.4"],\
["@fullcalendar/interaction", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.4"],\
["@fullcalendar/list", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.4"],\
["@fullcalendar/luxon2", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.4"],\
@ -67,6 +68,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
["file-saver", "npm:2.0.5"],\
["highcharts", "npm:10.3.3"],\
["html-validate", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:7.13.1"],\
["ical.js", "npm:1.5.0"],\
["jquery", "npm:3.6.3"],\
["jquery-migrate", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:3.4.0"],\
["jquery-ui-dist", "npm:1.13.2"],\
@ -313,6 +315,32 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
"linkType": "HARD"\
}]\
]],\
["@fullcalendar/icalendar", [\
["npm:6.1.4", {\
"packageLocation": "./.yarn/cache/@fullcalendar-icalendar-npm-6.1.4-8f5c41e738-4ec2ed9092.zip/node_modules/@fullcalendar/icalendar/",\
"packageDependencies": [\
["@fullcalendar/icalendar", "npm:6.1.4"]\
],\
"linkType": "SOFT"\
}],\
["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.4", {\
"packageLocation": "./.yarn/__virtual__/@fullcalendar-icalendar-virtual-d4c1c240a9/0/cache/@fullcalendar-icalendar-npm-6.1.4-8f5c41e738-4ec2ed9092.zip/node_modules/@fullcalendar/icalendar/",\
"packageDependencies": [\
["@fullcalendar/icalendar", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.4"],\
["@fullcalendar/core", "npm:6.1.4"],\
["@types/fullcalendar__core", null],\
["@types/ical.js", null],\
["ical.js", "npm:1.5.0"]\
],\
"packagePeers": [\
"@fullcalendar/core",\
"@types/fullcalendar__core",\
"@types/ical.js",\
"ical.js"\
],\
"linkType": "HARD"\
}]\
]],\
["@fullcalendar/interaction", [\
["npm:6.1.4", {\
"packageLocation": "./.yarn/cache/@fullcalendar-interaction-npm-6.1.4-a5a798ee1e-5e282ba36b.zip/node_modules/@fullcalendar/interaction/",\
@ -5338,6 +5366,15 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
"linkType": "HARD"\
}]\
]],\
["ical.js", [\
["npm:1.5.0", {\
"packageLocation": "./.yarn/cache/ical.js-npm-1.5.0-5ba1c69420-51df7a01f4.zip/node_modules/ical.js/",\
"packageDependencies": [\
["ical.js", "npm:1.5.0"]\
],\
"linkType": "HARD"\
}]\
]],\
["iconv-lite", [\
["npm:0.6.3", {\
"packageLocation": "./.yarn/cache/iconv-lite-npm-0.6.3-24b8aae27e-3f60d47a5c.zip/node_modules/iconv-lite/",\
@ -7482,6 +7519,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
["@fullcalendar/bootstrap5", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.4"],\
["@fullcalendar/core", "npm:6.1.4"],\
["@fullcalendar/daygrid", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.4"],\
["@fullcalendar/icalendar", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.4"],\
["@fullcalendar/interaction", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.4"],\
["@fullcalendar/list", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.4"],\
["@fullcalendar/luxon2", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.4"],\
@ -7512,6 +7550,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
["file-saver", "npm:2.0.5"],\
["highcharts", "npm:10.3.3"],\
["html-validate", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:7.13.1"],\
["ical.js", "npm:1.5.0"],\
["jquery", "npm:3.6.3"],\
["jquery-migrate", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:3.4.0"],\
["jquery-ui-dist", "npm:1.13.2"],\

Binary file not shown.

View file

@ -1,7 +1,9 @@
import { Calendar } from '@fullcalendar/core';
import dayGridPlugin from '@fullcalendar/daygrid';
import bootstrap5Plugin from '@fullcalendar/bootstrap5'
import iCalendarPlugin from '@fullcalendar/icalendar';
import bootstrap5Plugin from '@fullcalendar/bootstrap5';
global.FullCalendar = Calendar;
global.dayGridPlugin = dayGridPlugin;
global.iCalendarPlugin = iCalendarPlugin;
global.bootstrap5Plugin = bootstrap5Plugin;

View file

@ -81,7 +81,30 @@
</table>
{% endif %}
{% endfor %}
<div id="cal" class="mt-5"></div>
{% endblock %}
{% block js %}
<script src="{% static "ietf/js/list.js" %}"></script>
<script src="{% static 'ietf/js/fullcalendar.js' %}"></script>
<script>
document.addEventListener("DOMContentLoaded", function (event) {
const el = document.getElementById("cal");
var calendar = new FullCalendar(el, {
plugins: [dayGridPlugin, bootstrap5Plugin, iCalendarPlugin],
themeSystem: 'bootstrap5',
displayEventTime: false,
eventDidMount: function (info) {
$(info.el)
.tooltip({
title: info.event.title + ": " + info.event.extendedProps.description
});
},
events: {
url: "{% url 'ietf.meeting.views.important_dates' output_format='ics' %}",
format: "ics"
}
});
calendar.render();
});
</script>
{% endblock %}

View file

@ -10,6 +10,7 @@
"@fullcalendar/bootstrap5": "6.1.4",
"@fullcalendar/core": "6.1.4",
"@fullcalendar/daygrid": "6.1.4",
"@fullcalendar/icalendar": "6.1.4",
"@fullcalendar/interaction": "6.1.4",
"@fullcalendar/list": "6.1.4",
"@fullcalendar/luxon2": "6.1.4",
@ -24,6 +25,7 @@
"d3": "7.8.2",
"file-saver": "2.0.5",
"highcharts": "10.3.3",
"ical.js": "1.5.0",
"jquery": "3.6.3",
"jquery-ui-dist": "1.13.2",
"js-cookie": "3.0.1",

View file

@ -148,6 +148,16 @@ __metadata:
languageName: node
linkType: hard
"@fullcalendar/icalendar@npm:6.1.4":
version: 6.1.4
resolution: "@fullcalendar/icalendar@npm:6.1.4"
peerDependencies:
"@fullcalendar/core": ~6.1.4
ical.js: ^1.4.0
checksum: 4ec2ed9092bf963dd889ffb01dd5ec6c956810e3b791a16a3d5c4bd0b303850757ad03b000c79d026ed8f7a9dbc53b673743c4eec0b8901bc4030a56d718f94c
languageName: node
linkType: hard
"@fullcalendar/interaction@npm:6.1.4":
version: 6.1.4
resolution: "@fullcalendar/interaction@npm:6.1.4"
@ -4250,6 +4260,13 @@ browserlist@latest:
languageName: node
linkType: hard
"ical.js@npm:1.5.0":
version: 1.5.0
resolution: "ical.js@npm:1.5.0"
checksum: 51df7a01f462dc8a02b3c3c28acb288756071044c4a8b56ff5179995bb219e569e72cfedac6f4ab03dc643be34f5d88c09a7d79c4be6ba8a7623b7336eecb110
languageName: node
linkType: hard
"iconv-lite@npm:0.6, iconv-lite@npm:^0.6.2":
version: 0.6.3
resolution: "iconv-lite@npm:0.6.3"
@ -6174,6 +6191,7 @@ browserlist@latest:
"@fullcalendar/bootstrap5": 6.1.4
"@fullcalendar/core": 6.1.4
"@fullcalendar/daygrid": 6.1.4
"@fullcalendar/icalendar": 6.1.4
"@fullcalendar/interaction": 6.1.4
"@fullcalendar/list": 6.1.4
"@fullcalendar/luxon2": 6.1.4
@ -6204,6 +6222,7 @@ browserlist@latest:
file-saver: 2.0.5
highcharts: 10.3.3
html-validate: 7.13.1
ical.js: 1.5.0
jquery: 3.6.3
jquery-migrate: 3.4.0
jquery-ui-dist: 1.13.2