import { FormGroup, FormControl, Validators} from '@angular/forms'; import {ResponseOptions, Response} from '@angular/http'; import {Contact} from '../contact'; import {ContactService} from '../contact.service'; import {Otp} from '../otp'; // import {Md5} from 'ts-md5/dist/md5'; import * as moment from 'moment-timezone'; declare var google :any; import { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router'; import { FlashMessagesService } from 'angular2-flash-messages'; import { AbstractControl, NG_VALIDATORS, Validator, ValidatorFn } from '@angular/forms'; const EMAIL_REGEX =/^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/; import { Component, OnInit,Inject } from '@angular/core'; import {MdDialog, MdDialogRef, MD_DIALOG_DATA} from '@angular/material'; declare var swal: any; declare var ol : any; declare var $:any; @Component({ selector: 'app-add-dealer', templateUrl: './add-dealer.component.html', styleUrls: ['./add-dealer.component.scss'], providers:[ContactService] }) export class AddDealerComponent implements OnInit { superAdmin: any; inventoryManagement show1:boolean = false; show2:boolean = true; passwordtype : any = 'password'; passwordtype_1 :any = 'password'; show3:boolean = false; first_name:any=null; imageuploadObject = []; timezone:any = 'Asia/Kolkata'; last_name:any=null; passwordd:any=null; org_name:any=null; emaill:any=null; phone:any=null; executed:any; $event2:any; dealer:any; contacts: Contact[]=[]; contact: Contact; login1:any; mess2:any; mess:any; otp:any; str:boolean = false; password2:any=null; before:any; emmnerr:any; Load:any $event:any; fs:any; ls:any; emailid:any; or:any; useridd:any; custtype:any; cust:boolean=false; mb:any; logo:any; text:any; userID:any; address:any; sup_admin: any; documentDetail:any; imageURL:any; documentList = [ { "docId": "Adhar", "docName": "Adhar Card" }, { "docId": "voterCard", "docName": "Voter Id" }, { "docId": "PAN", "docName": "Pan Card" }, { "docId": "DL", "docName": "Driving License" }, { "docId": "Nepali Citizenship", "docName": "Nepali Citizenship" } ]; countrySelected: { countryCode: any; dialcode: any; }; timezoneArray: any[]; telCountryCode: any; constructor(private contactService: ContactService,private router: Router,private _flashMessagesService: FlashMessagesService,public dialogRef: MdDialogRef, @Inject(MD_DIALOG_DATA) public data: any) { var script = document.createElement("script"); script.setAttribute("type", "text/javascript"); script.setAttribute("src", "https://cdnjs.cloudflare.com/ajax/libs/intl-tel-input/17.0.0/js/intlTelInput-jquery.min.js"); document.getElementsByTagName("head")[0].appendChild(script); var initialObj = { doctype:'', image:'', phone:'' } this.imageuploadObject.push(initialObj); } bussinessType:boolean=false; ngOnInit() { this.superAdmin = JSON.parse(window.atob(window.localStorage.token.split(".")[1])).isSuperAdmin; this.fs = JSON.parse(window.atob(window.localStorage.token.split(".")[1])).fn; this.ls = JSON.parse(window.atob(window.localStorage.token.split(".")[1])).ln; this.emailid = JSON.parse(window.atob(window.localStorage.token.split(".")[1])).email; this.or = JSON.parse(window.atob(window.localStorage.token.split(".")[1]))._orgName; this.useridd = JSON.parse(window.atob(window.localStorage.token.split('.')[1]))._id; this.mb = JSON.parse(window.atob(window.localStorage.token.split('.')[1])).phn; // this.bussinessType=this.data.userInfo.bussinessType?this.data.userInfo.bussinessType=="1"?true:false:false this.sup_admin = JSON.parse(window.atob(window.localStorage.token.split(".")[1])).supAdmin; var that = this; setTimeout(() => { that.telCountryCode = $("#telephone").intlTelInput({ allowDropdown:true, autoPlaceholder:"Enter Mobile Number", initialCountry:"in", preferredCountries: ["in","us" ], separateDialCode:true, }); }, 300); var Phoneinput = document.getElementById('telephone'); var that = this; Phoneinput.addEventListener("countrychange",function(p) { console.log("Inside Function"); var countryData = $('#telephone').intlTelInput("getSelectedCountryData"); console.log(countryData); that.countrySelected = { countryCode : countryData.iso2, dialcode: countryData.dialCode } }); if(this.superAdmin){ this.sup_admin = this.useridd; } this.custtype = JSON.parse(window.atob(window.localStorage.token.split('.')[1])).isDealer; // this.getdev(); if(this.mb.charAt(0)=="n"){ this.mb = ' ' } if(this.custtype == true){ this.cust = true; } this.logo=window.localStorage['logo']; this.text=window.localStorage['text']; var timeZn = moment.tz.guess(); if(timeZn != 'Asia/Calcutta'){ this.timezone = timeZn; } console.log(this.timezone); var timeZones = moment.tz.names(); console.log(timeZones); this.timezoneArray=[]; for (var i in timeZones) { this.timezoneArray.push({ viewValue: "(GMT" + moment.tz(timeZones[i]).format('Z') + ")" + timeZones[i], value: timeZones[i] }); } setTimeout(() => { $('#dbselect').multipleSelect({ width: 300, placeholder: 'Select Timezone', filter: true, single: true, selectAll: false }) }, 100); this.latLongDetail() } stre(){ this.str =true; } stren(){ this.str =false; } addcus(){ this.router.navigateByUrl("add"); } clear(){ this.first_name=' ' this.last_name=' ' this.emaill = null this.phone = null } addContact2(){ var tzone = $('#dbselect').multipleSelect('getSelects','value'); console.log(tzone); var expDate = new Date() expDate.setFullYear(expDate.getFullYear()+1); var countryData = $('#telephone').intlTelInput("getSelectedCountryData"); console.log(countryData); this.countrySelected = { countryCode : countryData.iso2, dialcode: countryData.dialCode } console.log('expDate=>',expDate); if(this.first_name==null || this.last_name==null || this.passwordd==null) { return this._flashMessagesService.show('Please fill all Requied fields', { cssClass: 'alert-danger', timeout: 3000 }); } else if((this.userID == undefined)||(this.userID.trim() == '')){ return this._flashMessagesService.show('User ID is mandatory', { cssClass: 'alert-danger', timeout: 3000 }); } // else if((this.emaill == undefined)||(this.emaill.trim() == '')){ // return this._flashMessagesService.show('Email is mandatory', { cssClass: 'alert-danger', timeout: 3000 }); // } else if(this.password2 != this.passwordd){ // this._flashMessagesService.show('Password and Confirm Password do not match', { cssClass: 'alert-danger', timeout: 3000 }); this.tost1("psdnmtch") } else if (this.emaill && this.phone){ this.Load=true // if (!this.executed) { // this.executed = true; const newContact2 ={ first_name: this.first_name, last_name: this.last_name, email: this.emaill, password: this.passwordd, phone: this.phone, isDealer: true, custumer:false, sysadmin:this.superAdmin, expdate : new Date(expDate), supAdmin:this.sup_admin, user_id:this.userID, address:this.address } if(this.inventoryManagement!=undefined){ newContact2['inventoryManagement']=this.inventoryManagement; } if(this.bussinessType!=undefined){ newContact2['bussinessType']=this.bussinessType?"1":"0"; } if(this.countrySelected != undefined){ newContact2['std_code']=this.countrySelected; } if (tzone != undefined) { newContact2['timezone'] = tzone[0]; } if(this.imageuploadObject.length > 0){ for(var d = 0 ;d { console.log(contact); // USER_ID already exists if(contact.message == "USER_ID already exists"){ return this._flashMessagesService.show(contact.message, { cssClass: 'alert-danger', timeout: 3000 }); }if(contact.message == "USER_ID already exists"){ return this._flashMessagesService.show(contact.message, { cssClass: 'alert-danger', timeout: 3000 }); }else if(contact.message == "User Duplicate"){ return this._flashMessagesService.show(contact.message, { cssClass: 'alert-danger', timeout: 3000 }); }else if(contact.message == "Email ID already exists"){ return this._flashMessagesService.show(contact.message, { cssClass: 'alert-danger', timeout: 3000 }); }else if(contact.message == "Mobile Number already exists"){ return this._flashMessagesService.show(contact.message, { cssClass: 'alert-danger', timeout: 3000 }); }else{ this.clear(); this.Load=false this.onNoClick("succ"); this.contacts.push(contact); } }, (err: any) => { // console.log(err.status); // console.log(err); if(err.status == 500) { // console.log(err._body); this.Load=false this.emmnerr=JSON.parse(err._body); this.data_descip = this.emmnerr.split(':')[1]; console.log(this.data_descip); swal( 'Error', this.data_descip, 'error' ) this.tost1("EmM") } else{ this.Load=false swal( 'Error', 'Internal Server error , Please try after sometime !!!', 'error' ) } }); /* this._flashMessagesService.show('OTP Sent Sucessfully', { cssClass: 'alert-success', timeout: 3000 }); */ } else if((this.phone)||(this.userID)){ this.Load=true // if (!this.executed) { // this.executed = true; const newContact2 ={ first_name: this.first_name, last_name: this.last_name, password: this.passwordd, // phone: this.phone, isDealer: true, custumer:false, sysadmin:this.superAdmin, expdate : new Date(expDate).toISOString(), supAdmin:this.sup_admin, // user_id:this.userID, address:this.address } if(this.phone){ newContact2['phone'] = this.phone ; } if(this.countrySelected != undefined){ newContact2['std_code']=this.countrySelected; } if(tzone != undefined){ newContact2['timezone'] = tzone[0]; } if(this.inventoryManagement!=undefined){ newContact2['inventoryManagement']=this.inventoryManagement; } if(this.bussinessType!=undefined){ newContact2['bussinessType']=this.bussinessType?"1":"0"; } if(this.userID){ newContact2['user_id'] = this.userID ; } if(this.imageuploadObject.length > 0){ for(var d = 0 ;d { if(contact.message == "USER_ID already exists"){ return this._flashMessagesService.show(contact.message, { cssClass: 'alert-danger', timeout: 3000 }); }if(contact.message == "USER_ID already exists"){ return this._flashMessagesService.show(contact.message, { cssClass: 'alert-danger', timeout: 3000 }); }else if(contact.message == "User Duplicate"){ return this._flashMessagesService.show(contact.message, { cssClass: 'alert-danger', timeout: 3000 }); }else if(contact.message == "Email ID already exists"){ return this._flashMessagesService.show(contact.message, { cssClass: 'alert-danger', timeout: 3000 }); }else if(contact.message == "Mobile Number already exists"){ return this._flashMessagesService.show(contact.message, { cssClass: 'alert-danger', timeout: 3000 }); }else{ this.clear(); this.Load=false; this.onNoClick("succ"); this.contacts.push(contact); } }, (err: any) => { if(err.status == 500) { // console.log(err._body); this.Load=false this.emmnerr=JSON.parse(err._body); this.data_descip = this.emmnerr.split(':')[1]; console.log(this.data_descip); swal( 'Error', this.data_descip, 'error' ) this.tost1("EmM") } else{ this.Load=false // console.log("dadsa"); swal( 'Error', 'Internal Server error , Please try after sometime !!!', 'error' ) }})} else if(this.emaill){ // if (!this.executed) { // this.executed = true; const newContact2 ={ first_name: this.first_name, last_name: this.last_name, password: this.passwordd, org_name: this.org_name, email: this.emaill, isDealer: true, custumer:false, sysadmin:this.superAdmin, expdate : new Date(expDate).toISOString(), supAdmin:this.sup_admin, user_id:this.userID, address:this.address } if(this.countrySelected != undefined){ newContact2['std_code']=this.countrySelected; } if(tzone != undefined){ newContact2['timezone'] = tzone[0]; } if(this.inventoryManagement!=undefined){ newContact2['inventoryManagement']=this.inventoryManagement; } if(this.bussinessType!=undefined){ newContact2['bussinessType']=this.bussinessType?"1":"0"; } if(this.imageuploadObject.length > 0){ for(var d = 0 ;d { console.log(contact); // USER_ID already exists //this.tost1("succ") if(contact.message == "USER_ID already exists"){ return this._flashMessagesService.show(contact.message, { cssClass: 'alert-danger', timeout: 3000 }); }if(contact.message == "USER_ID already exists"){ return this._flashMessagesService.show(contact.message, { cssClass: 'alert-danger', timeout: 3000 }); }else if(contact.message == "User Duplicate"){ return this._flashMessagesService.show(contact.message, { cssClass: 'alert-danger', timeout: 3000 }); }else if(contact.message == "Email ID already exists"){ return this._flashMessagesService.show(contact.message, { cssClass: 'alert-danger', timeout: 3000 }); }else if(contact.message == "Mobile Number already exists"){ return this._flashMessagesService.show(contact.message, { cssClass: 'alert-danger', timeout: 3000 }); }else{ this.clear(); this.Load=false this.onNoClick("succ"); this.contacts.push(contact); } }, (err: any) => { if(err.status == 500) { // console.log(err._body); this.Load=false this.emmnerr=JSON.parse(err._body); this.data_descip = this.emmnerr.split(':')[1]; console.log(this.data_descip); swal( 'Error', this.data_descip, 'error' ) // console.log(this.emmnerr) this.tost1("EmM") } else{ this.Load=false swal( 'Error', 'Internal Server error , Please try after sometime !!!', 'error' ) }}); } } data_descip:any; onNoClick(a): void { this.dialogRef.close(a); } tost1(divid){ if(divid == "EmM"){ this.data_descip = this.emmnerr.split(":")[1] this._flashMessagesService.show(this.data_descip, { cssClass: 'alert-danger', timeout: 3000 }); } else if(divid == "succ"){ this.data_descip = "Dealer Successfully Added" this._flashMessagesService.show(this.data_descip, { cssClass: 'alert-success', timeout: 3000 }); } else if(divid == "psdnmtch"){ this.data_descip = "Error: Password and confirm password do not match" this._flashMessagesService.show(this.data_descip, { cssClass: 'alert-danger', timeout: 3000 }); } // function launch_toast() { // // console.log(divid); // var x = document.getElementById("toast") // //console.log(x); // x.className = "show"; // setTimeout(function(){ x.className = x.className.replace("show", ""); }, 4500); // } } valclear(){ this._flashMessagesService.show("Cleared", { cssClass: 'alert-warning', timeout: 2000 }); } devicess:any; final:any; click1(event){ this.show2=false; this.show3=true; if((event.keyCode >= 48 && event.keyCode <= 57) || event.keyCode == 9 || event.keyCode == 8 || event.keyCode == 46 || event.keyCode == 37 || event.keyCode == 39){ } /* if(event.keyCode===13){ this.otp_window(); } */ else event.preventDefault(); } click2(event2){ this.show2=true; this.show3=false; } call(e) { { if (e.keyCode == 32) { e.preventDefault(); } } } getdev(){ let foods = [] this.contactService.getDevice(this.emailid,this.useridd).subscribe( data => { this.devicess = data let swap; for(let g = 0;gthis.devicess.devices[c+1].Device_Name){ swap = this.devicess.devices[c]; this.devicess.devices[c] = this.devicess.devices[c+1]; this.devicess.devices[c+1] = swap; } } } this.final = this.devicess.devices for(let i=0;i",docType); } docRow:boolean=false; AddDocumentsField(addedRow){ if(addedRow){ this.docRow = true; } var obj={doctype:'',image:''}; this.imageuploadObject.push(obj); console.log(this.imageuploadObject); // console.log("ImageuploadObject=>",this.imageuploadObject); } DeleteDocumentsField(index){ console.log(this.imageuploadObject.length); if(this.imageuploadObject.length == 1){ this.docRow = false; } this.imageuploadObject.splice(index, 1); } selectedFile: File; onFileChanged(event) { this.selectedFile = event.target.files[0]; console.log(this.selectedFile); } closebox(){ this.dialogRef.close(null); } onUpload(imgIndex) { console.log(imgIndex); console.log(this.imageuploadObject); const fd = new FormData(); fd.append('photo',this.selectedFile,this.selectedFile.name) console.log("imgURL=>",fd) ; this.contactService.imageupload(fd) .subscribe(res=>{ var resImage =''; resImage = res['_body']; console.log(res['_body']); this.imageuploadObject[imgIndex].image = resImage; console.log(this.imageuploadObject); // console.log(res); },err=>{ console.log(err); }) } passwordIcon:any='visibility_off'; passwordIcon_1:any='visibility_off'; showpassword(p:any){ if((p == 'p1')&&(this.passwordtype == "password")){ this.passwordtype = 'text'; this.passwordIcon = 'visibility'; return; } if((p == 'p1')&&(this.passwordtype == "text")){ this.passwordtype = 'password' this.passwordIcon = 'visibility_off'; return; } if((p == 'p2')&&(this.passwordtype_1 == "password")){ this.passwordtype_1 = 'text'; this.passwordIcon_1 = 'visibility'; return; } if((p == 'p2')&&(this.passwordtype_1 == "text")){ this.passwordtype_1 = 'password'; this.passwordIcon_1 = 'visibility_off'; return; } } latLongDetail(){ var that =this; console.log("Inside Latlong Function"); if (navigator.geolocation) { if(location.protocol != 'https:'){ this.contactService.getlatLong().subscribe(res=>{ console.log(res); let t_latlng = new google.maps.LatLng(res.lat, res.lon); let request = { latLng: t_latlng }; this.getAddress(request); }) }else{ navigator.geolocation.getCurrentPosition(function(position) { var d_lat= position.coords.latitude; var d_lng=position.coords.longitude; let t_latlng = new google.maps.LatLng(d_lat, d_lng); let request = { latLng: t_latlng }; that.getAddress(request); }) }} } getAddress(request){ let geocoder = new google.maps.Geocoder(); geocoder.geocode(request, function (data, status) { console.log("Inside geocoder function"); var userCountry; if (status == google.maps.GeocoderStatus.OK) { if (data[0] != null) { var address_show = data[0]; console.log('var=>' ,address_show); for (var ac = 0; ac < data[0].address_components.length; ac++) { var component = data[0].address_components[ac]; switch(component.types[0]) { case 'country': userCountry = component.short_name; console.log(userCountry); break; } }; var aaa = $('#telephone').intlTelInput("setCountry",userCountry); } else { userCountry = 'in'; } } else { console.log("Inside Error function"); userCountry = 'in'; } }) } }