Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import {PRODUCT_ACTION,FANPAGE_ACTION}from '../actions/conf';
- const initialState = {
- listCate: {
- data: [],
- paging: [],//không phải dạng load more
- total: '--',
- limit: 35,
- statusText: '',
- status: null
- },
- listCateOnly: {
- data: [],
- statusText: '',
- status: null
- //Chỉ danh sách category của page mà thôi => dùng cho phần edit and add product
- },
- cateSelected: {},
- listProduct: {
- data: [],
- paging: [],//không phải dạng load more - nếu là loadmore sẽ là {}
- total: '--',
- limit: 35
- },
- productSelected: {},
- };
- export default function (state = initialState, action) {
- switch (action.type) {
- case PRODUCT_ACTION.LOAD_LIST_CATE: {
- return {
- ...state,
- listCate: {
- ...state.listCate,
- loaded: action.loaded,
- data: action.data,
- paging: action.paging,
- limit: action.limit,
- total: action.total,
- }
- }
- /* return Object.assign({}, state, {
- listCate: action,
- });*/
- }
- case PRODUCT_ACTION.LOAD_LIST_CATE_ONLY: {
- return Object.assign({}, state, {
- listCateOnly: action,
- });
- }
- case PRODUCT_ACTION.LOAD_LIST_CATE + PRODUCT_ACTION.STATE.BUG: {
- //console.log(action)
- return {
- ...state,
- listCate: {
- ...state.listCate,
- loaded: action.loaded,
- statusText: action.response.statusText,
- status: action.response.status,
- }
- }
- }
- case PRODUCT_ACTION.UPDATE_CATE: {
- let {data, limit, total} = state.listCate;
- //console.log(action)
- for (let i = 0; i < data.length; i++) {
- if (data[i].name.toLowerCase() === action.data.name || (data[i].id === action.data.id)) {
- //console.log(data[i])
- data.splice(i, 1);
- }
- }
- data.unshift(action.data);
- if (limit < data.length) {
- data.pop();
- }
- if (action.action === 'ADD') {
- total = total + 1;
- }
- return {
- ...state,
- listCate: {
- ...state.listCate,
- data: data,
- total: total
- }
- }
- }
- case PRODUCT_ACTION.REMOVE_CATE: {
- let {data, total} = state.listCate;
- for (let i = 0; i < data.length; i++) {
- if (data[i].id === action.data.id) {
- data.splice(i, 1);
- }
- }
- total = total - 1;
- return {
- ...state,
- listCate: {
- ...state.listCate,
- data: data,
- total: total
- }
- }
- }
- case PRODUCT_ACTION.LOAD_LIST_PRODUCT: {
- return Object.assign({}, state, {
- listProduct: action,
- });
- }
- case PRODUCT_ACTION.LOAD_DETAIL_PRODUCT: {
- return Object.assign({}, state, {
- productSelected: action.data,
- });
- }
- case FANPAGE_ACTION.CHANGE_SELECTED_FANPAGE: {
- return initialState
- }
- default:
- return state
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement