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

theme.keycloak.v2.admin.resources.assets.UserFederationSection-B8shf8Lx.js.map Maven / Gradle / Ivy

There is a newer version: 26.0.7
Show newest version
{"version":3,"file":"UserFederationSection-B8shf8Lx.js","sources":["../../../../../node_modules/.pnpm/@[email protected][email protected][email protected][email protected]/node_modules/@patternfly/react-core/dist/esm/components/Card/CardFooter.js","../../../../../node_modules/.pnpm/@[email protected][email protected][email protected][email protected]/node_modules/@patternfly/react-core/dist/esm/layouts/Gallery/GalleryItem.js","../../../../../node_modules/.pnpm/@[email protected][email protected][email protected][email protected]/node_modules/@patternfly/react-icons/dist/esm/icons/database-icon.js","../../src/components/keycloak-card/KeycloakCard.tsx","../../src/user-federation/ManagePriorityDialog.tsx","../../src/user-federation/UserFederationSection.tsx"],"sourcesContent":["import { __rest } from \"tslib\";\nimport * as React from 'react';\nimport styles from '@patternfly/react-styles/css/components/Card/card.mjs';\nimport { css } from '@patternfly/react-styles';\nexport const CardFooter = (_a) => {\n    var { children, className, component = 'div' } = _a, props = __rest(_a, [\"children\", \"className\", \"component\"]);\n    const Component = component;\n    return (React.createElement(Component, Object.assign({ className: css(styles.cardFooter, className) }, props), children));\n};\nCardFooter.displayName = 'CardFooter';\n//# sourceMappingURL=CardFooter.js.map","import { __rest } from \"tslib\";\nimport * as React from 'react';\nexport const GalleryItem = (_a) => {\n    var { children = null, component = 'div' } = _a, props = __rest(_a, [\"children\", \"component\"]);\n    const Component = component;\n    return React.createElement(Component, Object.assign({}, props), children);\n};\nGalleryItem.displayName = 'GalleryItem';\n//# sourceMappingURL=GalleryItem.js.map","import { createIcon } from '../createIcon';\n\nexport const DatabaseIconConfig = {\n  name: 'DatabaseIcon',\n  height: 512,\n  width: 448,\n  svgPath: 'M448 73.143v45.714C448 159.143 347.667 192 224 192S0 159.143 0 118.857V73.143C0 32.857 100.333 0 224 0s224 32.857 224 73.143zM448 176v102.857C448 319.143 347.667 352 224 352S0 319.143 0 278.857V176c48.125 33.143 136.208 48.572 224 48.572S399.874 209.143 448 176zm0 160v102.857C448 479.143 347.667 512 224 512S0 479.143 0 438.857V336c48.125 33.143 136.208 48.572 224 48.572S399.874 369.143 448 336z',\n  yOffset: 0,\n  xOffset: 0,\n};\n\nexport const DatabaseIcon = createIcon(DatabaseIconConfig);\n\nexport default DatabaseIcon;","import {\n  Card,\n  CardBody,\n  CardFooter,\n  CardHeader,\n  CardTitle,\n  Dropdown,\n  DropdownList,\n  Flex,\n  FlexItem,\n  Label,\n  MenuToggle,\n  MenuToggleElement,\n} from \"@patternfly/react-core\";\nimport { ReactElement, useState } from \"react\";\nimport { Link, To } from \"react-router-dom\";\n\nimport \"./keycloak-card.css\";\nimport { EllipsisVIcon } from \"@patternfly/react-icons\";\n\nexport type KeycloakCardProps = {\n  title: string;\n  dropdownItems?: ReactElement[];\n  labelText?: string;\n  labelColor?: any;\n  footerText?: string;\n  to: To;\n};\n\nexport const KeycloakCard = ({\n  title,\n  dropdownItems,\n  labelText,\n  labelColor,\n  footerText,\n  to,\n}: KeycloakCardProps) => {\n  const [isDropdownOpen, setIsDropdownOpen] = useState(false);\n\n  const onDropdownToggle = () => {\n    setIsDropdownOpen(!isDropdownOpen);\n  };\n\n  return (\n    \n      ) => (\n                \n                  \n                \n              )}\n              isOpen={isDropdownOpen}\n            >\n              {dropdownItems}\n            \n          ) : undefined,\n          hasNoOffset: false,\n          className: undefined,\n        }}\n      >\n        \n          {title}\n        \n      \n      \n      \n        \n          \n            {footerText && footerText}\n          \n          \n            {labelText && (\n              \n            )}\n          \n        \n      \n    \n  );\n};\n","import type ComponentRepresentation from \"@keycloak/keycloak-admin-client/lib/defs/componentRepresentation\";\nimport {\n  Button,\n  ButtonVariant,\n  DataList,\n  DataListCell,\n  DataListControl,\n  DataListDragButton,\n  DataListItem,\n  DataListItemCells,\n  DataListItemRow,\n  DragDrop,\n  Draggable,\n  DraggableItemPosition,\n  Droppable,\n  Modal,\n  ModalVariant,\n  Text,\n  TextContent,\n} from \"@patternfly/react-core\";\nimport { sortBy } from \"lodash-es\";\nimport { useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useAdminClient } from \"../admin-client\";\nimport { useAlerts } from \"../components/alert/Alerts\";\n\ntype ManagePriorityDialogProps = {\n  components: ComponentRepresentation[];\n  onClose: () => void;\n};\n\nexport const ManagePriorityDialog = ({\n  components,\n  onClose,\n}: ManagePriorityDialogProps) => {\n  const { adminClient } = useAdminClient();\n\n  const { t } = useTranslation();\n  const { addAlert, addError } = useAlerts();\n\n  const [liveText, setLiveText] = useState(\"\");\n  const [order, setOrder] = useState(\n    sortBy(components, \"config.priority\", \"name\").map(\n      (component) => component.name!,\n    ),\n  );\n\n  const onDragStart = ({ index }: DraggableItemPosition) => {\n    setLiveText(t(\"onDragStart\", { item: order[index] }));\n    return true;\n  };\n\n  const onDragMove = ({ index }: DraggableItemPosition) => {\n    setLiveText(t(\"onDragMove\", { item: order[index] }));\n  };\n\n  const onDragFinish = (\n    source: DraggableItemPosition,\n    dest?: DraggableItemPosition,\n  ) => {\n    if (dest) {\n      const result = [...order];\n      const [removed] = result.splice(source.index, 1);\n      result.splice(dest.index, 0, removed);\n      setLiveText(t(\"onDragFinish\", { list: result }));\n      setOrder(result);\n      return true;\n    } else {\n      setLiveText(t(\"onDragCancel\"));\n      return false;\n    }\n  };\n\n  return (\n     {\n            const updates = order.map((name, index) => {\n              const component = components!.find((c) => c.name === name)!;\n              component.config!.priority = [index.toString()];\n              return adminClient.components.update(\n                { id: component.id! },\n                component,\n              );\n            });\n\n            try {\n              await Promise.all(updates);\n              addAlert(t(\"orderChangeSuccessUserFed\"));\n            } catch (error) {\n              addError(\"orderChangeErrorUserFed\", error);\n            }\n\n            onClose();\n          }}\n        >\n          {t(\"save\")}\n        ,\n        \n          {t(\"cancel\")}\n        ,\n      ]}\n    >\n      \n        {t(\"managePriorityInfo\")}\n      \n\n      \n        \n          \n            {order.map((name) => (\n              \n                \n                  \n                    \n                      \n                    \n                    \n                          {name}\n                        ,\n                      ]}\n                    />\n                  \n                \n              \n            ))}\n          \n        \n      \n      
\n {liveText}\n
\n \n );\n};\n","import type ComponentRepresentation from \"@keycloak/keycloak-admin-client/lib/defs/componentRepresentation\";\nimport {\n AlertVariant,\n ButtonVariant,\n CardTitle,\n DropdownItem,\n Gallery,\n GalleryItem,\n Icon,\n PageSection,\n Split,\n SplitItem,\n Text,\n TextContent,\n TextVariants,\n} from \"@patternfly/react-core\";\nimport { DatabaseIcon } from \"@patternfly/react-icons\";\nimport { useMemo, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useNavigate } from \"react-router-dom\";\nimport { useAdminClient } from \"../admin-client\";\nimport { useAlerts } from \"../components/alert/Alerts\";\nimport { useConfirmDialog } from \"../components/confirm-dialog/ConfirmDialog\";\nimport { ClickableCard } from \"../components/keycloak-card/ClickableCard\";\nimport { KeycloakCard } from \"../components/keycloak-card/KeycloakCard\";\nimport { ViewHeader } from \"../components/view-header/ViewHeader\";\nimport { useRealm } from \"../context/realm-context/RealmContext\";\nimport { useServerInfo } from \"../context/server-info/ServerInfoProvider\";\nimport helpUrls from \"../help-urls\";\nimport { toUpperCase } from \"../util\";\nimport { useFetch } from \"../utils/useFetch\";\nimport { ManagePriorityDialog } from \"./ManagePriorityDialog\";\nimport { toCustomUserFederation } from \"./routes/CustomUserFederation\";\nimport { toNewCustomUserFederation } from \"./routes/NewCustomUserFederation\";\nimport { toUserFederationKerberos } from \"./routes/UserFederationKerberos\";\nimport { toUserFederationLdap } from \"./routes/UserFederationLdap\";\n\nimport \"./user-federation.css\";\n\nexport default function UserFederationSection() {\n const { adminClient } = useAdminClient();\n\n const [userFederations, setUserFederations] =\n useState();\n const { addAlert, addError } = useAlerts();\n const { t } = useTranslation();\n const { realm, realmRepresentation } = useRealm();\n const [key, setKey] = useState(0);\n const refresh = () => setKey(new Date().getTime());\n\n const navigate = useNavigate();\n\n const [manageDisplayDialog, setManageDisplayDialog] = useState(false);\n\n const providers =\n useServerInfo().componentTypes?.[\n \"org.keycloak.storage.UserStorageProvider\"\n ] || [];\n\n useFetch(\n async () => {\n const testParams: { [name: string]: string | number } = {\n parentId: realmRepresentation!.id!,\n type: \"org.keycloak.storage.UserStorageProvider\",\n };\n return adminClient.components.find(testParams);\n },\n (userFederations) => {\n setUserFederations(userFederations);\n },\n [key],\n );\n\n const ufAddProviderDropdownItems = useMemo(\n () =>\n providers.map((p) => (\n \n navigate(toNewCustomUserFederation({ realm, providerId: p.id! }))\n }\n >\n {p.id.toUpperCase() == \"LDAP\"\n ? p.id.toUpperCase()\n : toUpperCase(p.id)}\n \n )),\n [],\n );\n\n const lowerButtonProps = {\n variant: \"link\",\n onClick: () => setManageDisplayDialog(true),\n lowerButtonTitle: t(\"managePriorities\"),\n };\n\n let cards;\n\n const [currentCard, setCurrentCard] = useState(\"\");\n const [toggleDeleteDialog, DeleteConfirm] = useConfirmDialog({\n titleKey: t(\"userFedDeleteConfirmTitle\"),\n messageKey: t(\"userFedDeleteConfirm\"),\n continueButtonLabel: \"delete\",\n continueButtonVariant: ButtonVariant.danger,\n onConfirm: async () => {\n try {\n await adminClient.components.del({ id: currentCard });\n refresh();\n addAlert(t(\"userFedDeletedSuccess\"), AlertVariant.success);\n } catch (error) {\n addError(\"userFedDeleteError\", error);\n }\n },\n });\n\n const toggleDeleteForCard = (id: string) => {\n setCurrentCard(id);\n toggleDeleteDialog();\n };\n\n const cardSorter = (card1: any, card2: any) => {\n const a = `${card1.name}`;\n const b = `${card2.name}`;\n return a < b ? -1 : 1;\n };\n\n const toDetails = (providerId: string, id: string) => {\n switch (providerId) {\n case \"ldap\":\n return toUserFederationLdap({ realm, id });\n case \"kerberos\":\n return toUserFederationKerberos({ realm, id });\n default:\n return toCustomUserFederation({ realm, providerId, id });\n }\n };\n\n if (userFederations) {\n cards = userFederations.sort(cardSorter).map((userFederation, index) => (\n \n {\n toggleDeleteForCard(userFederation.id!);\n }}\n data-testid=\"card-delete\"\n >\n {t(\"delete\")}\n ,\n ]}\n title={userFederation.name!}\n footerText={toUpperCase(userFederation.providerId!)}\n labelText={\n userFederation.config?.[\"enabled\"]?.[0] !== \"false\"\n ? t(\"enabled\")\n : t(\"disabled\")\n }\n labelColor={\n userFederation.config?.[\"enabled\"]?.[0] !== \"false\"\n ? \"blue\"\n : \"gray\"\n }\n />\n \n ));\n }\n\n return (\n <>\n \n {manageDisplayDialog && userFederations && (\n setManageDisplayDialog(false)}\n components={userFederations.filter((p) => p.config?.enabled)}\n />\n )}\n 0\n ? {\n lowerDropdownItems: ufAddProviderDropdownItems,\n lowerDropdownMenuTitle: \"addNewProvider\",\n lowerButton: lowerButtonProps,\n }\n : {})}\n />\n \n {userFederations && userFederations.length > 0 ? (\n {cards}\n ) : (\n <>\n \n {t(\"getStarted\")}\n \n \n \n {t(\"providers\")}\n \n \n
\n \n {providers.map((p) => (\n \n navigate(\n toNewCustomUserFederation({ realm, providerId: p.id! }),\n )\n }\n data-testid={`${p.id}-card`}\n >\n \n \n \n \n \n \n \n \n {t(\"addProvider\", {\n provider: toUpperCase(p.id!),\n count: 4,\n })}\n \n \n \n \n ))}\n \n \n )}\n
\n \n );\n}\n"],"names":["CardFooter","_a","children","className","component","props","__rest","Component","React","css","styles","GalleryItem","DatabaseIconConfig","DatabaseIcon","createIcon","KeycloakCard","title","dropdownItems","labelText","labelColor","footerText","to","isDropdownOpen","setIsDropdownOpen","useState","onDropdownToggle","jsxs","Card","jsx","CardHeader","Dropdown","ref","MenuToggle","EllipsisVIcon","DropdownList","CardTitle","Link","CardBody","Flex","FlexItem","Label","ManagePriorityDialog","components","onClose","adminClient","useAdminClient","useTranslation","addAlert","addError","useAlerts","liveText","setLiveText","order","setOrder","sortBy","onDragStart","index","onDragMove","onDragFinish","source","dest","result","removed","Modal","ModalVariant","Button","updates","name","c","error","ButtonVariant","TextContent","Text","DragDrop","Droppable","DataList","Draggable","DataListItem","DataListItemRow","DataListControl","DataListDragButton","DataListItemCells","DataListCell","UserFederationSection","userFederations","setUserFederations","t","realm","realmRepresentation","useRealm","key","setKey","refresh","navigate","useNavigate","manageDisplayDialog","setManageDisplayDialog","providers","useServerInfo","useFetch","testParams","ufAddProviderDropdownItems","useMemo","p","DropdownItem","toNewCustomUserFederation","toUpperCase","lowerButtonProps","cards","currentCard","setCurrentCard","toggleDeleteDialog","DeleteConfirm","useConfirmDialog","AlertVariant","toggleDeleteForCard","id","cardSorter","card1","card2","a","b","toDetails","providerId","toUserFederationLdap","toUserFederationKerberos","toCustomUserFederation","userFederation","Fragment","ViewHeader","helpUrls","PageSection","Gallery","TextVariants","ClickableCard","Split","SplitItem","Icon"],"mappings":"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","x_google_ignoreList":[0,1,2]}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy