Skip to content
Snippets Groups Projects
Commit 109dc258 authored by migudel's avatar migudel :speech_balloon:
Browse files

some details in hotel html and angular files

parent 3bc78e90
Branches
No related tags found
2 merge requests!10Add ts types and json mocks, remove poblate scripts and fix the cascade...,!7Dev/angular/hotel register
...@@ -47,7 +47,6 @@ export class HotelListComponent { ...@@ -47,7 +47,6 @@ export class HotelListComponent {
getHotels() { getHotels() {
this.client.getAllHotels().subscribe({ this.client.getAllHotels().subscribe({
next: (resp) => { next: (resp) => {
console.warn({ resp });
if (!!resp || (resp as never[]).length != 0) this.hotels = [...resp]; if (!!resp || (resp as never[]).length != 0) this.hotels = [...resp];
}, },
error(err) { error(err) {
...@@ -59,8 +58,6 @@ export class HotelListComponent { ...@@ -59,8 +58,6 @@ export class HotelListComponent {
deleteHotel(id: number) { deleteHotel(id: number) {
if (!confirm(`Borrar hotel con id ${id}. Continuar?`)) return; if (!confirm(`Borrar hotel con id ${id}. Continuar?`)) return;
// this.hotels = this.hotels.filter((h) => h.id !== id);
// return;
this.client.deleteHotel(id).subscribe({ this.client.deleteHotel(id).subscribe({
next: (resp) => { next: (resp) => {
...@@ -85,16 +82,6 @@ export class HotelListComponent { ...@@ -85,16 +82,6 @@ export class HotelListComponent {
roomId: number, roomId: number,
availability: boolean availability: boolean
) { ) {
// const target = hotels
// .find((hotel) => hotel.id === hotelId)!
// .rooms.find((room) => room.id === roomId);
// if (!target) {
// alert('Error');
// return;
// }
// const availability = !target.available;
// target.available = availability;
// alert(`Change availability from room ${roomId} to ${availability}`);
this.client.alterRoomAvailability(hotelId, roomId, availability).subscribe({ this.client.alterRoomAvailability(hotelId, roomId, availability).subscribe({
next: (resp) => { next: (resp) => {
if (resp.status < 400) { if (resp.status < 400) {
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
> >
<mat-card-content> <mat-card-content>
<div class="form-group"> <div class="form-group">
<label for="name" class="fs-2">Nombre del Hotel</label> <label for="name" class="display-2">Nombre del Hotel</label>
<input <input
id="name" id="name"
class="form-control fs-3" class="form-control fs-3"
...@@ -56,6 +56,7 @@ ...@@ -56,6 +56,7 @@
class="btn btn-primary rounded-circle" class="btn btn-primary rounded-circle"
(click)="addRoom()" (click)="addRoom()"
[hidden]="editMode" [hidden]="editMode"
[disabled]="editMode"
> >
<strong class="fs-2">+</strong> <strong class="fs-2">+</strong>
</button> </button>
...@@ -81,6 +82,7 @@ ...@@ -81,6 +82,7 @@
(click)="removeRoom(i)" (click)="removeRoom(i)"
[disabled]="rooms.length <= 1" [disabled]="rooms.length <= 1"
[hidden]="editMode" [hidden]="editMode"
[disabled]="editMode"
> >
Eliminar Eliminar
</button> </button>
...@@ -123,7 +125,8 @@ ...@@ -123,7 +125,8 @@
type="submit" type="submit"
class="btn btn-success" class="btn btn-success"
(click)="onSubmit()" (click)="onSubmit()"
[disabled]="!hotelForm.valid" [disabled]="editMode || !hotelForm.valid"
[hidden]="editMode"
> >
<h4>Guardar Hotel</h4> <h4>Guardar Hotel</h4>
</button> </button>
......
import { Component } from '@angular/core'; import { Component } from '@angular/core';
import { import {
AbstractControl,
FormArray, FormArray,
FormBuilder, FormBuilder,
FormGroup, FormGroup,
...@@ -18,17 +17,16 @@ import { ClienteApiRestService } from '../shared/cliente-api-rest.service'; ...@@ -18,17 +17,16 @@ import { ClienteApiRestService } from '../shared/cliente-api-rest.service';
import { Address, Hotel, Room } from '../../types'; import { Address, Hotel, Room } from '../../types';
import { ActivatedRoute, Router } from '@angular/router'; import { ActivatedRoute, Router } from '@angular/router';
const emptyHotel: Hotel = { const emptyRoom: Room = {
id: 0,
name: '',
rooms: [
{
id: 0, id: 0,
available: false,
roomNumber: '', roomNumber: '',
type: 'SINGLE', type: 'SINGLE',
}, available: false,
], };
const emptyHotel: Hotel = {
id: 0,
name: '',
rooms: [emptyRoom],
address: { address: {
id: 0, id: 0,
number: 0, number: 0,
...@@ -73,11 +71,10 @@ export class HotelRegisterComponent { ...@@ -73,11 +71,10 @@ export class HotelRegisterComponent {
this.client.getHotel(id).subscribe({ this.client.getHotel(id).subscribe({
next: (h) => this.setHotelForm(h), next: (h) => this.setHotelForm(h),
error: (error) => { error: (error) => {
router.navigate(['/hotels/new']); this.router.navigate(['/hotels/new']);
}, },
}); });
} }
console.warn({ id });
}, },
}); });
} }
...@@ -89,16 +86,15 @@ export class HotelRegisterComponent { ...@@ -89,16 +86,15 @@ export class HotelRegisterComponent {
// Agregar una nueva habitación // Agregar una nueva habitación
addRoom(): void { addRoom(): void {
const roomForm = this.fb.group({ const roomForm = this.fb.group({
roomNumber: ['', Validators.required], roomNumber: [emptyRoom.roomNumber, Validators.required],
type: ['SINGLE', Validators.required], type: [emptyRoom.type, Validators.required],
available: [true], available: [emptyRoom.available],
}); });
this.rooms.push(roomForm); this.rooms.push(roomForm);
} }
// Eliminar habitación // Eliminar habitación
removeRoom(index: number): void { removeRoom(index: number): void {
alert('remove action');
this.rooms.removeAt(index); this.rooms.removeAt(index);
} }
...@@ -106,11 +102,11 @@ export class HotelRegisterComponent { ...@@ -106,11 +102,11 @@ export class HotelRegisterComponent {
onSubmit(): void { onSubmit(): void {
if (this.hotelForm.valid) { if (this.hotelForm.valid) {
const hotel = this.hotelForm.value as Hotel; const hotel = this.hotelForm.value as Hotel;
console.log(hotel);
this.client.addHotel(hotel).subscribe({ this.client.addHotel(hotel).subscribe({
next: (resp) => { next: (resp) => {
if (resp.status < 400) { if (resp.status < 400) {
alert('Hotel guardado correctamente'); alert('Hotel guardado correctamente');
this.router.navigate(['/hotels']);
} else { } else {
} }
}, },
...@@ -146,7 +142,7 @@ export class HotelRegisterComponent { ...@@ -146,7 +142,7 @@ export class HotelRegisterComponent {
this.fb.group({ this.fb.group({
roomNumber: [room.roomNumber, Validators.required], roomNumber: [room.roomNumber, Validators.required],
type: [room.type, Validators.required], type: [room.type, Validators.required],
available: [true], available: [room.available],
}), }),
Validators.required Validators.required
) )
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment