Merge branch 'order' into 'main'

This commit is contained in:
2025-11-13 22:51:24 +01:00
34 changed files with 720 additions and 83 deletions

View File

@@ -1,39 +1,37 @@
import {Injectable} from '@angular/core';
import { Injectable, signal } from '@angular/core';
import {Sitzplatz} from '@infinimotion/model-frontend';
@Injectable({
providedIn: 'root',
})
export class SelectedSeatsService {
private selectedSeatsList: Sitzplatz[] = [];
private selectedSeatsSignal = signal<Sitzplatz[]>([]);
private seatIsSelectable: boolean = true;
get selectedSeats() {
return this.selectedSeatsSignal;
}
pushSelectedSeat(selectedSeat: Sitzplatz): void {
this.selectedSeatsList.push(selectedSeat);
//console.log("Added" + selectedSeat);
console.log(this.selectedSeatsList);
this.selectedSeatsSignal.update(seats => [...seats, selectedSeat]);
}
removeSelectedSeat(selectedSeat: Sitzplatz): void {
let removeId = this.selectedSeatsList.indexOf(selectedSeat);
if(removeId !== -1) {
this.selectedSeatsList.splice(removeId, 1)
}
//console.log("Removed" + selectedSeat)
console.log(this.selectedSeatsList);
this.selectedSeatsSignal.update(seats =>
seats.filter(seat => seat.id !== selectedSeat.id)
);
}
getSelectedSeatsList(): Sitzplatz[] {
return this.selectedSeatsList;
return this.selectedSeatsSignal();
}
getSelectedSeatsByCategory(categoryId: number): Sitzplatz[] {
return this.selectedSeatsSignal().filter(seat => seat.row.category.id === categoryId);
}
clearSelectedSeatsList(): void {
this.selectedSeatsList = [];
//for (let i = this.selectedSeatsList.length - 1; i >= 0; i--) {
// const seat = this.selectedSeatsList[i];
// this.removeSelectedSeat(seat);
//}
this.selectedSeatsSignal.set([]);
}
getSeatIsSelected(): boolean{