Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- this.store$
- .select(fromRoot.getUserState)
- .filter(user => user.id != null && user.logged)
- .takeUntil(this.componentDestroyed$)
- .do(user => this.store$.dispatch({type: 'ADD_SOURCE', payload: user.username}))
- .subscribe();
- @Effect({ dispatch: true })
- addSource$: Observable<Action> = this.actions$
- .ofType('ADD_SOURCE')
- .switchMap(
- (action: Action) =>
- this.userService.addCard(action.payload.username, action.payload.token)
- .map((card: CardDTO) => {
- return <Action>{
- type: 'ADD_SOURCE_SUCCESS',
- payload: <ICard>{ ... }
- };
- })
- .catch(_ => {
- return Observable.of(<Action>{ type: 'ADD_SOURCE_FAILED', payload: { }});
- }));
- private static saveSourceSuccess(sourcesRdx, type, payload) {
- return <ISourceRedux>{
- ids: [ ...sourcesRdx.ids, payload.id ],
- entities: Object.assign({}, sourcesRdx.entities, {[payload.id]: payload}),
- selectedIds: sourcesRdx.selectedIds,
- editingSource: null
- };
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement