Advertisement
Guest User

Untitled

a guest
Aug 19th, 2019
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.06 KB | None | 0 0
  1. import { CustomerStateKey, CustomerState } from "../customer/customer-
  2. store/customer.state";
  3. import { AdminStateKey, AdminState } from "../admin/admin-
  4. store/admin.state";
  5. export interface State {
  6. [CustomerStateKey]: CustomerState;
  7. [AdminStateKey]: AdminState;
  8. }
  9.  
  10. import { TourproviderState } from "./state/tourprovider.state";
  11. import { createFeatureSelector } from "@ngrx/store";
  12. import { State } from "src/app/root-store/root-state";
  13.  
  14. export interface AdminState {
  15. tourproviderState: TourproviderState;
  16. }
  17.  
  18. export const AdminStateKey = 'admin';
  19.  
  20. export const SelectAdminState = createFeatureSelector<State, AdminState>
  21. (AdminStateKey);
  22.  
  23. import { createAction, props } from '@ngrx/store'
  24. import { Tourprovider } from '../../../models/tour-provider'
  25. import { RequestResult } from 'src/app/models/request-result';
  26.  
  27. export const loadTourprovider = createAction('[Tourprovider] Tourprovider
  28. Request');
  29. export const loadTourproviderSuccess = createAction('[Tourprovider]
  30. Tourprovider Load Success', props<{ tourProvider:
  31. RequestResult<Tourprovider> }>());
  32. export const loadTourproviderFail = createAction('[Tourprovider]
  33. Tourprovider Load Fail', props<{ errorMessage: string }>())
  34.  
  35. import { loadTourprovider, loadTourproviderSuccess, loadTourproviderFail }
  36. from '../actions/tourprovider.action'
  37. import { createReducer, on, Action } from '@ngrx/store'
  38. import { TourproviderState } from '../state/tourprovider.state';
  39.  
  40. const initialState: TourproviderState = {
  41. tourProvider: {},
  42. error: null,
  43. isLoading: false
  44. }
  45.  
  46. const tourProviderReducer = createReducer(initialState,
  47. on(loadTourprovider, state => {
  48. console.log('tour provider reducer executed');
  49. return state;
  50. }),
  51. on(loadTourproviderSuccess, (state, { tourProvider }) => {
  52. console.log('tour provider reducer executed');
  53. return { ...state, tourProvider: tourProvider }
  54. }),
  55. on(loadTourproviderFail, ((state, { errorMessage }) => {
  56. return { ...state, errorMes: errorMessage }
  57. }))
  58. );
  59.  
  60. export function reducer(state: TourproviderState | undefined, action:
  61. Action) {
  62. return tourProviderReducer(state, action);
  63. }
  64.  
  65. import { createSelector } from '@ngrx/store';
  66. import { SelectAdminState, AdminState } from '../admin.state';
  67.  
  68. export const selectTourprovider = createSelector(SelectAdminState, ({
  69. tourproviderState }: AdminState) => tourproviderState.tourProvider);
  70.  
  71. export const selectIsTourproviderLoading =
  72. createSelector(SelectAdminState,
  73. ({ tourproviderState }: AdminState) => tourproviderState.isLoading);
  74.  
  75. export const selectTourproviderError = createSelector(SelectAdminState, ({
  76. tourproviderState }: AdminState) => tourproviderState.error);
  77.  
  78. export interface Tourprovider {
  79. id: number,
  80. name: string,
  81. email: string,
  82. description: string,
  83. logo: string,
  84. contactNum: string,
  85. contactNum2: string,
  86. streetAddress: string,
  87. streetAddress2: string,
  88. zipCode: string,
  89. city: string,
  90. state: string,
  91. countryCode: string,
  92. countryName: string,
  93. }
  94.  
  95. export interface RequestResult<T> {
  96. code: number;
  97. message: string;
  98. payload: T;
  99. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement