@collectionspace/cspace-public-browser
Version:
CollectionSpace public browser
25 lines (24 loc) • 1.08 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.isPanelExpanded = exports.default = void 0;
var _immutable = _interopRequireDefault(require("immutable"));
var _actionCodes = require("../constants/actionCodes");
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
const setPanelExpanded = (state, id, expanded) => state.setIn(['panels', id, 'expand'], expanded);
const isPanelExpanded = (state, id) => state.getIn(['panels', id, 'expand']);
exports.isPanelExpanded = isPanelExpanded;
var _default = (state = _immutable.default.Map(), action) => {
switch (action.type) {
case _actionCodes.PREFS_LOADED:
return action.payload ? _immutable.default.fromJS(action.payload) : _immutable.default.Map();
case _actionCodes.EXPAND_PANEL:
return setPanelExpanded(state, action.meta.id, action.payload);
case _actionCodes.TOGGLE_PANEL:
return setPanelExpanded(state, action.meta.id, !isPanelExpanded(state, action.meta.id));
default:
return state;
}
};
exports.default = _default;