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

theme.keycloak.v2.admin.resources.assets.RolesList-2d56fbe4.js.map Maven / Gradle / Ivy

There is a newer version: 25.0.1
Show newest version
{"version":3,"file":"RolesList-2d56fbe4.js","sources":["../../src/components/roles-list/RolesList.tsx"],"sourcesContent":["import type RealmRepresentation from \"@keycloak/keycloak-admin-client/lib/defs/realmRepresentation\";\nimport type RoleRepresentation from \"@keycloak/keycloak-admin-client/lib/defs/roleRepresentation\";\nimport { AlertVariant, Button, ButtonVariant } from \"@patternfly/react-core\";\nimport { useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Link, To, useNavigate } from \"react-router-dom\";\nimport { HelpItem } from \"ui-shared\";\n\nimport { adminClient } from \"../../admin-client\";\nimport { useRealm } from \"../../context/realm-context/RealmContext\";\nimport { toRealmSettings } from \"../../realm-settings/routes/RealmSettings\";\nimport { emptyFormatter, upperCaseFormatter } from \"../../util\";\nimport { useFetch } from \"../../utils/useFetch\";\nimport { useAlerts } from \"../alert/Alerts\";\nimport { useConfirmDialog } from \"../confirm-dialog/ConfirmDialog\";\nimport { KeycloakSpinner } from \"../keycloak-spinner/KeycloakSpinner\";\nimport { ListEmptyState } from \"../list-empty-state/ListEmptyState\";\nimport { Action, KeycloakDataTable } from \"../table-toolbar/KeycloakDataTable\";\n\nimport \"./RolesList.css\";\n\ntype RoleDetailLinkProps = RoleRepresentation & {\n  defaultRoleName?: string;\n  toDetail: (roleId: string) => To;\n  messageBundle?: string;\n};\n\nconst RoleDetailLink = ({\n  defaultRoleName,\n  toDetail,\n  messageBundle,\n  ...role\n}: RoleDetailLinkProps) => {\n  const { t } = useTranslation(messageBundle);\n  const { realm } = useRealm();\n  return role.name !== defaultRoleName ? (\n    {role.name}\n  ) : (\n    <>\n      \n        {role.name}{\" \"}\n      \n      \n    \n  );\n};\n\ntype RolesListProps = {\n  paginated?: boolean;\n  parentRoleId?: string;\n  messageBundle?: string;\n  isReadOnly: boolean;\n  toCreate: To;\n  toDetail: (roleId: string) => To;\n  loader?: (\n    first?: number,\n    max?: number,\n    search?: string\n  ) => Promise;\n};\n\nexport const RolesList = ({\n  loader,\n  paginated = true,\n  parentRoleId,\n  messageBundle = \"roles\",\n  toCreate,\n  toDetail,\n  isReadOnly,\n}: RolesListProps) => {\n  const { t } = useTranslation(messageBundle);\n  const navigate = useNavigate();\n  const { addAlert, addError } = useAlerts();\n  const { realm: realmName } = useRealm();\n  const [realm, setRealm] = useState();\n\n  const [selectedRole, setSelectedRole] = useState();\n\n  useFetch(\n    () => adminClient.realms.findOne({ realm: realmName }),\n    (realm) => {\n      setRealm(realm);\n    },\n    []\n  );\n\n  const [toggleDeleteDialog, DeleteConfirm] = useConfirmDialog({\n    titleKey: \"roles:roleDeleteConfirm\",\n    messageKey: t(\"roles:roleDeleteConfirmDialog\", {\n      selectedRoleName: selectedRole ? selectedRole!.name : \"\",\n    }),\n    continueButtonLabel: \"common:delete\",\n    continueButtonVariant: ButtonVariant.danger,\n    onConfirm: async () => {\n      try {\n        if (!parentRoleId) {\n          await adminClient.roles.delById({\n            id: selectedRole!.id!,\n          });\n        } else {\n          await adminClient.roles.delCompositeRoles({ id: parentRoleId }, [\n            selectedRole!,\n          ]);\n        }\n        setSelectedRole(undefined);\n        addAlert(t(\"roles:roleDeletedSuccess\"), AlertVariant.success);\n      } catch (error) {\n        addError(\"roles:roleDeleteError\", error);\n      }\n    },\n  });\n\n  if (!realm) {\n    return ;\n  }\n\n  return (\n    <>\n      \n       }\n            >\n              {t(\"createRole\")}\n            \n          )\n        }\n        actions={\n          isReadOnly\n            ? []\n            : [\n                {\n                  title: t(\"common:delete\"),\n                  onRowClick: (role) => {\n                    setSelectedRole(role);\n                    if (\n                      realm!.defaultRole &&\n                      role.name === realm!.defaultRole!.name\n                    ) {\n                      addAlert(\n                        t(\"defaultRoleDeleteError\"),\n                        AlertVariant.danger\n                      );\n                    } else toggleDeleteDialog();\n                  },\n                } as Action,\n              ]\n        }\n        columns={[\n          {\n            name: \"name\",\n            displayKey: \"roles:roleName\",\n            cellRenderer: (row) => (\n              \n            ),\n          },\n          {\n            name: \"composite\",\n            displayKey: \"roles:composite\",\n            cellFormatters: [upperCaseFormatter(), emptyFormatter()],\n          },\n          {\n            name: \"description\",\n            displayKey: \"common:description\",\n            cellFormatters: [emptyFormatter()],\n          },\n        ]}\n        emptyState={\n           navigate(toCreate)}\n          />\n        }\n      />\n    \n  );\n};\n"],"names":["RoleDetailLink","defaultRoleName","toDetail","messageBundle","role","t","useTranslation","realm","useRealm","jsx","Link","jsxs","Fragment","toRealmSettings","HelpItem","RolesList","loader","paginated","parentRoleId","toCreate","isReadOnly","navigate","useNavigate","addAlert","addError","useAlerts","realmName","setRealm","useState","selectedRole","setSelectedRole","useFetch","adminClient","toggleDeleteDialog","DeleteConfirm","useConfirmDialog","ButtonVariant","AlertVariant","error","KeycloakDataTable","Button","props","row","upperCaseFormatter","emptyFormatter","ListEmptyState","KeycloakSpinner"],"mappings":"mTA2BA,MAAMA,EAAiB,CAAC,CACtB,gBAAAC,EACA,SAAAC,EACA,cAAAC,EACA,GAAGC,CACL,IAA2B,CACzB,KAAM,CAAE,EAAAC,CAAA,EAAMC,EAAeH,CAAa,EACpC,CAAE,MAAAI,GAAUC,IAClB,OAAOJ,EAAK,OAASH,EACnBQ,EAAA,IAACC,EAAK,CAAA,GAAIR,EAASE,EAAK,EAAG,EAAI,SAAKA,EAAA,IAAA,CAAK,EAGvCO,OAAAC,EAAAA,SAAA,CAAA,SAAA,CAACD,OAAAD,EAAA,CAAK,GAAIG,EAAgB,CAAE,MAAAN,EAAO,IAAK,oBAAqB,EAC1D,SAAA,CAAKH,EAAA,KAAM,GAAA,EACd,EACAK,EAAA,IAACK,EAAA,CACC,SAAUT,EAAE,GAAGF,CAAa,cAAc,EAC1C,aAAa,aAAA,CACf,CACF,CAAA,CAAA,CAEJ,EAgBaY,EAAY,CAAC,CACxB,OAAAC,EACA,UAAAC,EAAY,GACZ,aAAAC,EACA,cAAAf,EAAgB,QAChB,SAAAgB,EACA,SAAAjB,EACA,WAAAkB,CACF,IAAsB,CACpB,KAAM,CAAE,EAAAf,CAAA,EAAMC,EAAeH,CAAa,EACpCkB,EAAWC,IACX,CAAE,SAAAC,EAAU,SAAAC,CAAS,EAAIC,EAAU,EACnC,CAAE,MAAOC,CAAU,EAAIlB,EAAS,EAChC,CAACD,EAAOoB,CAAQ,EAAIC,EAA8B,SAAA,EAElD,CAACC,EAAcC,CAAe,EAAIF,EAA6B,SAAA,EAErEG,EACE,IAAMC,EAAY,OAAO,QAAQ,CAAE,MAAON,EAAW,EACpDnB,GAAU,CACToB,EAASpB,CAAK,CAChB,EACA,CAAC,CAAA,EAGH,KAAM,CAAC0B,EAAoBC,CAAa,EAAIC,EAAiB,CAC3D,SAAU,0BACV,WAAY9B,EAAE,gCAAiC,CAC7C,iBAAkBwB,EAAeA,EAAc,KAAO,EAAA,CACvD,EACD,oBAAqB,gBACrB,sBAAuBO,EAAc,OACrC,UAAW,SAAY,CACjB,GAAA,CACGlB,EAKH,MAAMc,EAAY,MAAM,kBAAkB,CAAE,GAAId,GAAgB,CAC9DW,CAAA,CACD,EANK,MAAAG,EAAY,MAAM,QAAQ,CAC9B,GAAIH,EAAc,EAAA,CACnB,EAMHC,EAAgB,MAAS,EACzBP,EAASlB,EAAE,0BAA0B,EAAGgC,EAAa,OAAO,QACrDC,EAAO,CACdd,EAAS,wBAAyBc,CAAK,CACzC,CACF,CAAA,CACD,EAED,OAAK/B,EAMDI,EAAA,KAAAC,WAAA,CAAA,SAAA,CAAAH,EAAA,IAACyB,EAAc,EAAA,EACfzB,EAAA,IAAC8B,EAAA,CAEC,OAAAvB,EACA,aAAa,iBACb,qBAAqB,kBACrB,YAAaC,EACb,YACE,CAACG,GACCX,EAAA,IAAC+B,EAAA,CACC,cAAY,cACZ,UAAYC,GAAUhC,MAACC,GAAM,GAAG+B,EAAO,GAAItB,EAAU,EAEpD,WAAE,YAAY,CAAA,CACjB,EAGJ,QACEC,EACI,GACA,CACE,CACE,MAAOf,EAAE,eAAe,EACxB,WAAaD,GAAS,CACpB0B,EAAgB1B,CAAI,EAElBG,EAAO,aACPH,EAAK,OAASG,EAAO,YAAa,KAElCgB,EACElB,EAAE,wBAAwB,EAC1BgC,EAAa,MAAA,EAESJ,GAC5B,CACF,CACF,EAEN,QAAS,CACP,CACE,KAAM,OACN,WAAY,iBACZ,aAAeS,GACbjC,EAAA,IAACT,EAAA,CACE,GAAG0C,EACJ,gBAAiBnC,EAAM,aAAa,KACpC,SAAAL,EACA,cAAAC,CAAA,CACF,CAEJ,EACA,CACE,KAAM,YACN,WAAY,kBACZ,eAAgB,CAACwC,IAAsBC,GAAgB,CACzD,EACA,CACE,KAAM,cACN,WAAY,qBACZ,eAAgB,CAACA,GAAgB,CACnC,CACF,EACA,WACEnC,EAAA,IAACoC,EAAA,CACC,QAAS,GACT,QAASxC,EAAE,SAAS,EACpB,aAAce,EAAa,GAAKf,EAAE,qBAAqB,EACvD,kBAAmBe,EAAa,GAAKf,EAAE,YAAY,EACnD,gBAAiB,IAAMgB,EAASF,CAAQ,CAAA,CAC1C,CAAA,EAnEGU,EAAeA,EAAa,GAAK,UAqExC,CACF,CAAA,CAAA,QA7EQiB,EAAgB,CAAA,CAAA,CA+E5B"}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy