import { Injectable } from '@angular/core'; import { BehaviorSubject, Observable } from 'rxjs'; @Injectable({ providedIn: 'root' }) export class DetailsService { private detailsControlSubject = new BehaviorSubject({ isDetailsOpen: false, isDetailsEdit: false }); private detailsControl$: Observable = this.detailsControlSubject.asObservable(); getDetailsControl(): Observable { return this.detailsControl$; } setDetailsControl(value: IDetailsControl) { this.detailsControlSubject.next(value); } setIsDetailsOpen(value: boolean) { const detailsControl = this.detailsControlSubject.getValue(); detailsControl.isDetailsOpen = value; this.detailsControlSubject.next(detailsControl); } setIsDetailsEdit(value: boolean) { const detailsControl = this.detailsControlSubject.getValue(); detailsControl.isDetailsEdit = value; this.detailsControlSubject.next(detailsControl); } } export interface IDetailsControl{ isDetailsOpen: boolean, isDetailsEdit: boolean }