aboutsummaryrefslogtreecommitdiff
path: root/resources/assets/javascripts/bootstrap
diff options
context:
space:
mode:
authorMoritz Strohm <strohm@data-quest.de>2026-01-16 09:36:16 +0000
committerMoritz Strohm <strohm@data-quest.de>2026-01-16 09:36:16 +0000
commitb58142fe5fa1ba1a99d850baa1465df6fa6e0d3b (patch)
treed73956252dc17dd054d0db8e0f167a4103b7ba83 /resources/assets/javascripts/bootstrap
parentc3e07e221b0bef64d3ad4da48c6371c75ca12cc3 (diff)
updated Fullcalendar to version 6, closes #4887
Closes #4887 Merge request studip/studip!4438
Diffstat (limited to 'resources/assets/javascripts/bootstrap')
-rw-r--r--resources/assets/javascripts/bootstrap/fullcalendar.js48
-rw-r--r--resources/assets/javascripts/bootstrap/resources.js195
2 files changed, 0 insertions, 243 deletions
diff --git a/resources/assets/javascripts/bootstrap/fullcalendar.js b/resources/assets/javascripts/bootstrap/fullcalendar.js
deleted file mode 100644
index 44786d9..0000000
--- a/resources/assets/javascripts/bootstrap/fullcalendar.js
+++ /dev/null
@@ -1,48 +0,0 @@
-STUDIP.ready(function () {
- //Check if fullcalendar instances are to be displayed:
- $('*[data-fullcalendar="1"]').each(function () {
- STUDIP.loadChunk('fullcalendar').then(() => {
- if (this.calendar === undefined) {
- let calendar;
- if ($(this).hasClass('semester-plan')) {
- calendar = STUDIP.Fullcalendar.createSemesterCalendarFromNode(this);
- } else {
- calendar = STUDIP.Fullcalendar.createFromNode(this);
- }
-
- continuousRefresh(calendar, 10);
- }
- });
- });
-
- function continuousRefresh(calendar, ttl) {
- setTimeout(() => {
- calendar.updateSize();
- if (ttl > 0) {
- continuousRefresh(calendar, ttl - 1);
- }
- }, 200);
- }
-
- if ($('#event-color-picker > option').length <= 1) {
- var selectedColor = $('#selected-color').val();
- var colors = ['yellow', 'orange', 'red', 'violet', 'dark-violet', 'green', 'dark-green', 'petrol', 'brown'];
-
- var style = window.getComputedStyle(document.body);
- colors.forEach(color => {
- let real_color = style.getPropertyValue(`--${color}`).trim();
- $('#event-color-picker').append([
- $('<input type="radio" name="event_color">').attr({
- id: color,
- value: real_color,
- checked: selectedColor === real_color
- }),
- $('<label>').attr('for', color).css({
- backgroundColor: `var(--${color})`
- }),
- ]);
- });
- }
-
- jQuery(document).on('change', '#date_select[data-calendar-control]', STUDIP.Fullcalendar.submitDatePicker);
-});
diff --git a/resources/assets/javascripts/bootstrap/resources.js b/resources/assets/javascripts/bootstrap/resources.js
index caf9a95..ca16252 100644
--- a/resources/assets/javascripts/bootstrap/resources.js
+++ b/resources/assets/javascripts/bootstrap/resources.js
@@ -134,29 +134,6 @@ STUDIP.ready(function () {
);
//Event handlers for the individual booking plan print view:
- jQuery('#sidebar .colour-selector').draggable(
- {
- cursorAt: {
- left: 28, top: 15
- },
- appendTo: 'body',
- helper: function () {
- var dragged_item = jQuery(
- '<div class="dragged-colour"></div>'
- );
- jQuery(dragged_item).css(
- {
- backgroundColor: jQuery(this).css('background-color'),
- width: jQuery(this).css('width'),
- height: jQuery(this).css('height'),
- zIndex: 1000
- }
- );
- return dragged_item;
- },
- revert: true
- }
- );
jQuery(document).on(
'click',
@@ -177,35 +154,6 @@ STUDIP.ready(function () {
}
);
- jQuery(document).on(
- 'dragenter',
- '.individual-booking-plan .appointment-booking-plan',
- function (event) {
- jQuery(event.target).css('opacity', '0.7');
- }
- );
-
- jQuery(document).on(
- 'dragleave',
- '.individual-booking-plan .appointment-booking-plan',
- function (event) {
- jQuery(event.target).css('opacity', '1.0');
- }
- );
-
- jQuery(document).on(
- 'dragend',
- '.dragged-colour',
- function (event) {
- jQuery(event.target).css(
- {
- 'top': '0px',
- 'left': '0px'
- }
- );
- }
- );
-
//For the message functionality of the resource system:
jQuery(document).on(
@@ -442,24 +390,6 @@ STUDIP.ready(function () {
);
jQuery(document).on(
- 'click',
- '.fc-button',
- function () {
- if ($(this).hasClass('fc-dayGridMonth-button')) {
- updateViewURL('dayGridMonth')
- } else if ($(this).hasClass('fc-timeGridWeek-button')) {
- updateViewURL('timeGridWeek')
- } else if ($(this).hasClass('fc-timeGridDay-button')) {
- updateViewURL('timeGridDay')
- } else if ($(this).hasClass('fc-today-button')
- || $(this).hasClass('fc-prev-button')
- || $(this).hasClass('fc-next-button')) {
- STUDIP.Fullcalendar.updateDateURL();
- }
- }
- );
-
- jQuery(document).on(
'blur',
'.hasDatepicker',
function () {
@@ -553,137 +483,12 @@ STUDIP.ready(function () {
});
}
- function updateViewURL(defaultView) {
- const url = new URL(window.location.href);
- url.searchParams.set('defaultView', defaultView);
-
- // Push current view url to history
- history.pushState({}, null, url.toString());
-
- // Set links accordingly
- url.searchParams.delete('allday');
- $('.booking-plan-std_view').attr('href', url.toString());
-
- url.searchParams.set('allday', 1);
- $('.booking-plan-allday_view').attr('href', url.toString());
- }
-
-
- jQuery('#booking-plan-jmpdate').datepicker(
- {
- dateFormat: 'dd.mm.yy',
- onClose: STUDIP.Fullcalendar.submitDatePicker
- }
- );
jQuery('.resource-booking-time-fields input[type="date"]').datepicker(
{
dateFormat: 'yy-mm-dd'
}
);
- jQuery('.resource-plan[data-resources-fullcalendar="1"]').each(function () {
- STUDIP.loadChunk('fullcalendar').then(() => {
- //Get the default date from the sessionStorage, if it is set
- //and no date is specified in the url.
- let use_session_date = true;
- let url_param_string = window.location.search;
- if (url_param_string) {
- let url_params = new URLSearchParams(url_param_string);
- if (url_params.get('defaultDate')) {
- use_session_date = false;
- }
- }
- if (this.calendar === undefined) {
- if (jQuery(this).hasClass('semester-plan')) {
- STUDIP.Fullcalendar.createSemesterCalendarFromNode(
- this,
- {
- loading: function (isLoading) {
- if (!isLoading) {
- let h = jQuery('section.studip-fullcalendar-header');
- if (h) {
- jQuery(h).removeClass('invisible');
- jQuery(h).insertBefore(this);
- }
- }
- }
- }
- );
- } else {
- let config = {
- studip_functions: {
- drop_event:
- STUDIP.Resources.dropEventInRoomGroupBookingPlan,
- resize_event:
- STUDIP.Resources.resizeEventInRoomGroupBookingPlan
- },
- loading: function (isLoading) {
- if (!isLoading) {
- let h = jQuery('section.studip-fullcalendar-header');
- if (h) {
- jQuery(h).removeClass('invisible');
- jQuery(h).insertBefore(this);
- }
- }
- }
- };
- if (use_session_date) {
- let session_date_string = sessionStorage.getItem('booking_plan_date');
- if (session_date_string) {
- config.defaultDate = session_date_string;
- }
- }
- STUDIP.Fullcalendar.createFromNode(this, config);
- }
- }
- });
- });
-
- //Check if an individual booking plan is to be displayed:
- jQuery('.individual-booking-plan[data-resources-fullcalendar="1"]').each(function () {
- STUDIP.loadChunk('fullcalendar').then(() => {
- STUDIP.Fullcalendar.createFromNode(
- this,
- {
- eventPositioned: function (info) {
- jQuery(info.el).droppable({
- drop: function (event, ui_element) {
- event.preventDefault();
-
- let booking_plan_entry = event.target;
- let new_background_colour = jQuery(
- ui_element.helper
- ).css('background-color');
-
- jQuery(booking_plan_entry).css(
- 'background-color',
- new_background_colour
- );
- jQuery(booking_plan_entry).css(
- 'border-color',
- new_background_colour
- );
-
- jQuery(booking_plan_entry).find('dl').css({
- backgroundColor: new_background_colour,
- borderColor: new_background_colour
- });
- jQuery(booking_plan_entry).find('dt').css(
- 'background-color',
- new_background_colour
- );
- }
- });
- let h = jQuery('section.studip-fullcalendar-header').clone();
- if (h) {
- jQuery(h).removeClass('invisible');
- jQuery(h).insertBefore(this);
- }
- }
- }
- );
- });
- });
jQuery(document).on(
'click',