@backstage-community/plugin-rbac 1.48.1 → 1.49.0
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/CHANGELOG.md +12 -0
- package/README.md +30 -0
- package/dist/alpha/apis.esm.js +29 -0
- package/dist/alpha/apis.esm.js.map +1 -0
- package/dist/alpha/navItems.esm.js +14 -0
- package/dist/alpha/navItems.esm.js.map +1 -0
- package/dist/alpha/pages.esm.js +14 -0
- package/dist/alpha/pages.esm.js.map +1 -0
- package/dist/{translations → alpha/translations}/de.esm.js +79 -79
- package/dist/alpha/translations/de.esm.js.map +1 -0
- package/dist/alpha/translations/es.esm.js +178 -0
- package/dist/alpha/translations/es.esm.js.map +1 -0
- package/dist/{translations → alpha/translations}/fr.esm.js +1 -0
- package/dist/alpha/translations/fr.esm.js.map +1 -0
- package/dist/alpha/translations/index.esm.js.map +1 -0
- package/dist/{translations → alpha/translations}/it.esm.js +1 -0
- package/dist/alpha/translations/it.esm.js.map +1 -0
- package/dist/{translations → alpha/translations}/ja.esm.js +1 -0
- package/dist/alpha/translations/ja.esm.js.map +1 -0
- package/dist/{translations → alpha/translations}/ref.esm.js +1 -0
- package/dist/alpha/translations/ref.esm.js.map +1 -0
- package/dist/alpha.d.ts +79 -1
- package/dist/alpha.esm.js +30 -2
- package/dist/alpha.esm.js.map +1 -1
- package/dist/components/ConditionalAccess/AddNestedConditionButton.esm.js.map +1 -1
- package/dist/components/ConditionalAccess/const.esm.js.map +1 -1
- package/dist/components/CreateRole/AddMembersForm.esm.js.map +1 -1
- package/dist/components/CreateRole/AddedMembersTableColumn.esm.js.map +1 -1
- package/dist/components/CreateRole/ReviewStep.esm.js.map +1 -1
- package/dist/components/CreateRole/SelectedPermissionPoliciesColumn.esm.js.map +1 -1
- package/dist/components/RbacPage.esm.js +1 -1
- package/dist/components/RbacPage.esm.js.map +1 -1
- package/dist/components/RoleOverview/MembersListColumns.esm.js.map +1 -1
- package/dist/components/RoleOverview/PermissionsListColumns.esm.js.map +1 -1
- package/dist/components/RolesList/RolesListColumns.esm.js.map +1 -1
- package/dist/components/Trans.esm.js.map +1 -1
- package/dist/hooks/useTranslation.esm.js +2 -2
- package/dist/hooks/useTranslation.esm.js.map +1 -1
- package/dist/package.json.esm.js +154 -0
- package/dist/package.json.esm.js.map +1 -0
- package/dist/utils/conditional-access-utils.esm.js.map +1 -1
- package/dist/utils/create-role-utils.esm.js.map +1 -1
- package/dist/utils/rbac-utils.esm.js.map +1 -1
- package/dist/utils/role-form-utils.esm.js.map +1 -1
- package/package.json +12 -3
- package/dist/translations/de.esm.js.map +0 -1
- package/dist/translations/es.esm.js +0 -178
- package/dist/translations/es.esm.js.map +0 -1
- package/dist/translations/fr.esm.js.map +0 -1
- package/dist/translations/index.esm.js.map +0 -1
- package/dist/translations/it.esm.js.map +0 -1
- package/dist/translations/ja.esm.js.map +0 -1
- package/dist/translations/ref.esm.js.map +0 -1
- /package/dist/{translations → alpha/translations}/index.esm.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"es.esm.js","sources":["../../../src/alpha/translations/es.ts"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createTranslationMessages } from '@backstage/core-plugin-api/alpha';\nimport { rbacTranslationRef } from './ref';\n\n/**\n * es translation for plugin.rbac.\n * @public\n */\nconst rbacTranslationEs = createTranslationMessages({\n ref: rbacTranslationRef,\n messages: {\n 'page.title': 'RBAC',\n 'page.createRole': 'Crear rol',\n 'page.editRole': 'Modificar rol',\n 'table.searchPlaceholder': 'Filtrar',\n 'table.labelRowsSelect': 'Filas',\n 'table.title': 'Todos los roles',\n 'table.titleWithCount': 'Todos los roles ({{count}})',\n 'table.headers.name': 'Nombre',\n 'table.headers.usersAndGroups': 'Usuarios y grupos',\n 'table.headers.accessiblePlugins': 'Complementos accesibles',\n 'table.headers.actions': 'Acciones',\n 'table.emptyContent': 'No se encontraron registros',\n 'toolbar.createButton': 'Crear',\n 'toolbar.warning.title': 'No se puede crear el rol.',\n 'toolbar.warning.message':\n 'Para habilitar el botón crear/modificar rol, asegúrese de que los usuarios/grupos requeridos estén disponibles en el catálogo, ya que no se puede crear un rol sin usuarios/grupos, y el rol asociado con su usuario debe tener las políticas de permisos mencionadas <link>aquí</link>.',\n 'toolbar.warning.linkText': 'aquí',\n 'toolbar.warning.note': 'Nota',\n 'toolbar.warning.noteText':\n 'Incluso después de importar usuarios/grupos en el catálogo y aplicar los permisos anteriores, si el botón crear/modificar aún está deshabilitado, comuníquese con su administrador, ya que es posible que tenga restringido de forma condicional el acceso al botón crear/modificar.',\n 'errors.notFound': 'No encontrado',\n 'errors.notAllowed': 'Permisos insuficientes para acceder a esta página',\n 'errors.unauthorized': 'No tiene autorización para crear el rol',\n 'errors.rbacDisabled':\n 'Habilite el complemento RBAC de back-end para utilizar esta funcionalidad.',\n 'errors.rbacDisabledInfo':\n 'Para habilitar RBAC, configure `permission.enabled` en `true` en el archivo app-config.',\n 'errors.fetchRoles': 'Algo salió mal al extraer los roles',\n 'errors.fetchRole': 'Algo salió mal al extraer el rol',\n 'errors.fetchPoliciesErr': 'Error al extraer las políticas. {{error}}',\n 'errors.fetchPolicies':\n 'Algo salió mal al extraer las políticas de permisos',\n 'errors.fetchPlugins': 'Error al extraer los complementos. {{error}}',\n 'errors.fetchConditionalPermissionPolicies':\n 'Error al extraer las políticas de permisos condicionales. {{error}}',\n 'errors.fetchConditions':\n 'Algo salió mal al extraer las condiciones del rol',\n 'errors.fetchUsersAndGroups':\n 'Algo salió mal al extraer los usuarios y grupos',\n 'errors.createRole': 'No se puede crear el rol.',\n 'errors.editRole': 'No se puede modificar el rol.',\n 'errors.deleteRole': 'No se puede eliminar el rol.',\n 'errors.roleCreatedSuccess':\n 'El rol se creó correctamente, pero no se pueden agregar políticas de permisos a él.',\n 'errors.roleCreatedConditionsSuccess':\n 'El rol se creó correctamente, pero no se pueden agregar condiciones a él.',\n 'roleForm.titles.createRole': 'Crear rol',\n 'roleForm.titles.editRole': 'Modificar rol',\n 'roleForm.titles.nameAndDescription':\n 'Ingresar el nombre y la descripción del rol',\n 'roleForm.titles.usersAndGroups': 'Agregar usuarios y grupos',\n 'roleForm.titles.permissionPolicies': 'Agregar políticas de permisos',\n 'roleForm.review.reviewAndCreate': 'Revisar y crear',\n 'roleForm.review.reviewAndSave': 'Revisar y guardar',\n 'roleForm.review.nameDescriptionOwner':\n 'Nombre, descripción y propietario del rol',\n 'roleForm.review.permissionPoliciesWithCount':\n 'Políticas de permisos ({{count}})',\n 'roleForm.steps.next': 'Siguiente',\n 'roleForm.steps.back': 'Atrás',\n 'roleForm.steps.cancel': 'Cancelar',\n 'roleForm.steps.reset': 'Reiniciar',\n 'roleForm.steps.create': 'Crear',\n 'roleForm.steps.save': 'Guardar',\n 'roleForm.fields.name.label': 'Nombre',\n 'roleForm.fields.name.helperText': 'Ingresar el nombre del rol',\n 'roleForm.fields.description.label': 'Descripción',\n 'roleForm.fields.description.helperText':\n 'Ingrese una breve descripción sobre el rol (el propósito del rol)',\n 'roleForm.fields.owner.label': 'Propietario',\n 'roleForm.fields.owner.helperText':\n 'Opcional: Ingrese un usuario o grupo que tenga permiso para modificar este rol y crear roles adicionales. En el siguiente paso, especifique a qué usuarios pueden asignar sus roles y a qué complementos pueden conceder acceso. Si se deja en blanco, se asigna automáticamente el autor en el momento de la creación.',\n 'deleteDialog.title': 'Eliminar rol',\n 'deleteDialog.question': '¿Eliminar este rol?',\n 'deleteDialog.confirmation':\n '¿Confirma que desea eliminar el rol **{{roleName}}**? Esta acción no se puede deshacer y eliminará la funcionalidad del rol del sistema. Proceda con precaución. Los **{{members}}** asociados con este rol perderán acceso a todas las **políticas de permisos de {{permissions}}** especificadas en este rol.',\n 'deleteDialog.roleNameLabel': 'Nombre del rol',\n 'deleteDialog.roleNameHelper': 'Escriba el nombre del rol para confirmar',\n 'deleteDialog.deleteButton': 'Eliminar',\n 'deleteDialog.cancelButton': 'Cancelar',\n 'deleteDialog.successMessage': 'Rol {{roleName}} eliminado correctamente',\n 'snackbar.success': 'Éxito',\n 'dialog.cancelRoleCreation': 'Cancelar la creación del rol',\n 'dialog.exitRoleCreation': '¿Salir de la creación de roles?',\n 'dialog.exitRoleEditing': '¿Salir de la modificación de roles?',\n 'dialog.exitWarning':\n '\\n\\nAl salir de esta página, se descartará la información ingresada de forma permanente. ¿Confirma que desea salir?',\n 'dialog.discard': 'Descartar',\n 'dialog.cancel': 'Cancelar',\n 'conditionalAccess.condition': 'Condición',\n 'conditionalAccess.allOf': 'Todas',\n 'conditionalAccess.anyOf': 'Cualquiera de',\n 'conditionalAccess.not': 'No',\n 'conditionalAccess.addNestedCondition': 'Agregar condición anidada',\n 'conditionalAccess.addRule': 'Agregar regla',\n 'conditionalAccess.nestedConditionTooltip':\n 'Las condiciones anidadas son **reglas de una capa dentro de una condición principal**. Le permite habilitar el acceso apropiado mediante el uso de permisos detallados basados en diversas condiciones. Puede agregar varias condiciones anidadas.',\n 'conditionalAccess.nestedConditionExample':\n 'Por ejemplo, puede permitir el acceso a todos los tipos de entidades en la condición principal y usar una condición anidada para limitar el acceso a las entidades que son propiedad del usuario.',\n 'permissionPolicies.helperText':\n 'De forma predeterminada, a los usuarios no se les concede acceso a ningún complemento. Para otorgar acceso a los usuarios, seleccione los complementos que desea habilitar. Luego, seleccione las acciones a las que desea otorgarle permiso al usuario.',\n 'permissionPolicies.allPlugins': 'Todos los complementos ({{count}})',\n 'permissionPolicies.errorFetchingPolicies':\n 'Error al extraer las políticas de permisos: {{error}}',\n 'permissionPolicies.resourceTypeTooltip':\n 'tipo de recurso: {{resourceType}}',\n 'permissionPolicies.advancedPermissionsTooltip':\n 'Utilice permisos personalizados avanzados para permitir el acceso a partes específicas del tipo de recurso seleccionado.',\n 'permissionPolicies.noAdvancedPermissionsTooltip':\n 'No se admite la personalización avanzada para este tipo de recurso.',\n 'permissionPolicies.pluginsSelected': '{{count}} complementos',\n 'permissionPolicies.noPluginsSelected': 'No hay complementos seleccionados',\n 'permissionPolicies.search': 'Buscar',\n 'permissionPolicies.noRecordsToDisplay': 'No hay registros para mostrar.',\n 'permissionPolicies.selectedPluginsAppearHere':\n 'Los complementos seleccionados aparecen aquí.',\n 'permissionPolicies.selectPlugins': 'Seleccionar complementos',\n 'permissionPolicies.noPluginsFound': 'No se encontraron complementos.',\n 'permissionPolicies.plugin': 'Complemento',\n 'permissionPolicies.permission': 'Permiso',\n 'permissionPolicies.policies': 'Políticas',\n 'permissionPolicies.conditional': 'Condicional',\n 'permissionPolicies.rules': 'reglas',\n 'permissionPolicies.rule': 'regla',\n 'permissionPolicies.permissionPolicies': 'Políticas de permisos',\n 'permissionPolicies.permissions': 'permisos',\n 'common.noResults': 'No hay resultados para este rango de fechas.',\n 'common.exportCSV': 'Exportar CSV',\n 'common.csvFilename': 'data-export.csv',\n 'common.noMembers': 'No hay miembros',\n 'common.groups': 'grupos',\n 'common.group': 'grupo',\n 'common.users': 'usuarios',\n 'common.user': 'usuario',\n 'common.use': 'Usar',\n 'common.refresh': 'Actualizar',\n 'common.edit': 'Modificar',\n 'common.unauthorizedToEdit': 'No tiene autorización para modificar',\n 'common.noRecordsFound': 'No se encontraron registros',\n 'common.selectUsersAndGroups': 'Seleccionar usuarios y grupos',\n 'common.clearSearch': 'borrar búsqueda',\n 'common.closeDrawer': 'Cerrar el panel',\n 'common.remove': 'Eliminar',\n 'common.addRule': 'Agregar regla',\n 'common.selectRule': 'Seleccionar una regla',\n 'common.rule': 'Regla',\n 'common.removeNestedCondition': 'Eliminar condición anidada',\n 'common.overview': 'Visión general',\n 'common.about': 'Acerca de',\n 'common.description': 'Descripción',\n 'common.modifiedBy': 'Modificado por',\n 'common.lastModified': 'Última modificación',\n 'common.owner': 'Propietario',\n 'common.noUsersAndGroupsSelected':\n 'No hay usuarios ni grupos seleccionados',\n 'common.selectedUsersAndGroupsAppearHere':\n 'Aquí aparecen los usuarios y grupos seleccionados.',\n 'common.name': 'Nombre',\n 'common.type': 'Tipo',\n 'common.members': 'Miembros',\n 'common.actions': 'Acciones',\n 'common.removeMember': 'Eliminar miembro',\n 'common.delete': 'Eliminar',\n 'common.deleteRole': 'Eliminar rol',\n 'common.update': 'Actualizar',\n 'common.editRole': 'Modificar rol',\n 'common.checkingPermissions': 'Comprobando permisos…',\n 'common.unauthorizedTo': 'No tiene autorización para {{acción}}',\n 'common.performThisAction': 'realizar esta acción',\n 'common.unableToCreatePermissionPolicies':\n 'No se pueden crear las políticas de permisos.',\n 'common.unableToDeletePermissionPolicies':\n 'No se pueden eliminar las políticas de permisos.',\n 'common.unableToRemoveConditions':\n 'No se pueden eliminar las condiciones del rol.',\n 'common.unableToUpdateConditions':\n 'No se pueden actualizar las condiciones.',\n 'common.unableToAddConditions': 'No se pueden agregar condiciones al rol.',\n 'common.roleActionSuccessfully':\n 'El rol {{roleName}} {{action}} correctamente',\n 'common.unableToFetchRole': 'No se puede extraer el rol: {{error}}',\n 'common.unableToFetchMembers':\n 'No se pueden extraer los miembros: {{error}}',\n 'common.roleAction': '{{action}} rol',\n 'common.membersCount': '{{count}} miembros',\n 'common.parentGroupCount': '{{count}} grupo principal',\n 'common.childGroupsCount': '{{count}} grupos secundarios',\n 'common.searchAndSelectUsersGroups':\n 'Busque y seleccione los usuarios y grupos que desea agregar. Los usuarios y grupos seleccionados aparecerán en la tabla a continuación.',\n 'common.noUsersAndGroupsFound': 'No se encontraron usuarios ni grupos.',\n 'common.errorFetchingUserGroups':\n 'Error al extraer usuarios y grupos: {{error}}',\n 'common.nameRequired': 'El nombre es obligatorio',\n 'common.noMemberSelected': 'No se seleccionaron miembros',\n 'common.noPluginSelected': 'No hay complementos seleccionados',\n 'common.pluginRequired': 'Se requiere complemento',\n 'common.permissionRequired': 'Se requiere permiso',\n 'common.editCell': 'Modificar...',\n 'common.selectCell': 'Seleccionar...',\n 'common.expandRow': 'expandir fila',\n 'common.configureAccessFor': 'Configurar acceso para',\n 'common.defaultResourceTypeVisible':\n 'De forma predeterminada, todos los usuarios agregados pueden visualizar el tipo de recurso seleccionado. Si desea restringir u otorgar permiso a reglas de complementos específicas, selecciónelas y agregue los parámetros.',\n },\n});\n\nexport default rbacTranslationEs;\n"],"names":[],"mappings":"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"}
|
|
@@ -23,6 +23,7 @@ const rbacTranslationFr = createTranslationMessages({
|
|
|
23
23
|
"toolbar.warning.note": "Note",
|
|
24
24
|
"toolbar.warning.noteText": "M\xEAme apr\xE8s avoir ing\xE9r\xE9 des utilisateurs/groupes dans le catalogue et appliqu\xE9 les autorisations ci-dessus, si le bouton Cr\xE9er/Modifier est toujours d\xE9sactiv\xE9, veuillez contacter votre administrateur car vous pourriez \xEAtre conditionnellement limit\xE9 dans l'acc\xE8s au bouton Cr\xE9er/Modifier.",
|
|
25
25
|
"errors.notFound": "Non trouv\xE9",
|
|
26
|
+
"errors.notAllowed": "Permissions insuffisantes pour acc\xE9der \xE0 cette page",
|
|
26
27
|
"errors.unauthorized": "Non autoris\xE9 \xE0 cr\xE9er un r\xF4le",
|
|
27
28
|
"errors.rbacDisabled": "Activez le plugin backend RBAC pour utiliser cette fonctionnalit\xE9.",
|
|
28
29
|
"errors.rbacDisabledInfo": "Pour activer RBAC, d\xE9finissez \xAB\xA0permission.enabled\xA0\xBB sur \xAB\xA0true\xA0\xBB dans le fichier app-config.",
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fr.esm.js","sources":["../../../src/alpha/translations/fr.ts"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createTranslationMessages } from '@backstage/core-plugin-api/alpha';\nimport { rbacTranslationRef } from './ref';\n\n/**\n * fr translation for plugin.rbac.\n * @public\n */\nconst rbacTranslationFr = createTranslationMessages({\n ref: rbacTranslationRef,\n messages: {\n 'page.title': 'RBAC',\n 'page.createRole': 'Créer un rôle',\n 'page.editRole': 'Modifier le rôle',\n 'table.searchPlaceholder': 'Filtre',\n 'table.labelRowsSelect': 'Lignes',\n 'table.title': 'Tous les rôles',\n 'table.titleWithCount': 'Tous les rôles ({{count}})',\n 'table.headers.name': 'Nom',\n 'table.headers.usersAndGroups': 'Utilisateurs et groupes',\n 'table.headers.accessiblePlugins': 'Plugins accessibles',\n 'table.headers.actions': 'Actes',\n 'table.emptyContent': 'Aucun enregistrement trouvé',\n 'toolbar.createButton': 'Créer',\n 'toolbar.warning.title': 'Impossible de créer le rôle.',\n 'toolbar.warning.message':\n \"Pour activer le bouton Créer/Modifier un rôle, assurez-vous que les utilisateurs/groupes requis sont disponibles dans le catalogue, car un rôle ne peut pas être créé sans utilisateurs/groupes et que le rôle associé à votre utilisateur doit également avoir les politiques d'autorisation mentionnées. <link>ici</link>.\",\n 'toolbar.warning.linkText': 'ici',\n 'toolbar.warning.note': 'Note',\n 'toolbar.warning.noteText':\n \"Même après avoir ingéré des utilisateurs/groupes dans le catalogue et appliqué les autorisations ci-dessus, si le bouton Créer/Modifier est toujours désactivé, veuillez contacter votre administrateur car vous pourriez être conditionnellement limité dans l'accès au bouton Créer/Modifier.\",\n 'errors.notFound': 'Non trouvé',\n 'errors.notAllowed': 'Permissions insuffisantes pour accéder à cette page',\n 'errors.unauthorized': 'Non autorisé à créer un rôle',\n 'errors.rbacDisabled':\n 'Activez le plugin backend RBAC pour utiliser cette fonctionnalité.',\n 'errors.rbacDisabledInfo':\n 'Pour activer RBAC, définissez « permission.enabled » sur « true » dans le fichier app-config.',\n 'errors.fetchRoles':\n \"Une erreur s'est produite lors de la récupération des rôles\",\n 'errors.fetchRole':\n \"Une erreur s'est produite lors de la récupération du rôle\",\n 'errors.fetchPoliciesErr':\n 'Erreur lors de la récupération des politiques. {{error}}',\n 'errors.fetchPolicies':\n \"Une erreur s'est produite lors de la récupération des politiques d'autorisation.\",\n 'errors.fetchPlugins':\n 'Erreur lors de la récupération des plugins. {{error}}',\n 'errors.fetchConditionalPermissionPolicies':\n \"Erreur lors de la récupération des politiques d'autorisation conditionnelle. {{error}}\",\n 'errors.fetchConditions':\n \"Une erreur s'est produite lors de la récupération des conditions de rôle\",\n 'errors.fetchUsersAndGroups':\n \"Une erreur s'est produite lors de la récupération des utilisateurs et des groupes\",\n 'errors.createRole': 'Impossible de créer le rôle.',\n 'errors.editRole': 'Impossible de modifier le rôle.',\n 'errors.deleteRole': 'Impossible de supprimer le rôle.',\n 'errors.roleCreatedSuccess':\n \"Le rôle a été créé avec succès, mais il n'a pas été possible d'ajouter des stratégies d'autorisation au rôle.\",\n 'errors.roleCreatedConditionsSuccess':\n \"Rôle créé avec succès mais impossible d'ajouter des conditions au rôle.\",\n 'roleForm.titles.createRole': 'Créer un rôle',\n 'roleForm.titles.editRole': 'Modifier le rôle',\n 'roleForm.titles.nameAndDescription':\n 'Entrez le nom et la description du rôle',\n 'roleForm.titles.usersAndGroups': 'Ajouter des utilisateurs et des groupes',\n 'roleForm.titles.permissionPolicies':\n \"Ajouter des politiques d'autorisation\",\n 'roleForm.review.reviewAndCreate': 'Réviser et créer',\n 'roleForm.review.reviewAndSave': 'Révisez et enregistrez',\n 'roleForm.review.nameDescriptionOwner':\n 'Nom, description et propriétaire du rôle',\n 'roleForm.review.permissionPoliciesWithCount':\n \"Politiques d'autorisations ({{count}})\",\n 'roleForm.steps.next': 'Suivant',\n 'roleForm.steps.back': 'Retour',\n 'roleForm.steps.cancel': 'Annuler',\n 'roleForm.steps.reset': 'Réinitialiser',\n 'roleForm.steps.create': 'Créer',\n 'roleForm.steps.save': 'Sauvegarder',\n 'roleForm.fields.name.label': 'Nom',\n 'roleForm.fields.name.helperText': 'Entrez le nom du rôle',\n 'roleForm.fields.description.label': 'Description',\n 'roleForm.fields.description.helperText':\n 'Saisissez une brève description du rôle (le but du rôle)',\n 'roleForm.fields.owner.label': 'Propriétaire',\n 'roleForm.fields.owner.helperText':\n \"Facultatif : saisissez un utilisateur ou un groupe qui sera autorisé à modifier ce rôle et à créer des rôles supplémentaires. À l’étape suivante, spécifiez les utilisateurs auxquels ils peuvent attribuer leurs rôles et les plugins auxquels ils peuvent accorder l’accès. Si laissé vide, attribue automatiquement l'auteur lors de la création.\",\n 'deleteDialog.title': 'Supprimer le rôle',\n 'deleteDialog.question': 'Supprimer ce rôle ?',\n 'deleteDialog.confirmation':\n \"Êtes-vous sûr de vouloir supprimer le rôle **{{roleName}}** ? La suppression de ce rôle est irréversible et supprimera sa fonctionnalité du système. Procédez avec prudence. Les **{{members}}** associés à ce rôle perdront l'accès à toutes les **{{permissions}} politiques d'autorisation** spécifiées dans ce rôle.\",\n 'deleteDialog.roleNameLabel': 'Nom du rôle',\n 'deleteDialog.roleNameHelper': 'Tapez le nom du rôle pour confirmer',\n 'deleteDialog.deleteButton': 'Supprimer',\n 'deleteDialog.cancelButton': 'Annuler',\n 'deleteDialog.successMessage':\n 'Le rôle {{roleName}} a été supprimé avec succès',\n 'snackbar.success': 'Succès',\n 'dialog.cancelRoleCreation': 'Annuler la création du rôle',\n 'dialog.exitRoleCreation': \"Création d'un rôle de sortie ?\",\n 'dialog.exitRoleEditing': \"Quitter l'édition du rôle ?\",\n 'dialog.exitWarning':\n '\\n\\nQuitter cette page supprimera définitivement les informations que vous avez saisies. Etes-vous sûr de vouloir quitter ?',\n 'dialog.discard': 'Ignorer',\n 'dialog.cancel': 'Annuler',\n 'conditionalAccess.condition': 'Condition',\n 'conditionalAccess.allOf': 'AllOf',\n 'conditionalAccess.anyOf': 'AnyOf',\n 'conditionalAccess.not': 'Aucun',\n 'conditionalAccess.addNestedCondition': 'Ajouter une condition imbriquée',\n 'conditionalAccess.addRule': 'Ajouter une règle',\n 'conditionalAccess.nestedConditionTooltip':\n \"Les conditions imbriquées sont des **règles à 1 couche dans une condition principale**. Il vous permet d'autoriser un accès approprié en utilisant des autorisations détaillées basées sur diverses conditions. Vous pouvez ajouter plusieurs conditions imbriquées.\",\n 'conditionalAccess.nestedConditionExample':\n 'Par exemple, vous pouvez autoriser l’accès à tous les types d’entités dans la condition principale et utiliser une condition imbriquée pour limiter l’accès aux entités appartenant à l’utilisateur.',\n 'permissionPolicies.helperText':\n \"Par défaut, les utilisateurs n'ont accès à aucun plugin. Pour accorder l’accès utilisateur, sélectionnez les plugins que vous souhaitez activer. Ensuite, sélectionnez les actions pour lesquelles vous souhaitez accorder l’autorisation à l’utilisateur.\",\n 'permissionPolicies.allPlugins': 'Tous les plugins ({{count}})',\n 'permissionPolicies.errorFetchingPolicies':\n \"Erreur lors de la récupération des politiques d'autorisation : {{error}}\",\n 'permissionPolicies.resourceTypeTooltip':\n 'type de ressource : {{resourceType}}',\n 'permissionPolicies.advancedPermissionsTooltip':\n 'Utilisez des autorisations personnalisées avancées pour autoriser l’accès à des parties spécifiques du type de ressource sélectionné.',\n 'permissionPolicies.pluginsSelected': '{{count}} plugins',\n 'permissionPolicies.noPluginsSelected': 'Aucun plugin sélectionné',\n 'permissionPolicies.search': 'Recherche',\n 'permissionPolicies.noRecordsToDisplay': 'Aucun enregistrement à afficher',\n 'permissionPolicies.selectedPluginsAppearHere':\n 'Les plugins sélectionnés apparaissent ici.',\n 'permissionPolicies.selectPlugins': 'Sélectionner les plugins',\n 'permissionPolicies.noPluginsFound': 'Aucun plugin trouvé',\n 'permissionPolicies.plugin': 'Plugin',\n 'permissionPolicies.permission': 'Autorisation',\n 'permissionPolicies.policies': 'Politiques',\n 'permissionPolicies.conditional': 'Conditionnel',\n 'permissionPolicies.rules': 'règles',\n 'permissionPolicies.rule': 'règle',\n 'permissionPolicies.permissionPolicies': \"Politiques d'autorisation\",\n 'permissionPolicies.permissions': 'autorisations',\n 'common.noResults': 'Aucun résultat pour cette plage de dates.',\n 'common.exportCSV': 'Exporter au format CSV',\n 'common.csvFilename': 'export-de-données.csv',\n 'common.noMembers': 'Aucun membre',\n 'common.groups': 'groupes',\n 'common.group': 'groupe',\n 'common.users': 'utilisateurs',\n 'common.user': 'utilisateur',\n 'common.use': 'Utiliser',\n 'common.refresh': 'Rafraîchir',\n 'common.edit': 'Modifier',\n 'common.unauthorizedToEdit': 'Modification non autorisée',\n 'common.noRecordsFound': 'Aucun enregistrement trouvé',\n 'common.selectUsersAndGroups':\n 'Sélectionner les utilisateurs et les groupes',\n 'common.clearSearch': 'supprimer la recherche',\n 'common.closeDrawer': 'Fermez le tiroir',\n 'common.remove': 'Supprimer',\n 'common.addRule': 'Ajouter une règle',\n 'common.selectRule': 'Sélectionnez une règle',\n 'common.rule': 'Règle',\n 'common.removeNestedCondition': 'Supprimer la condition imbriquée',\n 'common.overview': 'Vue d’ensemble',\n 'common.about': 'À propos',\n 'common.description': 'Description',\n 'common.modifiedBy': 'Modifié par',\n 'common.lastModified': 'Dernière modification',\n 'common.owner': 'Propriétaire',\n 'common.noUsersAndGroupsSelected':\n 'Aucun utilisateur ni groupe sélectionné',\n 'common.selectedUsersAndGroupsAppearHere':\n 'Les utilisateurs et groupes sélectionnés apparaissent ici.',\n 'common.name': 'Nom',\n 'common.type': 'Type',\n 'common.members': 'Membres',\n 'common.actions': 'Actes',\n 'common.removeMember': 'Supprimer le membre',\n 'common.delete': 'Supprimer',\n 'common.deleteRole': 'Supprimer le rôle',\n 'common.update': 'Mise à jour',\n 'common.editRole': 'Modifier le rôle',\n 'common.checkingPermissions': 'Vérification des autorisations…',\n 'common.unauthorizedTo': 'Non autorisé à {{action}}',\n 'common.performThisAction': 'effectuer cette action',\n 'common.unableToCreatePermissionPolicies':\n \"Impossible de créer les politiques d'autorisation.\",\n 'common.unableToDeletePermissionPolicies':\n \"Impossible de supprimer les politiques d'autorisation.\",\n 'common.unableToRemoveConditions':\n 'Impossible de supprimer les conditions du rôle.',\n 'common.unableToUpdateConditions':\n 'Impossible de mettre à jour les conditions.',\n 'common.unableToAddConditions':\n \"Impossible d'ajouter des conditions au rôle.\",\n 'common.roleActionSuccessfully': 'Rôle {{roleName}} {{action}} avec succès',\n 'common.unableToFetchRole': 'Impossible de récupérer le rôle : {{error}}',\n 'common.unableToFetchMembers':\n 'Impossible de récupérer les membres : {{error}}',\n 'common.roleAction': 'rôle {{action}}',\n 'common.membersCount': '{{count}} membres',\n 'common.parentGroupCount': '{{count}} groupe parent',\n 'common.childGroupsCount': '{{count}} groupes enfants',\n 'common.searchAndSelectUsersGroups':\n 'Recherchez et sélectionnez les utilisateurs et les groupes à ajouter. Les utilisateurs et groupes sélectionnés apparaîtront dans le tableau ci-dessous.',\n 'common.noUsersAndGroupsFound': 'Aucun utilisateur ni groupe trouvé.',\n 'common.errorFetchingUserGroups':\n \"Erreur lors de la récupération de l'utilisateur et des groupes : {{error}}\",\n 'common.nameRequired': 'Le nom est obligatoire',\n 'common.noMemberSelected': 'Aucun membre sélectionné',\n 'common.noPluginSelected': 'Aucun plugin sélectionné',\n 'common.pluginRequired': 'Le plugin est requis',\n 'common.permissionRequired': 'Une autorisation est requise',\n 'common.editCell': 'Modifier...',\n 'common.selectCell': 'Sélectionner...',\n 'common.expandRow': 'développer la ligne',\n 'common.configureAccessFor': \"Configurer l'accès pour le\",\n 'common.defaultResourceTypeVisible':\n 'Par défaut, le type de ressource sélectionné est visible par tous les utilisateurs ajoutés. Si vous souhaitez restreindre ou accorder une autorisation à des règles de plugin spécifiques, sélectionnez-les et ajoutez les paramètres.',\n },\n});\n\nexport default rbacTranslationFr;\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":["../../../src/alpha/translations/index.ts"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { createTranslationResource } from '@backstage/core-plugin-api/alpha';\nimport { rbacTranslationRef } from './ref';\n\n/**\n * @public\n */\nexport const rbacTranslations = createTranslationResource({\n ref: rbacTranslationRef,\n translations: {\n de: () => import('./de'),\n fr: () => import('./fr'),\n it: () => import('./it'),\n es: () => import('./es'),\n ja: () => import('./ja'),\n },\n});\n\nexport { rbacTranslationRef };\n"],"names":[],"mappings":";;;AAqBO,MAAM,mBAAmB,yBAA0B,CAAA;AAAA,EACxD,GAAK,EAAA,kBAAA;AAAA,EACL,YAAc,EAAA;AAAA,IACZ,EAAA,EAAI,MAAM,OAAO,aAAM,CAAA;AAAA,IACvB,EAAA,EAAI,MAAM,OAAO,aAAM,CAAA;AAAA,IACvB,EAAA,EAAI,MAAM,OAAO,aAAM,CAAA;AAAA,IACvB,EAAA,EAAI,MAAM,OAAO,aAAM,CAAA;AAAA,IACvB,EAAA,EAAI,MAAM,OAAO,aAAM;AAAA;AAE3B,CAAC;;;;"}
|
|
@@ -23,6 +23,7 @@ const rbacTranslationIt = createTranslationMessages({
|
|
|
23
23
|
"toolbar.warning.note": "Nota",
|
|
24
24
|
"toolbar.warning.noteText": "Anche dopo aver inserito utenti/gruppi nel catalogo e applicato le autorizzazioni precedenti, se il pulsante Crea/Modifica \xE8 ancora disabilitato, contattare l'amministratore poich\xE9 potrebbero essere presenti limitazioni condizionali all'accesso al pulsante Crea/Modifica.",
|
|
25
25
|
"errors.notFound": "Non trovato",
|
|
26
|
+
"errors.notAllowed": "Permessi insufficienti per accedere a questa pagina",
|
|
26
27
|
"errors.unauthorized": "Nessuna autorizzazione a creare un ruolo",
|
|
27
28
|
"errors.rbacDisabled": "Abilitare il plugin backend RBAC per utilizzare questa funzionalit\xE0.",
|
|
28
29
|
"errors.rbacDisabledInfo": "Per abilitare RBAC, impostare `permission.enabled` su `true` nel file app-config.",
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"it.esm.js","sources":["../../../src/alpha/translations/it.ts"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createTranslationMessages } from '@backstage/core-plugin-api/alpha';\nimport { rbacTranslationRef } from './ref';\n\n/**\n * Italian translation for plugin.rbac.\n * @public\n */\nconst rbacTranslationIt = createTranslationMessages({\n ref: rbacTranslationRef,\n messages: {\n 'page.title': 'RBAC',\n 'page.createRole': 'Crea ruolo',\n 'page.editRole': 'Modifica ruolo',\n 'table.searchPlaceholder': 'Filtra',\n 'table.labelRowsSelect': 'Righe',\n 'table.title': 'Tutti i ruoli',\n 'table.titleWithCount': 'Tutti i ruoli ({{count}})',\n 'table.headers.name': 'Nome',\n 'table.headers.usersAndGroups': 'Utenti e gruppi',\n 'table.headers.accessiblePlugins': 'Plugin accessibili',\n 'table.headers.actions': 'Azioni',\n 'table.emptyContent': 'Nessun record trovato',\n 'toolbar.createButton': 'Crea',\n 'toolbar.warning.title': 'Impossibile creare il ruolo.',\n 'toolbar.warning.message':\n \"Per abilitare il pulsante Crea/Modifica ruolo, verificare che gli utenti/gruppi richiesti siano disponibili nel catalogo perché non è possibile creare un ruolo senza utenti/gruppi; inoltre il ruolo associato all'utente deve disporre dei criteri di autorizzazione menzionati <link>qui</link>.\",\n 'toolbar.warning.linkText': 'qui',\n 'toolbar.warning.note': 'Nota',\n 'toolbar.warning.noteText':\n \"Anche dopo aver inserito utenti/gruppi nel catalogo e applicato le autorizzazioni precedenti, se il pulsante Crea/Modifica è ancora disabilitato, contattare l'amministratore poiché potrebbero essere presenti limitazioni condizionali all'accesso al pulsante Crea/Modifica.\",\n 'errors.notFound': 'Non trovato',\n 'errors.notAllowed': 'Permessi insufficienti per accedere a questa pagina',\n 'errors.unauthorized': 'Nessuna autorizzazione a creare un ruolo',\n 'errors.rbacDisabled':\n 'Abilitare il plugin backend RBAC per utilizzare questa funzionalità.',\n 'errors.rbacDisabledInfo':\n 'Per abilitare RBAC, impostare `permission.enabled` su `true` nel file app-config.',\n 'errors.fetchRoles':\n 'Si è verificato un errore durante il recupero dei ruoli',\n 'errors.fetchRole':\n 'Si è verificato un errore durante il recupero del ruolo',\n 'errors.fetchPoliciesErr':\n 'Errore durante il recupero dei criteri. {{error}}',\n 'errors.fetchPolicies':\n 'Si è verificato un problema durante il recupero delle policy di autorizzazione',\n 'errors.fetchPlugins': 'Errore durante il recupero dei plugin. {{error}}',\n 'errors.fetchConditionalPermissionPolicies':\n 'Errore durante il recupero dei criteri di autorizzazione condizionale. {{error}}',\n 'errors.fetchConditions':\n 'Si è verificato un errore durante il recupero delle condizioni del ruolo',\n 'errors.fetchUsersAndGroups':\n 'Si è verificato un problema durante il recupero degli utenti e dei gruppi',\n 'errors.createRole': 'Impossibile creare il ruolo.',\n 'errors.editRole': 'Impossibile modificare il ruolo.',\n 'errors.deleteRole': 'Impossibile eliminare il ruolo.',\n 'errors.roleCreatedSuccess':\n 'Il ruolo è stato creato correttamente ma non è possibile aggiungere criteri di autorizzazione al ruolo.',\n 'errors.roleCreatedConditionsSuccess':\n 'Ruolo creato correttamente ma non è possibile aggiungere condizioni al ruolo.',\n 'roleForm.titles.createRole': 'Crea ruolo',\n 'roleForm.titles.editRole': 'Modifica ruolo',\n 'roleForm.titles.nameAndDescription':\n 'Inserire il nome e la descrizione del ruolo',\n 'roleForm.titles.usersAndGroups': 'Aggiungi utenti e gruppi',\n 'roleForm.titles.permissionPolicies': 'Aggiungi criteri di autorizzazione',\n 'roleForm.review.reviewAndCreate': 'Rivedi e crea',\n 'roleForm.review.reviewAndSave': 'Rivedi e salva',\n 'roleForm.review.nameDescriptionOwner':\n 'Nome, descrizione e proprietario del ruolo',\n 'roleForm.review.permissionPoliciesWithCount':\n 'Politiche di autorizzazione ({{count}})',\n 'roleForm.steps.next': 'Successivo',\n 'roleForm.steps.back': 'Indietro',\n 'roleForm.steps.cancel': 'Cancella',\n 'roleForm.steps.reset': 'Reset',\n 'roleForm.steps.create': 'Crea',\n 'roleForm.steps.save': 'Salva',\n 'roleForm.fields.name.label': 'Nome',\n 'roleForm.fields.name.helperText': 'Inserire il nome del ruolo',\n 'roleForm.fields.description.label': 'Descrizione',\n 'roleForm.fields.description.helperText':\n 'Inserire una breve descrizione del ruolo (finalità del ruolo)',\n 'roleForm.fields.owner.label': 'Proprietario',\n 'roleForm.fields.owner.helperText':\n \"Facoltativo: inserire un utente o un gruppo che avrà l'autorizzazione a modificare questo ruolo e a creare ruoli aggiuntivi. Nel passaggio successivo, specificare quali utenti possono assegnare ai loro ruoli e a quali plugin possono concedere l'accesso. Se vuoto, l'autore viene assegnato automaticamente al momento della creazione.\",\n 'deleteDialog.title': 'Elimina ruolo',\n 'deleteDialog.question': 'Eliminare questo ruolo?',\n 'deleteDialog.confirmation':\n \"Eliminare il ruolo **{{roleName}}**? L'eliminazione di questo ruolo è irreversibile e ne rimuoverà la funzionalità dal sistema. Procedere con cautela. I **{{members}}** associati a questo ruolo perderanno l'accesso a tutti i **{{permissions}} criteri di autorizzazione** specificati in questo ruolo.\",\n 'deleteDialog.roleNameLabel': 'Nome ruolo',\n 'deleteDialog.roleNameHelper': 'Digitare il nome del ruolo per confermare',\n 'deleteDialog.deleteButton': 'Elimina',\n 'deleteDialog.cancelButton': 'Cancella',\n 'deleteDialog.successMessage': 'Ruolo {{roleName}} eliminato correttamente',\n 'snackbar.success': 'Attività riuscita',\n 'dialog.cancelRoleCreation': 'Annulla la creazione del ruolo',\n 'dialog.exitRoleCreation': 'Abbandonare la creazione del ruolo?',\n 'dialog.exitRoleEditing': 'Abbandonare la modifica del ruolo?',\n 'dialog.exitWarning':\n '\\n\\nAbbandonando questa pagina, le informazioni immesse vengono eliminate definitivamente. Uscire?',\n 'dialog.discard': 'Annulla',\n 'dialog.cancel': 'Cancella',\n 'conditionalAccess.condition': 'Condizione',\n 'conditionalAccess.allOf': 'Tutti',\n 'conditionalAccess.anyOf': 'QualunqueDi',\n 'conditionalAccess.not': 'Non',\n 'conditionalAccess.addNestedCondition': 'Aggiungi condizione nidificata',\n 'conditionalAccess.addRule': 'Aggiungi regola',\n 'conditionalAccess.nestedConditionTooltip':\n \"Le condizioni nidificate sono **regole a un livello all'interno di una condizione principale**. Permette di concedere l'accesso appropriato utilizzando autorizzazioni dettagliate basate su varie condizioni. È possibile aggiungere più condizioni nidificate.\",\n 'conditionalAccess.nestedConditionExample':\n \"Ad esempio, è possibile consentire l'accesso a tutti i tipi di entità nella condizione principale e utilizzare una condizione nidificata per limitare l'accesso alle entità di proprietà dell'utente.\",\n 'permissionPolicies.helperText':\n \"Per impostazione predefinita, agli utenti non è concesso l'accesso ad alcun plugin. Per concedere l'accesso all'utente, selezionare i plugin da abilitare. Quindi, selezionare le azioni per cui concedere l'autorizzazione all'utente.\",\n 'permissionPolicies.allPlugins': 'Tutti i plugin ({{count}})',\n 'permissionPolicies.errorFetchingPolicies':\n 'Errore durante il recupero dei criteri di autorizzazione: {{error}}',\n 'permissionPolicies.resourceTypeTooltip':\n 'tipo di risorsa: {{resourceType}}',\n 'permissionPolicies.advancedPermissionsTooltip':\n \"Utilizza autorizzazioni personalizzate avanzate per consentire l'accesso a parti specifiche del tipo di risorsa selezionato.\",\n 'permissionPolicies.pluginsSelected': '{{count}} plugin',\n 'permissionPolicies.noPluginsSelected': 'Nessun plugin selezionato',\n 'permissionPolicies.search': 'Ricerca',\n 'permissionPolicies.noRecordsToDisplay': 'Nessun record da visualizzare.',\n 'permissionPolicies.selectedPluginsAppearHere':\n 'I plugin selezionati vengono visualizzati qui.',\n 'permissionPolicies.selectPlugins': 'Selezionare i plugin',\n 'permissionPolicies.noPluginsFound': 'Nessun plugin trovato.',\n 'permissionPolicies.plugin': 'Plugin',\n 'permissionPolicies.permission': 'Autorizzazione',\n 'permissionPolicies.policies': 'Criteri',\n 'permissionPolicies.conditional': 'Condizionale',\n 'permissionPolicies.rules': 'regole',\n 'permissionPolicies.rule': 'regola',\n 'permissionPolicies.permissionPolicies': 'Criteri di autorizzazione',\n 'permissionPolicies.permissions': 'autorizzazioni',\n 'common.noResults': 'Nessun risultato per questo intervallo di date.',\n 'common.exportCSV': 'Esporta CSV',\n 'common.csvFilename': 'data-export.csv',\n 'common.noMembers': 'Nessun membro',\n 'common.groups': 'gruppi',\n 'common.group': 'gruppo',\n 'common.users': 'utenti',\n 'common.user': 'utente',\n 'common.use': 'Utilizza',\n 'common.refresh': 'Aggiorna',\n 'common.edit': 'Modifica',\n 'common.unauthorizedToEdit': 'Non autorizzato a modificare',\n 'common.noRecordsFound': 'Nessun record trovato',\n 'common.selectUsersAndGroups': 'Selezionare utenti e gruppi',\n 'common.clearSearch': 'cancella ricerca',\n 'common.closeDrawer': 'Chiudi il riquadro',\n 'common.remove': 'Rimuovi',\n 'common.addRule': 'Aggiungi regola',\n 'common.selectRule': 'Selezionare una regola',\n 'common.rule': 'Regola',\n 'common.removeNestedCondition': 'Rimuovi condizione nidificata',\n 'common.overview': 'Panoramica',\n 'common.about': 'Informazioni',\n 'common.description': 'Descrizione',\n 'common.modifiedBy': 'Modificato da',\n 'common.lastModified': 'Ultima modifica',\n 'common.owner': 'Proprietario',\n 'common.noUsersAndGroupsSelected': 'Nessun utente e gruppo selezionato',\n 'common.selectedUsersAndGroupsAppearHere':\n 'Qui vengono visualizzati gli utenti e i gruppi selezionati.',\n 'common.name': 'Nome',\n 'common.type': 'Tipo',\n 'common.members': 'Membri',\n 'common.actions': 'Azioni',\n 'common.removeMember': 'Rimuovi membro',\n 'common.delete': 'Elimina',\n 'common.deleteRole': 'Elimina ruolo',\n 'common.update': 'Aggiorna',\n 'common.editRole': 'Modifica ruolo',\n 'common.checkingPermissions': 'Controllo delle autorizzazioni in corso…',\n 'common.unauthorizedTo': 'Non autorizzato a {{action}}',\n 'common.performThisAction': 'eseguire questa azione',\n 'common.unableToCreatePermissionPolicies':\n 'Impossibile creare i criteri di autorizzazione.',\n 'common.unableToDeletePermissionPolicies':\n 'Impossibile eliminare i criteri di autorizzazione.',\n 'common.unableToRemoveConditions':\n 'Impossibile rimuovere le condizioni dal ruolo.',\n 'common.unableToUpdateConditions': 'Impossibile aggiornare le condizioni.',\n 'common.unableToAddConditions':\n 'Impossibile aggiungere condizioni al ruolo.',\n 'common.roleActionSuccessfully':\n 'Ruolo {{roleName}} {{action}} eseguito correttamente',\n 'common.unableToFetchRole': 'Impossibile recuperare il ruolo: {{error}}',\n 'common.unableToFetchMembers': 'Impossibile recuperare i membri: {{error}}',\n 'common.roleAction': 'ruolo {{azione}}',\n 'common.membersCount': '{{count}} membri',\n 'common.parentGroupCount': '{{count}} gruppo padre',\n 'common.childGroupsCount': '{{count}} gruppi figlio',\n 'common.searchAndSelectUsersGroups':\n 'Per cercare e selezionare gli utenti e i gruppi da aggiungere. Gli utenti e i gruppi selezionati appariranno nella tabella sottostante.',\n 'common.noUsersAndGroupsFound': 'Nessun utente e gruppo trovato.',\n 'common.errorFetchingUserGroups':\n 'Errore durante il recupero di utenti e gruppi: {{error}}',\n 'common.nameRequired': 'Il nome è obbligatorio',\n 'common.noMemberSelected': 'Nessun membro selezionato',\n 'common.noPluginSelected': 'Nessun plugin selezionato',\n 'common.pluginRequired': 'Il plugin è obbligatorio',\n 'common.permissionRequired': \"L'autorizzazione è obbligatoria\",\n 'common.editCell': 'Modifica...',\n 'common.selectCell': 'Seleziona...',\n 'common.expandRow': 'espandi riga',\n 'common.configureAccessFor': \"Configurare l'accesso per il\",\n 'common.defaultResourceTypeVisible':\n 'Per impostazione predefinita, il tipo di risorsa selezionato è visibile a tutti gli utenti aggiunti. Per limitare o concedere autorizzazioni a regole specifiche del plugin, selezionarle e aggiungere i parametri.',\n },\n});\n\nexport default rbacTranslationIt;\n"],"names":[],"mappings":";;;AAuBA,MAAM,oBAAoB,yBAA0B,CAAA;AAAA,EAClD,GAAK,EAAA,kBAAA;AAAA,EACL,QAAU,EAAA;AAAA,IACR,YAAc,EAAA,MAAA;AAAA,IACd,iBAAmB,EAAA,YAAA;AAAA,IACnB,eAAiB,EAAA,gBAAA;AAAA,IACjB,yBAA2B,EAAA,QAAA;AAAA,IAC3B,uBAAyB,EAAA,OAAA;AAAA,IACzB,aAAe,EAAA,eAAA;AAAA,IACf,sBAAwB,EAAA,2BAAA;AAAA,IACxB,oBAAsB,EAAA,MAAA;AAAA,IACtB,8BAAgC,EAAA,iBAAA;AAAA,IAChC,iCAAmC,EAAA,oBAAA;AAAA,IACnC,uBAAyB,EAAA,QAAA;AAAA,IACzB,oBAAsB,EAAA,uBAAA;AAAA,IACtB,sBAAwB,EAAA,MAAA;AAAA,IACxB,uBAAyB,EAAA,8BAAA;AAAA,IACzB,yBACE,EAAA,2SAAA;AAAA,IACF,0BAA4B,EAAA,KAAA;AAAA,IAC5B,sBAAwB,EAAA,MAAA;AAAA,IACxB,0BACE,EAAA,uRAAA;AAAA,IACF,iBAAmB,EAAA,aAAA;AAAA,IACnB,mBAAqB,EAAA,qDAAA;AAAA,IACrB,qBAAuB,EAAA,0CAAA;AAAA,IACvB,qBACE,EAAA,yEAAA;AAAA,IACF,yBACE,EAAA,mFAAA;AAAA,IACF,mBACE,EAAA,4DAAA;AAAA,IACF,kBACE,EAAA,4DAAA;AAAA,IACF,yBACE,EAAA,mDAAA;AAAA,IACF,sBACE,EAAA,mFAAA;AAAA,IACF,qBAAuB,EAAA,kDAAA;AAAA,IACvB,2CACE,EAAA,kFAAA;AAAA,IACF,wBACE,EAAA,6EAAA;AAAA,IACF,4BACE,EAAA,8EAAA;AAAA,IACF,mBAAqB,EAAA,8BAAA;AAAA,IACrB,iBAAmB,EAAA,kCAAA;AAAA,IACnB,mBAAqB,EAAA,iCAAA;AAAA,IACrB,2BACE,EAAA,+GAAA;AAAA,IACF,qCACE,EAAA,kFAAA;AAAA,IACF,4BAA8B,EAAA,YAAA;AAAA,IAC9B,0BAA4B,EAAA,gBAAA;AAAA,IAC5B,oCACE,EAAA,6CAAA;AAAA,IACF,gCAAkC,EAAA,0BAAA;AAAA,IAClC,oCAAsC,EAAA,oCAAA;AAAA,IACtC,iCAAmC,EAAA,eAAA;AAAA,IACnC,+BAAiC,EAAA,gBAAA;AAAA,IACjC,sCACE,EAAA,4CAAA;AAAA,IACF,6CACE,EAAA,yCAAA;AAAA,IACF,qBAAuB,EAAA,YAAA;AAAA,IACvB,qBAAuB,EAAA,UAAA;AAAA,IACvB,uBAAyB,EAAA,UAAA;AAAA,IACzB,sBAAwB,EAAA,OAAA;AAAA,IACxB,uBAAyB,EAAA,MAAA;AAAA,IACzB,qBAAuB,EAAA,OAAA;AAAA,IACvB,4BAA8B,EAAA,MAAA;AAAA,IAC9B,iCAAmC,EAAA,4BAAA;AAAA,IACnC,mCAAqC,EAAA,aAAA;AAAA,IACrC,wCACE,EAAA,kEAAA;AAAA,IACF,6BAA+B,EAAA,cAAA;AAAA,IAC/B,kCACE,EAAA,iVAAA;AAAA,IACF,oBAAsB,EAAA,eAAA;AAAA,IACtB,uBAAyB,EAAA,yBAAA;AAAA,IACzB,2BACE,EAAA,sTAAA;AAAA,IACF,4BAA8B,EAAA,YAAA;AAAA,IAC9B,6BAA+B,EAAA,2CAAA;AAAA,IAC/B,2BAA6B,EAAA,SAAA;AAAA,IAC7B,2BAA6B,EAAA,UAAA;AAAA,IAC7B,6BAA+B,EAAA,4CAAA;AAAA,IAC/B,kBAAoB,EAAA,sBAAA;AAAA,IACpB,2BAA6B,EAAA,gCAAA;AAAA,IAC7B,yBAA2B,EAAA,qCAAA;AAAA,IAC3B,wBAA0B,EAAA,oCAAA;AAAA,IAC1B,oBACE,EAAA,oGAAA;AAAA,IACF,gBAAkB,EAAA,SAAA;AAAA,IAClB,eAAiB,EAAA,UAAA;AAAA,IACjB,6BAA+B,EAAA,YAAA;AAAA,IAC/B,yBAA2B,EAAA,OAAA;AAAA,IAC3B,yBAA2B,EAAA,aAAA;AAAA,IAC3B,uBAAyB,EAAA,KAAA;AAAA,IACzB,sCAAwC,EAAA,gCAAA;AAAA,IACxC,2BAA6B,EAAA,iBAAA;AAAA,IAC7B,0CACE,EAAA,wQAAA;AAAA,IACF,0CACE,EAAA,mNAAA;AAAA,IACF,+BACE,EAAA,4OAAA;AAAA,IACF,+BAAiC,EAAA,4BAAA;AAAA,IACjC,0CACE,EAAA,qEAAA;AAAA,IACF,wCACE,EAAA,mCAAA;AAAA,IACF,+CACE,EAAA,8HAAA;AAAA,IACF,oCAAsC,EAAA,kBAAA;AAAA,IACtC,sCAAwC,EAAA,2BAAA;AAAA,IACxC,2BAA6B,EAAA,SAAA;AAAA,IAC7B,uCAAyC,EAAA,gCAAA;AAAA,IACzC,8CACE,EAAA,gDAAA;AAAA,IACF,kCAAoC,EAAA,sBAAA;AAAA,IACpC,mCAAqC,EAAA,wBAAA;AAAA,IACrC,2BAA6B,EAAA,QAAA;AAAA,IAC7B,+BAAiC,EAAA,gBAAA;AAAA,IACjC,6BAA+B,EAAA,SAAA;AAAA,IAC/B,gCAAkC,EAAA,cAAA;AAAA,IAClC,0BAA4B,EAAA,QAAA;AAAA,IAC5B,yBAA2B,EAAA,QAAA;AAAA,IAC3B,uCAAyC,EAAA,2BAAA;AAAA,IACzC,gCAAkC,EAAA,gBAAA;AAAA,IAClC,kBAAoB,EAAA,iDAAA;AAAA,IACpB,kBAAoB,EAAA,aAAA;AAAA,IACpB,oBAAsB,EAAA,iBAAA;AAAA,IACtB,kBAAoB,EAAA,eAAA;AAAA,IACpB,eAAiB,EAAA,QAAA;AAAA,IACjB,cAAgB,EAAA,QAAA;AAAA,IAChB,cAAgB,EAAA,QAAA;AAAA,IAChB,aAAe,EAAA,QAAA;AAAA,IACf,YAAc,EAAA,UAAA;AAAA,IACd,gBAAkB,EAAA,UAAA;AAAA,IAClB,aAAe,EAAA,UAAA;AAAA,IACf,2BAA6B,EAAA,8BAAA;AAAA,IAC7B,uBAAyB,EAAA,uBAAA;AAAA,IACzB,6BAA+B,EAAA,6BAAA;AAAA,IAC/B,oBAAsB,EAAA,kBAAA;AAAA,IACtB,oBAAsB,EAAA,oBAAA;AAAA,IACtB,eAAiB,EAAA,SAAA;AAAA,IACjB,gBAAkB,EAAA,iBAAA;AAAA,IAClB,mBAAqB,EAAA,wBAAA;AAAA,IACrB,aAAe,EAAA,QAAA;AAAA,IACf,8BAAgC,EAAA,+BAAA;AAAA,IAChC,iBAAmB,EAAA,YAAA;AAAA,IACnB,cAAgB,EAAA,cAAA;AAAA,IAChB,oBAAsB,EAAA,aAAA;AAAA,IACtB,mBAAqB,EAAA,eAAA;AAAA,IACrB,qBAAuB,EAAA,iBAAA;AAAA,IACvB,cAAgB,EAAA,cAAA;AAAA,IAChB,iCAAmC,EAAA,oCAAA;AAAA,IACnC,yCACE,EAAA,6DAAA;AAAA,IACF,aAAe,EAAA,MAAA;AAAA,IACf,aAAe,EAAA,MAAA;AAAA,IACf,gBAAkB,EAAA,QAAA;AAAA,IAClB,gBAAkB,EAAA,QAAA;AAAA,IAClB,qBAAuB,EAAA,gBAAA;AAAA,IACvB,eAAiB,EAAA,SAAA;AAAA,IACjB,mBAAqB,EAAA,eAAA;AAAA,IACrB,eAAiB,EAAA,UAAA;AAAA,IACjB,iBAAmB,EAAA,gBAAA;AAAA,IACnB,4BAA8B,EAAA,+CAAA;AAAA,IAC9B,uBAAyB,EAAA,8BAAA;AAAA,IACzB,0BAA4B,EAAA,wBAAA;AAAA,IAC5B,yCACE,EAAA,iDAAA;AAAA,IACF,yCACE,EAAA,oDAAA;AAAA,IACF,iCACE,EAAA,gDAAA;AAAA,IACF,iCAAmC,EAAA,uCAAA;AAAA,IACnC,8BACE,EAAA,6CAAA;AAAA,IACF,+BACE,EAAA,sDAAA;AAAA,IACF,0BAA4B,EAAA,4CAAA;AAAA,IAC5B,6BAA+B,EAAA,4CAAA;AAAA,IAC/B,mBAAqB,EAAA,kBAAA;AAAA,IACrB,qBAAuB,EAAA,kBAAA;AAAA,IACvB,yBAA2B,EAAA,wBAAA;AAAA,IAC3B,yBAA2B,EAAA,yBAAA;AAAA,IAC3B,mCACE,EAAA,yIAAA;AAAA,IACF,8BAAgC,EAAA,iCAAA;AAAA,IAChC,gCACE,EAAA,0DAAA;AAAA,IACF,qBAAuB,EAAA,2BAAA;AAAA,IACvB,yBAA2B,EAAA,2BAAA;AAAA,IAC3B,yBAA2B,EAAA,2BAAA;AAAA,IAC3B,uBAAyB,EAAA,6BAAA;AAAA,IACzB,2BAA6B,EAAA,oCAAA;AAAA,IAC7B,iBAAmB,EAAA,aAAA;AAAA,IACnB,mBAAqB,EAAA,cAAA;AAAA,IACrB,kBAAoB,EAAA,cAAA;AAAA,IACpB,2BAA6B,EAAA,8BAAA;AAAA,IAC7B,mCACE,EAAA;AAAA;AAEN,CAAC;;;;"}
|
|
@@ -23,6 +23,7 @@ const rbacTranslationJa = createTranslationMessages({
|
|
|
23
23
|
"toolbar.warning.note": "\u6CE8\u8A18",
|
|
24
24
|
"toolbar.warning.noteText": "\u30AB\u30BF\u30ED\u30B0\u306B\u30E6\u30FC\u30B6\u30FC/\u30B0\u30EB\u30FC\u30D7\u3092\u53D6\u308A\u8FBC\u307F\u3001\u4E0A\u8A18\u306E\u6A29\u9650\u3092\u9069\u7528\u3057\u305F\u5F8C\u3067\u3082\u4F5C\u6210/\u7DE8\u96C6\u30DC\u30BF\u30F3\u304C\u7121\u52B9\u306A\u5834\u5408\u306F\u3001\u7BA1\u7406\u8005\u306B\u554F\u3044\u5408\u308F\u305B\u3066\u304F\u3060\u3055\u3044\u3002\u4F5C\u6210/\u7DE8\u96C6\u30DC\u30BF\u30F3\u3078\u306E\u30A2\u30AF\u30BB\u30B9\u304C\u6761\u4EF6\u4ED8\u304D\u3067\u5236\u9650\u3055\u308C\u3066\u3044\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\u3002",
|
|
25
25
|
"errors.notFound": "\u898B\u3064\u304B\u308A\u307E\u305B\u3093",
|
|
26
|
+
"errors.notAllowed": "\u3053\u306E\u30DA\u30FC\u30B8\u306B\u30A2\u30AF\u30BB\u30B9\u3059\u308B\u6A29\u9650\u304C\u4E0D\u8DB3\u3057\u3066\u3044\u307E\u3059",
|
|
26
27
|
"errors.unauthorized": "\u30ED\u30FC\u30EB\u3092\u4F5C\u6210\u3059\u308B\u6A29\u9650\u304C\u3042\u308A\u307E\u305B\u3093",
|
|
27
28
|
"errors.rbacDisabled": "\u3053\u306E\u6A5F\u80FD\u3092\u4F7F\u7528\u3059\u308B\u306B\u306F\u3001RBAC \u30D0\u30C3\u30AF\u30A8\u30F3\u30C9\u30D7\u30E9\u30B0\u30A4\u30F3\u3092\u6709\u52B9\u306B\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
|
|
28
29
|
"errors.rbacDisabledInfo": "RBAC \u3092\u6709\u52B9\u306B\u3059\u308B\u306B\u306F\u3001app-config \u30D5\u30A1\u30A4\u30EB\u3067 `permission.enabled` \u3092 `true` \u306B\u8A2D\u5B9A\u3057\u307E\u3059\u3002",
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ja.esm.js","sources":["../../../src/alpha/translations/ja.ts"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createTranslationMessages } from '@backstage/core-plugin-api/alpha';\nimport { rbacTranslationRef } from './ref';\n\n/**\n * Japanese translation for plugin.rbac.\n * @public\n */\nconst rbacTranslationJa = createTranslationMessages({\n ref: rbacTranslationRef,\n messages: {\n 'page.title': 'RBAC',\n 'page.createRole': 'ロールの作成',\n 'page.editRole': 'ロールの編集',\n 'table.searchPlaceholder': 'フィルター',\n 'table.labelRowsSelect': '行',\n 'table.title': 'すべてのロール',\n 'table.titleWithCount': 'すべてのロール ({{count}})',\n 'table.headers.name': '名前',\n 'table.headers.usersAndGroups': 'ユーザーとグループ',\n 'table.headers.accessiblePlugins': 'アクセス可能なプラグイン',\n 'table.headers.actions': 'アクション',\n 'table.emptyContent': 'レコードが見つかりません',\n 'toolbar.createButton': '作成',\n 'toolbar.warning.title': 'ロールを作成できません。',\n 'toolbar.warning.message':\n 'ロールの作成/編集ボタンを有効にするには、必要なユーザー/グループがカタログで利用可能であることを確認してください。ユーザー/グループがないと、ロールを作成できないためです。また、ユーザーに関連付けられているロールには、次のリンク先に記載されている権限ポリシーが必要です <link>こちら</link>。',\n 'toolbar.warning.linkText': 'こちら',\n 'toolbar.warning.note': '注記',\n 'toolbar.warning.noteText':\n 'カタログにユーザー/グループを取り込み、上記の権限を適用した後でも作成/編集ボタンが無効な場合は、管理者に問い合わせてください。作成/編集ボタンへのアクセスが条件付きで制限されている可能性があります。',\n 'errors.notFound': '見つかりません',\n 'errors.notAllowed': 'このページにアクセスする権限が不足しています',\n 'errors.unauthorized': 'ロールを作成する権限がありません',\n 'errors.rbacDisabled':\n 'この機能を使用するには、RBAC バックエンドプラグインを有効にしてください。',\n 'errors.rbacDisabledInfo':\n 'RBAC を有効にするには、app-config ファイルで `permission.enabled` を `true` に設定します。',\n 'errors.fetchRoles': 'ロールの取得中に問題が発生しました',\n 'errors.fetchRole': 'ロールの取得中に問題が発生しました',\n 'errors.fetchPoliciesErr':\n 'ポリシーの取得中にエラーが発生しました。{{error}}',\n 'errors.fetchPolicies': '権限ポリシーの取得中に問題が発生しました',\n 'errors.fetchPlugins':\n 'プラグインの取得中にエラーが発生しました。{{error}}',\n 'errors.fetchConditionalPermissionPolicies':\n '条件付き権限ポリシーの取得中にエラーが発生しました。{{error}}',\n 'errors.fetchConditions': 'ロール条件の取得中に問題が発生しました',\n 'errors.fetchUsersAndGroups':\n 'ユーザーとグループの取得中に問題が発生しました',\n 'errors.createRole': 'ロールを作成できません。',\n 'errors.editRole': 'ロールを編集できません。',\n 'errors.deleteRole': 'ロールを削除できません。',\n 'errors.roleCreatedSuccess':\n 'ロールが正常に作成されましたが、ロールに権限ポリシーを追加できません。',\n 'errors.roleCreatedConditionsSuccess':\n 'ロールは正常に作成されましたが、ロールに条件を追加できません。',\n 'roleForm.titles.createRole': 'ロールの作成',\n 'roleForm.titles.editRole': 'ロールの編集',\n 'roleForm.titles.nameAndDescription':\n 'ロールの名前と説明を入力してください',\n 'roleForm.titles.usersAndGroups': 'ユーザーとグループの追加',\n 'roleForm.titles.permissionPolicies': '権限ポリシーの追加',\n 'roleForm.review.reviewAndCreate': '確認および作成',\n 'roleForm.review.reviewAndSave': '確認および保存',\n 'roleForm.review.nameDescriptionOwner': 'ロールの名前、説明、および所有者',\n 'roleForm.review.permissionPoliciesWithCount': '権限ポリシー ({{count}})',\n 'roleForm.steps.next': '次へ',\n 'roleForm.steps.back': '戻る',\n 'roleForm.steps.cancel': 'キャンセル',\n 'roleForm.steps.reset': 'リセット',\n 'roleForm.steps.create': '作成',\n 'roleForm.steps.save': '保存',\n 'roleForm.fields.name.label': '名前',\n 'roleForm.fields.name.helperText': 'ロールの名前を入力してください',\n 'roleForm.fields.description.label': '説明',\n 'roleForm.fields.description.helperText':\n 'ロールについての簡単な説明を入力してください (ロールの目的)',\n 'roleForm.fields.owner.label': '所有者',\n 'roleForm.fields.owner.helperText':\n '任意: このロールを編集する権限と追加のロールを作成する権限を持つユーザーまたはグループを入力してください。どのユーザーを自分のロールに割り当て可能にするか、どのプラグインへのアクセスを許可するかは、次のステップで設定します。空白のままにすると、作成時に作成者が自動的に割り当てられます。',\n 'deleteDialog.title': 'ロールの削除',\n 'deleteDialog.question': 'このロールを削除しますか?',\n 'deleteDialog.confirmation':\n 'ロール **{{roleName}}** を削除してもよろしいですか?このロールの削除は取り消せません。その機能もシステムから削除されます。慎重に操作してください。このロールに関連付けられている **{{members}}** が、このロールに指定されているすべての **{{permissions}} 権限ポリシー** にアクセスできなくなります。',\n 'deleteDialog.roleNameLabel': 'ロール名',\n 'deleteDialog.roleNameHelper': '確定するにはロールの名前を入力してください',\n 'deleteDialog.deleteButton': '削除',\n 'deleteDialog.cancelButton': 'キャンセル',\n 'deleteDialog.successMessage': 'ロール {{roleName}} が正常に削除されました',\n 'snackbar.success': '成功',\n 'dialog.cancelRoleCreation': 'ロールの作成のキャンセル',\n 'dialog.exitRoleCreation': 'ロールの作成を終了しますか?',\n 'dialog.exitRoleEditing': 'ロールの編集を終了しますか?',\n 'dialog.exitWarning':\n '\\n\\nこのページを終了すると、入力した情報が完全に破棄されます。終了してもよろしいですか?',\n 'dialog.discard': '破棄',\n 'dialog.cancel': 'キャンセル',\n 'conditionalAccess.condition': '条件',\n 'conditionalAccess.allOf': 'AllOf',\n 'conditionalAccess.anyOf': 'AnyOf',\n 'conditionalAccess.not': 'Not',\n 'conditionalAccess.addNestedCondition': 'ネストされた条件の追加',\n 'conditionalAccess.addRule': 'ルールの追加',\n 'conditionalAccess.nestedConditionTooltip':\n 'ネストされた条件とは、**メインの条件の中にある 1 階層分のルール** のことです。さまざまな条件に基づく詳細な権限を使用して、適切なアクセスを許可できます。ネストされた条件は複数追加できます。',\n 'conditionalAccess.nestedConditionExample':\n 'たとえば、メインの条件ですべてのエンティティータイプへのアクセスを許可し、ネストされた条件でユーザーが所有するエンティティーへのアクセスを制限できます。',\n 'permissionPolicies.helperText':\n 'デフォルトでは、ユーザーにはどのプラグインへのアクセスも許可されません。ユーザーのアクセスを許可するには、有効にするプラグインを選択します。その後、ユーザーに許可するアクションを選択します。',\n 'permissionPolicies.allPlugins': 'すべてのプラグイン ({{count}})',\n 'permissionPolicies.errorFetchingPolicies':\n '権限ポリシーの取得中にエラーが発生しました: {{error}}',\n 'permissionPolicies.resourceTypeTooltip':\n 'リソースタイプ: {{resourceType}}',\n 'permissionPolicies.advancedPermissionsTooltip':\n '詳細にカスタマイズした権限を使用して、選択したリソースタイプの特定の部分へのアクセスを許可します。',\n 'permissionPolicies.pluginsSelected': '{{count}} 個のプラグイン',\n 'permissionPolicies.noPluginsSelected': 'プラグインが選択されていません',\n 'permissionPolicies.search': '検索',\n 'permissionPolicies.noRecordsToDisplay': '表示するレコードがありません。',\n 'permissionPolicies.selectedPluginsAppearHere':\n '選択したプラグインがここに表示されます。',\n 'permissionPolicies.selectPlugins': 'プラグインの選択',\n 'permissionPolicies.noPluginsFound': 'プラグインが見つかりません。',\n 'permissionPolicies.plugin': 'プラグイン',\n 'permissionPolicies.permission': '権限',\n 'permissionPolicies.policies': 'ポリシー',\n 'permissionPolicies.conditional': '条件付き',\n 'permissionPolicies.rules': 'ルール',\n 'permissionPolicies.rule': 'ルール',\n 'permissionPolicies.permissionPolicies': '権限ポリシー',\n 'permissionPolicies.permissions': '権限',\n 'common.noResults': 'この日付範囲の結果はありません。',\n 'common.exportCSV': 'CSV エクスポート',\n 'common.csvFilename': 'data-export.csv',\n 'common.noMembers': 'メンバーがありません',\n 'common.groups': 'グループ',\n 'common.group': 'グループ',\n 'common.users': 'ユーザー',\n 'common.user': 'ユーザー',\n 'common.use': '使用',\n 'common.refresh': '更新',\n 'common.edit': '編集',\n 'common.unauthorizedToEdit': '編集権限がありません',\n 'common.noRecordsFound': 'レコードが見つかりません',\n 'common.selectUsersAndGroups': 'ユーザーとグループの選択',\n 'common.clearSearch': '検索のクリア',\n 'common.closeDrawer': 'ドロワーを閉じる',\n 'common.remove': '削除',\n 'common.addRule': 'ルールの追加',\n 'common.selectRule': 'ルールの選択',\n 'common.rule': 'ルール',\n 'common.removeNestedCondition': 'ネストされた条件の削除',\n 'common.overview': '概要',\n 'common.about': '詳細情報',\n 'common.description': '説明',\n 'common.modifiedBy': '更新者',\n 'common.lastModified': '最終更新',\n 'common.owner': '所有者',\n 'common.noUsersAndGroupsSelected': 'ユーザーとグループが選択されていません',\n 'common.selectedUsersAndGroupsAppearHere':\n '選択したユーザーとグループがここに表示されます。',\n 'common.name': '名前',\n 'common.type': 'タイプ',\n 'common.members': 'メンバー',\n 'common.actions': 'アクション',\n 'common.removeMember': 'メンバーの削除',\n 'common.delete': '削除',\n 'common.deleteRole': 'ロールの削除',\n 'common.update': '更新',\n 'common.editRole': 'ロールの編集',\n 'common.checkingPermissions': '権限を確認しています…',\n 'common.unauthorizedTo': '{{action}} 権限がありません',\n 'common.performThisAction': 'このアクションの実行',\n 'common.unableToCreatePermissionPolicies': '権限ポリシーを作成できません。',\n 'common.unableToDeletePermissionPolicies': '権限ポリシーを削除できません。',\n 'common.unableToRemoveConditions': 'ロールから条件を削除できません。',\n 'common.unableToUpdateConditions': '条件を更新できません。',\n 'common.unableToAddConditions': 'ロールに条件を追加できません。',\n 'common.roleActionSuccessfully':\n 'ロール {{roleName}} {{action}} が正常に実行されました',\n 'common.unableToFetchRole': 'ロールを取得できません: {{error}}',\n 'common.unableToFetchMembers': 'メンバーを取得できません: {{error}}',\n 'common.roleAction': 'ロールの {{action}}',\n 'common.membersCount': '{{count}} 人のメンバー',\n 'common.parentGroupCount': '{{count}} 個の親グループ',\n 'common.childGroupsCount': '{{count}} 個の子グループ',\n 'common.searchAndSelectUsersGroups':\n '追加するユーザーとグループを検索して選択します。選択したユーザーとグループは下の表に表示されます。',\n 'common.noUsersAndGroupsFound': 'ユーザーとグループが見つかりません。',\n 'common.errorFetchingUserGroups':\n 'ユーザーとグループの取得中にエラーが発生しました: {{error}}',\n 'common.nameRequired': '名前は必須です',\n 'common.noMemberSelected': 'メンバーが選択されていません',\n 'common.noPluginSelected': 'プラグインが選択されていません',\n 'common.pluginRequired': 'プラグインが必要です',\n 'common.permissionRequired': '権限が必要です',\n 'common.editCell': '編集...',\n 'common.selectCell': '選択...',\n 'common.expandRow': '行を展開',\n 'common.configureAccessFor': '以下に対するアクセス権を設定',\n 'common.defaultResourceTypeVisible':\n 'デフォルトでは、選択したリソースタイプが、追加されたすべてのユーザーに表示されます。特定のプラグインルールに対する権限を制限または付与する場合は、そのルールを選択してパラメーターを追加してください。',\n },\n});\n\nexport default rbacTranslationJa;\n"],"names":[],"mappings":"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"}
|
|
@@ -31,6 +31,7 @@ const rbacMessages = {
|
|
|
31
31
|
},
|
|
32
32
|
errors: {
|
|
33
33
|
notFound: "Not Found",
|
|
34
|
+
notAllowed: "Insufficient permissions to access this page",
|
|
34
35
|
unauthorized: "Unauthorized to create role",
|
|
35
36
|
rbacDisabled: "Enable the RBAC backend plugin to use this feature.",
|
|
36
37
|
rbacDisabledInfo: "To enable RBAC, set `permission.enabled` to `true` in the app-config file.",
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ref.esm.js","sources":["../../../src/alpha/translations/ref.ts"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { createTranslationRef } from '@backstage/core-plugin-api/alpha';\n\nexport const rbacMessages = {\n page: {\n title: 'RBAC',\n createRole: 'Create role',\n editRole: 'Edit role',\n },\n table: {\n searchPlaceholder: 'Filter',\n labelRowsSelect: 'Rows',\n title: 'All roles',\n titleWithCount: 'All roles ({{count}})',\n headers: {\n name: 'Name',\n usersAndGroups: 'Users and groups',\n accessiblePlugins: 'Accessible plugins',\n actions: 'Actions',\n },\n emptyContent: 'No records found',\n },\n toolbar: {\n createButton: 'Create',\n warning: {\n title: 'Unable to create role.',\n message:\n 'To enable create/edit role button, make sure required users/groups are available in catalog as a role cannot be created without users/groups and also the role associated with your user should have the permission policies mentioned <link>here</link>.',\n linkText: 'here',\n note: 'Note',\n noteText:\n 'Even after ingesting users/groups in catalog and applying above permissions if the create/edit button is still disabled then please contact your administrator as you might be conditionally restricted from accessing the create/edit button.',\n },\n },\n errors: {\n notFound: 'Not Found',\n notAllowed: 'Insufficient permissions to access this page',\n unauthorized: 'Unauthorized to create role',\n rbacDisabled: 'Enable the RBAC backend plugin to use this feature.',\n rbacDisabledInfo:\n 'To enable RBAC, set `permission.enabled` to `true` in the app-config file.',\n fetchRoles: 'Something went wrong while fetching the roles',\n fetchRole: 'Something went wrong while fetching the role',\n fetchPoliciesErr: 'Error fetching the policies. {{error}}',\n fetchPolicies:\n 'Something went wrong while fetching the permission policies',\n fetchPlugins: 'Error fetching the plugins. {{error}}',\n fetchConditionalPermissionPolicies:\n 'Error fetching the conditional permission policies. {{error}}',\n fetchConditions: 'Something went wrong while fetching the role conditions',\n fetchUsersAndGroups:\n 'Something went wrong while fetching the users and groups',\n createRole: 'Unable to create role.',\n editRole: 'Unable to edit the role.',\n deleteRole: 'Unable to delete the role.',\n roleCreatedSuccess:\n 'Role was created successfully but unable to add permission policies to the role.',\n roleCreatedConditionsSuccess:\n 'Role created successfully but unable to add conditions to the role.',\n },\n roleForm: {\n titles: {\n createRole: 'Create Role',\n editRole: 'Edit Role',\n nameAndDescription: 'Enter name and description of role',\n usersAndGroups: 'Add users and groups',\n permissionPolicies: 'Add permission policies',\n },\n review: {\n reviewAndCreate: 'Review and create',\n reviewAndSave: 'Review and save',\n nameDescriptionOwner: 'Name, description, and owner of role',\n permissionPoliciesWithCount: 'Permission policies ({{count}})',\n },\n steps: {\n next: 'Next',\n back: 'Back',\n cancel: 'Cancel',\n reset: 'Reset',\n create: 'Create',\n save: 'Save',\n },\n fields: {\n name: {\n label: 'Name',\n helperText: 'Enter name of the role',\n },\n description: {\n label: 'Description',\n helperText:\n 'Enter a brief description about the role (The purpose of the role)',\n },\n owner: {\n label: 'Owner',\n helperText:\n 'Optional: Enter a user or group who will have permission to edit this role and create additional roles. In the next step, specify which users they can assign to their roles and which plugins they can grant access to. If left blank, automatically assigns the author at creation.',\n },\n },\n },\n deleteDialog: {\n title: 'Delete Role',\n question: 'Delete this role?',\n confirmation:\n 'Are you sure you want to delete the role **{{roleName}}**?\\n\\nDeleting this role is irreversible and will remove its functionality from the system. Proceed with caution.\\n\\nThe **{{members}}** associated with this role will lose access to all the **{{permissions}} permission policies** specified in this role.',\n roleNameLabel: 'Role name',\n roleNameHelper: 'Type the name of the role to confirm',\n deleteButton: 'Delete',\n cancelButton: 'Cancel',\n successMessage: 'Role {{roleName}} deleted successfully',\n },\n snackbar: {\n success: 'Success',\n },\n dialog: {\n cancelRoleCreation: 'Cancel role creation',\n exitRoleCreation: 'Exit role creation?',\n exitRoleEditing: 'Exit role editing?',\n exitWarning:\n '\\n\\nExiting this page will permanently discard the information you entered.\\n\\nAre you sure you want to exit?',\n discard: 'Discard',\n cancel: 'Cancel',\n },\n conditionalAccess: {\n condition: 'Condition',\n allOf: 'AllOf',\n anyOf: 'AnyOf',\n not: 'Not',\n addNestedCondition: 'Add nested condition',\n addRule: 'Add rule',\n nestedConditionTooltip:\n 'Nested conditions are **1 layer rules within a main condition**. It lets you allow appropriate access by using detailed permissions based on various conditions. You can add multiple nested conditions.',\n nestedConditionExample:\n 'For example, you can allow access to all entity types in the main condition and use a nested condition to limit the access to entities owned by the user.',\n },\n permissionPolicies: {\n helperText:\n 'By default, users are not granted access to any plugins. To grant user access, select the plugins you want to enable. Then, select which actions you would like to give user permission to.',\n allPlugins: 'All plugins ({{count}})',\n errorFetchingPolicies: 'Error fetching the permission policies: {{error}}',\n resourceTypeTooltip: 'resource type: {{resourceType}}',\n advancedPermissionsTooltip:\n 'Use advanced customized permissions to allow access to specific parts of the selected resource type.',\n noAdvancedPermissionsTooltip:\n 'Advanced customization is not supported for this resource type.',\n pluginsSelected: '{{count}} plugins',\n noPluginsSelected: 'No plugins selected',\n search: 'Search',\n noRecordsToDisplay: 'No records to display.',\n selectedPluginsAppearHere: 'Selected plugins appear here.',\n selectPlugins: 'Select plugins',\n noPluginsFound: 'No plugins found.',\n plugin: 'Plugin',\n permission: 'Permission',\n policies: 'Policies',\n conditional: 'Conditional',\n rules: 'rules',\n rule: 'rule',\n permissionPolicies: 'Permission Policies',\n permissions: 'permissions',\n },\n common: {\n noResults: 'No results for this date range.',\n exportCSV: 'Export CSV',\n csvFilename: 'data-export.csv',\n noMembers: 'No members',\n groups: 'groups',\n group: 'group',\n users: 'users',\n user: 'user',\n use: 'Use',\n refresh: 'Refresh',\n edit: 'Edit',\n unauthorizedToEdit: 'Unauthorized to edit',\n noRecordsFound: 'No records found',\n selectUsersAndGroups: 'Select users and groups',\n clearSearch: 'clear search',\n closeDrawer: 'Close the drawer',\n remove: 'Remove',\n addRule: 'Add rule',\n selectRule: 'Select a rule',\n rule: 'Rule',\n removeNestedCondition: 'Remove nested condition',\n overview: 'Overview',\n about: 'About',\n description: 'Description',\n modifiedBy: 'Modified By',\n lastModified: 'Last Modified',\n owner: 'Owner',\n noUsersAndGroupsSelected: 'No users and groups selected',\n selectedUsersAndGroupsAppearHere: 'Selected users and groups appear here.',\n name: 'Name',\n type: 'Type',\n members: 'Members',\n actions: 'Actions',\n removeMember: 'Remove member',\n delete: 'Delete',\n deleteRole: 'Delete Role',\n update: 'Update',\n editRole: 'Edit Role',\n checkingPermissions: 'Checking permissions…',\n unauthorizedTo: 'Unauthorized to {{action}}',\n performThisAction: 'perform this action',\n unableToCreatePermissionPolicies:\n 'Unable to create the permission policies.',\n unableToDeletePermissionPolicies:\n 'Unable to delete the permission policies.',\n unableToRemoveConditions: 'Unable to remove conditions from the role.',\n unableToUpdateConditions: 'Unable to update conditions.',\n unableToAddConditions: 'Unable to add conditions to the role.',\n roleActionSuccessfully: 'Role {{roleName}} {{action}} successfully',\n unableToFetchRole: 'Unable to fetch role: {{error}}',\n unableToFetchMembers: 'Unable to fetch members: {{error}}',\n roleAction: '{{action}} role',\n membersCount: '{{count}} members',\n parentGroupCount: '{{count}} parent group',\n childGroupsCount: '{{count}} child groups',\n searchAndSelectUsersGroups:\n 'Search and select users and groups to be added. Selected users and groups will appear in the table below.',\n noUsersAndGroupsFound: 'No users and groups found.',\n errorFetchingUserGroups: 'Error fetching user and groups: {{error}}',\n nameRequired: 'Name is required',\n noMemberSelected: 'No member selected',\n noPluginSelected: 'No plugin selected',\n pluginRequired: 'Plugin is required',\n permissionRequired: 'Permission is required',\n editCell: 'Edit...',\n selectCell: 'Select...',\n expandRow: 'expand row',\n configureAccessFor: 'Configure access for the',\n defaultResourceTypeVisible:\n 'By default, the selected resource type is visible to all added users. If you want to restrict or grant permission to specific plugin rules, select them and add the parameters.',\n },\n};\n\n/**\n * Translation reference for RBAC plugin\n * @public\n */\nexport const rbacTranslationRef = createTranslationRef({\n id: 'plugin.rbac',\n messages: rbacMessages,\n});\n"],"names":[],"mappings":"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"}
|
package/dist/alpha.d.ts
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import * as react from 'react';
|
|
1
3
|
import * as _backstage_frontend_plugin_api from '@backstage/frontend-plugin-api';
|
|
4
|
+
import * as _backstage_core_plugin_api from '@backstage/core-plugin-api';
|
|
2
5
|
|
|
3
6
|
/**
|
|
4
7
|
* Translation reference for RBAC plugin
|
|
@@ -32,6 +35,7 @@ declare const rbacTranslationRef: _backstage_frontend_plugin_api.TranslationRef<
|
|
|
32
35
|
readonly "errors.createRole": string;
|
|
33
36
|
readonly "errors.editRole": string;
|
|
34
37
|
readonly "errors.notFound": string;
|
|
38
|
+
readonly "errors.notAllowed": string;
|
|
35
39
|
readonly "errors.unauthorized": string;
|
|
36
40
|
readonly "errors.rbacDisabled": string;
|
|
37
41
|
readonly "errors.rbacDisabledInfo": string;
|
|
@@ -178,4 +182,78 @@ declare const rbacTranslationRef: _backstage_frontend_plugin_api.TranslationRef<
|
|
|
178
182
|
*/
|
|
179
183
|
declare const rbacTranslations: _backstage_frontend_plugin_api.TranslationResource<"plugin.rbac">;
|
|
180
184
|
|
|
181
|
-
|
|
185
|
+
/**
|
|
186
|
+
* RBAC plugin
|
|
187
|
+
* @alpha
|
|
188
|
+
*/
|
|
189
|
+
declare const _default: _backstage_frontend_plugin_api.OverridableFrontendPlugin<{
|
|
190
|
+
root: _backstage_core_plugin_api.RouteRef<undefined>;
|
|
191
|
+
}, {}, {
|
|
192
|
+
"api:rbac/licensed-users": _backstage_frontend_plugin_api.OverridableExtensionDefinition<{
|
|
193
|
+
kind: "api";
|
|
194
|
+
name: "licensed-users";
|
|
195
|
+
config: {};
|
|
196
|
+
configInput: {};
|
|
197
|
+
output: _backstage_frontend_plugin_api.ExtensionDataRef<_backstage_frontend_plugin_api.AnyApiFactory, "core.api.factory", {}>;
|
|
198
|
+
inputs: {};
|
|
199
|
+
params: <TApi, TImpl extends TApi, TDeps extends {
|
|
200
|
+
[x: string]: unknown;
|
|
201
|
+
}>(params: _backstage_frontend_plugin_api.ApiFactory<TApi, TImpl, TDeps>) => _backstage_frontend_plugin_api.ExtensionBlueprintParams<_backstage_frontend_plugin_api.AnyApiFactory>;
|
|
202
|
+
}>;
|
|
203
|
+
"api:rbac/rbac": _backstage_frontend_plugin_api.OverridableExtensionDefinition<{
|
|
204
|
+
kind: "api";
|
|
205
|
+
name: "rbac";
|
|
206
|
+
config: {};
|
|
207
|
+
configInput: {};
|
|
208
|
+
output: _backstage_frontend_plugin_api.ExtensionDataRef<_backstage_frontend_plugin_api.AnyApiFactory, "core.api.factory", {}>;
|
|
209
|
+
inputs: {};
|
|
210
|
+
params: <TApi, TImpl extends TApi, TDeps extends {
|
|
211
|
+
[x: string]: unknown;
|
|
212
|
+
}>(params: _backstage_frontend_plugin_api.ApiFactory<TApi, TImpl, TDeps>) => _backstage_frontend_plugin_api.ExtensionBlueprintParams<_backstage_frontend_plugin_api.AnyApiFactory>;
|
|
213
|
+
}>;
|
|
214
|
+
"nav-item:rbac": _backstage_frontend_plugin_api.OverridableExtensionDefinition<{
|
|
215
|
+
kind: "nav-item";
|
|
216
|
+
name: undefined;
|
|
217
|
+
config: {};
|
|
218
|
+
configInput: {};
|
|
219
|
+
output: _backstage_frontend_plugin_api.ExtensionDataRef<{
|
|
220
|
+
title: string;
|
|
221
|
+
icon: _backstage_frontend_plugin_api.IconComponent;
|
|
222
|
+
routeRef: _backstage_frontend_plugin_api.RouteRef<undefined>;
|
|
223
|
+
}, "core.nav-item.target", {}>;
|
|
224
|
+
inputs: {};
|
|
225
|
+
params: {
|
|
226
|
+
title: string;
|
|
227
|
+
icon: _backstage_frontend_plugin_api.IconComponent;
|
|
228
|
+
routeRef: _backstage_frontend_plugin_api.RouteRef<undefined>;
|
|
229
|
+
};
|
|
230
|
+
}>;
|
|
231
|
+
"page:rbac": _backstage_frontend_plugin_api.OverridableExtensionDefinition<{
|
|
232
|
+
kind: "page";
|
|
233
|
+
name: undefined;
|
|
234
|
+
config: {
|
|
235
|
+
path: string | undefined;
|
|
236
|
+
};
|
|
237
|
+
configInput: {
|
|
238
|
+
path?: string | undefined;
|
|
239
|
+
};
|
|
240
|
+
output: _backstage_frontend_plugin_api.ExtensionDataRef<string, "core.routing.path", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<react.JSX.Element, "core.reactElement", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<_backstage_frontend_plugin_api.RouteRef<_backstage_frontend_plugin_api.AnyRouteRefParams>, "core.routing.ref", {
|
|
241
|
+
optional: true;
|
|
242
|
+
}>;
|
|
243
|
+
inputs: {};
|
|
244
|
+
params: {
|
|
245
|
+
defaultPath?: [Error: "Use the 'path' param instead"] | undefined;
|
|
246
|
+
path: string;
|
|
247
|
+
loader: () => Promise<JSX.Element>;
|
|
248
|
+
routeRef?: _backstage_frontend_plugin_api.RouteRef<_backstage_frontend_plugin_api.AnyRouteRefParams> | undefined;
|
|
249
|
+
};
|
|
250
|
+
}>;
|
|
251
|
+
}>;
|
|
252
|
+
|
|
253
|
+
/**
|
|
254
|
+
* Translation module for the rbac plugin
|
|
255
|
+
* @alpha
|
|
256
|
+
*/
|
|
257
|
+
declare const rbacTranslationsModule: _backstage_frontend_plugin_api.FrontendModule;
|
|
258
|
+
|
|
259
|
+
export { _default as default, rbacTranslationRef, rbacTranslations, rbacTranslationsModule };
|
package/dist/alpha.esm.js
CHANGED
|
@@ -1,3 +1,31 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import { createFrontendPlugin, createFrontendModule } from '@backstage/frontend-plugin-api';
|
|
2
|
+
import { TranslationBlueprint } from '@backstage/plugin-app-react';
|
|
3
|
+
import { rbacApi, licensedUsersApi } from './alpha/apis.esm.js';
|
|
4
|
+
import { rbacNavItem } from './alpha/navItems.esm.js';
|
|
5
|
+
import { rbacPage } from './alpha/pages.esm.js';
|
|
6
|
+
import { rootRouteRef } from './routes.esm.js';
|
|
7
|
+
import { rbacTranslations } from './alpha/translations/index.esm.js';
|
|
8
|
+
export { rbacTranslationRef } from './alpha/translations/ref.esm.js';
|
|
9
|
+
|
|
10
|
+
var index = createFrontendPlugin({
|
|
11
|
+
pluginId: "rbac",
|
|
12
|
+
info: { packageJson: () => import('./package.json.esm.js') },
|
|
13
|
+
extensions: [rbacApi, licensedUsersApi, rbacPage, rbacNavItem],
|
|
14
|
+
routes: {
|
|
15
|
+
root: rootRouteRef
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
const rbacTranslationsModule = createFrontendModule({
|
|
19
|
+
pluginId: "app",
|
|
20
|
+
extensions: [
|
|
21
|
+
TranslationBlueprint.make({
|
|
22
|
+
name: "rbac-translations",
|
|
23
|
+
params: {
|
|
24
|
+
resource: rbacTranslations
|
|
25
|
+
}
|
|
26
|
+
})
|
|
27
|
+
]
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
export { index as default, rbacTranslations, rbacTranslationsModule };
|
|
3
31
|
//# sourceMappingURL=alpha.esm.js.map
|
package/dist/alpha.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alpha.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
1
|
+
{"version":3,"file":"alpha.esm.js","sources":["../src/alpha/index.ts"],"sourcesContent":["/*\n * Copyright 2026 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n createFrontendPlugin,\n createFrontendModule,\n} from '@backstage/frontend-plugin-api';\nimport { TranslationBlueprint } from '@backstage/plugin-app-react';\nimport { rbacApi, licensedUsersApi } from './apis';\nimport rbacNavItem from './navItems';\nimport rbacPage from './pages';\nimport { rootRouteRef } from '../routes';\nimport { rbacTranslations } from './translations';\n\n/**\n * RBAC plugin\n * @alpha\n */\n\nexport default createFrontendPlugin({\n pluginId: 'rbac',\n info: { packageJson: () => import('../../package.json') },\n extensions: [rbacApi, licensedUsersApi, rbacPage, rbacNavItem],\n routes: {\n root: rootRouteRef,\n },\n});\n\n/**\n * Translation module for the rbac plugin\n * @alpha\n */\n\nconst rbacTranslationsModule = createFrontendModule({\n pluginId: 'app',\n extensions: [\n TranslationBlueprint.make({\n name: 'rbac-translations',\n params: {\n resource: rbacTranslations,\n },\n }),\n ],\n});\n\nexport { rbacTranslationsModule };\n\nexport { rbacTranslationRef, rbacTranslations } from './translations';\n"],"names":[],"mappings":";;;;;;;;;AAgCA,YAAe,oBAAqB,CAAA;AAAA,EAClC,QAAU,EAAA,MAAA;AAAA,EACV,MAAM,EAAE,WAAA,EAAa,MAAM,OAAO,uBAAoB,CAAE,EAAA;AAAA,EACxD,UAAY,EAAA,CAAC,OAAS,EAAA,gBAAA,EAAkB,UAAU,WAAW,CAAA;AAAA,EAC7D,MAAQ,EAAA;AAAA,IACN,IAAM,EAAA;AAAA;AAEV,CAAC,CAAA;AAOD,MAAM,yBAAyB,oBAAqB,CAAA;AAAA,EAClD,QAAU,EAAA,KAAA;AAAA,EACV,UAAY,EAAA;AAAA,IACV,qBAAqB,IAAK,CAAA;AAAA,MACxB,IAAM,EAAA,mBAAA;AAAA,MACN,MAAQ,EAAA;AAAA,QACN,QAAU,EAAA;AAAA;AACZ,KACD;AAAA;AAEL,CAAC;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddNestedConditionButton.esm.js","sources":["../../../src/components/ConditionalAccess/AddNestedConditionButton.tsx"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport HelpOutlineIcon from '@mui/icons-material/HelpOutline';\nimport Box from '@mui/material/Box';\nimport Tooltip from '@mui/material/Tooltip';\nimport Typography from '@mui/material/Typography';\nimport { MarkdownContent } from '@backstage/core-components';\nimport { TranslationFunction } from '@backstage/core-plugin-api/alpha';\nimport { useTranslation } from '../../hooks/useTranslation';\nimport { rbacTranslationRef } from '../../translations';\n\nexport const tooltipTitle = (\n t: TranslationFunction<typeof rbacTranslationRef.T>,\n) => (\n <div>\n <Typography variant=\"body1\" component=\"p\" align=\"center\">\n <MarkdownContent\n content={t('conditionalAccess.nestedConditionTooltip')}\n />\n </Typography>\n <Typography variant=\"body1\" component=\"p\" align=\"center\">\n {t('conditionalAccess.nestedConditionExample')}\n </Typography>\n </div>\n);\n\nexport const AddNestedConditionButton = () => {\n const { t } = useTranslation();\n\n return (\n <Box\n sx={{\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n }}\n >\n <Typography variant=\"body1\" component=\"span\">\n {t('conditionalAccess.addNestedCondition')}\n </Typography>\n <Tooltip title={tooltipTitle(t)} placement=\"top\">\n <HelpOutlineIcon fontSize=\"inherit\" style={{ marginLeft: '0.25rem' }} />\n </Tooltip>\n </Box>\n );\n};\n"],"names":[],"mappings":";;;;;;;;AAwBO,MAAM,YAAe,GAAA,CAC1B,CAEA,qBAAA,IAAA,CAAC,KACC,EAAA,EAAA,QAAA,EAAA;AAAA,kBAAA,GAAA,CAAC,cAAW,OAAQ,EAAA,OAAA,EAAQ,SAAU,EAAA,GAAA,EAAI,OAAM,QAC9C,EAAA,QAAA,kBAAA,GAAA;AAAA,IAAC,eAAA;AAAA,IAAA;AAAA,MACC,OAAA,EAAS,EAAE,0CAA0C;AAAA;AAAA,GAEzD,EAAA,CAAA;AAAA,kBACA,GAAA,CAAC,UAAW,EAAA,EAAA,OAAA,EAAQ,OAAQ,EAAA,SAAA,EAAU,KAAI,KAAM,EAAA,QAAA,EAC7C,QAAE,EAAA,CAAA,CAAA,0CAA0C,CAC/C,EAAA;AAAA,CACF,EAAA;AAGK,MAAM,2BAA2B,MAAM;AAC5C,EAAM,MAAA,EAAE,CAAE,EAAA,GAAI,cAAe,EAAA;AAE7B,EACE,uBAAA,IAAA;AAAA,IAAC,GAAA;AAAA,IAAA;AAAA,MACC,EAAI,EAAA;AAAA,QACF,OAAS,EAAA,MAAA;AAAA,QACT,cAAgB,EAAA,QAAA;AAAA,QAChB,UAAY,EAAA;AAAA,OACd;AAAA,MAEA,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,cAAW,OAAQ,EAAA,OAAA,EAAQ,WAAU,MACnC,EAAA,QAAA,EAAA,CAAA,CAAE,sCAAsC,CAC3C,EAAA,CAAA;AAAA,4BACC,OAAQ,EAAA,EAAA,KAAA,EAAO,YAAa,CAAA,CAAC,GAAG,SAAU,EAAA,KAAA,EACzC,QAAC,kBAAA,GAAA,CAAA,eAAA,EAAA,EAAgB,UAAS,SAAU,EAAA,KAAA,EAAO,EAAE,UAAY,EAAA,SAAA,IAAa,CACxE,EAAA;AAAA;AAAA;AAAA,GACF;AAEJ;;;;"}
|
|
1
|
+
{"version":3,"file":"AddNestedConditionButton.esm.js","sources":["../../../src/components/ConditionalAccess/AddNestedConditionButton.tsx"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport HelpOutlineIcon from '@mui/icons-material/HelpOutline';\nimport Box from '@mui/material/Box';\nimport Tooltip from '@mui/material/Tooltip';\nimport Typography from '@mui/material/Typography';\nimport { MarkdownContent } from '@backstage/core-components';\nimport { TranslationFunction } from '@backstage/core-plugin-api/alpha';\nimport { useTranslation } from '../../hooks/useTranslation';\nimport { rbacTranslationRef } from '../../alpha/translations';\n\nexport const tooltipTitle = (\n t: TranslationFunction<typeof rbacTranslationRef.T>,\n) => (\n <div>\n <Typography variant=\"body1\" component=\"p\" align=\"center\">\n <MarkdownContent\n content={t('conditionalAccess.nestedConditionTooltip')}\n />\n </Typography>\n <Typography variant=\"body1\" component=\"p\" align=\"center\">\n {t('conditionalAccess.nestedConditionExample')}\n </Typography>\n </div>\n);\n\nexport const AddNestedConditionButton = () => {\n const { t } = useTranslation();\n\n return (\n <Box\n sx={{\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n }}\n >\n <Typography variant=\"body1\" component=\"span\">\n {t('conditionalAccess.addNestedCondition')}\n </Typography>\n <Tooltip title={tooltipTitle(t)} placement=\"top\">\n <HelpOutlineIcon fontSize=\"inherit\" style={{ marginLeft: '0.25rem' }} />\n </Tooltip>\n </Box>\n );\n};\n"],"names":[],"mappings":";;;;;;;;AAwBO,MAAM,YAAe,GAAA,CAC1B,CAEA,qBAAA,IAAA,CAAC,KACC,EAAA,EAAA,QAAA,EAAA;AAAA,kBAAA,GAAA,CAAC,cAAW,OAAQ,EAAA,OAAA,EAAQ,SAAU,EAAA,GAAA,EAAI,OAAM,QAC9C,EAAA,QAAA,kBAAA,GAAA;AAAA,IAAC,eAAA;AAAA,IAAA;AAAA,MACC,OAAA,EAAS,EAAE,0CAA0C;AAAA;AAAA,GAEzD,EAAA,CAAA;AAAA,kBACA,GAAA,CAAC,UAAW,EAAA,EAAA,OAAA,EAAQ,OAAQ,EAAA,SAAA,EAAU,KAAI,KAAM,EAAA,QAAA,EAC7C,QAAE,EAAA,CAAA,CAAA,0CAA0C,CAC/C,EAAA;AAAA,CACF,EAAA;AAGK,MAAM,2BAA2B,MAAM;AAC5C,EAAM,MAAA,EAAE,CAAE,EAAA,GAAI,cAAe,EAAA;AAE7B,EACE,uBAAA,IAAA;AAAA,IAAC,GAAA;AAAA,IAAA;AAAA,MACC,EAAI,EAAA;AAAA,QACF,OAAS,EAAA,MAAA;AAAA,QACT,cAAgB,EAAA,QAAA;AAAA,QAChB,UAAY,EAAA;AAAA,OACd;AAAA,MAEA,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,cAAW,OAAQ,EAAA,OAAA,EAAQ,WAAU,MACnC,EAAA,QAAA,EAAA,CAAA,CAAE,sCAAsC,CAC3C,EAAA,CAAA;AAAA,4BACC,OAAQ,EAAA,EAAA,KAAA,EAAO,YAAa,CAAA,CAAC,GAAG,SAAU,EAAA,KAAA,EACzC,QAAC,kBAAA,GAAA,CAAA,eAAA,EAAA,EAAgB,UAAS,SAAU,EAAA,KAAA,EAAO,EAAE,UAAY,EAAA,SAAA,IAAa,CACxE,EAAA;AAAA;AAAA;AAAA,GACF;AAEJ;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"const.esm.js","sources":["../../../src/components/ConditionalAccess/const.ts"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { TranslationFunction } from '@backstage/core-plugin-api/alpha';\nimport { ConditionsData } from './types';\nimport { rbacTranslationRef } from '../../translations';\n\nexport const criterias = {\n condition: 'condition' as keyof ConditionsData,\n anyOf: 'anyOf' as keyof ConditionsData,\n allOf: 'allOf' as keyof ConditionsData,\n not: 'not' as keyof ConditionsData,\n};\n\nexport const getCriteriasLabels = (\n t: TranslationFunction<typeof rbacTranslationRef.T>,\n) => ({\n [criterias.condition]: t('conditionalAccess.condition'),\n [criterias.allOf]: t('conditionalAccess.allOf'),\n [criterias.anyOf]: t('conditionalAccess.anyOf'),\n [criterias.not]: t('conditionalAccess.not'),\n});\n\nexport const getConditionButtons = (\n t: TranslationFunction<typeof rbacTranslationRef.T>,\n) => [\n { val: criterias.condition, label: t('conditionalAccess.condition') },\n { val: criterias.allOf, label: t('conditionalAccess.allOf') },\n { val: criterias.anyOf, label: t('conditionalAccess.anyOf') },\n { val: criterias.not, label: t('conditionalAccess.not') },\n];\n"],"names":[],"mappings":"AAmBO,MAAM,SAAY,GAAA;AAAA,EACvB,SAAW,EAAA,WAAA;AAAA,EACX,KAAO,EAAA,OAAA;AAAA,EACP,KAAO,EAAA,OAAA;AAAA,EACP,GAAK,EAAA;AACP;AAWa,MAAA,mBAAA,GAAsB,CACjC,CACG,KAAA;AAAA,EACH,EAAE,GAAK,EAAA,SAAA,CAAU,WAAW,KAAO,EAAA,CAAA,CAAE,6BAA6B,CAAE,EAAA;AAAA,EACpE,EAAE,GAAK,EAAA,SAAA,CAAU,OAAO,KAAO,EAAA,CAAA,CAAE,yBAAyB,CAAE,EAAA;AAAA,EAC5D,EAAE,GAAK,EAAA,SAAA,CAAU,OAAO,KAAO,EAAA,CAAA,CAAE,yBAAyB,CAAE,EAAA;AAAA,EAC5D,EAAE,GAAK,EAAA,SAAA,CAAU,KAAK,KAAO,EAAA,CAAA,CAAE,uBAAuB,CAAE;AAC1D;;;;"}
|
|
1
|
+
{"version":3,"file":"const.esm.js","sources":["../../../src/components/ConditionalAccess/const.ts"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { TranslationFunction } from '@backstage/core-plugin-api/alpha';\nimport { ConditionsData } from './types';\nimport { rbacTranslationRef } from '../../alpha/translations';\n\nexport const criterias = {\n condition: 'condition' as keyof ConditionsData,\n anyOf: 'anyOf' as keyof ConditionsData,\n allOf: 'allOf' as keyof ConditionsData,\n not: 'not' as keyof ConditionsData,\n};\n\nexport const getCriteriasLabels = (\n t: TranslationFunction<typeof rbacTranslationRef.T>,\n) => ({\n [criterias.condition]: t('conditionalAccess.condition'),\n [criterias.allOf]: t('conditionalAccess.allOf'),\n [criterias.anyOf]: t('conditionalAccess.anyOf'),\n [criterias.not]: t('conditionalAccess.not'),\n});\n\nexport const getConditionButtons = (\n t: TranslationFunction<typeof rbacTranslationRef.T>,\n) => [\n { val: criterias.condition, label: t('conditionalAccess.condition') },\n { val: criterias.allOf, label: t('conditionalAccess.allOf') },\n { val: criterias.anyOf, label: t('conditionalAccess.anyOf') },\n { val: criterias.not, label: t('conditionalAccess.not') },\n];\n"],"names":[],"mappings":"AAmBO,MAAM,SAAY,GAAA;AAAA,EACvB,SAAW,EAAA,WAAA;AAAA,EACX,KAAO,EAAA,OAAA;AAAA,EACP,KAAO,EAAA,OAAA;AAAA,EACP,GAAK,EAAA;AACP;AAWa,MAAA,mBAAA,GAAsB,CACjC,CACG,KAAA;AAAA,EACH,EAAE,GAAK,EAAA,SAAA,CAAU,WAAW,KAAO,EAAA,CAAA,CAAE,6BAA6B,CAAE,EAAA;AAAA,EACpE,EAAE,GAAK,EAAA,SAAA,CAAU,OAAO,KAAO,EAAA,CAAA,CAAE,yBAAyB,CAAE,EAAA;AAAA,EAC5D,EAAE,GAAK,EAAA,SAAA,CAAU,OAAO,KAAO,EAAA,CAAA,CAAE,yBAAyB,CAAE,EAAA;AAAA,EAC5D,EAAE,GAAK,EAAA,SAAA,CAAU,KAAK,KAAO,EAAA,CAAA,CAAE,uBAAuB,CAAE;AAC1D;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddMembersForm.esm.js","sources":["../../../src/components/CreateRole/AddMembersForm.tsx"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { useState, useEffect, useMemo } from 'react';\n\nimport { stringifyEntityRef } from '@backstage/catalog-model';\n\nimport Autocomplete from '@mui/material/Autocomplete';\nimport FormHelperText from '@mui/material/FormHelperText';\nimport LinearProgress from '@mui/material/LinearProgress';\nimport TextField from '@mui/material/TextField';\nimport HighlightOffIcon from '@mui/icons-material/HighlightOff';\nimport IconButton from '@mui/material/IconButton';\nimport { FormikErrors } from 'formik';\n\nimport { MemberEntity } from '../../types';\nimport { useLanguage } from '../../hooks/useLanguage';\nimport {\n getChildGroupsCount,\n getMembersCount,\n getParentGroupsCount,\n} from '../../utils/create-role-utils';\nimport { MembersDropdownOption } from './MembersDropdownOption';\nimport { RoleFormValues, SelectedMember } from './types';\nimport { useTranslation } from '../../hooks/useTranslation';\nimport { TranslationFunction } from '@backstage/core-plugin-api/alpha';\nimport { rbacTranslationRef } from '../../translations';\n\ntype AddMembersFormProps = {\n selectedMembers: SelectedMember[];\n selectedMembersError?: string;\n membersData: { members: MemberEntity[]; loading: boolean; error: Error };\n setFieldValue: (\n field: string,\n value: any,\n shouldValidate?: boolean,\n ) => Promise<FormikErrors<RoleFormValues>> | Promise<void>;\n};\n\nconst getDescription = (\n member: MemberEntity,\n t: TranslationFunction<typeof rbacTranslationRef.T>,\n) => {\n const memberCount = getMembersCount(member);\n const parentCount = getParentGroupsCount(member);\n const childCount = getChildGroupsCount(member);\n\n return member.kind === 'Group'\n ? [\n memberCount > 0\n ? t('common.membersCount' as any, { count: memberCount })\n : '',\n parentCount > 0\n ? t('common.parentGroupCount' as any, { count: parentCount })\n : '',\n childCount > 0\n ? t('common.childGroupsCount' as any, { count: childCount })\n : '',\n ]\n .filter(Boolean) // Remove any empty strings\n .join(', ')\n : undefined;\n};\n\nexport const AddMembersForm = ({\n selectedMembers,\n selectedMembersError,\n setFieldValue,\n membersData,\n}: AddMembersFormProps) => {\n const locale = useLanguage();\n const { t } = useTranslation();\n const [search, setSearch] = useState<string>('');\n const [selectedMember, setSelectedMember] =\n useState<SelectedMember[]>(selectedMembers);\n useEffect(() => {\n setSelectedMember(selectedMembers);\n }, [selectedMembers]);\n\n const membersOptions: SelectedMember[] = useMemo(() => {\n return membersData.members\n ? membersData.members.map((member: MemberEntity, index: number) => {\n const tag =\n member.metadata.etag ??\n `${member.metadata.name}-${member.kind}-${index}`;\n return {\n id: tag,\n label: member.spec?.profile?.displayName ?? member.metadata.name,\n description: getDescription(member, t),\n etag: tag,\n type: member.kind,\n namespace: member.metadata.namespace,\n members: getMembersCount(member),\n ref: stringifyEntityRef(member),\n };\n })\n : ([] as SelectedMember[]);\n }, [membersData.members, t]);\n\n const filteredMembers = useMemo(() => {\n if (search) {\n return membersOptions\n .filter(m =>\n m.label\n .toLocaleLowerCase(locale)\n .includes(search.toLocaleLowerCase(locale)),\n )\n .slice(0, 99);\n }\n\n return membersOptions.slice(0, 99);\n }, [membersOptions, search, locale]);\n\n const handleIsOptionEqualToValue = (\n option: SelectedMember,\n value: SelectedMember,\n ) =>\n value.etag\n ? option.etag === value.etag\n : selectedMember?.[0].etag === value.etag;\n\n return (\n <>\n <FormHelperText>{t('common.searchAndSelectUsersGroups')}</FormHelperText>\n <br />\n <Autocomplete\n disableCloseOnSelect\n data-testid=\"users-and-groups-autocomplete\"\n sx={{ width: '30%' }}\n multiple\n options={filteredMembers || []}\n getOptionLabel={(option: SelectedMember) => option.label ?? ''}\n isOptionEqualToValue={handleIsOptionEqualToValue}\n loading={membersData.loading}\n loadingText={<LinearProgress />}\n disableClearable\n value={selectedMember}\n onChange={(_e, value: SelectedMember[]) => {\n setSelectedMember(value);\n setFieldValue('selectedMembers', value);\n }}\n renderTags={() => ''}\n inputValue={search}\n onInputChange={(_e, newSearch: string, reason) =>\n reason === 'input' && setSearch(newSearch)\n }\n renderOption={(props, option: SelectedMember, state) => (\n <MembersDropdownOption props={props} option={option} state={state} />\n )}\n noOptionsText={t('common.noUsersAndGroupsFound')}\n clearOnEscape\n renderInput={params => (\n <TextField\n data-testid=\"users-and-groups-text-field\"\n {...params}\n name=\"add-users-and-groups\"\n variant=\"outlined\"\n label={t('common.selectUsersAndGroups')}\n error={!!selectedMembersError}\n helperText={selectedMembersError ?? ''}\n required\n onKeyDown={event => {\n if (event.key === 'Backspace' && params.inputProps.value === '') {\n event.stopPropagation();\n }\n }}\n InputProps={{\n ...params.InputProps,\n endAdornment: (\n <>\n {search && (\n <IconButton\n size=\"small\"\n onClick={() => {\n setSearch('');\n }}\n aria-label={t('common.clearSearch')}\n >\n <HighlightOffIcon fontSize=\"small\" />\n </IconButton>\n )}\n {params.InputProps.endAdornment}\n </>\n ),\n }}\n />\n )}\n />\n <br />\n {membersData.error?.message && (\n <FormHelperText error={!!membersData.error}>\n {t('common.errorFetchingUserGroups' as any, {\n error: membersData.error.message,\n })}\n </FormHelperText>\n )}\n </>\n );\n};\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AddMembersForm.esm.js","sources":["../../../src/components/CreateRole/AddMembersForm.tsx"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { useState, useEffect, useMemo } from 'react';\n\nimport { stringifyEntityRef } from '@backstage/catalog-model';\n\nimport Autocomplete from '@mui/material/Autocomplete';\nimport FormHelperText from '@mui/material/FormHelperText';\nimport LinearProgress from '@mui/material/LinearProgress';\nimport TextField from '@mui/material/TextField';\nimport HighlightOffIcon from '@mui/icons-material/HighlightOff';\nimport IconButton from '@mui/material/IconButton';\nimport { FormikErrors } from 'formik';\n\nimport { MemberEntity } from '../../types';\nimport { useLanguage } from '../../hooks/useLanguage';\nimport {\n getChildGroupsCount,\n getMembersCount,\n getParentGroupsCount,\n} from '../../utils/create-role-utils';\nimport { MembersDropdownOption } from './MembersDropdownOption';\nimport { RoleFormValues, SelectedMember } from './types';\nimport { useTranslation } from '../../hooks/useTranslation';\nimport { TranslationFunction } from '@backstage/core-plugin-api/alpha';\nimport { rbacTranslationRef } from '../../alpha/translations';\n\ntype AddMembersFormProps = {\n selectedMembers: SelectedMember[];\n selectedMembersError?: string;\n membersData: { members: MemberEntity[]; loading: boolean; error: Error };\n setFieldValue: (\n field: string,\n value: any,\n shouldValidate?: boolean,\n ) => Promise<FormikErrors<RoleFormValues>> | Promise<void>;\n};\n\nconst getDescription = (\n member: MemberEntity,\n t: TranslationFunction<typeof rbacTranslationRef.T>,\n) => {\n const memberCount = getMembersCount(member);\n const parentCount = getParentGroupsCount(member);\n const childCount = getChildGroupsCount(member);\n\n return member.kind === 'Group'\n ? [\n memberCount > 0\n ? t('common.membersCount' as any, { count: memberCount })\n : '',\n parentCount > 0\n ? t('common.parentGroupCount' as any, { count: parentCount })\n : '',\n childCount > 0\n ? t('common.childGroupsCount' as any, { count: childCount })\n : '',\n ]\n .filter(Boolean) // Remove any empty strings\n .join(', ')\n : undefined;\n};\n\nexport const AddMembersForm = ({\n selectedMembers,\n selectedMembersError,\n setFieldValue,\n membersData,\n}: AddMembersFormProps) => {\n const locale = useLanguage();\n const { t } = useTranslation();\n const [search, setSearch] = useState<string>('');\n const [selectedMember, setSelectedMember] =\n useState<SelectedMember[]>(selectedMembers);\n useEffect(() => {\n setSelectedMember(selectedMembers);\n }, [selectedMembers]);\n\n const membersOptions: SelectedMember[] = useMemo(() => {\n return membersData.members\n ? membersData.members.map((member: MemberEntity, index: number) => {\n const tag =\n member.metadata.etag ??\n `${member.metadata.name}-${member.kind}-${index}`;\n return {\n id: tag,\n label: member.spec?.profile?.displayName ?? member.metadata.name,\n description: getDescription(member, t),\n etag: tag,\n type: member.kind,\n namespace: member.metadata.namespace,\n members: getMembersCount(member),\n ref: stringifyEntityRef(member),\n };\n })\n : ([] as SelectedMember[]);\n }, [membersData.members, t]);\n\n const filteredMembers = useMemo(() => {\n if (search) {\n return membersOptions\n .filter(m =>\n m.label\n .toLocaleLowerCase(locale)\n .includes(search.toLocaleLowerCase(locale)),\n )\n .slice(0, 99);\n }\n\n return membersOptions.slice(0, 99);\n }, [membersOptions, search, locale]);\n\n const handleIsOptionEqualToValue = (\n option: SelectedMember,\n value: SelectedMember,\n ) =>\n value.etag\n ? option.etag === value.etag\n : selectedMember?.[0].etag === value.etag;\n\n return (\n <>\n <FormHelperText>{t('common.searchAndSelectUsersGroups')}</FormHelperText>\n <br />\n <Autocomplete\n disableCloseOnSelect\n data-testid=\"users-and-groups-autocomplete\"\n sx={{ width: '30%' }}\n multiple\n options={filteredMembers || []}\n getOptionLabel={(option: SelectedMember) => option.label ?? ''}\n isOptionEqualToValue={handleIsOptionEqualToValue}\n loading={membersData.loading}\n loadingText={<LinearProgress />}\n disableClearable\n value={selectedMember}\n onChange={(_e, value: SelectedMember[]) => {\n setSelectedMember(value);\n setFieldValue('selectedMembers', value);\n }}\n renderTags={() => ''}\n inputValue={search}\n onInputChange={(_e, newSearch: string, reason) =>\n reason === 'input' && setSearch(newSearch)\n }\n renderOption={(props, option: SelectedMember, state) => (\n <MembersDropdownOption props={props} option={option} state={state} />\n )}\n noOptionsText={t('common.noUsersAndGroupsFound')}\n clearOnEscape\n renderInput={params => (\n <TextField\n data-testid=\"users-and-groups-text-field\"\n {...params}\n name=\"add-users-and-groups\"\n variant=\"outlined\"\n label={t('common.selectUsersAndGroups')}\n error={!!selectedMembersError}\n helperText={selectedMembersError ?? ''}\n required\n onKeyDown={event => {\n if (event.key === 'Backspace' && params.inputProps.value === '') {\n event.stopPropagation();\n }\n }}\n InputProps={{\n ...params.InputProps,\n endAdornment: (\n <>\n {search && (\n <IconButton\n size=\"small\"\n onClick={() => {\n setSearch('');\n }}\n aria-label={t('common.clearSearch')}\n >\n <HighlightOffIcon fontSize=\"small\" />\n </IconButton>\n )}\n {params.InputProps.endAdornment}\n </>\n ),\n }}\n />\n )}\n />\n <br />\n {membersData.error?.message && (\n <FormHelperText error={!!membersData.error}>\n {t('common.errorFetchingUserGroups' as any, {\n error: membersData.error.message,\n })}\n </FormHelperText>\n )}\n </>\n );\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddedMembersTableColumn.esm.js","sources":["../../../src/components/CreateRole/AddedMembersTableColumn.tsx"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { parseEntityRef } from '@backstage/catalog-model';\nimport { Link, TableColumn } from '@backstage/core-components';\n\nimport Delete from '@mui/icons-material/Delete';\nimport Box from '@mui/material/Box';\nimport IconButton from '@mui/material/IconButton';\nimport { FormikErrors } from 'formik';\n\nimport { RoleFormValues, SelectedMember } from './types';\nimport { TranslationFunction } from '@backstage/core-plugin-api/alpha';\nimport { rbacTranslationRef } from '../../translations';\n\nexport const reviewStepMemebersTableColumns = (\n t: TranslationFunction<typeof rbacTranslationRef.T>,\n) => {\n return [\n {\n title: t('common.name'),\n field: 'label',\n type: 'string',\n },\n {\n title: t('common.type'),\n field: 'type',\n type: 'string',\n },\n {\n title: t('common.members'),\n field: 'members',\n type: 'numeric',\n align: 'left',\n render: (mem: number) => {\n if (mem || mem === 0) return mem;\n return '-';\n },\n },\n ];\n};\n\nexport const selectedMembersColumns = (\n selectedMembers: SelectedMember[],\n setFieldValue: (\n field: string,\n value: any,\n shouldValidate?: boolean,\n ) => Promise<FormikErrors<RoleFormValues>> | Promise<void>,\n t: TranslationFunction<typeof rbacTranslationRef.T>,\n): TableColumn<SelectedMember>[] => {\n const onRemove = (etag: string) => {\n const updatedMembers = selectedMembers.filter(\n (mem: SelectedMember) => mem.etag !== etag,\n );\n setFieldValue('selectedMembers', updatedMembers);\n };\n\n return [\n {\n title: t('common.name'),\n field: 'label',\n type: 'string',\n render: props => {\n const { kind, namespace, name } = parseEntityRef(props.ref);\n return (\n <Link to={`/catalog/${namespace}/${kind}/${name}`} target=\"blank\">\n {props.label}\n </Link>\n );\n },\n },\n {\n title: t('common.type'),\n field: 'type',\n type: 'string',\n },\n {\n title: t('common.members'),\n field: 'members',\n type: 'numeric',\n align: 'left',\n emptyValue: '-',\n },\n {\n title: t('common.actions'),\n sorting: false,\n render: (mem: SelectedMember) => {\n return (\n <Box key={mem.etag}>\n <IconButton\n onClick={() => onRemove(mem.etag)}\n aria-label={t('common.remove')}\n title={t('common.removeMember')}\n style={{ padding: '0.5rem', borderRadius: '50%' }}\n sx={{ '&:hover': { borderRadius: '50%' } }}\n >\n <Delete />\n </IconButton>\n </Box>\n );\n },\n },\n ];\n};\n"],"names":[],"mappings":";;;;;;;AA2Ba,MAAA,8BAAA,GAAiC,CAC5C,CACG,KAAA;AACH,EAAO,OAAA;AAAA,IACL;AAAA,MACE,KAAA,EAAO,EAAE,aAAa,CAAA;AAAA,MACtB,KAAO,EAAA,OAAA;AAAA,MACP,IAAM,EAAA;AAAA,KACR;AAAA,IACA;AAAA,MACE,KAAA,EAAO,EAAE,aAAa,CAAA;AAAA,MACtB,KAAO,EAAA,MAAA;AAAA,MACP,IAAM,EAAA;AAAA,KACR;AAAA,IACA;AAAA,MACE,KAAA,EAAO,EAAE,gBAAgB,CAAA;AAAA,MACzB,KAAO,EAAA,SAAA;AAAA,MACP,IAAM,EAAA,SAAA;AAAA,MACN,KAAO,EAAA,MAAA;AAAA,MACP,MAAA,EAAQ,CAAC,GAAgB,KAAA;AACvB,QAAI,IAAA,GAAA,IAAO,GAAQ,KAAA,CAAA,EAAU,OAAA,GAAA;AAC7B,QAAO,OAAA,GAAA;AAAA;AACT;AACF,GACF;AACF;AAEO,MAAM,sBAAyB,GAAA,CACpC,eACA,EAAA,aAAA,EAKA,CACkC,KAAA;AAClC,EAAM,MAAA,QAAA,GAAW,CAAC,IAAiB,KAAA;AACjC,IAAA,MAAM,iBAAiB,eAAgB,CAAA,MAAA;AAAA,MACrC,CAAC,GAAwB,KAAA,GAAA,CAAI,IAAS,KAAA;AAAA,KACxC;AACA,IAAA,aAAA,CAAc,mBAAmB,cAAc,CAAA;AAAA,GACjD;AAEA,EAAO,OAAA;AAAA,IACL;AAAA,MACE,KAAA,EAAO,EAAE,aAAa,CAAA;AAAA,MACtB,KAAO,EAAA,OAAA;AAAA,MACP,IAAM,EAAA,QAAA;AAAA,MACN,QAAQ,CAAS,KAAA,KAAA;AACf,QAAA,MAAM,EAAE,IAAM,EAAA,SAAA,EAAW,MAAS,GAAA,cAAA,CAAe,MAAM,GAAG,CAAA;AAC1D,QAAA,uBACG,GAAA,CAAA,IAAA,EAAA,EAAK,EAAI,EAAA,CAAA,SAAA,EAAY,SAAS,CAAA,CAAA,EAAI,IAAI,CAAA,CAAA,EAAI,IAAI,CAAA,CAAA,EAAI,MAAO,EAAA,OAAA,EACvD,gBAAM,KACT,EAAA,CAAA;AAAA;AAEJ,KACF;AAAA,IACA;AAAA,MACE,KAAA,EAAO,EAAE,aAAa,CAAA;AAAA,MACtB,KAAO,EAAA,MAAA;AAAA,MACP,IAAM,EAAA;AAAA,KACR;AAAA,IACA;AAAA,MACE,KAAA,EAAO,EAAE,gBAAgB,CAAA;AAAA,MACzB,KAAO,EAAA,SAAA;AAAA,MACP,IAAM,EAAA,SAAA;AAAA,MACN,KAAO,EAAA,MAAA;AAAA,MACP,UAAY,EAAA;AAAA,KACd;AAAA,IACA;AAAA,MACE,KAAA,EAAO,EAAE,gBAAgB,CAAA;AAAA,MACzB,OAAS,EAAA,KAAA;AAAA,MACT,MAAA,EAAQ,CAAC,GAAwB,KAAA;AAC/B,QAAA,2BACG,GACC,EAAA,EAAA,QAAA,kBAAA,GAAA;AAAA,UAAC,UAAA;AAAA,UAAA;AAAA,YACC,OAAS,EAAA,MAAM,QAAS,CAAA,GAAA,CAAI,IAAI,CAAA;AAAA,YAChC,YAAA,EAAY,EAAE,eAAe,CAAA;AAAA,YAC7B,KAAA,EAAO,EAAE,qBAAqB,CAAA;AAAA,YAC9B,KAAO,EAAA,EAAE,OAAS,EAAA,QAAA,EAAU,cAAc,KAAM,EAAA;AAAA,YAChD,IAAI,EAAE,SAAA,EAAW,EAAE,YAAA,EAAc,OAAQ,EAAA;AAAA,YAEzC,8BAAC,MAAO,EAAA,EAAA;AAAA;AAAA,SACV,EAAA,EATQ,IAAI,IAUd,CAAA;AAAA;AAEJ;AACF,GACF;AACF;;;;"}
|
|
1
|
+
{"version":3,"file":"AddedMembersTableColumn.esm.js","sources":["../../../src/components/CreateRole/AddedMembersTableColumn.tsx"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { parseEntityRef } from '@backstage/catalog-model';\nimport { Link, TableColumn } from '@backstage/core-components';\n\nimport Delete from '@mui/icons-material/Delete';\nimport Box from '@mui/material/Box';\nimport IconButton from '@mui/material/IconButton';\nimport { FormikErrors } from 'formik';\n\nimport { RoleFormValues, SelectedMember } from './types';\nimport { TranslationFunction } from '@backstage/core-plugin-api/alpha';\nimport { rbacTranslationRef } from '../../alpha/translations';\n\nexport const reviewStepMemebersTableColumns = (\n t: TranslationFunction<typeof rbacTranslationRef.T>,\n) => {\n return [\n {\n title: t('common.name'),\n field: 'label',\n type: 'string',\n },\n {\n title: t('common.type'),\n field: 'type',\n type: 'string',\n },\n {\n title: t('common.members'),\n field: 'members',\n type: 'numeric',\n align: 'left',\n render: (mem: number) => {\n if (mem || mem === 0) return mem;\n return '-';\n },\n },\n ];\n};\n\nexport const selectedMembersColumns = (\n selectedMembers: SelectedMember[],\n setFieldValue: (\n field: string,\n value: any,\n shouldValidate?: boolean,\n ) => Promise<FormikErrors<RoleFormValues>> | Promise<void>,\n t: TranslationFunction<typeof rbacTranslationRef.T>,\n): TableColumn<SelectedMember>[] => {\n const onRemove = (etag: string) => {\n const updatedMembers = selectedMembers.filter(\n (mem: SelectedMember) => mem.etag !== etag,\n );\n setFieldValue('selectedMembers', updatedMembers);\n };\n\n return [\n {\n title: t('common.name'),\n field: 'label',\n type: 'string',\n render: props => {\n const { kind, namespace, name } = parseEntityRef(props.ref);\n return (\n <Link to={`/catalog/${namespace}/${kind}/${name}`} target=\"blank\">\n {props.label}\n </Link>\n );\n },\n },\n {\n title: t('common.type'),\n field: 'type',\n type: 'string',\n },\n {\n title: t('common.members'),\n field: 'members',\n type: 'numeric',\n align: 'left',\n emptyValue: '-',\n },\n {\n title: t('common.actions'),\n sorting: false,\n render: (mem: SelectedMember) => {\n return (\n <Box key={mem.etag}>\n <IconButton\n onClick={() => onRemove(mem.etag)}\n aria-label={t('common.remove')}\n title={t('common.removeMember')}\n style={{ padding: '0.5rem', borderRadius: '50%' }}\n sx={{ '&:hover': { borderRadius: '50%' } }}\n >\n <Delete />\n </IconButton>\n </Box>\n );\n },\n },\n ];\n};\n"],"names":[],"mappings":";;;;;;;AA2Ba,MAAA,8BAAA,GAAiC,CAC5C,CACG,KAAA;AACH,EAAO,OAAA;AAAA,IACL;AAAA,MACE,KAAA,EAAO,EAAE,aAAa,CAAA;AAAA,MACtB,KAAO,EAAA,OAAA;AAAA,MACP,IAAM,EAAA;AAAA,KACR;AAAA,IACA;AAAA,MACE,KAAA,EAAO,EAAE,aAAa,CAAA;AAAA,MACtB,KAAO,EAAA,MAAA;AAAA,MACP,IAAM,EAAA;AAAA,KACR;AAAA,IACA;AAAA,MACE,KAAA,EAAO,EAAE,gBAAgB,CAAA;AAAA,MACzB,KAAO,EAAA,SAAA;AAAA,MACP,IAAM,EAAA,SAAA;AAAA,MACN,KAAO,EAAA,MAAA;AAAA,MACP,MAAA,EAAQ,CAAC,GAAgB,KAAA;AACvB,QAAI,IAAA,GAAA,IAAO,GAAQ,KAAA,CAAA,EAAU,OAAA,GAAA;AAC7B,QAAO,OAAA,GAAA;AAAA;AACT;AACF,GACF;AACF;AAEO,MAAM,sBAAyB,GAAA,CACpC,eACA,EAAA,aAAA,EAKA,CACkC,KAAA;AAClC,EAAM,MAAA,QAAA,GAAW,CAAC,IAAiB,KAAA;AACjC,IAAA,MAAM,iBAAiB,eAAgB,CAAA,MAAA;AAAA,MACrC,CAAC,GAAwB,KAAA,GAAA,CAAI,IAAS,KAAA;AAAA,KACxC;AACA,IAAA,aAAA,CAAc,mBAAmB,cAAc,CAAA;AAAA,GACjD;AAEA,EAAO,OAAA;AAAA,IACL;AAAA,MACE,KAAA,EAAO,EAAE,aAAa,CAAA;AAAA,MACtB,KAAO,EAAA,OAAA;AAAA,MACP,IAAM,EAAA,QAAA;AAAA,MACN,QAAQ,CAAS,KAAA,KAAA;AACf,QAAA,MAAM,EAAE,IAAM,EAAA,SAAA,EAAW,MAAS,GAAA,cAAA,CAAe,MAAM,GAAG,CAAA;AAC1D,QAAA,uBACG,GAAA,CAAA,IAAA,EAAA,EAAK,EAAI,EAAA,CAAA,SAAA,EAAY,SAAS,CAAA,CAAA,EAAI,IAAI,CAAA,CAAA,EAAI,IAAI,CAAA,CAAA,EAAI,MAAO,EAAA,OAAA,EACvD,gBAAM,KACT,EAAA,CAAA;AAAA;AAEJ,KACF;AAAA,IACA;AAAA,MACE,KAAA,EAAO,EAAE,aAAa,CAAA;AAAA,MACtB,KAAO,EAAA,MAAA;AAAA,MACP,IAAM,EAAA;AAAA,KACR;AAAA,IACA;AAAA,MACE,KAAA,EAAO,EAAE,gBAAgB,CAAA;AAAA,MACzB,KAAO,EAAA,SAAA;AAAA,MACP,IAAM,EAAA,SAAA;AAAA,MACN,KAAO,EAAA,MAAA;AAAA,MACP,UAAY,EAAA;AAAA,KACd;AAAA,IACA;AAAA,MACE,KAAA,EAAO,EAAE,gBAAgB,CAAA;AAAA,MACzB,OAAS,EAAA,KAAA;AAAA,MACT,MAAA,EAAQ,CAAC,GAAwB,KAAA;AAC/B,QAAA,2BACG,GACC,EAAA,EAAA,QAAA,kBAAA,GAAA;AAAA,UAAC,UAAA;AAAA,UAAA;AAAA,YACC,OAAS,EAAA,MAAM,QAAS,CAAA,GAAA,CAAI,IAAI,CAAA;AAAA,YAChC,YAAA,EAAY,EAAE,eAAe,CAAA;AAAA,YAC7B,KAAA,EAAO,EAAE,qBAAqB,CAAA;AAAA,YAC9B,KAAO,EAAA,EAAE,OAAS,EAAA,QAAA,EAAU,cAAc,KAAM,EAAA;AAAA,YAChD,IAAI,EAAE,SAAA,EAAW,EAAE,YAAA,EAAc,OAAQ,EAAA;AAAA,YAEzC,8BAAC,MAAO,EAAA,EAAA;AAAA;AAAA,SACV,EAAA,EATQ,IAAI,IAUd,CAAA;AAAA;AAEJ;AACF,GACF;AACF;;;;"}
|