ka
This commit is contained in:
parent
25abd00a4c
commit
d510c92719
@ -3,6 +3,7 @@ import {Hotel} from "./hotel"
|
|||||||
import {CurrencyPipe} from "@angular/common";
|
import {CurrencyPipe} from "@angular/common";
|
||||||
import {Lang} from "../idek/lang";
|
import {Lang} from "../idek/lang";
|
||||||
import {StarComponent} from "../star/star.component";
|
import {StarComponent} from "../star/star.component";
|
||||||
|
import {HotelService} from "../service/hotel.service";
|
||||||
|
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
@ -27,4 +28,7 @@ export class HotelComponent {
|
|||||||
public currency: Lang = {name: 'de', code: 'de-DE', currency: 'EUR'}
|
public currency: Lang = {name: 'de', code: 'de-DE', currency: 'EUR'}
|
||||||
@Input()
|
@Input()
|
||||||
public hotel!: Hotel;
|
public hotel!: Hotel;
|
||||||
|
|
||||||
|
constructor() {
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,8 +1,9 @@
|
|||||||
import {Component} from "@angular/core";
|
import {Component, inject} from "@angular/core";
|
||||||
import {HotelComponent} from "./hotel.component";
|
import {HotelComponent} from "./hotel.component";
|
||||||
import {Hotel} from "./hotel";
|
import {Hotel} from "./hotel";
|
||||||
import {FormsModule} from "@angular/forms";
|
import {FormsModule} from "@angular/forms";
|
||||||
import {Lang} from "../idek/lang";
|
import {Lang} from "../idek/lang";
|
||||||
|
import {HotelService} from "../service/hotel.service";
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
standalone: true,
|
standalone: true,
|
||||||
@ -23,6 +24,7 @@ import {Lang} from "../idek/lang";
|
|||||||
}
|
}
|
||||||
`,
|
`,
|
||||||
imports: [FormsModule, HotelComponent],
|
imports: [FormsModule, HotelComponent],
|
||||||
|
providers: [HotelService],
|
||||||
selector: 'app-hotels'
|
selector: 'app-hotels'
|
||||||
})
|
})
|
||||||
export class HotelsComponent {
|
export class HotelsComponent {
|
||||||
@ -55,8 +57,10 @@ export class HotelsComponent {
|
|||||||
|
|
||||||
public matchingHotels: Hotel[] = [];
|
public matchingHotels: Hotel[] = [];
|
||||||
|
|
||||||
|
private hotelService: HotelService = inject(HotelService);
|
||||||
|
|
||||||
constructor() {
|
constructor() {
|
||||||
this.matchingHotels = this.hotels;
|
this.matchingHotels = this.hotelService.getHotels;
|
||||||
}
|
}
|
||||||
|
|
||||||
public setCurrency(currencyInput: string): void {
|
public setCurrency(currencyInput: string): void {
|
||||||
@ -71,45 +75,10 @@ export class HotelsComponent {
|
|||||||
public searchEvent(input: string) {
|
public searchEvent(input: string) {
|
||||||
this.search = input.toLowerCase();
|
this.search = input.toLowerCase();
|
||||||
this.matchingHotels = []
|
this.matchingHotels = []
|
||||||
this.hotels.forEach((hotel: Hotel) => {
|
this.hotelService.getHotels .forEach((hotel: Hotel) => {
|
||||||
if (hotel.hotelName.toLowerCase().includes(this.search)) {
|
if (hotel.hotelName.toLowerCase().includes(this.search)) {
|
||||||
this.matchingHotels.push(hotel);
|
this.matchingHotels.push(hotel);
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
public hotels: Hotel[] = [
|
|
||||||
{
|
|
||||||
"hotelId": 1,
|
|
||||||
"hotelName": "Buea süßes Leben",
|
|
||||||
"description": "Schöne Aussicht am Meer",
|
|
||||||
"price": 230.5,
|
|
||||||
"imageUrl": "assets/img/heisenberg.jpg",
|
|
||||||
"rating": 3.5
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"hotelId": 2,
|
|
||||||
"hotelName": "Marrakesch",
|
|
||||||
"description": "Genießen Sie den Blick auf die Berge",
|
|
||||||
"price": 145.5,
|
|
||||||
"imageUrl": "assets/img/kjan.png",
|
|
||||||
"rating": 5
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"hotelId": 3,
|
|
||||||
"hotelName": "Abuja neuer Palast",
|
|
||||||
"description": "Kompletter Aufenthalt mit Autoservice",
|
|
||||||
"price": 120.12,
|
|
||||||
"imageUrl": "assets/img/huy.png",
|
|
||||||
"rating": 4
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"hotelId": 4,
|
|
||||||
"hotelName": "OUR Hotel",
|
|
||||||
"description": "Wunderschönes Ambiente für Ihren Aufenthalt",
|
|
||||||
"price": 135.12,
|
|
||||||
"imageUrl": "assets/img/rat.png",
|
|
||||||
"rating": 2.5
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
|
44
src/app/service/hotel.service.ts
Normal file
44
src/app/service/hotel.service.ts
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
import {Injectable} from "@angular/core";
|
||||||
|
import {Hotel} from "../hotel/hotel";
|
||||||
|
|
||||||
|
@Injectable()
|
||||||
|
export class HotelService {
|
||||||
|
private hotels: Hotel[] = [
|
||||||
|
{
|
||||||
|
"hotelId": 1,
|
||||||
|
"hotelName": "Buea süßes Leben",
|
||||||
|
"description": "Schöne Aussicht am Meer",
|
||||||
|
"price": 230.5,
|
||||||
|
"imageUrl": "assets/img/heisenberg.jpg",
|
||||||
|
"rating": 3.5
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"hotelId": 2,
|
||||||
|
"hotelName": "Marrakesch",
|
||||||
|
"description": "Genießen Sie den Blick auf die Berge",
|
||||||
|
"price": 145.5,
|
||||||
|
"imageUrl": "assets/img/kjan.png",
|
||||||
|
"rating": 5
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"hotelId": 3,
|
||||||
|
"hotelName": "Abuja neuer Palast",
|
||||||
|
"description": "Kompletter Aufenthalt mit Autoservice",
|
||||||
|
"price": 120.12,
|
||||||
|
"imageUrl": "assets/img/huy.png",
|
||||||
|
"rating": 4
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"hotelId": 4,
|
||||||
|
"hotelName": "OUR Hotel",
|
||||||
|
"description": "Wunderschönes Ambiente für Ihren Aufenthalt",
|
||||||
|
"price": 135.12,
|
||||||
|
"imageUrl": "assets/img/rat.png",
|
||||||
|
"rating": 2.5
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
public get getHotels() {
|
||||||
|
return this.hotels;
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user