import { Injectable } from '@angular/core'; import { BehaviorSubject, Observable } from 'rxjs'; import { IDropAct, IStateDrop, IActData } from '../../interfaces/dashboard.interface'; @Injectable({ providedIn: 'root' }) export class DashboardStateService { // ประกาศ BehaviorSubject ด้วย Interface private dashboardState = new BehaviorSubject(null); private accountting = new BehaviorSubject(null); // ส่ง Observable ไปให้ components subscribe getStateResult(): Observable { return this.dashboardState.asObservable(); } // เซ็ท state setStateResult(dashboard: IStateDrop): void { this.dashboardState.next(dashboard); } setStateAccountResult(dashboard: IActData[]): void { this.accountting.next(dashboard); } // เคลียร์ state clearState(): void { this.dashboardState.next(null); } getStateAccountResult(): Observable { return this.accountting.asObservable(); } // ดึงค่า current state (ไม่ใช่ observable) // getCurrentState(): IDropAct | null { // return this.dashboardState.value; // } }