import { Component, Inject } from '@angular/core'; import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material'; import { LocalRecorder } from 'openvidu-browser'; @Component({ selector: 'app-local-recording-dialog', template: `
{{uploadIcon}}
`, styles: [` #quality-div { margin-top: 20px; } `], }) export class LocalRecordingDialogComponent { public myReference: MatDialogRef; private recorder: LocalRecorder; private uploading = false; private endpoint = ''; private uploadIcon: string; private iconColor: string; private iconClass = ''; constructor(@Inject(MAT_DIALOG_DATA) public data: any) { this.recorder = data.recorder; } close() { this.myReference.close(); } uploadFile() { this.iconColor = 'black'; this.iconClass = 'rotating'; this.uploadIcon = 'cached'; this.uploading = true; this.recorder.uploadAsBinary(this.endpoint) .then(() => { this.iconColor = 'green'; this.uploadIcon = 'done'; this.iconClass = ''; }) .catch((e) => { this.iconColor = 'red'; this.uploadIcon = 'clear'; this.iconClass = ''; }); } }