UNPKG

instantjob-recruiter-client

Version:

a set of tools for creating an instantjob recruiter react client

52 lines (39 loc) 1.78 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.get_teams = exports.get_recruiters = undefined; var _extends2 = require('babel-runtime/helpers/extends'); var _extends3 = _interopRequireDefault(_extends2); var _base = require('selectors/base'); var _store = require('common/store'); var _store2 = _interopRequireDefault(_store); var _recruiters = require('common/recruiters'); var _utilities = require('common/utilities'); var _recruiters2 = require('actions/recruiters'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var get_raw_teams = function get_raw_teams(state) { return state.recruiters.teams; }; var get_raw_recruiters = function get_raw_recruiters(state) { return state.recruiters.recruiters; }; var get_recruiters = exports.get_recruiters = (0, _base.tolerant_selector)([get_raw_recruiters, get_raw_teams], function (recruiters, teams) { return (0, _utilities.map_hash)(recruiters, function (recruiter) { return (0, _extends3.default)({}, recruiter, { full_name: (0, _recruiters.recruiter_full_name)(recruiter), team: recruiter.team_id ? teams[recruiter.team_id] || {} : null, update: function update(new_recruiter) { (0, _recruiters.action_update_recruiter)((0, _extends3.default)({ id: recruiter.id }, new_recruiter)); if ((0, _utilities.array_from_hash)(recruiters).filter(function (_ref) { var id = _ref.id, team_id = _ref.team_id; return id != recruiter.id && team_id == recruiter.team_id; }).length == 0) { _store2.default.dispatch((0, _recruiters2.remove_team)(recruiter.team_id)); } } }); }); }); var get_teams = exports.get_teams = get_raw_teams;