UNPKG

@orfeas126/box-ui-elements

Version:
60 lines (58 loc) 2.21 kB
/** * * @file Content Explorer Delete Confirmation Dialog * @author Box */ import * as React from 'react'; import { injectIntl } from 'react-intl'; import messages from '../messages'; import { ACCESS_NONE, ACCESS_OPEN, ACCESS_COLLAB, ACCESS_COMPANY } from '../../../constants'; import './ShareAccessSelect.scss'; const ShareAccessSelect = ({ className, canSetShareAccess, onChange, item, intl }) => { const { allowed_shared_link_access_levels: allowedSharedAccessLevels, permissions, shared_link: sharedLink } = item; if (!allowedSharedAccessLevels) { return /*#__PURE__*/React.createElement("span", null); } const { access = ACCESS_NONE } = sharedLink || {}; const { can_set_share_access: allowShareAccessChange } = permissions || {}; const changeHandler = ({ target }) => onChange(target.value, item); const allowOpen = allowedSharedAccessLevels.indexOf(ACCESS_OPEN) > -1; const allowCollab = allowedSharedAccessLevels.indexOf(ACCESS_COLLAB) > -1; const allowCompany = allowedSharedAccessLevels.indexOf(ACCESS_COMPANY) > -1; const allowed = canSetShareAccess && allowShareAccessChange && (allowOpen || allowCompany || allowCollab); if (!allowed) { return /*#__PURE__*/React.createElement("span", null); } /* eslint-disable jsx-a11y/no-onchange */ return /*#__PURE__*/React.createElement("select", { className: `be-share-access-select ${className}`, onChange: changeHandler, value: access }, allowOpen ? /*#__PURE__*/React.createElement("option", { value: ACCESS_OPEN }, intl.formatMessage(messages.shareAccessOpen)) : null, allowCollab ? /*#__PURE__*/React.createElement("option", { value: ACCESS_COLLAB }, intl.formatMessage(messages.shareAccessCollab)) : null, allowCompany ? /*#__PURE__*/React.createElement("option", { value: ACCESS_COMPANY }, intl.formatMessage(messages.shareAccessCompany)) : null, /*#__PURE__*/React.createElement("option", { value: ACCESS_NONE }, access === ACCESS_NONE ? intl.formatMessage(messages.shareAccessNone) : intl.formatMessage(messages.shareAccessRemove))); }; export default injectIntl(ShareAccessSelect); //# sourceMappingURL=ShareAccessSelect.js.map