MetaPhase-Consulting/State-TalentMAP

View on GitHub
src/Components/SkillCodeList/SkillCodeList.jsx

Summary

Maintainability
A
0 mins
Test Coverage
A
100%
import { isNil } from 'lodash';
import PropTypes from 'prop-types';
import { USER_SKILL_CODE_ARRAY } from '../../Constants/PropTypes';
import { NO_USER_SKILL_CODE } from '../../Constants/SystemMessages';

// skillCodes = [{ code: 'string', description: 'string'}]
const SkillCodeList = ({ skillCodes, displayCodeFirst }) => {
  let skillCodeList = [];
  skillCodes.forEach((skill) => {
    if (isNil(skill.description)) skillCodeList.push(skill.code);
    else if (displayCodeFirst) skillCodeList.push(`(${skill.code}) ${skill.description}`);
    else skillCodeList.push(`${skill.description} (${skill.code})`);
  });
  skillCodeList = skillCodeList.join(', ') || NO_USER_SKILL_CODE;
  return (
    <span>
      {skillCodeList}
    </span>
  );
};

SkillCodeList.propTypes = {
  skillCodes: USER_SKILL_CODE_ARRAY,
  displayCodeFirst: PropTypes.bool,
};

SkillCodeList.defaultProps = {
  skillCodes: [],
  displayCodeFirst: false,
};

export default SkillCodeList;