UNPKG

instantjob-recruiter-client

Version:

a set of tools for creating an instantjob recruiter react client

58 lines (48 loc) 1.64 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _assign = require('babel-runtime/core-js/object/assign'); var _assign2 = _interopRequireDefault(_assign); exports.calendar = calendar; var _utilities = require('../common/utilities'); var _base = require('./base'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var initial_state = { events: {}, current_user: null, current_events: [], current_month: new Date().getMonth(), current_year: new Date().getFullYear(), current_date: new Date().getDate(), idGenerator: 0 }; function calendar() { var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initial_state; var action = arguments[1]; switch (action.type) { case "store_events": return (0, _base.store_items)(state, "events", action.events); case "set_current_user": return (0, _assign2.default)({}, state, { current_user: action.user_id }); case 'change_current_month': return (0, _assign2.default)({}, state, { current_month: action.month, current_year: action.year }); case 'set_current_date': return (0, _assign2.default)({}, state, { current_date: action.date }); case 'create_event': return (0, _base.create_item)(state, "events", action.event); case 'update_event_id': return (0, _base.update_item_id)(state, "events", action.event, action.temp_id); case 'remove_event': return (0, _base.remove_item)(state, "events", action.event_id); default: return state; } }