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); } };