UNPKG

@spartacus/core

Version:

Spartacus - the core framework

35 lines 5.25 kB
import { SiteContextActions } from '../actions/index'; export const initialState = { entities: null, details: {}, activeSite: '', }; export function reducer(state = initialState, action) { switch (action.type) { case SiteContextActions.LOAD_BASE_SITE_SUCCESS: { return Object.assign(Object.assign({}, state), { details: action.payload }); } case SiteContextActions.SET_ACTIVE_BASE_SITE: { // if active base site is updated, // the active base site details data should also be updated let details = {}; if (state.entities) { details = state.entities[action.payload]; } return Object.assign(Object.assign({}, state), { details, activeSite: action.payload }); } case SiteContextActions.LOAD_BASE_SITES_SUCCESS: { const sites = action.payload; const entities = sites.reduce((siteEntities, site) => { return Object.assign(Object.assign({}, siteEntities), { [site.uid]: site }); }, Object.assign({}, state.entities)); // after base sites entities are populated, // the active base site details data is also populated const details = entities[state.activeSite]; return Object.assign(Object.assign({}, state), { details, entities }); } } return state; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1zaXRlLnJlZHVjZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9zaXRlLWNvbnRleHQvc3RvcmUvcmVkdWNlcnMvYmFzZS1zaXRlLnJlZHVjZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFHdEQsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFrQjtJQUN6QyxRQUFRLEVBQUUsSUFBSTtJQUNkLE9BQU8sRUFBRSxFQUFFO0lBQ1gsVUFBVSxFQUFFLEVBQUU7Q0FDZixDQUFDO0FBRUYsTUFBTSxVQUFVLE9BQU8sQ0FDckIsS0FBSyxHQUFHLFlBQVksRUFDcEIsTUFBeUM7SUFFekMsUUFBUSxNQUFNLENBQUMsSUFBSSxFQUFFO1FBQ25CLEtBQUssa0JBQWtCLENBQUMsc0JBQXNCLENBQUMsQ0FBQztZQUM5Qyx1Q0FDSyxLQUFLLEtBQ1IsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPLElBQ3ZCO1NBQ0g7UUFFRCxLQUFLLGtCQUFrQixDQUFDLG9CQUFvQixDQUFDLENBQUM7WUFDNUMsa0NBQWtDO1lBQ2xDLDJEQUEyRDtZQUMzRCxJQUFJLE9BQU8sR0FBRyxFQUFFLENBQUM7WUFDakIsSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFO2dCQUNsQixPQUFPLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDMUM7WUFDRCx1Q0FDSyxLQUFLLEtBQ1IsT0FBTyxFQUNQLFVBQVUsRUFBRSxNQUFNLENBQUMsT0FBTyxJQUMxQjtTQUNIO1FBRUQsS0FBSyxrQkFBa0IsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1lBQy9DLE1BQU0sS0FBSyxHQUFlLE1BQU0sQ0FBQyxPQUFPLENBQUM7WUFDekMsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FDM0IsQ0FBQyxZQUF5QyxFQUFFLElBQWMsRUFBRSxFQUFFO2dCQUM1RCx1Q0FDSyxZQUFZLEtBQ2YsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxJQUNoQjtZQUNKLENBQUMsb0JBRUksS0FBSyxDQUFDLFFBQVEsRUFFcEIsQ0FBQztZQUNGLDJDQUEyQztZQUMzQyxzREFBc0Q7WUFDdEQsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUUzQyx1Q0FDSyxLQUFLLEtBQ1IsT0FBTztnQkFDUCxRQUFRLElBQ1I7U0FDSDtLQUNGO0lBRUQsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZVNpdGUgfSBmcm9tICcuLi8uLi8uLi9tb2RlbC9taXNjLm1vZGVsJztcbmltcG9ydCB7IFNpdGVDb250ZXh0QWN0aW9ucyB9IGZyb20gJy4uL2FjdGlvbnMvaW5kZXgnO1xuaW1wb3J0IHsgQmFzZVNpdGVTdGF0ZSB9IGZyb20gJy4uL3N0YXRlJztcblxuZXhwb3J0IGNvbnN0IGluaXRpYWxTdGF0ZTogQmFzZVNpdGVTdGF0ZSA9IHtcbiAgZW50aXRpZXM6IG51bGwsXG4gIGRldGFpbHM6IHt9LFxuICBhY3RpdmVTaXRlOiAnJyxcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiByZWR1Y2VyKFxuICBzdGF0ZSA9IGluaXRpYWxTdGF0ZSxcbiAgYWN0aW9uOiBTaXRlQ29udGV4dEFjdGlvbnMuQmFzZVNpdGVBY3Rpb25cbik6IEJhc2VTaXRlU3RhdGUge1xuICBzd2l0Y2ggKGFjdGlvbi50eXBlKSB7XG4gICAgY2FzZSBTaXRlQ29udGV4dEFjdGlvbnMuTE9BRF9CQVNFX1NJVEVfU1VDQ0VTUzoge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIGRldGFpbHM6IGFjdGlvbi5wYXlsb2FkLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBjYXNlIFNpdGVDb250ZXh0QWN0aW9ucy5TRVRfQUNUSVZFX0JBU0VfU0lURToge1xuICAgICAgLy8gaWYgYWN0aXZlIGJhc2Ugc2l0ZSBpcyB1cGRhdGVkLFxuICAgICAgLy8gdGhlIGFjdGl2ZSBiYXNlIHNpdGUgZGV0YWlscyBkYXRhIHNob3VsZCBhbHNvIGJlIHVwZGF0ZWRcbiAgICAgIGxldCBkZXRhaWxzID0ge307XG4gICAgICBpZiAoc3RhdGUuZW50aXRpZXMpIHtcbiAgICAgICAgZGV0YWlscyA9IHN0YXRlLmVudGl0aWVzW2FjdGlvbi5wYXlsb2FkXTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBkZXRhaWxzLFxuICAgICAgICBhY3RpdmVTaXRlOiBhY3Rpb24ucGF5bG9hZCxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgY2FzZSBTaXRlQ29udGV4dEFjdGlvbnMuTE9BRF9CQVNFX1NJVEVTX1NVQ0NFU1M6IHtcbiAgICAgIGNvbnN0IHNpdGVzOiBCYXNlU2l0ZVtdID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgICBjb25zdCBlbnRpdGllcyA9IHNpdGVzLnJlZHVjZShcbiAgICAgICAgKHNpdGVFbnRpdGllczogeyBbdWlkOiBzdHJpbmddOiBCYXNlU2l0ZSB9LCBzaXRlOiBCYXNlU2l0ZSkgPT4ge1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5zaXRlRW50aXRpZXMsXG4gICAgICAgICAgICBbc2l0ZS51aWRdOiBzaXRlLFxuICAgICAgICAgIH07XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAuLi5zdGF0ZS5lbnRpdGllcyxcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICAgIC8vIGFmdGVyIGJhc2Ugc2l0ZXMgZW50aXRpZXMgYXJlIHBvcHVsYXRlZCxcbiAgICAgIC8vIHRoZSBhY3RpdmUgYmFzZSBzaXRlIGRldGFpbHMgZGF0YSBpcyBhbHNvIHBvcHVsYXRlZFxuICAgICAgY29uc3QgZGV0YWlscyA9IGVudGl0aWVzW3N0YXRlLmFjdGl2ZVNpdGVdO1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgZGV0YWlscyxcbiAgICAgICAgZW50aXRpZXMsXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBzdGF0ZTtcbn1cbiJdfQ==