23. Add attendee logic
In this section we will add the logic to add an attendee using NgRx which we will build on in the rest of the course.
1. Add new action creators
import { Action } from '@ngrx/store';
import { Attendee } from '../../../models';
export enum AttendeesActionTypes {
LoadAttendees = '[Attendees Page] Load Attendees',
LoadAttendeesSuccess = '[Attendees Page] Load Attendees Success',
LoadAttendeesFail = '[Attendees Page] Load Attendees Fail',
AddAttendee = '[Attendee Page] Add Attendee',
AddAttendeeSuccess = '[Attendee API] Add Attendee Success',
AddAttendeeFail = '[Attendee API] Add Attendee Fail'
}
export class LoadAttendees implements Action {
readonly type = AttendeesActionTypes.LoadAttendees;
}
export class LoadAttendeesSuccess implements Action {
readonly type = AttendeesActionTypes.LoadAttendeesSuccess;
constructor(public payload: Attendee[]) {}
}
export class LoadAttendeesFail implements Action {
readonly type = AttendeesActionTypes.LoadAttendeesFail;
constructor(public payload: any) {}
}
export class AddAttendee implements Action {
readonly type = AttendeesActionTypes.AddAttendee;
constructor(public payload: Attendee) {}
}
export class AddAttendeeSuccess implements Action {
readonly type = AttendeesActionTypes.AddAttendeeSuccess;
constructor(public payload: Attendee) {}
}
export class AddAttendeeFail implements Action {
readonly type = AttendeesActionTypes.AddAttendeeFail;
constructor(public payload: any) {}
}
export type AttendeesActions =
| AddAttendee
| AddAttendeeSuccess
| AddAttendeeFail
| LoadAttendees
| LoadAttendeesSuccess
| LoadAttendeesFail;2. Add effect
3. Update reducer
4. Update EventComponent to dispatch AddAttendees
StackBlitz Link
Last updated