Activities + Schedule Services
This commit is contained in:
parent
22dbc687a5
commit
5d43399085
12
src/app/Services/activities.service.spec.ts
Normal file
12
src/app/Services/activities.service.spec.ts
Normal file
@ -0,0 +1,12 @@
|
||||
import { TestBed } from '@angular/core/testing';
|
||||
|
||||
import { ActivitiesService } from './activities.service';
|
||||
|
||||
describe('ActivitiesService', () => {
|
||||
beforeEach(() => TestBed.configureTestingModule({}));
|
||||
|
||||
it('should be created', () => {
|
||||
const service: ActivitiesService = TestBed.get(ActivitiesService);
|
||||
expect(service).toBeTruthy();
|
||||
});
|
||||
});
|
17
src/app/Services/activities.service.ts
Normal file
17
src/app/Services/activities.service.ts
Normal file
@ -0,0 +1,17 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import {AngularFirestore} from '@angular/fire/firestore';
|
||||
import {AngularFireDatabase} from '@angular/fire/database';
|
||||
|
||||
@Injectable({
|
||||
providedIn: 'root'
|
||||
})
|
||||
export class ActivitiesService {
|
||||
|
||||
constructor(private afs: AngularFirestore,
|
||||
private db: AngularFireDatabase) {
|
||||
}
|
||||
|
||||
getActivities() {
|
||||
return this.afs.collection('Activities').snapshotChanges();
|
||||
}
|
||||
}
|
12
src/app/Services/schedule.service.spec.ts
Normal file
12
src/app/Services/schedule.service.spec.ts
Normal file
@ -0,0 +1,12 @@
|
||||
import { TestBed } from '@angular/core/testing';
|
||||
|
||||
import { ScheduleService } from './schedule.service';
|
||||
|
||||
describe('ScheduleService', () => {
|
||||
beforeEach(() => TestBed.configureTestingModule({}));
|
||||
|
||||
it('should be created', () => {
|
||||
const service: ScheduleService = TestBed.get(ScheduleService);
|
||||
expect(service).toBeTruthy();
|
||||
});
|
||||
});
|
18
src/app/Services/schedule.service.ts
Normal file
18
src/app/Services/schedule.service.ts
Normal file
@ -0,0 +1,18 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import {AngularFirestore} from '@angular/fire/firestore';
|
||||
|
||||
@Injectable({
|
||||
providedIn: 'root'
|
||||
})
|
||||
export class ScheduleService {
|
||||
|
||||
constructor(private afs: AngularFirestore) { }
|
||||
|
||||
getSchedule() {
|
||||
return this.afs.collection('Schedule').snapshotChanges();
|
||||
}
|
||||
|
||||
createSchedule(schedule) {
|
||||
return this.afs.collection('Schedule').add(schedule);
|
||||
}
|
||||
}
|
0
src/app/activities/activities.component.css
Normal file
0
src/app/activities/activities.component.css
Normal file
14
src/app/activities/activities.component.html
Normal file
14
src/app/activities/activities.component.html
Normal file
@ -0,0 +1,14 @@
|
||||
<app-header></app-header>
|
||||
|
||||
<h1> List of Activities</h1>
|
||||
<div *ngFor="let activity of activities">
|
||||
<h3>{{activity.data.name}}</h3>
|
||||
<ul>
|
||||
<li>Country: {{activity.data.country}}</li>
|
||||
<li>City: {{activity.data.city}}</li>
|
||||
<li>Description: {{activity.data.description}}</li>
|
||||
<li>Duration: {{activity.data.duration}} minutes</li>
|
||||
<li>Id: {{activity.id}}</li>
|
||||
<button (click)="addActivitiesIntoSchedule(activity.id)">Add</button>
|
||||
</ul>
|
||||
</div>
|
25
src/app/activities/activities.component.spec.ts
Normal file
25
src/app/activities/activities.component.spec.ts
Normal file
@ -0,0 +1,25 @@
|
||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
|
||||
import { ActivitiesComponent } from './activities.component';
|
||||
|
||||
describe('ActivitiesComponent', () => {
|
||||
let component: ActivitiesComponent;
|
||||
let fixture: ComponentFixture<ActivitiesComponent>;
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
declarations: [ ActivitiesComponent ]
|
||||
})
|
||||
.compileComponents();
|
||||
}));
|
||||
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(ActivitiesComponent);
|
||||
component = fixture.componentInstance;
|
||||
fixture.detectChanges();
|
||||
});
|
||||
|
||||
it('should create', () => {
|
||||
expect(component).toBeTruthy();
|
||||
});
|
||||
});
|
41
src/app/activities/activities.component.ts
Normal file
41
src/app/activities/activities.component.ts
Normal file
@ -0,0 +1,41 @@
|
||||
import { Component, OnInit } from '@angular/core';
|
||||
import {ActivitiesService} from '@app/Services/activities.service';
|
||||
import {ScheduleService} from '@app/Services/schedule.service';
|
||||
import {ScheduleComponent} from '@app/schedule/schedule.component';
|
||||
import {MatDialog} from '@angular/material';
|
||||
import {NewScheduleComponent} from '@app/new-schedule/new-schedule.component';
|
||||
|
||||
@Component({
|
||||
selector: 'app-activities',
|
||||
templateUrl: './activities.component.html',
|
||||
styleUrls: ['./activities.component.css']
|
||||
})
|
||||
export class ActivitiesComponent implements OnInit {
|
||||
|
||||
activities: any[];
|
||||
schedule = {
|
||||
activitiesId: '',
|
||||
};
|
||||
|
||||
animal: string;
|
||||
name: string;
|
||||
|
||||
constructor(private activitiesService: ActivitiesService,
|
||||
private scheduleService: ScheduleService,
|
||||
public dialog: MatDialog) {
|
||||
}
|
||||
|
||||
ngOnInit() {
|
||||
this.activitiesService.getActivities().subscribe(data => {
|
||||
this.activities = data.map(e => {
|
||||
return {
|
||||
id: e.payload.doc.id,
|
||||
data: e.payload.doc.data()
|
||||
} as any;
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
addActivitiesIntoSchedule(id) {
|
||||
}
|
||||
}
|
@ -2,11 +2,15 @@ import { NgModule } from '@angular/core';
|
||||
import { RouterModule, Routes } from '@angular/router';
|
||||
import { HomeComponent } from './home/home.component';
|
||||
import { RegisterComponent } from './register/register.component';
|
||||
import {ActivitiesComponent} from '@app/activities/activities.component';
|
||||
import {ScheduleComponent} from '@app/schedule/schedule.component';
|
||||
|
||||
const routes: Routes = [
|
||||
// No logged pages
|
||||
{ path: '', component: HomeComponent, },
|
||||
{ path: 'register', component: RegisterComponent },
|
||||
{ path: 'activities', component: ActivitiesComponent },
|
||||
{ path: 'schedule', component: ScheduleComponent },
|
||||
// {
|
||||
// path: 'login',
|
||||
// component: LoginComponent,
|
||||
|
@ -18,6 +18,11 @@ import { GlobalErrorHandler } from '@app/core/global-error-handler/global-error-
|
||||
|
||||
import { environment } from '@env/environment';
|
||||
import { CardDashboardComponent } from './card-dashboard/card-dashboard.component';
|
||||
import { ActivitiesComponent } from './activities/activities.component';
|
||||
import {AngularFirestore} from '@angular/fire/firestore';
|
||||
import { ScheduleComponent } from './schedule/schedule.component';
|
||||
import {MatDialogModule} from '@angular/material';
|
||||
import { NewScheduleComponent } from './new-schedule/new-schedule.component';
|
||||
|
||||
@NgModule( {
|
||||
declarations: [
|
||||
@ -26,6 +31,9 @@ import { CardDashboardComponent } from './card-dashboard/card-dashboard.componen
|
||||
HeaderComponent,
|
||||
RegisterComponent,
|
||||
CardDashboardComponent,
|
||||
ActivitiesComponent,
|
||||
ScheduleComponent,
|
||||
NewScheduleComponent,
|
||||
],
|
||||
imports: [
|
||||
BrowserModule,
|
||||
@ -35,8 +43,10 @@ import { CardDashboardComponent } from './card-dashboard/card-dashboard.componen
|
||||
AngularFireAuthModule,
|
||||
AngularFireDatabaseModule,
|
||||
AppMaterialModule,
|
||||
MatDialogModule,
|
||||
],
|
||||
providers: [
|
||||
AngularFirestore,
|
||||
LogService,
|
||||
SEOService,
|
||||
{
|
||||
@ -44,7 +54,8 @@ import { CardDashboardComponent } from './card-dashboard/card-dashboard.componen
|
||||
useClass: GlobalErrorHandler,
|
||||
},
|
||||
],
|
||||
bootstrap: [ AppComponent ]
|
||||
bootstrap: [ AppComponent ],
|
||||
entryComponents: [NewScheduleComponent],
|
||||
} )
|
||||
export class AppModule {
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user