UNPKG

@orfeas126/box-ui-elements

Version:
59 lines 3.67 kB
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } import * as React from 'react'; import { FormattedMessage } from 'react-intl'; import Toggle from '../../components/toggle'; import { RadioButton, RadioGroup } from '../../components/radio'; import Link from '../../components/link/Link'; import IconAlertDefault from '../../icons/general/IconAlertDefault'; import messages from './messages'; import './CascadePolicy.scss'; const COMMUNITY_LINK = 'https://support.box.com/hc/en-us/articles/360044195873-Cascading-metadata-in-folders'; const CascadePolicy = ({ canEdit, isCascadingEnabled, isCascadingOverwritten, isCustomMetadata, onCascadeToggle, onCascadeModeChange, shouldShowCascadeOptions }) => { const readOnlyState = isCascadingEnabled ? /*#__PURE__*/React.createElement("div", { className: "metadata-cascade-notice" }, /*#__PURE__*/React.createElement(FormattedMessage, messages.metadataCascadePolicyEnabledInfo)) : null; return canEdit ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", { className: "metadata-cascade-editor" }, /*#__PURE__*/React.createElement("div", { className: "metadata-cascade-enable" }, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(FormattedMessage, _extends({ tagName: "strong" }, messages.enableCascadePolicy)), !isCustomMetadata && /*#__PURE__*/React.createElement(Toggle, { className: `metadata-cascade-toggle ${isCascadingEnabled ? 'cascade-on' : 'cascade-off'}`, isOn: isCascadingEnabled, label: "", onChange: e => onCascadeToggle(e.target.checked) })), !isCustomMetadata ? /*#__PURE__*/React.createElement("div", { className: "cascade-policy-text" }, /*#__PURE__*/React.createElement(FormattedMessage, messages.applyCascadePolicyText), "\xA0", /*#__PURE__*/React.createElement(Link, { className: "cascade-policy-learnmore-link", href: COMMUNITY_LINK, target: "_blank" }, /*#__PURE__*/React.createElement(FormattedMessage, messages.cascadePolicyLearnMore))) : /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(FormattedMessage, messages.cannotApplyCascadePolicyText)))), shouldShowCascadeOptions && /*#__PURE__*/React.createElement("div", { className: "metadata-cascade-editor" }, /*#__PURE__*/React.createElement("div", { className: "metadata-cascading-mode" }, /*#__PURE__*/React.createElement(FormattedMessage, messages.cascadePolicyModeQuestion), /*#__PURE__*/React.createElement("div", { className: "metadata-operation-not-immediate" }, /*#__PURE__*/React.createElement(IconAlertDefault, null), /*#__PURE__*/React.createElement("span", null, /*#__PURE__*/React.createElement(FormattedMessage, messages.operationNotImmediate))), /*#__PURE__*/React.createElement(RadioGroup, { className: "metadata-cascading-options", onChange: e => onCascadeModeChange(e.target.value === 'overwrite'), value: isCascadingOverwritten ? 'overwrite' : 'skip' }, /*#__PURE__*/React.createElement(RadioButton, { label: /*#__PURE__*/React.createElement(FormattedMessage, messages.cascadePolicySkipMode), value: "skip" }), /*#__PURE__*/React.createElement(RadioButton, { label: /*#__PURE__*/React.createElement(FormattedMessage, messages.cascadePolicyOverwriteMode), value: "overwrite" }))))) : readOnlyState; }; export default CascadePolicy; //# sourceMappingURL=CascadePolicy.js.map