Redux store for recent items. BOD-178
This commit is contained in:
@@ -28,3 +28,8 @@ export const scheduleLoadFailure = (error) => ({
|
||||
type: ApplicationActionTypes.CALCULATE_SCHEDULE_LOAD_FAILURE,
|
||||
payload: error,
|
||||
});
|
||||
|
||||
export const addRecentItem = (item) => ({
|
||||
type: ApplicationActionTypes.ADD_RECENT_ITEM,
|
||||
payload: item,
|
||||
});
|
||||
|
||||
@@ -3,6 +3,7 @@ import ApplicationActionTypes from "./application.types";
|
||||
const INITIAL_STATE = {
|
||||
loading: false,
|
||||
breadcrumbs: [],
|
||||
recentItems: [],
|
||||
scheduleLoad: {
|
||||
load: {},
|
||||
calculating: false,
|
||||
@@ -12,6 +13,11 @@ const INITIAL_STATE = {
|
||||
|
||||
const applicationReducer = (state = INITIAL_STATE, action) => {
|
||||
switch (action.type) {
|
||||
case ApplicationActionTypes.ADD_RECENT_ITEM:
|
||||
return {
|
||||
...state,
|
||||
recentItems: [action.payload, ...state.scheduleLoad.slice(0, 9)],
|
||||
};
|
||||
case ApplicationActionTypes.SET_BREAD_CRUMBS:
|
||||
return {
|
||||
...state,
|
||||
|
||||
@@ -12,6 +12,11 @@ export const selectBreadcrumbs = createSelector(
|
||||
(application) => application.breadcrumbs
|
||||
);
|
||||
|
||||
export const selectRecentItems = createSelector(
|
||||
[selectApplication],
|
||||
(application) => application.recentItems
|
||||
);
|
||||
|
||||
export const selectScheduleLoad = createSelector(
|
||||
[selectApplication],
|
||||
(application) => application.scheduleLoad.load
|
||||
|
||||
@@ -5,5 +5,6 @@ const ApplicationActionTypes = {
|
||||
CALCULATE_SCHEDULE_LOAD: "CALCULATE_SCHEDULE_LOAD",
|
||||
CALCULATE_SCHEDULE_LOAD_SUCCESS: "CALCULATE_SCHEDULE_LOAD_SUCCESS",
|
||||
CALCULATE_SCHEDULE_LOAD_FAILURE: "CALCULATE_SCHEDULE_LOAD_FAILURE",
|
||||
ADD_RECENT_ITEM: "ADD_RECENT_ITEM",
|
||||
};
|
||||
export default ApplicationActionTypes;
|
||||
|
||||
Reference in New Issue
Block a user