UNPKG

chayns-components

Version:

A set of beautiful React components for developing chayns® applications.

73 lines (72 loc) 1.94 kB
import PropTypes from 'prop-types'; import React, { Component } from 'react'; import Icon from '../../../react-chayns-icon/component/Icon'; export default class ChosenMember extends Component { constructor() { super(...arguments); this.remove = () => { const { removeMember, locationId, groupId, userId, fixed } = this.props; if (!fixed) { if (locationId !== null) { removeMember(0, locationId); } else if (userId !== null) { removeMember(1, userId); } else { removeMember(2, groupId); } } }; } render() { const { personId, siteId, fixed, name } = this.props; let memberId = null; if (siteId !== null) { memberId = siteId; } else if (personId !== null) { memberId = personId; } const memberName = memberId !== null ? `${name} (${memberId})` : name; return /*#__PURE__*/React.createElement("div", { className: "chosen-member" }, /*#__PURE__*/React.createElement("div", { className: "chosen-member__content" }, /*#__PURE__*/React.createElement("span", { className: "chosen-member__content__name notranslate" }, memberName), !fixed ? /*#__PURE__*/React.createElement(Icon, { className: "chosen-member__content__icon", onClick: this.remove, icon: "ts-wrong" }) : null)); } } ChosenMember.propTypes = { removeMember: PropTypes.func.isRequired, name: PropTypes.string.isRequired, locationId: PropTypes.number, personId: PropTypes.string, groupId: PropTypes.number, siteId: PropTypes.string, userId: PropTypes.number, fixed: PropTypes.bool }; ChosenMember.defaultProps = { locationId: null, personId: null, groupId: null, siteId: null, userId: null, fixed: false }; ChosenMember.displayName = 'ChosenMember'; //# sourceMappingURL=ChosenMember.js.map