📚 Improved blueprint structures & templates for better organization
This commit is contained in:
@ -885,6 +885,32 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Additional Options Row -->
|
||||
<div class="grid grid-cols-1 md:grid-cols-3 gap-6 mb-6">
|
||||
<!-- Steckdosen-Events Toggle -->
|
||||
<div>
|
||||
<label class="flex items-center cursor-pointer">
|
||||
<input type="checkbox" id="showPlugEvents" class="sr-only">
|
||||
<div class="relative">
|
||||
<div class="w-11 h-6 bg-gray-200 dark:bg-gray-700 rounded-full shadow-inner transition-colors duration-300"></div>
|
||||
<div class="dot absolute w-4 h-4 bg-white rounded-full shadow top-1 left-1 transition-transform duration-300"></div>
|
||||
</div>
|
||||
<div class="ml-3">
|
||||
<span class="text-sm font-medium text-mercedes-black dark:text-slate-300">
|
||||
🔌 Steckdosen-Status anzeigen
|
||||
</span>
|
||||
<div class="text-xs text-mercedes-gray dark:text-slate-400">
|
||||
Ein-/Ausschalt-Ereignisse der Drucker-Steckdosen
|
||||
</div>
|
||||
</div>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<!-- Spacer for future options -->
|
||||
<div></div>
|
||||
<div></div>
|
||||
</div>
|
||||
|
||||
<!-- Quick Analytics -->
|
||||
<div class="grid grid-cols-2 md:grid-cols-4 gap-4">
|
||||
<div class="stat-card active p-4">
|
||||
@ -1178,7 +1204,32 @@ document.addEventListener('DOMContentLoaded', function() {
|
||||
startTime: '08:00',
|
||||
endTime: '18:00'
|
||||
},
|
||||
events: '/api/calendar/events',
|
||||
events: function(info, successCallback, failureCallback) {
|
||||
const params = new URLSearchParams({
|
||||
start: info.start.toISOString(),
|
||||
end: info.end.toISOString()
|
||||
});
|
||||
|
||||
// Drucker-Filter hinzufügen
|
||||
const printerFilter = document.getElementById('printerFilter');
|
||||
if (printerFilter && printerFilter.value) {
|
||||
params.append('printer_id', printerFilter.value);
|
||||
}
|
||||
|
||||
// Steckdosen-Events hinzufügen falls aktiviert
|
||||
const showPlugEvents = document.getElementById('showPlugEvents');
|
||||
if (showPlugEvents && showPlugEvents.checked) {
|
||||
params.append('show_plug_events', 'true');
|
||||
}
|
||||
|
||||
fetch(`/api/calendar/events?${params.toString()}`)
|
||||
.then(response => response.json())
|
||||
.then(data => successCallback(data))
|
||||
.catch(error => {
|
||||
console.error('Fehler beim Laden der Events:', error);
|
||||
failureCallback(error);
|
||||
});
|
||||
},
|
||||
editable: canEdit,
|
||||
selectable: canEdit,
|
||||
selectMirror: true,
|
||||
@ -1223,6 +1274,30 @@ document.addEventListener('DOMContentLoaded', function() {
|
||||
calendar.refetchEvents();
|
||||
});
|
||||
|
||||
// Steckdosen-Events Toggle Handler
|
||||
const showPlugEventsToggle = document.getElementById('showPlugEvents');
|
||||
if (showPlugEventsToggle) {
|
||||
showPlugEventsToggle.addEventListener('change', function() {
|
||||
// Toggle-Animation
|
||||
const toggleElement = this.nextElementSibling;
|
||||
const dot = toggleElement.querySelector('.dot');
|
||||
const toggleBg = toggleElement.querySelector('div');
|
||||
|
||||
if (this.checked) {
|
||||
dot.classList.add('translate-x-5');
|
||||
toggleBg.classList.remove('bg-gray-200', 'dark:bg-gray-700');
|
||||
toggleBg.classList.add('bg-green-500', 'dark:bg-green-600');
|
||||
} else {
|
||||
dot.classList.remove('translate-x-5');
|
||||
toggleBg.classList.remove('bg-green-500', 'dark:bg-green-600');
|
||||
toggleBg.classList.add('bg-gray-200', 'dark:bg-gray-700');
|
||||
}
|
||||
|
||||
// Kalender neu laden
|
||||
calendar.refetchEvents();
|
||||
});
|
||||
}
|
||||
|
||||
// Form Submit Handler
|
||||
document.getElementById('eventForm').addEventListener('submit', async function(e) {
|
||||
e.preventDefault();
|
||||
|
Reference in New Issue
Block a user