Compare commits

...

2 Commits

16 changed files with 168 additions and 97 deletions

View File

@ -13,6 +13,10 @@ const routes: Routes = [
path: 'tabs',
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',
loadChildren: () => import('./view-evento/view-evento.module').then( m => m.ViewEventoPageModule)
@ -26,6 +30,11 @@ const routes: Routes = [
redirectTo: 'login',
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,
localizacion: string,
fecha: Date,
hora: Time,
hora: Date,
descripcion: string,
precio1: number,
precio2: number,

View File

@ -32,10 +32,10 @@
<ion-item>
<label>
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>
<span
*ngIf="hora.errors.required && submitted">
*ngIf="hora?.errors?.required && submitted">
Tu evento necesita una hora
</span>
</ion-item>

View File

@ -48,7 +48,6 @@ export class PromptEventoPage implements OnInit{
precio1: null,
precio2: null
};
this.asignarEvento(evento);
@ -66,23 +65,12 @@ export class PromptEventoPage implements OnInit{
evento.hora = hora;
evento.precio1 = this.eventoForm.get('precio1').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){
this.tab1Service.initEventos();}
if(!this.tab1Service.eventoForms){
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;
this.tab1Service.postEvento(evento);
}
else{
this.tab1Service.postEvento(evento);
//this.tab1Service.eventos.push(evento);
//this.tab1Service.eventoForms.push(this.eventoForm);
}
}
get nombre(){
return this.eventoForm.get('nombre');

View File

@ -16,7 +16,7 @@ export class FeedService {
this.apiService.getEventos()
.subscribe(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),
descripcion: new FormControl(null, Validators.required),
});
thisForm.controls['nombre'].setValue(evento.nombre);
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);
thisForm.patchValue(evento);
this.eventoForms.push(thisForm);
})
}

View File

@ -1,56 +1,33 @@
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta charset="utf-8">
<meta name="keywords" content="">
<meta name="description" content="">
<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-header>
<ion-toolbar>
<ion-title>Eventos Próximos</ion-title>
</ion-toolbar>
</ion-header>
<meta property="og:title" content="Página 1">
<meta property="og:type" content="website">
<meta name="theme-color" content="#478ac9">
<link rel="canonical" href="index.html">
<meta property="og:url" content="index.html">
</head>
<body class="u-body">
<section class="u-clearfix u-section-1" id="sec-6396">
<div class="u-clearfix u-sheet u-sheet-1">
<div class="u-clearfix u-expanded-width u-layout-wrap u-layout-wrap-1">
<div class="u-layout">
<div class="u-layout-row">
<div class="u-size-30">
<div class="u-layout-col">
<div class="u-container-style u-layout-cell u-size-60 u-layout-cell-1">
<div class="u-container-layout u-container-layout-1"></div>
</div>
</div>
<ion-content>
<ion-grid>
<ion-row>
<ion-col size="12">
<div *ngIf="eventos.length>0" class="eventos">
<ion-list>
<ion-item *ngFor="let evento of eventos" button (click)="mostrarEvento(evento)">
<div class="evento">
<div class="eventoHeader">
{{evento.nombre}} ·
<ion-icon name="calendar-outline"></ion-icon>
{{evento.fecha}} ·
<ion-icon name="cash-outline"></ion-icon>
{{evento.precio1}},{{evento.precio2}}
<ion-button (click)="editarEvento(evento);$event.stopPropagation();"><ion-icon name="pencil-outline"></ion-icon></ion-button>
</div>
<div class="u-size-30">
<div class="u-layout-col">
<div class="u-container-style u-layout-cell u-size-30 u-layout-cell-2">
<div class="u-container-layout u-container-layout-2"></div>
</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 class="eventoDesc">
{{evento.descripcion}}
</div>
</div>
</div>
</div>
</ion-item>
</ion-list>
</div>
</section>
</body>
</ion-col>
</ion-row>
</ion-grid>
</ion-content>

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({
selector: 'app-tab2',
templateUrl: 'tab2.page.html',
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',
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: '',
redirectTo: 'tab1',

View File

@ -2,19 +2,11 @@
<ion-tab-bar slot="bottom">
<ion-tab-button tab="tab1">
<ion-icon name="triangle"></ion-icon>
<ion-label>Tab 1</ion-label>
<ion-icon name="home-outline"></ion-icon>
<ion-label>Perfil</ion-label>
</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-tabs>