177 lines
5.1 KiB
TypeScript
177 lines
5.1 KiB
TypeScript
import {Component, OnInit, ViewChild} from '@angular/core';
|
|
import {LoadingController, NavController} from "@ionic/angular";
|
|
import {Router} from "@angular/router";
|
|
import { WrenchService } from 'src/app/services/wrench.service';
|
|
import {SessionDataProviderService} from "../../store/session-data-provider.service";
|
|
//import {last} from "rxjs/operators";
|
|
import { AlertController } from '@ionic/angular';
|
|
import {ContactsDataService} from "../../store/contacts-data.service";
|
|
|
|
@Component({
|
|
selector: 'app-invite',
|
|
templateUrl: './invite.page.html',
|
|
styleUrls: ['./invite.page.scss'],
|
|
})
|
|
export class InvitePage implements OnInit {
|
|
|
|
@ViewChild('ref_firstname') ref_firstname;
|
|
@ViewChild('lastname') lastname;
|
|
@ViewChild('email') email;
|
|
tabs = 'refer';
|
|
refer_link:string = '';
|
|
constructor(
|
|
private navctr: NavController,
|
|
private router: Router,
|
|
public sessionDataProviderService: SessionDataProviderService,
|
|
private wrenchService: WrenchService,
|
|
private alertController: AlertController,
|
|
private contactsDataService:ContactsDataService,
|
|
private loadingCtrl: LoadingController,
|
|
) {
|
|
this.refer_link = this.sessionDataProviderService.refer_link;
|
|
}
|
|
|
|
referSendData: {
|
|
action:number, member_id: number, uid: string, sessionid: string, ref_firstname:string, ref_lastname:string,ref_email: string
|
|
};
|
|
sendReferResult:any;
|
|
async sendRefer(){
|
|
const loading = await this.loadingCtrl.create({
|
|
message: 'Sending ... ',
|
|
duration: 3500,
|
|
});
|
|
|
|
if (this.ref_firstname=="" || this.lastname=="" || !this.validateEmail(this.email) ){
|
|
this.showAlert('Refer Error', 'Email and names required');
|
|
return;
|
|
}
|
|
this.referSendData =
|
|
{
|
|
action:11032,
|
|
member_id: this.sessionDataProviderService.member_id,
|
|
uid: this.sessionDataProviderService.member_uid,
|
|
sessionid: this.sessionDataProviderService.session ,
|
|
ref_firstname:this.ref_firstname,
|
|
ref_lastname:this.lastname,
|
|
ref_email:this.email
|
|
};
|
|
loading.present();
|
|
this.wrenchService.sendRefer(this.referSendData).subscribe(
|
|
sendReferResult => {
|
|
loading.dismiss();
|
|
this.sendReferResult = sendReferResult;
|
|
if ( this.sendReferResult.internal_return == 0 ){
|
|
this.showAlert('Refer Sent', 'Message sent to '+ this.email);
|
|
this.ref_firstname=this.lastname=this.email="";
|
|
}
|
|
else {
|
|
this.showAlert('Refer Error', this.sendReferResult.status);
|
|
|
|
}
|
|
this.getReferData();
|
|
}
|
|
);
|
|
|
|
|
|
}
|
|
|
|
validateEmail(email) {
|
|
var re = /\S+@\S+\.\S+/;
|
|
return re.test(email);
|
|
}
|
|
|
|
ngOnInit() {
|
|
this.getReferData();
|
|
}
|
|
|
|
onBack() {
|
|
this.navctr.back();
|
|
}
|
|
|
|
usrData: {
|
|
action:22010, member_id: number, uid: string, sessionid: string, limit:20, page:1,offset: 0
|
|
};
|
|
referTotalData:any;
|
|
referData: [];
|
|
getReferData(){
|
|
this.usrData = {action:22010,
|
|
member_id: this.sessionDataProviderService.member_id,
|
|
uid: this.sessionDataProviderService.member_uid,
|
|
sessionid: this.sessionDataProviderService.session ,
|
|
limit:20, page:1,offset: 0}
|
|
|
|
this.wrenchService.referHx(this.usrData).subscribe(
|
|
referTotalData => {
|
|
this.referTotalData = referTotalData;
|
|
// console.log("REFER RETURN->", this.referTotalData);
|
|
this.referData = this.referTotalData.result_list;
|
|
console.log("REFER RETURN DATA->", this.referData);
|
|
}
|
|
);
|
|
|
|
}
|
|
|
|
async showAlert(mtitle: string, amessage: string) {
|
|
|
|
const alert = await this.alertController.create({
|
|
header: 'WrenchBoard',
|
|
subHeader: mtitle,
|
|
message: amessage,
|
|
buttons: ['OK'],
|
|
});
|
|
|
|
await alert.present();
|
|
//
|
|
// let alert = this.alertCtrl.create({
|
|
// title: mtitle,
|
|
// subTitle: amessage,
|
|
// buttons: ['OK']
|
|
// });
|
|
// alert.present();
|
|
// // alert(amessage);
|
|
}
|
|
async refreshContacts(){
|
|
const loading = await this.loadingCtrl.create({
|
|
message: 'Please wait ... ',
|
|
duration: 3500,
|
|
});
|
|
await this.contactsDataService.refeshContacts();
|
|
}
|
|
tabMode:number = 0;
|
|
setTabMode(tMode){
|
|
if (this.tabMode == tMode) tMode=0; // turn to zero
|
|
|
|
this.tabMode = tMode;
|
|
}
|
|
|
|
refLinkResult:any;
|
|
resultText:string='';
|
|
referUsrData: {
|
|
action:22010, member_id: number, uid: string, sessionid: string
|
|
};
|
|
async sendToMyEmail(){
|
|
const loading = await this.loadingCtrl.create({
|
|
message: 'Sending ... ',
|
|
duration: 3500,
|
|
});
|
|
this.referUsrData = {action:22010,
|
|
member_id: this.sessionDataProviderService.member_id,
|
|
uid: this.sessionDataProviderService.member_uid,
|
|
sessionid: this.sessionDataProviderService.session ,
|
|
}
|
|
loading.present();
|
|
this.wrenchService.sendReferLink(this.referUsrData).subscribe(
|
|
refLinkResult => {
|
|
loading.dismiss();
|
|
this.refLinkResult = refLinkResult;
|
|
this.resultText = "Referer link sent to email";
|
|
setTimeout(()=>{
|
|
this.resultText='';
|
|
}, 3000);
|
|
|
|
console.log("REFER RETURN DATA->", this.refLinkResult);
|
|
}
|
|
);
|
|
}
|
|
}
|