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

theme.keycloak.v2.admin.resources.assets.GroupPickerDialog-71e86661.js.map Maven / Gradle / Ivy

There is a newer version: 25.0.1
Show newest version
{"version":3,"file":"GroupPickerDialog-71e86661.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 (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"],"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]}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy