From c4f366eac387f9fd047066941bd39f3a229a3026 Mon Sep 17 00:00:00 2001 From: kj1352 Date: Wed, 2 Oct 2019 20:22:24 +0530 Subject: [PATCH] Partial commit for orders component --- src/app/app.module.ts | 2 ++ src/app/models/cart-item.ts | 5 +--- src/app/orders/orders.component.html | 10 ++++++++ src/app/orders/orders.component.scss | 0 src/app/orders/orders.component.spec.ts | 27 +++++++++++++++++++ src/app/orders/orders.component.ts | 17 ++++++++++++ src/app/profile/profile.module.ts | 4 ++- src/app/profile/profile.page.html | 7 +---- src/app/profile/profile.page.ts | 2 +- src/app/services/user-data.service.spec.ts | 12 +++++++++ src/app/services/user-data.service.ts | 30 ++++++++++++++++++++++ 11 files changed, 104 insertions(+), 12 deletions(-) create mode 100644 src/app/orders/orders.component.html create mode 100644 src/app/orders/orders.component.scss create mode 100644 src/app/orders/orders.component.spec.ts create mode 100644 src/app/orders/orders.component.ts create mode 100644 src/app/services/user-data.service.spec.ts create mode 100644 src/app/services/user-data.service.ts diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 04cc78c..f5b5334 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -13,6 +13,7 @@ import { MenuItemService } from './services/menu-item.service'; import { OfferService } from './services/offer.service'; import { OutletService } from './services/outlet.service'; import { CartItemService } from './services/cart-item.service'; +import { UserDataService } from './services/user-data.service'; import { AppComponent } from './app.component'; import { AppRoutingModule } from './app-routing.module'; @@ -36,6 +37,7 @@ import { environment } from '../environments/environment'; OfferService, OutletService, CartItemService, + UserDataService, { provide: RouteReuseStrategy, useClass: IonicRouteStrategy } ], bootstrap: [AppComponent] diff --git a/src/app/models/cart-item.ts b/src/app/models/cart-item.ts index 393b24e..cf46ab8 100644 --- a/src/app/models/cart-item.ts +++ b/src/app/models/cart-item.ts @@ -1,6 +1,6 @@ import MenuItem from './menu-item'; -class CartItem { +export default class CartItem { menu_item: string; quantity: number; pickup_time: Date; @@ -52,6 +52,3 @@ export interface ICartItem { take_away: boolean; total_price: number; } - - -export default CartItem; diff --git a/src/app/orders/orders.component.html b/src/app/orders/orders.component.html new file mode 100644 index 0000000..961bb5a --- /dev/null +++ b/src/app/orders/orders.component.html @@ -0,0 +1,10 @@ +
+
MY ORDERS
+ + SORT / FILTER + +
+ +

+ orders works! +

diff --git a/src/app/orders/orders.component.scss b/src/app/orders/orders.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/app/orders/orders.component.spec.ts b/src/app/orders/orders.component.spec.ts new file mode 100644 index 0000000..ea29c68 --- /dev/null +++ b/src/app/orders/orders.component.spec.ts @@ -0,0 +1,27 @@ +import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { OrdersComponent } from './orders.component'; + +describe('OrdersComponent', () => { + let component: OrdersComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ OrdersComponent ], + schemas: [CUSTOM_ELEMENTS_SCHEMA], + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(OrdersComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/orders/orders.component.ts b/src/app/orders/orders.component.ts new file mode 100644 index 0000000..6599846 --- /dev/null +++ b/src/app/orders/orders.component.ts @@ -0,0 +1,17 @@ +import { Component, OnInit } from '@angular/core'; +import { UserDataService } from '../services/user-data.service'; + +@Component({ + selector: 'app-orders', + templateUrl: './orders.component.html', + styleUrls: ['./orders.component.scss'], +}) +export class OrdersComponent implements OnInit { + + constructor( + private userDataService: UserDataService + ) { } + + ngOnInit() { } + +} diff --git a/src/app/profile/profile.module.ts b/src/app/profile/profile.module.ts index 2417f67..a63e232 100644 --- a/src/app/profile/profile.module.ts +++ b/src/app/profile/profile.module.ts @@ -7,6 +7,8 @@ import { IonicModule } from '@ionic/angular'; import { ProfilePage } from './profile.page'; +import { OrdersComponent } from '../orders/orders.component'; + const routes: Routes = [ { path: '', @@ -21,6 +23,6 @@ const routes: Routes = [ IonicModule, RouterModule.forChild(routes) ], - declarations: [ProfilePage] + declarations: [ProfilePage, OrdersComponent] }) export class ProfilePageModule {} diff --git a/src/app/profile/profile.page.html b/src/app/profile/profile.page.html index 58c416e..126cdf3 100644 --- a/src/app/profile/profile.page.html +++ b/src/app/profile/profile.page.html @@ -50,11 +50,6 @@ -
-
{{ selected_tab }}
- - SORT / FILTER - -
+ diff --git a/src/app/profile/profile.page.ts b/src/app/profile/profile.page.ts index 6d1e3ae..5e2a7be 100644 --- a/src/app/profile/profile.page.ts +++ b/src/app/profile/profile.page.ts @@ -10,7 +10,7 @@ export class ProfilePage implements OnInit { selected_tab: string = 'MY ORDERS'; constructor( - private location: Location + private location: Location, ) { } ngOnInit() { diff --git a/src/app/services/user-data.service.spec.ts b/src/app/services/user-data.service.spec.ts new file mode 100644 index 0000000..3b03de8 --- /dev/null +++ b/src/app/services/user-data.service.spec.ts @@ -0,0 +1,12 @@ +import { TestBed } from '@angular/core/testing'; + +import { UserDataService } from './user-data.service'; + +describe('UserDataService', () => { + beforeEach(() => TestBed.configureTestingModule({})); + + it('should be created', () => { + const service: UserDataService = TestBed.get(UserDataService); + expect(service).toBeTruthy(); + }); +}); diff --git a/src/app/services/user-data.service.ts b/src/app/services/user-data.service.ts new file mode 100644 index 0000000..7f5512b --- /dev/null +++ b/src/app/services/user-data.service.ts @@ -0,0 +1,30 @@ +import { Injectable } from '@angular/core'; +import CartItem from '../models/cart-item'; +import { Storage } from '@ionic/storage'; + +@Injectable({ + providedIn: 'root' +}) +export class UserDataService { + orders: Array = []; + + constructor( + private storage: Storage + ) { } + + async updateUserOrders(orders: Array) { + this.orders = orders; + this.storage.set('user_orders', JSON.stringify(this.orders)); + return await this.orders; + } + + async getAllUserOrders() { + return await this.storage.get('user_orders').then((data: string) => { + if (data) { + return JSON.parse(data); + } else { + return []; + } + }); + } +}