UNPKG

instantjob-recruiter-client

Version:

a set of tools for creating an instantjob recruiter react client

34 lines (28 loc) 1.11 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = shifts; var _base = require('./base'); var _utilities = require('common/utilities'); var initial_state = { shifts: {}, events: {} }; function shifts() { var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initial_state; var action = arguments[1]; switch (action.type) { case "store_shifts": return (0, _base.store_items)((0, _base.store_items)(state, "events", (0, _utilities.flatten_array)(action.shifts.map((0, _utilities.property_getter)("events")))), "shifts", action.shifts); case "store_shift_events": return (0, _base.store_items)(state, "events", action.events); case "replace_shift_events": return (0, _base.store_items)((0, _base.filter_items)((0, _base.update_item)(state, "shifts", { id: action.shift_id, filled: true }), "events", function (_ref) { var calenderable_id = _ref.calenderable_id; return calenderable_id != action.shift_id; }), "events", action.events); default: return state; } }