import { Action } from '@ngrx/store'; import { DegreePlan } from '@app/core/models/degree-plan'; import { PlannedTerm } from '@app/core/models/planned-term'; import { DegreePlannerState } from '@app/degree-planner/store/state'; export enum PlanActionTypes { InitialPlanLoadResponse = '[Plan] Initial Load Response', ChangeVisiblePlanRequest = '[Plan] Change Visible Request', ChangeVisiblePlanResponse = '[Plan] Change Visible Response', } export class InitialPlanLoadResponse implements Action { public readonly type = PlanActionTypes.InitialPlanLoadResponse; constructor(public payload: DegreePlannerState) {} } export class ChangeVisiblePlanRequest implements Action { public readonly type = PlanActionTypes.ChangeVisiblePlanRequest; constructor(public payload: { newVisibleRoadmapId: number }) {} } export class ChangeVisiblePlanResponse implements Action { public readonly type = PlanActionTypes.ChangeVisiblePlanResponse; constructor( public payload: { visibleDegreePlan: DegreePlan; visibleTerms: PlannedTerm[]; }, ) {} }