Commit bbee4626 by Alen Jose

later

parent 05c4fced
......@@ -18,6 +18,8 @@ import { AngularFireDatabase } from 'angularfire2/database';
import { Geolocation } from '@ionic-native/geolocation';
import { DatePicker } from '@ionic-native/date-picker';
import { LocationAccuracy } from '@ionic-native/location-accuracy';
import { SubjectService } from "../providers/subject.service";
import { dataService } from "../providers/common.service";
export const firebaseConfig = {
apiKey: "AIzaSyDLrbLd4RCCh86xuTVu7-cfJ28We_cG1sU",
......@@ -56,6 +58,8 @@ export const firebaseConfig = {
Geolocation,
DatePicker,
LocationAccuracy,
SubjectService,
dataService,
]
})
export class AppModule {}
......@@ -183,4 +183,7 @@
.edit_circle{width:30px;height:30px;position:absolute;top:0px;right:0px;background-color:#f7941e;color:#fff;text-align:center;border-radius: 50%;padding:7px;}
.edit_circle input{width: 100%;opacity: 0;z-index: 99;position: absolute;right: 0px;}
.edit_circle ion-icon{position: absolute;top: 6px;right: 8px;}
\ No newline at end of file
.edit_circle ion-icon{position: absolute;top: 6px;right: 8px;}
.picker-wrapper{background: #ff9000 !important;}
.picker-toolbar{background: #ff9000 !important;}
.single_btn{width: 100% !important}
\ No newline at end of file
......@@ -19,10 +19,8 @@
</div>
</form>
<div class="cab_footer_btn_bay">
<button ion-button class="cab_footer_btn floatRight" (click)="ridenow()" >RIDE NOW</button>
<!-- [disabled]="locForm.invalid" -->
<button ion-button class="cab_footer_btn floatLeft" (click)="ridemore()" >RIDE LATER</button>
<!-- [disabled]="locForm.invalid" -->
<button ion-button class="cab_footer_btn single_btn" (click)="ridemore()" [disabled]="locForm.invalid">BOOK A RIDE</button>
<!-- -->
<div class="clear"></div>
</div>
</ion-footer>
......@@ -7,6 +7,7 @@ import { AngularFireDatabase } from 'angularfire2/database';
import { Myservice } from "../../providers/myservice";
import * as firebase from 'firebase';
import { Validators, FormGroup, FormBuilder } from '@angular/forms'
import { dataService } from "../../providers/common.service";
declare var google;
@IonicPage()
......@@ -26,8 +27,9 @@ export class HomePage {
markers = []
driverMarkers = []
locForm: FormGroup
geocoder: any;
constructor(public navCtrl: NavController, public navParams: NavParams, public modalCtrl: ModalController, public storage: Storage, private geolocation: Geolocation, private firebase: fireService, private db: AngularFireDatabase, private myservice: Myservice, private formBuilder: FormBuilder) {
constructor(public navCtrl: NavController, public navParams: NavParams, public modalCtrl: ModalController, public storage: Storage, private geolocation: Geolocation, private firebase: fireService, private db: AngularFireDatabase, private myservice: Myservice, private formBuilder: FormBuilder, private data: dataService) {
this.locForm = this.formBuilder.group({
pickLoc: ['', Validators.required],
dropLoc: ['', Validators.required]
......@@ -36,7 +38,22 @@ export class HomePage {
ionViewDidEnter() {
this.geolocation.getCurrentPosition().then((resp) => {
this.geocoder = new google.maps.Geocoder();
this.loadMap(resp.coords.latitude, resp.coords.longitude);
var latlng = new google.maps.LatLng(resp.coords.latitude, resp.coords.longitude);
var This = this;
This.geocoder.geocode({ 'latLng': latlng }, function (results, status) {
if (status == google.maps.GeocoderStatus.OK) {
if (results[0]) {
This.locForm.controls['pickLoc'].setValue(results[3].formatted_address)
This.p_lat = resp.coords.latitude
This.p_lng = resp.coords.longitude
}
}
else {
console.log("Geocoder failed due to: " + status);
}
});
}).catch((error) => {
console.log('Error getting location', error);
});
......@@ -73,7 +90,7 @@ export class HomePage {
}
fillAddress(autocomplete, type) {
if (this.markers) {
if (this.markers.length==3) {
this.markers[0].setMap(null);
}
var place = autocomplete.getPlace();
......@@ -108,6 +125,7 @@ export class HomePage {
}
else{
this.loadMap(lat,lng)
console.log('121212')
}
}
......@@ -134,7 +152,9 @@ export class HomePage {
}
calculateAndDisplayRoute(directionsService, directionsDisplay, start, dest) {
for (var i = 0; i < this.markers.length; i++) {
if (this.markers[i])
this.markers[i].setMap(null);
}
directionsService.route({
......@@ -151,15 +171,12 @@ export class HomePage {
}
ridemore() {
var data={pickLat:this.p_lat,pickLng:this.p_lng, dropLat:this.d_lat, dropLng:this.d_lng}
this.data.setbookingData(data)
let modal = this.modalCtrl.create('RidepopPage');
modal.present();
}
ridenow() {
let modal = this.modalCtrl.create('RidenowPage');
modal.present();
}
searchride() {
let modal = this.modalCtrl.create('SearchridePage');
modal.present();
......
import { Component } from '@angular/core';
import { IonicPage, NavController, NavParams,ViewController } from 'ionic-angular';
import { dataService } from "../../providers/common.service";
@IonicPage()
@Component({
......@@ -7,8 +8,11 @@ import { IonicPage, NavController, NavParams,ViewController } from 'ionic-angula
templateUrl: 'ratecard.html',
})
export class RatecardPage {
rates:any;
constructor(public navCtrl: NavController, public navParams: NavParams,public viewCtrl: ViewController) {
constructor(public navCtrl: NavController, public navParams: NavParams, public viewCtrl: ViewController, private data: dataService) {
this.rates = this.data.getrateData()
console.log(this.rates)
}
ionViewDidLoad() {
......
......@@ -7,10 +7,10 @@
<ion-grid>
<ion-row>
<ion-col col-6 style="border-right: 1px solid #fff;">
<div class="cab_pop_detail_left floatLeft c1"></div>
<div class="cab_pop_detail_left floatLeft" [style.backgroundImage]="'url('+ details?.carDetails.car_image +')'"></div>
<div class="cab_pop_details floatLeft textLeft">
<strong>Cab Type</strong>
<h5>Sedan</h5>
<h5>{{details?.carDetails?.car_type}}</h5>
</div>
<div class="clear"></div>
</ion-col>
......
import { Component } from '@angular/core';
import { IonicPage, NavController, NavParams,ViewController,ModalController } from 'ionic-angular';
import { dataService } from "../../providers/common.service";
import { Myservice } from "../../providers/myservice";
@IonicPage()
@Component({
selector: 'page-ridenow',
templateUrl: 'ridenow.html',
})
export class RidenowPage {
details:any;
rates:any;
constructor(public navCtrl: NavController, public navParams: NavParams,public viewCtrl: ViewController,public modalCtrl: ModalController) {
constructor(public navCtrl: NavController, public navParams: NavParams, public viewCtrl: ViewController, public modalCtrl: ModalController, private data: dataService, private myservice:Myservice) {
}
ionViewDidLoad() {
console.log('ionViewDidLoad RidenowPage');
ionViewDidEnter() {
this.details = this.data.getbookingData()
console.log(this.details)
this.myservice.load_post({ time: this.details.date, type: this.details.carDetails.car_type }, 'getRate').subscribe(response=>{
if(response.status == 'success'){
this.rates = response.data
}
})
}
confirm() {
......@@ -31,7 +40,8 @@ export class RidenowPage {
}
ratecard() {
let modal = this.modalCtrl.create('RatecardPage');
this.data.setrateData(this.rates)
let modal = this.modalCtrl.create('RatecardPage',);
modal.present();
}
......
......@@ -35,10 +35,9 @@
</ion-content>
<ion-footer>
<div class="cab_footer_btn_bay">
<button ion-button class="cab_footer_btn floatRight" (click)="dismiss()">CANCEL RIDE
<button ion-button class="cab_footer_btn floatRight" (click)="bookNow()">RIDE NOW
</button>
<button ion-button class="cab_footer_btn floatLeft" (click)="bookLater()">RIDE LATER
<ion-datetime min="{{cur_date}}" max="{{max_date}}" displayFormat="MMM DD YYYY" [(ngModel)]="myDate"></ion-datetime>
</button>
<div class="clear"></div>
</div>
......
import { Component } from '@angular/core';
import { IonicPage, NavController, NavParams,ViewController} from 'ionic-angular';
import { IonicPage, NavController, NavParams, ViewController, ModalController} from 'ionic-angular';
import { Myservice } from "../../providers/myservice";
import { cartype } from "../../models/mymodel";
import { DatePicker } from '@ionic-native/date-picker';
import { dataService } from "../../providers/common.service";
@IonicPage()
@Component({
......@@ -12,14 +13,9 @@ import { DatePicker } from '@ionic-native/date-picker';
export class RidepopPage {
carTypes:Array<cartype>
carIndex:number = 0;
cur_date:any;
max_date:any;
constructor(public navCtrl: NavController, public navParams: NavParams, public viewCtrl: ViewController, private myservice: Myservice, private datePicker: DatePicker) {
var now = new Date();
this.cur_date = now.toISOString()
var year = now.getFullYear();
this.max_date = (year + 10)
locData:any;
constructor(public navCtrl: NavController, public navParams: NavParams, public viewCtrl: ViewController, private myservice: Myservice, private datePicker: DatePicker, private data: dataService, public modalCtrl: ModalController) {
}
ionViewDidEnter() {
......@@ -40,18 +36,34 @@ export class RidepopPage {
}
bookLater(){
this.datePicker.show({
date: new Date(),
mode: 'datetime',
minDate: new Date(),
allowOldDates:false,
androidTheme: this.datePicker.ANDROID_THEMES.THEME_HOLO_DARK
}).then(
date =>{
console.log('1st', date)
},
err => console.log('Error occurred while getting date: ', err)
);
// this.datePicker.show({
// date: new Date(),
// mode: 'datetime',
// minDate: new Date(),
// allowOldDates:false,
// androidTheme: this.datePicker.ANDROID_THEMES.THEME_HOLO_DARK
// }).then(
// date =>{
// if (date < new Date()){
// this.myservice.show_alert('Error','Please select a valid date')
// }
// else{
// console.log('1', date)
this.locData = this.data.getbookingData()
this.locData.date = new Date()//date
this.locData.carDetails = this.carTypes[this.carIndex]
this.data.setbookingData(this.locData);
let modal = this.modalCtrl.create('RidenowPage');
modal.present();
// }
// },
// err => console.log('Error occurred while getting date: ', err)
// );
}
bookNow(){
}
dismiss()
......
import { Injectable } from '@angular/core';
@Injectable()
export class dataService {
bookingData:Object;
rateData:Object;
constructor() { }
public setbookingData(val){
this.bookingData = val;
}
public getbookingData(){
return this.bookingData;
}
public setrateData(val){
this.rateData = val;
}
public getrateData(){
return this.rateData;
}
}
\ No newline at end of file
......@@ -4,17 +4,17 @@ import { BehaviorSubject } from 'rxjs/BehaviorSubject';
@Injectable()
export class SubjectService {
private searchSubject = new BehaviorSubject<any>(null);
private locSubject = new BehaviorSubject<any>(null);
private docSubjects = new BehaviorSubject<any>(null);
private querySubjects = new BehaviorSubject<any>(null);
sendSearchData(searchData: any) {
this.searchSubject.next(searchData);
sendLocData(searchData: any) {
this.locSubject.next(searchData);
}
getSearchData(): Observable<any> {
return this.searchSubject.asObservable();
getLocData(): Observable<any> {
return this.locSubject.asObservable();
}
sendDocData(docData: any) {
......
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