diff --git a/src/app/app.module.ts b/src/app/app.module.ts
index 31d208b..139464e 100644
--- a/src/app/app.module.ts
+++ b/src/app/app.module.ts
@@ -20,6 +20,7 @@ import { EditTravelComponent } from './pages/edit-travel/edit-travel.component';
import { HeaderComponent } from './views/header/header.component';
import { ListComponent } from './views/list/list.component';
import { TravelFormComponent } from './views/travel-form/travel-form.component';
+import { NewTravelComponent } from './pages/new-travel/new-travel.component';
const ROUTING_OPTIONS: ExtraOptions = {
// preloadingStrategy: CustomPreloadingStrategy,
@@ -51,7 +52,8 @@ const ROUTING_OPTIONS: ExtraOptions = {
EditTravelComponent,
HeaderComponent,
ListComponent,
- TravelFormComponent
+ TravelFormComponent,
+ NewTravelComponent
],
providers: [
// (useHash) ? { provide: LocationStrategy, useClass: HashLocationStrategy } : [],
diff --git a/src/app/app.routes.ts b/src/app/app.routes.ts
index 235b235..3f2002c 100644
--- a/src/app/app.routes.ts
+++ b/src/app/app.routes.ts
@@ -1,6 +1,7 @@
import { Routes } from '@angular/router';
import { EditTravelComponent } from './pages/edit-travel/edit-travel.component';
import { HomeComponent } from './pages/home/home.component';
+import { NewTravelComponent } from './pages/new-travel/new-travel.component';
import { TravelComponent } from './pages/travel/travel.component';
export let APP_ROUTES: Routes = [
@@ -14,12 +15,12 @@ export let APP_ROUTES: Routes = [
component: HomeComponent
},
{
- path: 'travel/:id',
- component: TravelComponent
+ path: 'travel/new',
+ component: NewTravelComponent
},
{
- path: 'travel/new',
- component: EditTravelComponent
+ path: 'travel/:id',
+ component: TravelComponent
},
{
path: 'travel/:id/edit',
diff --git a/src/app/entities/travel.ts b/src/app/entities/travel.ts
index 5c51427..377aee2 100644
--- a/src/app/entities/travel.ts
+++ b/src/app/entities/travel.ts
@@ -2,14 +2,16 @@ import { UserInfo } from './user-info';
export type TravelId = number;
-export interface Travel {
- id: Travel;
- driverInfo: UserInfo;
- travelersInfo: UserInfo[];
- departureDate: string;
- origin: string;
- destination: string;
- places: number;
- description?: string;
- matrixRoomId: string;
+export class Travel {
+ constructor(
+ public id: TravelId = -1,
+ public driverInfo: UserInfo = null,
+ public travelersInfo: UserInfo[] = null,
+ public departureDate: string = '',
+ public origin: string = '',
+ public destination: string = '',
+ public places: number = 0,
+ public matrixRoomId: string = '',
+ public description?: string
+ ) { }
}
diff --git a/src/app/pages/edit-travel/edit-travel.component.html b/src/app/pages/edit-travel/edit-travel.component.html
index 3f4aad7..8ddae6a 100644
--- a/src/app/pages/edit-travel/edit-travel.component.html
+++ b/src/app/pages/edit-travel/edit-travel.component.html
@@ -1,4 +1,4 @@
-
Editar
-
+
Editar viaje
+
\ No newline at end of file
diff --git a/src/app/pages/edit-travel/edit-travel.component.ts b/src/app/pages/edit-travel/edit-travel.component.ts
index 295e65b..d791b37 100644
--- a/src/app/pages/edit-travel/edit-travel.component.ts
+++ b/src/app/pages/edit-travel/edit-travel.component.ts
@@ -1,5 +1,6 @@
-import { Component, OnInit } from '@angular/core';
+import { Component, OnInit, ViewChild } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
+import { TravelFormComponent } from 'src/app/views/travel-form/travel-form.component';
import { PUBLIC_API_URL } from '../../app.config';
import { Travel, TravelId } from '../../entities/travel';
import { ApiService } from '../../services/api.service';
@@ -12,6 +13,8 @@ import { ApiService } from '../../services/api.service';
export class EditTravelComponent implements OnInit {
travel: Travel;
+ @ViewChild(TravelFormComponent, { static: true }) form: TravelFormComponent;
+
constructor(
private apiService: ApiService,
private route: ActivatedRoute
diff --git a/src/app/pages/new-travel/new-travel.component.css b/src/app/pages/new-travel/new-travel.component.css
new file mode 100644
index 0000000..e69de29
diff --git a/src/app/pages/new-travel/new-travel.component.html b/src/app/pages/new-travel/new-travel.component.html
new file mode 100644
index 0000000..f875e13
--- /dev/null
+++ b/src/app/pages/new-travel/new-travel.component.html
@@ -0,0 +1,4 @@
+
\ No newline at end of file
diff --git a/src/app/pages/new-travel/new-travel.component.spec.ts b/src/app/pages/new-travel/new-travel.component.spec.ts
new file mode 100644
index 0000000..c0ba794
--- /dev/null
+++ b/src/app/pages/new-travel/new-travel.component.spec.ts
@@ -0,0 +1,25 @@
+import { ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { NewTravelComponent } from './new-travel.component';
+
+describe('NewTravelComponent', () => {
+ let component: NewTravelComponent;
+ let fixture: ComponentFixture;
+
+ beforeEach(async () => {
+ await TestBed.configureTestingModule({
+ declarations: [ NewTravelComponent ]
+ })
+ .compileComponents();
+ });
+
+ beforeEach(() => {
+ fixture = TestBed.createComponent(NewTravelComponent);
+ component = fixture.componentInstance;
+ fixture.detectChanges();
+ });
+
+ it('should create', () => {
+ expect(component).toBeTruthy();
+ });
+});
diff --git a/src/app/pages/new-travel/new-travel.component.ts b/src/app/pages/new-travel/new-travel.component.ts
new file mode 100644
index 0000000..daedd30
--- /dev/null
+++ b/src/app/pages/new-travel/new-travel.component.ts
@@ -0,0 +1,26 @@
+import { Component, OnInit, ViewChild } from '@angular/core';
+import { ActivatedRoute } from '@angular/router';
+import { TravelFormComponent } from 'src/app/views/travel-form/travel-form.component';
+import { PUBLIC_API_URL } from '../../app.config';
+import { Travel, TravelId } from '../../entities/travel';
+import { ApiService } from '../../services/api.service';
+
+@Component({
+ selector: 'app-new-travel',
+ templateUrl: './new-travel.component.html',
+ styleUrls: ['./new-travel.component.css']
+})
+export class NewTravelComponent implements OnInit {
+ travel: Travel;
+
+ @ViewChild(TravelFormComponent, { static: true }) form: TravelFormComponent;
+
+ constructor(
+ private apiService: ApiService,
+ private route: ActivatedRoute
+ ) { }
+
+ ngOnInit(): void {
+ this.travel = new Travel();
+ }
+}
diff --git a/src/app/pages/travel/travel.component.ts b/src/app/pages/travel/travel.component.ts
index 95ff5c6..c385666 100644
--- a/src/app/pages/travel/travel.component.ts
+++ b/src/app/pages/travel/travel.component.ts
@@ -1,5 +1,5 @@
import { Component, OnInit } from '@angular/core';
-import { Router, ActivatedRoute, ParamMap } from '@angular/router';
+import { ActivatedRoute } from '@angular/router';
import { PUBLIC_API_URL } from '../../app.config';
import { Travel, TravelId } from '../../entities/travel';
import { ApiService } from '../../services/api.service';
diff --git a/src/app/views/travel-form/travel-form.component.html b/src/app/views/travel-form/travel-form.component.html
index c7b0a20..5f14ca7 100644
--- a/src/app/views/travel-form/travel-form.component.html
+++ b/src/app/views/travel-form/travel-form.component.html
@@ -6,15 +6,16 @@
El origen es obligatorio
-
+
-
+
@@ -22,10 +23,11 @@
El destino es obligatorio
-
+
-
+
diff --git a/src/app/views/travel-form/travel-form.component.ts b/src/app/views/travel-form/travel-form.component.ts
index d7393ff..ea69007 100644
--- a/src/app/views/travel-form/travel-form.component.ts
+++ b/src/app/views/travel-form/travel-form.component.ts
@@ -1,4 +1,4 @@
-import { Component, OnInit } from '@angular/core';
+import { Component, Input, OnInit } from '@angular/core';
import { Travel } from 'src/app/entities/travel';
@Component({
@@ -7,7 +7,7 @@ import { Travel } from 'src/app/entities/travel';
styleUrls: ['./travel-form.component.css']
})
export class TravelFormComponent implements OnInit {
- travel: Travel;
+ @Input() travel: Travel;
submitted = false;
constructor() { }