Skip to content

Commit

Permalink
ui: dragged tour color + overlap check
Browse files Browse the repository at this point in the history
  • Loading branch information
felixguendling committed May 26, 2024
1 parent 8056644 commit e96d442
Showing 1 changed file with 27 additions and 3 deletions.
30 changes: 27 additions & 3 deletions ui/src/routes/+page.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,12 @@
from: new Date('2024-05-24T11:13:00'),
to: new Date('2024-05-24T11:46:00'),
vehicle_id: 1
},
{
id: 2,
from: new Date('2024-05-24T11:22:00'),
to: new Date('2024-05-24T11:40:00'),
vehicle_id: 0
}
]);
Expand Down Expand Up @@ -196,7 +202,13 @@
vehicle_id!: number;
}
let draggedTours: Drag | null = null;
let draggedTours = $state<Drag | null>(null);
const hasOverlap = () => {
return draggedTours?.tours.some((d) =>
tours.some((t) => t.vehicle_id == draggedTours?.vehicle_id && overlaps(d, t))
);
};
const dragStart = (vehicle_id: number, cell: Range) => {
if (cell === undefined) return;
Expand All @@ -211,12 +223,24 @@
};
const onDrop = () => {
draggedTours!.tours.forEach((t) => (t.vehicle_id = draggedTours!.vehicle_id));
if (!hasOverlap()) {
draggedTours!.tours.forEach((t) => (t.vehicle_id = draggedTours!.vehicle_id));
}
draggedTours = null;
};
const hasDraggedTour = (vehicle_id: number, cell: Range) => {
return (
!draggedTours?.tours.some((t) => t.vehicle_id == vehicle_id) &&
draggedTours?.vehicle_id == vehicle_id &&
draggedTours?.tours.some((t) => overlaps(t, cell))
);
};
const cellColor = (id: number, v: Vehicle, cell: Range) => {
if (hasTour(id, cell)) {
if (hasDraggedTour(id, cell)) {
return hasOverlap() ? 'bg-red-500' : 'bg-orange-200';
} else if (hasTour(id, cell)) {
return 'bg-orange-400';
} else if (selection !== null && isSelected(id, cell)) {
return selection.available ? 'bg-yellow-100' : '';
Expand Down

0 comments on commit e96d442

Please sign in to comment.