UNPKG

instantjob-recruiter-client

Version:

a set of tools for creating an instantjob recruiter react client

67 lines (56 loc) 1.88 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _assign = require('babel-runtime/core-js/object/assign'); var _assign2 = _interopRequireDefault(_assign); var _extends2 = require('babel-runtime/helpers/extends'); var _extends3 = _interopRequireDefault(_extends2); exports.users = users; var _base = require('./base'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var initial_state = { users: {}, recruiter_users: [], current_user: null, current_recipient: null, order_by: 'app_name', order_ascending: false, users_loaded: false }; function users() { var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initial_state; var action = arguments[1]; switch (action.type) { case "store_users": return (0, _base.store_items)((0, _extends3.default)({}, state, { users_loaded: true }), "users", action.users); case "set_current_user": return (0, _assign2.default)({}, state, { current_user: action.user_id }); case "set_current_recipient": return (0, _assign2.default)({}, state, { current_recipient: action.user_id }); case "set_order_by": if (action.order_by === state.order_by) { return (0, _assign2.default)({}, state, { order_ascending: !state.order_ascending }); } else { return (0, _assign2.default)({}, state, { order_by: action.order_by }); } case "store_recruiter_users": return (0, _extends3.default)({}, state, { recruiter_users: action.recruiter_users }); case "update_user": return (0, _base.update_item)(state, "users", action.user); case "update_users": return (0, _base.update_items)(state, "users", action.users); default: return state; } }