aboutsummaryrefslogtreecommitdiff
path: root/resources/assets/javascripts/lib
diff options
context:
space:
mode:
authorMoritz Strohm <strohm@data-quest.de>2024-03-21 15:09:47 +0000
committerPeter Thienel <thienel@data-quest.de>2024-03-21 15:09:47 +0000
commiteed21fa552f33483dc110f730507283f2a4a03e2 (patch)
tree56a19b2d58739035387207463fe4363f92d7dd58 /resources/assets/javascripts/lib
parentf3709add2d989b76727c5b78ad6c2c8694617464 (diff)
calendar date form: move end date or time when moving the begin date or time, fixes #3862
Closes #3862 Merge request studip/studip!2726
Diffstat (limited to 'resources/assets/javascripts/lib')
-rw-r--r--resources/assets/javascripts/lib/calendar.js32
1 files changed, 32 insertions, 0 deletions
diff --git a/resources/assets/javascripts/lib/calendar.js b/resources/assets/javascripts/lib/calendar.js
index 2d995b5..e36988b 100644
--- a/resources/assets/javascripts/lib/calendar.js
+++ b/resources/assets/javascripts/lib/calendar.js
@@ -124,6 +124,38 @@ const Calendar = {
}
return true;
+ },
+
+ parseDateFromString: function(date_string) {
+ if (!date_string) {
+ //Nothing that can be done.
+ return null;
+ }
+ let string_parts = date_string.split(' ');
+ if (string_parts.length !== 2) {
+ //Invalid format.
+ return null;
+ }
+ let date_parts = string_parts[0].split('.');
+ if (date_parts.length !== 3) {
+ //Invalid format.
+ return null;
+ }
+ let time_parts = string_parts[1].split(':');
+ if (time_parts.length !== 2) {
+ //Invalid format.
+ return null;
+ }
+ let date = new Date(
+ parseInt(date_parts[2]),
+ parseInt(date_parts[1]) - 1,
+ parseInt(date_parts[0])
+ );
+ date.setHours(parseInt(time_parts[0]));
+ date.setMinutes(parseInt(time_parts[1]));
+ date.setSeconds(0);
+
+ return date;
}
};