import { Component, OnInit } from '@angular/core'; import { Location } from '@angular/common'; import { Router, ActivatedRoute } from '@angular/router'; import { MyordersService } from './../../config/myorder.service'; import { ModalController } from '@ionic/angular'; import { DeliverypopPage } from '../deliverypop/deliverypop.page'; import { ServiceService } from './../../config/service.service'; @Component({ selector: 'app-myorder', templateUrl: './myorder.page.html', styleUrls: ['./myorder.page.scss'], }) export class MyorderPage implements OnInit { loader = false; userData: any; constructor( private router: Router, private route: ActivatedRoute, private location: Location, public myorder: MyordersService, public modalController: ModalController, public service: ServiceService ) { } ngOnInit() { const This = this; this.loader = true; setTimeout(() => { This.loader = false; }, 500); this.service.get('user').then(data => { if (data) { this.userData = JSON.parse(data); console.log(this.userData.uid); this.myorder.orderList(this.userData.uid); } }); } async finishpop(data: any) { const modal = await this.modalController.create({ component: DeliverypopPage, componentProps: data }); return await modal.present(); } goToPage(path, data = null) { this.router.navigateByUrl(path, { queryParams: data }); document.body.scrollTop = document.documentElement.scrollTop = 0; } goBack() { this.location.back(); } orderDetails(index: number) { this.myorder.trackOrder(this.myorder.orders[index]); this.router.navigateByUrl('trackorder'); document.body.scrollTop = document.documentElement.scrollTop = 0; } acceptOrder(order: any) { if (order.orderStatus === 7) { this.finishpop(order); } } viewOrder(data) { console.log(data); this.service.set('order', data); this.router.navigateByUrl('orderplaced', { queryParams: data }); document.body.scrollTop = document.documentElement.scrollTop = 0; } getStatus(status: number) { switch (status) { case 1: return 'Booked'; break; case 2: return 'Shop Accepted'; break; case 3: return 'Rider Assigned'; break; case 4: return 'Reached Shop'; break; case 5: return 'Picked Up'; break; case 6: return 'Reached Location'; break; case 7: return 'Delivered'; break; case 9: return 'Completed'; break; case 8: return 'Rejected'; break; case 10: return 'Not Received'; break; case 0: return 'Cancelled'; break; default: return 'Finished'; } } unEscape(text: string) { const regex = '%uFFFD'; return unescape(text.replace(/%uFFFD/g, '')); } getProductTotal(products) { let amtPrice = 0; products.forEach(element => { amtPrice += (element.price * element.qty); }); const totalAmt: number = parseFloat(amtPrice.toFixed(2)); return 'A$' + (this.service.formatNumber(totalAmt)); } }