UNPKG

instantjob-recruiter-client

Version:

a set of tools for creating an instantjob recruiter react client

76 lines (66 loc) 2.15 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _defineProperty2 = require('babel-runtime/helpers/defineProperty'); var _defineProperty3 = _interopRequireDefault(_defineProperty2); var _extends3 = require('babel-runtime/helpers/extends'); var _extends4 = _interopRequireDefault(_extends3); exports.display = display; function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var initial_state = { alerts: {}, idGenerator: 0, viewport: 'md', scrollbar_size: 0, popover_component: null, popover_props: null, popover_ref: null, popover_fill_screen: false, popover_title: null }; function display() { var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initial_state; var action = arguments[1]; switch (action.type) { case 'create_alert': return (0, _extends4.default)({}, state, { alerts: (0, _extends4.default)({}, state.alerts, (0, _defineProperty3.default)({}, state.idGenerator, { id: state.idGenerator, kind: action.kind, text: action.text })), idGenerator: state.idGenerator + 1 }); case 'remove_alert': var alerts = (0, _extends4.default)({}, state.alerts); delete alerts[action.alert]; return (0, _extends4.default)({}, state, { alerts: alerts }); case 'store_viewport': return (0, _extends4.default)({}, state, { viewport: action.viewport, scrollbar_size: action.scrollbar_size }); case 'show_popover': return (0, _extends4.default)({}, state, { popover_component: action.component, popover_props: action.props, popover_title: action.title, popover_fill_screen: action.fill_screen }); case 'store_popover_ref': return (0, _extends4.default)({}, state, { popover_ref: action.ref }); case 'dismiss_popover': return (0, _extends4.default)({}, state, { popover_component: null, popover_props: null, popover_ref: null }); default: return state; } }