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.ClientScopesSection-efceeb44.js.map Maven / Gradle / Ivy
Go to download
The user inferface to administrate the Keycloak server.
{"version":3,"file":"ClientScopesSection-efceeb44.js","sources":["../../src/client-scopes/ClientScopesSection.tsx"],"sourcesContent":["import {\n AlertVariant,\n Button,\n ButtonVariant,\n Dropdown,\n DropdownItem,\n KebabToggle,\n PageSection,\n ToolbarItem,\n} from \"@patternfly/react-core\";\nimport { cellWidth } from \"@patternfly/react-table\";\nimport { useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Link } from \"react-router-dom\";\n\nimport { adminClient } from \"../admin-client\";\nimport type { Row } from \"../clients/scopes/ClientScopes\";\nimport { getProtocolName } from \"../clients/utils\";\nimport { useAlerts } from \"../components/alert/Alerts\";\nimport {\n AllClientScopeType,\n AllClientScopes,\n CellDropdown,\n ClientScope,\n ClientScopeDefaultOptionalType,\n changeScope,\n removeScope,\n} from \"../components/client-scope/ClientScopeTypes\";\nimport { useConfirmDialog } from \"../components/confirm-dialog/ConfirmDialog\";\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 helpUrls from \"../help-urls\";\nimport { emptyFormatter } from \"../util\";\nimport useLocaleSort, { mapByKey } from \"../utils/useLocaleSort\";\nimport { ChangeTypeDropdown } from \"./ChangeTypeDropdown\";\nimport {\n ProtocolType,\n SearchDropdown,\n SearchToolbar,\n SearchType,\n nameFilter,\n protocolFilter,\n typeFilter,\n} from \"./details/SearchFilter\";\nimport { toClientScope } from \"./routes/ClientScope\";\nimport { toNewClientScope } from \"./routes/NewClientScope\";\n\ntype TypeSelectorProps = ClientScopeDefaultOptionalType & {\n refresh: () => void;\n};\n\nconst TypeSelector = (scope: TypeSelectorProps) => {\n const { t } = useTranslation(\"client-scopes\");\n const { addAlert, addError } = useAlerts();\n\n return (\n {\n try {\n await changeScope(scope, value as AllClientScopeType);\n addAlert(t(\"clientScopeSuccess\"), AlertVariant.success);\n scope.refresh();\n } catch (error) {\n addError(\"client-scopes:clientScopeError\", error);\n }\n }}\n />\n );\n};\n\nconst ClientScopeDetailLink = ({\n id,\n name,\n}: ClientScopeDefaultOptionalType) => {\n const { realm } = useRealm();\n return (\n \n {name}\n \n );\n};\n\nexport default function ClientScopesSection() {\n const { realm } = useRealm();\n const { t } = useTranslation(\"client-scopes\");\n const { addAlert, addError } = useAlerts();\n\n const [kebabOpen, setKebabOpen] = useState(false);\n const [selectedScopes, setSelectedScopes] = useState<\n ClientScopeDefaultOptionalType[]\n >([]);\n\n const [searchType, setSearchType] = useState(\"name\");\n const [searchTypeType, setSearchTypeType] = useState(\n AllClientScopes.none\n );\n const [searchProtocol, setSearchProtocol] = useState(\"all\");\n const localeSort = useLocaleSort();\n\n const [key, setKey] = useState(0);\n const refresh = () => {\n setSelectedScopes([]);\n setKey(key + 1);\n };\n\n const loader = async (first?: number, max?: number, search?: string) => {\n const defaultScopes =\n await adminClient.clientScopes.listDefaultClientScopes();\n const optionalScopes =\n await adminClient.clientScopes.listDefaultOptionalClientScopes();\n const clientScopes = await adminClient.clientScopes.find();\n\n const filter =\n searchType === \"name\"\n ? nameFilter(search)\n : searchType === \"type\"\n ? typeFilter(searchTypeType)\n : protocolFilter(searchProtocol);\n\n const transformed = clientScopes\n .map((scope) => {\n const row: Row = {\n ...scope,\n type: defaultScopes.find(\n (defaultScope) => defaultScope.name === scope.name\n )\n ? ClientScope.default\n : optionalScopes.find(\n (optionalScope) => optionalScope.name === scope.name\n )\n ? ClientScope.optional\n : AllClientScopes.none,\n };\n return row;\n })\n .filter(filter);\n\n return localeSort(transformed, mapByKey(\"name\")).slice(\n first,\n Number(first) + Number(max)\n );\n };\n\n const [toggleDeleteDialog, DeleteConfirm] = useConfirmDialog({\n titleKey: t(\"deleteClientScope\", {\n count: selectedScopes.length,\n name: selectedScopes[0]?.name,\n }),\n messageKey: \"client-scopes:deleteConfirm\",\n continueButtonLabel: \"common:delete\",\n continueButtonVariant: ButtonVariant.danger,\n onConfirm: async () => {\n try {\n for (const scope of selectedScopes) {\n try {\n await removeScope(scope);\n } catch (error: any) {\n console.warn(\n \"could not remove scope\",\n error.response?.data?.errorMessage || error\n );\n }\n await adminClient.clientScopes.del({ id: scope.id! });\n }\n addAlert(t(\"deletedSuccess\"), AlertVariant.success);\n refresh();\n } catch (error) {\n addError(\"client-scopes:deleteError\", error);\n }\n },\n });\n\n return (\n <>\n \n \n \n setSearchType(searchType)}\n withProtocol\n />\n }\n isPaginated\n onSelect={(clientScopes) => setSelectedScopes([...clientScopes])}\n canSelectAll\n toolbarItem={\n <>\n {\n setSearchType(searchType);\n setSearchProtocol(\"all\");\n setSearchTypeType(AllClientScopes.none);\n refresh();\n }}\n onType={(value) => {\n setSearchTypeType(value);\n setSearchProtocol(\"all\");\n refresh();\n }}\n protocol={searchProtocol}\n onProtocol={(protocol) => {\n setSearchProtocol(protocol);\n setSearchTypeType(AllClientScopes.none);\n refresh();\n }}\n />\n\n \n (\n \n )}\n >\n {t(\"createClientScope\")}\n \n \n \n \n \n \n }\n isOpen={kebabOpen}\n isPlain\n dropdownItems={[\n {\n toggleDeleteDialog();\n setKebabOpen(false);\n }}\n >\n {t(\"common:delete\")}\n ,\n ]}\n />\n \n >\n }\n actions={[\n {\n title: t(\"common:delete\"),\n onRowClick: (clientScope) => {\n setSelectedScopes([clientScope]);\n toggleDeleteDialog();\n },\n } as Action,\n ]}\n columns={[\n {\n name: \"name\",\n cellRenderer: ClientScopeDetailLink,\n },\n {\n name: \"type\",\n displayKey: \"client-scopes:assignedType\",\n cellRenderer: (row) => (\n \n ),\n },\n {\n name: \"protocol\",\n displayKey: \"client-scopes:protocol\",\n cellRenderer: (client) =>\n getProtocolName(t, client.protocol ?? \"openid-connect\"),\n transforms: [cellWidth(15)],\n },\n {\n name: \"attributes['gui.order']\",\n displayKey: \"client-scopes:displayOrder\",\n cellFormatters: [emptyFormatter()],\n transforms: [cellWidth(15)],\n },\n { name: \"description\", cellFormatters: [emptyFormatter()] },\n ]}\n />\n
\n >\n );\n}\n"],"names":["TypeSelector","scope","t","useTranslation","addAlert","addError","useAlerts","jsx","CellDropdown","value","changeScope","AlertVariant","error","ClientScopeDetailLink","id","name","realm","useRealm","Link","toClientScope","ClientScopesSection","kebabOpen","setKebabOpen","useState","selectedScopes","setSelectedScopes","searchType","setSearchType","searchTypeType","setSearchTypeType","AllClientScopes","searchProtocol","setSearchProtocol","localeSort","useLocaleSort","key","setKey","refresh","loader","first","max","search","defaultScopes","adminClient","optionalScopes","clientScopes","filter","nameFilter","typeFilter","protocolFilter","transformed","defaultScope","ClientScope","optionalScope","mapByKey","toggleDeleteDialog","DeleteConfirm","useConfirmDialog","ButtonVariant","removeScope","jsxs","Fragment","ViewHeader","helpUrls","PageSection","KeycloakDataTable","SearchDropdown","SearchToolbar","protocol","ToolbarItem","Button","props","toNewClientScope","ChangeTypeDropdown","Dropdown","KebabToggle","DropdownItem","clientScope","row","client","getProtocolName","cellWidth","emptyFormatter"],"mappings":"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"}