TelePD Feedback changes, allocated pd only displayed for pd officers and video chat securities are implemented
This commit is contained in:
parent
2710a54251
commit
1c81c2a59e
@ -119,6 +119,7 @@ export class AdminLayoutComponent implements OnInit, OnDestroy {
|
|||||||
});
|
});
|
||||||
// this.alertForTAT();
|
// this.alertForTAT();
|
||||||
this._notificationService.requestPermission();
|
this._notificationService.requestPermission();
|
||||||
|
console.log("constructor called")
|
||||||
}
|
}
|
||||||
|
|
||||||
ngOnInit(): void {
|
ngOnInit(): void {
|
||||||
@ -145,8 +146,14 @@ export class AdminLayoutComponent implements OnInit, OnDestroy {
|
|||||||
// Ps.update(elemContent);
|
// Ps.update(elemContent);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
setTimeout(()=>{
|
||||||
this.listenForCalls()
|
this.listenForCalls()
|
||||||
|
},5000)
|
||||||
// this.openIncomingDialog();
|
// this.openIncomingDialog();
|
||||||
|
console.log("Ng On Init")
|
||||||
|
}
|
||||||
|
ngAfterViewInit() {
|
||||||
|
console.log("Ng After view init")
|
||||||
}
|
}
|
||||||
|
|
||||||
@HostListener('click', ['$event'])
|
@HostListener('click', ['$event'])
|
||||||
@ -325,11 +332,11 @@ export class AdminLayoutComponent implements OnInit, OnDestroy {
|
|||||||
// this.socket.on('BackOffer', this.connectPeer)
|
// this.socket.on('BackOffer', this.connectPeer)
|
||||||
let userrole = localStorage.getItem('user_role')
|
let userrole = localStorage.getItem('user_role')
|
||||||
if(userrole == '5') {
|
if(userrole == '5') {
|
||||||
|
this.socket.fromEvent('BackOffer').subscribe((res:any)=>{
|
||||||
let pd_short_info:any = localStorage.getItem('pd_short_info')
|
let pd_short_info:any = localStorage.getItem('pd_short_info')
|
||||||
pd_short_info = JSON.parse(pd_short_info);
|
pd_short_info = JSON.parse(pd_short_info);
|
||||||
this.socket.fromEvent('BackOffer').subscribe((res:any)=>{
|
|
||||||
console.log(res)
|
console.log(res)
|
||||||
if(res && res.hasOwnProperty('random_string') && res.random_string){
|
if(res && res.hasOwnProperty('random_string') && res.random_string && res.hasOwnProperty('user_type') && res.user_type != 'officer'){
|
||||||
if(pd_short_info.filter(val=>val.random_string == res.random_string).length > 0){
|
if(pd_short_info.filter(val=>val.random_string == res.random_string).length > 0){
|
||||||
let curr_pd_info= pd_short_info.filter(val=>val.random_string == res.random_string)[0]
|
let curr_pd_info= pd_short_info.filter(val=>val.random_string == res.random_string)[0]
|
||||||
if(curr_pd_info && curr_pd_info.pd_type == '3') {
|
if(curr_pd_info && curr_pd_info.pd_type == '3') {
|
||||||
|
|||||||
@ -26,5 +26,7 @@
|
|||||||
<button mat-raised-button mat-dialog-close><strong> No </strong></button>
|
<button mat-raised-button mat-dialog-close><strong> No </strong></button>
|
||||||
</mat-dialog-actions>
|
</mat-dialog-actions>
|
||||||
<mat-dialog-actions align="end" *ngIf="!CompletenessCheck">
|
<mat-dialog-actions align="end" *ngIf="!CompletenessCheck">
|
||||||
|
<button mat-raised-button color="primary" (click)="overwritten_pd()"
|
||||||
|
*ngIf="fk_pd_type == '3'"> <strong>Complete anyway </strong></button>
|
||||||
<button mat-raised-button mat-dialog-close><strong> Ok </strong></button>
|
<button mat-raised-button mat-dialog-close><strong> Ok </strong></button>
|
||||||
</mat-dialog-actions>
|
</mat-dialog-actions>
|
||||||
@ -21,6 +21,8 @@ export class PdStatusChangeDialogueComponent implements OnInit {
|
|||||||
addonStatus: string ="ADD_ON_PENDING";
|
addonStatus: string ="ADD_ON_PENDING";
|
||||||
public Loading: boolean;
|
public Loading: boolean;
|
||||||
public masterRandomString : string;
|
public masterRandomString : string;
|
||||||
|
fk_pd_type: any;
|
||||||
|
pd_completeness_override: String = '0';
|
||||||
|
|
||||||
constructor(notifier: NotifierService , private pd: PdTrigerService,private dialogRef: MatDialogRef<PdStatusChangeDialogueComponent>,@Inject(MAT_DIALOG_DATA) public data: any)
|
constructor(notifier: NotifierService , private pd: PdTrigerService,private dialogRef: MatDialogRef<PdStatusChangeDialogueComponent>,@Inject(MAT_DIALOG_DATA) public data: any)
|
||||||
{
|
{
|
||||||
@ -31,6 +33,8 @@ export class PdStatusChangeDialogueComponent implements OnInit {
|
|||||||
this.CompletenessCheck = this.data.pd_status=='INPROGRESS' ? true : this.data.pd_status=='COMPLETED' ? false : true;
|
this.CompletenessCheck = this.data.pd_status=='INPROGRESS' ? true : this.data.pd_status=='COMPLETED' ? false : true;
|
||||||
this.Loading = this.data.pd_status=='INPROGRESS' ? false : this.data.pd_status=='COMPLETED' ? true : false;
|
this.Loading = this.data.pd_status=='INPROGRESS' ? false : this.data.pd_status=='COMPLETED' ? true : false;
|
||||||
this.masterRandomString = this.data.random_string;
|
this.masterRandomString = this.data.random_string;
|
||||||
|
this.fk_pd_type = this.data.pd_type
|
||||||
|
console.log("sdf@@@@@@@@@@2",this.fk_pd_type)
|
||||||
}
|
}
|
||||||
|
|
||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
@ -60,9 +64,10 @@ export class PdStatusChangeDialogueComponent implements OnInit {
|
|||||||
}
|
}
|
||||||
|
|
||||||
changePDStatus(status: string): void {
|
changePDStatus(status: string): void {
|
||||||
let update_status = {
|
let update_status:any = {
|
||||||
"pd_id":this.data.pdid,
|
"pd_id":this.data.pdid,
|
||||||
};
|
};
|
||||||
|
update_status.pd_completeness_override = this.pd_completeness_override
|
||||||
this.pd.editPdMasterDetails(update_status, status,this.masterRandomString).subscribe(result => {
|
this.pd.editPdMasterDetails(update_status, status,this.masterRandomString).subscribe(result => {
|
||||||
if (result.status == 200) {
|
if (result.status == 200) {
|
||||||
this.dialogRef.close({update_status:true});
|
this.dialogRef.close({update_status:true});
|
||||||
@ -77,5 +82,17 @@ export class PdStatusChangeDialogueComponent implements OnInit {
|
|||||||
this.notifier.notify('error', 'Something Went Wrong Try Again.! \t\"' + (error.error_type == 2 ? error.error_status + ' ( ' + error.error_text + ' ) ' : ' ( ' + error.error_text + ' ) ') +'\" Error Occur.!');
|
this.notifier.notify('error', 'Something Went Wrong Try Again.! \t\"' + (error.error_type == 2 ? error.error_status + ' ( ' + error.error_text + ' ) ' : ' ( ' + error.error_text + ' ) ') +'\" Error Occur.!');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
overwritten_pd() {
|
||||||
|
// this.changePDStatus(this.data.pd_status,'1');
|
||||||
|
let params: any={};
|
||||||
|
params.pd_id = this.data.pdid;
|
||||||
|
this.CompletenessCheck = true;
|
||||||
|
this.pd_completeness_override = '1'
|
||||||
|
// this.Loading = false;
|
||||||
|
this.pd.getPDCompleteDetails(params).subscribe(result => {
|
||||||
|
if (result.dataStatus === true) {
|
||||||
|
this.enableAddonPD = result.records.address_count>0 ? true: false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -500,7 +500,7 @@
|
|||||||
</div><br/>
|
</div><br/>
|
||||||
<div style="width:auto" *ngIf="financialForm.value.kuccha_records_shown == 'yes'">
|
<div style="width:auto" *ngIf="financialForm.value.kuccha_records_shown == 'yes'">
|
||||||
<mat-label *ngIf="fk_pd_type != '3'">Photograph of Kuchha bills allowed</mat-label><br/>
|
<mat-label *ngIf="fk_pd_type != '3'">Photograph of Kuchha bills allowed</mat-label><br/>
|
||||||
<mat-label *ngIf="fk_pd_type == '3'">Photographs of kuccha bills uploded</mat-label><br/>
|
<mat-label *ngIf="fk_pd_type == '3'">Photographs of kuccha bills uploaded</mat-label><br/>
|
||||||
<mat-radio-group formControlName="kuccha_bill_allowed" >
|
<mat-radio-group formControlName="kuccha_bill_allowed" >
|
||||||
<mat-radio-button value="yes">Yes
|
<mat-radio-button value="yes">Yes
|
||||||
</mat-radio-button>
|
</mat-radio-button>
|
||||||
|
|||||||
@ -37,14 +37,16 @@
|
|||||||
</mat-cell>
|
</mat-cell>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
<ng-container matColumnDef="is_person_met">
|
<ng-container matColumnDef="is_person_met">
|
||||||
<mat-header-cell *matHeaderCellDef> Is Person Met </mat-header-cell>
|
<mat-header-cell *matHeaderCellDef> <span *ngIf="pd_all_details.pdmaster_details.fk_pd_type == '3'">Person Contacted</span>
|
||||||
|
<span *ngIf="pd_all_details.pdmaster_details.fk_pd_type != '3'">Is Person Met</span> </mat-header-cell>
|
||||||
<mat-cell *matCellDef="let details;let i = index;" [formGroupName]="i">
|
<mat-cell *matCellDef="let details;let i = index;" [formGroupName]="i">
|
||||||
<mat-checkbox class="table-checkbox" color="primary"
|
<mat-checkbox class="table-checkbox" color="primary"
|
||||||
formControlName="is_person_met" (change)="split_customer_abbr == 'SAL' ? salariedcheck() : ''"></mat-checkbox>
|
formControlName="is_person_met" (change)="split_customer_abbr == 'SAL' ? salariedcheck() : ''"></mat-checkbox>
|
||||||
</mat-cell>
|
</mat-cell>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
<ng-container matColumnDef="is_applicant">
|
<ng-container matColumnDef="is_applicant">
|
||||||
<mat-header-cell *matHeaderCellDef> Is Applicant </mat-header-cell>
|
<mat-header-cell *matHeaderCellDef> <span *ngIf="pd_all_details.pdmaster_details.fk_pd_type == '3'">Is Loan applicant</span>
|
||||||
|
<span *ngIf="pd_all_details.pdmaster_details.fk_pd_type != '3'"> Is Applicant </span></mat-header-cell>
|
||||||
<mat-cell *matCellDef="let details;let i = index;" [formGroupName]="i">
|
<mat-cell *matCellDef="let details;let i = index;" [formGroupName]="i">
|
||||||
<mat-checkbox class="table-checkbox" color="primary"
|
<mat-checkbox class="table-checkbox" color="primary"
|
||||||
formControlName="is_applicant" (change)="split_customer_abbr == 'SAL' ? salariedcheck() : ''"></mat-checkbox>
|
formControlName="is_applicant" (change)="split_customer_abbr == 'SAL' ? salariedcheck() : ''"></mat-checkbox>
|
||||||
|
|||||||
@ -89,9 +89,9 @@ export class StockComponent implements OnInit {
|
|||||||
this.customer_segment_abbr = this.pd_all_details.pdmaster_details.customer_segment_abbr;
|
this.customer_segment_abbr = this.pd_all_details.pdmaster_details.customer_segment_abbr;
|
||||||
this.fk_pd_type = this.pd_all_details.pdmaster_details.fk_pd_type;
|
this.fk_pd_type = this.pd_all_details.pdmaster_details.fk_pd_type;
|
||||||
if(this.fk_pd_type == '3'){
|
if(this.fk_pd_type == '3'){
|
||||||
this.SPsufficientList.push({value:"not able to access",isdisplayvalue:"Not able to access",isdisabled:false})
|
this.SPsufficientList.push({value:"not able to assess",isdisplayvalue:"Not able to assess",isdisabled:false})
|
||||||
this.TGsufficientList.push({value:"not able to access",isdisplayvalue:"Not able to access",isdisabled:false})
|
this.TGsufficientList.push({value:"not able to assess",isdisplayvalue:"Not able to assess",isdisabled:false})
|
||||||
this.RMsufficientList.push({value:"not able to access",isdisplayvalue:"Not able to access",isdisabled:false})
|
this.RMsufficientList.push({value:"not able to assess",isdisplayvalue:"Not able to assess",isdisabled:false})
|
||||||
}
|
}
|
||||||
this.image_doc_params={pdid:this.pdid,form_id:this.form_id,company_id:this.company_id}
|
this.image_doc_params={pdid:this.pdid,form_id:this.form_id,company_id:this.company_id}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -140,7 +140,7 @@ export class StartPdComponent implements OnInit, OnDestroy {
|
|||||||
// load pd status change dialogue
|
// load pd status change dialogue
|
||||||
pdStatusDialogue(status: string, checkType: number): void {
|
pdStatusDialogue(status: string, checkType: number): void {
|
||||||
const dialogRef = this.dialog.open(PdStatusChangeDialogueComponent, {
|
const dialogRef = this.dialog.open(PdStatusChangeDialogueComponent, {
|
||||||
data: { pdid: this.startPD, pd_status: status ,random_string:this.randomString },
|
data: { pdid: this.startPD, pd_status: status ,random_string:this.randomString,pd_type:this.pdMasterList.fk_pd_type },
|
||||||
disableClose: true,
|
disableClose: true,
|
||||||
minWidth:'30%',
|
minWidth:'30%',
|
||||||
maxWidth:'40%',
|
maxWidth:'40%',
|
||||||
|
|||||||
@ -184,7 +184,13 @@ export class PdTrigerService {
|
|||||||
|
|
||||||
// get pd details
|
// get pd details
|
||||||
getPdDetails(): Observable<any> {
|
getPdDetails(): Observable<any> {
|
||||||
return this._http.get<any>(this.apiUrl + "listLessPDDetails/get")
|
let userrole = localStorage.getItem('user_role')
|
||||||
|
let params
|
||||||
|
if(userrole == '5') {
|
||||||
|
let userid = this._aws.getlocale()
|
||||||
|
params = new HttpParams().set("pdofficerid",userid); //Create new HttpParams
|
||||||
|
}
|
||||||
|
return this._http.get<any>(this.apiUrl + "listLessPDDetails/get", {params: params})
|
||||||
.map(res=>{
|
.map(res=>{
|
||||||
if(res['dataStatus']) {
|
if(res['dataStatus']) {
|
||||||
let pd_det = res['records'].map(val=>{ return {applicant_name:val.applicant_name,pd_id:val.pd_id,random_string:val.random_string,pd_sno:val.pd_sno,pd_type:val.fk_pd_type}})
|
let pd_det = res['records'].map(val=>{ return {applicant_name:val.applicant_name,pd_id:val.pd_id,random_string:val.random_string,pd_sno:val.pd_sno,pd_type:val.fk_pd_type}})
|
||||||
@ -199,8 +205,17 @@ export class PdTrigerService {
|
|||||||
|
|
||||||
// get status based pd list
|
// get status based pd list
|
||||||
getTabStatusPdDetails(status: string): Observable<any> {
|
getTabStatusPdDetails(status: string): Observable<any> {
|
||||||
const tabStatus = status ?
|
let userrole = localStorage.getItem('user_role')
|
||||||
|
let tabStatus
|
||||||
|
if(userrole == '5') {
|
||||||
|
let userid = this._aws.getlocale()
|
||||||
|
tabStatus = new HttpParams().set("pdofficerid",userid).set('status', status); //Create new HttpParams
|
||||||
|
tabStatus = { params: new HttpParams().set("pdofficerid",userid).set('status', status) };
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
tabStatus = status ?
|
||||||
{ params: new HttpParams().set('status', status) } : {};
|
{ params: new HttpParams().set('status', status) } : {};
|
||||||
|
}
|
||||||
return this._http.get<any[]>(this.apiUrl + "listLessPDDetails/get", tabStatus)
|
return this._http.get<any[]>(this.apiUrl + "listLessPDDetails/get", tabStatus)
|
||||||
.pipe(
|
.pipe(
|
||||||
catchError(this.handleError('operation', []))
|
catchError(this.handleError('operation', []))
|
||||||
|
|||||||
@ -193,7 +193,7 @@ export class QcViewComponent implements OnInit, OnDestroy {
|
|||||||
// pd allocation to
|
// pd allocation to
|
||||||
pdAllocationTo(pdData:any,childData: any) {
|
pdAllocationTo(pdData:any,childData: any) {
|
||||||
pdData.pd_id = childData.assigned_pd;
|
pdData.pd_id = childData.assigned_pd;
|
||||||
if(pdData.fk_pd_type == 1){
|
if (pdData.fk_pd_type == 1 || pdData.fk_pd_type == 3) {
|
||||||
const dialogRef = this.dialog.open(PdAllocationComponent, {
|
const dialogRef = this.dialog.open(PdAllocationComponent, {
|
||||||
data: pdData,
|
data: pdData,
|
||||||
position: { right: '0'},
|
position: { right: '0'},
|
||||||
@ -220,20 +220,20 @@ export class QcViewComponent implements OnInit, OnDestroy {
|
|||||||
this.viewPdDetails(this.viewID,this.masterRandomString)
|
this.viewPdDetails(this.viewID,this.masterRandomString)
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
else if(pdData.fk_pd_type == 3){
|
// else if(pdData.fk_pd_type == 3){
|
||||||
const dialogRef = this.dialog.open(TelePdAllocationComponent, {
|
// const dialogRef = this.dialog.open(TelePdAllocationComponent, {
|
||||||
data: pdData,
|
// data: pdData,
|
||||||
position: { right: '0'},
|
// position: { right: '0'},
|
||||||
width: '80%',
|
// width: '80%',
|
||||||
disableClose: true,
|
// disableClose: true,
|
||||||
});
|
// });
|
||||||
dialogRef.afterClosed()
|
// dialogRef.afterClosed()
|
||||||
.subscribe(dataresult => {
|
// .subscribe(dataresult => {
|
||||||
// this.notifier.notify('success', 'Successfully allocated.!');
|
// // this.notifier.notify('success', 'Successfully allocated.!');
|
||||||
|
|
||||||
this.viewPdDetails(this.viewID,this.masterRandomString)
|
// this.viewPdDetails(this.viewID,this.masterRandomString)
|
||||||
});
|
// });
|
||||||
}
|
// }
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,9 +1,14 @@
|
|||||||
<div fxLayout="column">
|
<div fxLayout="column">
|
||||||
<div align="end" style="float:right;padding: 10px !important;" fxLayoutAlign="flex-end">
|
<div align="end" style="float:right;padding: 10px !important;" fxLayoutAlign="flex-end">
|
||||||
|
<button mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="reset"
|
||||||
|
matTooltipPosition="right" (click)="clearRandomString()" *ngIf="!is_video_enable" >
|
||||||
|
<mat-icon>cached</mat-icon>
|
||||||
|
</button>
|
||||||
<button mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Close"
|
<button mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Close"
|
||||||
matTooltipPosition="right" (click)="close_all()">
|
matTooltipPosition="right" (click)="close_all()">
|
||||||
<mat-icon>close</mat-icon>
|
<mat-icon>close</mat-icon>
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
<!-- <button mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Close"
|
<!-- <button mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Close"
|
||||||
matTooltipPosition="right" (click)="stopRecording()">
|
matTooltipPosition="right" (click)="stopRecording()">
|
||||||
<mat-icon>stop</mat-icon>
|
<mat-icon>stop</mat-icon>
|
||||||
@ -29,7 +34,7 @@
|
|||||||
</div> -->
|
</div> -->
|
||||||
<!-- <button type="button" class="btn btn-primary" (click)="connect()" >Connect</button> -->
|
<!-- <button type="button" class="btn btn-primary" (click)="connect()" >Connect</button> -->
|
||||||
<!-- <button type="button" (click)="message()">Send Message</button> -->
|
<!-- <button type="button" (click)="message()">Send Message</button> -->
|
||||||
<div style="text-align: center;float:center" fxLayout="row" fxLayoutAlign="center" fxLayoutGap = "25px" >
|
<div style="text-align: center;float:center" fxLayout="row" fxLayoutAlign="center" fxLayoutGap = "35px" >
|
||||||
<!-- <button type="button" style="width: 90px" (click)="switch_camera()" class="btn btn-primary btn-lg" disabled #camera_switch>Switch</button> -->
|
<!-- <button type="button" style="width: 90px" (click)="switch_camera()" class="btn btn-primary btn-lg" disabled #camera_switch>Switch</button> -->
|
||||||
<!-- <button mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Switch Camera"
|
<!-- <button mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Switch Camera"
|
||||||
matTooltipPosition="above" (click)="switch_camera()" disabled #camera_switch >
|
matTooltipPosition="above" (click)="switch_camera()" disabled #camera_switch >
|
||||||
@ -41,14 +46,14 @@
|
|||||||
matTooltipPosition="above" *ngIf="peerVideoEnable"><mat-icon>call_end</mat-icon></button><br/> -->
|
matTooltipPosition="above" *ngIf="peerVideoEnable"><mat-icon>call_end</mat-icon></button><br/> -->
|
||||||
<button mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Video Off / On"
|
<button mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Video Off / On"
|
||||||
matTooltipPosition="above" (click)="videoHandling()" *ngIf="peerVideoEnable">
|
matTooltipPosition="above" (click)="videoHandling()" *ngIf="peerVideoEnable">
|
||||||
<mat-icon *ngIf="video_mute">videocam_off</mat-icon>
|
<mat-icon *ngIf="!video_mute">videocam_off</mat-icon>
|
||||||
<mat-icon *ngIf="!video_mute">videocam</mat-icon>
|
<mat-icon *ngIf="video_mute">videocam</mat-icon>
|
||||||
</button>
|
</button>
|
||||||
<button mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Mic Off / On"
|
<button mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Mic Off / On"
|
||||||
matTooltipPosition="above" (click)="micMuteHandling()" *ngIf="peerVideoEnable">
|
matTooltipPosition="above" (click)="micMuteHandling()" *ngIf="peerVideoEnable">
|
||||||
<mat-icon *ngIf="mic_mute">mic_off</mat-icon>
|
<mat-icon *ngIf="!mic_mute">mic_off</mat-icon>
|
||||||
<mat-icon *ngIf="!mic_mute">mic</mat-icon>
|
<mat-icon *ngIf="mic_mute">mic</mat-icon>
|
||||||
</button>
|
</button>
|
||||||
<button mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Disconnect"
|
<button mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Disconnect"
|
||||||
matTooltipPosition="above" (click)="disconnect()" >
|
matTooltipPosition="above" (click)="disconnect()" >
|
||||||
<mat-icon>call_end</mat-icon>
|
<mat-icon>call_end</mat-icon>
|
||||||
@ -57,7 +62,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div fxLayoutAlign="center center" *ngIf="!is_video_enable" >
|
<div fxLayoutAlign="center center" *ngIf="!is_video_enable" >
|
||||||
<div fxLayout="column" fxLayoutAlign="center center" style="position: absolute;bottom: 30%">
|
<div fxLayout="column" fxLayoutAlign="center center" style="position: absolute;bottom: 30%">
|
||||||
<div fxLayout="row">
|
<div fxLayout="row" *ngIf="start_btn_enable">
|
||||||
<button mat-raised-button type="button" matTooltip="Start Video Chat" matTooltipPosition = "above" (click)="start_Calling('init')">
|
<button mat-raised-button type="button" matTooltip="Start Video Chat" matTooltipPosition = "above" (click)="start_Calling('init')">
|
||||||
<mat-icon>videocam</mat-icon>
|
<mat-icon>videocam</mat-icon>
|
||||||
Start Video Chat
|
Start Video Chat
|
||||||
@ -66,7 +71,7 @@
|
|||||||
<!-- </div> -->
|
<!-- </div> -->
|
||||||
<!-- <div fxLayout="column"> -->
|
<!-- <div fxLayout="column"> -->
|
||||||
<div class="note-label">
|
<div class="note-label">
|
||||||
<p>Note : Make sure the Reciever is waiting for your call before start Calling</p>
|
<p>{{displayMsg}}</p>
|
||||||
</div>
|
</div>
|
||||||
<!-- </div> -->
|
<!-- </div> -->
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
import { Component, OnInit, ChangeDetectorRef, ViewChild, Inject } from '@angular/core';
|
import { Component, OnInit, ChangeDetectorRef, ViewChild, Inject, HostListener } from '@angular/core';
|
||||||
import { Observable } from 'rxjs';
|
import { Observable } from 'rxjs';
|
||||||
import { PushNotifyService } from 'app/shared/push-notify.service';
|
import { PushNotifyService } from 'app/shared/push-notify.service';
|
||||||
import { Socket } from 'ngx-socket-io';
|
import { Socket } from 'ngx-socket-io';
|
||||||
@ -30,6 +30,8 @@ export class VideoChatComponent implements OnInit {
|
|||||||
video_mute: boolean = true;
|
video_mute: boolean = true;
|
||||||
user_msg: string;
|
user_msg: string;
|
||||||
recorder: any;
|
recorder: any;
|
||||||
|
start_btn_enable:boolean = true
|
||||||
|
displayMsg:string = "Note : Make sure the Reciever is waiting for your call before start Calling"
|
||||||
constructor(private _notificationService:PushNotifyService,
|
constructor(private _notificationService:PushNotifyService,
|
||||||
private cdRef: ChangeDetectorRef,private socket: Socket,
|
private cdRef: ChangeDetectorRef,private socket: Socket,
|
||||||
private dialogRef: MatDialogRef<VideoChatComponent>,
|
private dialogRef: MatDialogRef<VideoChatComponent>,
|
||||||
@ -147,12 +149,12 @@ export class VideoChatComponent implements OnInit {
|
|||||||
if(data.hasOwnProperty('type') && data.type == 'offer'){
|
if(data.hasOwnProperty('type') && data.type == 'offer'){
|
||||||
console.log("entered!!!!!!!!!!!!!!!!1");
|
console.log("entered!!!!!!!!!!!!!!!!1");
|
||||||
this.user_msg = "Calling..."
|
this.user_msg = "Calling..."
|
||||||
let event_data = {JSON_to_connect:data,type:'offer',random_string:this.chat_info.random_string}
|
let event_data = {JSON_to_connect:data,type:'offer',random_string:this.chat_info.random_string,user_type:"officer"}
|
||||||
this.socket.emit('Offer', event_data)
|
this.socket.emit('Offer', event_data)
|
||||||
}
|
}
|
||||||
else if(data.type == 'answer' ){
|
else if(data.type == 'answer' ){
|
||||||
this.user_msg = "Waiting For Connection..."
|
this.user_msg = "Waiting For Connection..."
|
||||||
let event_data = {JSON_to_connect:data,type:'answer',random_string:this.chat_info.random_string}
|
let event_data = {JSON_to_connect:data,type:'answer',random_string:this.chat_info.random_string,user_type:"officer"}
|
||||||
this.socket.emit('Answer', event_data)
|
this.socket.emit('Answer', event_data)
|
||||||
}
|
}
|
||||||
// copyMessage(JSON.stringify(data))
|
// copyMessage(JSON.stringify(data))
|
||||||
@ -227,9 +229,9 @@ export class VideoChatComponent implements OnInit {
|
|||||||
peerx.signal(answer.JSON_to_connect);
|
peerx.signal(answer.JSON_to_connect);
|
||||||
},1000)
|
},1000)
|
||||||
}
|
}
|
||||||
function getPeer(){
|
// function getPeer(){
|
||||||
return JSON.stringify(copyMessageText)
|
// return JSON.stringify(copyMessageText)
|
||||||
}
|
// }
|
||||||
// if(JSON.parse(copyMessageText).hasOwnProperty('type') && JSON.parse(copyMessageText).type == 'offer')
|
// if(JSON.parse(copyMessageText).hasOwnProperty('type') && JSON.parse(copyMessageText).type == 'offer')
|
||||||
// {
|
// {
|
||||||
// setTimeout(()=>{
|
// setTimeout(()=>{
|
||||||
@ -246,6 +248,12 @@ export class VideoChatComponent implements OnInit {
|
|||||||
console.log('Failed to get stream', err);
|
console.log('Failed to get stream', err);
|
||||||
alert('Failed to get stream '+err);
|
alert('Failed to get stream '+err);
|
||||||
});
|
});
|
||||||
|
this.socket.on('callStatusMessage',this.updateTheMsg)
|
||||||
|
this.socket.fromEvent('callStatusMessage').subscribe(res=>{
|
||||||
|
if(res) {
|
||||||
|
this.updateTheMsg(res)
|
||||||
|
}
|
||||||
|
})
|
||||||
// function update(){
|
// function update(){
|
||||||
// console.log(copyMessageText)
|
// console.log(copyMessageText)
|
||||||
// setTimeout(()=>{
|
// setTimeout(()=>{
|
||||||
@ -267,6 +275,17 @@ export class VideoChatComponent implements OnInit {
|
|||||||
// socket.on('CreatePeer', MakePeer)
|
// socket.on('CreatePeer', MakePeer)
|
||||||
// socket.on('Disconnect', RemovePeer)
|
// socket.on('Disconnect', RemovePeer)
|
||||||
}
|
}
|
||||||
|
updateTheMsg(msg_obj) {
|
||||||
|
console.log("CallstatusMsg",msg_obj)
|
||||||
|
if(msg_obj && msg_obj.status_code == 2){
|
||||||
|
console.log("entered");
|
||||||
|
this.start_btn_enable = false
|
||||||
|
this.displayMsg = msg_obj.msg
|
||||||
|
// this.cdRef.detectChanges();
|
||||||
|
this.disconnect();
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
fetchVideoAndPlay(stream,videotype,enablePeerVideo?) {
|
fetchVideoAndPlay(stream,videotype,enablePeerVideo?) {
|
||||||
console.log("12@@@@@@@@@2",enablePeerVideo)
|
console.log("12@@@@@@@@@2",enablePeerVideo)
|
||||||
|
|
||||||
@ -283,6 +302,7 @@ export class VideoChatComponent implements OnInit {
|
|||||||
this.peervideo.nativeElement.style.marginTop = '0px'
|
this.peervideo.nativeElement.style.marginTop = '0px'
|
||||||
}
|
}
|
||||||
this.peerVideoEnable = enablePeerVideo
|
this.peerVideoEnable = enablePeerVideo
|
||||||
|
this.socket.emit('callStatus',{random_string:this.chat_info.random_string,status:'connected',status_code:1})
|
||||||
// this.camereSwitchBtn.nativeElement.disabled = true;
|
// this.camereSwitchBtn.nativeElement.disabled = true;
|
||||||
console.log("peervideo check",this.peerVideoEnable,this.peervideo.nativeElement.videoWidth,this.peervideo.nativeElement.videoHeight);
|
console.log("peervideo check",this.peerVideoEnable,this.peervideo.nativeElement.videoWidth,this.peervideo.nativeElement.videoHeight);
|
||||||
this.cdRef.detectChanges();
|
this.cdRef.detectChanges();
|
||||||
@ -379,15 +399,18 @@ export class VideoChatComponent implements OnInit {
|
|||||||
}
|
}
|
||||||
disconnect() {
|
disconnect() {
|
||||||
console.log(this.peer)
|
console.log(this.peer)
|
||||||
|
if(this.peer) {
|
||||||
this.peer.destroy();
|
this.peer.destroy();
|
||||||
this.peerVideoEnable = false
|
this.peerVideoEnable = false
|
||||||
this.targetpeer = ''
|
this.targetpeer = ''
|
||||||
this.peer = ''
|
this.peer = ''
|
||||||
// this.cdRef.detectChanges();
|
// this.cdRef.detectChanges();
|
||||||
|
this.socket.emit('callStatus',{random_string:this.chat_info.random_string,status:'disconnected',status_code:0})
|
||||||
this.peervideo.nativeElement.pause();
|
this.peervideo.nativeElement.pause();
|
||||||
this.stopRecording().then(res=>{
|
this.stopRecording().then(res=>{
|
||||||
|
|
||||||
})
|
})
|
||||||
|
}
|
||||||
console.log(this.MediaStream.getTracks())
|
console.log(this.MediaStream.getTracks())
|
||||||
// this.MediaStream.stop()
|
// this.MediaStream.stop()
|
||||||
// var track = this.MediaStream.getTracks()[0]; // if only one media track
|
// var track = this.MediaStream.getTracks()[0]; // if only one media track
|
||||||
@ -451,5 +474,20 @@ export class VideoChatComponent implements OnInit {
|
|||||||
this.cdRef.detectChanges();
|
this.cdRef.detectChanges();
|
||||||
this.MediaStream.getVideoTracks()[0].enabled = this.video_mute;
|
this.MediaStream.getVideoTracks()[0].enabled = this.video_mute;
|
||||||
}
|
}
|
||||||
|
clearRandomString() {
|
||||||
|
if(this.peer) {
|
||||||
|
this.disconnect() }
|
||||||
|
else{
|
||||||
|
this.socket.emit('callStatus',{random_string:this.chat_info.random_string,status:'disconnected',status_code:0})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@HostListener('window:beforeunload', ['$event'])
|
||||||
|
unloadHandler(event) {
|
||||||
|
console.log("unload caled",event);
|
||||||
|
if(this.peerVideoEnable) {
|
||||||
|
this.disconnect();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user