Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import { CustomerStateKey, CustomerState } from "../customer/customer-
- store/customer.state";
- import { AdminStateKey, AdminState } from "../admin/admin-
- store/admin.state";
- export interface State {
- [CustomerStateKey]: CustomerState;
- [AdminStateKey]: AdminState;
- }
- import { TourproviderState } from "./state/tourprovider.state";
- import { createFeatureSelector } from "@ngrx/store";
- import { State } from "src/app/root-store/root-state";
- export interface AdminState {
- tourproviderState: TourproviderState;
- }
- export const AdminStateKey = 'admin';
- export const SelectAdminState = createFeatureSelector<State, AdminState>
- (AdminStateKey);
- import { createAction, props } from '@ngrx/store'
- import { Tourprovider } from '../../../models/tour-provider'
- import { RequestResult } from 'src/app/models/request-result';
- export const loadTourprovider = createAction('[Tourprovider] Tourprovider
- Request');
- export const loadTourproviderSuccess = createAction('[Tourprovider]
- Tourprovider Load Success', props<{ tourProvider:
- RequestResult<Tourprovider> }>());
- export const loadTourproviderFail = createAction('[Tourprovider]
- Tourprovider Load Fail', props<{ errorMessage: string }>())
- import { loadTourprovider, loadTourproviderSuccess, loadTourproviderFail }
- from '../actions/tourprovider.action'
- import { createReducer, on, Action } from '@ngrx/store'
- import { TourproviderState } from '../state/tourprovider.state';
- const initialState: TourproviderState = {
- tourProvider: {},
- error: null,
- isLoading: false
- }
- const tourProviderReducer = createReducer(initialState,
- on(loadTourprovider, state => {
- console.log('tour provider reducer executed');
- return state;
- }),
- on(loadTourproviderSuccess, (state, { tourProvider }) => {
- console.log('tour provider reducer executed');
- return { ...state, tourProvider: tourProvider }
- }),
- on(loadTourproviderFail, ((state, { errorMessage }) => {
- return { ...state, errorMes: errorMessage }
- }))
- );
- export function reducer(state: TourproviderState | undefined, action:
- Action) {
- return tourProviderReducer(state, action);
- }
- import { createSelector } from '@ngrx/store';
- import { SelectAdminState, AdminState } from '../admin.state';
- export const selectTourprovider = createSelector(SelectAdminState, ({
- tourproviderState }: AdminState) => tourproviderState.tourProvider);
- export const selectIsTourproviderLoading =
- createSelector(SelectAdminState,
- ({ tourproviderState }: AdminState) => tourproviderState.isLoading);
- export const selectTourproviderError = createSelector(SelectAdminState, ({
- tourproviderState }: AdminState) => tourproviderState.error);
- export interface Tourprovider {
- id: number,
- name: string,
- email: string,
- description: string,
- logo: string,
- contactNum: string,
- contactNum2: string,
- streetAddress: string,
- streetAddress2: string,
- zipCode: string,
- city: string,
- state: string,
- countryCode: string,
- countryName: string,
- }
- export interface RequestResult<T> {
- code: number;
- message: string;
- payload: T;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement