Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
theme.keycloak.v2.admin.resources.assets.MapperList-58acf988.js.map Maven / Gradle / Ivy
Go to download
The user inferface to administrate the Keycloak server.
{"version":3,"file":"MapperList-58acf988.js","sources":["../../src/client-scopes/add/MapperDialog.tsx","../../src/client-scopes/details/MapperList.tsx"],"sourcesContent":["import { useMemo, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport {\n Button,\n ButtonVariant,\n DataList,\n DataListCell,\n DataListItem,\n DataListItemCells,\n DataListItemRow,\n Modal,\n ModalVariant,\n Text,\n TextContent,\n TextVariants,\n} from \"@patternfly/react-core\";\n\nimport type ProtocolMapperRepresentation from \"@keycloak/keycloak-admin-client/lib/defs/protocolMapperRepresentation\";\nimport type { ProtocolMapperTypeRepresentation } from \"@keycloak/keycloak-admin-client/lib/defs/serverInfoRepesentation\";\n\nimport { useServerInfo } from \"../../context/server-info/ServerInfoProvider\";\nimport { ListEmptyState } from \"../../components/list-empty-state/ListEmptyState\";\nimport { KeycloakDataTable } from \"../../components/table-toolbar/KeycloakDataTable\";\nimport useLocaleSort, { mapByKey } from \"../../utils/useLocaleSort\";\n\ntype Row = {\n id: string;\n description: string;\n item: ProtocolMapperRepresentation;\n};\n\nexport type AddMapperDialogModalProps = {\n protocol: string;\n filter?: ProtocolMapperRepresentation[];\n onConfirm: (\n value: ProtocolMapperTypeRepresentation | ProtocolMapperRepresentation[]\n ) => void;\n};\n\nexport type AddMapperDialogProps = AddMapperDialogModalProps & {\n open: boolean;\n toggleDialog: () => void;\n};\n\nexport const AddMapperDialog = (props: AddMapperDialogProps) => {\n const { t } = useTranslation(\"client-scopes\");\n\n const serverInfo = useServerInfo();\n const protocol = props.protocol;\n const protocolMappers = serverInfo.protocolMapperTypes![protocol];\n const builtInMappers = serverInfo.builtinProtocolMappers![protocol];\n const [filter, setFilter] = useState([]);\n const [selectedRows, setSelectedRows] = useState([]);\n const localeSort = useLocaleSort();\n\n const allRows = useMemo(\n () =>\n localeSort(builtInMappers, mapByKey(\"name\")).map((mapper) => {\n const mapperType = protocolMappers.filter(\n (type) => type.id === mapper.protocolMapper\n )[0];\n return {\n item: mapper,\n id: mapper.name!,\n description: mapperType.helpText,\n };\n }),\n [builtInMappers, protocolMappers]\n );\n const [rows, setRows] = useState(allRows);\n\n if (props.filter && props.filter.length !== filter.length) {\n setFilter(props.filter);\n const nameFilter = props.filter.map((f) => f.name);\n setRows([...allRows.filter((row) => !nameFilter.includes(row.item.name))]);\n }\n\n const sortedProtocolMappers = useMemo(\n () => localeSort(protocolMappers, mapByKey(\"name\")),\n [protocolMappers]\n );\n\n const isBuiltIn = !!props.filter;\n\n const header = [t(\"common:name\"), t(\"common:description\")];\n\n return (\n \n \n {isBuiltIn ? t(\"addPredefinedMappers\") : t(\"emptySecondaryAction\")}\n \n \n {isBuiltIn\n ? t(\"predefinedMappingDescription\")\n : t(\"configureMappingDescription\")}\n \n \n }\n isOpen={props.open}\n onClose={props.toggleDialog}\n actions={\n isBuiltIn\n ? [\n {\n props.onConfirm(selectedRows.map(({ item }) => item));\n props.toggleDialog();\n }}\n >\n {t(\"common:add\")}\n ,\n {\n props.toggleDialog();\n }}\n >\n {t(\"common:cancel\")}\n ,\n ]\n : []\n }\n >\n {!isBuiltIn && (\n {\n const mapper = protocolMappers.find((mapper) => mapper.id === id);\n props.onConfirm(mapper!);\n props.toggleDialog();\n }}\n aria-label={t(\"addPredefinedMappers\")}\n isCompact\n >\n \n {sortedProtocolMappers.map((mapper) => (\n \n \n \n {mapper.name}\n ,\n \n {mapper.helpText}\n ,\n ]}\n />\n \n \n ))}\n \n )}\n {isBuiltIn && (\n \n }\n />\n )}\n \n );\n};\n","import { useEffect, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport type { Path } from \"react-router-dom\";\nimport { Link } from \"react-router-dom\";\nimport { Dropdown, DropdownItem, DropdownToggle } from \"@patternfly/react-core\";\nimport { CaretDownIcon } from \"@patternfly/react-icons\";\n\nimport type ClientRepresentation from \"@keycloak/keycloak-admin-client/lib/defs/clientRepresentation\";\nimport type ClientScopeRepresentation from \"@keycloak/keycloak-admin-client/lib/defs/clientScopeRepresentation\";\nimport type ProtocolMapperRepresentation from \"@keycloak/keycloak-admin-client/lib/defs/protocolMapperRepresentation\";\nimport type { ProtocolMapperTypeRepresentation } from \"@keycloak/keycloak-admin-client/lib/defs/serverInfoRepesentation\";\nimport { useServerInfo } from \"../../context/server-info/ServerInfoProvider\";\n\nimport { ListEmptyState } from \"../../components/list-empty-state/ListEmptyState\";\nimport { AddMapperDialog } from \"../add/MapperDialog\";\nimport {\n Action,\n KeycloakDataTable,\n} from \"../../components/table-toolbar/KeycloakDataTable\";\n\ntype MapperListProps = {\n model: ClientScopeRepresentation | ClientRepresentation;\n onAdd: (\n mappers: ProtocolMapperTypeRepresentation | ProtocolMapperRepresentation[]\n ) => void;\n onDelete: (mapper: ProtocolMapperRepresentation) => void;\n detailLink: (id: string) => Partial;\n};\n\ntype Row = ProtocolMapperRepresentation & {\n category: string;\n type: string;\n priority: number;\n};\n\ntype MapperLinkProps = Row & {\n detailLink: (id: string) => Partial;\n};\n\nconst MapperLink = ({ id, name, detailLink }: MapperLinkProps) => (\n {name}\n);\n\nexport const MapperList = ({\n model,\n onAdd,\n onDelete,\n detailLink,\n}: MapperListProps) => {\n const { t } = useTranslation(\"client-scopes\");\n\n const [mapperAction, setMapperAction] = useState(false);\n const mapperList = model.protocolMappers;\n const mapperTypes = useServerInfo().protocolMapperTypes![model.protocol!];\n\n const [key, setKey] = useState(0);\n useEffect(() => setKey(key + 1), [mapperList]);\n\n const [addMapperDialogOpen, setAddMapperDialogOpen] = useState(false);\n const [filter, setFilter] = useState(model.protocolMappers);\n const toggleAddMapperDialog = (buildIn: boolean) => {\n if (buildIn) {\n setFilter(mapperList || []);\n } else {\n setFilter(undefined);\n }\n setAddMapperDialogOpen(!addMapperDialogOpen);\n };\n\n const loader = async () => {\n if (!mapperList) {\n return [];\n }\n\n const list = mapperList.reduce((rows, mapper) => {\n const mapperType = mapperTypes.find(\n ({ id }) => id === mapper.protocolMapper\n );\n\n if (!mapperType) {\n return rows;\n }\n\n return rows.concat({\n ...mapper,\n category: mapperType.category,\n type: mapperType.name,\n priority: mapperType.priority,\n });\n }, []);\n\n return list.sort((a, b) => a.priority - b.priority);\n };\n\n return (\n <>\n setAddMapperDialogOpen(!addMapperDialogOpen)}\n />\n\n setMapperAction(false)}\n toggle={\n setMapperAction(!mapperAction)}\n toggleIndicator={CaretDownIcon}\n >\n {t(\"common:addMapper\")}\n \n }\n isOpen={mapperAction}\n dropdownItems={[\n toggleAddMapperDialog(true)}\n >\n {t(\"fromPredefinedMapper\")}\n ,\n toggleAddMapperDialog(false)}\n >\n {t(\"byConfiguration\")}\n ,\n ]}\n />\n }\n actions={[\n {\n title: t(\"common:delete\"),\n onRowClick: onDelete,\n } as Action,\n ]}\n columns={[\n {\n name: \"name\",\n cellRenderer: (row) => (\n \n ),\n },\n { name: \"category\" },\n {\n name: \"type\",\n },\n {\n name: \"priority\",\n },\n ]}\n emptyState={\n toggleAddMapperDialog(true),\n },\n {\n text: t(\"emptySecondaryAction\"),\n onClick: () => toggleAddMapperDialog(false),\n },\n ]}\n />\n }\n />\n >\n );\n};\n"],"names":["AddMapperDialog","props","t","useTranslation","serverInfo","useServerInfo","protocol","protocolMappers","builtInMappers","filter","setFilter","useState","selectedRows","setSelectedRows","localeSort","useLocaleSort","allRows","useMemo","mapByKey","mapper","mapperType","type","rows","setRows","nameFilter","f","row","sortedProtocolMappers","isBuiltIn","header","jsxs","Modal","ModalVariant","TextContent","jsx","Text","TextVariants","Button","item","ButtonVariant","DataList","id","DataListItem","DataListItemRow","DataListItemCells","name","DataListCell","KeycloakDataTable","ListEmptyState","MapperLink","detailLink","Link","MapperList","model","onAdd","onDelete","mapperAction","setMapperAction","mapperList","mapperTypes","key","setKey","useEffect","addMapperDialogOpen","setAddMapperDialogOpen","toggleAddMapperDialog","buildIn","loader","a","b","Fragment","Dropdown","DropdownToggle","CaretDownIcon","DropdownItem"],"mappings":"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"}