Added item services.

This commit is contained in:
Art Lowel
2017-02-16 13:39:34 +01:00
parent 2e5441d6f7
commit 45a2f5b240
14 changed files with 336 additions and 12 deletions

View File

@@ -0,0 +1,59 @@
import { PaginationOptions } from "../../shared/pagination-options.model";
import { SortOptions } from "../../shared/sort-options.model";
import {
ItemFindMultipleAction,
ItemFindMultipleActionTypes
} from "./item-find-multiple.actions";
export interface ItemFindMultipleState {
scopeID: string;
itemsIDs: Array<String>;
isLoading: boolean;
errorMessage: string;
paginationOptions: PaginationOptions;
sortOptions: SortOptions;
}
const initialState: ItemFindMultipleState = {
scopeID: undefined,
itemsIDs: [],
isLoading: false,
errorMessage: undefined,
paginationOptions: undefined,
sortOptions: undefined
};
export const findMultipleReducer = (state = initialState, action: ItemFindMultipleAction): ItemFindMultipleState => {
switch (action.type) {
case ItemFindMultipleActionTypes.FIND_MULTI_REQUEST: {
return Object.assign({}, state, {
scopeID: action.payload.scopeID,
itemsIDs: [],
isLoading: true,
errorMessage: undefined,
paginationOptions: action.payload.paginationOptions,
sortOptions: action.payload.sortOptions
});
}
case ItemFindMultipleActionTypes.FIND_MULTI_SUCCESS: {
return Object.assign({}, state, {
isLoading: false,
itemsIDs: action.payload,
errorMessage: undefined
});
}
case ItemFindMultipleActionTypes.FIND_MULTI_ERROR: {
return Object.assign({}, state, {
isLoading: false,
errorMessage: action.payload
});
}
default: {
return state;
}
}
};