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;