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.GroupPickerDialog-9d38b823.js.map Maven / Gradle / Ivy
Go to download
The user inferface to administrate the Keycloak server.
{"version":3,"file":"GroupPickerDialog-9d38b823.js","sources":["../../../../node_modules/.pnpm/@[email protected] [email protected] [email protected] /node_modules/@patternfly/react-core/dist/esm/components/DataList/DataListAction.js","../../../../node_modules/.pnpm/@[email protected] [email protected] [email protected] /node_modules/@patternfly/react-core/dist/esm/components/DataList/DataListCheck.js","../../src/components/group/GroupPath.tsx","../../src/components/group/GroupPickerDialog.tsx"],"sourcesContent":["import { __rest } from \"tslib\";\nimport * as React from 'react';\nimport { css } from '@patternfly/react-styles';\nimport styles from '@patternfly/react-styles/css/components/DataList/data-list';\nimport { formatBreakpointMods } from '../../helpers/util';\nexport const DataListAction = (_a) => {\n var { children, className, visibility, \n /* eslint-disable @typescript-eslint/no-unused-vars */\n id, 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy, isPlainButtonAction } = _a, \n /* eslint-enable @typescript-eslint/no-unused-vars */\n props = __rest(_a, [\"children\", \"className\", \"visibility\", \"id\", 'aria-label', 'aria-labelledby', \"isPlainButtonAction\"]);\n return (React.createElement(\"div\", Object.assign({ className: css(styles.dataListItemAction, formatBreakpointMods(visibility, styles), className) }, props), isPlainButtonAction ? React.createElement(\"div\", { className: css(styles.dataListAction) }, children) : children));\n};\nDataListAction.displayName = 'DataListAction';\n//# sourceMappingURL=DataListAction.js.map","import { __rest } from \"tslib\";\nimport * as React from 'react';\nimport { css } from '@patternfly/react-styles';\nimport styles from '@patternfly/react-styles/css/components/DataList/data-list';\nexport const DataListCheck = (_a) => {\n var { className = '', \n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n onChange = (checked, event) => { }, isValid = true, isDisabled = false, isChecked = false, checked = false, defaultChecked, otherControls = false } = _a, props = __rest(_a, [\"className\", \"onChange\", \"isValid\", \"isDisabled\", \"isChecked\", \"checked\", \"defaultChecked\", \"otherControls\"]);\n const check = (React.createElement(\"div\", { className: css(styles.dataListCheck) },\n React.createElement(\"input\", Object.assign({}, props, { type: \"checkbox\", onChange: event => onChange(event.currentTarget.checked, event), \"aria-invalid\": !isValid, disabled: isDisabled }, ([true, false].includes(defaultChecked) && { defaultChecked }), (![true, false].includes(defaultChecked) && { checked: isChecked || checked })))));\n return (React.createElement(React.Fragment, null,\n !otherControls && React.createElement(\"div\", { className: css(styles.dataListItemControl, className) }, check),\n otherControls && check));\n};\nDataListCheck.displayName = 'DataListCheck';\n//# sourceMappingURL=DataListCheck.js.map","import { useState } from \"react\";\nimport { Tooltip } from \"@patternfly/react-core\";\nimport type { TableTextProps } from \"@patternfly/react-table\";\n\nimport type GroupRepresentation from \"@keycloak/keycloak-admin-client/lib/defs/groupRepresentation\";\n\ntype GroupPathProps = TableTextProps & {\n group: GroupRepresentation;\n};\n\nexport const GroupPath = ({\n group: { path },\n onMouseEnter: onMouseEnterProp,\n ...props\n}: GroupPathProps) => {\n const [tooltip, setTooltip] = useState(\"\");\n const onMouseEnter = (event: any) => {\n setTooltip(path!);\n onMouseEnterProp?.(event);\n };\n const text = (\n \n {path}\n \n );\n\n return tooltip !== \"\" ? (\n \n {text}\n \n ) : (\n text\n );\n};\n","import type GroupRepresentation from \"@keycloak/keycloak-admin-client/lib/defs/groupRepresentation\";\nimport {\n Breadcrumb,\n BreadcrumbItem,\n Button,\n DataList,\n DataListAction,\n DataListCell,\n DataListCheck,\n DataListItem,\n DataListItemCells,\n DataListItemRow,\n Modal,\n ModalVariant,\n} from \"@patternfly/react-core\";\nimport { AngleRightIcon } from \"@patternfly/react-icons\";\nimport { useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { adminClient } from \"../../admin-client\";\nimport { useFetch } from \"../../utils/useFetch\";\nimport { ListEmptyState } from \"../list-empty-state/ListEmptyState\";\nimport { PaginatingTableToolbar } from \"../table-toolbar/PaginatingTableToolbar\";\nimport { GroupPath } from \"./GroupPath\";\n\nimport \"./group-picker-dialog.css\";\nimport { fetchAdminUI } from \"../../context/auth/admin-ui-endpoint\";\n\nexport type GroupPickerDialogProps = {\n id?: string;\n type: \"selectOne\" | \"selectMany\";\n filterGroups?: GroupRepresentation[];\n text: { title: string; ok: string };\n canBrowse?: boolean;\n onConfirm: (groups: GroupRepresentation[] | undefined) => void;\n onClose: () => void;\n};\n\ntype SelectableGroup = GroupRepresentation & {\n checked?: boolean;\n};\n\nexport const GroupPickerDialog = ({\n id,\n type,\n filterGroups,\n text,\n canBrowse = true,\n onClose,\n onConfirm,\n}: GroupPickerDialogProps) => {\n const { t } = useTranslation();\n const [selectedRows, setSelectedRows] = useState([]);\n\n const [navigation, setNavigation] = useState([]);\n const [groups, setGroups] = useState([]);\n const [filter, setFilter] = useState(\"\");\n const [joinedGroups, setJoinedGroups] = useState([]);\n const [groupId, setGroupId] = useState();\n const [isSearching, setIsSearching] = useState(false);\n\n const [max, setMax] = useState(10);\n const [first, setFirst] = useState(0);\n\n const [count, setCount] = useState(0);\n\n const currentGroup = () => navigation[navigation.length - 1];\n\n useFetch(\n async () => {\n let group;\n let groups;\n let existingUserGroups;\n let count = 0;\n if (!groupId) {\n groups = await fetchAdminUI(\n \"ui-ext/groups\",\n Object.assign(\n {\n first: `${first}`,\n max: `${max + 1}`,\n },\n isSearching ? null : { search: filter }\n )\n );\n } else if (!navigation.map(({ id }) => id).includes(groupId)) {\n group = await adminClient.groups.findOne({ id: groupId });\n if (!group) {\n throw new Error(t(\"common:notFound\"));\n }\n groups = group.subGroups!;\n }\n\n if (isSearching) {\n count = (await adminClient.groups.count({ search: filter, top: true }))\n .count;\n }\n\n if (id) {\n existingUserGroups = await adminClient.users.listGroups({\n id,\n });\n }\n\n return { group, groups, existingUserGroups, count };\n },\n async ({ group: selectedGroup, groups, existingUserGroups, count }) => {\n setJoinedGroups(existingUserGroups || []);\n if (selectedGroup) {\n setNavigation([...navigation, selectedGroup]);\n }\n\n if (groups) {\n groups.forEach((group: SelectableGroup) => {\n group.checked = !!selectedRows.find((r) => r.id === group.id);\n });\n setGroups(groups);\n }\n setCount(count);\n },\n [groupId, filter, first, max]\n );\n\n const isRowDisabled = (row?: GroupRepresentation) => {\n return [\n ...joinedGroups.map((item) => item.id),\n ...(filterGroups || []).map((group) => group.id),\n ].some((group) => group === row?.id);\n };\n\n return (\n {\n onConfirm(\n type === \"selectMany\"\n ? selectedRows\n : navigation.length\n ? [currentGroup()]\n : undefined\n );\n }}\n isDisabled={type === \"selectMany\" && selectedRows.length === 0}\n >\n {t(text.ok)}\n ,\n ]}\n >\n {\n setFirst(first);\n setMax(max);\n }}\n inputGroupName={\"common:search\"}\n inputGroupOnEnter={(search) => {\n setFilter(search);\n setIsSearching(search !== \"\");\n setFirst(0);\n setMax(10);\n setNavigation([]);\n setGroupId(undefined);\n }}\n inputGroupPlaceholder={t(\"users:searchForGroups\")}\n >\n \n {navigation.length > 0 && (\n \n {\n setGroupId(undefined);\n setNavigation([]);\n setFirst(0);\n setMax(10);\n }}\n >\n {t(\"groups\")}\n \n \n )}\n {navigation.map((group, i) => (\n \n {navigation.length - 1 !== i && (\n {\n setGroupId(group.id);\n setNavigation([...navigation].slice(0, i));\n setFirst(0);\n setMax(10);\n }}\n >\n {group.name}\n \n )}\n {navigation.length - 1 === i && group.name}\n \n ))}\n \n \n {groups\n .slice(groupId ? first : 0, max + (groupId ? first : 0))\n .map((group: SelectableGroup) => (\n <>\n \n {isSearching &&\n group.subGroups?.length !== 0 &&\n group.subGroups!.map((g) => (\n \n ))}\n >\n ))}\n \n {groups.length === 0 && !isSearching && (\n \n )}\n {groups.length === 0 && isSearching && (\n \n )}\n \n \n );\n};\n\ntype GroupRowProps = {\n group: SelectableGroup;\n type: \"selectOne\" | \"selectMany\";\n isRowDisabled: (row?: GroupRepresentation) => boolean;\n isSearching: boolean;\n setIsSearching: (value: boolean) => void;\n onSelect: (groupId: string) => void;\n selectedRows: SelectableGroup[];\n setSelectedRows: (groups: SelectableGroup[]) => void;\n canBrowse: boolean;\n};\n\nconst GroupRow = ({\n group,\n type,\n isRowDisabled,\n isSearching,\n setIsSearching,\n onSelect,\n selectedRows,\n setSelectedRows,\n canBrowse,\n}: GroupRowProps) => {\n const { t } = useTranslation();\n\n const hasSubgroups = (group: GroupRepresentation) =>\n group.subGroups?.length !== 0;\n\n return (\n {\n if (isRowDisabled(group)) return;\n if (type === \"selectOne\") {\n onSelect(group.id!);\n } else if (\n hasSubgroups(group) &&\n (e.target as HTMLInputElement).type !== \"checkbox\"\n ) {\n onSelect(group.id!);\n setIsSearching(false);\n }\n }}\n >\n \n {type === \"selectMany\" && (\n {\n group.checked = checked;\n let newSelectedRows: SelectableGroup[] = [];\n if (!group.checked) {\n newSelectedRows = selectedRows.filter((r) => r.id !== group.id);\n } else {\n newSelectedRows = [...selectedRows, group];\n }\n\n setSelectedRows(newSelectedRows);\n }}\n aria-labelledby={`select-${group.name}`}\n />\n )}\n\n \n {isSearching ? (\n \n ) : (\n {group.name} \n )}\n ,\n ]}\n />\n \n {((hasSubgroups(group) && canBrowse) || type === \"selectOne\") && (\n \n \n \n )}\n \n \n \n );\n};\n"],"names":["DataListAction","_a","children","className","visibility","id","ariaLabel","ariaLabelledBy","isPlainButtonAction","props","__rest","React.createElement","css","styles","formatBreakpointMods","DataListCheck","onChange","checked","event","isValid","isDisabled","isChecked","defaultChecked","otherControls","check","React.Fragment","GroupPath","path","onMouseEnterProp","tooltip","setTooltip","useState","onMouseEnter","text","jsx","Tooltip","GroupPickerDialog","type","filterGroups","canBrowse","onClose","onConfirm","t","useTranslation","selectedRows","setSelectedRows","navigation","setNavigation","groups","setGroups","filter","setFilter","joinedGroups","setJoinedGroups","groupId","setGroupId","isSearching","setIsSearching","max","setMax","first","setFirst","count","setCount","currentGroup","useFetch","group","existingUserGroups","fetchAdminUI","adminClient","selectedGroup","r","isRowDisabled","row","item","Modal","ModalVariant","Button","jsxs","PaginatingTableToolbar","search","Breadcrumb","BreadcrumbItem","i","DataList","Fragment","GroupRow","g","ListEmptyState","onSelect","hasSubgroups","DataListItem","e","DataListItemRow","newSelectedRows","DataListItemCells","DataListCell","AngleRightIcon"],"mappings":"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","x_google_ignoreList":[0,1]}