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

theme.keycloak.v2.admin.resources.assets.IdentityProvidersSection-6492426a.js.map Maven / Gradle / Ivy

There is a newer version: 25.0.1
Show newest version
{"version":3,"file":"IdentityProvidersSection-6492426a.js","sources":["../../../../node_modules/.pnpm/[email protected]/node_modules/lodash-es/_arrayAggregator.js","../../../../node_modules/.pnpm/[email protected]/node_modules/lodash-es/_baseAggregator.js","../../../../node_modules/.pnpm/[email protected]/node_modules/lodash-es/_createAggregator.js","../../../../node_modules/.pnpm/[email protected]/node_modules/lodash-es/groupBy.js","../../../../node_modules/.pnpm/@[email protected][email protected][email protected]/node_modules/@patternfly/react-core/dist/esm/components/Dropdown/DropdownGroup.js","../../src/identity-providers/ManageOrderDialog.tsx","../../src/identity-providers/IdentityProvidersSection.tsx"],"sourcesContent":["/**\n * A specialized version of `baseAggregator` for arrays.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform keys.\n * @param {Object} accumulator The initial aggregated object.\n * @returns {Function} Returns `accumulator`.\n */\nfunction arrayAggregator(array, setter, iteratee, accumulator) {\n  var index = -1,\n      length = array == null ? 0 : array.length;\n\n  while (++index < length) {\n    var value = array[index];\n    setter(accumulator, value, iteratee(value), array);\n  }\n  return accumulator;\n}\n\nexport default arrayAggregator;\n","import baseEach from './_baseEach.js';\n\n/**\n * Aggregates elements of `collection` on `accumulator` with keys transformed\n * by `iteratee` and values set by `setter`.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform keys.\n * @param {Object} accumulator The initial aggregated object.\n * @returns {Function} Returns `accumulator`.\n */\nfunction baseAggregator(collection, setter, iteratee, accumulator) {\n  baseEach(collection, function(value, key, collection) {\n    setter(accumulator, value, iteratee(value), collection);\n  });\n  return accumulator;\n}\n\nexport default baseAggregator;\n","import arrayAggregator from './_arrayAggregator.js';\nimport baseAggregator from './_baseAggregator.js';\nimport baseIteratee from './_baseIteratee.js';\nimport isArray from './isArray.js';\n\n/**\n * Creates a function like `_.groupBy`.\n *\n * @private\n * @param {Function} setter The function to set accumulator values.\n * @param {Function} [initializer] The accumulator object initializer.\n * @returns {Function} Returns the new aggregator function.\n */\nfunction createAggregator(setter, initializer) {\n  return function(collection, iteratee) {\n    var func = isArray(collection) ? arrayAggregator : baseAggregator,\n        accumulator = initializer ? initializer() : {};\n\n    return func(collection, setter, baseIteratee(iteratee, 2), accumulator);\n  };\n}\n\nexport default createAggregator;\n","import baseAssignValue from './_baseAssignValue.js';\nimport createAggregator from './_createAggregator.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an object composed of keys generated from the results of running\n * each element of `collection` thru `iteratee`. The order of grouped values\n * is determined by the order they occur in `collection`. The corresponding\n * value of each key is an array of elements responsible for generating the\n * key. The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee to transform keys.\n * @returns {Object} Returns the composed aggregate object.\n * @example\n *\n * _.groupBy([6.1, 4.2, 6.3], Math.floor);\n * // => { '4': [4.2], '6': [6.1, 6.3] }\n *\n * // The `_.property` iteratee shorthand.\n * _.groupBy(['one', 'two', 'three'], 'length');\n * // => { '3': ['one', 'two'], '5': ['three'] }\n */\nvar groupBy = createAggregator(function(result, value, key) {\n  if (hasOwnProperty.call(result, key)) {\n    result[key].push(value);\n  } else {\n    baseAssignValue(result, key, [value]);\n  }\n});\n\nexport default groupBy;\n","import { __rest } from \"tslib\";\nimport * as React from 'react';\nimport { css } from '@patternfly/react-styles';\nimport { DropdownContext } from './dropdownConstants';\nexport const DropdownGroup = (_a) => {\n    var { children = null, className = '', label = '' } = _a, props = __rest(_a, [\"children\", \"className\", \"label\"]);\n    return (React.createElement(DropdownContext.Consumer, null, ({ sectionClass, sectionTitleClass, sectionComponent }) => {\n        const SectionComponent = sectionComponent;\n        return (React.createElement(SectionComponent, Object.assign({ className: css(sectionClass, className) }, props),\n            label && (React.createElement(\"h1\", { className: css(sectionTitleClass), \"aria-hidden\": true }, label)),\n            React.createElement(\"ul\", { role: \"none\" }, children)));\n    }));\n};\nDropdownGroup.displayName = 'DropdownGroup';\n//# sourceMappingURL=DropdownGroup.js.map","import type IdentityProviderRepresentation from \"@keycloak/keycloak-admin-client/lib/defs/identityProviderRepresentation\";\nimport {\n  Button,\n  ButtonVariant,\n  DataList,\n  DataListCell,\n  DataListControl,\n  DataListDragButton,\n  DataListItem,\n  DataListItemCells,\n  DataListItemRow,\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\";\n\nimport { adminClient } from \"../admin-client\";\nimport { useAlerts } from \"../components/alert/Alerts\";\n\ntype ManageOrderDialogProps = {\n  providers: IdentityProviderRepresentation[];\n  onClose: () => void;\n};\n\nexport const ManageOrderDialog = ({\n  providers,\n  onClose,\n}: ManageOrderDialogProps) => {\n  const { t } = useTranslation(\"identity-providers\");\n  const { addAlert, addError } = useAlerts();\n\n  const [alias, setAlias] = useState(\"\");\n  const [liveText, setLiveText] = useState(\"\");\n  const [order, setOrder] = useState(\n    providers.map((provider) => provider.alias!),\n  );\n\n  const onDragStart = (id: string) => {\n    setAlias(id);\n    setLiveText(t(\"common:onDragStart\", { item: id }));\n  };\n\n  const onDragMove = () => {\n    setLiveText(t(\"common:onDragMove\", { item: alias }));\n  };\n\n  const onDragCancel = () => {\n    setLiveText(t(\"common:onDragCancel\"));\n  };\n\n  const onDragFinish = (providerOrder: string[]) => {\n    setLiveText(t(\"common:onDragFinish\", { list: providerOrder }));\n    setOrder(providerOrder);\n  };\n\n  return (\n     {\n            const updates = order.map((alias, index) => {\n              const provider = providers.find((p) => p.alias === alias)!;\n              provider.config!.guiOrder = index;\n              return adminClient.identityProviders.update({ alias }, provider);\n            });\n\n            try {\n              await Promise.all(updates);\n              addAlert(t(\"orderChangeSuccess\"));\n            } catch (error) {\n              addError(\"identity-providers:orderChangeError\", error);\n            }\n\n            onClose();\n          }}\n        >\n          {t(\"common:save\")}\n        ,\n        \n          {t(\"common:cancel\")}\n        ,\n      ]}\n    >\n      \n        {t(\"orderDialogIntro\")}\n      \n\n      \n        {sortBy(providers, \"config.guiOrder\", \"alias\").map((provider) => (\n          \n            \n              \n                \n              \n              \n                    {provider.alias}\n                  ,\n                ]}\n              />\n            \n          \n        ))}\n      \n      
\n {liveText}\n
\n \n );\n};\n","import type IdentityProviderRepresentation from \"@keycloak/keycloak-admin-client/lib/defs/identityProviderRepresentation\";\nimport {\n AlertVariant,\n Badge,\n Button,\n ButtonVariant,\n CardTitle,\n Dropdown,\n DropdownGroup,\n DropdownItem,\n DropdownToggle,\n Gallery,\n PageSection,\n Spinner,\n Split,\n SplitItem,\n Text,\n TextContent,\n TextVariants,\n ToolbarItem,\n} from \"@patternfly/react-core\";\nimport { groupBy, sortBy } from \"lodash-es\";\nimport { Fragment, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Link, useNavigate } from \"react-router-dom\";\nimport { IconMapper } from \"ui-shared\";\n\nimport { adminClient } from \"../admin-client\";\nimport { useAlerts } from \"../components/alert/Alerts\";\nimport { useConfirmDialog } from \"../components/confirm-dialog/ConfirmDialog\";\nimport { ClickableCard } from \"../components/keycloak-card/ClickableCard\";\nimport {\n Action,\n KeycloakDataTable,\n} from \"../components/table-toolbar/KeycloakDataTable\";\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 { upperCaseFormatter } from \"../util\";\nimport { useFetch } from \"../utils/useFetch\";\nimport { ManageOrderDialog } from \"./ManageOrderDialog\";\nimport { toIdentityProvider } from \"./routes/IdentityProvider\";\nimport { toIdentityProviderCreate } from \"./routes/IdentityProviderCreate\";\n\nconst DetailLink = (identityProvider: IdentityProviderRepresentation) => {\n const { t } = useTranslation(\"identity-providers\");\n const { realm } = useRealm();\n\n return (\n \n {identityProvider.displayName || identityProvider.alias}\n {!identityProvider.enabled && (\n \n {t(\"common:disabled\")}\n \n )}\n \n );\n};\n\nexport default function IdentityProvidersSection() {\n const { t } = useTranslation(\"identity-providers\");\n const identityProviders = groupBy(\n useServerInfo().identityProviders,\n \"groupName\",\n );\n const { realm } = useRealm();\n const navigate = useNavigate();\n const [key, setKey] = useState(0);\n const refresh = () => setKey(key + 1);\n\n const [addProviderOpen, setAddProviderOpen] = useState(false);\n const [manageDisplayDialog, setManageDisplayDialog] = useState(false);\n const [providers, setProviders] =\n useState();\n const [selectedProvider, setSelectedProvider] =\n useState();\n const { addAlert, addError } = useAlerts();\n\n useFetch(\n async () => {\n const provider = await adminClient.realms.findOne({ realm });\n if (!provider) {\n throw new Error(t(\"common:notFound\"));\n }\n return provider.identityProviders!;\n },\n (providers) => {\n setProviders(sortBy(providers, [\"config.guiOrder\", \"alias\"]));\n },\n [key],\n );\n\n const navigateToCreate = (providerId: string) =>\n navigate(\n toIdentityProviderCreate({\n realm,\n providerId,\n }),\n );\n\n const identityProviderOptions = () =>\n Object.keys(identityProviders).map((group) => (\n \n {sortBy(identityProviders[group], \"name\").map((provider) => (\n \n {provider.name}\n \n }\n />\n ))}\n \n ));\n\n const [toggleDeleteDialog, DeleteConfirm] = useConfirmDialog({\n titleKey: \"identity-providers:deleteProvider\",\n messageKey: t(\"deleteConfirm\", { provider: selectedProvider?.alias }),\n continueButtonLabel: \"common:delete\",\n continueButtonVariant: ButtonVariant.danger,\n onConfirm: async () => {\n try {\n await adminClient.identityProviders.del({\n alias: selectedProvider!.alias!,\n });\n setProviders([\n ...providers!.filter((p) => p.alias !== selectedProvider?.alias),\n ]);\n refresh();\n addAlert(t(\"deletedSuccess\"), AlertVariant.success);\n } catch (error) {\n addError(\"identity-providers:deleteError\", error);\n }\n },\n });\n\n if (!providers) {\n return ;\n }\n\n return (\n <>\n \n {manageDisplayDialog && (\n {\n setManageDisplayDialog(false);\n refresh();\n }}\n providers={providers.filter((p) => p.enabled)}\n />\n )}\n \n \n {providers.length === 0 && (\n <>\n \n {t(\"getStarted\")}\n \n {Object.keys(identityProviders).map((group) => (\n \n \n \n {group}:\n \n \n
\n \n {sortBy(identityProviders[group], \"name\").map((provider) => (\n navigateToCreate(provider.id)}\n >\n \n \n \n \n \n {provider.name}\n \n \n \n ))}\n \n
\n ))}\n \n )}\n {providers.length !== 0 && (\n \n \n setAddProviderOpen(!addProviderOpen)}\n isPrimary\n >\n {t(\"addProvider\")}\n \n }\n isOpen={addProviderOpen}\n dropdownItems={identityProviderOptions()}\n />\n \n\n \n setManageDisplayDialog(true)}\n >\n {t(\"manageDisplayOrder\")}\n \n \n \n }\n actions={[\n {\n title: t(\"common:delete\"),\n onRowClick: (provider) => {\n setSelectedProvider(provider);\n toggleDeleteDialog();\n },\n } as Action,\n ]}\n columns={[\n {\n name: \"alias\",\n displayKey: \"common:name\",\n cellRenderer: DetailLink,\n },\n {\n name: \"providerId\",\n displayKey: \"identity-providers:providerDetails\",\n cellFormatters: [upperCaseFormatter()],\n },\n ]}\n />\n )}\n \n \n );\n}\n"],"names":["arrayAggregator","array","setter","iteratee","accumulator","index","length","value","baseAggregator","collection","baseEach","key","createAggregator","initializer","func","isArray","baseIteratee","objectProto","hasOwnProperty","groupBy","result","baseAssignValue","groupBy$1","DropdownGroup","_a","children","className","label","props","__rest","React.createElement","DropdownContext","sectionClass","sectionTitleClass","sectionComponent","SectionComponent","css","ManageOrderDialog","providers","onClose","useTranslation","addAlert","addError","useAlerts","alias","setAlias","useState","liveText","setLiveText","order","setOrder","provider","onDragStart","id","onDragMove","onDragCancel","onDragFinish","providerOrder","jsxs","Modal","ModalVariant","jsx","Button","updates","p","adminClient","error","ButtonVariant","TextContent","Text","DataList","DataListItem","DataListItemRow","DataListControl","DataListDragButton","DataListItemCells","DataListCell","DetailLink","identityProvider","t","realm","useRealm","Link","toIdentityProvider","Badge","IdentityProvidersSection","identityProviders","useServerInfo","navigate","useNavigate","setKey","refresh","addProviderOpen","setAddProviderOpen","manageDisplayDialog","setManageDisplayDialog","setProviders","selectedProvider","setSelectedProvider","useFetch","sortBy","navigateToCreate","providerId","toIdentityProviderCreate","identityProviderOptions","group","DropdownItem","toggleDeleteDialog","DeleteConfirm","useConfirmDialog","AlertVariant","Fragment","ViewHeader","helpUrls","PageSection","TextVariants","Gallery","ClickableCard","CardTitle","Split","SplitItem","IconMapper","KeycloakDataTable","ToolbarItem","Dropdown","DropdownToggle","upperCaseFormatter","Spinner"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4]}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy