Created
September 11, 2018 20:52
-
-
Save abalad/d9c82af8bcdce904bb173a7e1fe3edaa to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import { NgxsEntityStateModel } from '../../shared/plugins/ngrx-entity/ngxs-entity.state.model'; | |
import { NgxsEntityAdapter } from '../../shared/plugins/ngrx-entity/ngxs-entity.adapter'; | |
import { LoadUsuariosSuccess, AddUserSuccess, UpdateUserSuccess, RemoveUserSuccess } from './user.actions'; | |
export class UserStateModel extends NgxsEntityStateModel<UserModel> {} | |
@State<UserStateModel>({ | |
name: 'user', | |
defaults: UserStateModel.InitialState() | |
}) | |
export class UserState implements NgxsOnInit { | |
@Action(LoadUserSuccess) | |
loadUserSuccess( ctx: StateContext<UserStateModel>, { payload }: LoadUserSuccess ) { | |
NgxsEntityAdapter.addAll( payload, ctx ); | |
} | |
@Action(AddUserSuccess) | |
addUserSuccess( ctx: StateContext<UserStateModel>, { payload }: AddUserSuccess ) { | |
NgxsEntityAdapter.addOne( payload, ctx ); | |
NgxsEntityAdapter.stopLoading( ctx ); | |
} | |
@Action(UpdateUserSuccess) | |
updateUserSuccess( ctx: StateContext<UserStateModel>, { payload }: UpdateUserSuccess ) { | |
NgxsEntityAdapter.updateOne( payload, ctx ); | |
NgxsEntityAdapter.stopLoading( ctx ); | |
} | |
@Action(RemoveUserSuccess) | |
removeUserSuccess( ctx: StateContext<UserStateModel>, { payload }: RemoveUserSuccess ) { | |
NgxsEntityAdapter.removeOne( payload, ctx ); | |
NgxsEntityAdapter.stopLoading( ctx ); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment