Compare commits

..

2 Commits

16 changed files with 168 additions and 97 deletions

View File

@ -13,6 +13,10 @@ const routes: Routes = [
path: 'tabs', path: 'tabs',
loadChildren: () => import('./tabs/tabs.module').then(m => m.TabsPageModule) loadChildren: () => import('./tabs/tabs.module').then(m => m.TabsPageModule)
}, },
{
path: 'tabsUser',
loadChildren: () => import('./tabs-user/tabs-user.module').then(m => m.TabsUserPageModule)
},
{ {
path: 'view-evento', path: 'view-evento',
loadChildren: () => import('./view-evento/view-evento.module').then( m => m.ViewEventoPageModule) loadChildren: () => import('./view-evento/view-evento.module').then( m => m.ViewEventoPageModule)
@ -26,6 +30,11 @@ const routes: Routes = [
redirectTo: 'login', redirectTo: 'login',
pathMatch: 'full' pathMatch: 'full'
}, },
{
path: 'tabs-user',
loadChildren: () => import('./tabs-user/tabs-user.module').then( m => m.TabsUserPageModule)
},

View File

@ -6,7 +6,7 @@ export interface Eventoi {
nombre: string, nombre: string,
localizacion: string, localizacion: string,
fecha: Date, fecha: Date,
hora: Time, hora: Date,
descripcion: string, descripcion: string,
precio1: number, precio1: number,
precio2: number, precio2: number,

View File

@ -32,10 +32,10 @@
<ion-item> <ion-item>
<label> <label>
Hora Hora
<ion-datetime displayFormat="HH:MM"placeholder="Elegir Hora" formControlName="hora"></ion-datetime> <ion-datetime displayFormat="HH:mm"placeholder="Elegir Hora" formControlName="hora"></ion-datetime>
</label> </label>
<span <span
*ngIf="hora.errors.required && submitted"> *ngIf="hora?.errors?.required && submitted">
Tu evento necesita una hora Tu evento necesita una hora
</span> </span>
</ion-item> </ion-item>

View File

@ -48,7 +48,6 @@ export class PromptEventoPage implements OnInit{
precio1: null, precio1: null,
precio2: null precio2: null
}; };
this.asignarEvento(evento); this.asignarEvento(evento);
@ -66,22 +65,11 @@ export class PromptEventoPage implements OnInit{
evento.hora = hora; evento.hora = hora;
evento.precio1 = this.eventoForm.get('precio1').value; evento.precio1 = this.eventoForm.get('precio1').value;
evento.precio2 = this.eventoForm.get('precio2').value; evento.precio2 = this.eventoForm.get('precio2').value;
//evento.setDia(evento.getFecha()); el datetime de Ion devuelve un String, no se puede
if (!this.tab1Service.eventos){ if (!this.tab1Service.eventos){
this.tab1Service.initEventos();} this.tab1Service.initEventos();}
if(!this.tab1Service.eventoForms){ if(!this.tab1Service.eventoForms){
this.tab1Service.initEventoForms();} this.tab1Service.initEventoForms();}
if(this.tab1Service.editarEvento==true){
this.tab1Service.updateEvento(evento);
//this.tab1Service.eventos[this.tab1Service.eventoIndex] = evento;
//this.tab1Service.eventoForms[this.tab1Service.eventoIndex] = this.eventoForm;
}
else{
this.tab1Service.postEvento(evento); this.tab1Service.postEvento(evento);
//this.tab1Service.eventos.push(evento);
//this.tab1Service.eventoForms.push(this.eventoForm);
}
} }
get nombre(){ get nombre(){

View File

@ -16,7 +16,7 @@ export class FeedService {
this.apiService.getEventos() this.apiService.getEventos()
.subscribe(eventos => { .subscribe(eventos => {
this.eventos = eventos; this.eventos = eventos;
this.router.navigate(['/tabsUser'])
}) })
} }
} }

View File

@ -86,12 +86,7 @@ export class Tab1Service implements OnInit{
precio2: new FormControl(null, Validators.required), precio2: new FormControl(null, Validators.required),
descripcion: new FormControl(null, Validators.required), descripcion: new FormControl(null, Validators.required),
}); });
thisForm.controls['nombre'].setValue(evento.nombre); thisForm.patchValue(evento);
thisForm.controls['fecha'].setValue(evento.fecha);
thisForm.controls['hora'].setValue(evento.hora);
thisForm.controls['precio1'].setValue(evento.precio1);
thisForm.controls['precio2'].setValue(evento.precio2);
thisForm.controls['descripcion'].setValue(evento.descripcion);
this.eventoForms.push(thisForm); this.eventoForms.push(thisForm);
}) })
} }

View File

@ -1,56 +1,33 @@
<head> <ion-header>
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <ion-toolbar>
<meta charset="utf-8"> <ion-title>Eventos Próximos</ion-title>
<meta name="keywords" content=""> </ion-toolbar>
<meta name="description" content=""> </ion-header>
<meta name="page_type" content="np-template-header-footer-from-plugin">
<title>Página 1</title>
<link rel="stylesheet" href="nicepage.css" media="screen">
<link rel="stylesheet" href="Página-1.css" media="screen">
<script class="u-script" type="text/javascript" src="jquery.js" defer=""></script>
<script class="u-script" type="text/javascript" src="nicepage.js" defer=""></script>
<meta name="generator" content="Nicepage 3.0.9, nicepage.com">
<link id="u-theme-google-font" rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:100,100i,300,300i,400,400i,500,500i,700,700i,900,900i|Open+Sans:300,300i,400,400i,600,600i,700,700i,800,800i">
<ion-content>
<ion-grid>
<meta property="og:title" content="Página 1"> <ion-row>
<meta property="og:type" content="website"> <ion-col size="12">
<meta name="theme-color" content="#478ac9"> <div *ngIf="eventos.length>0" class="eventos">
<link rel="canonical" href="index.html"> <ion-list>
<meta property="og:url" content="index.html"> <ion-item *ngFor="let evento of eventos" button (click)="mostrarEvento(evento)">
</head> <div class="evento">
<body class="u-body"> <div class="eventoHeader">
<section class="u-clearfix u-section-1" id="sec-6396"> {{evento.nombre}} ·
<div class="u-clearfix u-sheet u-sheet-1"> <ion-icon name="calendar-outline"></ion-icon>
<div class="u-clearfix u-expanded-width u-layout-wrap u-layout-wrap-1"> {{evento.fecha}} ·
<div class="u-layout"> <ion-icon name="cash-outline"></ion-icon>
<div class="u-layout-row"> {{evento.precio1}},{{evento.precio2}}
<div class="u-size-30"> <ion-button (click)="editarEvento(evento);$event.stopPropagation();"><ion-icon name="pencil-outline"></ion-icon></ion-button>
<div class="u-layout-col"> </div>
<div class="u-container-style u-layout-cell u-size-60 u-layout-cell-1"> <div class="eventoDesc">
{{evento.descripcion}}
<div class="u-container-layout u-container-layout-1"></div>
</div> </div>
</div> </div>
</ion-item>
</ion-list>
</div> </div>
<div class="u-size-30"> </ion-col>
<div class="u-layout-col"> </ion-row>
<div class="u-container-style u-layout-cell u-size-30 u-layout-cell-2"> </ion-grid>
<div class="u-container-layout u-container-layout-2"></div> </ion-content>
</div>
<div class="u-container-style u-layout-cell u-size-30 u-layout-cell-3">
<div class="u-container-layout u-container-layout-3"></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
</body>

View File

@ -1,12 +1,19 @@
import { Component } from '@angular/core'; import { Component, OnInit } from '@angular/core';
import { Eventoi } from '../interfaces/eventoi';
import { FeedService } from '../services/feed.service';
@Component({ @Component({
selector: 'app-tab2', selector: 'app-tab2',
templateUrl: 'tab2.page.html', templateUrl: 'tab2.page.html',
styleUrls: ['tab2.page.scss'] styleUrls: ['tab2.page.scss']
}) })
export class Tab2Page { export class Tab2Page implements OnInit{
constructor() {} eventos: Eventoi[];
constructor(private feedService: FeedService) {}
ngOnInit(){
this.eventos = this.feedService.eventos;
}
} }

View File

@ -0,0 +1,34 @@
import { FullscreenOverlayContainer } from '@angular/cdk/overlay';
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { TabsUserPage } from './tabs-user.page';
const routes: Routes = [
{
path: '',
component: TabsUserPage,
children: [
{
path: 'tab2',
loadChildren: ()=> import('../tab2/tab2.module').then(m=>m.Tab2PageModule),
},
{
path: 'tab3',
loadChildren: ()=> import('../tab3/tab3.module').then(m=>m.Tab3PageModule),
},
{
path:'',
redirectTo: 'tab2',
pathMatch: 'full'
}
]
}
];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule],
})
export class TabsUserPageRoutingModule {}

View File

@ -0,0 +1,20 @@
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import { IonicModule } from '@ionic/angular';
import { TabsUserPageRoutingModule } from './tabs-user-routing.module';
import { TabsUserPage } from './tabs-user.page';
@NgModule({
imports: [
CommonModule,
FormsModule,
IonicModule,
TabsUserPageRoutingModule
],
declarations: [TabsUserPage]
})
export class TabsUserPageModule {}

View File

@ -0,0 +1,17 @@
<ion-tabs>
<ion-tab-bar slot="bottom">
<ion-tab-button tab="tab2">
<ion-icon name="search-outline"></ion-icon>
<ion-label>Feed</ion-label>
</ion-tab-button>
<ion-tab-button tab="tab3">
<ion-icon name="accessibility-outline"></ion-icon>
<ion-label>Me</ion-label>
</ion-tab-button>
</ion-tab-bar>
</ion-tabs>

View File

View File

@ -0,0 +1,24 @@
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { IonicModule } from '@ionic/angular';
import { TabsUserPage } from './tabs-user.page';
describe('TabsUserPage', () => {
let component: TabsUserPage;
let fixture: ComponentFixture<TabsUserPage>;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ TabsUserPage ],
imports: [IonicModule.forRoot()]
}).compileComponents();
fixture = TestBed.createComponent(TabsUserPage);
component = fixture.componentInstance;
fixture.detectChanges();
}));
it('should create', () => {
expect(component).toBeTruthy();
});
});

View File

@ -0,0 +1,15 @@
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-tabs-user',
templateUrl: './tabs-user.page.html',
styleUrls: ['./tabs-user.page.scss'],
})
export class TabsUserPage implements OnInit {
constructor() { }
ngOnInit() {
}
}

View File

@ -11,14 +11,7 @@ const routes: Routes = [
path: 'tab1', path: 'tab1',
loadChildren: () => import('../tab1/tab1.module').then(m => m.Tab1PageModule), loadChildren: () => import('../tab1/tab1.module').then(m => m.Tab1PageModule),
}, },
{
path: 'tab2',
loadChildren: () => import('../tab2/tab2.module').then(m => m.Tab2PageModule)
},
{
path: 'tab3',
loadChildren: () => import('../tab3/tab3.module').then(m => m.Tab3PageModule)
},
{ {
path: '', path: '',
redirectTo: 'tab1', redirectTo: 'tab1',

View File

@ -2,19 +2,11 @@
<ion-tab-bar slot="bottom"> <ion-tab-bar slot="bottom">
<ion-tab-button tab="tab1"> <ion-tab-button tab="tab1">
<ion-icon name="triangle"></ion-icon> <ion-icon name="home-outline"></ion-icon>
<ion-label>Tab 1</ion-label> <ion-label>Perfil</ion-label>
</ion-tab-button> </ion-tab-button>
<ion-tab-button tab="tab2">
<ion-icon name="ellipse"></ion-icon>
<ion-label>Tab 2</ion-label>
</ion-tab-button>
<ion-tab-button tab="tab3">
<ion-icon name="square"></ion-icon>
<ion-label>Tab 3</ion-label>
</ion-tab-button>
</ion-tab-bar> </ion-tab-bar>
</ion-tabs> </ion-tabs>