box-ui-elements 23.4.0-beta.31 → 23.4.0-beta.33
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/explorer.js +1 -1
- package/dist/openwith.js +1 -1
- package/dist/picker.js +1 -1
- package/dist/preview.js +1 -1
- package/dist/sharing.js +1 -1
- package/dist/sidebar.js +1 -1
- package/dist/uploader.js +1 -1
- package/es/common/types/metadata.js.flow +6 -0
- package/es/common/types/metadata.js.map +1 -1
- package/es/features/metadata-instance-editor/CascadePolicy.js +40 -20
- package/es/features/metadata-instance-editor/CascadePolicy.js.flow +52 -24
- package/es/features/metadata-instance-editor/CascadePolicy.js.map +1 -1
- package/es/features/metadata-instance-editor/Instance.js +24 -2
- package/es/features/metadata-instance-editor/Instance.js.flow +31 -1
- package/es/features/metadata-instance-editor/Instance.js.map +1 -1
- package/es/features/metadata-instance-editor/constants.js +4 -1
- package/es/features/metadata-instance-editor/constants.js.flow +10 -1
- package/es/features/metadata-instance-editor/constants.js.map +1 -1
- package/es/features/metadata-instance-editor/messages.js +8 -0
- package/es/features/metadata-instance-editor/messages.js.flow +10 -0
- package/es/features/metadata-instance-editor/messages.js.map +1 -1
- package/i18n/bn-IN.js +4 -2
- package/i18n/bn-IN.properties +8 -0
- package/i18n/da-DK.js +4 -2
- package/i18n/da-DK.properties +8 -0
- package/i18n/de-DE.js +4 -2
- package/i18n/de-DE.properties +8 -0
- package/i18n/en-AU.js +2 -0
- package/i18n/en-AU.properties +8 -0
- package/i18n/en-CA.js +2 -0
- package/i18n/en-CA.properties +8 -0
- package/i18n/en-GB.js +2 -0
- package/i18n/en-GB.properties +8 -0
- package/i18n/en-US.js +2 -0
- package/i18n/en-US.properties +4 -0
- package/i18n/en-x-pseudo.js +1020 -1018
- package/i18n/en-x-pseudo.properties +1024 -1016
- package/i18n/es-419.js +4 -2
- package/i18n/es-419.properties +8 -0
- package/i18n/es-ES.js +4 -2
- package/i18n/es-ES.properties +8 -0
- package/i18n/fi-FI.js +4 -2
- package/i18n/fi-FI.properties +8 -0
- package/i18n/fr-CA.js +4 -2
- package/i18n/fr-CA.properties +8 -0
- package/i18n/fr-FR.js +4 -2
- package/i18n/fr-FR.properties +8 -0
- package/i18n/hi-IN.js +4 -2
- package/i18n/hi-IN.properties +8 -0
- package/i18n/it-IT.js +4 -2
- package/i18n/it-IT.properties +8 -0
- package/i18n/ja-JP.js +2 -0
- package/i18n/ja-JP.properties +8 -0
- package/i18n/ko-KR.js +4 -2
- package/i18n/ko-KR.properties +8 -0
- package/i18n/nb-NO.js +4 -2
- package/i18n/nb-NO.properties +8 -0
- package/i18n/nl-NL.js +4 -2
- package/i18n/nl-NL.properties +8 -0
- package/i18n/pl-PL.js +4 -2
- package/i18n/pl-PL.properties +8 -0
- package/i18n/pt-BR.js +4 -2
- package/i18n/pt-BR.properties +8 -0
- package/i18n/ru-RU.js +4 -2
- package/i18n/ru-RU.properties +8 -0
- package/i18n/sv-SE.js +4 -2
- package/i18n/sv-SE.properties +8 -0
- package/i18n/tr-TR.js +4 -2
- package/i18n/tr-TR.properties +8 -0
- package/i18n/zh-CN.js +4 -2
- package/i18n/zh-CN.properties +8 -0
- package/i18n/zh-TW.js +4 -2
- package/i18n/zh-TW.properties +8 -0
- package/package.json +3 -3
- package/src/common/types/metadata.js +6 -0
- package/src/features/metadata-instance-editor/CascadePolicy.js +52 -24
- package/src/features/metadata-instance-editor/Instance.js +31 -1
- package/src/features/metadata-instance-editor/__tests__/CascadePolicy.test.js +50 -3
- package/src/features/metadata-instance-editor/__tests__/Instance.test.js +20 -2
- package/src/features/metadata-instance-editor/__tests__/Instances.test.js +15 -10
- package/src/features/metadata-instance-editor/__tests__/MetadataInstanceEditor.test.js +53 -10
- package/src/features/metadata-instance-editor/__tests__/__snapshots__/Instance.test.js.snap +1 -0
- package/src/features/metadata-instance-editor/constants.js +10 -1
- package/src/features/metadata-instance-editor/messages.js +10 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Instance.js","names":["React","injectIntl","FormattedMessage","classNames","isEqual","cloneDeep","noop","Collapsible","Form","LoadingIndicatorWrapper","PlainButton","Tooltip","IconMetadataColored","IconAlertCircle","IconEdit","bdlWatermelonRed","scrollIntoView","CascadePolicy","TemplatedInstance","CustomInstance","MetadataInstanceConfirmDialog","Footer","messages","FIELD_TYPE_FLOAT","FIELD_TYPE_INTEGER","CASCADE_POLICY_TYPE_AI_EXTRACT","TEMPLATE_CUSTOM_PROPERTIES","JSON_PATCH_OP_REMOVE","JSON_PATCH_OP_ADD","JSON_PATCH_OP_REPLACE","JSON_PATCH_OP_TEST","isValidValue","isHidden","RESIN_TAG_TARGET","createFieldKeyToTypeMap","fields","reduce","prev","key","type","getValue","data","value","parseFloat","parseInt","Instance","PureComponent","constructor","props","_defineProperty","id","onModification","setState","getState","shouldConfirmRemove","isEditing","onRemove","isBusy","cascadePolicy","originalData","isDirty","isCascadingPolicyApplicable","onSave","currentData","errors","isAIFolderExtractionEnabled","isCascadingEnabled","isCascadingOverwritten","state","Object","keys","length","createJSONPatch","canEdit","undefined","isEnabled","overwrite","isValid","finalErrors","_objectSpread","finalData","createElement","invalidInput","setDirty","shouldShowCascadeOptions","isFile","template","message","isProperties","templateKey","_extends","values","metadataName","displayName","hasDataChanged","hasCascadingChanged","isCascadingEnabledThroughProps","isAIFolderExtractionEnabledThroughProps","createRef","prevState","intl","editClassName","metadataLabelEditText","formatMessage","metadataEditTooltip","position","text","className","onClick","toggleIsEditing","fieldKeyToTypeMap","componentDidUpdate","hasError","prevHasError","prevIsDirty","currentElement","collapsibleRef","current","block","behavior","getTitle","customTitle","color","getConfirmationMessage","renderDeleteMessage","cascadePolicyType","ops","forEach","originalValue","path","prototype","hasOwnProperty","call","push","op","render","canUseAIFolderExtraction","canUseAIFolderExtractionAgentSelector","isOpen","animationDuration","isExistingCascadePolicy","ref","buttonProps","hasStickyHeader","headerActionItems","renderEditButton","isBordered","title","isLoading","confirmationMessage","onCancel","onConfirmCancel","onConfirm","onValidSubmit","isCustomMetadata","onAIFolderExtractionToggle","onCascadeModeChange","onCascadeToggle","onFieldChange","onFieldRemove","isDisabled","onConfirmRemove","showSave","InstanceBase"],"sources":["../../../src/features/metadata-instance-editor/Instance.js"],"sourcesContent":["// @flow\nimport * as React from 'react';\nimport { injectIntl, FormattedMessage } from 'react-intl';\nimport classNames from 'classnames';\nimport isEqual from 'lodash/isEqual';\nimport cloneDeep from 'lodash/cloneDeep';\nimport noop from 'lodash/noop';\n\nimport Collapsible from '../../components/collapsible/Collapsible';\nimport Form from '../../components/form-elements/form/Form';\nimport LoadingIndicatorWrapper from '../../components/loading-indicator/LoadingIndicatorWrapper';\nimport PlainButton from '../../components/plain-button/PlainButton';\nimport Tooltip from '../../components/tooltip';\nimport IconMetadataColored from '../../icons/general/IconMetadataColored';\nimport IconAlertCircle from '../../icons/general/IconAlertCircle';\nimport IconEdit from '../../icons/general/IconEdit';\nimport { bdlWatermelonRed } from '../../styles/variables';\nimport { scrollIntoView } from '../../utils/dom';\n\nimport CascadePolicy from './CascadePolicy';\nimport TemplatedInstance from './TemplatedInstance';\nimport CustomInstance from './CustomInstance';\nimport MetadataInstanceConfirmDialog from './MetadataInstanceConfirmDialog';\nimport Footer from './Footer';\nimport messages from './messages';\nimport { FIELD_TYPE_FLOAT, FIELD_TYPE_INTEGER } from '../metadata-instance-fields/constants';\nimport { CASCADE_POLICY_TYPE_AI_EXTRACT, TEMPLATE_CUSTOM_PROPERTIES } from './constants';\nimport {\n JSON_PATCH_OP_REMOVE,\n JSON_PATCH_OP_ADD,\n JSON_PATCH_OP_REPLACE,\n JSON_PATCH_OP_TEST,\n} from '../../common/constants';\nimport { isValidValue } from '../metadata-instance-fields/validateMetadataField';\nimport { isHidden } from './metadataUtil';\nimport { RESIN_TAG_TARGET } from '../../common/variables';\nimport type {\n MetadataFields,\n MetadataTemplate,\n MetadataCascadePolicy,\n MetadataCascadingPolicyData,\n MetadataTemplateField,\n MetadataFieldValue,\n} from '../../common/types/metadata';\nimport type { JSONPatchOperations } from '../../common/types/api';\nimport './Instance.scss';\n\ntype Props = {\n canEdit: boolean,\n canUseAIFolderExtraction?: boolean,\n canUseAIFolderExtractionAgentSelector?: boolean,\n cascadePolicy?: MetadataCascadePolicy, // eslint-disable-line\n data: MetadataFields,\n hasError: boolean,\n id: string,\n intl: Object,\n isCascadingPolicyApplicable?: boolean,\n isDirty: boolean,\n isOpen: boolean,\n onModification?: (id: string, isDirty: boolean, type?: string) => void,\n onRemove?: (id: string) => void,\n onSave?: (\n id: string,\n data: JSONPatchOperations,\n cascadingPolicy?: MetadataCascadingPolicyData,\n rawData: Object,\n ) => void,\n template: MetadataTemplate,\n};\n\ntype State = {\n data: Object,\n errors: { [string]: React.Node },\n isAIFolderExtractionEnabled: boolean,\n isBusy: boolean,\n isCascadingEnabled: boolean,\n isCascadingOverwritten: boolean,\n isEditing: boolean,\n shouldConfirmRemove: boolean,\n shouldShowCascadeOptions: boolean,\n};\n\nconst createFieldKeyToTypeMap = (fields?: Array<MetadataTemplateField> = []) =>\n fields.reduce((prev, { key, type }) => {\n prev[key] = type;\n return prev;\n }, {});\n\nconst getValue = (data: Object, key: string, type: string) => {\n const value = data[key];\n\n switch (type) {\n case FIELD_TYPE_FLOAT:\n return parseFloat(value);\n\n case FIELD_TYPE_INTEGER:\n return parseInt(value, 10);\n\n default:\n return value;\n }\n};\n\nclass Instance extends React.PureComponent<Props, State> {\n static defaultProps = {\n data: {},\n isDirty: false,\n };\n\n constructor(props: Props) {\n super(props);\n this.state = this.getState(props);\n this.fieldKeyToTypeMap = createFieldKeyToTypeMap(props.template.fields);\n }\n\n componentDidUpdate({ hasError: prevHasError, isDirty: prevIsDirty }: Props, prevState: State): void {\n const currentElement = this.collapsibleRef.current;\n const { hasError, isDirty }: Props = this.props;\n const { isEditing }: State = prevState;\n\n if (currentElement && this.state.shouldConfirmRemove) {\n scrollIntoView(currentElement, {\n block: 'start',\n behavior: 'smooth',\n });\n }\n\n if (hasError && hasError !== prevHasError) {\n // If hasError is true, which means an error occurred while\n // doing a network operation and hence hide the busy indicator\n // Saving also disables isEditing, so need to enable that back.\n // isDirty remains as it was before.\n this.setState({ isBusy: false, isEditing: true });\n } else if (prevIsDirty && !isDirty) {\n // If the form was dirty and now its not dirty\n // we know a successful save may have happened.\n // We don't modify isEditing here because we maintain the\n // prior state for that. If we came here from a save\n // success then save already disabled isEditing.\n if (isEditing) {\n // We are still editing so don't reset it\n this.setState({ isBusy: false });\n } else {\n // For a successfull save we reset cascading overwrite radio\n this.setState({ isBusy: false, isCascadingOverwritten: false });\n }\n }\n }\n\n /**\n * Undo any changes made\n *\n * @return {void}\n */\n onCancel = (): void => {\n const { id, onModification }: Props = this.props;\n this.setState(this.getState(this.props));\n\n // Callback to parent to tell that something is dirty\n if (onModification) {\n onModification(id, false);\n }\n };\n\n /**\n * Allows a user to confirm metadata instance removal\n *\n * @return {void}\n */\n onConfirmRemove = (): void => {\n this.setState({ shouldConfirmRemove: true });\n };\n\n /**\n * Cancel the remove instance attempt\n *\n * @return {void}\n */\n onConfirmCancel = (): void => {\n this.setState({ shouldConfirmRemove: false });\n };\n\n /**\n * Removes an instance\n *\n * @return {void}\n */\n onRemove = (): void => {\n if (!this.isEditing()) {\n return;\n }\n\n const { id, onRemove }: Props = this.props;\n if (onRemove) {\n onRemove(id);\n this.setState({ isBusy: true });\n }\n };\n\n /**\n * Saves instance data\n *\n * @return {void}\n */\n onSave = (): void => {\n const {\n cascadePolicy,\n data: originalData,\n id,\n isDirty,\n isCascadingPolicyApplicable,\n onSave,\n }: Props = this.props;\n const {\n data: currentData,\n errors,\n isAIFolderExtractionEnabled,\n isCascadingEnabled,\n isCascadingOverwritten,\n }: State = this.state;\n\n if (!this.isEditing() || !isDirty || !onSave || Object.keys(errors).length) {\n return;\n }\n\n this.setState({\n isBusy: true,\n isEditing: false,\n // reset state if cascading policy is removed\n isAIFolderExtractionEnabled: isCascadingEnabled ? isAIFolderExtractionEnabled : false,\n });\n onSave(\n id,\n this.createJSONPatch(currentData, originalData),\n isCascadingPolicyApplicable\n ? {\n canEdit: cascadePolicy ? cascadePolicy.canEdit : false,\n id: cascadePolicy ? cascadePolicy.id : undefined,\n isEnabled: isCascadingEnabled,\n overwrite: isCascadingOverwritten,\n isAIFolderExtractionEnabled,\n }\n : undefined,\n cloneDeep(currentData),\n );\n };\n\n /**\n * Updates a key value in the instance data\n *\n * @param {string} key - key to update\n * @param {FieldValue} value - value to update\n * @param {string} type - type of field\n * @return {void}\n */\n onFieldChange = (key: string, value: MetadataFieldValue, type: string): void => {\n const { data, errors }: State = this.state;\n\n // Don't do anything if data is the same or not in edit mode\n if (!this.isEditing() || isEqual(data[key], value)) {\n return;\n }\n\n const isValid = isValidValue(type, value);\n const finalErrors = { ...errors };\n const finalData = cloneDeep(data);\n finalData[key] = value;\n\n if (isValid) {\n delete finalErrors[key];\n } else {\n finalErrors[key] = <FormattedMessage {...messages.invalidInput} />;\n }\n\n this.setState({ data: finalData, errors: finalErrors }, () => {\n this.setDirty(type);\n });\n };\n\n /**\n * Removes a key from instance data\n *\n * @param {string} key - key to remove\n * @return {void}\n */\n onFieldRemove = (key: string): void => {\n if (!this.isEditing()) {\n return;\n }\n\n const { data, errors }: State = this.state;\n const finalData = cloneDeep(data);\n const finalErrors = { ...errors };\n delete finalData[key];\n delete finalErrors[key];\n this.setState({ data: finalData, errors: finalErrors }, this.setDirty);\n };\n\n /**\n * Toggle cascading policy\n *\n * @param {boolean} value - true when turned on\n * @return {void}\n */\n onCascadeToggle = (value: boolean) => {\n const { isCascadingPolicyApplicable }: Props = this.props;\n if (!isCascadingPolicyApplicable) {\n return;\n }\n\n this.setState(\n {\n isCascadingEnabled: value,\n shouldShowCascadeOptions: value,\n },\n this.setDirty,\n );\n };\n\n /**\n * Changes the cascade mode.\n * isCascadingOverwritten is slways false to start off.\n *\n * @param {boolean} value - true when overwrite policy is chosen\n * @return {void}\n */\n onCascadeModeChange = (value: boolean): void => {\n const { isCascadingPolicyApplicable }: Props = this.props;\n if (!isCascadingPolicyApplicable) {\n return;\n }\n\n this.setState(\n {\n isCascadingOverwritten: value,\n },\n this.setDirty,\n );\n };\n\n onAIFolderExtractionToggle = (value: boolean) => {\n this.setState({ isAIFolderExtractionEnabled: value }, this.setDirty);\n };\n\n /**\n * Returns the state from props\n *\n * @return {Object} - react state\n */\n getState(props: Props): State {\n const isCascadingEnabled = this.isCascadingEnabledThroughProps(props);\n\n return {\n data: cloneDeep(props.data),\n errors: {},\n isAIFolderExtractionEnabled: this.isAIFolderExtractionEnabledThroughProps(props),\n isBusy: false,\n isCascadingEnabled,\n isCascadingOverwritten: false,\n isEditing: false,\n shouldConfirmRemove: false,\n shouldShowCascadeOptions: isCascadingEnabled,\n };\n }\n\n /**\n * Returns the card title with possible error mark\n *\n * @return {Object} - react title element\n */\n getTitle(): React.Node {\n const { cascadePolicy = {}, hasError, isCascadingPolicyApplicable, template }: Props = this.props;\n const isProperties = template.templateKey === TEMPLATE_CUSTOM_PROPERTIES;\n\n const type = isCascadingPolicyApplicable && cascadePolicy.id ? 'cascade' : 'default';\n\n return (\n <span className=\"metadata-instance-editor-instance-title\">\n <IconMetadataColored type={type} />\n <span\n className={classNames('metadata-instance-editor-instance-title-text', {\n 'metadata-instance-editor-instance-has-error': hasError,\n })}\n >\n {isProperties ? <FormattedMessage {...messages.customTitle} /> : template.displayName}\n </span>\n {hasError && <IconAlertCircle color={bdlWatermelonRed} />}\n </span>\n );\n }\n\n /**\n * Render the correct delete message to show based on custom metadata and file/folder metadata\n */\n renderDeleteMessage = (isFile: boolean, template: Object) => {\n let message;\n const isProperties = template.templateKey === TEMPLATE_CUSTOM_PROPERTIES;\n\n if (isProperties) {\n message = isFile ? 'fileMetadataRemoveCustomTemplateConfirm' : 'folderMetadataRemoveCustomTemplateConfirm';\n } else {\n message = isFile ? 'fileMetadataRemoveTemplateConfirm' : 'folderMetadataRemoveTemplateConfirm';\n }\n\n return (\n <FormattedMessage\n {...messages[message]}\n values={{\n metadataName: template.displayName,\n }}\n />\n );\n };\n\n /**\n * Get the delete confirmation message base on the template key\n */\n getConfirmationMessage(): React.Node {\n const { template, isCascadingPolicyApplicable }: Props = this.props;\n const isFile = !isCascadingPolicyApplicable;\n return this.renderDeleteMessage(isFile, template);\n }\n\n /**\n * Evaluates if the metadata was changed or cascading policy\n * altered or enabled.\n *\n * @return {void}\n */\n setDirty = (type?: string): void => {\n const { id, isCascadingPolicyApplicable, onModification }: Props = this.props;\n const { data, isCascadingEnabled, isCascadingOverwritten, isAIFolderExtractionEnabled } = this.state;\n const hasDataChanged = !isEqual(data, this.props.data);\n let hasCascadingChanged = false;\n\n if (isCascadingPolicyApplicable) {\n // isCascadingOverwritten always starts out as false, so true signifies a change\n hasCascadingChanged =\n isCascadingOverwritten ||\n isCascadingEnabled !== this.isCascadingEnabledThroughProps(this.props) ||\n isAIFolderExtractionEnabled !== this.isAIFolderExtractionEnabledThroughProps(this.props);\n }\n\n // Callback to parent to tell that something is dirty\n if (onModification) {\n onModification(id, hasDataChanged || hasCascadingChanged, type);\n }\n };\n\n collapsibleRef: {\n current: null | HTMLDivElement,\n } = React.createRef();\n\n fieldKeyToTypeMap: Object;\n\n /**\n * Determines if cascading policy is enabled through props based on\n * whether it has an id or not.\n *\n * @param {Object} props - component props\n * @return {boolean} true if cascading policy is enabled\n */\n isCascadingEnabledThroughProps(props: Props) {\n if (props.cascadePolicy) {\n return !!props.cascadePolicy.id;\n }\n return false;\n }\n\n /**\n * Determines if ai extraction is enabled based on\n * if cascade policy type is ai_extract\n *\n * @param {Object} props - component props\n * @return {boolean} true if ai extraction is enabled\n */\n isAIFolderExtractionEnabledThroughProps({ cascadePolicy }: Props) {\n return cascadePolicy?.cascadePolicyType === CASCADE_POLICY_TYPE_AI_EXTRACT;\n }\n\n /**\n * Toggles the edit mode\n *\n * @private\n * @return {void}\n */\n toggleIsEditing = (): void => {\n this.setState(prevState => ({\n isEditing: !prevState.isEditing,\n }));\n };\n\n /**\n * Creates JSON Patch operations from the passed in\n * data while comparing it to the original data from props.\n *\n * Only diffs at the root level and primitives.\n *\n * @param {*} currentData - the latest changes by the user\n * @param {*} originalData - the original values\n * @return {Array} - JSON patch operations\n */\n createJSONPatch(currentData: Object, originalData: Object): JSONPatchOperations {\n const ops = [];\n const data = cloneDeep(currentData); // clone the data for mutation\n\n // Iterate over the original data and find keys that have changed.\n // Also remove them from the data object to only leave new keys.\n Object.keys(originalData).forEach(key => {\n const type = this.fieldKeyToTypeMap[key];\n const originalValue = getValue(originalData, key, type);\n const path = `/${key}`;\n\n if (Object.prototype.hasOwnProperty.call(data, key)) {\n const value = getValue(data, key, type);\n\n // Only register changed data\n if (!isEqual(value, originalValue)) {\n // Add a test OP for each replaces\n ops.push({\n op: JSON_PATCH_OP_TEST,\n path,\n value: originalValue,\n });\n ops.push({\n op: JSON_PATCH_OP_REPLACE,\n path,\n value,\n });\n }\n } else {\n // Key was removed\n // Add a test OP for removes\n ops.push({\n op: JSON_PATCH_OP_TEST,\n path,\n value: originalValue,\n });\n ops.push({ op: JSON_PATCH_OP_REMOVE, path });\n }\n delete data[key];\n });\n\n // Iterate over the remaining keys that are new.\n Object.keys(data).forEach(key => {\n const type = this.fieldKeyToTypeMap[key];\n const value = getValue(data, key, type);\n\n ops.push({\n op: JSON_PATCH_OP_ADD,\n path: `/${key}`,\n value,\n });\n });\n\n return ops;\n }\n\n /**\n * Utility function to determine if instance is editable\n *\n * @return {boolean} true if editable\n */\n canEdit(): boolean {\n const { canEdit, onModification, onRemove, onSave }: Props = this.props;\n return (\n canEdit &&\n typeof onRemove === 'function' &&\n typeof onSave === 'function' &&\n typeof onModification === 'function'\n );\n }\n\n /**\n * Utility function to determine if instance is in edit mode\n *\n * @return {boolean} true if editing\n */\n isEditing(): boolean {\n const { isEditing }: State = this.state;\n return this.canEdit() && isEditing;\n }\n\n renderEditButton = () => {\n const { intl, isDirty }: Props = this.props;\n const { isBusy }: State = this.state;\n const canEdit = this.canEdit();\n const isEditing = this.isEditing();\n const editClassName = classNames('metadata-instance-editor-instance-edit', {\n 'metadata-instance-editor-instance-is-editing': isEditing,\n });\n\n if (canEdit && !isDirty && !isBusy) {\n const metadataLabelEditText = intl.formatMessage(messages.metadataEditTooltip);\n return (\n <Tooltip position=\"top-left\" text={metadataLabelEditText}>\n <PlainButton\n aria-label={metadataLabelEditText}\n aria-pressed={isEditing}\n className={editClassName}\n data-resin-target=\"metadata-instanceedit\"\n onClick={this.toggleIsEditing}\n type=\"button\"\n >\n <IconEdit />\n </PlainButton>\n </Tooltip>\n );\n }\n return null;\n };\n\n render() {\n const {\n canUseAIFolderExtraction = false,\n canUseAIFolderExtractionAgentSelector = false,\n cascadePolicy = {},\n isDirty,\n isCascadingPolicyApplicable,\n isOpen,\n template,\n }: Props = this.props;\n const { fields = [] } = template;\n const {\n data,\n errors,\n isBusy,\n isAIFolderExtractionEnabled,\n isCascadingEnabled,\n shouldConfirmRemove,\n shouldShowCascadeOptions,\n isCascadingOverwritten,\n }: State = this.state;\n const isProperties = template.templateKey === TEMPLATE_CUSTOM_PROPERTIES;\n const isEditing = this.isEditing();\n\n if (!template || isHidden(template)) {\n return null;\n }\n\n // Animate short and tall cards at consistent speeds.\n const animationDuration = (fields.length + 1) * 50;\n\n const isExistingCascadePolicy = this.isCascadingEnabledThroughProps(this.props);\n\n return (\n <div ref={this.collapsibleRef}>\n <Collapsible\n animationDuration={animationDuration}\n buttonProps={{\n [RESIN_TAG_TARGET]: 'metadata-card',\n }}\n hasStickyHeader\n headerActionItems={this.renderEditButton()}\n isBordered\n isOpen={isOpen}\n title={this.getTitle()}\n >\n {shouldConfirmRemove && (\n <LoadingIndicatorWrapper isLoading={isBusy}>\n <MetadataInstanceConfirmDialog\n confirmationMessage={this.getConfirmationMessage()}\n onCancel={this.onConfirmCancel}\n onConfirm={this.onRemove}\n />\n </LoadingIndicatorWrapper>\n )}\n {!shouldConfirmRemove && (\n <LoadingIndicatorWrapper isLoading={isBusy}>\n <Form onValidSubmit={isDirty ? this.onSave : noop}>\n <div className=\"metadata-instance-editor-instance\">\n {isCascadingPolicyApplicable && (\n <CascadePolicy\n canEdit={isEditing && !!cascadePolicy.canEdit}\n canUseAIFolderExtraction={canUseAIFolderExtraction}\n canUseAIFolderExtractionAgentSelector={\n canUseAIFolderExtractionAgentSelector\n }\n isAIFolderExtractionEnabled={isAIFolderExtractionEnabled}\n isCascadingEnabled={isCascadingEnabled}\n isCascadingOverwritten={isCascadingOverwritten}\n isCustomMetadata={isProperties}\n isExistingCascadePolicy={isExistingCascadePolicy}\n onAIFolderExtractionToggle={this.onAIFolderExtractionToggle}\n onCascadeModeChange={this.onCascadeModeChange}\n onCascadeToggle={this.onCascadeToggle}\n shouldShowCascadeOptions={shouldShowCascadeOptions}\n />\n )}\n {isProperties ? (\n <CustomInstance\n canEdit={isEditing}\n data={data}\n onFieldChange={this.onFieldChange}\n onFieldRemove={this.onFieldRemove}\n />\n ) : (\n <TemplatedInstance\n canEdit={isEditing}\n data={data}\n errors={errors}\n isDisabled={isAIFolderExtractionEnabled}\n onFieldChange={this.onFieldChange}\n onFieldRemove={this.onFieldRemove}\n template={template}\n />\n )}\n </div>\n {isEditing && (\n <Footer\n onCancel={this.onCancel}\n onRemove={this.onConfirmRemove}\n showSave={isDirty}\n />\n )}\n </Form>\n </LoadingIndicatorWrapper>\n )}\n </Collapsible>\n </div>\n );\n }\n}\n\nexport { Instance as InstanceBase };\nexport default injectIntl(Instance);\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Instance.js","names":["React","injectIntl","FormattedMessage","classNames","isEqual","cloneDeep","noop","Collapsible","Form","LoadingIndicatorWrapper","PlainButton","Tooltip","IconMetadataColored","IconAlertCircle","IconEdit","bdlWatermelonRed","scrollIntoView","CascadePolicy","TemplatedInstance","CustomInstance","MetadataInstanceConfirmDialog","Footer","messages","FIELD_TYPE_FLOAT","FIELD_TYPE_INTEGER","CASCADE_POLICY_TYPE_AI_EXTRACT","TEMPLATE_CUSTOM_PROPERTIES","ENHANCED_AGENT_CONFIGURATION","ENHANCED_AGENT_ID","JSON_PATCH_OP_REMOVE","JSON_PATCH_OP_ADD","JSON_PATCH_OP_REPLACE","JSON_PATCH_OP_TEST","isValidValue","isHidden","RESIN_TAG_TARGET","createFieldKeyToTypeMap","fields","reduce","prev","key","type","getValue","data","value","parseFloat","parseInt","Instance","PureComponent","constructor","props","_defineProperty","id","onModification","setState","getState","shouldConfirmRemove","isEditing","onRemove","isBusy","cascadePolicy","originalData","isDirty","isCascadingPolicyApplicable","onSave","cascadePolicyConfiguration","currentData","errors","isAIFolderExtractionEnabled","isCascadingEnabled","isCascadingOverwritten","state","Object","keys","length","createJSONPatch","canEdit","undefined","isEnabled","overwrite","isValid","finalErrors","_objectSpread","finalData","createElement","invalidInput","setDirty","shouldShowCascadeOptions","agent","isFile","template","message","isProperties","templateKey","_extends","values","metadataName","displayName","hasDataChanged","hasCascadingChanged","isCascadingEnabledThroughProps","isAIFolderExtractionEnabledThroughProps","createRef","prevState","intl","editClassName","metadataLabelEditText","formatMessage","metadataEditTooltip","position","text","className","onClick","toggleIsEditing","fieldKeyToTypeMap","componentDidUpdate","hasError","prevHasError","prevIsDirty","currentElement","collapsibleRef","current","block","behavior","getTitle","customTitle","color","getConfirmationMessage","renderDeleteMessage","cascadePolicyType","ops","forEach","originalValue","path","prototype","hasOwnProperty","call","push","op","render","canUseAIFolderExtraction","canUseAIFolderExtractionAgentSelector","isOpen","animationDuration","isExistingCascadePolicy","ref","buttonProps","hasStickyHeader","headerActionItems","renderEditButton","isBordered","title","isLoading","confirmationMessage","onCancel","onConfirmCancel","onConfirm","onValidSubmit","isCustomMetadata","onAIAgentSelect","onAIFolderExtractionToggle","onCascadeModeChange","onCascadeToggle","onFieldChange","onFieldRemove","isDisabled","onConfirmRemove","showSave","InstanceBase"],"sources":["../../../src/features/metadata-instance-editor/Instance.js"],"sourcesContent":["// @flow\nimport * as React from 'react';\nimport { injectIntl, FormattedMessage } from 'react-intl';\nimport classNames from 'classnames';\nimport isEqual from 'lodash/isEqual';\nimport cloneDeep from 'lodash/cloneDeep';\nimport noop from 'lodash/noop';\n\nimport type { AgentType } from '@box/box-ai-agent-selector';\nimport Collapsible from '../../components/collapsible/Collapsible';\nimport Form from '../../components/form-elements/form/Form';\nimport LoadingIndicatorWrapper from '../../components/loading-indicator/LoadingIndicatorWrapper';\nimport PlainButton from '../../components/plain-button/PlainButton';\nimport Tooltip from '../../components/tooltip';\nimport IconMetadataColored from '../../icons/general/IconMetadataColored';\nimport IconAlertCircle from '../../icons/general/IconAlertCircle';\nimport IconEdit from '../../icons/general/IconEdit';\nimport { bdlWatermelonRed } from '../../styles/variables';\nimport { scrollIntoView } from '../../utils/dom';\n\nimport CascadePolicy from './CascadePolicy';\nimport TemplatedInstance from './TemplatedInstance';\nimport CustomInstance from './CustomInstance';\nimport MetadataInstanceConfirmDialog from './MetadataInstanceConfirmDialog';\nimport Footer from './Footer';\nimport messages from './messages';\nimport { FIELD_TYPE_FLOAT, FIELD_TYPE_INTEGER } from '../metadata-instance-fields/constants';\nimport {\n CASCADE_POLICY_TYPE_AI_EXTRACT,\n TEMPLATE_CUSTOM_PROPERTIES,\n ENHANCED_AGENT_CONFIGURATION,\n ENHANCED_AGENT_ID,\n} from './constants';\nimport {\n JSON_PATCH_OP_REMOVE,\n JSON_PATCH_OP_ADD,\n JSON_PATCH_OP_REPLACE,\n JSON_PATCH_OP_TEST,\n} from '../../common/constants';\nimport { isValidValue } from '../metadata-instance-fields/validateMetadataField';\nimport { isHidden } from './metadataUtil';\nimport { RESIN_TAG_TARGET } from '../../common/variables';\nimport type {\n MetadataFields,\n MetadataTemplate,\n MetadataCascadePolicy,\n MetadataCascadePolicyConfiguration,\n MetadataCascadingPolicyData,\n MetadataTemplateField,\n MetadataFieldValue,\n} from '../../common/types/metadata';\nimport type { JSONPatchOperations } from '../../common/types/api';\nimport './Instance.scss';\n\ntype Props = {\n canEdit: boolean,\n canUseAIFolderExtraction?: boolean,\n canUseAIFolderExtractionAgentSelector?: boolean,\n cascadePolicy?: MetadataCascadePolicy, // eslint-disable-line\n data: MetadataFields,\n hasError: boolean,\n id: string,\n intl: Object,\n isCascadingPolicyApplicable?: boolean,\n isDirty: boolean,\n isOpen: boolean,\n onModification?: (id: string, isDirty: boolean, type?: string) => void,\n onRemove?: (id: string) => void,\n onSave?: (\n id: string,\n data: JSONPatchOperations,\n cascadingPolicy?: MetadataCascadingPolicyData,\n rawData: Object,\n ) => void,\n template: MetadataTemplate,\n};\n\ntype State = {\n cascadePolicyConfiguration: MetadataCascadePolicyConfiguration | null,\n data: Object,\n errors: { [string]: React.Node },\n isAIFolderExtractionEnabled: boolean,\n isBusy: boolean,\n isCascadingEnabled: boolean,\n isCascadingOverwritten: boolean,\n isEditing: boolean,\n shouldConfirmRemove: boolean,\n shouldShowCascadeOptions: boolean,\n};\n\nconst createFieldKeyToTypeMap = (fields?: Array<MetadataTemplateField> = []) =>\n fields.reduce((prev, { key, type }) => {\n prev[key] = type;\n return prev;\n }, {});\n\nconst getValue = (data: Object, key: string, type: string) => {\n const value = data[key];\n\n switch (type) {\n case FIELD_TYPE_FLOAT:\n return parseFloat(value);\n\n case FIELD_TYPE_INTEGER:\n return parseInt(value, 10);\n\n default:\n return value;\n }\n};\n\nclass Instance extends React.PureComponent<Props, State> {\n static defaultProps = {\n data: {},\n isDirty: false,\n };\n\n constructor(props: Props) {\n super(props);\n this.state = this.getState(props);\n this.fieldKeyToTypeMap = createFieldKeyToTypeMap(props.template.fields);\n }\n\n componentDidUpdate({ hasError: prevHasError, isDirty: prevIsDirty }: Props, prevState: State): void {\n const currentElement = this.collapsibleRef.current;\n const { hasError, isDirty }: Props = this.props;\n const { isEditing }: State = prevState;\n\n if (currentElement && this.state.shouldConfirmRemove) {\n scrollIntoView(currentElement, {\n block: 'start',\n behavior: 'smooth',\n });\n }\n\n if (hasError && hasError !== prevHasError) {\n // If hasError is true, which means an error occurred while\n // doing a network operation and hence hide the busy indicator\n // Saving also disables isEditing, so need to enable that back.\n // isDirty remains as it was before.\n this.setState({ isBusy: false, isEditing: true });\n } else if (prevIsDirty && !isDirty) {\n // If the form was dirty and now its not dirty\n // we know a successful save may have happened.\n // We don't modify isEditing here because we maintain the\n // prior state for that. If we came here from a save\n // success then save already disabled isEditing.\n if (isEditing) {\n // We are still editing so don't reset it\n this.setState({ isBusy: false });\n } else {\n // For a successfull save we reset cascading overwrite radio\n this.setState({ isBusy: false, isCascadingOverwritten: false });\n }\n }\n }\n\n /**\n * Undo any changes made\n *\n * @return {void}\n */\n onCancel = (): void => {\n const { id, onModification }: Props = this.props;\n this.setState(this.getState(this.props));\n\n // Callback to parent to tell that something is dirty\n if (onModification) {\n onModification(id, false);\n }\n };\n\n /**\n * Allows a user to confirm metadata instance removal\n *\n * @return {void}\n */\n onConfirmRemove = (): void => {\n this.setState({ shouldConfirmRemove: true });\n };\n\n /**\n * Cancel the remove instance attempt\n *\n * @return {void}\n */\n onConfirmCancel = (): void => {\n this.setState({ shouldConfirmRemove: false });\n };\n\n /**\n * Removes an instance\n *\n * @return {void}\n */\n onRemove = (): void => {\n if (!this.isEditing()) {\n return;\n }\n\n const { id, onRemove }: Props = this.props;\n if (onRemove) {\n onRemove(id);\n this.setState({ isBusy: true });\n }\n };\n\n /**\n * Saves instance data\n *\n * @return {void}\n */\n onSave = (): void => {\n const {\n cascadePolicy,\n data: originalData,\n id,\n isDirty,\n isCascadingPolicyApplicable,\n onSave,\n }: Props = this.props;\n const {\n cascadePolicyConfiguration,\n data: currentData,\n errors,\n isAIFolderExtractionEnabled,\n isCascadingEnabled,\n isCascadingOverwritten,\n }: State = this.state;\n\n if (!this.isEditing() || !isDirty || !onSave || Object.keys(errors).length) {\n return;\n }\n\n this.setState({\n isBusy: true,\n isEditing: false,\n // reset state if cascading policy is removed\n isAIFolderExtractionEnabled: isCascadingEnabled ? isAIFolderExtractionEnabled : false,\n });\n\n onSave(\n id,\n this.createJSONPatch(currentData, originalData),\n isCascadingPolicyApplicable\n ? {\n canEdit: cascadePolicy ? cascadePolicy.canEdit : false,\n id: cascadePolicy ? cascadePolicy.id : undefined,\n isEnabled: isCascadingEnabled,\n overwrite: isCascadingOverwritten,\n isAIFolderExtractionEnabled,\n cascadePolicyConfiguration,\n }\n : undefined,\n cloneDeep(currentData),\n );\n };\n\n /**\n * Updates a key value in the instance data\n *\n * @param {string} key - key to update\n * @param {FieldValue} value - value to update\n * @param {string} type - type of field\n * @return {void}\n */\n onFieldChange = (key: string, value: MetadataFieldValue, type: string): void => {\n const { data, errors }: State = this.state;\n\n // Don't do anything if data is the same or not in edit mode\n if (!this.isEditing() || isEqual(data[key], value)) {\n return;\n }\n\n const isValid = isValidValue(type, value);\n const finalErrors = { ...errors };\n const finalData = cloneDeep(data);\n finalData[key] = value;\n\n if (isValid) {\n delete finalErrors[key];\n } else {\n finalErrors[key] = <FormattedMessage {...messages.invalidInput} />;\n }\n\n this.setState({ data: finalData, errors: finalErrors }, () => {\n this.setDirty(type);\n });\n };\n\n /**\n * Removes a key from instance data\n *\n * @param {string} key - key to remove\n * @return {void}\n */\n onFieldRemove = (key: string): void => {\n if (!this.isEditing()) {\n return;\n }\n\n const { data, errors }: State = this.state;\n const finalData = cloneDeep(data);\n const finalErrors = { ...errors };\n delete finalData[key];\n delete finalErrors[key];\n this.setState({ data: finalData, errors: finalErrors }, this.setDirty);\n };\n\n /**\n * Toggle cascading policy\n *\n * @param {boolean} value - true when turned on\n * @return {void}\n */\n onCascadeToggle = (value: boolean) => {\n const { isCascadingPolicyApplicable }: Props = this.props;\n if (!isCascadingPolicyApplicable) {\n return;\n }\n\n this.setState(\n {\n isCascadingEnabled: value,\n shouldShowCascadeOptions: value,\n },\n this.setDirty,\n );\n };\n\n /**\n * Changes the cascade mode.\n * isCascadingOverwritten is slways false to start off.\n *\n * @param {boolean} value - true when overwrite policy is chosen\n * @return {void}\n */\n onCascadeModeChange = (value: boolean): void => {\n const { isCascadingPolicyApplicable }: Props = this.props;\n if (!isCascadingPolicyApplicable) {\n return;\n }\n\n this.setState(\n {\n isCascadingOverwritten: value,\n },\n this.setDirty,\n );\n };\n\n onAIFolderExtractionToggle = (value: boolean) => {\n this.setState({ isAIFolderExtractionEnabled: value }, this.setDirty);\n };\n\n /**\n * Handles the selection of an AI agent\n * @param {AgentType | null} agent - The selected agent\n */\n onAIAgentSelect = (agent: AgentType | null): void => {\n // '2' is the id for the enhanced agent\n if (agent && agent.id === ENHANCED_AGENT_ID) {\n this.setState({\n cascadePolicyConfiguration: {\n agent: ENHANCED_AGENT_CONFIGURATION,\n },\n });\n } else {\n this.setState({ cascadePolicyConfiguration: null });\n }\n };\n\n /**\n * Returns the state from props\n *\n * @return {Object} - react state\n */\n getState(props: Props): State {\n const isCascadingEnabled = this.isCascadingEnabledThroughProps(props);\n\n return {\n cascadePolicyConfiguration: null,\n data: cloneDeep(props.data),\n errors: {},\n isAIFolderExtractionEnabled: this.isAIFolderExtractionEnabledThroughProps(props),\n isBusy: false,\n isCascadingEnabled,\n isCascadingOverwritten: false,\n isEditing: false,\n shouldConfirmRemove: false,\n shouldShowCascadeOptions: isCascadingEnabled,\n };\n }\n\n /**\n * Returns the card title with possible error mark\n *\n * @return {Object} - react title element\n */\n getTitle(): React.Node {\n const { cascadePolicy = {}, hasError, isCascadingPolicyApplicable, template }: Props = this.props;\n const isProperties = template.templateKey === TEMPLATE_CUSTOM_PROPERTIES;\n\n const type = isCascadingPolicyApplicable && cascadePolicy.id ? 'cascade' : 'default';\n\n return (\n <span className=\"metadata-instance-editor-instance-title\">\n <IconMetadataColored type={type} />\n <span\n className={classNames('metadata-instance-editor-instance-title-text', {\n 'metadata-instance-editor-instance-has-error': hasError,\n })}\n >\n {isProperties ? <FormattedMessage {...messages.customTitle} /> : template.displayName}\n </span>\n {hasError && <IconAlertCircle color={bdlWatermelonRed} />}\n </span>\n );\n }\n\n /**\n * Render the correct delete message to show based on custom metadata and file/folder metadata\n */\n renderDeleteMessage = (isFile: boolean, template: Object) => {\n let message;\n const isProperties = template.templateKey === TEMPLATE_CUSTOM_PROPERTIES;\n\n if (isProperties) {\n message = isFile ? 'fileMetadataRemoveCustomTemplateConfirm' : 'folderMetadataRemoveCustomTemplateConfirm';\n } else {\n message = isFile ? 'fileMetadataRemoveTemplateConfirm' : 'folderMetadataRemoveTemplateConfirm';\n }\n\n return (\n <FormattedMessage\n {...messages[message]}\n values={{\n metadataName: template.displayName,\n }}\n />\n );\n };\n\n /**\n * Get the delete confirmation message base on the template key\n */\n getConfirmationMessage(): React.Node {\n const { template, isCascadingPolicyApplicable }: Props = this.props;\n const isFile = !isCascadingPolicyApplicable;\n return this.renderDeleteMessage(isFile, template);\n }\n\n /**\n * Evaluates if the metadata was changed or cascading policy\n * altered or enabled.\n *\n * @return {void}\n */\n setDirty = (type?: string): void => {\n const { id, isCascadingPolicyApplicable, onModification }: Props = this.props;\n const { data, isCascadingEnabled, isCascadingOverwritten, isAIFolderExtractionEnabled } = this.state;\n const hasDataChanged = !isEqual(data, this.props.data);\n let hasCascadingChanged = false;\n\n if (isCascadingPolicyApplicable) {\n // isCascadingOverwritten always starts out as false, so true signifies a change\n hasCascadingChanged =\n isCascadingOverwritten ||\n isCascadingEnabled !== this.isCascadingEnabledThroughProps(this.props) ||\n isAIFolderExtractionEnabled !== this.isAIFolderExtractionEnabledThroughProps(this.props);\n }\n\n // Callback to parent to tell that something is dirty\n if (onModification) {\n onModification(id, hasDataChanged || hasCascadingChanged, type);\n }\n };\n\n collapsibleRef: {\n current: null | HTMLDivElement,\n } = React.createRef();\n\n fieldKeyToTypeMap: Object;\n\n /**\n * Determines if cascading policy is enabled through props based on\n * whether it has an id or not.\n *\n * @param {Object} props - component props\n * @return {boolean} true if cascading policy is enabled\n */\n isCascadingEnabledThroughProps(props: Props) {\n if (props.cascadePolicy) {\n return !!props.cascadePolicy.id;\n }\n return false;\n }\n\n /**\n * Determines if ai extraction is enabled based on\n * if cascade policy type is ai_extract\n *\n * @param {Object} props - component props\n * @return {boolean} true if ai extraction is enabled\n */\n isAIFolderExtractionEnabledThroughProps({ cascadePolicy }: Props) {\n return cascadePolicy?.cascadePolicyType === CASCADE_POLICY_TYPE_AI_EXTRACT;\n }\n\n /**\n * Toggles the edit mode\n *\n * @private\n * @return {void}\n */\n toggleIsEditing = (): void => {\n this.setState(prevState => ({\n isEditing: !prevState.isEditing,\n }));\n };\n\n /**\n * Creates JSON Patch operations from the passed in\n * data while comparing it to the original data from props.\n *\n * Only diffs at the root level and primitives.\n *\n * @param {*} currentData - the latest changes by the user\n * @param {*} originalData - the original values\n * @return {Array} - JSON patch operations\n */\n createJSONPatch(currentData: Object, originalData: Object): JSONPatchOperations {\n const ops = [];\n const data = cloneDeep(currentData); // clone the data for mutation\n\n // Iterate over the original data and find keys that have changed.\n // Also remove them from the data object to only leave new keys.\n Object.keys(originalData).forEach(key => {\n const type = this.fieldKeyToTypeMap[key];\n const originalValue = getValue(originalData, key, type);\n const path = `/${key}`;\n\n if (Object.prototype.hasOwnProperty.call(data, key)) {\n const value = getValue(data, key, type);\n\n // Only register changed data\n if (!isEqual(value, originalValue)) {\n // Add a test OP for each replaces\n ops.push({\n op: JSON_PATCH_OP_TEST,\n path,\n value: originalValue,\n });\n ops.push({\n op: JSON_PATCH_OP_REPLACE,\n path,\n value,\n });\n }\n } else {\n // Key was removed\n // Add a test OP for removes\n ops.push({\n op: JSON_PATCH_OP_TEST,\n path,\n value: originalValue,\n });\n ops.push({ op: JSON_PATCH_OP_REMOVE, path });\n }\n delete data[key];\n });\n\n // Iterate over the remaining keys that are new.\n Object.keys(data).forEach(key => {\n const type = this.fieldKeyToTypeMap[key];\n const value = getValue(data, key, type);\n\n ops.push({\n op: JSON_PATCH_OP_ADD,\n path: `/${key}`,\n value,\n });\n });\n\n return ops;\n }\n\n /**\n * Utility function to determine if instance is editable\n *\n * @return {boolean} true if editable\n */\n canEdit(): boolean {\n const { canEdit, onModification, onRemove, onSave }: Props = this.props;\n return (\n canEdit &&\n typeof onRemove === 'function' &&\n typeof onSave === 'function' &&\n typeof onModification === 'function'\n );\n }\n\n /**\n * Utility function to determine if instance is in edit mode\n *\n * @return {boolean} true if editing\n */\n isEditing(): boolean {\n const { isEditing }: State = this.state;\n return this.canEdit() && isEditing;\n }\n\n renderEditButton = () => {\n const { intl, isDirty }: Props = this.props;\n const { isBusy }: State = this.state;\n const canEdit = this.canEdit();\n const isEditing = this.isEditing();\n const editClassName = classNames('metadata-instance-editor-instance-edit', {\n 'metadata-instance-editor-instance-is-editing': isEditing,\n });\n\n if (canEdit && !isDirty && !isBusy) {\n const metadataLabelEditText = intl.formatMessage(messages.metadataEditTooltip);\n return (\n <Tooltip position=\"top-left\" text={metadataLabelEditText}>\n <PlainButton\n aria-label={metadataLabelEditText}\n aria-pressed={isEditing}\n className={editClassName}\n data-resin-target=\"metadata-instanceedit\"\n onClick={this.toggleIsEditing}\n type=\"button\"\n >\n <IconEdit />\n </PlainButton>\n </Tooltip>\n );\n }\n return null;\n };\n\n render() {\n const {\n canUseAIFolderExtraction = false,\n canUseAIFolderExtractionAgentSelector = false,\n cascadePolicy = {},\n isDirty,\n isCascadingPolicyApplicable,\n isOpen,\n template,\n }: Props = this.props;\n const { fields = [] } = template;\n const {\n data,\n errors,\n isBusy,\n isAIFolderExtractionEnabled,\n isCascadingEnabled,\n shouldConfirmRemove,\n shouldShowCascadeOptions,\n isCascadingOverwritten,\n }: State = this.state;\n const isProperties = template.templateKey === TEMPLATE_CUSTOM_PROPERTIES;\n const isEditing = this.isEditing();\n\n if (!template || isHidden(template)) {\n return null;\n }\n\n // Animate short and tall cards at consistent speeds.\n const animationDuration = (fields.length + 1) * 50;\n\n const isExistingCascadePolicy = this.isCascadingEnabledThroughProps(this.props);\n\n return (\n <div ref={this.collapsibleRef}>\n <Collapsible\n animationDuration={animationDuration}\n buttonProps={{\n [RESIN_TAG_TARGET]: 'metadata-card',\n }}\n hasStickyHeader\n headerActionItems={this.renderEditButton()}\n isBordered\n isOpen={isOpen}\n title={this.getTitle()}\n >\n {shouldConfirmRemove && (\n <LoadingIndicatorWrapper isLoading={isBusy}>\n <MetadataInstanceConfirmDialog\n confirmationMessage={this.getConfirmationMessage()}\n onCancel={this.onConfirmCancel}\n onConfirm={this.onRemove}\n />\n </LoadingIndicatorWrapper>\n )}\n {!shouldConfirmRemove && (\n <LoadingIndicatorWrapper isLoading={isBusy}>\n <Form onValidSubmit={isDirty ? this.onSave : noop}>\n <div className=\"metadata-instance-editor-instance\">\n {isCascadingPolicyApplicable && (\n <CascadePolicy\n canEdit={isEditing && !!cascadePolicy.canEdit}\n canUseAIFolderExtraction={canUseAIFolderExtraction}\n canUseAIFolderExtractionAgentSelector={\n canUseAIFolderExtractionAgentSelector\n }\n isAIFolderExtractionEnabled={isAIFolderExtractionEnabled}\n isCascadingEnabled={isCascadingEnabled}\n isCascadingOverwritten={isCascadingOverwritten}\n isCustomMetadata={isProperties}\n isExistingCascadePolicy={isExistingCascadePolicy}\n onAIAgentSelect={this.onAIAgentSelect}\n onAIFolderExtractionToggle={this.onAIFolderExtractionToggle}\n onCascadeModeChange={this.onCascadeModeChange}\n onCascadeToggle={this.onCascadeToggle}\n shouldShowCascadeOptions={shouldShowCascadeOptions}\n />\n )}\n {isProperties ? (\n <CustomInstance\n canEdit={isEditing}\n data={data}\n onFieldChange={this.onFieldChange}\n onFieldRemove={this.onFieldRemove}\n />\n ) : (\n <TemplatedInstance\n canEdit={isEditing}\n data={data}\n errors={errors}\n isDisabled={isAIFolderExtractionEnabled}\n onFieldChange={this.onFieldChange}\n onFieldRemove={this.onFieldRemove}\n template={template}\n />\n )}\n </div>\n {isEditing && (\n <Footer\n onCancel={this.onCancel}\n onRemove={this.onConfirmRemove}\n showSave={isDirty}\n />\n )}\n </Form>\n </LoadingIndicatorWrapper>\n )}\n </Collapsible>\n </div>\n );\n }\n}\n\nexport { Instance as InstanceBase };\nexport default injectIntl(Instance);\n"],"mappings":";;;;;;AACA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,UAAU,EAAEC,gBAAgB,QAAQ,YAAY;AACzD,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,OAAO,MAAM,gBAAgB;AACpC,OAAOC,SAAS,MAAM,kBAAkB;AACxC,OAAOC,IAAI,MAAM,aAAa;AAG9B,OAAOC,WAAW,MAAM,0CAA0C;AAClE,OAAOC,IAAI,MAAM,0CAA0C;AAC3D,OAAOC,uBAAuB,MAAM,4DAA4D;AAChG,OAAOC,WAAW,MAAM,2CAA2C;AACnE,OAAOC,OAAO,MAAM,0BAA0B;AAC9C,OAAOC,mBAAmB,MAAM,yCAAyC;AACzE,OAAOC,eAAe,MAAM,qCAAqC;AACjE,OAAOC,QAAQ,MAAM,8BAA8B;AACnD,SAASC,gBAAgB,QAAQ,wBAAwB;AACzD,SAASC,cAAc,QAAQ,iBAAiB;AAEhD,OAAOC,aAAa,MAAM,iBAAiB;AAC3C,OAAOC,iBAAiB,MAAM,qBAAqB;AACnD,OAAOC,cAAc,MAAM,kBAAkB;AAC7C,OAAOC,6BAA6B,MAAM,iCAAiC;AAC3E,OAAOC,MAAM,MAAM,UAAU;AAC7B,OAAOC,QAAQ,MAAM,YAAY;AACjC,SAASC,gBAAgB,EAAEC,kBAAkB,QAAQ,uCAAuC;AAC5F,SACIC,8BAA8B,EAC9BC,0BAA0B,EAC1BC,4BAA4B,EAC5BC,iBAAiB,QACd,aAAa;AACpB,SACIC,oBAAoB,EACpBC,iBAAiB,EACjBC,qBAAqB,EACrBC,kBAAkB,QACf,wBAAwB;AAC/B,SAASC,YAAY,QAAQ,mDAAmD;AAChF,SAASC,QAAQ,QAAQ,gBAAgB;AACzC,SAASC,gBAAgB,QAAQ,wBAAwB;AAWzD,OAAO,iBAAiB;AAsCxB,MAAMC,uBAAuB,GAAGA,CAACC,MAAqC,GAAG,EAAE,KACvEA,MAAM,CAACC,MAAM,CAAC,CAACC,IAAI,EAAE;EAAEC,GAAG;EAAEC;AAAK,CAAC,KAAK;EACnCF,IAAI,CAACC,GAAG,CAAC,GAAGC,IAAI;EAChB,OAAOF,IAAI;AACf,CAAC,EAAE,CAAC,CAAC,CAAC;AAEV,MAAMG,QAAQ,GAAGA,CAACC,IAAY,EAAEH,GAAW,EAAEC,IAAY,KAAK;EAC1D,MAAMG,KAAK,GAAGD,IAAI,CAACH,GAAG,CAAC;EAEvB,QAAQC,IAAI;IACR,KAAKlB,gBAAgB;MACjB,OAAOsB,UAAU,CAACD,KAAK,CAAC;IAE5B,KAAKpB,kBAAkB;MACnB,OAAOsB,QAAQ,CAACF,KAAK,EAAE,EAAE,CAAC;IAE9B;MACI,OAAOA,KAAK;EACpB;AACJ,CAAC;AAED,MAAMG,QAAQ,SAAS/C,KAAK,CAACgD,aAAa,CAAe;EAMrDC,WAAWA,CAACC,KAAY,EAAE;IACtB,KAAK,CAACA,KAAK,CAAC;IAuChB;AACJ;AACA;AACA;AACA;IAJIC,eAAA,mBAKW,MAAY;MACnB,MAAM;QAAEC,EAAE;QAAEC;MAAsB,CAAC,GAAG,IAAI,CAACH,KAAK;MAChD,IAAI,CAACI,QAAQ,CAAC,IAAI,CAACC,QAAQ,CAAC,IAAI,CAACL,KAAK,CAAC,CAAC;;MAExC;MACA,IAAIG,cAAc,EAAE;QAChBA,cAAc,CAACD,EAAE,EAAE,KAAK,CAAC;MAC7B;IACJ,CAAC;IAED;AACJ;AACA;AACA;AACA;IAJID,eAAA,0BAKkB,MAAY;MAC1B,IAAI,CAACG,QAAQ,CAAC;QAAEE,mBAAmB,EAAE;MAAK,CAAC,CAAC;IAChD,CAAC;IAED;AACJ;AACA;AACA;AACA;IAJIL,eAAA,0BAKkB,MAAY;MAC1B,IAAI,CAACG,QAAQ,CAAC;QAAEE,mBAAmB,EAAE;MAAM,CAAC,CAAC;IACjD,CAAC;IAED;AACJ;AACA;AACA;AACA;IAJIL,eAAA,mBAKW,MAAY;MACnB,IAAI,CAAC,IAAI,CAACM,SAAS,CAAC,CAAC,EAAE;QACnB;MACJ;MAEA,MAAM;QAAEL,EAAE;QAAEM;MAAgB,CAAC,GAAG,IAAI,CAACR,KAAK;MAC1C,IAAIQ,QAAQ,EAAE;QACVA,QAAQ,CAACN,EAAE,CAAC;QACZ,IAAI,CAACE,QAAQ,CAAC;UAAEK,MAAM,EAAE;QAAK,CAAC,CAAC;MACnC;IACJ,CAAC;IAED;AACJ;AACA;AACA;AACA;IAJIR,eAAA,iBAKS,MAAY;MACjB,MAAM;QACFS,aAAa;QACbjB,IAAI,EAAEkB,YAAY;QAClBT,EAAE;QACFU,OAAO;QACPC,2BAA2B;QAC3BC;MACG,CAAC,GAAG,IAAI,CAACd,KAAK;MACrB,MAAM;QACFe,0BAA0B;QAC1BtB,IAAI,EAAEuB,WAAW;QACjBC,MAAM;QACNC,2BAA2B;QAC3BC,kBAAkB;QAClBC;MACG,CAAC,GAAG,IAAI,CAACC,KAAK;MAErB,IAAI,CAAC,IAAI,CAACd,SAAS,CAAC,CAAC,IAAI,CAACK,OAAO,IAAI,CAACE,MAAM,IAAIQ,MAAM,CAACC,IAAI,CAACN,MAAM,CAAC,CAACO,MAAM,EAAE;QACxE;MACJ;MAEA,IAAI,CAACpB,QAAQ,CAAC;QACVK,MAAM,EAAE,IAAI;QACZF,SAAS,EAAE,KAAK;QAChB;QACAW,2BAA2B,EAAEC,kBAAkB,GAAGD,2BAA2B,GAAG;MACpF,CAAC,CAAC;MAEFJ,MAAM,CACFZ,EAAE,EACF,IAAI,CAACuB,eAAe,CAACT,WAAW,EAAEL,YAAY,CAAC,EAC/CE,2BAA2B,GACrB;QACIa,OAAO,EAAEhB,aAAa,GAAGA,aAAa,CAACgB,OAAO,GAAG,KAAK;QACtDxB,EAAE,EAAEQ,aAAa,GAAGA,aAAa,CAACR,EAAE,GAAGyB,SAAS;QAChDC,SAAS,EAAET,kBAAkB;QAC7BU,SAAS,EAAET,sBAAsB;QACjCF,2BAA2B;QAC3BH;MACJ,CAAC,GACDY,SAAS,EACfxE,SAAS,CAAC6D,WAAW,CACzB,CAAC;IACL,CAAC;IAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;IAPIf,eAAA,wBAQgB,CAACX,GAAW,EAAEI,KAAyB,EAAEH,IAAY,KAAW;MAC5E,MAAM;QAAEE,IAAI;QAAEwB;MAAc,CAAC,GAAG,IAAI,CAACI,KAAK;;MAE1C;MACA,IAAI,CAAC,IAAI,CAACd,SAAS,CAAC,CAAC,IAAIrD,OAAO,CAACuC,IAAI,CAACH,GAAG,CAAC,EAAEI,KAAK,CAAC,EAAE;QAChD;MACJ;MAEA,MAAMoC,OAAO,GAAG/C,YAAY,CAACQ,IAAI,EAAEG,KAAK,CAAC;MACzC,MAAMqC,WAAW,GAAAC,aAAA,KAAQf,MAAM,CAAE;MACjC,MAAMgB,SAAS,GAAG9E,SAAS,CAACsC,IAAI,CAAC;MACjCwC,SAAS,CAAC3C,GAAG,CAAC,GAAGI,KAAK;MAEtB,IAAIoC,OAAO,EAAE;QACT,OAAOC,WAAW,CAACzC,GAAG,CAAC;MAC3B,CAAC,MAAM;QACHyC,WAAW,CAACzC,GAAG,CAAC,gBAAGxC,KAAA,CAAAoF,aAAA,CAAClF,gBAAgB,EAAKoB,QAAQ,CAAC+D,YAAe,CAAC;MACtE;MAEA,IAAI,CAAC/B,QAAQ,CAAC;QAAEX,IAAI,EAAEwC,SAAS;QAAEhB,MAAM,EAAEc;MAAY,CAAC,EAAE,MAAM;QAC1D,IAAI,CAACK,QAAQ,CAAC7C,IAAI,CAAC;MACvB,CAAC,CAAC;IACN,CAAC;IAED;AACJ;AACA;AACA;AACA;AACA;IALIU,eAAA,wBAMiBX,GAAW,IAAW;MACnC,IAAI,CAAC,IAAI,CAACiB,SAAS,CAAC,CAAC,EAAE;QACnB;MACJ;MAEA,MAAM;QAAEd,IAAI;QAAEwB;MAAc,CAAC,GAAG,IAAI,CAACI,KAAK;MAC1C,MAAMY,SAAS,GAAG9E,SAAS,CAACsC,IAAI,CAAC;MACjC,MAAMsC,WAAW,GAAAC,aAAA,KAAQf,MAAM,CAAE;MACjC,OAAOgB,SAAS,CAAC3C,GAAG,CAAC;MACrB,OAAOyC,WAAW,CAACzC,GAAG,CAAC;MACvB,IAAI,CAACc,QAAQ,CAAC;QAAEX,IAAI,EAAEwC,SAAS;QAAEhB,MAAM,EAAEc;MAAY,CAAC,EAAE,IAAI,CAACK,QAAQ,CAAC;IAC1E,CAAC;IAED;AACJ;AACA;AACA;AACA;AACA;IALInC,eAAA,0BAMmBP,KAAc,IAAK;MAClC,MAAM;QAAEmB;MAAmC,CAAC,GAAG,IAAI,CAACb,KAAK;MACzD,IAAI,CAACa,2BAA2B,EAAE;QAC9B;MACJ;MAEA,IAAI,CAACT,QAAQ,CACT;QACIe,kBAAkB,EAAEzB,KAAK;QACzB2C,wBAAwB,EAAE3C;MAC9B,CAAC,EACD,IAAI,CAAC0C,QACT,CAAC;IACL,CAAC;IAED;AACJ;AACA;AACA;AACA;AACA;AACA;IANInC,eAAA,8BAOuBP,KAAc,IAAW;MAC5C,MAAM;QAAEmB;MAAmC,CAAC,GAAG,IAAI,CAACb,KAAK;MACzD,IAAI,CAACa,2BAA2B,EAAE;QAC9B;MACJ;MAEA,IAAI,CAACT,QAAQ,CACT;QACIgB,sBAAsB,EAAE1B;MAC5B,CAAC,EACD,IAAI,CAAC0C,QACT,CAAC;IACL,CAAC;IAAAnC,eAAA,qCAE6BP,KAAc,IAAK;MAC7C,IAAI,CAACU,QAAQ,CAAC;QAAEc,2BAA2B,EAAExB;MAAM,CAAC,EAAE,IAAI,CAAC0C,QAAQ,CAAC;IACxE,CAAC;IAED;AACJ;AACA;AACA;IAHInC,eAAA,0BAImBqC,KAAuB,IAAW;MACjD;MACA,IAAIA,KAAK,IAAIA,KAAK,CAACpC,EAAE,KAAKxB,iBAAiB,EAAE;QACzC,IAAI,CAAC0B,QAAQ,CAAC;UACVW,0BAA0B,EAAE;YACxBuB,KAAK,EAAE7D;UACX;QACJ,CAAC,CAAC;MACN,CAAC,MAAM;QACH,IAAI,CAAC2B,QAAQ,CAAC;UAAEW,0BAA0B,EAAE;QAAK,CAAC,CAAC;MACvD;IACJ,CAAC;IAkDD;AACJ;AACA;IAFId,eAAA,8BAGsB,CAACsC,MAAe,EAAEC,QAAgB,KAAK;MACzD,IAAIC,OAAO;MACX,MAAMC,YAAY,GAAGF,QAAQ,CAACG,WAAW,KAAKnE,0BAA0B;MAExE,IAAIkE,YAAY,EAAE;QACdD,OAAO,GAAGF,MAAM,GAAG,yCAAyC,GAAG,2CAA2C;MAC9G,CAAC,MAAM;QACHE,OAAO,GAAGF,MAAM,GAAG,mCAAmC,GAAG,qCAAqC;MAClG;MAEA,oBACIzF,KAAA,CAAAoF,aAAA,CAAClF,gBAAgB,EAAA4F,QAAA,KACTxE,QAAQ,CAACqE,OAAO,CAAC;QACrBI,MAAM,EAAE;UACJC,YAAY,EAAEN,QAAQ,CAACO;QAC3B;MAAE,EACL,CAAC;IAEV,CAAC;IAWD;AACJ;AACA;AACA;AACA;AACA;IALI9C,eAAA,mBAMYV,IAAa,IAAW;MAChC,MAAM;QAAEW,EAAE;QAAEW,2BAA2B;QAAEV;MAAsB,CAAC,GAAG,IAAI,CAACH,KAAK;MAC7E,MAAM;QAAEP,IAAI;QAAE0B,kBAAkB;QAAEC,sBAAsB;QAAEF;MAA4B,CAAC,GAAG,IAAI,CAACG,KAAK;MACpG,MAAM2B,cAAc,GAAG,CAAC9F,OAAO,CAACuC,IAAI,EAAE,IAAI,CAACO,KAAK,CAACP,IAAI,CAAC;MACtD,IAAIwD,mBAAmB,GAAG,KAAK;MAE/B,IAAIpC,2BAA2B,EAAE;QAC7B;QACAoC,mBAAmB,GACf7B,sBAAsB,IACtBD,kBAAkB,KAAK,IAAI,CAAC+B,8BAA8B,CAAC,IAAI,CAAClD,KAAK,CAAC,IACtEkB,2BAA2B,KAAK,IAAI,CAACiC,uCAAuC,CAAC,IAAI,CAACnD,KAAK,CAAC;MAChG;;MAEA;MACA,IAAIG,cAAc,EAAE;QAChBA,cAAc,CAACD,EAAE,EAAE8C,cAAc,IAAIC,mBAAmB,EAAE1D,IAAI,CAAC;MACnE;IACJ,CAAC;IAAAU,eAAA,sCAIGnD,KAAK,CAACsG,SAAS,CAAC,CAAC;IA6BrB;AACJ;AACA;AACA;AACA;AACA;IALInD,eAAA,0BAMkB,MAAY;MAC1B,IAAI,CAACG,QAAQ,CAACiD,SAAS,KAAK;QACxB9C,SAAS,EAAE,CAAC8C,SAAS,CAAC9C;MAC1B,CAAC,CAAC,CAAC;IACP,CAAC;IAAAN,eAAA,2BA6FkB,MAAM;MACrB,MAAM;QAAEqD,IAAI;QAAE1C;MAAe,CAAC,GAAG,IAAI,CAACZ,KAAK;MAC3C,MAAM;QAAES;MAAc,CAAC,GAAG,IAAI,CAACY,KAAK;MACpC,MAAMK,OAAO,GAAG,IAAI,CAACA,OAAO,CAAC,CAAC;MAC9B,MAAMnB,SAAS,GAAG,IAAI,CAACA,SAAS,CAAC,CAAC;MAClC,MAAMgD,aAAa,GAAGtG,UAAU,CAAC,wCAAwC,EAAE;QACvE,8CAA8C,EAAEsD;MACpD,CAAC,CAAC;MAEF,IAAImB,OAAO,IAAI,CAACd,OAAO,IAAI,CAACH,MAAM,EAAE;QAChC,MAAM+C,qBAAqB,GAAGF,IAAI,CAACG,aAAa,CAACrF,QAAQ,CAACsF,mBAAmB,CAAC;QAC9E,oBACI5G,KAAA,CAAAoF,aAAA,CAACzE,OAAO;UAACkG,QAAQ,EAAC,UAAU;UAACC,IAAI,EAAEJ;QAAsB,gBACrD1G,KAAA,CAAAoF,aAAA,CAAC1E,WAAW;UACR,cAAYgG,qBAAsB;UAClC,gBAAcjD,SAAU;UACxBsD,SAAS,EAAEN,aAAc;UACzB,qBAAkB,uBAAuB;UACzCO,OAAO,EAAE,IAAI,CAACC,eAAgB;UAC9BxE,IAAI,EAAC;QAAQ,gBAEbzC,KAAA,CAAAoF,aAAA,CAACtE,QAAQ,MAAE,CACF,CACR,CAAC;MAElB;MACA,OAAO,IAAI;IACf,CAAC;IAxgBG,IAAI,CAACyD,KAAK,GAAG,IAAI,CAAChB,QAAQ,CAACL,KAAK,CAAC;IACjC,IAAI,CAACgE,iBAAiB,GAAG9E,uBAAuB,CAACc,KAAK,CAACwC,QAAQ,CAACrD,MAAM,CAAC;EAC3E;EAEA8E,kBAAkBA,CAAC;IAAEC,QAAQ,EAAEC,YAAY;IAAEvD,OAAO,EAAEwD;EAAmB,CAAC,EAAEf,SAAgB,EAAQ;IAChG,MAAMgB,cAAc,GAAG,IAAI,CAACC,cAAc,CAACC,OAAO;IAClD,MAAM;MAAEL,QAAQ;MAAEtD;IAAe,CAAC,GAAG,IAAI,CAACZ,KAAK;IAC/C,MAAM;MAAEO;IAAiB,CAAC,GAAG8C,SAAS;IAEtC,IAAIgB,cAAc,IAAI,IAAI,CAAChD,KAAK,CAACf,mBAAmB,EAAE;MAClDxC,cAAc,CAACuG,cAAc,EAAE;QAC3BG,KAAK,EAAE,OAAO;QACdC,QAAQ,EAAE;MACd,CAAC,CAAC;IACN;IAEA,IAAIP,QAAQ,IAAIA,QAAQ,KAAKC,YAAY,EAAE;MACvC;MACA;MACA;MACA;MACA,IAAI,CAAC/D,QAAQ,CAAC;QAAEK,MAAM,EAAE,KAAK;QAAEF,SAAS,EAAE;MAAK,CAAC,CAAC;IACrD,CAAC,MAAM,IAAI6D,WAAW,IAAI,CAACxD,OAAO,EAAE;MAChC;MACA;MACA;MACA;MACA;MACA,IAAIL,SAAS,EAAE;QACX;QACA,IAAI,CAACH,QAAQ,CAAC;UAAEK,MAAM,EAAE;QAAM,CAAC,CAAC;MACpC,CAAC,MAAM;QACH;QACA,IAAI,CAACL,QAAQ,CAAC;UAAEK,MAAM,EAAE,KAAK;UAAEW,sBAAsB,EAAE;QAAM,CAAC,CAAC;MACnE;IACJ;EACJ;EAyNA;AACJ;AACA;AACA;AACA;EACIf,QAAQA,CAACL,KAAY,EAAS;IAC1B,MAAMmB,kBAAkB,GAAG,IAAI,CAAC+B,8BAA8B,CAAClD,KAAK,CAAC;IAErE,OAAO;MACHe,0BAA0B,EAAE,IAAI;MAChCtB,IAAI,EAAEtC,SAAS,CAAC6C,KAAK,CAACP,IAAI,CAAC;MAC3BwB,MAAM,EAAE,CAAC,CAAC;MACVC,2BAA2B,EAAE,IAAI,CAACiC,uCAAuC,CAACnD,KAAK,CAAC;MAChFS,MAAM,EAAE,KAAK;MACbU,kBAAkB;MAClBC,sBAAsB,EAAE,KAAK;MAC7Bb,SAAS,EAAE,KAAK;MAChBD,mBAAmB,EAAE,KAAK;MAC1B+B,wBAAwB,EAAElB;IAC9B,CAAC;EACL;;EAEA;AACJ;AACA;AACA;AACA;EACIuD,QAAQA,CAAA,EAAe;IACnB,MAAM;MAAEhE,aAAa,GAAG,CAAC,CAAC;MAAEwD,QAAQ;MAAErD,2BAA2B;MAAE2B;IAAgB,CAAC,GAAG,IAAI,CAACxC,KAAK;IACjG,MAAM0C,YAAY,GAAGF,QAAQ,CAACG,WAAW,KAAKnE,0BAA0B;IAExE,MAAMe,IAAI,GAAGsB,2BAA2B,IAAIH,aAAa,CAACR,EAAE,GAAG,SAAS,GAAG,SAAS;IAEpF,oBACIpD,KAAA,CAAAoF,aAAA;MAAM2B,SAAS,EAAC;IAAyC,gBACrD/G,KAAA,CAAAoF,aAAA,CAACxE,mBAAmB;MAAC6B,IAAI,EAAEA;IAAK,CAAE,CAAC,eACnCzC,KAAA,CAAAoF,aAAA;MACI2B,SAAS,EAAE5G,UAAU,CAAC,8CAA8C,EAAE;QAClE,6CAA6C,EAAEiH;MACnD,CAAC;IAAE,GAEFxB,YAAY,gBAAG5F,KAAA,CAAAoF,aAAA,CAAClF,gBAAgB,EAAKoB,QAAQ,CAACuG,WAAc,CAAC,GAAGnC,QAAQ,CAACO,WACxE,CAAC,EACNmB,QAAQ,iBAAIpH,KAAA,CAAAoF,aAAA,CAACvE,eAAe;MAACiH,KAAK,EAAE/G;IAAiB,CAAE,CACtD,CAAC;EAEf;EAyBA;AACJ;AACA;EACIgH,sBAAsBA,CAAA,EAAe;IACjC,MAAM;MAAErC,QAAQ;MAAE3B;IAAmC,CAAC,GAAG,IAAI,CAACb,KAAK;IACnE,MAAMuC,MAAM,GAAG,CAAC1B,2BAA2B;IAC3C,OAAO,IAAI,CAACiE,mBAAmB,CAACvC,MAAM,EAAEC,QAAQ,CAAC;EACrD;EAkCA;AACJ;AACA;AACA;AACA;AACA;AACA;EACIU,8BAA8BA,CAAClD,KAAY,EAAE;IACzC,IAAIA,KAAK,CAACU,aAAa,EAAE;MACrB,OAAO,CAAC,CAACV,KAAK,CAACU,aAAa,CAACR,EAAE;IACnC;IACA,OAAO,KAAK;EAChB;;EAEA;AACJ;AACA;AACA;AACA;AACA;AACA;EACIiD,uCAAuCA,CAAC;IAAEzC;EAAqB,CAAC,EAAE;IAC9D,OAAOA,aAAa,EAAEqE,iBAAiB,KAAKxG,8BAA8B;EAC9E;EAcA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACIkD,eAAeA,CAACT,WAAmB,EAAEL,YAAoB,EAAuB;IAC5E,MAAMqE,GAAG,GAAG,EAAE;IACd,MAAMvF,IAAI,GAAGtC,SAAS,CAAC6D,WAAW,CAAC,CAAC,CAAC;;IAErC;IACA;IACAM,MAAM,CAACC,IAAI,CAACZ,YAAY,CAAC,CAACsE,OAAO,CAAC3F,GAAG,IAAI;MACrC,MAAMC,IAAI,GAAG,IAAI,CAACyE,iBAAiB,CAAC1E,GAAG,CAAC;MACxC,MAAM4F,aAAa,GAAG1F,QAAQ,CAACmB,YAAY,EAAErB,GAAG,EAAEC,IAAI,CAAC;MACvD,MAAM4F,IAAI,GAAG,IAAI7F,GAAG,EAAE;MAEtB,IAAIgC,MAAM,CAAC8D,SAAS,CAACC,cAAc,CAACC,IAAI,CAAC7F,IAAI,EAAEH,GAAG,CAAC,EAAE;QACjD,MAAMI,KAAK,GAAGF,QAAQ,CAACC,IAAI,EAAEH,GAAG,EAAEC,IAAI,CAAC;;QAEvC;QACA,IAAI,CAACrC,OAAO,CAACwC,KAAK,EAAEwF,aAAa,CAAC,EAAE;UAChC;UACAF,GAAG,CAACO,IAAI,CAAC;YACLC,EAAE,EAAE1G,kBAAkB;YACtBqG,IAAI;YACJzF,KAAK,EAAEwF;UACX,CAAC,CAAC;UACFF,GAAG,CAACO,IAAI,CAAC;YACLC,EAAE,EAAE3G,qBAAqB;YACzBsG,IAAI;YACJzF;UACJ,CAAC,CAAC;QACN;MACJ,CAAC,MAAM;QACH;QACA;QACAsF,GAAG,CAACO,IAAI,CAAC;UACLC,EAAE,EAAE1G,kBAAkB;UACtBqG,IAAI;UACJzF,KAAK,EAAEwF;QACX,CAAC,CAAC;QACFF,GAAG,CAACO,IAAI,CAAC;UAAEC,EAAE,EAAE7G,oBAAoB;UAAEwG;QAAK,CAAC,CAAC;MAChD;MACA,OAAO1F,IAAI,CAACH,GAAG,CAAC;IACpB,CAAC,CAAC;;IAEF;IACAgC,MAAM,CAACC,IAAI,CAAC9B,IAAI,CAAC,CAACwF,OAAO,CAAC3F,GAAG,IAAI;MAC7B,MAAMC,IAAI,GAAG,IAAI,CAACyE,iBAAiB,CAAC1E,GAAG,CAAC;MACxC,MAAMI,KAAK,GAAGF,QAAQ,CAACC,IAAI,EAAEH,GAAG,EAAEC,IAAI,CAAC;MAEvCyF,GAAG,CAACO,IAAI,CAAC;QACLC,EAAE,EAAE5G,iBAAiB;QACrBuG,IAAI,EAAE,IAAI7F,GAAG,EAAE;QACfI;MACJ,CAAC,CAAC;IACN,CAAC,CAAC;IAEF,OAAOsF,GAAG;EACd;;EAEA;AACJ;AACA;AACA;AACA;EACItD,OAAOA,CAAA,EAAY;IACf,MAAM;MAAEA,OAAO;MAAEvB,cAAc;MAAEK,QAAQ;MAAEM;IAAc,CAAC,GAAG,IAAI,CAACd,KAAK;IACvE,OACI0B,OAAO,IACP,OAAOlB,QAAQ,KAAK,UAAU,IAC9B,OAAOM,MAAM,KAAK,UAAU,IAC5B,OAAOX,cAAc,KAAK,UAAU;EAE5C;;EAEA;AACJ;AACA;AACA;AACA;EACII,SAASA,CAAA,EAAY;IACjB,MAAM;MAAEA;IAAiB,CAAC,GAAG,IAAI,CAACc,KAAK;IACvC,OAAO,IAAI,CAACK,OAAO,CAAC,CAAC,IAAInB,SAAS;EACtC;EA+BAkF,MAAMA,CAAA,EAAG;IACL,MAAM;MACFC,wBAAwB,GAAG,KAAK;MAChCC,qCAAqC,GAAG,KAAK;MAC7CjF,aAAa,GAAG,CAAC,CAAC;MAClBE,OAAO;MACPC,2BAA2B;MAC3B+E,MAAM;MACNpD;IACG,CAAC,GAAG,IAAI,CAACxC,KAAK;IACrB,MAAM;MAAEb,MAAM,GAAG;IAAG,CAAC,GAAGqD,QAAQ;IAChC,MAAM;MACF/C,IAAI;MACJwB,MAAM;MACNR,MAAM;MACNS,2BAA2B;MAC3BC,kBAAkB;MAClBb,mBAAmB;MACnB+B,wBAAwB;MACxBjB;IACG,CAAC,GAAG,IAAI,CAACC,KAAK;IACrB,MAAMqB,YAAY,GAAGF,QAAQ,CAACG,WAAW,KAAKnE,0BAA0B;IACxE,MAAM+B,SAAS,GAAG,IAAI,CAACA,SAAS,CAAC,CAAC;IAElC,IAAI,CAACiC,QAAQ,IAAIxD,QAAQ,CAACwD,QAAQ,CAAC,EAAE;MACjC,OAAO,IAAI;IACf;;IAEA;IACA,MAAMqD,iBAAiB,GAAG,CAAC1G,MAAM,CAACqC,MAAM,GAAG,CAAC,IAAI,EAAE;IAElD,MAAMsE,uBAAuB,GAAG,IAAI,CAAC5C,8BAA8B,CAAC,IAAI,CAAClD,KAAK,CAAC;IAE/E,oBACIlD,KAAA,CAAAoF,aAAA;MAAK6D,GAAG,EAAE,IAAI,CAACzB;IAAe,gBAC1BxH,KAAA,CAAAoF,aAAA,CAAC7E,WAAW;MACRwI,iBAAiB,EAAEA,iBAAkB;MACrCG,WAAW,EAAE;QACT,CAAC/G,gBAAgB,GAAG;MACxB,CAAE;MACFgH,eAAe;MACfC,iBAAiB,EAAE,IAAI,CAACC,gBAAgB,CAAC,CAAE;MAC3CC,UAAU;MACVR,MAAM,EAAEA,MAAO;MACfS,KAAK,EAAE,IAAI,CAAC3B,QAAQ,CAAC;IAAE,GAEtBpE,mBAAmB,iBAChBxD,KAAA,CAAAoF,aAAA,CAAC3E,uBAAuB;MAAC+I,SAAS,EAAE7F;IAAO,gBACvC3D,KAAA,CAAAoF,aAAA,CAAChE,6BAA6B;MAC1BqI,mBAAmB,EAAE,IAAI,CAAC1B,sBAAsB,CAAC,CAAE;MACnD2B,QAAQ,EAAE,IAAI,CAACC,eAAgB;MAC/BC,SAAS,EAAE,IAAI,CAAClG;IAAS,CAC5B,CACoB,CAC5B,EACA,CAACF,mBAAmB,iBACjBxD,KAAA,CAAAoF,aAAA,CAAC3E,uBAAuB;MAAC+I,SAAS,EAAE7F;IAAO,gBACvC3D,KAAA,CAAAoF,aAAA,CAAC5E,IAAI;MAACqJ,aAAa,EAAE/F,OAAO,GAAG,IAAI,CAACE,MAAM,GAAG1D;IAAK,gBAC9CN,KAAA,CAAAoF,aAAA;MAAK2B,SAAS,EAAC;IAAmC,GAC7ChD,2BAA2B,iBACxB/D,KAAA,CAAAoF,aAAA,CAACnE,aAAa;MACV2D,OAAO,EAAEnB,SAAS,IAAI,CAAC,CAACG,aAAa,CAACgB,OAAQ;MAC9CgE,wBAAwB,EAAEA,wBAAyB;MACnDC,qCAAqC,EACjCA,qCACH;MACDzE,2BAA2B,EAAEA,2BAA4B;MACzDC,kBAAkB,EAAEA,kBAAmB;MACvCC,sBAAsB,EAAEA,sBAAuB;MAC/CwF,gBAAgB,EAAElE,YAAa;MAC/BoD,uBAAuB,EAAEA,uBAAwB;MACjDe,eAAe,EAAE,IAAI,CAACA,eAAgB;MACtCC,0BAA0B,EAAE,IAAI,CAACA,0BAA2B;MAC5DC,mBAAmB,EAAE,IAAI,CAACA,mBAAoB;MAC9CC,eAAe,EAAE,IAAI,CAACA,eAAgB;MACtC3E,wBAAwB,EAAEA;IAAyB,CACtD,CACJ,EACAK,YAAY,gBACT5F,KAAA,CAAAoF,aAAA,CAACjE,cAAc;MACXyD,OAAO,EAAEnB,SAAU;MACnBd,IAAI,EAAEA,IAAK;MACXwH,aAAa,EAAE,IAAI,CAACA,aAAc;MAClCC,aAAa,EAAE,IAAI,CAACA;IAAc,CACrC,CAAC,gBAEFpK,KAAA,CAAAoF,aAAA,CAAClE,iBAAiB;MACd0D,OAAO,EAAEnB,SAAU;MACnBd,IAAI,EAAEA,IAAK;MACXwB,MAAM,EAAEA,MAAO;MACfkG,UAAU,EAAEjG,2BAA4B;MACxC+F,aAAa,EAAE,IAAI,CAACA,aAAc;MAClCC,aAAa,EAAE,IAAI,CAACA,aAAc;MAClC1E,QAAQ,EAAEA;IAAS,CACtB,CAEJ,CAAC,EACLjC,SAAS,iBACNzD,KAAA,CAAAoF,aAAA,CAAC/D,MAAM;MACHqI,QAAQ,EAAE,IAAI,CAACA,QAAS;MACxBhG,QAAQ,EAAE,IAAI,CAAC4G,eAAgB;MAC/BC,QAAQ,EAAEzG;IAAQ,CACrB,CAEH,CACe,CAEpB,CACZ,CAAC;EAEd;AACJ;AAACX,eAAA,CAjoBKJ,QAAQ,kBACY;EAClBJ,IAAI,EAAE,CAAC,CAAC;EACRmB,OAAO,EAAE;AACb,CAAC;AA+nBL,SAASf,QAAQ,IAAIyH,YAAY;AACjC,eAAevK,UAAU,CAAC8C,QAAQ,CAAC","ignoreList":[]}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
const CASCADE_POLICY_TYPE_AI_EXTRACT = 'ai_extract';
|
|
2
2
|
const TEMPLATE_CUSTOM_PROPERTIES = 'properties';
|
|
3
|
-
|
|
3
|
+
const ENHANCED_AGENT_CONFIGURATION = 'enhanced_extract_agent';
|
|
4
|
+
const STANDARD_AGENT_ID = '1';
|
|
5
|
+
const ENHANCED_AGENT_ID = '2';
|
|
6
|
+
export { CASCADE_POLICY_TYPE_AI_EXTRACT, TEMPLATE_CUSTOM_PROPERTIES, ENHANCED_AGENT_CONFIGURATION, STANDARD_AGENT_ID, ENHANCED_AGENT_ID };
|
|
4
7
|
//# sourceMappingURL=constants.js.map
|
|
@@ -2,5 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
const CASCADE_POLICY_TYPE_AI_EXTRACT = 'ai_extract';
|
|
4
4
|
const TEMPLATE_CUSTOM_PROPERTIES: 'properties' = 'properties';
|
|
5
|
+
const ENHANCED_AGENT_CONFIGURATION = 'enhanced_extract_agent';
|
|
6
|
+
const STANDARD_AGENT_ID = '1';
|
|
7
|
+
const ENHANCED_AGENT_ID = '2';
|
|
5
8
|
|
|
6
|
-
export {
|
|
9
|
+
export {
|
|
10
|
+
CASCADE_POLICY_TYPE_AI_EXTRACT,
|
|
11
|
+
TEMPLATE_CUSTOM_PROPERTIES,
|
|
12
|
+
ENHANCED_AGENT_CONFIGURATION,
|
|
13
|
+
STANDARD_AGENT_ID,
|
|
14
|
+
ENHANCED_AGENT_ID,
|
|
15
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","names":["CASCADE_POLICY_TYPE_AI_EXTRACT","TEMPLATE_CUSTOM_PROPERTIES"],"sources":["../../../src/features/metadata-instance-editor/constants.js"],"sourcesContent":["// @flow\n\nconst CASCADE_POLICY_TYPE_AI_EXTRACT = 'ai_extract';\nconst TEMPLATE_CUSTOM_PROPERTIES: 'properties' = 'properties';\n\nexport {
|
|
1
|
+
{"version":3,"file":"constants.js","names":["CASCADE_POLICY_TYPE_AI_EXTRACT","TEMPLATE_CUSTOM_PROPERTIES","ENHANCED_AGENT_CONFIGURATION","STANDARD_AGENT_ID","ENHANCED_AGENT_ID"],"sources":["../../../src/features/metadata-instance-editor/constants.js"],"sourcesContent":["// @flow\n\nconst CASCADE_POLICY_TYPE_AI_EXTRACT = 'ai_extract';\nconst TEMPLATE_CUSTOM_PROPERTIES: 'properties' = 'properties';\nconst ENHANCED_AGENT_CONFIGURATION = 'enhanced_extract_agent';\nconst STANDARD_AGENT_ID = '1';\nconst ENHANCED_AGENT_ID = '2';\n\nexport {\n CASCADE_POLICY_TYPE_AI_EXTRACT,\n TEMPLATE_CUSTOM_PROPERTIES,\n ENHANCED_AGENT_CONFIGURATION,\n STANDARD_AGENT_ID,\n ENHANCED_AGENT_ID,\n};\n"],"mappings":"AAEA,MAAMA,8BAA8B,GAAG,YAAY;AACnD,MAAMC,0BAAwC,GAAG,YAAY;AAC7D,MAAMC,4BAA4B,GAAG,wBAAwB;AAC7D,MAAMC,iBAAiB,GAAG,GAAG;AAC7B,MAAMC,iBAAiB,GAAG,GAAG;AAE7B,SACIJ,8BAA8B,EAC9BC,0BAA0B,EAC1BC,4BAA4B,EAC5BC,iBAAiB,EACjBC,iBAAiB","ignoreList":[]}
|
|
@@ -183,6 +183,14 @@ const messages = defineMessages({
|
|
|
183
183
|
operationNotImmediate: {
|
|
184
184
|
"id": "boxui.metadataInstanceEditor.operationNotImmediate",
|
|
185
185
|
"defaultMessage": "This operation is not immediate and may take some time."
|
|
186
|
+
},
|
|
187
|
+
standardAgentName: {
|
|
188
|
+
"id": "boxui.metadataInstanceEditor.standardAgentName",
|
|
189
|
+
"defaultMessage": "Standard"
|
|
190
|
+
},
|
|
191
|
+
enhancedAgentName: {
|
|
192
|
+
"id": "boxui.metadataInstanceEditor.enhancedAgentName",
|
|
193
|
+
"defaultMessage": "Enhanced"
|
|
186
194
|
}
|
|
187
195
|
});
|
|
188
196
|
export default messages;
|
|
@@ -246,6 +246,16 @@ const messages = defineMessages({
|
|
|
246
246
|
'Informational text below cascade policy description and explains to the user that the policy will take some time to take effect.',
|
|
247
247
|
id: 'boxui.metadataInstanceEditor.operationNotImmediate',
|
|
248
248
|
},
|
|
249
|
+
standardAgentName: {
|
|
250
|
+
defaultMessage: 'Standard',
|
|
251
|
+
description: 'Name of the standard AI agent',
|
|
252
|
+
id: 'boxui.metadataInstanceEditor.standardAgentName',
|
|
253
|
+
},
|
|
254
|
+
enhancedAgentName: {
|
|
255
|
+
defaultMessage: 'Enhanced',
|
|
256
|
+
description: 'Name of the enhanced AI agent',
|
|
257
|
+
id: 'boxui.metadataInstanceEditor.enhancedAgentName',
|
|
258
|
+
},
|
|
249
259
|
});
|
|
250
260
|
|
|
251
261
|
export default messages;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messages.js","names":["defineMessages","messages","customTitle","customAdd","customRemove","customKey","customKeyPlaceholder","customValue","customValuePlaceholder","customNewField","customNewFieldMessage","customErrorRequired","customErrorDuplicateKey","customErrorInternalKey","invalidInput","metadataEditTooltip","metadataRemoveTemplate","fileMetadataRemoveTemplateConfirm","folderMetadataRemoveTemplateConfirm","fileMetadataRemoveCustomTemplateConfirm","folderMetadataRemoveCustomTemplateConfirm","metadataTemplateSearchPlaceholder","metadataTemplateAdd","metadataTemplatesTitle","metadataTemplatesNoResults","metadataTemplatesFetchFailed","metadataTemplatesNoRemainingTemplates","metadataTemplatesServerHasNoTemplates","metadataSave","metadataCancel","metadataCascadePolicyEnabledInfo","noMetadata","noMetadataAddTemplate","enableCascadePolicy","enableAIAutofill","aiAutofillDescription","aiAutofillLearnMore","applyCascadePolicyText","cannotApplyCascadePolicyText","cascadePolicyLearnMore","cascadePolicyModeQuestion","cascadePolicyOptionsDisabledNotice","cascadePolicyOptionsDisabledNoticeIconAriaLabel","cascadePolicySkipMode","cascadePolicyOverwriteMode","allAttributesAreHidden","noAttributesForTemplate","operationNotImmediate"],"sources":["../../../src/features/metadata-instance-editor/messages.js"],"sourcesContent":["import { defineMessages } from 'react-intl';\n\nconst messages = defineMessages({\n customTitle: {\n defaultMessage: 'Custom Metadata',\n description: 'title of the custom metadata card',\n id: 'boxui.metadataInstanceEditor.customTitle',\n },\n customAdd: {\n defaultMessage: 'Add',\n description: 'Label for the add button for custom metadata',\n id: 'boxui.metadataInstanceEditor.customAdd',\n },\n customRemove: {\n defaultMessage: 'Remove',\n description: 'Label for the remove button for custom metadata',\n id: 'boxui.metadataInstanceEditor.customRemove',\n },\n customKey: {\n defaultMessage: 'Key',\n description: 'Label for the key field for custom metadata',\n id: 'boxui.metadataInstanceEditor.customKey',\n },\n customKeyPlaceholder: {\n defaultMessage: 'e.g. Order Number',\n description: 'Placeholder for the key field for custom metadata',\n id: 'boxui.metadataInstanceEditor.customKeyPlaceholder',\n },\n customValue: {\n defaultMessage: 'Value',\n description: 'Label for the value field for custom metadata',\n id: 'boxui.metadataInstanceEditor.customValue',\n },\n customValuePlaceholder: {\n defaultMessage: 'e.g. 42',\n description: 'Placeholder for the value field for custom metadata',\n id: 'boxui.metadataInstanceEditor.customValuePlaceholder',\n },\n customNewField: {\n defaultMessage: 'New Field',\n description: 'Title for the new field section for custom metadata',\n id: 'boxui.metadataInstanceEditor.customNewField',\n },\n customNewFieldMessage: {\n defaultMessage: 'Add a custom metadata field. Other people will be able to see and search for this field.',\n description: 'Description for the new field section for custom metadata',\n id: 'boxui.metadataInstanceEditor.customNewFieldMessage',\n },\n customErrorRequired: {\n defaultMessage: 'A key is required.',\n description: 'Error enforcing required key for custom metadata',\n id: 'boxui.metadataInstanceEditor.customErrorRequired',\n },\n customErrorDuplicateKey: {\n defaultMessage: 'A field with that key already exists.',\n description: 'Error enforcing unique key for custom metadata',\n id: 'boxui.metadataInstanceEditor.customErrorDuplicateKey',\n },\n customErrorInternalKey: {\n defaultMessage: 'Keys cannot begin with a $.',\n description: 'Error enforcing non internal key for custom metadata',\n id: 'boxui.metadataInstanceEditor.customErrorInternalKey',\n },\n invalidInput: {\n defaultMessage: 'Invalid Input!',\n description: 'Error message displayed if the user enters a badly formatted value in metadata text box',\n id: 'boxui.metadataInstanceEditor.invalidValue',\n },\n metadataEditTooltip: {\n defaultMessage: 'Edit Metadata',\n description: 'Text that shows in a tooltip above the edit pencil button.',\n id: 'boxui.metadataInstanceEditor.editTooltip',\n },\n metadataRemoveTemplate: {\n defaultMessage: 'Remove',\n description: 'Label to remove a template',\n id: 'boxui.metadataInstanceEditor.removeTemplate',\n },\n fileMetadataRemoveTemplateConfirm: {\n defaultMessage: 'Are you sure you want to delete \"{metadataName}\" and all of its values from this file?',\n description:\n 'Message for users who may attempt to remove a metadata instance for a file, which is non-recoverable',\n id: 'boxui.metadataInstanceEditor.fileMetadataRemoveTemplateConfirm',\n },\n folderMetadataRemoveTemplateConfirm: {\n defaultMessage:\n 'Are you sure you want to delete \"{metadataName}\" and all of its values? Any metadata template values already applied to files in this folder will not be deleted.',\n description:\n 'Message for users who may attempt to remove a metadata instance for a folder, which is non-recoverable',\n id: 'boxui.metadataInstanceEditor.folderMetadataRemoveTemplateConfirm',\n },\n fileMetadataRemoveCustomTemplateConfirm: {\n defaultMessage: 'Are you sure you want to delete this custom metadata and all of its values from this file?',\n description:\n 'Message for users who may attempt to remove a custom metadata instance for a file. Also non-recoverable',\n id: 'boxui.metadataInstanceEditor.fileMetadataRemoveCustomTemplateConfirm',\n },\n folderMetadataRemoveCustomTemplateConfirm: {\n defaultMessage:\n 'Are you sure you want to delete this custom metadata and all of its values? Any metadata template values already applied to files in this folder will not be deleted.',\n description:\n 'Message for users who may attempt to remove a custom metadata instance for a folder. Also non-recoverable',\n id: 'boxui.metadataInstanceEditor.folderMetadataRemoveCustomTemplateConfirm',\n },\n metadataTemplateSearchPlaceholder: {\n defaultMessage: 'Search all templates',\n description: 'Placeholder to search for all templates',\n id: 'boxui.metadataInstanceEditor.templateSearchPlaceholder',\n },\n metadataTemplateAdd: {\n defaultMessage: 'Add',\n description: 'Label to add a template',\n id: 'boxui.metadataInstanceEditor.templateAdd',\n },\n metadataTemplatesTitle: {\n defaultMessage: 'Templates',\n description: 'Overall title of metadata',\n id: 'boxui.metadataInstanceEditor.templatesTitle',\n },\n metadataTemplatesNoResults: {\n defaultMessage: 'No Results',\n description: 'Text to indicate no templates found by searching',\n id: 'boxui.metadataInstanceEditor.templatesNoResults',\n },\n metadataTemplatesFetchFailed: {\n defaultMessage: 'Sorry! We could not fetch templates. Please contact your administrator',\n description: 'Text to indicate that we failed to fetch templates',\n id: 'boxui.metadataInstanceEditor.templatesFetchFailed',\n },\n metadataTemplatesNoRemainingTemplates: {\n defaultMessage: 'All templates have been added',\n description: 'Text to indicate that all the templates have been added',\n id: 'boxui.metadataInstanceEditor.templatesNoRemainingTemplates',\n },\n metadataTemplatesServerHasNoTemplates: {\n defaultMessage: 'Zero templates',\n description: 'Text to indicate that the server has no templates',\n id: 'boxui.metadataInstanceEditor.templatesServerHasNoTemplates',\n },\n metadataSave: {\n defaultMessage: 'Save',\n description: 'Label for save button',\n id: 'boxui.metadataInstanceEditor.metadataSave',\n },\n metadataCancel: {\n defaultMessage: 'Cancel',\n description: 'Label for cancel button',\n id: 'boxui.metadataInstanceEditor.metadataCancel',\n },\n metadataCascadePolicyEnabledInfo: {\n defaultMessage:\n 'This template and its values are being cascaded to all items in this folder and its subfolders.',\n description: 'Informational text shown in metadata modal when cascading is turned on for current folder',\n id: 'boxui.metadataInstanceEditor.metadataCascadePolicyEnabledInfo',\n },\n noMetadata: {\n defaultMessage: 'No Metadata Applied',\n description: 'Text to display when no metadata is applied to folder',\n id: 'boxui.metadataInstanceEditor.noMetadata',\n },\n noMetadataAddTemplate: {\n defaultMessage: \"Click 'Add' in the top right to add metadata to this item\",\n description: 'Instructions to create metadata for the selected folder',\n id: 'boxui.metadataInstanceEditor.noMetadataAddTemplate',\n },\n enableCascadePolicy: {\n defaultMessage: 'Enable Cascade Policy',\n description: 'Label for enable cascade policy toggle switch',\n id: 'boxui.metadataInstanceEditor.enableCascadePolicy',\n },\n enableAIAutofill: {\n defaultMessage: 'Box AI Autofill',\n description: 'Label for enable AI autofill toggle switch',\n id: 'boxui.metadataInstanceEditor.enableAIAutofill',\n },\n aiAutofillDescription: {\n defaultMessage: 'Use Box AI to automatically extract metadata values.',\n description: 'Description for AI autofill toggle switch',\n id: 'boxui.metadataInstanceEditor.aiAutofillDescription',\n },\n aiAutofillLearnMore: {\n defaultMessage: 'Learn more',\n description: 'Learn more link for AI autofill',\n id: 'boxui.metadataInstanceEditor.aiAutofillLearnMore',\n },\n applyCascadePolicyText: {\n defaultMessage:\n 'Apply template and its values to all new and existing items in this folder and its subfolders.',\n description: 'Informational text below enable cascade policy toggle switch',\n id: 'boxui.metadataInstanceEditor.applyCascadePolicyText',\n },\n cannotApplyCascadePolicyText: {\n defaultMessage: 'Cascade policy cannot be applied to custom metadata at this time.',\n description:\n 'Informational text below enable cascade policy toggle switch indicating that cascade policy cannot be applied',\n id: 'boxui.metadataInstanceEditor.cannotApplyCascadePolicyText',\n },\n cascadePolicyLearnMore: {\n defaultMessage: 'Learn more',\n description: 'Tooltip text a user can use to learn more about cascading metadata policy',\n id: 'boxui.metadataInstanceEditor.cascadePolicyLearnMore',\n },\n cascadePolicyModeQuestion: {\n defaultMessage:\n 'In the case of conflicts when applying this template and its values to existing items, what would you like to do? This is a one time action.',\n description:\n 'Tooltip text that asks the user what they want to do when applying cascading to their metadata policy',\n id: 'boxui.metadataInstanceEditor.cascadePolicyModeQuestion',\n },\n cascadePolicyOptionsDisabledNotice: {\n defaultMessage:\n 'This cascade policy cannot be edited. To modify it, deactivate the current policy and then re-enable it to set up a new one.',\n description: 'Notice that explains that the cascade policy cannot be edited',\n id: 'boxui.metadataInstanceEditor.cascadePolicyOptionsDisabledNotice',\n },\n cascadePolicyOptionsDisabledNoticeIconAriaLabel: {\n defaultMessage: 'Disabled cascade options information',\n description: 'Aria label for the disabled cascade options information icon',\n id: 'boxui.metadataInstanceEditor.cascadePolicyOptionsDisabledNoticeIconAriaLabel',\n },\n cascadePolicySkipMode: {\n defaultMessage: 'Skip and keep all existing template values',\n description: 'Label for radio button that selects skip mode for cascading policy',\n id: 'boxui.metadataInstanceEditor.cascadePolicySkipMode',\n },\n cascadePolicyOverwriteMode: {\n defaultMessage: 'Overwrite all existing template values',\n description: 'Label for radio button that selects overwrite mode for cascading policy',\n id: 'boxui.metadataInstanceEditor.cascadePolicyOverwriteMode',\n },\n allAttributesAreHidden: {\n defaultMessage: 'All attributes in this template have been hidden.',\n description:\n 'Informational text below collapsible header indicating that all fields for this template are hidden',\n id: 'boxui.metadataInstanceEditor.allAttributesAreHidden',\n },\n noAttributesForTemplate: {\n defaultMessage: 'There are no attributes in this template.',\n description:\n 'Informational text below collapsible header indicating that there are no attributes for this template',\n id: 'boxui.metadataInstanceEditor.noAttributesForTemplate',\n },\n operationNotImmediate: {\n defaultMessage: 'This operation is not immediate and may take some time.',\n description:\n 'Informational text below cascade policy description and explains to the user that the policy will take some time to take effect.',\n id: 'boxui.metadataInstanceEditor.operationNotImmediate',\n },\n});\n\nexport default messages;\n"],"mappings":"AAAA,SAASA,cAAc,QAAQ,YAAY;AAE3C,MAAMC,QAAQ,GAAGD,cAAc,CAAC;EAC5BE,WAAW;IAAA;IAAA;EAAA,CAIV;EACDC,SAAS;IAAA;IAAA;EAAA,CAIR;EACDC,YAAY;IAAA;IAAA;EAAA,CAIX;EACDC,SAAS;IAAA;IAAA;EAAA,CAIR;EACDC,oBAAoB;IAAA;IAAA;EAAA,CAInB;EACDC,WAAW;IAAA;IAAA;EAAA,CAIV;EACDC,sBAAsB;IAAA;IAAA;EAAA,CAIrB;EACDC,cAAc;IAAA;IAAA;EAAA,CAIb;EACDC,qBAAqB;IAAA;IAAA;EAAA,CAIpB;EACDC,mBAAmB;IAAA;IAAA;EAAA,CAIlB;EACDC,uBAAuB;IAAA;IAAA;EAAA,CAItB;EACDC,sBAAsB;IAAA;IAAA;EAAA,CAIrB;EACDC,YAAY;IAAA;IAAA;EAAA,CAIX;EACDC,mBAAmB;IAAA;IAAA;EAAA,CAIlB;EACDC,sBAAsB;IAAA;IAAA;EAAA,CAIrB;EACDC,iCAAiC;IAAA;IAAA;EAAA,CAKhC;EACDC,mCAAmC;IAAA;IAAA;EAAA,CAMlC;EACDC,uCAAuC;IAAA;IAAA;EAAA,CAKtC;EACDC,yCAAyC;IAAA;IAAA;EAAA,CAMxC;EACDC,iCAAiC;IAAA;IAAA;EAAA,CAIhC;EACDC,mBAAmB;IAAA;IAAA;EAAA,CAIlB;EACDC,sBAAsB;IAAA;IAAA;EAAA,CAIrB;EACDC,0BAA0B;IAAA;IAAA;EAAA,CAIzB;EACDC,4BAA4B;IAAA;IAAA;EAAA,CAI3B;EACDC,qCAAqC;IAAA;IAAA;EAAA,CAIpC;EACDC,qCAAqC;IAAA;IAAA;EAAA,CAIpC;EACDC,YAAY;IAAA;IAAA;EAAA,CAIX;EACDC,cAAc;IAAA;IAAA;EAAA,CAIb;EACDC,gCAAgC;IAAA;IAAA;EAAA,CAK/B;EACDC,UAAU;IAAA;IAAA;EAAA,CAIT;EACDC,qBAAqB;IAAA;IAAA;EAAA,CAIpB;EACDC,mBAAmB;IAAA;IAAA;EAAA,CAIlB;EACDC,gBAAgB;IAAA;IAAA;EAAA,CAIf;EACDC,qBAAqB;IAAA;IAAA;EAAA,CAIpB;EACDC,mBAAmB;IAAA;IAAA;EAAA,CAIlB;EACDC,sBAAsB;IAAA;IAAA;EAAA,CAKrB;EACDC,4BAA4B;IAAA;IAAA;EAAA,CAK3B;EACDC,sBAAsB;IAAA;IAAA;EAAA,CAIrB;EACDC,yBAAyB;IAAA;IAAA;EAAA,CAMxB;EACDC,kCAAkC;IAAA;IAAA;EAAA,CAKjC;EACDC,+CAA+C;IAAA;IAAA;EAAA,CAI9C;EACDC,qBAAqB;IAAA;IAAA;EAAA,CAIpB;EACDC,0BAA0B;IAAA;IAAA;EAAA,CAIzB;EACDC,sBAAsB;IAAA;IAAA;EAAA,CAKrB;EACDC,uBAAuB;IAAA;IAAA;EAAA,CAKtB;EACDC,qBAAqB;IAAA;IAAA;EAAA;AAMzB,CAAC,CAAC;AAEF,eAAe9C,QAAQ","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"messages.js","names":["defineMessages","messages","customTitle","customAdd","customRemove","customKey","customKeyPlaceholder","customValue","customValuePlaceholder","customNewField","customNewFieldMessage","customErrorRequired","customErrorDuplicateKey","customErrorInternalKey","invalidInput","metadataEditTooltip","metadataRemoveTemplate","fileMetadataRemoveTemplateConfirm","folderMetadataRemoveTemplateConfirm","fileMetadataRemoveCustomTemplateConfirm","folderMetadataRemoveCustomTemplateConfirm","metadataTemplateSearchPlaceholder","metadataTemplateAdd","metadataTemplatesTitle","metadataTemplatesNoResults","metadataTemplatesFetchFailed","metadataTemplatesNoRemainingTemplates","metadataTemplatesServerHasNoTemplates","metadataSave","metadataCancel","metadataCascadePolicyEnabledInfo","noMetadata","noMetadataAddTemplate","enableCascadePolicy","enableAIAutofill","aiAutofillDescription","aiAutofillLearnMore","applyCascadePolicyText","cannotApplyCascadePolicyText","cascadePolicyLearnMore","cascadePolicyModeQuestion","cascadePolicyOptionsDisabledNotice","cascadePolicyOptionsDisabledNoticeIconAriaLabel","cascadePolicySkipMode","cascadePolicyOverwriteMode","allAttributesAreHidden","noAttributesForTemplate","operationNotImmediate","standardAgentName","enhancedAgentName"],"sources":["../../../src/features/metadata-instance-editor/messages.js"],"sourcesContent":["import { defineMessages } from 'react-intl';\n\nconst messages = defineMessages({\n customTitle: {\n defaultMessage: 'Custom Metadata',\n description: 'title of the custom metadata card',\n id: 'boxui.metadataInstanceEditor.customTitle',\n },\n customAdd: {\n defaultMessage: 'Add',\n description: 'Label for the add button for custom metadata',\n id: 'boxui.metadataInstanceEditor.customAdd',\n },\n customRemove: {\n defaultMessage: 'Remove',\n description: 'Label for the remove button for custom metadata',\n id: 'boxui.metadataInstanceEditor.customRemove',\n },\n customKey: {\n defaultMessage: 'Key',\n description: 'Label for the key field for custom metadata',\n id: 'boxui.metadataInstanceEditor.customKey',\n },\n customKeyPlaceholder: {\n defaultMessage: 'e.g. Order Number',\n description: 'Placeholder for the key field for custom metadata',\n id: 'boxui.metadataInstanceEditor.customKeyPlaceholder',\n },\n customValue: {\n defaultMessage: 'Value',\n description: 'Label for the value field for custom metadata',\n id: 'boxui.metadataInstanceEditor.customValue',\n },\n customValuePlaceholder: {\n defaultMessage: 'e.g. 42',\n description: 'Placeholder for the value field for custom metadata',\n id: 'boxui.metadataInstanceEditor.customValuePlaceholder',\n },\n customNewField: {\n defaultMessage: 'New Field',\n description: 'Title for the new field section for custom metadata',\n id: 'boxui.metadataInstanceEditor.customNewField',\n },\n customNewFieldMessage: {\n defaultMessage: 'Add a custom metadata field. Other people will be able to see and search for this field.',\n description: 'Description for the new field section for custom metadata',\n id: 'boxui.metadataInstanceEditor.customNewFieldMessage',\n },\n customErrorRequired: {\n defaultMessage: 'A key is required.',\n description: 'Error enforcing required key for custom metadata',\n id: 'boxui.metadataInstanceEditor.customErrorRequired',\n },\n customErrorDuplicateKey: {\n defaultMessage: 'A field with that key already exists.',\n description: 'Error enforcing unique key for custom metadata',\n id: 'boxui.metadataInstanceEditor.customErrorDuplicateKey',\n },\n customErrorInternalKey: {\n defaultMessage: 'Keys cannot begin with a $.',\n description: 'Error enforcing non internal key for custom metadata',\n id: 'boxui.metadataInstanceEditor.customErrorInternalKey',\n },\n invalidInput: {\n defaultMessage: 'Invalid Input!',\n description: 'Error message displayed if the user enters a badly formatted value in metadata text box',\n id: 'boxui.metadataInstanceEditor.invalidValue',\n },\n metadataEditTooltip: {\n defaultMessage: 'Edit Metadata',\n description: 'Text that shows in a tooltip above the edit pencil button.',\n id: 'boxui.metadataInstanceEditor.editTooltip',\n },\n metadataRemoveTemplate: {\n defaultMessage: 'Remove',\n description: 'Label to remove a template',\n id: 'boxui.metadataInstanceEditor.removeTemplate',\n },\n fileMetadataRemoveTemplateConfirm: {\n defaultMessage: 'Are you sure you want to delete \"{metadataName}\" and all of its values from this file?',\n description:\n 'Message for users who may attempt to remove a metadata instance for a file, which is non-recoverable',\n id: 'boxui.metadataInstanceEditor.fileMetadataRemoveTemplateConfirm',\n },\n folderMetadataRemoveTemplateConfirm: {\n defaultMessage:\n 'Are you sure you want to delete \"{metadataName}\" and all of its values? Any metadata template values already applied to files in this folder will not be deleted.',\n description:\n 'Message for users who may attempt to remove a metadata instance for a folder, which is non-recoverable',\n id: 'boxui.metadataInstanceEditor.folderMetadataRemoveTemplateConfirm',\n },\n fileMetadataRemoveCustomTemplateConfirm: {\n defaultMessage: 'Are you sure you want to delete this custom metadata and all of its values from this file?',\n description:\n 'Message for users who may attempt to remove a custom metadata instance for a file. Also non-recoverable',\n id: 'boxui.metadataInstanceEditor.fileMetadataRemoveCustomTemplateConfirm',\n },\n folderMetadataRemoveCustomTemplateConfirm: {\n defaultMessage:\n 'Are you sure you want to delete this custom metadata and all of its values? Any metadata template values already applied to files in this folder will not be deleted.',\n description:\n 'Message for users who may attempt to remove a custom metadata instance for a folder. Also non-recoverable',\n id: 'boxui.metadataInstanceEditor.folderMetadataRemoveCustomTemplateConfirm',\n },\n metadataTemplateSearchPlaceholder: {\n defaultMessage: 'Search all templates',\n description: 'Placeholder to search for all templates',\n id: 'boxui.metadataInstanceEditor.templateSearchPlaceholder',\n },\n metadataTemplateAdd: {\n defaultMessage: 'Add',\n description: 'Label to add a template',\n id: 'boxui.metadataInstanceEditor.templateAdd',\n },\n metadataTemplatesTitle: {\n defaultMessage: 'Templates',\n description: 'Overall title of metadata',\n id: 'boxui.metadataInstanceEditor.templatesTitle',\n },\n metadataTemplatesNoResults: {\n defaultMessage: 'No Results',\n description: 'Text to indicate no templates found by searching',\n id: 'boxui.metadataInstanceEditor.templatesNoResults',\n },\n metadataTemplatesFetchFailed: {\n defaultMessage: 'Sorry! We could not fetch templates. Please contact your administrator',\n description: 'Text to indicate that we failed to fetch templates',\n id: 'boxui.metadataInstanceEditor.templatesFetchFailed',\n },\n metadataTemplatesNoRemainingTemplates: {\n defaultMessage: 'All templates have been added',\n description: 'Text to indicate that all the templates have been added',\n id: 'boxui.metadataInstanceEditor.templatesNoRemainingTemplates',\n },\n metadataTemplatesServerHasNoTemplates: {\n defaultMessage: 'Zero templates',\n description: 'Text to indicate that the server has no templates',\n id: 'boxui.metadataInstanceEditor.templatesServerHasNoTemplates',\n },\n metadataSave: {\n defaultMessage: 'Save',\n description: 'Label for save button',\n id: 'boxui.metadataInstanceEditor.metadataSave',\n },\n metadataCancel: {\n defaultMessage: 'Cancel',\n description: 'Label for cancel button',\n id: 'boxui.metadataInstanceEditor.metadataCancel',\n },\n metadataCascadePolicyEnabledInfo: {\n defaultMessage:\n 'This template and its values are being cascaded to all items in this folder and its subfolders.',\n description: 'Informational text shown in metadata modal when cascading is turned on for current folder',\n id: 'boxui.metadataInstanceEditor.metadataCascadePolicyEnabledInfo',\n },\n noMetadata: {\n defaultMessage: 'No Metadata Applied',\n description: 'Text to display when no metadata is applied to folder',\n id: 'boxui.metadataInstanceEditor.noMetadata',\n },\n noMetadataAddTemplate: {\n defaultMessage: \"Click 'Add' in the top right to add metadata to this item\",\n description: 'Instructions to create metadata for the selected folder',\n id: 'boxui.metadataInstanceEditor.noMetadataAddTemplate',\n },\n enableCascadePolicy: {\n defaultMessage: 'Enable Cascade Policy',\n description: 'Label for enable cascade policy toggle switch',\n id: 'boxui.metadataInstanceEditor.enableCascadePolicy',\n },\n enableAIAutofill: {\n defaultMessage: 'Box AI Autofill',\n description: 'Label for enable AI autofill toggle switch',\n id: 'boxui.metadataInstanceEditor.enableAIAutofill',\n },\n aiAutofillDescription: {\n defaultMessage: 'Use Box AI to automatically extract metadata values.',\n description: 'Description for AI autofill toggle switch',\n id: 'boxui.metadataInstanceEditor.aiAutofillDescription',\n },\n aiAutofillLearnMore: {\n defaultMessage: 'Learn more',\n description: 'Learn more link for AI autofill',\n id: 'boxui.metadataInstanceEditor.aiAutofillLearnMore',\n },\n applyCascadePolicyText: {\n defaultMessage:\n 'Apply template and its values to all new and existing items in this folder and its subfolders.',\n description: 'Informational text below enable cascade policy toggle switch',\n id: 'boxui.metadataInstanceEditor.applyCascadePolicyText',\n },\n cannotApplyCascadePolicyText: {\n defaultMessage: 'Cascade policy cannot be applied to custom metadata at this time.',\n description:\n 'Informational text below enable cascade policy toggle switch indicating that cascade policy cannot be applied',\n id: 'boxui.metadataInstanceEditor.cannotApplyCascadePolicyText',\n },\n cascadePolicyLearnMore: {\n defaultMessage: 'Learn more',\n description: 'Tooltip text a user can use to learn more about cascading metadata policy',\n id: 'boxui.metadataInstanceEditor.cascadePolicyLearnMore',\n },\n cascadePolicyModeQuestion: {\n defaultMessage:\n 'In the case of conflicts when applying this template and its values to existing items, what would you like to do? This is a one time action.',\n description:\n 'Tooltip text that asks the user what they want to do when applying cascading to their metadata policy',\n id: 'boxui.metadataInstanceEditor.cascadePolicyModeQuestion',\n },\n cascadePolicyOptionsDisabledNotice: {\n defaultMessage:\n 'This cascade policy cannot be edited. To modify it, deactivate the current policy and then re-enable it to set up a new one.',\n description: 'Notice that explains that the cascade policy cannot be edited',\n id: 'boxui.metadataInstanceEditor.cascadePolicyOptionsDisabledNotice',\n },\n cascadePolicyOptionsDisabledNoticeIconAriaLabel: {\n defaultMessage: 'Disabled cascade options information',\n description: 'Aria label for the disabled cascade options information icon',\n id: 'boxui.metadataInstanceEditor.cascadePolicyOptionsDisabledNoticeIconAriaLabel',\n },\n cascadePolicySkipMode: {\n defaultMessage: 'Skip and keep all existing template values',\n description: 'Label for radio button that selects skip mode for cascading policy',\n id: 'boxui.metadataInstanceEditor.cascadePolicySkipMode',\n },\n cascadePolicyOverwriteMode: {\n defaultMessage: 'Overwrite all existing template values',\n description: 'Label for radio button that selects overwrite mode for cascading policy',\n id: 'boxui.metadataInstanceEditor.cascadePolicyOverwriteMode',\n },\n allAttributesAreHidden: {\n defaultMessage: 'All attributes in this template have been hidden.',\n description:\n 'Informational text below collapsible header indicating that all fields for this template are hidden',\n id: 'boxui.metadataInstanceEditor.allAttributesAreHidden',\n },\n noAttributesForTemplate: {\n defaultMessage: 'There are no attributes in this template.',\n description:\n 'Informational text below collapsible header indicating that there are no attributes for this template',\n id: 'boxui.metadataInstanceEditor.noAttributesForTemplate',\n },\n operationNotImmediate: {\n defaultMessage: 'This operation is not immediate and may take some time.',\n description:\n 'Informational text below cascade policy description and explains to the user that the policy will take some time to take effect.',\n id: 'boxui.metadataInstanceEditor.operationNotImmediate',\n },\n standardAgentName: {\n defaultMessage: 'Standard',\n description: 'Name of the standard AI agent',\n id: 'boxui.metadataInstanceEditor.standardAgentName',\n },\n enhancedAgentName: {\n defaultMessage: 'Enhanced',\n description: 'Name of the enhanced AI agent',\n id: 'boxui.metadataInstanceEditor.enhancedAgentName',\n },\n});\n\nexport default messages;\n"],"mappings":"AAAA,SAASA,cAAc,QAAQ,YAAY;AAE3C,MAAMC,QAAQ,GAAGD,cAAc,CAAC;EAC5BE,WAAW;IAAA;IAAA;EAAA,CAIV;EACDC,SAAS;IAAA;IAAA;EAAA,CAIR;EACDC,YAAY;IAAA;IAAA;EAAA,CAIX;EACDC,SAAS;IAAA;IAAA;EAAA,CAIR;EACDC,oBAAoB;IAAA;IAAA;EAAA,CAInB;EACDC,WAAW;IAAA;IAAA;EAAA,CAIV;EACDC,sBAAsB;IAAA;IAAA;EAAA,CAIrB;EACDC,cAAc;IAAA;IAAA;EAAA,CAIb;EACDC,qBAAqB;IAAA;IAAA;EAAA,CAIpB;EACDC,mBAAmB;IAAA;IAAA;EAAA,CAIlB;EACDC,uBAAuB;IAAA;IAAA;EAAA,CAItB;EACDC,sBAAsB;IAAA;IAAA;EAAA,CAIrB;EACDC,YAAY;IAAA;IAAA;EAAA,CAIX;EACDC,mBAAmB;IAAA;IAAA;EAAA,CAIlB;EACDC,sBAAsB;IAAA;IAAA;EAAA,CAIrB;EACDC,iCAAiC;IAAA;IAAA;EAAA,CAKhC;EACDC,mCAAmC;IAAA;IAAA;EAAA,CAMlC;EACDC,uCAAuC;IAAA;IAAA;EAAA,CAKtC;EACDC,yCAAyC;IAAA;IAAA;EAAA,CAMxC;EACDC,iCAAiC;IAAA;IAAA;EAAA,CAIhC;EACDC,mBAAmB;IAAA;IAAA;EAAA,CAIlB;EACDC,sBAAsB;IAAA;IAAA;EAAA,CAIrB;EACDC,0BAA0B;IAAA;IAAA;EAAA,CAIzB;EACDC,4BAA4B;IAAA;IAAA;EAAA,CAI3B;EACDC,qCAAqC;IAAA;IAAA;EAAA,CAIpC;EACDC,qCAAqC;IAAA;IAAA;EAAA,CAIpC;EACDC,YAAY;IAAA;IAAA;EAAA,CAIX;EACDC,cAAc;IAAA;IAAA;EAAA,CAIb;EACDC,gCAAgC;IAAA;IAAA;EAAA,CAK/B;EACDC,UAAU;IAAA;IAAA;EAAA,CAIT;EACDC,qBAAqB;IAAA;IAAA;EAAA,CAIpB;EACDC,mBAAmB;IAAA;IAAA;EAAA,CAIlB;EACDC,gBAAgB;IAAA;IAAA;EAAA,CAIf;EACDC,qBAAqB;IAAA;IAAA;EAAA,CAIpB;EACDC,mBAAmB;IAAA;IAAA;EAAA,CAIlB;EACDC,sBAAsB;IAAA;IAAA;EAAA,CAKrB;EACDC,4BAA4B;IAAA;IAAA;EAAA,CAK3B;EACDC,sBAAsB;IAAA;IAAA;EAAA,CAIrB;EACDC,yBAAyB;IAAA;IAAA;EAAA,CAMxB;EACDC,kCAAkC;IAAA;IAAA;EAAA,CAKjC;EACDC,+CAA+C;IAAA;IAAA;EAAA,CAI9C;EACDC,qBAAqB;IAAA;IAAA;EAAA,CAIpB;EACDC,0BAA0B;IAAA;IAAA;EAAA,CAIzB;EACDC,sBAAsB;IAAA;IAAA;EAAA,CAKrB;EACDC,uBAAuB;IAAA;IAAA;EAAA,CAKtB;EACDC,qBAAqB;IAAA;IAAA;EAAA,CAKpB;EACDC,iBAAiB;IAAA;IAAA;EAAA,CAIhB;EACDC,iBAAiB;IAAA;IAAA;EAAA;AAKrB,CAAC,CAAC;AAEF,eAAehD,QAAQ","ignoreList":[]}
|
package/i18n/bn-IN.js
CHANGED
|
@@ -612,8 +612,8 @@ export default {
|
|
|
612
612
|
"boxui.metadataInstanceEditor.cannotApplyCascadePolicyText": "এই মুহূর্তে কাসকেড নীতি কাস্টম মেটাডেটায় প্রযোজ্য হবে না।",
|
|
613
613
|
"boxui.metadataInstanceEditor.cascadePolicyLearnMore": "আরও জানুন",
|
|
614
614
|
"boxui.metadataInstanceEditor.cascadePolicyModeQuestion": "এই টেমপ্লেটটি এবং এর মান বিদ্যমান আইটেমগুলোতে প্রয়োগ করার সময় অসুবিধা হলে আপনি কী করতে চাইবেন? এটি একবার করতে হবে।",
|
|
615
|
-
"boxui.metadataInstanceEditor.cascadePolicyOptionsDisabledNotice": "
|
|
616
|
-
"boxui.metadataInstanceEditor.cascadePolicyOptionsDisabledNoticeIconAriaLabel": "
|
|
615
|
+
"boxui.metadataInstanceEditor.cascadePolicyOptionsDisabledNotice": "এই ক্যাসকেড নীতি সম্পাদনা করা যাবে না। এটি সংশোধন করতে, বর্তমান নীতি নিষ্ক্রিয় করুন এবং তারপর একটি নতুন সেটআপ করতে এটি পুনরায় সক্রিয় করুন।",
|
|
616
|
+
"boxui.metadataInstanceEditor.cascadePolicyOptionsDisabledNoticeIconAriaLabel": "নিষ্ক্রিয় ক্যাসকেড বিকল্পের তথ্য",
|
|
617
617
|
"boxui.metadataInstanceEditor.cascadePolicyOverwriteMode": "সমস্ত বিদ্যমান টেমপ্লেটের মান ওভাররাইট করুন",
|
|
618
618
|
"boxui.metadataInstanceEditor.cascadePolicySkipMode": "স্কিপ করে সমস্ত বিদ্যমান টেমপ্লেটের মান রাখুন",
|
|
619
619
|
"boxui.metadataInstanceEditor.customAdd": "যোগ করুন",
|
|
@@ -631,6 +631,7 @@ export default {
|
|
|
631
631
|
"boxui.metadataInstanceEditor.editTooltip": "মেটাডেটা সম্পাদনা করুন",
|
|
632
632
|
"boxui.metadataInstanceEditor.enableAIAutofill": "Box AI অটোফিল",
|
|
633
633
|
"boxui.metadataInstanceEditor.enableCascadePolicy": "ক্যাসকেড নীতি সক্ষম করুন",
|
|
634
|
+
"boxui.metadataInstanceEditor.enhancedAgentName": "Enhanced",
|
|
634
635
|
"boxui.metadataInstanceEditor.fileMetadataRemoveCustomTemplateConfirm": "আপনি কি এই কাস্টম মেটাডেটা এবং এর সমস্ত মান মুছতে চাওয়ার বিষয়ে নিশ্চিত?",
|
|
635
636
|
"boxui.metadataInstanceEditor.fileMetadataRemoveTemplateConfirm": "আপনি কি এই ফাইলটি থেকে \"{metadataName}\" এবং এর সমস্ত মান মুছতে চাওয়ার বিষয়ে নিশ্চিত?",
|
|
636
637
|
"boxui.metadataInstanceEditor.folderMetadataRemoveCustomTemplateConfirm": "আপনি কি এই কাস্টম মেটাডেটা এবং এর সমস্ত মান মোছার ব্যাপারে নিশ্চিত?এই ফোল্ডারের ফাইলগুলিতে ইতিমধ্যে প্রযোজ্য যেকোনও মেটাডেটা টেমপ্লেটের মান মোছা হবে না।",
|
|
@@ -644,6 +645,7 @@ export default {
|
|
|
644
645
|
"boxui.metadataInstanceEditor.noMetadataAddTemplate": "এই আইটেমে মেটাডেটা যোগ করতে উপরের ডানদিকে 'যোগ করুন' ক্লিক করুন",
|
|
645
646
|
"boxui.metadataInstanceEditor.operationNotImmediate": "এই ক্রিয়াকলাপটি সঙ্গে সঙ্গে ঘটবে না এবং এটি কিছু সময় নিতে পারে।",
|
|
646
647
|
"boxui.metadataInstanceEditor.removeTemplate": "অপসারণ করুন",
|
|
648
|
+
"boxui.metadataInstanceEditor.standardAgentName": "Standard",
|
|
647
649
|
"boxui.metadataInstanceEditor.templateAdd": "যোগ করুন",
|
|
648
650
|
"boxui.metadataInstanceEditor.templateSearchPlaceholder": "সমস্ত টেমপ্লেট অনুসন্ধান করুন",
|
|
649
651
|
"boxui.metadataInstanceEditor.templatesFetchFailed": "দুঃখিত! আমরা টেমপ্লেট আনতে পারি নি। অনুগ্রহ করে আপনার প্রশাসকের সাথে যোগাযোগ করুন",
|
package/i18n/bn-IN.properties
CHANGED
|
@@ -1224,6 +1224,10 @@ boxui.metadataInstanceEditor.cannotApplyCascadePolicyText = এই মুহূ
|
|
|
1224
1224
|
boxui.metadataInstanceEditor.cascadePolicyLearnMore = আরও জানুন
|
|
1225
1225
|
# Tooltip text that asks the user what they want to do when applying cascading to their metadata policy
|
|
1226
1226
|
boxui.metadataInstanceEditor.cascadePolicyModeQuestion = এই টেমপ্লেটটি এবং এর মান বিদ্যমান আইটেমগুলোতে প্রয়োগ করার সময় অসুবিধা হলে আপনি কী করতে চাইবেন? এটি একবার করতে হবে।
|
|
1227
|
+
# Notice that explains that the cascade policy cannot be edited
|
|
1228
|
+
boxui.metadataInstanceEditor.cascadePolicyOptionsDisabledNotice = এই ক্যাসকেড নীতি সম্পাদনা করা যাবে না। এটি সংশোধন করতে, বর্তমান নীতি নিষ্ক্রিয় করুন এবং তারপর একটি নতুন সেটআপ করতে এটি পুনরায় সক্রিয় করুন।
|
|
1229
|
+
# Aria label for the disabled cascade options information icon
|
|
1230
|
+
boxui.metadataInstanceEditor.cascadePolicyOptionsDisabledNoticeIconAriaLabel = নিষ্ক্রিয় ক্যাসকেড বিকল্পের তথ্য
|
|
1227
1231
|
# Label for radio button that selects overwrite mode for cascading policy
|
|
1228
1232
|
boxui.metadataInstanceEditor.cascadePolicyOverwriteMode = সমস্ত বিদ্যমান টেমপ্লেটের মান ওভাররাইট করুন
|
|
1229
1233
|
# Label for radio button that selects skip mode for cascading policy
|
|
@@ -1258,6 +1262,8 @@ boxui.metadataInstanceEditor.editTooltip = মেটাডেটা সম্প
|
|
|
1258
1262
|
boxui.metadataInstanceEditor.enableAIAutofill = Box AI অটোফিল
|
|
1259
1263
|
# Label for enable cascade policy toggle switch
|
|
1260
1264
|
boxui.metadataInstanceEditor.enableCascadePolicy = ক্যাসকেড নীতি সক্ষম করুন
|
|
1265
|
+
# Name of the enhanced AI agent
|
|
1266
|
+
boxui.metadataInstanceEditor.enhancedAgentName = Enhanced
|
|
1261
1267
|
# Message for users who may attempt to remove a custom metadata instance for a file. Also non-recoverable
|
|
1262
1268
|
boxui.metadataInstanceEditor.fileMetadataRemoveCustomTemplateConfirm = আপনি কি এই কাস্টম মেটাডেটা এবং এর সমস্ত মান মুছতে চাওয়ার বিষয়ে নিশ্চিত?
|
|
1263
1269
|
# Message for users who may attempt to remove a metadata instance for a file, which is non-recoverable
|
|
@@ -1284,6 +1290,8 @@ boxui.metadataInstanceEditor.noMetadataAddTemplate = এই আইটেমে
|
|
|
1284
1290
|
boxui.metadataInstanceEditor.operationNotImmediate = এই ক্রিয়াকলাপটি সঙ্গে সঙ্গে ঘটবে না এবং এটি কিছু সময় নিতে পারে।
|
|
1285
1291
|
# Label to remove a template
|
|
1286
1292
|
boxui.metadataInstanceEditor.removeTemplate = অপসারণ করুন
|
|
1293
|
+
# Name of the standard AI agent
|
|
1294
|
+
boxui.metadataInstanceEditor.standardAgentName = Standard
|
|
1287
1295
|
# Label to add a template
|
|
1288
1296
|
boxui.metadataInstanceEditor.templateAdd = যোগ করুন
|
|
1289
1297
|
# Placeholder to search for all templates
|
package/i18n/da-DK.js
CHANGED
|
@@ -612,8 +612,8 @@ export default {
|
|
|
612
612
|
"boxui.metadataInstanceEditor.cannotApplyCascadePolicyText": "Cascade-politik kan ikke anvendes til brugerdefinerede metadata på dette tidspunkt.",
|
|
613
613
|
"boxui.metadataInstanceEditor.cascadePolicyLearnMore": "Få mere at vide",
|
|
614
614
|
"boxui.metadataInstanceEditor.cascadePolicyModeQuestion": "Hvad vil du gøre i tilfælde af konflikter ved anvendelse af denne skabelon og dens værdier på eksisterende elementer? Denne handling skal kun udføres én gang.",
|
|
615
|
-
"boxui.metadataInstanceEditor.cascadePolicyOptionsDisabledNotice": "
|
|
616
|
-
"boxui.metadataInstanceEditor.cascadePolicyOptionsDisabledNoticeIconAriaLabel": "
|
|
615
|
+
"boxui.metadataInstanceEditor.cascadePolicyOptionsDisabledNotice": "Denne kaskadepolitik kan ikke redigeres. For at ændre dette, skal du deaktivere den aktuelle politik og derefter aktivere den igen for at oprette en ny.",
|
|
616
|
+
"boxui.metadataInstanceEditor.cascadePolicyOptionsDisabledNoticeIconAriaLabel": "Oplysninger om deaktiverede kaskadeindstillinger",
|
|
617
617
|
"boxui.metadataInstanceEditor.cascadePolicyOverwriteMode": "Overskriv alle eksisterende skabelonværdier",
|
|
618
618
|
"boxui.metadataInstanceEditor.cascadePolicySkipMode": "Spring over, og behold alle eksisterende skabelonværdier",
|
|
619
619
|
"boxui.metadataInstanceEditor.customAdd": "Tilføj",
|
|
@@ -631,6 +631,7 @@ export default {
|
|
|
631
631
|
"boxui.metadataInstanceEditor.editTooltip": "Rediger metadata",
|
|
632
632
|
"boxui.metadataInstanceEditor.enableAIAutofill": "Box AI automatisk udfyldning",
|
|
633
633
|
"boxui.metadataInstanceEditor.enableCascadePolicy": "Aktivér cascade-politik",
|
|
634
|
+
"boxui.metadataInstanceEditor.enhancedAgentName": "Enhanced",
|
|
634
635
|
"boxui.metadataInstanceEditor.fileMetadataRemoveCustomTemplateConfirm": "Er du sikker på, at du vil slette disse brugerdefinerede metadata og alle deres værdier fra denne fil?",
|
|
635
636
|
"boxui.metadataInstanceEditor.fileMetadataRemoveTemplateConfirm": "Er du sikker på, at du vil slette \"{metadataName}\" og alle deres værdier fra denne fil?",
|
|
636
637
|
"boxui.metadataInstanceEditor.folderMetadataRemoveCustomTemplateConfirm": "Vil du slette disse brugerdefinerede metadata og alle deres værdier? Eventuelle metadataskabelonværdier, som allerede er anvendt på filer i denne mappe, bliver ikke slettet.",
|
|
@@ -644,6 +645,7 @@ export default {
|
|
|
644
645
|
"boxui.metadataInstanceEditor.noMetadataAddTemplate": "Klik på \"Tilføj\" øverst til højre for at føje metadata til dette element",
|
|
645
646
|
"boxui.metadataInstanceEditor.operationNotImmediate": "Denne handling er ikke øjeblikkelig og kan tage et stykke tid.",
|
|
646
647
|
"boxui.metadataInstanceEditor.removeTemplate": "Fjern",
|
|
648
|
+
"boxui.metadataInstanceEditor.standardAgentName": "Standard",
|
|
647
649
|
"boxui.metadataInstanceEditor.templateAdd": "Tilføj",
|
|
648
650
|
"boxui.metadataInstanceEditor.templateSearchPlaceholder": "Søg i alle skabeloner",
|
|
649
651
|
"boxui.metadataInstanceEditor.templatesFetchFailed": "Vi beklager! Vi kunne ikke hente skabeloner. Kontakt din administrator",
|
package/i18n/da-DK.properties
CHANGED
|
@@ -1224,6 +1224,10 @@ boxui.metadataInstanceEditor.cannotApplyCascadePolicyText = Cascade-politik kan
|
|
|
1224
1224
|
boxui.metadataInstanceEditor.cascadePolicyLearnMore = Få mere at vide
|
|
1225
1225
|
# Tooltip text that asks the user what they want to do when applying cascading to their metadata policy
|
|
1226
1226
|
boxui.metadataInstanceEditor.cascadePolicyModeQuestion = Hvad vil du gøre i tilfælde af konflikter ved anvendelse af denne skabelon og dens værdier på eksisterende elementer? Denne handling skal kun udføres én gang.
|
|
1227
|
+
# Notice that explains that the cascade policy cannot be edited
|
|
1228
|
+
boxui.metadataInstanceEditor.cascadePolicyOptionsDisabledNotice = Denne kaskadepolitik kan ikke redigeres. For at ændre dette, skal du deaktivere den aktuelle politik og derefter aktivere den igen for at oprette en ny.
|
|
1229
|
+
# Aria label for the disabled cascade options information icon
|
|
1230
|
+
boxui.metadataInstanceEditor.cascadePolicyOptionsDisabledNoticeIconAriaLabel = Oplysninger om deaktiverede kaskadeindstillinger
|
|
1227
1231
|
# Label for radio button that selects overwrite mode for cascading policy
|
|
1228
1232
|
boxui.metadataInstanceEditor.cascadePolicyOverwriteMode = Overskriv alle eksisterende skabelonværdier
|
|
1229
1233
|
# Label for radio button that selects skip mode for cascading policy
|
|
@@ -1258,6 +1262,8 @@ boxui.metadataInstanceEditor.editTooltip = Rediger metadata
|
|
|
1258
1262
|
boxui.metadataInstanceEditor.enableAIAutofill = Box AI automatisk udfyldning
|
|
1259
1263
|
# Label for enable cascade policy toggle switch
|
|
1260
1264
|
boxui.metadataInstanceEditor.enableCascadePolicy = Aktivér cascade-politik
|
|
1265
|
+
# Name of the enhanced AI agent
|
|
1266
|
+
boxui.metadataInstanceEditor.enhancedAgentName = Enhanced
|
|
1261
1267
|
# Message for users who may attempt to remove a custom metadata instance for a file. Also non-recoverable
|
|
1262
1268
|
boxui.metadataInstanceEditor.fileMetadataRemoveCustomTemplateConfirm = Er du sikker på, at du vil slette disse brugerdefinerede metadata og alle deres værdier fra denne fil?
|
|
1263
1269
|
# Message for users who may attempt to remove a metadata instance for a file, which is non-recoverable
|
|
@@ -1284,6 +1290,8 @@ boxui.metadataInstanceEditor.noMetadataAddTemplate = Klik på "Tilføj" øverst
|
|
|
1284
1290
|
boxui.metadataInstanceEditor.operationNotImmediate = Denne handling er ikke øjeblikkelig og kan tage et stykke tid.
|
|
1285
1291
|
# Label to remove a template
|
|
1286
1292
|
boxui.metadataInstanceEditor.removeTemplate = Fjern
|
|
1293
|
+
# Name of the standard AI agent
|
|
1294
|
+
boxui.metadataInstanceEditor.standardAgentName = Standard
|
|
1287
1295
|
# Label to add a template
|
|
1288
1296
|
boxui.metadataInstanceEditor.templateAdd = Tilføj
|
|
1289
1297
|
# Placeholder to search for all templates
|
package/i18n/de-DE.js
CHANGED
|
@@ -612,8 +612,8 @@ export default {
|
|
|
612
612
|
"boxui.metadataInstanceEditor.cannotApplyCascadePolicyText": "Kaskadenrichtlinie kann zu diesem Zeitpunkt nicht auf benutzerdefinierte Metadaten angewendet werden.",
|
|
613
613
|
"boxui.metadataInstanceEditor.cascadePolicyLearnMore": "Mehr erfahren",
|
|
614
614
|
"boxui.metadataInstanceEditor.cascadePolicyModeQuestion": "Wie möchten Sie vorgehen, wenn Konflikte bei der Anwendung dieser Vorlage und ihrer Werte auf vorhandene Elemente auftreten? Dies ist eine einmalige Aktion.",
|
|
615
|
-
"boxui.metadataInstanceEditor.cascadePolicyOptionsDisabledNotice": "
|
|
616
|
-
"boxui.metadataInstanceEditor.cascadePolicyOptionsDisabledNoticeIconAriaLabel": "
|
|
615
|
+
"boxui.metadataInstanceEditor.cascadePolicyOptionsDisabledNotice": "Diese Kaskaden-Richtlinie kann nicht bearbeitet werden. Um die Richtlinie zu ändern, deaktivieren Sie die aktuelle Richtlinie und aktivieren Sie sie dann erneut, um eine neue Richtlinie einzurichten.",
|
|
616
|
+
"boxui.metadataInstanceEditor.cascadePolicyOptionsDisabledNoticeIconAriaLabel": "Informationen zu deaktivierten Optionen in der Kaskade",
|
|
617
617
|
"boxui.metadataInstanceEditor.cascadePolicyOverwriteMode": "Alle vorhandenen Vorlagenwerte überschreiben",
|
|
618
618
|
"boxui.metadataInstanceEditor.cascadePolicySkipMode": "Alle vorhandenen Vorlagenwerte überspringen und behalten",
|
|
619
619
|
"boxui.metadataInstanceEditor.customAdd": "Hinzufügen",
|
|
@@ -631,6 +631,7 @@ export default {
|
|
|
631
631
|
"boxui.metadataInstanceEditor.editTooltip": "Metadaten bearbeiten",
|
|
632
632
|
"boxui.metadataInstanceEditor.enableAIAutofill": "Box AI automatischen Ausfüllen",
|
|
633
633
|
"boxui.metadataInstanceEditor.enableCascadePolicy": "Kaskadenrichtlinie aktivieren",
|
|
634
|
+
"boxui.metadataInstanceEditor.enhancedAgentName": "Enhanced",
|
|
634
635
|
"boxui.metadataInstanceEditor.fileMetadataRemoveCustomTemplateConfirm": "Möchten Sie diese benutzerdefinierten Metadaten und ihre gesamten Werte aus dieser Datei wirklich löschen?",
|
|
635
636
|
"boxui.metadataInstanceEditor.fileMetadataRemoveTemplateConfirm": "Möchten Sie „{metadataName}“ und ihre gesamten Werte aus dieser Datei wirklich löschen?",
|
|
636
637
|
"boxui.metadataInstanceEditor.folderMetadataRemoveCustomTemplateConfirm": "Möchten Sie diese benutzerdefinierten Metadaten und alle zugehörigen Werte wirklich löschen? Metadatenvorlagenwerte, die bereits auf Dateien in diesem Ordner angewendet wurden, werden nicht gelöscht.",
|
|
@@ -644,6 +645,7 @@ export default {
|
|
|
644
645
|
"boxui.metadataInstanceEditor.noMetadataAddTemplate": "Klicken Sie oben rechts auf „Hinzufügen“, um diesem Element Metadaten hinzuzufügen",
|
|
645
646
|
"boxui.metadataInstanceEditor.operationNotImmediate": "Dieser Vorgang wird nicht sofort ausgeführt und dauert möglicherweise eine Weile.",
|
|
646
647
|
"boxui.metadataInstanceEditor.removeTemplate": "Entfernen",
|
|
648
|
+
"boxui.metadataInstanceEditor.standardAgentName": "Standard",
|
|
647
649
|
"boxui.metadataInstanceEditor.templateAdd": "Hinzufügen",
|
|
648
650
|
"boxui.metadataInstanceEditor.templateSearchPlaceholder": "Alle Vorlagen durchsuchen",
|
|
649
651
|
"boxui.metadataInstanceEditor.templatesFetchFailed": "Leider konnten die Vorlagen nicht abgerufen werden. Bitte wenden Sie sich an Ihren Administrator.",
|
package/i18n/de-DE.properties
CHANGED
|
@@ -1224,6 +1224,10 @@ boxui.metadataInstanceEditor.cannotApplyCascadePolicyText = Kaskadenrichtlinie k
|
|
|
1224
1224
|
boxui.metadataInstanceEditor.cascadePolicyLearnMore = Mehr erfahren
|
|
1225
1225
|
# Tooltip text that asks the user what they want to do when applying cascading to their metadata policy
|
|
1226
1226
|
boxui.metadataInstanceEditor.cascadePolicyModeQuestion = Wie möchten Sie vorgehen, wenn Konflikte bei der Anwendung dieser Vorlage und ihrer Werte auf vorhandene Elemente auftreten? Dies ist eine einmalige Aktion.
|
|
1227
|
+
# Notice that explains that the cascade policy cannot be edited
|
|
1228
|
+
boxui.metadataInstanceEditor.cascadePolicyOptionsDisabledNotice = Diese Kaskaden-Richtlinie kann nicht bearbeitet werden. Um die Richtlinie zu ändern, deaktivieren Sie die aktuelle Richtlinie und aktivieren Sie sie dann erneut, um eine neue Richtlinie einzurichten.
|
|
1229
|
+
# Aria label for the disabled cascade options information icon
|
|
1230
|
+
boxui.metadataInstanceEditor.cascadePolicyOptionsDisabledNoticeIconAriaLabel = Informationen zu deaktivierten Optionen in der Kaskade
|
|
1227
1231
|
# Label for radio button that selects overwrite mode for cascading policy
|
|
1228
1232
|
boxui.metadataInstanceEditor.cascadePolicyOverwriteMode = Alle vorhandenen Vorlagenwerte überschreiben
|
|
1229
1233
|
# Label for radio button that selects skip mode for cascading policy
|
|
@@ -1258,6 +1262,8 @@ boxui.metadataInstanceEditor.editTooltip = Metadaten bearbeiten
|
|
|
1258
1262
|
boxui.metadataInstanceEditor.enableAIAutofill = Box AI automatischen Ausfüllen
|
|
1259
1263
|
# Label for enable cascade policy toggle switch
|
|
1260
1264
|
boxui.metadataInstanceEditor.enableCascadePolicy = Kaskadenrichtlinie aktivieren
|
|
1265
|
+
# Name of the enhanced AI agent
|
|
1266
|
+
boxui.metadataInstanceEditor.enhancedAgentName = Enhanced
|
|
1261
1267
|
# Message for users who may attempt to remove a custom metadata instance for a file. Also non-recoverable
|
|
1262
1268
|
boxui.metadataInstanceEditor.fileMetadataRemoveCustomTemplateConfirm = Möchten Sie diese benutzerdefinierten Metadaten und ihre gesamten Werte aus dieser Datei wirklich löschen?
|
|
1263
1269
|
# Message for users who may attempt to remove a metadata instance for a file, which is non-recoverable
|
|
@@ -1284,6 +1290,8 @@ boxui.metadataInstanceEditor.noMetadataAddTemplate = Klicken Sie oben rechts auf
|
|
|
1284
1290
|
boxui.metadataInstanceEditor.operationNotImmediate = Dieser Vorgang wird nicht sofort ausgeführt und dauert möglicherweise eine Weile.
|
|
1285
1291
|
# Label to remove a template
|
|
1286
1292
|
boxui.metadataInstanceEditor.removeTemplate = Entfernen
|
|
1293
|
+
# Name of the standard AI agent
|
|
1294
|
+
boxui.metadataInstanceEditor.standardAgentName = Standard
|
|
1287
1295
|
# Label to add a template
|
|
1288
1296
|
boxui.metadataInstanceEditor.templateAdd = Hinzufügen
|
|
1289
1297
|
# Placeholder to search for all templates
|
package/i18n/en-AU.js
CHANGED
|
@@ -631,6 +631,7 @@ export default {
|
|
|
631
631
|
"boxui.metadataInstanceEditor.editTooltip": "Edit metadata",
|
|
632
632
|
"boxui.metadataInstanceEditor.enableAIAutofill": "Box AI Autofill",
|
|
633
633
|
"boxui.metadataInstanceEditor.enableCascadePolicy": "Enable Cascade Policy",
|
|
634
|
+
"boxui.metadataInstanceEditor.enhancedAgentName": "Enhanced",
|
|
634
635
|
"boxui.metadataInstanceEditor.fileMetadataRemoveCustomTemplateConfirm": "Are you sure you want to delete this custom metadata and all of its values from this file?",
|
|
635
636
|
"boxui.metadataInstanceEditor.fileMetadataRemoveTemplateConfirm": "Are you sure you want to delete \"{metadataName}\" and all of its values from this file?",
|
|
636
637
|
"boxui.metadataInstanceEditor.folderMetadataRemoveCustomTemplateConfirm": "Are you sure you want to delete this custom metadata and all of its values? Any metadata template values already applied to files in this folder will not be deleted.",
|
|
@@ -644,6 +645,7 @@ export default {
|
|
|
644
645
|
"boxui.metadataInstanceEditor.noMetadataAddTemplate": "Click 'Add' in the top right to add metadata to this item",
|
|
645
646
|
"boxui.metadataInstanceEditor.operationNotImmediate": "This operation is not immediate and may take some time.",
|
|
646
647
|
"boxui.metadataInstanceEditor.removeTemplate": "Remove",
|
|
648
|
+
"boxui.metadataInstanceEditor.standardAgentName": "Standard",
|
|
647
649
|
"boxui.metadataInstanceEditor.templateAdd": "Add",
|
|
648
650
|
"boxui.metadataInstanceEditor.templateSearchPlaceholder": "Search all templates",
|
|
649
651
|
"boxui.metadataInstanceEditor.templatesFetchFailed": "Sorry! We could not fetch templates. Please contact your administrator",
|