diff --git a/anwendung/src/components/CalenderView.jsx b/anwendung/src/components/CalenderView.jsx index 35ca87a..3cee429 100644 --- a/anwendung/src/components/CalenderView.jsx +++ b/anwendung/src/components/CalenderView.jsx @@ -9,15 +9,38 @@ export default function CalenderView(p) { function mouse_click(e) { let y_window = e.clientY; let y_target_offset = e.target.getBoundingClientRect().top; - let row = Math.floor((y_window - y_target_offset) / 3) + 1 - let current_list = entries[e.currentTarget.id]; - current_list.push(new CalenderEntry(row - 10, row + 5)); - setT(!t); + let row = Math.floor((y_window - y_target_offset) / 10)+1 + if(row <= 98 && row > 3) { + let current_list = entries[e.currentTarget.id]; + let free = true; + for(let i = 0; i < current_list.length; i++) + { + let current = current_list[i]; + + for(let r = row; r < row + 2; r++) + { + for(let s = current.start_point; s < current.end_point; s++) + { + if (s === r) + { + free = false; + break; + } + } + } + } + + if(free) { + current_list.push(new CalenderEntry(row, row + 2)); + setT(!t); + } + } } function internal_to_time(internal) { - internal /= 15 + internal -= 4 + internal /= 4 let integer = Math.floor(internal) let decimal = internal.toFixed(2); let minutes = Math.floor((decimal - integer) * 60); @@ -30,14 +53,14 @@ export default function CalenderView(p) {
{internal_to_time(d.start_point)}
{internal_to_time(d.end_point)}
{internal_to_time(d.start_point)}
{internal_to_time(d.end_point)}
@@ -45,7 +68,7 @@ export default function CalenderView(p) {{internal_to_time(d.start_point)}
{internal_to_time(d.end_point)}
@@ -53,7 +76,7 @@ export default function CalenderView(p) {{internal_to_time(d.start_point)}
{internal_to_time(d.end_point)}
@@ -61,14 +84,14 @@ export default function CalenderView(p) {{internal_to_time(d.start_point)}
{internal_to_time(d.end_point)}
{internal_to_time(d.start_point)}
{internal_to_time(d.end_point)}