Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import {
- actionCreator,
- asyncActionsCreator,
- asyncDispatcherCreator,
- dispatcherCreator,
- reducerCreator,
- startedActionHandler,
- successActionHandlerFilters,
- failureActionHandler,
- typeActionHandler,
- activeActionHandler
- } from 'utils/redux';
- import { IFiltersState } from 'data/filters/types';
- import { filters } from './service';
- const FiltersInit = asyncActionsCreator('FILTERS_INIT');
- const FiltersClear = actionCreator('FILTERS_CLEAR');
- const FiltersChange = actionCreator('FILTERS_CHANGE');
- const FiltersSetActive = actionCreator('FILTERS_SET_ACTIVE');
- export const create = asyncDispatcherCreator(FiltersInit, filters);
- export const clear = dispatcherCreator(FiltersClear);
- export const active = (name: string) => {
- return (dispatch: any) => {
- dispatch(FiltersSetActive());
- return name;
- };
- };
- export const change = (filtersType: string) => {
- return (dispatch: any) => {
- dispatch(FiltersChange());
- return filtersType;
- };
- };
- export interface FiltersState extends IReduxAsyncState<IFiltersState> {}
- const filtersDefaultState: FiltersState = {
- payload: {
- filtersData: '',
- filtersCategories: {
- fundDimensions: [
- { name: 'vintageYear', label: 'Vintage Year' },
- { name: 'sectorGroup', label: 'Sector Focus' },
- { name: 'stageGroup', label: 'Stage Focus' },
- { name: 'teamLocation', label: 'Team Location' },
- ],
- investmentDimensions: [
- { name: 'investmentYear', label: 'Investment Year' },
- { name: 'investmentSectorGroup', label: 'Sector' },
- { name: 'investmentStageGroup', label: 'Stage' },
- { name: 'investmentCountry', label: 'Country' },
- ],
- },
- filtersType: 'fundDimensions',
- },
- working: false,
- };
- const handlers: IReducerHandlers<FiltersState> = {
- [FiltersInit.started.type]: startedActionHandler,
- [FiltersInit.success.type]: successActionHandlerFilters,
- [FiltersInit.failure.type]: failureActionHandler,
- [FiltersChange.type]: typeActionHandler,
- [FiltersSetActive.type]: activeActionHandler,
- };
- export const FiltersReducer = reducerCreator(filtersDefaultState, handlers);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement