UNPKG

box-ui-elements-mlh

Version:
75 lines (64 loc) 3.45 kB
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } import React from 'react'; import { FormattedMessage } from 'react-intl'; import { PEOPLE_WITH_LINK, PEOPLE_IN_COMPANY, PEOPLE_IN_ITEM } from './constants'; import { accessLevelPropType } from './propTypes'; import messages from './messages'; var AccessDescription = function AccessDescription(props) { var accessLevel = props.accessLevel, enterpriseName = props.enterpriseName, isDownloadAllowed = props.isDownloadAllowed, isEditAllowed = props.isEditAllowed, isPreviewAllowed = props.isPreviewAllowed, itemType = props.itemType; var description; switch (accessLevel) { case PEOPLE_WITH_LINK: if (itemType !== 'folder' && isEditAllowed) { description = messages.peopleWithLinkCanEditFile; } else if (isDownloadAllowed) { description = itemType === 'folder' ? messages.peopleWithLinkCanDownloadFolder : messages.peopleWithLinkCanDownloadFile; } else { description = itemType === 'folder' ? messages.peopleWithLinkCanViewFolder : messages.peopleWithLinkCanViewFile; } break; case PEOPLE_IN_COMPANY: if (itemType === 'folder') { if (isDownloadAllowed) { description = enterpriseName ? messages.peopleInSpecifiedCompanyCanDownloadFolder : messages.peopleInCompanyCanDownloadFolder; } else { description = enterpriseName ? messages.peopleInSpecifiedCompanyCanViewFolder : messages.peopleInCompanyCanViewFolder; } } else if (isEditAllowed) { description = enterpriseName ? messages.peopleInSpecifiedCompanyCanEditFile : messages.peopleInCompanyCanEditFile; } else if (isDownloadAllowed) { description = enterpriseName ? messages.peopleInSpecifiedCompanyCanDownloadFile : messages.peopleInCompanyCanDownloadFile; } else { description = enterpriseName ? messages.peopleInSpecifiedCompanyCanViewFile : messages.peopleInCompanyCanViewFile; } break; case PEOPLE_IN_ITEM: if (itemType !== 'folder' && isEditAllowed) { description = messages.peopleInItemCanEditFile; } else if (isPreviewAllowed && isDownloadAllowed) { description = itemType === 'folder' ? messages.peopleInItemCanPreviewAndDownloadFolder : messages.peopleInItemCanPreviewAndDownloadFile; } else if (isPreviewAllowed) { description = itemType === 'folder' ? messages.peopleInItemCanPreviewFolder : messages.peopleInItemCanPreviewFile; } else if (isDownloadAllowed) { description = itemType === 'folder' ? messages.peopleInItemCanDownloadFolder : messages.peopleInItemCanDownloadFile; } else { description = itemType === 'folder' ? messages.peopleInItemCanAccessFolder : messages.peopleInItemCanAccessFile; } break; default: return null; } return /*#__PURE__*/React.createElement("p", null, /*#__PURE__*/React.createElement(FormattedMessage, _extends({}, description, { values: { company: enterpriseName } }))); }; AccessDescription.displayName = 'AccessDescription'; export default AccessDescription; //# sourceMappingURL=AccessDescription.js.map