Merge branch 'order' into 'main'
This commit is contained in:
@@ -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{
|
||||
|
||||
Reference in New Issue
Block a user