Kalender Update

* Feature Serientermine Integration
This commit is contained in:
Daniel Spitzer
2025-03-02 16:44:44 +01:00
parent 0f40a79264
commit a465133c9a
4 changed files with 361 additions and 18 deletions
+91 -4
View File
@@ -37,6 +37,7 @@ endforeach;
<script type="text/javascript"
src="<?= self::getResourcePath() ?>assets/js/calendar/rrule/rrule.min.js?<?= $git_merge_ts ?>"></script>
<script type="text/javascript"
src="<?= self::getResourcePath() ?>assets/js/calendar/moment/moment.min.js?<?= $git_merge_ts ?>"></script>
<script type="text/javascript"
@@ -57,6 +58,7 @@ endforeach;
src="<?= self::getResourcePath() ?>assets/js/calendar/eventsource.min.js?<?= $git_merge_ts ?>"></script>
<link href="<?= self::getResourcePath() ?>assets/css/datatables-std.css?<?= $git_merge_ts ?>" rel="stylesheet"
type="text/css"/>
<!-- start page title -->
<div class="row">
<div class="col-12">
@@ -427,7 +429,7 @@ endforeach;
aria-label="Uhrzeit"
aria-describedby="Uhrzeit">
</div>
<div class="col-3 text-center">
<div class="col-2 text-center">
<div class="form-check" style="margin-top: 7px;">
<input class="form-check-input eventmodal-checkbox" type="checkbox" value=""
@@ -437,7 +439,14 @@ endforeach;
</div>
</div>
<div class="col-2 text-right">
<div class="form-check" style="margin-top: 7px;">
<input class="form-check-input eventmodal-checkbox" type="checkbox" value="" id="recurringCheck">
<label class="form-check-label fw-medium checkbox-label" for="recurringCheck">
Serientermin
</label>
</div>
</div>
</div>
<div class="row justify-content-center">
@@ -456,7 +465,7 @@ endforeach;
aria-label="Uhrzeit"
aria-describedby="Uhrzeit">
</div>
<div class="col-3">
<div class="col-4">
<div class="input-group mb-2">
<span title="Erinnerung" class="input-group-text spanwidht"><i
class="fa-regular fa-bell"></i></span>
@@ -474,6 +483,85 @@ endforeach;
</div>
</div>
</div>
<!-- Serientermin-Checkbox und zugehörige RRule-Optionen -->
<div class="row" id="recurring-settings" style="display:none;">
<div class="col-1"></div>
<div class="col-3"">
<!-- Frequenz: Täglich / Wöchentlich / Monatlich / Jährlich -->
<div class="mb-2">
<label for="rrule-frequency" class="col-form-label fw-medium">Wiederholungstyp</label>
<select class="form-control" id="rrule-frequency">
<option value="">Bitte wählen</option>
<option value="DAILY">Täglich</option>
<option value="WEEKLY">Wöchentlich</option>
<option value="MONTHLY">Monatlich</option>
<option value="YEARLY">Jährlich</option>
</select>
</div>
<div class="mb-2">
<label for="rrule-count" class="col-form-label fw-medium">Wiederhol. (optional)</label>
<input type="number" min="1" class="form-control" id="rrule-count" placeholder="z.B. 10">
</div>
<!-- Enddatum der Serie (optional) -->
<div class="mb-2">
<label for="rrule-until" class="col-form-label fw-medium">Ende (optional)</label>
<input type="date" class="form-control" id="rrule-until">
</div>
</div>
<!-- Wöchentliche Optionen (z.B. jeden Dienstag, jeden Freitag + Montag) -->
<div class="col-7">
<div class="mb-2" id="weekly-options" style="display:none;">
<label for="rrule-byweekday" class="col-form-label fw-medium">Wochentag(e)</label>
<select class="form-control" id="rrule-byweekday" multiple>
<option value="MO">Montag</option>
<option value="TU">Dienstag</option>
<option value="WE">Mittwoch</option>
<option value="TH">Donnerstag</option>
<option value="FR">Freitag</option>
<option value="SA">Samstag</option>
<option value="SU">Sonntag</option>
</select>
</div>
<div class="mb-2" id="monthly-options" style="display:none;">
<label class="col-form-label fw-medium">Monatliches Muster</label>
<select class="form-control" id="monthly-type">
<option value="BYMONTHDAY">Jeden X. Tag des Monats</option>
<option value="BYSETPOS">Jeden X. [Wochentag] im Monat</option>
</select>
<div class=" mt-2 row" id="monthly-day-select">
<label class="mr-2 col-form-label fw-medium col-2">Tag:</label>
<select class="form-control w-auto col-3" id="rrule-bymonthday">
<!-- Auswahl 131 -->
<?php for($i=1; $i<=31; $i++): ?>
<option value="<?= $i ?>"><?= $i ?></option>
<?php endfor; ?>
</select>
</div>
<div class="mt-2 row" id="monthly-setpos-select" style="display:none;">
<label class="mr-2 col-2 col-form-label fw-medium">Position:</label>
<select class="form-control col-3 w-auto" id="rrule-setpos">
<option value="1">Erster</option>
<option value="2">Zweiter</option>
<option value="3">Dritter</option>
<option value="4">Vierter</option>
<option value="-1">Letzter</option>
</select>
<label class="mr-2 col-2 ml-3 col-form-label fw-medium text-center">Tag:</label>
<select class="form-control col-3 w-auto" id="rrule-bynweekday">
<option value="MO">Montag</option>
<option value="TU">Dienstag</option>
<option value="WE">Mittwoch</option>
<option value="TH">Donnerstag</option>
<option value="FR">Freitag</option>
<option value="SA">Samstag</option>
<option value="SU">Sonntag</option>
</select>
</div>
</div>
</div>
</div>
<div class="row justify-content-center mt-2">
<div class="col-2">
@@ -728,7 +816,6 @@ endforeach;
endforeach; ?>
</script>
<script type="text/javascript"
src="<?= self::getResourcePath() ?>js/pages/Calendar/View.js?<?= $git_merge_ts ?>"></script>