Buchungsseite + Fancy Kalender
This commit is contained in:
@@ -42,6 +42,8 @@
|
||||
<script src="js/init.js"></script>
|
||||
<script src="_framework/blazor.webassembly.js"></script>
|
||||
<script src="_content/Blazor.Bootstrap/blazor.bootstrap.js"></script>
|
||||
<script src="js/onProfNext.js"></script>
|
||||
<script src="js/dragDrop.js"></script>
|
||||
</body>
|
||||
|
||||
|
||||
|
||||
37
OnProfNext.Client/wwwroot/js/dragDrop.js
Normal file
37
OnProfNext.Client/wwwroot/js/dragDrop.js
Normal file
@@ -0,0 +1,37 @@
|
||||
window.onProfNext = {
|
||||
preventDefault: function (event) {
|
||||
if (event) {
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
}
|
||||
},
|
||||
startResize: function (event, bookingId, onResizeCallback) {
|
||||
event.preventDefault();
|
||||
const element = event.target.closest('.booking-item');
|
||||
if (!element) return;
|
||||
|
||||
let startY = event.clientY;
|
||||
let startHeight = parseInt(element.style.height) || 50; // Default 50px (1 hour)
|
||||
const minHeight = 25; // Minimum 0.5 hours
|
||||
const maxHeight = 400; // Maximum 8 hours
|
||||
|
||||
function onMouseMove(e) {
|
||||
const deltaY = e.clientY - startY;
|
||||
let newHeight = Math.max(minHeight, Math.min(maxHeight, startHeight + deltaY));
|
||||
newHeight = Math.round(newHeight / 25) * 25; // Round to nearest 0.5 hours
|
||||
element.style.height = `${newHeight}px`;
|
||||
|
||||
const hours = newHeight / 50; // 50px = 1 hour
|
||||
window.onProfNext.currentHours = hours;
|
||||
}
|
||||
|
||||
function onMouseUp() {
|
||||
document.removeEventListener('mousemove', onMouseMove);
|
||||
document.removeEventListener('mouseup', onMouseUp);
|
||||
DotNet.invokeMethodAsync('OnProfNext.Client', 'UpdateBookingHours', bookingId, window.onProfNext.currentHours);
|
||||
}
|
||||
|
||||
document.addEventListener('mousemove', onMouseMove);
|
||||
document.addEventListener('mouseup', onMouseUp);
|
||||
}
|
||||
};
|
||||
15
OnProfNext.Client/wwwroot/js/onProfNext.js
Normal file
15
OnProfNext.Client/wwwroot/js/onProfNext.js
Normal file
@@ -0,0 +1,15 @@
|
||||
|
||||
window.onProfNext = {
|
||||
preventDefault: function () {
|
||||
// Diese Funktion wird von Blazor aufgerufen, um preventDefault zu setzen
|
||||
// Sie muss an einem Ort aufgerufen werden, wo das Event verfügbar ist
|
||||
// In Blazor wird sie über @ondragover aufgerufen
|
||||
return true; // Signalisiert, dass der Aufruf erfolgreich war
|
||||
}
|
||||
};
|
||||
|
||||
// Event-Listener für dragover, um preventDefault zu setzen
|
||||
document.addEventListener('dragover', (event) => {
|
||||
event.preventDefault();
|
||||
event.dataTransfer.dropEffect = 'move';
|
||||
});
|
||||
Reference in New Issue
Block a user