EROR NullInjectorError: R3InjectorError(AppModule)[UploadService -> MatDialog -> MatDialog]:
import { Injectable } from '@angular/core';
import { Observable, from } from 'rxjs';
import { UploadComponent } from '../components/upload/upload.component';
import { MatDialog } from '@angular/material/dialog';
@Injectable({ providedIn: 'root'})
export class UploadService {
private modalData$!: any;
constructor(private dialog: MatDialog) { }
uploadFile(props: any): Observable<any> {
const dialogRef = this.dialog.open(UploadComponent, {
width: props.width || '50%',
maxWidth: props.maxWidth || '400px',
hasBackdrop: true,
disableClose: true,
data: props.data,
})
const modalData$ = dialogRef.afterClosed();
return from(modalData$);
}
@Component({
selector: 'app-upload',
templateUrl: './upload.component.html',
styleUrls: ['./upload.component.scss']
})
export class UploadComponent{
constructor(
public dialogRef: MatDialogRef<UploadComponent>,
@Inject(MAT_DIALOG_DATA) public data: any) { }
closeAceptModal() {
this.dialogRef.close(true);
}
closeCancelModal() {
this.dialogRef.close(false);
}
}