box-ui-elements 23.4.0-beta.31 → 23.4.0-beta.32
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 +2 -0
- package/i18n/da-DK.js +2 -0
- package/i18n/de-DE.js +2 -0
- package/i18n/en-AU.js +2 -0
- package/i18n/en-CA.js +2 -0
- package/i18n/en-GB.js +2 -0
- package/i18n/en-US.js +2 -0
- package/i18n/en-US.properties +4 -0
- package/i18n/en-x-pseudo.js +2 -0
- package/i18n/es-419.js +2 -0
- package/i18n/es-ES.js +2 -0
- package/i18n/fi-FI.js +2 -0
- package/i18n/fr-CA.js +2 -0
- package/i18n/fr-FR.js +2 -0
- package/i18n/hi-IN.js +2 -0
- package/i18n/it-IT.js +2 -0
- package/i18n/ja-JP.js +2 -0
- package/i18n/ko-KR.js +2 -0
- package/i18n/nb-NO.js +2 -0
- package/i18n/nl-NL.js +2 -0
- package/i18n/pl-PL.js +2 -0
- package/i18n/pt-BR.js +2 -0
- package/i18n/ru-RU.js +2 -0
- package/i18n/sv-SE.js +2 -0
- package/i18n/tr-TR.js +2 -0
- package/i18n/zh-CN.js +2 -0
- package/i18n/zh-TW.js +2 -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
package/i18n/fr-CA.js
CHANGED
|
@@ -631,6 +631,7 @@ export default {
|
|
|
631
631
|
"boxui.metadataInstanceEditor.editTooltip": "Modifier des métadonnées",
|
|
632
632
|
"boxui.metadataInstanceEditor.enableAIAutofill": "Remplissage automatique de Box AI",
|
|
633
633
|
"boxui.metadataInstanceEditor.enableCascadePolicy": "Activer la règle en cascade",
|
|
634
|
+
"boxui.metadataInstanceEditor.enhancedAgentName": "Enhanced",
|
|
634
635
|
"boxui.metadataInstanceEditor.fileMetadataRemoveCustomTemplateConfirm": "Voulez-vous vraiment supprimer ces métadonnées personnalisées et toutes ses valeurs de ce fichier ?",
|
|
635
636
|
"boxui.metadataInstanceEditor.fileMetadataRemoveTemplateConfirm": "Êtes-vous sûr de vouloir supprimer « {metadataName} » et tout son contenu de ce fichier ?",
|
|
636
637
|
"boxui.metadataInstanceEditor.folderMetadataRemoveCustomTemplateConfirm": "Voulez-vous vraiment supprimer ces métadonnées personnalisées et toutes leurs ? Les valeurs des modèles de métadonnées qui sont déjà appliquées aux fichiers de ce dossier ne seront pas supprimées.",
|
|
@@ -644,6 +645,7 @@ export default {
|
|
|
644
645
|
"boxui.metadataInstanceEditor.noMetadataAddTemplate": "Cliquez sur « Ajouter » dans le coin supérieur droit pour ajouter des métadonnées à cet élément",
|
|
645
646
|
"boxui.metadataInstanceEditor.operationNotImmediate": "Cette opération n'est pas immédiate et peut durer un certain temps.",
|
|
646
647
|
"boxui.metadataInstanceEditor.removeTemplate": "Supprimer",
|
|
648
|
+
"boxui.metadataInstanceEditor.standardAgentName": "Standard",
|
|
647
649
|
"boxui.metadataInstanceEditor.templateAdd": "Ajouter",
|
|
648
650
|
"boxui.metadataInstanceEditor.templateSearchPlaceholder": "Rechercher tous les modèles",
|
|
649
651
|
"boxui.metadataInstanceEditor.templatesFetchFailed": "Désolé ! Nous ne pouvons pas récupérer les modèles. Veuillez contacter votre administrateur",
|
package/i18n/fr-FR.js
CHANGED
|
@@ -631,6 +631,7 @@ export default {
|
|
|
631
631
|
"boxui.metadataInstanceEditor.editTooltip": "Modifier des métadonnées",
|
|
632
632
|
"boxui.metadataInstanceEditor.enableAIAutofill": "Remplissage automatique de Box AI",
|
|
633
633
|
"boxui.metadataInstanceEditor.enableCascadePolicy": "Activer la règle en cascade",
|
|
634
|
+
"boxui.metadataInstanceEditor.enhancedAgentName": "Enhanced",
|
|
634
635
|
"boxui.metadataInstanceEditor.fileMetadataRemoveCustomTemplateConfirm": "Voulez-vous vraiment supprimer ces métadonnées personnalisées et toutes ses valeurs de ce fichier ?",
|
|
635
636
|
"boxui.metadataInstanceEditor.fileMetadataRemoveTemplateConfirm": "Êtes-vous sûr de vouloir supprimer « {metadataName} » et tout son contenu de ce fichier ?",
|
|
636
637
|
"boxui.metadataInstanceEditor.folderMetadataRemoveCustomTemplateConfirm": "Voulez-vous vraiment supprimer ces métadonnées personnalisées et toutes leurs ? Les valeurs des modèles de métadonnées qui sont déjà appliquées aux fichiers de ce dossier ne seront pas supprimées.",
|
|
@@ -644,6 +645,7 @@ export default {
|
|
|
644
645
|
"boxui.metadataInstanceEditor.noMetadataAddTemplate": "Cliquez sur « Ajouter » dans le coin supérieur droit pour ajouter des métadonnées à cet élément",
|
|
645
646
|
"boxui.metadataInstanceEditor.operationNotImmediate": "Cette opération n'est pas immédiate et peut durer un certain temps.",
|
|
646
647
|
"boxui.metadataInstanceEditor.removeTemplate": "Supprimer",
|
|
648
|
+
"boxui.metadataInstanceEditor.standardAgentName": "Standard",
|
|
647
649
|
"boxui.metadataInstanceEditor.templateAdd": "Ajouter",
|
|
648
650
|
"boxui.metadataInstanceEditor.templateSearchPlaceholder": "Rechercher tous les modèles",
|
|
649
651
|
"boxui.metadataInstanceEditor.templatesFetchFailed": "Désolé ! Nous ne pouvons pas récupérer les modèles. Veuillez contacter votre administrateur",
|
package/i18n/hi-IN.js
CHANGED
|
@@ -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/it-IT.js
CHANGED
|
@@ -631,6 +631,7 @@ export default {
|
|
|
631
631
|
"boxui.metadataInstanceEditor.editTooltip": "Modifica metadati",
|
|
632
632
|
"boxui.metadataInstanceEditor.enableAIAutofill": "Compilazione automatica Box AI",
|
|
633
633
|
"boxui.metadataInstanceEditor.enableCascadePolicy": "Abilita criterio a cascata",
|
|
634
|
+
"boxui.metadataInstanceEditor.enhancedAgentName": "Enhanced",
|
|
634
635
|
"boxui.metadataInstanceEditor.fileMetadataRemoveCustomTemplateConfirm": "Confermi l'eliminazione di questi metadati personalizzati e dei relativi valori dal file?",
|
|
635
636
|
"boxui.metadataInstanceEditor.fileMetadataRemoveTemplateConfirm": "Confermi l'eliminazione di \"{metadataName}\" e dei relativi valori dal file?",
|
|
636
637
|
"boxui.metadataInstanceEditor.folderMetadataRemoveCustomTemplateConfirm": "Confermi l'eliminazione di questi metadati personalizzati e dei relativi valori? I valori di eventuali modelli di metadati già applicati ai file di questa cartella non verranno eliminati.",
|
|
@@ -644,6 +645,7 @@ export default {
|
|
|
644
645
|
"boxui.metadataInstanceEditor.noMetadataAddTemplate": "Fai clic su \"Aggiungi\" in alto a destra per aggiungere metadati a questo elemento",
|
|
645
646
|
"boxui.metadataInstanceEditor.operationNotImmediate": "Questa operazione non è immediata e potrebbe richiedere del tempo.",
|
|
646
647
|
"boxui.metadataInstanceEditor.removeTemplate": "Rimuovi",
|
|
648
|
+
"boxui.metadataInstanceEditor.standardAgentName": "Standard",
|
|
647
649
|
"boxui.metadataInstanceEditor.templateAdd": "Aggiungi",
|
|
648
650
|
"boxui.metadataInstanceEditor.templateSearchPlaceholder": "Cerca tutti i modelli",
|
|
649
651
|
"boxui.metadataInstanceEditor.templatesFetchFailed": "Impossibile recuperare i modelli. Contatta il tuo amministratore",
|
package/i18n/ja-JP.js
CHANGED
|
@@ -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/ko-KR.js
CHANGED
|
@@ -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/nb-NO.js
CHANGED
|
@@ -631,6 +631,7 @@ export default {
|
|
|
631
631
|
"boxui.metadataInstanceEditor.editTooltip": "Rediger metadata",
|
|
632
632
|
"boxui.metadataInstanceEditor.enableAIAutofill": "Automatisk utfylling med Box AI",
|
|
633
633
|
"boxui.metadataInstanceEditor.enableCascadePolicy": "Aktiver hierarkiske retningslinjer",
|
|
634
|
+
"boxui.metadataInstanceEditor.enhancedAgentName": "Enhanced",
|
|
634
635
|
"boxui.metadataInstanceEditor.fileMetadataRemoveCustomTemplateConfirm": "Er du sikker på at du vil slette denne egendefinerte metadatamalen og alle tilknyttede verdier fra denne filen?",
|
|
635
636
|
"boxui.metadataInstanceEditor.fileMetadataRemoveTemplateConfirm": "Er du sikker på at du vil slette {metadataName} og alle tilknyttede verdier fra denne filen?",
|
|
636
637
|
"boxui.metadataInstanceEditor.folderMetadataRemoveCustomTemplateConfirm": "Er du sikker på at du vil slette disse egendefinerte metadataene og alle tilhørende verdier? Eventuelle verdier i metadatamaler som allerede er tatt i bruk for filer i denne mappen, blir ikke slettet.",
|
|
@@ -644,6 +645,7 @@ export default {
|
|
|
644
645
|
"boxui.metadataInstanceEditor.noMetadataAddTemplate": "Klikk på Legg til øverst til høyre for å legge til metadata for dette elementet",
|
|
645
646
|
"boxui.metadataInstanceEditor.operationNotImmediate": "Denne operasjonen er ikke umiddelbar og kan ta litt tid.",
|
|
646
647
|
"boxui.metadataInstanceEditor.removeTemplate": "Fjern",
|
|
648
|
+
"boxui.metadataInstanceEditor.standardAgentName": "Standard",
|
|
647
649
|
"boxui.metadataInstanceEditor.templateAdd": "Legg til",
|
|
648
650
|
"boxui.metadataInstanceEditor.templateSearchPlaceholder": "Søk i alle maler",
|
|
649
651
|
"boxui.metadataInstanceEditor.templatesFetchFailed": "Malene kunne ikke hentes. Kontakt administratoren",
|
package/i18n/nl-NL.js
CHANGED
|
@@ -631,6 +631,7 @@ export default {
|
|
|
631
631
|
"boxui.metadataInstanceEditor.editTooltip": "Metadata bewerken",
|
|
632
632
|
"boxui.metadataInstanceEditor.enableAIAutofill": "Box AI Automatisch invullen",
|
|
633
633
|
"boxui.metadataInstanceEditor.enableCascadePolicy": "Trapsgewijs beleid inschakelen",
|
|
634
|
+
"boxui.metadataInstanceEditor.enhancedAgentName": "Enhanced",
|
|
634
635
|
"boxui.metadataInstanceEditor.fileMetadataRemoveCustomTemplateConfirm": "Weet u zeker dat u deze aangepaste metadata en alle bijbehorende waarden uit dit bestand wilt verwijderen?",
|
|
635
636
|
"boxui.metadataInstanceEditor.fileMetadataRemoveTemplateConfirm": "Weet u zeker dat u \"{metadataName}\" en alle bijbehorende waarden uit dit bestand wilt verwijderen?",
|
|
636
637
|
"boxui.metadataInstanceEditor.folderMetadataRemoveCustomTemplateConfirm": "Weet u zeker dat u deze aangepaste metadata en alle waarden ervan wilt verwijderen? Alle metadata-sjabloonwaarden die al zijn toegepast op de bestanden in deze map, worden niet verwijderd.",
|
|
@@ -644,6 +645,7 @@ export default {
|
|
|
644
645
|
"boxui.metadataInstanceEditor.noMetadataAddTemplate": "Klik op \"Toevoegen\" in de rechterbovenhoek om metadata aan dit item toe te voegen",
|
|
645
646
|
"boxui.metadataInstanceEditor.operationNotImmediate": "Deze bewerking kan enige tijd in beslag nemen.",
|
|
646
647
|
"boxui.metadataInstanceEditor.removeTemplate": "Verwijderen",
|
|
648
|
+
"boxui.metadataInstanceEditor.standardAgentName": "Standard",
|
|
647
649
|
"boxui.metadataInstanceEditor.templateAdd": "Toevoegen",
|
|
648
650
|
"boxui.metadataInstanceEditor.templateSearchPlaceholder": "Alle sjablonen doorzoeken",
|
|
649
651
|
"boxui.metadataInstanceEditor.templatesFetchFailed": "We kunnen geen sjablonen ophalen. Neem contact op met uw beheerder",
|
package/i18n/pl-PL.js
CHANGED
|
@@ -631,6 +631,7 @@ export default {
|
|
|
631
631
|
"boxui.metadataInstanceEditor.editTooltip": "Edytuj metadane",
|
|
632
632
|
"boxui.metadataInstanceEditor.enableAIAutofill": "Autouzupełnianie Box AI",
|
|
633
633
|
"boxui.metadataInstanceEditor.enableCascadePolicy": "Włącz zasadę kaskady",
|
|
634
|
+
"boxui.metadataInstanceEditor.enhancedAgentName": "Enhanced",
|
|
634
635
|
"boxui.metadataInstanceEditor.fileMetadataRemoveCustomTemplateConfirm": "Czy na pewno chcesz usunąć te niestandardowe metadane i wszystkie ich wartości z tego pliku?",
|
|
635
636
|
"boxui.metadataInstanceEditor.fileMetadataRemoveTemplateConfirm": "Czy na pewno chcesz usunąć element „{metadataName}” i wszystkie jego wartości z tego pliku?",
|
|
636
637
|
"boxui.metadataInstanceEditor.folderMetadataRemoveCustomTemplateConfirm": "Czy na pewno chcesz usunąć te niestandardowe metadane i wszystkie ich wartości? Nie zostaną usunięte żadne wartości szablonu metadanych, które zostały już zastosowane do plików w tym folderze.",
|
|
@@ -644,6 +645,7 @@ export default {
|
|
|
644
645
|
"boxui.metadataInstanceEditor.noMetadataAddTemplate": "Kliknij przycisk Dodaj w prawym górnym rogu, aby dodać metadane do tego elementu.",
|
|
645
646
|
"boxui.metadataInstanceEditor.operationNotImmediate": "Ta operacja nie jest natychmiastowa i może zająć trochę czasu.",
|
|
646
647
|
"boxui.metadataInstanceEditor.removeTemplate": "Usuń",
|
|
648
|
+
"boxui.metadataInstanceEditor.standardAgentName": "Standard",
|
|
647
649
|
"boxui.metadataInstanceEditor.templateAdd": "Dodaj",
|
|
648
650
|
"boxui.metadataInstanceEditor.templateSearchPlaceholder": "Wyszukaj wszystkie szablony",
|
|
649
651
|
"boxui.metadataInstanceEditor.templatesFetchFailed": "Przepraszamy! Nie udało się pobrać szablonów. Skontaktuj się z administratorem.",
|
package/i18n/pt-BR.js
CHANGED
|
@@ -631,6 +631,7 @@ export default {
|
|
|
631
631
|
"boxui.metadataInstanceEditor.editTooltip": "Editar metadados",
|
|
632
632
|
"boxui.metadataInstanceEditor.enableAIAutofill": "Preenchimento automático do Box AI",
|
|
633
633
|
"boxui.metadataInstanceEditor.enableCascadePolicy": "Ativar a política de cascata",
|
|
634
|
+
"boxui.metadataInstanceEditor.enhancedAgentName": "Enhanced",
|
|
634
635
|
"boxui.metadataInstanceEditor.fileMetadataRemoveCustomTemplateConfirm": "Tem certeza de que deseja excluir estes metadados personalizados e todos os seus valores deste arquivo?",
|
|
635
636
|
"boxui.metadataInstanceEditor.fileMetadataRemoveTemplateConfirm": "Tem certeza de que deseja excluir \"{metadataName}\" e todos os seus valores deste arquivo?",
|
|
636
637
|
"boxui.metadataInstanceEditor.folderMetadataRemoveCustomTemplateConfirm": "Tem certeza de que deseja excluir este metadado personalizado e todos os seus valores? Nenhum valor de modelo de metadados já aplicado a arquivos nesta pasta será excluído.",
|
|
@@ -644,6 +645,7 @@ export default {
|
|
|
644
645
|
"boxui.metadataInstanceEditor.noMetadataAddTemplate": "Clique em \"Adicionar\" no canto superior direito para adicionar metadados a este item.",
|
|
645
646
|
"boxui.metadataInstanceEditor.operationNotImmediate": "Esta operação não é imediata e pode levar algum tempo.",
|
|
646
647
|
"boxui.metadataInstanceEditor.removeTemplate": "Remover",
|
|
648
|
+
"boxui.metadataInstanceEditor.standardAgentName": "Standard",
|
|
647
649
|
"boxui.metadataInstanceEditor.templateAdd": "Adicionar",
|
|
648
650
|
"boxui.metadataInstanceEditor.templateSearchPlaceholder": "Pesquisar todos os modelos",
|
|
649
651
|
"boxui.metadataInstanceEditor.templatesFetchFailed": "Não foi possível obter os modelos. Contate o seu administrador",
|
package/i18n/ru-RU.js
CHANGED
|
@@ -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/sv-SE.js
CHANGED
|
@@ -631,6 +631,7 @@ export default {
|
|
|
631
631
|
"boxui.metadataInstanceEditor.editTooltip": "Redigera metadata",
|
|
632
632
|
"boxui.metadataInstanceEditor.enableAIAutofill": "Box AI autofyll",
|
|
633
633
|
"boxui.metadataInstanceEditor.enableCascadePolicy": "Aktivera övergripande policy",
|
|
634
|
+
"boxui.metadataInstanceEditor.enhancedAgentName": "Enhanced",
|
|
634
635
|
"boxui.metadataInstanceEditor.fileMetadataRemoveCustomTemplateConfirm": "Är du säker på att du vill radera dessa anpassade metadata och alla tillhörande värden från den här filen?",
|
|
635
636
|
"boxui.metadataInstanceEditor.fileMetadataRemoveTemplateConfirm": "Är du säker på att du vill radera \"{metadataName}\" och alla tillhörande värden från den här filen?",
|
|
636
637
|
"boxui.metadataInstanceEditor.folderMetadataRemoveCustomTemplateConfirm": "Är du säker på att du vill radera dessa anpassade metadata och alla tillhörande värden? Eventuella metadatamallvärden som redan har tillämpats på filer i mallen raderas inte.",
|
|
@@ -644,6 +645,7 @@ export default {
|
|
|
644
645
|
"boxui.metadataInstanceEditor.noMetadataAddTemplate": "Klicka på Lägg till längst upp till höger om du vill lägga till metadata för detta objekt",
|
|
645
646
|
"boxui.metadataInstanceEditor.operationNotImmediate": "Den här åtgärden sker inte omedelbart och kan ta lite tid.",
|
|
646
647
|
"boxui.metadataInstanceEditor.removeTemplate": "Ta bort",
|
|
648
|
+
"boxui.metadataInstanceEditor.standardAgentName": "Standard",
|
|
647
649
|
"boxui.metadataInstanceEditor.templateAdd": "Lägg till",
|
|
648
650
|
"boxui.metadataInstanceEditor.templateSearchPlaceholder": "Sök i alla mallar",
|
|
649
651
|
"boxui.metadataInstanceEditor.templatesFetchFailed": "Det gick inte att hämta mallar. Kontakta administratören",
|
package/i18n/tr-TR.js
CHANGED
|
@@ -631,6 +631,7 @@ export default {
|
|
|
631
631
|
"boxui.metadataInstanceEditor.editTooltip": "Meta Verileri Düzenle",
|
|
632
632
|
"boxui.metadataInstanceEditor.enableAIAutofill": "Box AI Otomatik Doldurma",
|
|
633
633
|
"boxui.metadataInstanceEditor.enableCascadePolicy": "Alt Klasörlere Uygulama İlkesini Etkinleştir",
|
|
634
|
+
"boxui.metadataInstanceEditor.enhancedAgentName": "Enhanced",
|
|
634
635
|
"boxui.metadataInstanceEditor.fileMetadataRemoveCustomTemplateConfirm": "Bu özel meta veriyi ve tüm değerlerini dosyadan silmek istediğinizden emin misiniz?",
|
|
635
636
|
"boxui.metadataInstanceEditor.fileMetadataRemoveTemplateConfirm": "Bu \"{metadataName}\" öğesini ve tüm değerlerini bu dosyadan silmek istediğinizden emin misiniz?",
|
|
636
637
|
"boxui.metadataInstanceEditor.folderMetadataRemoveCustomTemplateConfirm": "Bu özel meta veriyi ve tüm değerlerini silmek istediğinizden emin misiniz? Bu klasördeki dosyalara uygulanmış olan meta veri şablonu değerleri silinmez.",
|
|
@@ -644,6 +645,7 @@ export default {
|
|
|
644
645
|
"boxui.metadataInstanceEditor.noMetadataAddTemplate": "Bu öğeye meta veri eklemek için sağ üstteki \"Ekle\" seçeneğine tıklayın",
|
|
645
646
|
"boxui.metadataInstanceEditor.operationNotImmediate": "Bu işlemin gerçekleşmesi biraz zaman alabilir.",
|
|
646
647
|
"boxui.metadataInstanceEditor.removeTemplate": "Kaldır",
|
|
648
|
+
"boxui.metadataInstanceEditor.standardAgentName": "Standard",
|
|
647
649
|
"boxui.metadataInstanceEditor.templateAdd": "Ekle",
|
|
648
650
|
"boxui.metadataInstanceEditor.templateSearchPlaceholder": "Tüm şablonlarda ara",
|
|
649
651
|
"boxui.metadataInstanceEditor.templatesFetchFailed": "Üzgünüz! Şablonları alamadık. Lütfen yöneticinize danışın",
|
package/i18n/zh-CN.js
CHANGED
|
@@ -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/zh-TW.js
CHANGED
|
@@ -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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "box-ui-elements",
|
|
3
|
-
"version": "23.4.0-beta.
|
|
3
|
+
"version": "23.4.0-beta.32",
|
|
4
4
|
"description": "Box UI Elements",
|
|
5
5
|
"author": "Box (https://www.box.com/)",
|
|
6
6
|
"license": "SEE LICENSE IN LICENSE",
|
|
@@ -130,7 +130,7 @@
|
|
|
130
130
|
"@babel/types": "^7.24.7",
|
|
131
131
|
"@box/blueprint-web": "^12.7.1",
|
|
132
132
|
"@box/blueprint-web-assets": "^4.60.0",
|
|
133
|
-
"@box/box-ai-agent-selector": "^0.
|
|
133
|
+
"@box/box-ai-agent-selector": "^0.48.5",
|
|
134
134
|
"@box/box-ai-content-answers": "^0.124.1",
|
|
135
135
|
"@box/cldr-data": "^34.2.0",
|
|
136
136
|
"@box/combobox-with-api": "^0.34.9",
|
|
@@ -293,7 +293,7 @@
|
|
|
293
293
|
"peerDependencies": {
|
|
294
294
|
"@box/blueprint-web": "^12.7.1",
|
|
295
295
|
"@box/blueprint-web-assets": "^4.60.0",
|
|
296
|
-
"@box/box-ai-agent-selector": "^0.
|
|
296
|
+
"@box/box-ai-agent-selector": "^0.48.5",
|
|
297
297
|
"@box/box-ai-content-answers": "^0.124.1",
|
|
298
298
|
"@box/cldr-data": ">=34.2.0",
|
|
299
299
|
"@box/combobox-with-api": "^0.34.9",
|
|
@@ -93,10 +93,15 @@ type MetadataCascadePolicy = {
|
|
|
93
93
|
cascadePolicyType?: string,
|
|
94
94
|
};
|
|
95
95
|
|
|
96
|
+
type MetadataCascadePolicyConfiguration = {
|
|
97
|
+
agent: string,
|
|
98
|
+
};
|
|
99
|
+
|
|
96
100
|
type MetadataCascadingPolicyData = {
|
|
97
101
|
id?: string,
|
|
98
102
|
isEnabled: boolean,
|
|
99
103
|
overwrite: boolean,
|
|
104
|
+
cascadePolicyConfiguration: MetadataCascadePolicyConfiguration | null,
|
|
100
105
|
};
|
|
101
106
|
|
|
102
107
|
type MetadataInstance = {
|
|
@@ -187,6 +192,7 @@ export type {
|
|
|
187
192
|
MetadataQueryInstanceTypeField,
|
|
188
193
|
MetadataType,
|
|
189
194
|
MetadataCascadePolicy,
|
|
195
|
+
MetadataCascadePolicyConfiguration,
|
|
190
196
|
MetadataCascadingPolicyData,
|
|
191
197
|
MetadataInstanceV2,
|
|
192
198
|
MetadataEditor,
|
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
// @flow
|
|
2
2
|
import * as React from 'react';
|
|
3
|
-
import { FormattedMessage, useIntl } from 'react-intl';
|
|
4
3
|
|
|
5
4
|
import { InlineNotice } from '@box/blueprint-web';
|
|
6
|
-
import {
|
|
5
|
+
import { useCallback } from 'react';
|
|
6
|
+
import { FormattedMessage, useIntl } from 'react-intl';
|
|
7
|
+
|
|
7
8
|
// $FlowFixMe
|
|
8
|
-
import
|
|
9
|
+
import { BoxAiAdvancedColor, BoxAiColor } from '@box/blueprint-web-assets/icons/Medium';
|
|
10
|
+
import { type AgentType } from '@box/box-ai-agent-selector';
|
|
11
|
+
|
|
12
|
+
// $FlowFixMe
|
|
13
|
+
import { BoxAiAgentSelectorWithApiContainer } from '@box/box-ai-agent-selector';
|
|
9
14
|
|
|
10
15
|
import Toggle from '../../components/toggle';
|
|
11
16
|
import { RadioButton, RadioGroup } from '../../components/radio';
|
|
@@ -13,23 +18,11 @@ import Link from '../../components/link/Link';
|
|
|
13
18
|
import IconAlertDefault from '../../icons/general/IconAlertDefault';
|
|
14
19
|
import messages from './messages';
|
|
15
20
|
import './CascadePolicy.scss';
|
|
21
|
+
import { STANDARD_AGENT_ID, ENHANCED_AGENT_ID } from './constants';
|
|
16
22
|
|
|
17
23
|
const COMMUNITY_LINK = 'https://support.box.com/hc/en-us/articles/360044195873-Cascading-metadata-in-folders';
|
|
18
24
|
const AI_LINK = 'https://www.box.com/ai';
|
|
19
25
|
|
|
20
|
-
const agents = [
|
|
21
|
-
{
|
|
22
|
-
id: '1',
|
|
23
|
-
name: 'Basic',
|
|
24
|
-
isEnterpriseDefault: true,
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
id: '2',
|
|
28
|
-
name: 'Enhanced (Gemini 2.5 Pro)',
|
|
29
|
-
isEnterpriseDefault: false,
|
|
30
|
-
},
|
|
31
|
-
];
|
|
32
|
-
|
|
33
26
|
type Props = {
|
|
34
27
|
canEdit: boolean,
|
|
35
28
|
canUseAIFolderExtraction: boolean,
|
|
@@ -40,6 +33,7 @@ type Props = {
|
|
|
40
33
|
isCustomMetadata: boolean,
|
|
41
34
|
isExistingCascadePolicy: boolean,
|
|
42
35
|
onAIFolderExtractionToggle: (value: boolean) => void,
|
|
36
|
+
onAIAgentSelect?: (agent: AgentType | null) => void,
|
|
43
37
|
onCascadeModeChange: (value: boolean) => void,
|
|
44
38
|
onCascadeToggle: (value: boolean) => void,
|
|
45
39
|
shouldShowCascadeOptions: boolean,
|
|
@@ -55,6 +49,7 @@ const CascadePolicy = ({
|
|
|
55
49
|
isAIFolderExtractionEnabled,
|
|
56
50
|
isExistingCascadePolicy,
|
|
57
51
|
onAIFolderExtractionToggle,
|
|
52
|
+
onAIAgentSelect,
|
|
58
53
|
onCascadeToggle,
|
|
59
54
|
onCascadeModeChange,
|
|
60
55
|
shouldShowCascadeOptions,
|
|
@@ -67,6 +62,39 @@ const CascadePolicy = ({
|
|
|
67
62
|
</div>
|
|
68
63
|
) : null;
|
|
69
64
|
|
|
65
|
+
const agents = React.useMemo(
|
|
66
|
+
() => [
|
|
67
|
+
{
|
|
68
|
+
id: STANDARD_AGENT_ID,
|
|
69
|
+
name: formatMessage(messages.standardAgentName),
|
|
70
|
+
isEnterpriseDefault: true,
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
id: ENHANCED_AGENT_ID,
|
|
74
|
+
name: formatMessage(messages.enhancedAgentName),
|
|
75
|
+
isEnterpriseDefault: false,
|
|
76
|
+
customIcon: BoxAiAdvancedColor,
|
|
77
|
+
},
|
|
78
|
+
],
|
|
79
|
+
[formatMessage],
|
|
80
|
+
);
|
|
81
|
+
|
|
82
|
+
// BoxAiAgentSelectorWithApiContainer expects a function that returns a Promise<AgentListResponse>
|
|
83
|
+
// Since we're passing in our own agents, we don't need to make an API call,
|
|
84
|
+
// so we wrap the store data in a Promise to satisfy the component's interface requirements.
|
|
85
|
+
const agentFetcher = useCallback(() => {
|
|
86
|
+
return Promise.resolve({ agents });
|
|
87
|
+
}, [agents]);
|
|
88
|
+
|
|
89
|
+
const handleAgentSelect = useCallback(
|
|
90
|
+
(agent: AgentType | null) => {
|
|
91
|
+
if (onAIAgentSelect) {
|
|
92
|
+
onAIAgentSelect(agent);
|
|
93
|
+
}
|
|
94
|
+
},
|
|
95
|
+
[onAIAgentSelect],
|
|
96
|
+
);
|
|
97
|
+
|
|
70
98
|
return canEdit ? (
|
|
71
99
|
<>
|
|
72
100
|
{isExistingCascadePolicy && (
|
|
@@ -83,6 +111,7 @@ const CascadePolicy = ({
|
|
|
83
111
|
<FormattedMessage tagName="strong" {...messages.enableCascadePolicy} />
|
|
84
112
|
{!isCustomMetadata && (
|
|
85
113
|
<Toggle
|
|
114
|
+
aria-label={formatMessage(messages.enableCascadePolicy)}
|
|
86
115
|
className={`metadata-cascade-toggle ${
|
|
87
116
|
isCascadingEnabled ? 'cascade-on' : 'cascade-off'
|
|
88
117
|
}`}
|
|
@@ -141,9 +170,10 @@ const CascadePolicy = ({
|
|
|
141
170
|
<div className="metadata-cascade-editor" data-testid="ai-folder-extraction">
|
|
142
171
|
<div className="metadata-cascade-enable">
|
|
143
172
|
<div>
|
|
144
|
-
<
|
|
173
|
+
<BoxAiColor className="metadata-cascade-ai-logo" width={16} height={16} />
|
|
145
174
|
<FormattedMessage tagName="strong" {...messages.enableAIAutofill} />
|
|
146
175
|
<Toggle
|
|
176
|
+
aria-label={formatMessage(messages.enableAIAutofill)}
|
|
147
177
|
className="metadata-cascade-toggle"
|
|
148
178
|
isOn={isAIFolderExtractionEnabled}
|
|
149
179
|
isDisabled={isExistingCascadePolicy}
|
|
@@ -158,15 +188,13 @@ const CascadePolicy = ({
|
|
|
158
188
|
<FormattedMessage {...messages.aiAutofillLearnMore} />
|
|
159
189
|
</Link>
|
|
160
190
|
</div>
|
|
161
|
-
{canUseAIFolderExtractionAgentSelector && (
|
|
191
|
+
{canUseAIFolderExtractionAgentSelector && isAIFolderExtractionEnabled && (
|
|
162
192
|
<div className="metadata-cascade-ai-agent-selector">
|
|
163
|
-
<
|
|
164
|
-
agents={agents}
|
|
193
|
+
<BoxAiAgentSelectorWithApiContainer
|
|
165
194
|
disabled={isExistingCascadePolicy}
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
variant="sidebar"
|
|
195
|
+
fetcher={agentFetcher}
|
|
196
|
+
onSelectAgent={handleAgentSelect}
|
|
197
|
+
recordAction={() => {}}
|
|
170
198
|
/>
|
|
171
199
|
</div>
|
|
172
200
|
)}
|
|
@@ -6,6 +6,7 @@ import isEqual from 'lodash/isEqual';
|
|
|
6
6
|
import cloneDeep from 'lodash/cloneDeep';
|
|
7
7
|
import noop from 'lodash/noop';
|
|
8
8
|
|
|
9
|
+
import type { AgentType } from '@box/box-ai-agent-selector';
|
|
9
10
|
import Collapsible from '../../components/collapsible/Collapsible';
|
|
10
11
|
import Form from '../../components/form-elements/form/Form';
|
|
11
12
|
import LoadingIndicatorWrapper from '../../components/loading-indicator/LoadingIndicatorWrapper';
|
|
@@ -24,7 +25,12 @@ import MetadataInstanceConfirmDialog from './MetadataInstanceConfirmDialog';
|
|
|
24
25
|
import Footer from './Footer';
|
|
25
26
|
import messages from './messages';
|
|
26
27
|
import { FIELD_TYPE_FLOAT, FIELD_TYPE_INTEGER } from '../metadata-instance-fields/constants';
|
|
27
|
-
import {
|
|
28
|
+
import {
|
|
29
|
+
CASCADE_POLICY_TYPE_AI_EXTRACT,
|
|
30
|
+
TEMPLATE_CUSTOM_PROPERTIES,
|
|
31
|
+
ENHANCED_AGENT_CONFIGURATION,
|
|
32
|
+
ENHANCED_AGENT_ID,
|
|
33
|
+
} from './constants';
|
|
28
34
|
import {
|
|
29
35
|
JSON_PATCH_OP_REMOVE,
|
|
30
36
|
JSON_PATCH_OP_ADD,
|
|
@@ -38,6 +44,7 @@ import type {
|
|
|
38
44
|
MetadataFields,
|
|
39
45
|
MetadataTemplate,
|
|
40
46
|
MetadataCascadePolicy,
|
|
47
|
+
MetadataCascadePolicyConfiguration,
|
|
41
48
|
MetadataCascadingPolicyData,
|
|
42
49
|
MetadataTemplateField,
|
|
43
50
|
MetadataFieldValue,
|
|
@@ -69,6 +76,7 @@ type Props = {
|
|
|
69
76
|
};
|
|
70
77
|
|
|
71
78
|
type State = {
|
|
79
|
+
cascadePolicyConfiguration: MetadataCascadePolicyConfiguration | null,
|
|
72
80
|
data: Object,
|
|
73
81
|
errors: { [string]: React.Node },
|
|
74
82
|
isAIFolderExtractionEnabled: boolean,
|
|
@@ -212,6 +220,7 @@ class Instance extends React.PureComponent<Props, State> {
|
|
|
212
220
|
onSave,
|
|
213
221
|
}: Props = this.props;
|
|
214
222
|
const {
|
|
223
|
+
cascadePolicyConfiguration,
|
|
215
224
|
data: currentData,
|
|
216
225
|
errors,
|
|
217
226
|
isAIFolderExtractionEnabled,
|
|
@@ -229,6 +238,7 @@ class Instance extends React.PureComponent<Props, State> {
|
|
|
229
238
|
// reset state if cascading policy is removed
|
|
230
239
|
isAIFolderExtractionEnabled: isCascadingEnabled ? isAIFolderExtractionEnabled : false,
|
|
231
240
|
});
|
|
241
|
+
|
|
232
242
|
onSave(
|
|
233
243
|
id,
|
|
234
244
|
this.createJSONPatch(currentData, originalData),
|
|
@@ -239,6 +249,7 @@ class Instance extends React.PureComponent<Props, State> {
|
|
|
239
249
|
isEnabled: isCascadingEnabled,
|
|
240
250
|
overwrite: isCascadingOverwritten,
|
|
241
251
|
isAIFolderExtractionEnabled,
|
|
252
|
+
cascadePolicyConfiguration,
|
|
242
253
|
}
|
|
243
254
|
: undefined,
|
|
244
255
|
cloneDeep(currentData),
|
|
@@ -342,6 +353,23 @@ class Instance extends React.PureComponent<Props, State> {
|
|
|
342
353
|
this.setState({ isAIFolderExtractionEnabled: value }, this.setDirty);
|
|
343
354
|
};
|
|
344
355
|
|
|
356
|
+
/**
|
|
357
|
+
* Handles the selection of an AI agent
|
|
358
|
+
* @param {AgentType | null} agent - The selected agent
|
|
359
|
+
*/
|
|
360
|
+
onAIAgentSelect = (agent: AgentType | null): void => {
|
|
361
|
+
// '2' is the id for the enhanced agent
|
|
362
|
+
if (agent && agent.id === ENHANCED_AGENT_ID) {
|
|
363
|
+
this.setState({
|
|
364
|
+
cascadePolicyConfiguration: {
|
|
365
|
+
agent: ENHANCED_AGENT_CONFIGURATION,
|
|
366
|
+
},
|
|
367
|
+
});
|
|
368
|
+
} else {
|
|
369
|
+
this.setState({ cascadePolicyConfiguration: null });
|
|
370
|
+
}
|
|
371
|
+
};
|
|
372
|
+
|
|
345
373
|
/**
|
|
346
374
|
* Returns the state from props
|
|
347
375
|
*
|
|
@@ -351,6 +379,7 @@ class Instance extends React.PureComponent<Props, State> {
|
|
|
351
379
|
const isCascadingEnabled = this.isCascadingEnabledThroughProps(props);
|
|
352
380
|
|
|
353
381
|
return {
|
|
382
|
+
cascadePolicyConfiguration: null,
|
|
354
383
|
data: cloneDeep(props.data),
|
|
355
384
|
errors: {},
|
|
356
385
|
isAIFolderExtractionEnabled: this.isAIFolderExtractionEnabledThroughProps(props),
|
|
@@ -681,6 +710,7 @@ class Instance extends React.PureComponent<Props, State> {
|
|
|
681
710
|
isCascadingOverwritten={isCascadingOverwritten}
|
|
682
711
|
isCustomMetadata={isProperties}
|
|
683
712
|
isExistingCascadePolicy={isExistingCascadePolicy}
|
|
713
|
+
onAIAgentSelect={this.onAIAgentSelect}
|
|
684
714
|
onAIFolderExtractionToggle={this.onAIFolderExtractionToggle}
|
|
685
715
|
onCascadeModeChange={this.onCascadeModeChange}
|
|
686
716
|
onCascadeToggle={this.onCascadeToggle}
|
|
@@ -113,21 +113,68 @@ describe('features/metadata-instance-editor/CascadePolicy', () => {
|
|
|
113
113
|
});
|
|
114
114
|
|
|
115
115
|
describe('AI Agent Selector', () => {
|
|
116
|
-
test('should render AI agent selector with default to basic when AI features are enabled', () => {
|
|
116
|
+
test('should render AI agent selector with default to basic when AI features are enabled', async () => {
|
|
117
117
|
render(
|
|
118
118
|
<CascadePolicy
|
|
119
119
|
canEdit
|
|
120
120
|
canUseAIFolderExtraction
|
|
121
121
|
canUseAIFolderExtractionAgentSelector
|
|
122
122
|
shouldShowCascadeOptions
|
|
123
|
+
isAIFolderExtractionEnabled
|
|
124
|
+
onAIFolderExtractionToggle={jest.fn()}
|
|
123
125
|
/>,
|
|
124
126
|
);
|
|
125
|
-
|
|
127
|
+
|
|
128
|
+
const aiToggle = screen.getByRole('switch', { name: 'Box AI Autofill' });
|
|
129
|
+
await userEvent.click(aiToggle); // Enable AI
|
|
130
|
+
|
|
131
|
+
expect(aiToggle).toBeChecked();
|
|
132
|
+
|
|
133
|
+
expect(screen.getByRole('combobox', { name: 'Standard' })).toBeInTheDocument();
|
|
126
134
|
});
|
|
127
135
|
|
|
128
136
|
test('should not render AI agent selector when canUseAIFolderExtractionAgentSelector is false', () => {
|
|
129
137
|
render(<CascadePolicy canEdit canUseAIFolderExtraction shouldShowCascadeOptions />);
|
|
130
|
-
expect(screen.queryByRole('combobox', { name: '
|
|
138
|
+
expect(screen.queryByRole('combobox', { name: 'Standard' })).not.toBeInTheDocument();
|
|
139
|
+
});
|
|
140
|
+
|
|
141
|
+
test('should call onAIAgentSelect when an agent is selected', async () => {
|
|
142
|
+
const onAIAgentSelect = jest.fn();
|
|
143
|
+
render(
|
|
144
|
+
<CascadePolicy
|
|
145
|
+
canEdit
|
|
146
|
+
canUseAIFolderExtraction
|
|
147
|
+
canUseAIFolderExtractionAgentSelector
|
|
148
|
+
shouldShowCascadeOptions
|
|
149
|
+
isAIFolderExtractionEnabled
|
|
150
|
+
onAIAgentSelect={onAIAgentSelect}
|
|
151
|
+
onAIFolderExtractionToggle={jest.fn()}
|
|
152
|
+
/>,
|
|
153
|
+
);
|
|
154
|
+
|
|
155
|
+
const aiToggle = screen.getByRole('switch', { name: 'Box AI Autofill' });
|
|
156
|
+
await userEvent.click(aiToggle); // Enable AI
|
|
157
|
+
|
|
158
|
+
expect(aiToggle).toBeChecked();
|
|
159
|
+
|
|
160
|
+
// Find the combobox by its accessible name
|
|
161
|
+
const combobox = screen.getByRole('combobox', { name: 'Standard' });
|
|
162
|
+
|
|
163
|
+
// Open the combobox (simulate user click)
|
|
164
|
+
await userEvent.click(combobox);
|
|
165
|
+
|
|
166
|
+
// Find the option for "Advanced" and select it
|
|
167
|
+
const option = await screen.findByRole('option', { name: 'Enhanced' });
|
|
168
|
+
await userEvent.click(option);
|
|
169
|
+
|
|
170
|
+
// The expected agent object (should match the one in CascadePolicy.js)
|
|
171
|
+
const expectedAgent = {
|
|
172
|
+
id: '1',
|
|
173
|
+
name: 'Standard',
|
|
174
|
+
isEnterpriseDefault: true,
|
|
175
|
+
};
|
|
176
|
+
|
|
177
|
+
expect(onAIAgentSelect).toHaveBeenCalledWith(expectedAgent);
|
|
131
178
|
});
|
|
132
179
|
});
|
|
133
180
|
|