theme.keycloak.v2.admin.resources.assets.GroupPickerDialog-C09EjRTA.js.map Maven / Gradle / Ivy
{"version":3,"file":"GroupPickerDialog-C09EjRTA.js","sources":["../../../../../node_modules/.pnpm/@[email protected][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][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.mjs';\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, \n /* eslint-disable @typescript-eslint/no-unused-vars */\n isPlainButtonAction } = _a, 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.mjs';\nexport const DataListCheck = (_a) => {\n var { className = '', \n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n onChange = (event, checked) => { }, 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, event.currentTarget.checked), \"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 GroupQuery,\n SubGroupQuery,\n} from \"@keycloak/keycloak-admin-client/lib/resources/groups\";\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 { Fragment, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useAdminClient } 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\";\n\nexport type GroupPickerDialogProps = {\n id?: string;\n type: \"selectOne\" | \"selectMany\";\n filterGroups?: GroupRepresentation[];\n text: { title: string; ok: string };\n canBrowse?: boolean;\n isMove?: 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 isMove = false,\n onClose,\n onConfirm,\n}: GroupPickerDialogProps) => {\n const { adminClient } = useAdminClient();\n\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\n if (!groupId) {\n const args: GroupQuery = {\n first,\n max: max + 1,\n };\n if (isSearching) {\n args.search = filter;\n }\n groups = await adminClient.groups.find(args);\n } else {\n if (!navigation.map(({ id }) => id).includes(groupId)) {\n group = await adminClient.groups.findOne({ id: groupId });\n if (!group) {\n throw new Error(t(\"notFound\"));\n }\n }\n\n const args: SubGroupQuery = {\n first,\n max,\n parentId: groupId,\n };\n groups = await adminClient.groups.listSubGroups(args);\n }\n\n if (id) {\n existingUserGroups = await adminClient.users.listGroups({\n id,\n });\n }\n\n return { group, groups, existingUserGroups };\n },\n async ({ group: selectedGroup, groups, existingUserGroups }) => {\n setJoinedGroups(existingUserGroups || []);\n if (selectedGroup) {\n setNavigation([...navigation, selectedGroup]);\n setCount(selectedGroup.subGroupCount!);\n }\n\n groups.forEach((group: SelectableGroup) => {\n group.checked = !!selectedRows.find((r) => r.id === group.id);\n });\n setGroups(groups);\n if (isSearching || !groupId) {\n setCount(groups.length);\n }\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={\"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(\"searchForGroups\")}\n >\n \n {navigation.length > 0 && (\n \n \n \n )}\n {navigation.map((group, i) => (\n \n {navigation.length - 1 !== i && (\n \n )}\n {navigation.length - 1 === i && group.name}\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 return (\n {\n if (type === \"selectOne\") {\n onSelect(group.id!);\n } else if (\n (e.target as HTMLInputElement).type !== \"checkbox\" &&\n group.subGroupCount !== 0\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 {(canBrowse || type === \"selectOne\") && group.subGroupCount !== 0 && (\n \n )}\n \n \n \n );\n};\n"],"names":["DataListAction","_a","children","className","visibility","id","ariaLabel","ariaLabelledBy","isPlainButtonAction","props","__rest","React","css","styles","formatBreakpointMods","DataListCheck","onChange","event","checked","isValid","isDisabled","isChecked","defaultChecked","otherControls","check","GroupPath","path","onMouseEnterProp","tooltip","setTooltip","useState","text","jsx","Tooltip","GroupPickerDialog","type","filterGroups","canBrowse","isMove","onClose","onConfirm","adminClient","useAdminClient","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","args","selectedGroup","r","isRowDisabled","row","item","Modal","ModalVariant","Button","jsxs","PaginatingTableToolbar","search","Breadcrumb","BreadcrumbItem","i","DataList","Fragment","GroupRow","g","ListEmptyState","onSelect","DataListItem","e","DataListItemRow","_event","newSelectedRows","DataListItemCells","DataListCell","AngleRightIcon"],"mappings":"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","x_google_ignoreList":[0,1]}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy