All Downloads are FREE. Search and download functionalities are using the official Maven repository.

theme.keycloak.v2.admin.resources.assets.PermissionTab-952802f9.js.map Maven / Gradle / Ivy

There is a newer version: 25.0.1
Show newest version
{"version":3,"file":"PermissionTab-952802f9.js","sources":["../../src/components/permission-tab/PermissionTab.tsx"],"sourcesContent":["import type { ManagementPermissionReference } from \"@keycloak/keycloak-admin-client/lib/defs/managementPermissionReference\";\nimport {\n  Card,\n  CardBody,\n  CardTitle,\n  Form,\n  FormGroup,\n  PageSection,\n  Switch,\n} from \"@patternfly/react-core\";\nimport {\n  ActionsColumn,\n  TableComposable,\n  Tbody,\n  Td,\n  Th,\n  Thead,\n  Tr,\n} from \"@patternfly/react-table\";\nimport { useState } from \"react\";\nimport { Trans, useTranslation } from \"react-i18next\";\nimport { Link, useNavigate } from \"react-router-dom\";\nimport { HelpItem } from \"ui-shared\";\n\nimport { adminClient } from \"../../admin-client\";\nimport { toPermissionDetails } from \"../../clients/routes/PermissionDetails\";\nimport { KeycloakSpinner } from \"../../components/keycloak-spinner/KeycloakSpinner\";\nimport { useRealm } from \"../../context/realm-context/RealmContext\";\nimport { useFetch } from \"../../utils/useFetch\";\nimport useLocaleSort from \"../../utils/useLocaleSort\";\nimport { useConfirmDialog } from \"../confirm-dialog/ConfirmDialog\";\n\nimport \"./permissions-tab.css\";\n\ntype PermissionScreenType =\n  | \"clients\"\n  | \"users\"\n  | \"groups\"\n  | \"roles\"\n  | \"identityProviders\";\n\ntype PermissionsTabProps = {\n  id?: string;\n  type: PermissionScreenType;\n};\n\nexport const PermissionsTab = ({ id, type }: PermissionsTabProps) => {\n  const { t } = useTranslation(\"common\");\n  const navigate = useNavigate();\n  const { realm } = useRealm();\n  const [realmId, setRealmId] = useState(\"\");\n  const [permission, setPermission] = useState();\n  const localeSort = useLocaleSort();\n\n  const togglePermissionEnabled = (enabled: boolean) => {\n    switch (type) {\n      case \"clients\":\n        return adminClient.clients.updateFineGrainPermission(\n          { id: id! },\n          { enabled },\n        );\n      case \"users\":\n        return adminClient.realms.updateUsersManagementPermissions({\n          realm,\n          enabled,\n        });\n      case \"groups\":\n        return adminClient.groups.updatePermission({ id: id! }, { enabled });\n      case \"roles\":\n        return adminClient.roles.updatePermission({ id: id! }, { enabled });\n      case \"identityProviders\":\n        return adminClient.identityProviders.updatePermission(\n          { alias: id! },\n          { enabled },\n        );\n    }\n  };\n\n  useFetch(\n    () =>\n      Promise.all([\n        adminClient.clients.find({\n          search: true,\n          clientId: realm === \"master\" ? \"master-realm\" : \"realm-management\",\n        }),\n        (() => {\n          switch (type) {\n            case \"clients\":\n              return adminClient.clients.listFineGrainPermissions({ id: id! });\n            case \"users\":\n              return adminClient.realms.getUsersManagementPermissions({\n                realm,\n              });\n            case \"groups\":\n              return adminClient.groups.listPermissions({ id: id! });\n            case \"roles\":\n              return adminClient.roles.listPermissions({ id: id! });\n            case \"identityProviders\":\n              return adminClient.identityProviders.listPermissions({\n                alias: id!,\n              });\n          }\n        })(),\n      ]),\n    ([clients, permission]) => {\n      setRealmId(clients[0]?.id!);\n      setPermission(permission);\n    },\n    [id],\n  );\n\n  const [toggleDisableDialog, DisableConfirm] = useConfirmDialog({\n    titleKey: \"common:permissionsDisable\",\n    messageKey: \"common:permissionsDisableConfirm\",\n    continueButtonLabel: \"common:confirm\",\n    onConfirm: async () => {\n      const permission = await togglePermissionEnabled(false);\n      setPermission(permission);\n    },\n  });\n\n  if (!permission) {\n    return ;\n  }\n\n  return (\n    \n      \n      \n        {t(\"permissions\")}\n        \n          {t(`${type}PermissionsHint`)}\n          
\n \n }\n >\n {\n if (enabled) {\n const permission = await togglePermissionEnabled(enabled);\n setPermission(permission);\n } else {\n toggleDisableDialog();\n }\n }}\n aria-label={t(\"permissionsEnabled\")}\n />\n \n \n
\n
\n {permission.enabled && (\n <>\n \n {t(\"permissionsList\")}\n \n \n {\" \"}\n \n {{\n realm:\n realm === \"master\" ? \"master-realm\" : \"realm-management\",\n }}\n \n .\n \n \n \n \n \n \n \n \n \n {t(\"permissionsScopeName\")}\n \n {t(\"description\")}\n \n \n \n {localeSort(\n Object.entries(permission.scopePermissions || {}),\n ([name]) => name,\n ).map(([name, id]) => (\n \n \n \n {name}\n \n \n \n {t(`scopePermissions.${type}.${name}-description`)}\n \n \n \n \n \n ))}\n \n \n \n \n \n )}\n
\n );\n};\n"],"names":["PermissionsTab","id","type","t","useTranslation","navigate","useNavigate","realm","useRealm","realmId","setRealmId","useState","permission","setPermission","localeSort","useLocaleSort","togglePermissionEnabled","enabled","adminClient","useFetch","clients","toggleDisableDialog","DisableConfirm","useConfirmDialog","jsxs","PageSection","jsx","Card","CardTitle","CardBody","Form","FormGroup","HelpItem","Switch","Fragment","Trans","TableComposable","Thead","Tr","Th","Tbody","name","Td","Link","toPermissionDetails","ActionsColumn","KeycloakSpinner"],"mappings":"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"}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy