This is the warning I get in the web browser. I would like to know the reason and how to fix it.
client:135 Circular dependency detected: src\app\employee\employee.component.ts -> src\app\shared\service\employee.service.ts -> src\app\employee\employee.component.ts
Here is my employee.component.ts file.
import {Component, OnInit} from '@angular/core';
import {EmployeeService} from '../shared/service/employee.service';
import {Employee} from '../shared/model/employee/employee.model';
@Component({
selector: 'app-employee',
templateUrl: './employee.component.html',
styleUrls: ['./employee.component.scss']
})
export class EmployeeComponent implements OnInit {
activeEmployee: Employee;
constructor(private employeeService: EmployeeService) {
this.activeEmployee = this.employeeService.getActiveEmployee();
}
ngOnInit(): void {
}
closeDialog(): void {
// this.employeeService.dialogRef.close();
this.employeeService.closeDialogBox();
}
}
Here is my employee.service.ts file.
import {Injectable} from '@angular/core';
import {Employee} from '../model/employee/employee.model';
import {MatDialog, MatDialogConfig, MatDialogRef} from '@angular/material/dialog';
import {EmployeeComponent} from '../../employee/employee.component';
import {Position} from '../model/employee/position.enum';
import {Status} from '../model/employee/status.enum';
import {Gender} from '../model/gender.enum';
const employeeSample = new Employee(2,
'John Doe',
'22, Sample Road, Sample 03',
new Date(Date.parse('01/01/1995')),
'XXXXXXXXX',
'94-XXXXXXXX',
'john@temporary-mail.net',
Gender.MALE,
Position.INTERN,
Status.ACTIVE,
null // password
);
@Injectable({
providedIn: 'root'
})
export class EmployeeService {
activeEmployee = employeeSample;
dialogConfig: MatDialogConfig = new MatDialogConfig();
dialogRef!: MatDialogRef<any>;
constructor(public dialog: MatDialog
) {
this.dialogConfig = {
width: '60%',
height: '100%',
disableClose: true
};
}
openDialogBox(): void {
this.dialogRef = this.dialog.open(EmployeeComponent, this.dialogConfig);
}
closeDialogBox(): void{
this.dialogRef.close();
}
getActiveEmployee(): Employee{
return this.activeEmployee;
}
}