From 71612b1a9c7daf5f675a65c5f3b04fa92424131a Mon Sep 17 00:00:00 2001 From: Constantin Simonis Date: Tue, 3 Dec 2024 09:56:02 +0100 Subject: [PATCH] minor changes --- src/app/app.component.ts | 6 +-- src/app/app.config.ts | 2 +- src/app/app.routes.ts | 6 +-- src/app/currency/currency.component.ts | 2 +- src/app/{idek => currency}/lang.ts | 0 .../{ => component}/create-hotel.component.ts | 2 +- .../{ => component}/delete-hotel.component.ts | 0 .../{ => component}/edit-hotel.component.ts | 14 ++--- .../hotel/{ => component}/hotel.component.ts | 6 +-- .../hotel/{ => component}/hotels.component.ts | 8 +-- .../component}/star.component.ts | 0 src/app/hotel/{ => model}/hotel.ts | 0 .../{ => hotel}/service/HotelData.service.ts | 2 +- src/app/{ => hotel}/service/hotel.service.ts | 2 +- src/app/hotel/tag.component.ts | 33 ------------ src/app/idek/idk.component.ts | 53 ------------------- src/app/idek/test.pipe.ts | 11 ---- src/app/star/star.component.spec.ts | 2 +- 18 files changed, 26 insertions(+), 123 deletions(-) rename src/app/{idek => currency}/lang.ts (100%) rename src/app/hotel/{ => component}/create-hotel.component.ts (94%) rename src/app/hotel/{ => component}/delete-hotel.component.ts (100%) rename src/app/hotel/{ => component}/edit-hotel.component.ts (93%) rename src/app/hotel/{ => component}/hotel.component.ts (92%) rename src/app/hotel/{ => component}/hotels.component.ts (88%) rename src/app/{star => hotel/component}/star.component.ts (100%) rename src/app/hotel/{ => model}/hotel.ts (100%) rename src/app/{ => hotel}/service/HotelData.service.ts (97%) rename src/app/{ => hotel}/service/hotel.service.ts (95%) delete mode 100644 src/app/hotel/tag.component.ts delete mode 100644 src/app/idek/idk.component.ts delete mode 100644 src/app/idek/test.pipe.ts diff --git a/src/app/app.component.ts b/src/app/app.component.ts index 2af0d0c..1353e60 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -1,13 +1,13 @@ import {Component, OnInit} from '@angular/core'; -import {HotelsComponent} from "./hotel/hotels.component"; -import {IdkComponent} from "./idek/idk.component"; import {filter, from, map, reduce} from "rxjs"; import {RouterOutlet} from "@angular/router"; @Component({ selector: 'app-root', standalone: true, - imports: [HotelsComponent, IdkComponent, RouterOutlet], + imports: [ + RouterOutlet + ], template: ` ` diff --git a/src/app/app.config.ts b/src/app/app.config.ts index 6701c4c..42a2071 100644 --- a/src/app/app.config.ts +++ b/src/app/app.config.ts @@ -7,7 +7,7 @@ import localeCn from "@angular/common/locales/en" import localeJap from "@angular/common/locales/en" import {provideHttpClient} from "@angular/common/http"; import {InMemoryWebApiModule} from "angular-in-memory-web-api"; -import {HotelDataService} from "./service/HotelData.service"; +import {HotelDataService} from "./hotel/service/HotelData.service"; registerLocaleData(localeDe, 'de-DE') registerLocaleData(localeCn, 'cn-CN') diff --git a/src/app/app.routes.ts b/src/app/app.routes.ts index b212a8a..6049b30 100644 --- a/src/app/app.routes.ts +++ b/src/app/app.routes.ts @@ -1,7 +1,7 @@ import {Routes} from '@angular/router'; -import {HotelsComponent} from "./hotel/hotels.component"; -import {HotelComponent} from "./hotel/hotel.component"; -import {CreateHotelComponent} from "./hotel/create-hotel.component"; +import {HotelsComponent} from "./hotel/component/hotels.component"; +import {HotelComponent} from "./hotel/component/hotel.component"; +import {CreateHotelComponent} from "./hotel/component/create-hotel.component"; export const routes: Routes = [ { diff --git a/src/app/currency/currency.component.ts b/src/app/currency/currency.component.ts index c9b743f..f1e04d8 100644 --- a/src/app/currency/currency.component.ts +++ b/src/app/currency/currency.component.ts @@ -1,6 +1,6 @@ import {Component, EventEmitter, Output} from "@angular/core"; import {FormsModule, ReactiveFormsModule} from "@angular/forms"; -import {Lang} from "../idek/lang"; +import {Lang} from "./lang"; @Component({ diff --git a/src/app/idek/lang.ts b/src/app/currency/lang.ts similarity index 100% rename from src/app/idek/lang.ts rename to src/app/currency/lang.ts diff --git a/src/app/hotel/create-hotel.component.ts b/src/app/hotel/component/create-hotel.component.ts similarity index 94% rename from src/app/hotel/create-hotel.component.ts rename to src/app/hotel/component/create-hotel.component.ts index 00924b3..c8c8737 100644 --- a/src/app/hotel/create-hotel.component.ts +++ b/src/app/hotel/component/create-hotel.component.ts @@ -1,5 +1,5 @@ import {Component, inject} from "@angular/core"; -import {Hotel} from "./hotel"; +import {Hotel} from "../model/hotel"; import {HotelService} from "../service/hotel.service"; import {EditHotelComponent} from "./edit-hotel.component"; import {Router} from "@angular/router"; diff --git a/src/app/hotel/delete-hotel.component.ts b/src/app/hotel/component/delete-hotel.component.ts similarity index 100% rename from src/app/hotel/delete-hotel.component.ts rename to src/app/hotel/component/delete-hotel.component.ts diff --git a/src/app/hotel/edit-hotel.component.ts b/src/app/hotel/component/edit-hotel.component.ts similarity index 93% rename from src/app/hotel/edit-hotel.component.ts rename to src/app/hotel/component/edit-hotel.component.ts index e42a8c7..1c71ff6 100644 --- a/src/app/hotel/edit-hotel.component.ts +++ b/src/app/hotel/component/edit-hotel.component.ts @@ -8,10 +8,9 @@ import { ReactiveFormsModule, Validators } from "@angular/forms"; -import {Hotel} from "./hotel"; +import {Hotel} from "../model/hotel"; import {RouterLink} from "@angular/router"; import {NgForOf} from "@angular/common"; -import {TagComponent} from "./tag.component"; @Component({ selector: 'app-edit-hotel', @@ -21,7 +20,6 @@ import {TagComponent} from "./tag.component"; ReactiveFormsModule, RouterLink, NgForOf, - TagComponent ], template: ` @@ -73,7 +71,6 @@ export class EditHotelComponent implements OnInit { tags.push(new FormControl(tag, [Validators.required])); } - console.log(tags) this.form = new FormGroup({ name: new FormControl(this.hotel?.hotelName, [Validators.required]), description: new FormControl(this.hotel?.description, [Validators.required]), @@ -85,8 +82,11 @@ export class EditHotelComponent implements OnInit { submit() { if (!this.form.valid) { - console.error('Form invalid'); - + console.error('Form invalid: '); + for (const key in this.form.controls) { + console.error(key, this.form.controls[key].errors); + } + return; } const hotel: Hotel = { @@ -98,7 +98,7 @@ export class EditHotelComponent implements OnInit { id: this.hotel?.id ?? 0, tags: this.form.value.tags ?? [] }; - console.log(hotel) + this.updateHotel.emit(hotel) this.hotel = hotel; diff --git a/src/app/hotel/hotel.component.ts b/src/app/hotel/component/hotel.component.ts similarity index 92% rename from src/app/hotel/hotel.component.ts rename to src/app/hotel/component/hotel.component.ts index 7c584ae..a578834 100644 --- a/src/app/hotel/hotel.component.ts +++ b/src/app/hotel/component/hotel.component.ts @@ -1,8 +1,8 @@ import {Component, inject, OnInit} from "@angular/core"; -import {Hotel} from "./hotel" +import {Hotel} from "../model/hotel" import {CurrencyPipe, NgOptimizedImage} from "@angular/common"; -import {Lang} from "../idek/lang"; -import {StarComponent} from "../star/star.component"; +import {Lang} from "../../currency/lang"; +import {StarComponent} from "./star.component"; import {ActivatedRoute} from "@angular/router"; import {HotelService} from "../service/hotel.service"; import {catchError, EMPTY} from "rxjs"; diff --git a/src/app/hotel/hotels.component.ts b/src/app/hotel/component/hotels.component.ts similarity index 88% rename from src/app/hotel/hotels.component.ts rename to src/app/hotel/component/hotels.component.ts index 8a58b28..7370ffe 100644 --- a/src/app/hotel/hotels.component.ts +++ b/src/app/hotel/component/hotels.component.ts @@ -1,14 +1,14 @@ import {Component, inject} from "@angular/core"; import {HotelComponent} from "./hotel.component"; -import {Hotel} from "./hotel"; +import {Hotel} from "../model/hotel"; import {FormsModule} from "@angular/forms"; -import {Lang} from "../idek/lang"; +import {Lang} from "../../currency/lang"; import {HotelService} from "../service/hotel.service"; import {filter, Observable, toArray} from "rxjs"; import {AsyncPipe} from "@angular/common"; -import {CurrencyComponent} from "../currency/currency.component"; +import {CurrencyComponent} from "../../currency/currency.component"; import {RouterLink} from "@angular/router"; -import {StarComponent} from "../star/star.component"; +import {StarComponent} from "./star.component"; @Component({ standalone: true, diff --git a/src/app/star/star.component.ts b/src/app/hotel/component/star.component.ts similarity index 100% rename from src/app/star/star.component.ts rename to src/app/hotel/component/star.component.ts diff --git a/src/app/hotel/hotel.ts b/src/app/hotel/model/hotel.ts similarity index 100% rename from src/app/hotel/hotel.ts rename to src/app/hotel/model/hotel.ts diff --git a/src/app/service/HotelData.service.ts b/src/app/hotel/service/HotelData.service.ts similarity index 97% rename from src/app/service/HotelData.service.ts rename to src/app/hotel/service/HotelData.service.ts index 755b4c1..10cb315 100644 --- a/src/app/service/HotelData.service.ts +++ b/src/app/hotel/service/HotelData.service.ts @@ -1,5 +1,5 @@ import {InMemoryDbService} from "angular-in-memory-web-api"; -import {Hotel} from "../hotel/hotel"; +import {Hotel} from "../model/hotel"; export class HotelDataService implements InMemoryDbService{ diff --git a/src/app/service/hotel.service.ts b/src/app/hotel/service/hotel.service.ts similarity index 95% rename from src/app/service/hotel.service.ts rename to src/app/hotel/service/hotel.service.ts index 1e7b933..c7bd988 100644 --- a/src/app/service/hotel.service.ts +++ b/src/app/hotel/service/hotel.service.ts @@ -1,7 +1,7 @@ import {HttpClient} from "@angular/common/http"; import {inject, Injectable} from "@angular/core"; import {Observable} from "rxjs"; -import {Hotel} from "../hotel/hotel"; +import {Hotel} from "../model/hotel"; @Injectable({ providedIn: "root", diff --git a/src/app/hotel/tag.component.ts b/src/app/hotel/tag.component.ts deleted file mode 100644 index 5a0da3e..0000000 --- a/src/app/hotel/tag.component.ts +++ /dev/null @@ -1,33 +0,0 @@ -import {Component, EventEmitter, Input, Output} from "@angular/core"; -import {AbstractControl, ControlContainer, FormGroupDirective, ReactiveFormsModule} from "@angular/forms"; -import {JsonPipe} from "@angular/common"; - - -@Component({ - standalone: true, - selector: 'app-tag', - imports: [ - ReactiveFormsModule, - JsonPipe - ], - viewProviders: [ - { - provide: ControlContainer, - useExisting: FormGroupDirective - } - ], - template: ` - ` -}) -export class TagComponent { - - @Input() - tagElement!: AbstractControl; - - @Output() - deleteEvent: EventEmitter = new EventEmitter(); - - delete() { - this.deleteEvent.emit(this.tagElement); - } -} diff --git a/src/app/idek/idk.component.ts b/src/app/idek/idk.component.ts deleted file mode 100644 index 624215c..0000000 --- a/src/app/idek/idk.component.ts +++ /dev/null @@ -1,53 +0,0 @@ -import {Component} from "@angular/core"; -import {CurrencyPipe} from "@angular/common"; -import {FormsModule} from "@angular/forms"; -import {Lang} from "./lang"; - -@Component({ - selector: 'app-idk', - standalone: true, - imports: [CurrencyPipe, FormsModule], - template: ` - - {{ 234 | currency : currency.currency : 'symbol' : '2.2-2' : currency.code }} - ` -}) -export class IdkComponent { - public currency: Lang = {name: 'de', code: 'de-DE', currency: 'EUR'}; - - public currencies: Lang[] = [ - { - name: 'de', - code: 'de-DE', - currency: 'EUR' - }, - { - name: 'en', - code: 'en-US', - currency: 'USD' - }, - { - name: 'jap', - code: 'ja-JP', - currency: 'JPY' - }, - { - name: 'cn', - code: 'cn-CN', - currency: 'CNY' - } - ] - - public setCurrency(currencyInput: string): void { - for (const currency of this.currencies) { - if (currency.name === currencyInput) { - this.currency = currency; - break; - } - } - } -} diff --git a/src/app/idek/test.pipe.ts b/src/app/idek/test.pipe.ts deleted file mode 100644 index 7098a15..0000000 --- a/src/app/idek/test.pipe.ts +++ /dev/null @@ -1,11 +0,0 @@ -import {Pipe, PipeTransform} from "@angular/core"; - -@Pipe({ - name: 'idk', - standalone: true, -}) -export class TestPipe implements PipeTransform { - transform(value: string): string { - return value.toLowerCase().replaceAll('l', 'p'); - } -} diff --git a/src/app/star/star.component.spec.ts b/src/app/star/star.component.spec.ts index 421ff18..ebcd739 100644 --- a/src/app/star/star.component.spec.ts +++ b/src/app/star/star.component.spec.ts @@ -1,6 +1,6 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { StarComponent } from './star.component'; +import { StarComponent } from '../hotel/component/star.component'; describe('StarComponent', () => { let component: StarComponent;