keycloak-d4science-spi-parent/keycloak-d4science-theme/src/main/resources/theme/d4science/account/resources/assets/SigningIn-BU-dZ2Ks.js.map

1 line
15 KiB
Plaintext

{"version":3,"file":"SigningIn-BU-dZ2Ks.js","sources":["../../src/account-security/SigningIn.tsx"],"sourcesContent":["import {\r\n Button,\r\n DataList,\r\n DataListAction,\r\n DataListCell,\r\n DataListItem,\r\n DataListItemCells,\r\n DataListItemRow,\r\n PageSection,\r\n Spinner,\r\n Split,\r\n SplitItem,\r\n Title,\r\n} from \"@patternfly/react-core\";\r\nimport {\r\n Dropdown,\r\n DropdownItem,\r\n KebabToggle,\r\n} from \"@patternfly/react-core/deprecated\";\r\nimport { CSSProperties, useState } from \"react\";\r\nimport { Trans, useTranslation } from \"react-i18next\";\r\nimport { ContinueCancelModal, useAlerts } from \"ui-shared\";\r\nimport { deleteCredentials, getCredentials } from \"../api/methods\";\r\nimport {\r\n CredentialContainer,\r\n CredentialMetadataRepresentation,\r\n CredentialRepresentation,\r\n} from \"../api/representations\";\r\nimport { EmptyRow } from \"../components/datalist/EmptyRow\";\r\nimport { Page } from \"../components/page/Page\";\r\nimport { TFuncKey } from \"../i18n\";\r\nimport { formatDate } from \"../utils/formatDate\";\r\nimport { usePromise } from \"../utils/usePromise\";\r\nimport { useEnvironment } from \"../root/KeycloakContext\";\r\n\r\ntype MobileLinkProps = {\r\n title: string;\r\n onClick: () => void;\r\n testid?: string;\r\n};\r\n\r\nconst MobileLink = ({ title, onClick, testid }: MobileLinkProps) => {\r\n const [open, setOpen] = useState(false);\r\n return (\r\n <>\r\n <Dropdown\r\n isPlain\r\n position=\"right\"\r\n toggle={<KebabToggle onToggle={(_event, val) => setOpen(val)} />}\r\n className=\"pf-v5-u-display-none-on-lg\"\r\n isOpen={open}\r\n dropdownItems={[\r\n <DropdownItem key=\"1\" onClick={onClick}>\r\n {title}\r\n </DropdownItem>,\r\n ]}\r\n />\r\n <Button\r\n variant=\"link\"\r\n onClick={onClick}\r\n className=\"pf-v5-u-display-none pf-v5-u-display-inline-flex-on-lg\"\r\n data-testid={testid}\r\n >\r\n {title}\r\n </Button>\r\n </>\r\n );\r\n};\r\n\r\nexport const SigningIn = () => {\r\n const { t } = useTranslation();\r\n const context = useEnvironment();\r\n const { addAlert, addError } = useAlerts();\r\n const { login } = context.keycloak;\r\n\r\n const [credentials, setCredentials] = useState<CredentialContainer[]>();\r\n const [key, setKey] = useState(1);\r\n const refresh = () => setKey(key + 1);\r\n\r\n usePromise((signal) => getCredentials({ signal, context }), setCredentials, [\r\n key,\r\n ]);\r\n\r\n const credentialRowCells = (\r\n credMetadata: CredentialMetadataRepresentation,\r\n ) => {\r\n const credential = credMetadata.credential;\r\n const maxWidth = {\r\n \"--pf-v5-u-max-width--MaxWidth\": \"300px\",\r\n } as CSSProperties;\r\n const items = [\r\n <DataListCell\r\n key=\"title\"\r\n data-testrole=\"label\"\r\n className=\"pf-v5-u-max-width\"\r\n style={maxWidth}\r\n >\r\n {credential.userLabel || t(credential.type as TFuncKey)}\r\n </DataListCell>,\r\n ];\r\n\r\n if (credential.createdDate) {\r\n items.push(\r\n <DataListCell\r\n key={\"created\" + credential.id}\r\n data-testrole=\"created-at\"\r\n >\r\n <Trans i18nKey=\"credentialCreatedAt\">\r\n <strong className=\"pf-v5-u-mr-md\"></strong>\r\n {{ date: formatDate(new Date(credential.createdDate)) }}\r\n </Trans>\r\n </DataListCell>,\r\n );\r\n }\r\n return items;\r\n };\r\n\r\n const label = (credential: CredentialRepresentation) =>\r\n credential.userLabel || t(credential.type as TFuncKey);\r\n\r\n if (!credentials) {\r\n return <Spinner />;\r\n }\r\n\r\n const credentialUniqueCategories = [\r\n ...new Set(credentials.map((c) => c.category)),\r\n ];\r\n\r\n return (\r\n <Page title={t(\"signingIn\")} description={t(\"signingInDescription\")}>\r\n {credentialUniqueCategories.map((category) => (\r\n <PageSection key={category} variant=\"light\" className=\"pf-v5-u-px-0\">\r\n <Title headingLevel=\"h2\" size=\"xl\" id={`${category}-categ-title`}>\r\n {t(category as TFuncKey)}\r\n </Title>\r\n {credentials\r\n .filter((cred) => cred.category == category)\r\n .map((container) => (\r\n <>\r\n <Split className=\"pf-v5-u-mt-lg pf-v5-u-mb-lg\">\r\n <SplitItem>\r\n <Title\r\n headingLevel=\"h3\"\r\n size=\"md\"\r\n className=\"pf-v5-u-mb-md\"\r\n data-testid={`${container.type}/help`}\r\n >\r\n <span\r\n className=\"cred-title pf-v5-u-display-block\"\r\n data-testid={`${container.type}/title`}\r\n >\r\n {t(container.displayName as TFuncKey)}\r\n </span>\r\n </Title>\r\n <span data-testid={`${container.type}/help-text`}>\r\n {t(container.helptext as TFuncKey)}\r\n </span>\r\n </SplitItem>\r\n {container.createAction && (\r\n <SplitItem isFilled>\r\n <div className=\"pf-v5-u-float-right\">\r\n <MobileLink\r\n onClick={() =>\r\n login({\r\n action: container.createAction,\r\n })\r\n }\r\n title={t(\"setUpNew\", {\r\n name: t(\r\n `${container.type}-display-name` as TFuncKey,\r\n ),\r\n })}\r\n testid={`${container.type}/create`}\r\n />\r\n </div>\r\n </SplitItem>\r\n )}\r\n </Split>\r\n\r\n <DataList\r\n aria-label=\"credential list\"\r\n className=\"pf-v5-u-mb-xl\"\r\n data-testid={`${container.type}/credential-list`}\r\n >\r\n {container.userCredentialMetadatas.length === 0 && (\r\n <EmptyRow\r\n message={t(\"notSetUp\", {\r\n name: t(container.displayName as TFuncKey),\r\n })}\r\n data-testid={`${container.type}/not-set-up`}\r\n />\r\n )}\r\n\r\n {container.userCredentialMetadatas.map((meta) => (\r\n <DataListItem key={meta.credential.id}>\r\n <DataListItemRow id={`cred-${meta.credential.id}`}>\r\n <DataListItemCells\r\n className=\"pf-v5-u-py-0\"\r\n dataListCells={[\r\n ...credentialRowCells(meta),\r\n <DataListAction\r\n key=\"action\"\r\n id={`action-${meta.credential.id}`}\r\n aria-label={t(\"updateCredAriaLabel\")}\r\n aria-labelledby={`cred-${meta.credential.id}`}\r\n >\r\n {container.removeable ? (\r\n <ContinueCancelModal\r\n buttonTitle={t(\"delete\")}\r\n buttonTestRole=\"remove\"\r\n modalTitle={t(\"removeCred\", {\r\n name: label(meta.credential),\r\n })}\r\n continueLabel={t(\"confirm\")}\r\n cancelLabel={t(\"cancel\")}\r\n buttonVariant=\"danger\"\r\n onContinue={async () => {\r\n try {\r\n await deleteCredentials(\r\n context,\r\n meta.credential,\r\n );\r\n addAlert(\r\n t(\"successRemovedMessage\", {\r\n userLabel: label(meta.credential),\r\n }),\r\n );\r\n refresh();\r\n } catch (error) {\r\n addError(\r\n t(\"errorRemovedMessage\", {\r\n userLabel: label(meta.credential),\r\n error,\r\n }).toString(),\r\n );\r\n }\r\n }}\r\n >\r\n {t(\"stopUsingCred\", {\r\n name: label(meta.credential),\r\n })}\r\n </ContinueCancelModal>\r\n ) : (\r\n <Button\r\n variant=\"secondary\"\r\n onClick={() => {\r\n if (container.updateAction)\r\n login({ action: container.updateAction });\r\n }}\r\n data-testrole=\"update\"\r\n >\r\n {t(\"update\")}\r\n </Button>\r\n )}\r\n </DataListAction>,\r\n ]}\r\n />\r\n </DataListItemRow>\r\n </DataListItem>\r\n ))}\r\n </DataList>\r\n </>\r\n ))}\r\n </PageSection>\r\n ))}\r\n </Page>\r\n );\r\n};\r\n\r\nexport default SigningIn;\r\n"],"names":["MobileLink","title","onClick","testid","open","setOpen","useState","jsxs","Fragment","jsx","Dropdown","KebabToggle","_event","val","DropdownItem","Button","SigningIn","useTranslation","context","useEnvironment","addAlert","addError","useAlerts","login","credentials","setCredentials","key","setKey","refresh","usePromise","signal","getCredentials","credentialRowCells","credMetadata","credential","items","DataListCell","Trans","formatDate","label","Spinner","credentialUniqueCategories","c","Page","category","PageSection","Title","cred","container","Split","SplitItem","DataList","EmptyRow","meta","DataListItem","DataListItemRow","DataListItemCells","DataListAction","ContinueCancelModal","deleteCredentials","error"],"mappings":"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"}