Commit 6bfccee2 by Alen Jose

Merge branch 'alen' into 'master'

aug-1 See merge request alen/CMC_revamp!24
parents 8bd6b23f 2d3345f3
import { Component, ViewChild } from '@angular/core';
import { Nav, Platform, Events, AlertController } from 'ionic-angular';
import { Nav, Platform, Events, AlertController, PopoverController } from 'ionic-angular';
import { StatusBar } from '@ionic-native/status-bar';
import { SplashScreen } from '@ionic-native/splash-screen';
import { Storage } from '@ionic/storage';
......@@ -24,7 +24,7 @@ export class MyApp {
quit: string
cancel: string
constructor(public platform: Platform, public statusBar: StatusBar, public splashScreen: SplashScreen, public storage: Storage, public events: Events, private myservice: Myservice, private locationAccuracy: LocationAccuracy, private network: Network, public alertCtrl: AlertController, private oneSignal: OneSignal, private translate: TranslateService) {
constructor(public platform: Platform, public statusBar: StatusBar, public splashScreen: SplashScreen, public storage: Storage, public events: Events, private myservice: Myservice, private locationAccuracy: LocationAccuracy, private network: Network, public alertCtrl: AlertController, private oneSignal: OneSignal, private translate: TranslateService, public popoverCtrl: PopoverController) {
this.initializeApp();
}
......@@ -132,11 +132,11 @@ export class MyApp {
if (data) {
this.translate.use(data);
this.lang = data;
this.lang_trans()
}
else {
this.translate.setDefaultLang('en');
}
this.lang_trans()
})
}
......@@ -148,4 +148,9 @@ export class MyApp {
this.cancel = value["sidemenu.Cancel"]
})
}
presentPopover() {
let popover = this.popoverCtrl.create('PopoverPage');
popover.present();
}
}
\ No newline at end of file
......@@ -14,6 +14,7 @@
<li menuClose class="trip" (click)="open_page('MytripsPage')">{{'sidemenu.My Trips'|translate}}</li>
<!-- <li menuClose class="settings" (click)="open_page('SettingsPage')">Settings</li> -->
<li menuClose class="logout" (click)="open_page('LandingPage')">{{'sidemenu.Logout'|translate}}</li>
<li menuClose class="langtr" (click)="presentPopover()">{{'sidemenu.Language'|translate}}</li>
</ul>
</div>
</div>
......
......@@ -24,4 +24,5 @@
.cab_sidemenu_list ul .offer{background: url("../assets/img/offer.png");}
.cab_sidemenu_list ul .settings{background: url("../assets/img/settings.png");}
.cab_sidemenu_list ul .logout{background: url("../assets/img/logout.png");}
.cab_sidemenu_list ul .langtr{background: url("../assets/img/menu6.png");}
// @import "../assets/css/essential.scss";
......@@ -48,7 +48,8 @@
"Network Error": "Network Error",
"No Internet Connection": "No Internet Connection",
"Quit": "Quit",
"Cancel": "Cancel"
"Cancel": "Cancel",
"Language":"Language"
},
"forgot": {
"Forgot Password": "Forgot Password",
......@@ -122,66 +123,105 @@
"Ride time Rate": "Ride time Rate",
"OKAY": "OKAY"
},
"coupon" : {
"Add Coupons":"Add Coupons",
"Enter Coupon Code" : "Enter Coupon Code",
"Apply":"Apply",
"Payment Details":"Payment Details",
"Total":"Total",
"Discount":"Discount",
"Due after service":"Due after service",
"CONTINUE":"CONTINUE",
"CANCEL" :"CANCEL",
"Promocode Expired":"Promocode Expired",
"Invalid Promocode":"Invalid Promocode",
"Secret key miss match":"Secret key miss match"
},
"confirm" : {
"Success":"Success",
"Your booking has been confirmed on" : "Your booking has been confirmed on",
"OKAY" : "OKAY"
},
"ride" : {
"Quickride Details":"Quickride Details",
"From":"From",
"To":"To",
"Track Driver" : "Track Driver",
"Searching for driver" : "Searching for driver",
"No drivers found" : "No drivers found",
"No drivers are available" : "No drivers are available",
"Please search again" : "Please search again",
"Cancel" : "Cancel",
"Search" : "Search",
"Please try again!" : "Please try again!",
"Secret key miss match" : "Secret key miss match",
"Ratings":"Ratings",
"Something went wrong please try again" : "Something went wrong please try again."
},
"map":{
"Map" : "Map",
"From" : "From",
"To" : "To",
"Cancel" : "Cancel"
},
"rating":{
"Rate now" : "Rate now",
"Give your rating" : "Give your rating",
"Submit" : "Submit",
"Later" : "Later",
"Please try again!" : "Please try again!",
"Secret key miss match" : "Secret key miss match"
},
"ridesummary":{
"Quickride Details" : "Quickride Details",
"From" : "From",
"To" : "To",
"Ratings" : "Ratings",
"Total" : "Total",
"km" : "km",
"Discount" : "Discount",
"Total Price" : "Total Price",
"Close" : "Close",
"Please try again!" : "Please try again!",
"Secret key miss match" : "Secret key miss match"
"coupon": {
"Add Coupons": "Add Coupons",
"Enter Coupon Code": "Enter Coupon Code",
"Apply": "Apply",
"Payment Details": "Payment Details",
"Total": "Total",
"Discount": "Discount",
"Due after service": "Due after service",
"CONTINUE": "CONTINUE",
"CANCEL": "CANCEL",
"Promocode Expired": "Promocode Expired",
"Invalid Promocode": "Invalid Promocode",
"Secret key miss match": "Secret key miss match"
},
"confirm": {
"Success": "Success",
"Your booking has been confirmed on": "Your booking has been confirmed on",
"OKAY": "OKAY"
},
"ride": {
"Quickride Details": "Quickride Details",
"From": "From",
"To": "To",
"Track Driver": "Track Driver",
"Searching for driver": "Searching for driver",
"No drivers found": "No drivers found",
"No drivers are available": "No drivers are available",
"Please search again": "Please search again",
"Cancel": "Cancel",
"Search": "Search",
"Please try again!": "Please try again!",
"Secret key miss match": "Secret key miss match",
"Ratings": "Ratings",
"Something went wrong please try again": "Something went wrong please try again."
},
"map": {
"Map": "Map",
"From": "From",
"To": "To",
"Cancel": "Cancel"
},
"rating": {
"Rate now": "Rate now",
"Give your rating": "Give your rating",
"Submit": "Submit",
"Later": "Later",
"Please try again!": "Please try again!",
"Secret key miss match": "Secret key miss match"
},
"ridesummary": {
"Quickride Details": "Quickride Details",
"From": "From",
"To": "To",
"Ratings": "Ratings",
"Total": "Total",
"km": "km",
"Discount": "Discount",
"Total Price": "Total Price",
"Close": "Close",
"Please try again!": "Please try again!",
"Secret key miss match": "Secret key miss match"
},
"payment": {
"Payment Details": "Payment Details",
"Pickup Point": "Pickup Point",
"Drop Point": "Drop Point",
"Total": "Total",
"Discount": "Discount",
"Due after service": "Due after service",
"OKAY": "OKAY",
"Please try again!": "Please try again!",
"Secret key miss match": "Secret key miss match"
},
"mytrips": {
"My Trips": "My Trips",
"Rides": "Rides",
"Upcoming": "Upcoming",
"Completed": "Completed",
"from": "from",
"to": "to",
"Please try again": "Please try again"
},
"trip": {
"Trips Details": "Trips Details",
"Pickup Point": "Pickup Point",
"Drop Point": "Drop Point",
"CAB DETAILS": "CAB DETAILS",
"DRIVER DETAILS": "DRIVER DETAILS",
"Call Now": "Call Now",
"PAYMENT DETAILS": "PAYMENT DETAILS",
"Amount Charged": "Amount Charged",
"Discount Amount": "Discount Amount",
"Amount Payable": "Amount Payable",
"Kindly Rate us for our service.": "Kindly Rate us for our service.",
"Your rating is important for our better service.": "Your ratting is important for our better service.",
"CANCEL RIDE": "CANCEL RIDE",
"Please try again!": "Please try again!",
"Secret key miss match": "Secret key miss match",
"Success": "Success",
"Successfully cancelled the ride": "Successfully cancelled the ride"
}
}
\ No newline at end of file
......@@ -30,9 +30,7 @@ export class LandingPage {
this.lang = lang;
}
else {
this.translate.use('en').subscribe(resp=>{
console.log(resp)
})
this.translate.use('en')
}
})
}
......
import { NgModule } from '@angular/core';
import { IonicPageModule } from 'ionic-angular';
import { MytripsPage } from './mytrips';
import { TranslateModule } from "@ngx-translate/core";
@NgModule({
declarations: [
......@@ -8,6 +9,7 @@ import { MytripsPage } from './mytrips';
],
imports: [
IonicPageModule.forChild(MytripsPage),
TranslateModule
],
})
export class MytripsPageModule {}
......@@ -3,6 +3,7 @@ import { IonicPage, NavController, NavParams,Content,Slides } from 'ionic-angula
import { Myservice } from "../../providers/myservice";
import { Storage } from "@ionic/storage";
import { user } from "../../models/mymodel";
import { TranslateService } from "@ngx-translate/core";
@IonicPage()
@Component({
......@@ -20,11 +21,12 @@ export class MytripsPage {
upTrips:any;
compTrips:any;
trips:any;
lang: string = 'en';
@ViewChild(Content) content: Content;
@ViewChild('mySlider') slider: Slides;
constructor(public navCtrl: NavController, public navParams: NavParams, private myservice: Myservice, private storage: Storage) {
constructor(public navCtrl: NavController, public navParams: NavParams, private myservice: Myservice, private storage: Storage, private translate: TranslateService) {
let id = 0;
this.slidertab = id;
......@@ -36,6 +38,16 @@ export class MytripsPage {
}
ionViewDidEnter() {
this.storage.get('lang').then(lang => {
if (lang != null) {
this.translate.use(lang)
this.lang = lang;
}
else {
this.translate.use('en')
}
})
this.storage.get('user_data').then(data => {
if (data) {
this.local = data;
......@@ -46,7 +58,9 @@ export class MytripsPage {
console.log(this.trips)
}
else {
this.myservice.show_alert('Failed', 'Please try again')
this.translate.get(['mytrips.Please try again']).subscribe(value => {
this.myservice.show_alert('', value['mytrips.Please try again'])
})
}
})
......
......@@ -2,17 +2,17 @@
<button ion-button class="nav_btn theme_color floatLeft"(click)="dismiss()">
<ion-icon name="ios-arrow-back"></ion-icon>
</button>
<div class="nav_header_title floatLeft">Payment Details</div>
<div class="nav_header_title floatLeft">{{'payment.Payment Details'|translate}}</div>
<div class="clear"></div>
</ion-header>
<ion-content padding class="cab_coupon_bg">
<div class="cab_trip_detail_wrapper">
<h4 class="text_white">Pickup Point</h4>
<h4 class="text_white">{{'payment.Pickup Point'|translate}}</h4>
<p class="floatLeft textLeft width50">{{loc?.from}}</p>
<!-- <p class="floatRight textRight width50">11 :23 am, 02-08-2017</p> -->
<div class="clear"></div>
<br>
<h4 class="text_white">Drop Point</h4>
<h4 class="text_white">{{'payment.Drop Point'|translate}}</h4>
<p class="floatLeft textLeft width50">{{loc?.to}}</p>
<!-- <p class="floatRight textRight width50">12 :00 am, 02-08-2017</p> -->
<div class="clear"></div>
......@@ -20,19 +20,19 @@
<br>
</div>
<div class="cab_coupon_content">
<p style="padding-top: 0px;margin-top: 0px;margin-bottom: 0px;">Payment Details</p>
<p style="padding-top: 0px;margin-top: 0px;margin-bottom: 0px;">{{'payment.Payment Details'|translate}}</p>
<li>
<div class="child textLeft">Total</div>
<div class="child textLeft">{{'payment.Total'|translate}}</div>
<div class="child textRight">Rs. {{ride?.amount}}</div>
<div class="clear"></div>
</li>
<li>
<div class="child textLeft">Discount</div>
<div class="child textLeft">{{'payment.Discount'|translate}}</div>
<div class="child textRight">Rs. {{ride?.discount}}</div>
<div class="clear"></div>
</li>
<li>
<div class="child textLeft">Due after service</div>
<div class="child textLeft">{{'payment.Due after service'|translate}}</div>
<div class="child textRight">Rs. {{ride?.amount - ride?.discount}}</div>
<div class="clear"></div>
</li>
......@@ -41,9 +41,9 @@
</ion-content>
<ion-footer>
<div class="theme_bgcolor p10 text_white">
<p class="floatLeft text_size_18">Total</p>
<p class="floatLeft text_size_18">{{'payment.Total'|translate}}</p>
<p class="floatRight text_size_18">Rs. {{ride?.amount - ride?.discount}}</p>
<div class="clear"></div>
</div>
<button ion-button class="cab_footer_btn width100 text_white" (click)="close()">OKAY</button>
<button ion-button class="cab_footer_btn width100 text_white" (click)="close()">{{'payment.OKAY'|translate}}</button>
</ion-footer>
import { NgModule } from '@angular/core';
import { IonicPageModule } from 'ionic-angular';
import { PaymentPage } from './payment';
import { TranslateModule } from "@ngx-translate/core";
@NgModule({
declarations: [
......@@ -8,6 +9,7 @@ import { PaymentPage } from './payment';
],
imports: [
IonicPageModule.forChild(PaymentPage),
TranslateModule
],
})
export class PaymentPageModule {}
......@@ -5,6 +5,7 @@ import { Myservice } from "../../providers/myservice";
import { Storage } from "@ionic/storage";
import { user } from "../../models/mymodel";
import * as firebase from 'firebase';
import { TranslateService } from "@ngx-translate/core";
declare var google;
......@@ -22,11 +23,22 @@ export class PaymentPage {
public unregisterBackButtonAction: any;
driver: any;
ride: any;
lang: string = 'en';
constructor(public navCtrl: NavController, public navParams: NavParams, private data: dataService, private zone: NgZone, private myservice: Myservice, private storage: Storage, public platform: Platform) {
constructor(public navCtrl: NavController, public navParams: NavParams, private data: dataService, private zone: NgZone, private myservice: Myservice, private storage: Storage, public platform: Platform, private translate: TranslateService) {
}
ionViewDidEnter() {
this.storage.get('lang').then(lang => {
if (lang != null) {
this.translate.use(lang)
this.lang = lang;
}
else {
this.translate.use('en')
}
})
this.myservice.hide_loader();
this.initializeBackButtonCustomHandler();
this.storage.get('user_data').then(data => {
......@@ -91,7 +103,9 @@ export class PaymentPage {
console.log(this.loc)
}
else{
this.myservice.show_alert('',resp.message)
this.translate.get(['payment.' + resp.message]).subscribe(value => {
this.myservice.show_alert('', value['payment.' + resp.message])
})
}
})
})
......
<ion-content>
<!-- [ngClass]="lang=='ar' ? 'ar' : ''" -->
<div class="popover_wrapper">
<ul>
<li id={{lang.code}} *ngFor="let lang of languages" (click)="changeLang(lang.code)">{{lang.name}}</li>
</ul>
</div>
</ion-content>
\ No newline at end of file
import { NgModule } from '@angular/core';
import { IonicPageModule } from 'ionic-angular';
import { PopoverPage } from './popover';
import { TranslateModule } from "@ngx-translate/core";
@NgModule({
declarations: [
PopoverPage,
],
imports: [
IonicPageModule.forChild(PopoverPage),
TranslateModule,
],
})
export class PopoverPageModule {}
page-popover {
.popover_wrapper{
ul{
padding:0px;
margin:0px;
li{
width: 100%;
list-style: none;
padding: 10px;
font-size:18px;
color: #797979;
&:hover{
background:#91195b;
color: #fff;
}
}
}
}
}
import { Component } from '@angular/core';
import { IonicPage, NavController, NavParams, ViewController, ModalController, Events } from 'ionic-angular';
import { Storage } from '@ionic/storage'
import { Myservice } from '../../providers/myservice'
import { TranslateService } from '@ngx-translate/core';
@IonicPage()
@Component({
selector: 'page-popover',
templateUrl: 'popover.html',
})
export class PopoverPage {
languages = [{ 'name': 'English', 'code': 'en' }]//code will be same as filename ol lang
lang: string = 'en';
constructor(public navCtrl: NavController, public navParams: NavParams, public viewCtrl: ViewController, public modalCtrl: ModalController, public storage: Storage, public events: Events, private myservice: Myservice, private translate: TranslateService) {
}
ionViewDidEnter() {
this.storage.get('lang').then(lang => {
if (lang) {
this.lang = lang
document.getElementById(lang).style.background = '#91195b';
document.getElementById(lang).style.color = '#fff';
}
})
}
changeLang(lang) {
this.myservice.show_loader()
this.storage.set('lang', lang);
var This = this;
setTimeout(function () {
This.events.publish('patient:lang', lang);
This.myservice.hide_loader()
This.close();
}, 500)
}
close() {
this.viewCtrl.dismiss();
}
}
......@@ -2,18 +2,18 @@
<button ion-button class="nav_btn theme_color floatLeft" (click)="back()">
<ion-icon name="ios-arrow-back"></ion-icon>
</button>
<div class="nav_header_title floatLeft">Trips Details</div>
<div class="nav_header_title floatLeft">{{'trip.Trips Details'|translate}}</div>
<button class="nav_btn floatRight"></button>
<div class="clear"></div>
</ion-header>
<ion-content class="cab_dark_bg" padding>
<div class="cab_trip_detail_wrapper">
<h4>Pickup Point</h4>
<h4>{{'trip.Pickup Point'|translate}}</h4>
<p class="floatLeft textLeft width50">{{details.pickup_area}}</p>
<p class="floatRight textRight width50">{{details.pickup_time}}, {{details.pickup_date}}</p>
<div class="clear"></div>
<br>
<h4>Drop Point</h4>
<h4>{{'trip.Drop Point'|translate}}</h4>
<p class="floatLeft textLeft width50">{{details.drop_area}}</p>
<p class="floatRight textRight width50" *ngIf="details.drop_time">{{details.drop_time}}, {{details.drop_date}}</p>
<div class="clear"></div>
......@@ -23,16 +23,16 @@
<ion-grid class="p0" *ngIf="details.assigned_for">
<ion-row>
<ion-col col-6 class="p0">
<h4>CAB DETAILS</h4>
<h4>{{'trip.CAB DETAILS'|translate}}</h4>
<p>{{details.taxi_type}}</p>
<!-- <p>Ford Fiesta</p> -->
<p>{{details.car_no}}</p>
</ion-col>
<ion-col col-6 class="p0">
<h4>DRIVER DETAILS</h4>
<h4>{{'trip.DRIVER DETAILS'|translate}}</h4>
<p>{{details.name}}</p>
<p>{{details.phone}}</p>
<p><strong (click)="call()">Call Now</strong></p>
<p><strong (click)="call()">{{'trip.Call Now'|translate}}</strong></p>
</ion-col>
</ion-row>
</ion-grid>
......@@ -40,22 +40,22 @@
<br>
<hr *ngIf="details.item_status=='Complete'">
<span *ngIf="details.item_status=='Complete'">
<h4>PAYMENT DETAILS</h4>
<p class="floatLeft textLeft">Amount Charged</p>
<h4>{{'trip.PAYMENT DETAILS'|translate}}</h4>
<p class="floatLeft textLeft">{{'trip.Amount Charged'|translate}}</p>
<p class="floatRight textRight">Rs {{details.amount}}</p>
<div class="clear"></div>
<p class="floatLeft textLeft">Discount Amount</p>
<p class="floatLeft textLeft">{{'trip.Discount Amount'|translate}}</p>
<p class="floatRight textRight">Rs {{details.discount}}</p>
<div class="clear"></div>
<p class="floatLeft textLeft">Amount Payable</p>
<p class="floatLeft textLeft">{{'trip.Amount Payable'|translate}}</p>
<p class="floatRight textRight"><strong>Rs {{details.amount - details.discount}}</strong></p>
<div class="clear"></div>
</span>
<br>
<br>
<span *ngIf="details.status=='Complete' && !details.rating">
<h4 class="textCenter">Kindly Rate us for our service.</h4>
<p class="textCenter">Your ratting is important for our better service.</p>
<h4 class="textCenter">{{'trip.Kindly Rate us for our service.'|translate}}</h4>
<p class="textCenter">{{'trip.Your rating is important for our better service.'|translate}}</p>
<div class="cab_ratting" (click)="rating($event)">
<input type="radio" id="star5" name="rating" value="5" /><label for="star5" title="Rocks!">5 stars</label>
<input type="radio" id="star4" name="rating" value="4" /><label for="star4" title="Pretty good">4 stars</label>
......@@ -69,7 +69,7 @@
</ion-content>
<ion-footer *ngIf="details.status!='Complete' && details.status!='Started' && details.status!='Cancelled'">
<div class="cab_footer_btn_bay">
<button ion-button class="cab_footer_btn single_btn" (click)="cancel()">CANCEL RIDE</button>
<button ion-button class="cab_footer_btn single_btn" (click)="cancel()">{{'trip.CANCEL RIDE'|translate}}</button>
<div class="clear"></div>
</div>
</ion-footer>
import { NgModule } from '@angular/core';
import { IonicPageModule } from 'ionic-angular';
import { TripdetailsPage } from './tripdetails';
import { TranslateModule } from "@ngx-translate/core";
@NgModule({
declarations: [
......@@ -8,6 +9,7 @@ import { TripdetailsPage } from './tripdetails';
],
imports: [
IonicPageModule.forChild(TripdetailsPage),
TranslateModule
],
})
export class TripdetailsPageModule {}
......@@ -5,6 +5,7 @@ import { Storage } from "@ionic/storage";
import { user } from "../../models/mymodel";
import { Toast } from "@ionic-native/toast";
import { CallNumber } from '@ionic-native/call-number';
import { TranslateService } from "@ngx-translate/core";
@IonicPage()
@Component({
......@@ -14,11 +15,22 @@ import { CallNumber } from '@ionic-native/call-number';
export class TripdetailsPage {
details = this.navParams.get('data')
local:user
lang: string = 'en';
constructor(public navCtrl: NavController, public navParams: NavParams, private myservice: Myservice, private storage: Storage, private toast: Toast, private callNumber: CallNumber) {
constructor(public navCtrl: NavController, public navParams: NavParams, private myservice: Myservice, private storage: Storage, private toast: Toast, private callNumber: CallNumber, private translate: TranslateService) {
}
ionViewDidEnter() {
this.storage.get('lang').then(lang => {
if (lang != null) {
this.translate.use(lang)
this.lang = lang;
}
else {
this.translate.use('en')
}
})
this.storage.get('user_data').then(data=>{
if(data){
this.local = data
......@@ -39,13 +51,18 @@ export class TripdetailsPage {
this.myservice.hide_loader()
if(response.status=='success'){
this.details.rating = Number(event.srcElement.value)
this.toast.show(response.message, '2000', 'center').subscribe(
toast => {
console.log(toast);
});
this.translate.get(['trip.' + response.message]).subscribe(value => {
this.toast.show(value['mytrips.' + response.message], '2000', 'center').subscribe(
toast => {
console.log(toast);
});
})
}
else{
this.myservice.show_alert('',response.message)
this.translate.get(['trip.' + response.message]).subscribe(value => {
this.myservice.show_alert('', value['trip.' + response.message])
})
}
})
}
......@@ -63,13 +80,17 @@ export class TripdetailsPage {
this.myservice.hide_loader()
if(response.status == 'success'){
this.details.status = 'Cancelled'
this.toast.show(response.message, '2000', 'center').subscribe(
toast => {
console.log(toast);
});
this.translate.get(['trip.' + response.message]).subscribe(value => {
this.toast.show(value['mytrips.' + response.message], '2000', 'center').subscribe(
toast => {
console.log(toast);
});
})
}
else{
this.myservice.show_alert('',response.message)
this.translate.get(['trip.' + response.message]).subscribe(value => {
this.myservice.show_alert('', value['trip.' + response.message])
})
}
})
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment