@omegabigdata/honoplay-redux-helper
Version:
honoplay-redux-helper
176 lines (165 loc) • 3.94 kB
JavaScript
import {
CREATING_TAG,
CREATE_TAG_SUCCESS,
CREATE_TAG_FAILED,
UPDATING_TAG,
UPDATE_TAG_SUCCESS,
UPDATE_TAG_FAILED,
FETCHING_TAG_LIST,
FETCH_TAG_LIST_SUCCESS,
FETCH_TAG_LIST_FAILED,
FETCHING_TAG,
FETCH_TAG_SUCCESS,
FETCH_TAG_FAILED,
FETCHING_TAG_BY_QUESTION_ID,
FETCH_TAG_BY_QUESTION_SUCCESS,
FETCH_TAG_BY_QUESTION_ID_FAILED
} from '../helpers/ActionTypes/Tag';
const CREATE_TAG_INITIAL_STATE = {
isCreateTagLoading: false,
newTag: null,
errorCreateTag: null
};
const UPDATE_TAG_INITIAL_STATE = {
isUpdateTagLoading: false,
updatedTag: null,
errorUpdateTag: null
};
const TAG_LIST_INITIAL_STATE = {
isTagListLoading: false,
tags: null,
errorTagList: null
};
const TAG_INITIAL_STATE = {
isTagLoading: false,
tag: null,
errorTag: null
};
const TAG_BY_QUESTION_ID_INITIAL_STATE = {
isTagByQuestionIdLoading: false,
tagByQuestionId: null,
errorTagByQuestionId: null
};
export const createTagReducers = (state = CREATE_TAG_INITIAL_STATE, action) => {
switch (action.type) {
case CREATING_TAG:
return {
...state,
isCreateTagLoading: true,
errorCreateTag: null
};
case CREATE_TAG_SUCCESS:
return {
...state,
isCreateTagLoading: false,
newTag: action.data
};
case CREATE_TAG_FAILED:
return {
...state,
isCreateTagLoading: false,
errorCreateTag: action.data.error
};
default:
return state;
}
};
export const updateTagReducers = (state = UPDATE_TAG_INITIAL_STATE, action) => {
switch (action.type) {
case UPDATING_TAG:
return {
...state,
isUpdateTagLoading: true,
errorUpdateTag: null
};
case UPDATE_TAG_SUCCESS:
return {
...state,
isUpdateTagLoading: false,
updatedTag: action.data
};
case UPDATE_TAG_FAILED:
return {
...state,
isUpdateTagLoading: false,
errorUpdateTag: action.data.error
};
default:
return state;
}
};
export const tagListReducers = (state = TAG_LIST_INITIAL_STATE, action) => {
switch (action.type) {
case FETCHING_TAG_LIST:
return {
...state,
isTagListLoading: true,
errorTagList: null
};
case FETCH_TAG_LIST_SUCCESS:
return {
...state,
isTagListLoading: false,
tags: action.data
};
case FETCH_TAG_LIST_FAILED:
return {
...state,
isTagListLoading: false,
errorTagList: action.data.error
};
default:
return state;
}
};
export const tagReducers = (state = TAG_INITIAL_STATE, action) => {
switch (action.type) {
case FETCHING_TAG:
return {
...state,
isTagLoading: true,
errorTag: null
};
case FETCH_TAG_SUCCESS:
return {
...state,
isTagLoading: false,
tag: action.data
};
case FETCH_TAG_FAILED:
return {
...state,
isTagLoading: false,
errorTag: action.data.error
};
default:
return state;
}
};
export const tagByQuestionIdReducers = (
state = TAG_BY_QUESTION_ID_INITIAL_STATE,
action
) => {
switch (action.type) {
case FETCHING_TAG_BY_QUESTION_ID:
return {
...state,
isTagByQuestionIdLoading: true,
errorTagByQuestionId: null
};
case FETCH_TAG_BY_QUESTION_SUCCESS:
return {
...state,
isTagByQuestionIdLoading: false,
tagByQuestionId: action.data
};
case FETCH_TAG_BY_QUESTION_ID_FAILED:
return {
...state,
isTagByQuestionIdLoading: false,
errorTagByQuestionId: action.data.error
};
default:
return state;
}
};