Files
micro-frontend/accounting-ng-nuttakit/src/app/services/state/dashboard-state.service.ts

32 lines
924 B
TypeScript
Raw Normal View History

import { Injectable } from '@angular/core';
import { BehaviorSubject, Observable } from 'rxjs';
2025-11-13 15:37:50 +07:00
import { IDropAct, IStateDrop } from '../../interfaces/dashboard.interface';
@Injectable({
providedIn: 'root'
})
export class DashboardStateService {
// ประกาศ BehaviorSubject ด้วย Interface
2025-11-13 15:37:50 +07:00
private dashboardState = new BehaviorSubject<IStateDrop | null>(null);
// ส่ง Observable ไปให้ components subscribe
2025-11-13 15:37:50 +07:00
getStateResult(): Observable<IStateDrop | null> {
return this.dashboardState.asObservable();
}
// เซ็ท state
2025-11-13 15:37:50 +07:00
setStateResult(product: IStateDrop): void {
this.dashboardState.next(product);
}
// เคลียร์ state
clearState(): void {
2025-11-13 15:37:50 +07:00
this.dashboardState.next(null);
}
// ดึงค่า current state (ไม่ใช่ observable)
// getCurrentState(): IDropAct | null {
// return this.productState.value;
// }
}