import { Action } from '@ngrx/store'; import { Update } from '@ngrx/entity'; import { BomItem } from './bom-item.model'; export enum BomItemActionTypes { LoadBomItems = '[BomItem] Load BomItems', AddBomItem = '[BomItem] Add BomItem', UpsertBomItem = '[BomItem] Upsert BomItem', AddBomItems = '[BomItem] Add BomItems', UpsertBomItems = '[BomItem] Upsert BomItems', UpdateBomItem = '[BomItem] Update BomItem', UpdateBomItems = '[BomItem] Update BomItems', DeleteBomItem = '[BomItem] Delete BomItem', DeleteBomItems = '[BomItem] Delete BomItems', ClearBomItems = '[BomItem] Clear BomItems' } export class LoadBomItems implements Action { readonly type = BomItemActionTypes.LoadBomItems; constructor(public payload: { boms: BomItem[] }) {} } export class AddBomItem implements Action { readonly type = BomItemActionTypes.AddBomItem; constructor(public payload: { bom: BomItem }) {} } export class UpsertBomItem implements Action { readonly type = BomItemActionTypes.UpsertBomItem; constructor(public payload: { bom: BomItem }) {} } export class AddBomItems implements Action { readonly type = BomItemActionTypes.AddBomItems; constructor(public payload: { boms: BomItem[] }) {} } export class UpsertBomItems implements Action { readonly type = BomItemActionTypes.UpsertBomItems; constructor(public payload: { boms: BomItem[] }) {} } export class UpdateBomItem implements Action { readonly type = BomItemActionTypes.UpdateBomItem; constructor(public payload: { bom: Update }) {} } export class UpdateBomItems implements Action { readonly type = BomItemActionTypes.UpdateBomItems; constructor(public payload: { boms: Update[] }) {} } export class DeleteBomItem implements Action { readonly type = BomItemActionTypes.DeleteBomItem; constructor(public payload: { id: string }) {} } export class DeleteBomItems implements Action { readonly type = BomItemActionTypes.DeleteBomItems; constructor(public payload: { ids: string[] }) {} } export class ClearBomItems implements Action { readonly type = BomItemActionTypes.ClearBomItems; } export type BomItemActions = | LoadBomItems | AddBomItem | UpsertBomItem | AddBomItems | UpsertBomItems | UpdateBomItem | UpdateBomItems | DeleteBomItem | DeleteBomItems | ClearBomItems;