import { Action } from '@ngrx/store'; import { Criterion } from './model'; export const CHANGE_STEP = 'Change Search Step'; export const SELECT_DATASET = 'Select Dataset'; export const UPDATE_DEFAULT_CRITERIA_LIST = 'Update Default Criteria List Action'; export const UPDATE_CRITERIA_LIST = 'Update Criteria List'; export const ADD_CRITERION = 'Add Criterion'; export const DELETE_CRITERION = 'Delete Criterion'; export const UPDATE_DEFAULT_OUTPUT_LIST = 'Update Default Output List'; export const UPDATE_OUTPUT_LIST = 'Update Output List'; export class ChangeStepAction implements Action { type = CHANGE_STEP; constructor(public payload: string) { } } export class SelectDatasetAction implements Action { type = SELECT_DATASET; constructor(public payload: string) { } } export class UpdateDefaultCriteriaListAction implements Action { type = UPDATE_DEFAULT_CRITERIA_LIST; constructor(public payload: Criterion[]) { } } export class UpdateCriteriaListAction implements Action { type = UPDATE_CRITERIA_LIST; constructor(public payload: Criterion[]) { } } export class AddCriterionAction implements Action { type = ADD_CRITERION; constructor(public payload: Criterion) { } } export class DeleteCriterionAction implements Action { type = DELETE_CRITERION; constructor(public payload: number) { } } export class UpdateDefaultOutputListAction implements Action { type = UPDATE_DEFAULT_OUTPUT_LIST; constructor(public payload: number[]) { } } export class UpdateOutputListAction implements Action { type = UPDATE_OUTPUT_LIST; constructor(public payload: number[]) { } } export type Actions = ChangeStepAction | SelectDatasetAction | UpdateDefaultCriteriaListAction | UpdateCriteriaListAction | AddCriterionAction | DeleteCriterionAction | UpdateDefaultOutputListAction | UpdateOutputListAction;