UNPKG

instantjob-recruiter-client

Version:

a set of tools for creating an instantjob recruiter react client

26 lines (22 loc) 1.02 kB
import {tolerant_selector} from 'selectors/base' import store from 'common/store' import {action_update_recruiter, recruiter_full_name} from 'common/recruiters' import {map_hash, array_from_hash} from 'common/utilities' import {remove_team} from 'actions/recruiters' const get_raw_teams = (state) => state.recruiters.teams const get_raw_recruiters = (state) => state.recruiters.recruiters export const get_recruiters = tolerant_selector( [get_raw_recruiters, get_raw_teams], (recruiters, teams) => map_hash(recruiters, (recruiter) => ({ ...recruiter, full_name: recruiter_full_name(recruiter), team: recruiter.team_id ? teams[recruiter.team_id] || {} : null, update(new_recruiter) { action_update_recruiter({id: recruiter.id, ...new_recruiter}) if (array_from_hash(recruiters).filter(({id, team_id}) => id != recruiter.id && team_id == recruiter.team_id).length == 0) { store.dispatch(remove_team(recruiter.team_id)) } }, })) ) export const get_teams = get_raw_teams