chayns-components
Version:
A set of beautiful React components for developing chayns® applications.
73 lines (72 loc) • 1.94 kB
JavaScript
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