@ytsaurus/ui 1.69.0 → 1.70.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/public/build/assets-manifest.json +15 -15
- package/dist/public/build/css/groups.ed9ded1f.chunk.css +2 -0
- package/dist/public/build/css/groups.ed9ded1f.chunk.css.map +1 -0
- package/dist/public/build/js/cluster-page-wrapper.573e8598.chunk.js +2 -0
- package/dist/public/build/js/{cluster-page-wrapper.ee23d43b.chunk.js.map → cluster-page-wrapper.573e8598.chunk.js.map} +1 -1
- package/dist/public/build/js/groups.38f0df6f.chunk.js +2 -0
- package/dist/public/build/js/groups.38f0df6f.chunk.js.map +1 -0
- package/dist/public/build/js/main.38e39f6e.js +3 -0
- package/dist/public/build/js/main.38e39f6e.js.map +1 -0
- package/dist/public/build/js/{runtime.c701c84d.js → runtime.44a1d4a3.js} +2 -2
- package/dist/public/build/js/{runtime.c701c84d.js.map → runtime.44a1d4a3.js.map} +1 -1
- package/dist/public/build/js/users.58b85268.chunk.js +2 -0
- package/dist/public/build/js/users.58b85268.chunk.js.map +1 -0
- package/dist/public/build/manifest.json +12 -12
- package/package.json +2 -2
- package/dist/public/build/css/groups.7e103f52.chunk.css +0 -2
- package/dist/public/build/css/groups.7e103f52.chunk.css.map +0 -1
- package/dist/public/build/js/cluster-page-wrapper.ee23d43b.chunk.js +0 -2
- package/dist/public/build/js/groups.ea480cb3.chunk.js +0 -2
- package/dist/public/build/js/groups.ea480cb3.chunk.js.map +0 -1
- package/dist/public/build/js/main.e5f238db.js +0 -3
- package/dist/public/build/js/main.e5f238db.js.map +0 -1
- package/dist/public/build/js/users.726d69e0.chunk.js +0 -2
- package/dist/public/build/js/users.726d69e0.chunk.js.map +0 -1
- /package/dist/public/build/js/{main.e5f238db.js.LICENSE.txt → main.38e39f6e.js.LICENSE.txt} +0 -0
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"js/users.58b85268.chunk.js","mappings":"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","sources":["webpack://@ytsaurus/ui/./src/ui/components/ChartLink/ChartLink.tsx","webpack://@ytsaurus/ui/./src/ui/hooks/global.tsx","webpack://@ytsaurus/ui/./src/ui/pages/components/GroupSuggest/GroupSuggest.tsx","webpack://@ytsaurus/ui/./src/ui/store/actions/users.js","webpack://@ytsaurus/ui/./src/ui/store/selectors/users.js","webpack://@ytsaurus/ui/./src/ui/pages/users/CreateUserModal/CreateUserModal.tsx","webpack://@ytsaurus/ui/./src/ui/pages/users/UsersPageFilters/UsersPageFilters.js","webpack://@ytsaurus/ui/./src/ui/store/actions/users-typed.ts","webpack://@ytsaurus/ui/./src/ui/pages/users/UsersPageEditor/UsersPageEditor.tsx","webpack://@ytsaurus/ui/./src/ui/pages/users/DeleteUserModal/DeleteUserModal.tsx","webpack://@ytsaurus/ui/./src/ui/pages/users/UserActions/UserActions.tsx","webpack://@ytsaurus/ui/./src/ui/pages/users/UsersPageTable/UsersPageTable.js","webpack://@ytsaurus/ui/./src/ui/pages/users/UsersPage.js","webpack://@ytsaurus/ui/./src/ui/utils/sha256.ts"],"sourcesContent":["import React from 'react';\nimport Link, {LinkProps} from '../../components/Link/Link';\n\nimport Icon, {IconProps} from '../Icon/Icon';\n\ninterface Props {\n className?: string;\n theme?: LinkProps['theme'];\n face?: IconProps['face'];\n url?: string;\n title?: string;\n children?: React.ReactNode;\n hideIcon?: boolean;\n wrapContent?: (node: React.ReactNode) => React.ReactNode;\n}\n\nfunction ChartLink(props: Props) {\n const {className, url, title, theme, children, hideIcon, face, wrapContent} = props;\n\n if (!url) {\n return null;\n }\n\n const icon = hideIcon ? null : <Icon awesome=\"chart-bar\" face={face} />;\n const content = children ? (\n <React.Fragment>\n {icon}\n {children}\n </React.Fragment>\n ) : (\n icon\n );\n\n return (\n <Link className={className} target=\"_blank\" theme={theme} url={url} title={title ?? 'View'}>\n {wrapContent ? wrapContent(content) : content}\n </Link>\n );\n}\n\nexport default React.memo(ChartLink);\n","import React from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\n\nimport sortedIndexBy_ from 'lodash/sortedIndexBy';\nimport sortedLastIndexBy_ from 'lodash/sortedLastIndexBy';\n\nimport {getAllUserNamesSorted} from '../store/selectors/global';\nimport {\n loadAccountsIfNotLoaded,\n loadBundlesIfNotLoaded,\n loadGroupsIfNotLoaded,\n loadUsersIfNotLoaded,\n} from '../store/actions/global';\n\nexport function useAllUserNamesFiltered() {\n const dispatch = useDispatch();\n React.useEffect(() => {\n dispatch(loadUsersIfNotLoaded());\n }, []);\n\n const namesSorted = useSelector(getAllUserNamesSorted);\n\n const getFiltered = React.useCallback(\n (text: string) => {\n const from = sortedIndexBy_(namesSorted, text, (item) => item.substr(0, text.length));\n const to = sortedLastIndexBy_(namesSorted, text, (item) => item.substr(0, text.length));\n const res = namesSorted.slice(from, to);\n return res;\n },\n [namesSorted],\n );\n\n return {getFiltered, allNames: namesSorted};\n}\n\nexport function useGroupsLoaded() {\n const dispatch = useDispatch();\n\n React.useEffect(() => {\n dispatch(loadGroupsIfNotLoaded());\n }, []);\n}\n\nexport function GroupsLoader({children}: {children?: React.ReactElement}) {\n useGroupsLoaded();\n return children ?? null;\n}\n\nexport function useAccountsLoaded() {\n const dispatch = useDispatch();\n\n React.useEffect(() => {\n dispatch(loadAccountsIfNotLoaded());\n }, []);\n}\n\nexport function AccountsLoader() {\n useAccountsLoaded();\n return null;\n}\n\nexport function useBundlesLoaded() {\n const dispatch = useDispatch();\n\n React.useEffect(() => {\n dispatch(loadBundlesIfNotLoaded());\n }, []);\n}\n\nexport function BundlesLoader() {\n useBundlesLoaded();\n return null;\n}\n","import React from 'react';\nimport {connect} from 'react-redux';\n\nimport concat_ from 'lodash/concat';\nimport filter_ from 'lodash/filter';\nimport map_ from 'lodash/map';\n\nimport cn from 'bem-cn-lite';\n\nimport {SelectProps} from '@gravity-ui/uikit';\n\nimport {EditableList, EditableListItemType} from '../../../components/Dialog';\n\nimport {getAllGroupNamesSorted, getAllIdmGroupNamesSorted} from '../../../store/selectors/global';\nimport {RootState} from '../../../store/reducers';\nimport Select from '../../../components/Select/Select';\n\nimport './GroupSuggest.scss';\n\nconst block = cn('group-suggest');\n\ninterface Props {\n placeholder?: string;\n items?: Array<string>;\n className?: string;\n showTags?: boolean;\n idmOnly?: boolean;\n multiple?: boolean;\n value: Array<string>;\n onChange: (value: Props['value']) => void;\n disabled?: boolean;\n width?: SelectProps['width'];\n maxVisibleValues?: number;\n}\n\nfunction GroupSuggest(props: Props) {\n const {items, width, multiple, onChange, placeholder, className, showTags, value, ...rest} =\n props;\n\n const ycItems = map_(items, (item) => ({\n value: item,\n text: item,\n }));\n\n const empty = !value?.length;\n\n const listValue = React.useMemo(() => map_(concat_([], value), (title) => ({title})), [value]);\n\n const onListChange = React.useCallback(\n (newList: Array<EditableListItemType<any>>) => {\n const res = filter_(newList, ({removed}) => !removed).map(({title}) => title);\n onChange(res);\n },\n [value, onChange],\n );\n\n return (\n <div className={block({empty}, className)}>\n <Select\n {...rest}\n items={ycItems}\n onUpdate={onChange}\n placeholder={placeholder}\n value={props.value}\n multiple={multiple}\n width={width ?? 'max'}\n filterable\n disablePortal\n />\n {multiple && showTags && <EditableList onChange={onListChange} value={listValue} />}\n </div>\n );\n}\n\nGroupSuggest.isEmpty = (value: Array<string>) => {\n return !value?.length;\n};\n\nGroupSuggest.getDefaultValue = () => {\n return [];\n};\n\nconst mapStateToProps = (state: RootState, ownProps: Props) => {\n const {idmOnly} = ownProps;\n const items: Array<string> = idmOnly\n ? (getAllIdmGroupNamesSorted(state) as Array<string>)\n : getAllGroupNamesSorted(state);\n return {items};\n};\n\nexport default connect(mapStateToProps)(GroupSuggest);\n","import difference_ from 'lodash/difference';\nimport forEach_ from 'lodash/forEach';\nimport map_ from 'lodash/map';\n\nimport {\n USERS_EDIT_USER,\n USERS_EDIT_USER_DATA_FIELDS,\n USERS_TABLE,\n USERS_TABLE_DATA_FIELDS,\n} from '../../constants/users';\nimport {getCluster} from '../../store/selectors/global';\nimport {listAllUsers} from '../../utils/users-groups';\nimport {flags} from '../../utils/index';\nimport {getBatchError} from '../../utils/utils';\nimport {YTApiId, ytApiV3Id, ytApiV4Id} from '../../rum/rum-wrap-api';\nimport UIFactory from '../../UIFactory';\nimport {sha256} from '../../utils/sha256';\n\nconst USER_ATTRIBUTES = [\n 'name',\n 'banned',\n 'ban_message',\n 'member_of',\n 'member_of_closure',\n 'read_request_rate_limit',\n 'request_queue_size_limit',\n 'write_request_rate_limit',\n 'upravlyator_managed',\n];\n\nexport function prepareUserData(item) {\n const {\n $attributes: {member_of: groups, member_of_closure: allGroups, upravlyator_managed: idm},\n } = item;\n groups.sort();\n allGroups.sort();\n item.$attributes.idm = flags.get(idm || false);\n item.$attributes['transitiveGroups'] = difference_(allGroups, groups);\n return item.$attributes;\n}\n\nexport function fetchUsers() {\n return (dispatch) => {\n dispatch({type: USERS_TABLE.REQUEST});\n\n return listAllUsers(YTApiId.usersData, {attributes: USER_ATTRIBUTES})\n .then((data) => {\n const users = [];\n forEach_(data, (item) => {\n users.push(prepareUserData(item));\n });\n dispatch({type: USERS_TABLE.SUCCESS, data: {users}});\n })\n .catch((error) => {\n dispatch({type: USERS_TABLE.FAILURE, data: error});\n });\n };\n}\n\nexport function setUsersNameFilter(nameFilter) {\n return {type: USERS_TABLE_DATA_FIELDS, data: {nameFilter}};\n}\n\nexport function setUsersGroupFilter(filter) {\n return {\n type: USERS_TABLE_DATA_FIELDS,\n data: {groupFilter: filter || ''},\n };\n}\n\nexport function setUsersBannedFilter(bannedFilter) {\n return {type: USERS_TABLE_DATA_FIELDS, data: {bannedFilter}};\n}\n\nexport function setUsersPageSorting({column, order}) {\n const sort = {column, order};\n if (!order) {\n sort.column = '';\n }\n return {type: USERS_TABLE_DATA_FIELDS, data: {sort}};\n}\n\nexport function showUserEditorModal(username) {\n return (dispatch) => {\n const isNewUser = !username;\n\n if (isNewUser) {\n dispatch({\n type: USERS_EDIT_USER_DATA_FIELDS,\n data: {showModal: true},\n });\n return;\n }\n\n dispatch({type: USERS_EDIT_USER.REQUEST});\n const path = `//sys/users/${username}`;\n return ytApiV3Id\n .get(YTApiId.usersEditData, {path, attributes: USER_ATTRIBUTES})\n .then((res) => {\n dispatch({\n type: USERS_EDIT_USER.SUCCESS,\n data: {data: prepareUserData(res)},\n });\n dispatch({\n type: USERS_EDIT_USER_DATA_FIELDS,\n data: {showModal: true, username},\n });\n })\n .catch((error) => {\n return dispatch({type: USERS_EDIT_USER.FAILURE, data: error});\n });\n };\n}\n\nexport function closeUserEditorModal() {\n return {\n type: USERS_EDIT_USER_DATA_FIELDS,\n data: {showModal: false, username: ''},\n };\n}\n\nfunction removeUserFromGroups(cluster, username, groups) {\n return Promise.all(\n map_(groups, (groupname) => {\n return UIFactory.getAclApi().removeUserFromGroup({cluster, username, groupname});\n }),\n );\n}\n\nfunction addUserToGroups(cluster, username, groups, comment) {\n return Promise.all(\n map_(groups, (groupname) => {\n return UIFactory.getAclApi().addUserToGroup({cluster, username, groupname, comment});\n }),\n );\n}\n\nfunction changeUserPassword({username, password}) {\n if (password) {\n return sha256(password).then((new_password_sha256) => {\n return ytApiV4Id.setUserPassword(YTApiId.setUserPassword, {\n parameters: {\n user: username,\n new_password_sha256,\n },\n });\n });\n }\n\n return Promise.resolve();\n}\n\nexport function saveUserData({\n username,\n newName,\n attributes,\n groupsToAdd,\n groupsToRemove,\n password,\n}) {\n return (dispatch, getState) => {\n dispatch({type: USERS_EDIT_USER.REQUEST});\n\n const path = `//sys/users/${username}`;\n const requests = [];\n const {comment, ...restAttrs} = attributes;\n forEach_(restAttrs, (value, key) => {\n requests.push({\n command: 'set',\n parameters: {\n path: `${path}/@${key}`,\n },\n input: value,\n });\n });\n\n if (newName !== username) {\n requests.push({\n command: 'set',\n parameters: {\n path: `${path}/@name`,\n },\n input: newName,\n });\n }\n\n const state = getState();\n const cluster = getCluster(state);\n\n return (\n Promise.all(\n [\n addUserToGroups(cluster, username, groupsToAdd, comment),\n removeUserFromGroups(cluster, username, groupsToRemove),\n changeUserPassword({username, password}),\n requests.length && ytApiV3Id.executeBatch(YTApiId.usersSaveData, {requests}),\n ].filter(Boolean),\n )\n // eslint-disable-next-line no-unused-vars\n .then(([addRes, removeRes, changePasswordRes, batchRes]) => {\n const batchError = getBatchError(batchRes, \"Failed to save user's data\");\n if (batchError) {\n throw batchError;\n }\n\n dispatch({type: USERS_EDIT_USER.SUCCESS, data: {}});\n dispatch(fetchUsers());\n\n return;\n })\n .catch((error) => {\n const data = error?.response?.data || error;\n dispatch({type: USERS_EDIT_USER.FAILURE, data: data});\n return Promise.reject(data);\n })\n );\n };\n}\n","import filter_ from 'lodash/filter';\nimport sortedIndexOf_ from 'lodash/sortedIndexOf';\n\nimport {createSelector} from 'reselect';\nimport {sortArrayBySortState} from '../../utils/sort-helpers';\nimport {concatByAnd} from '../../common/hammer/predicate';\n\n// Table\n\nexport const getUsersTableDataState = (state) => state.users.table;\n\nexport const getUsers = (state) => state.users.table.users;\nexport const getUsersNameFilter = (state) => state.users.table.nameFilter;\nexport const getUsersGroupFilter = (state) => state.users.table.groupFilter;\nexport const getUsersBannedFilter = (state) => state.users.table.bannedFilter;\nexport const getUsersSort = (state) => state.users.table.sort;\n\nexport const getUsersFiltered = createSelector(\n [getUsers, getUsersNameFilter, getUsersGroupFilter, getUsersBannedFilter],\n (users, nameFilter, groupFilter, bannedFilter) => {\n const predicates = [\n nameFilter && (({name}) => name.indexOf(nameFilter) !== -1),\n groupFilter &&\n (({member_of: memberOf, transitiveGroups}) => {\n return (\n -1 !== sortedIndexOf_(memberOf, groupFilter) ||\n -1 !== sortedIndexOf_(transitiveGroups, groupFilter)\n );\n }),\n bannedFilter && (({banned}) => banned),\n ].filter(Boolean);\n\n if (predicates.length === 0) {\n return users;\n }\n\n return filter_(users, concatByAnd(...predicates));\n },\n);\n\nexport const getUsersFilteredAndSorted = createSelector(\n [getUsersSort, getUsersFiltered],\n (sortState, users) => {\n return sortArrayBySortState(users, sortState);\n },\n);\n\n// User editor\nexport const getUsersPageEditableUser = (state) => state.users.editUser;\n","import Button from '../../../components/Button/Button';\nimport React, {useCallback} from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\nimport {showUserEditorModal} from '../../../store/actions/users';\nimport {getUserManagementEnabled} from '../../../store/selectors/global';\n\nexport const ShowCreateUserModalButton: React.FC = () => {\n const dispatch = useDispatch();\n const onClick = useCallback(() => {\n dispatch(showUserEditorModal());\n }, []);\n\n const isEnabled = useSelector(getUserManagementEnabled);\n\n if (isEnabled) {\n return (\n <Button view=\"action\" onClick={onClick}>\n Create new\n </Button>\n );\n }\n\n return null;\n};\n","import React from 'react';\nimport cn from 'bem-cn-lite';\nimport PropTypes from 'prop-types';\nimport {connect} from 'react-redux';\nimport {Checkbox} from '@gravity-ui/uikit';\n\nimport Filter from '../../../components/Filter/Filter';\n\nimport {\n setUsersBannedFilter,\n setUsersGroupFilter,\n setUsersNameFilter,\n} from '../../../store/actions/users';\nimport GroupSuggest from '../../../pages/components/GroupSuggest/GroupSuggest';\nimport {Toolbar} from '../../../components/WithStickyToolbar/Toolbar/Toolbar';\nimport {\n getUsersBannedFilter,\n getUsersGroupFilter,\n getUsersNameFilter,\n} from '../../../store/selectors/users';\nimport {GroupsLoader} from '../../../hooks/global';\nimport {ShowCreateUserModalButton} from '../CreateUserModal/CreateUserModal';\n\nimport './UsersPageFilters.scss';\n\nconst block = cn('users-page-filters');\n\nclass UsersPageFilters extends React.Component {\n static propTypes = {\n className: PropTypes.string,\n\n bannedFilter: PropTypes.bool.isRequired,\n setUsersBannedFilter: PropTypes.func.isRequired,\n\n groupFilter: PropTypes.string.isRequired,\n setUsersGroupFilter: PropTypes.func.isRequired,\n\n nameFilter: PropTypes.string.isRequired,\n setUsersNameFilter: PropTypes.func.isRequired,\n };\n\n toggleBannedFilter = () => {\n const {bannedFilter, setUsersBannedFilter} = this.props;\n setUsersBannedFilter(!bannedFilter);\n };\n\n render() {\n const {className, nameFilter, groupFilter, bannedFilter} = this.props;\n\n return (\n <Toolbar\n className={block(null, className)}\n itemsToWrap={[\n {\n name: 'name',\n node: (\n <Filter\n className={block('username-filter')}\n hasClear\n size=\"m\"\n type=\"text\"\n value={nameFilter}\n placeholder=\"User name filter...\"\n onChange={this.props.setUsersNameFilter}\n />\n ),\n shrinkable: true,\n growable: true,\n wrapperClassName: block('item'),\n },\n {\n name: 'group',\n node: (\n <GroupsLoader>\n <GroupSuggest\n className={block('group-suggest')}\n value={groupFilter ? [groupFilter] : undefined}\n placeholder=\"Group name filter...\"\n onChange={(vals) => this.props.setUsersGroupFilter(vals[0])}\n />\n </GroupsLoader>\n ),\n shrinkable: true,\n growable: true,\n wrapperClassName: block('item'),\n },\n {\n name: 'banned',\n node: (\n <Checkbox\n size=\"l\"\n checked={bannedFilter}\n content=\"Banned\"\n onChange={this.toggleBannedFilter}\n />\n ),\n },\n ]}\n >\n <ShowCreateUserModalButton />\n </Toolbar>\n );\n }\n}\n\nconst mapStateToProps = (state) => {\n return {\n bannedFilter: getUsersBannedFilter(state),\n nameFilter: getUsersNameFilter(state),\n groupFilter: getUsersGroupFilter(state),\n };\n};\n\nconst mapDispatchToProps = {\n setUsersBannedFilter,\n setUsersNameFilter,\n setUsersGroupFilter,\n};\n\nexport default connect(mapStateToProps, mapDispatchToProps)(UsersPageFilters);\n","// @ts-expect-error\nimport yt from '@ytsaurus/javascript-wrapper/lib/yt';\nimport {deleteUserModalSlice} from '../reducers/users/delete-user';\nimport {Dispatch} from 'redux';\n\nexport const deleteUser = ({username}: {username: string}): Promise<void> => {\n return yt.v3.remove({\n parameters: {\n path: `//sys/users/${username}`,\n },\n });\n};\n\nexport const createUser = ({username}: {username: string}): Promise<void> => {\n return yt.v3.create({\n parameters: {\n type: 'user',\n attributes: {\n name: username,\n },\n },\n });\n};\n\nexport function showUserDeleteModal(usernameToDelete: string) {\n return (dispatch: Dispatch) => {\n dispatch(deleteUserModalSlice.actions.setModalState({usernameToDelete}));\n };\n}\n\nexport function closeUserDeleteModal() {\n return (dispatch: Dispatch) => {\n dispatch(deleteUserModalSlice.actions.setModalState({usernameToDelete: ''}));\n };\n}\n","import {FormApi, YTDFDialog, makeErrorFields} from '../../../components/Dialog';\nimport React from 'react';\nimport cn from 'bem-cn-lite';\nimport PropTypes from 'prop-types';\nimport {connect} from 'react-redux';\n\nimport filter_ from 'lodash/filter';\nimport isEqual_ from 'lodash/isEqual';\nimport map_ from 'lodash/map';\nimport reduce_ from 'lodash/reduce';\n\nimport {closeUserEditorModal, fetchUsers, saveUserData} from '../../../store/actions/users';\nimport {\n getGlobalGroupAttributesMap,\n getUserManagementEnabled,\n} from '../../../store/selectors/global';\nimport {getUsersPageEditableUser} from '../../../store/selectors/users';\nimport {flags} from '../../../utils';\n\nimport './UsersPageEditor.scss';\nimport {GroupsLoader} from '../../../hooks/global';\nimport {RootState} from '../../../store/reducers';\nimport {FIX_MY_TYPE, YTError} from '../../../types';\nimport {isIdmAclAvailable} from '../../../config';\nimport {createUser} from '../../../store/actions/users-typed';\nimport {disableUsersCache} from '../../../utils/users-groups';\n\nconst block = cn('users-page-editor');\n\ninterface Props {\n className?: string;\n showModal?: boolean;\n username: string;\n ban_message?: string;\n banned?: string | boolean;\n member_of?: Array<string>;\n comment?: string;\n idm?: boolean;\n read_request_rate_limit?: number;\n request_queue_size_limit?: number;\n write_request_rate_limit?: number;\n groupAttributesMap?: GroupAttributes;\n isUserManagementEnabled?: boolean;\n\n closeUserEditorModal: () => void;\n fetchUsers: () => void;\n saveUserData: (payload: {\n username: string;\n password: string;\n newName: string;\n attributes: Partial<\n Pick<\n Props,\n Exclude<\n Level2Keys,\n 'idm' | 'name' | 'groups' | 'newGroups' | 'password' | 'passwordConfirm'\n >\n >\n >;\n groupsToAdd: Array<string>;\n groupsToRemove: Array<string>;\n }) => Promise<void>;\n}\n\ninterface State {\n error?: YTError;\n}\n\ntype GroupAttributes = Record<string, {upravlyator_managed: boolean}>;\n\ninterface FormValues {\n general: {\n idm: string;\n name: string;\n read_request_rate_limit: {value: number};\n request_queue_size_limit: {value: number};\n write_request_rate_limit: {value: number};\n };\n groups: {\n newGroups: Array<string>;\n groups: ReturnType<typeof UsersPageEditor.prepareCurrent>;\n comment: string;\n };\n ban: {\n banned?: string | boolean;\n ban_message?: string;\n };\n password: {\n password: string;\n passwordConfirm: string;\n };\n}\n\ntype Level2Keys =\n | keyof FormValues['general']\n | keyof FormValues['groups']\n | keyof FormValues['ban']\n | keyof FormValues['password'];\n\nclass UsersPageEditor extends React.Component<Props, State> {\n static propTypes = {\n className: PropTypes.string,\n showModal: PropTypes.bool,\n username: PropTypes.string.isRequired,\n ban_message: PropTypes.string,\n banned: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n member_of: PropTypes.arrayOf(PropTypes.string),\n read_request_rate_limit: PropTypes.number,\n request_queue_size_limit: PropTypes.number,\n write_request_rate_limit: PropTypes.number,\n groupAttributesMap: PropTypes.object,\n idm: PropTypes.bool,\n comment: PropTypes.string,\n\n closeUserEditorModal: PropTypes.func,\n saveUserData: PropTypes.func,\n };\n\n static prepareGroups(groups: Array<string> = [], groupAttributes: GroupAttributes = {}) {\n return groups.map((title) => {\n const {[title]: group} = groupAttributes;\n return {\n title,\n // eslint-disable-next-line camelcase\n frozen: !flags.get(group?.upravlyator_managed),\n };\n });\n }\n\n static prepareCurrent(groups: Array<string> = [], groupAttributes: GroupAttributes = {}) {\n const current: {\n title: string;\n data: ReturnType<typeof UsersPageEditor.prepareGroups>;\n } = {\n title: 'Current',\n data: UsersPageEditor.prepareGroups(groups, groupAttributes),\n };\n return [current].filter(({data}) => data.length);\n }\n\n state: State = {};\n\n // eslint-disable-next-line react/sort-comp\n onAdd = async (form: FormApi<FormValues>) => {\n const {\n values: {general: generalTab, groups: groupsTab, ban: banTab, password: passwordTab},\n } = form.getState();\n const fields = {\n idm: generalTab.idm,\n read_request_rate_limit: generalTab.read_request_rate_limit.value,\n request_queue_size_limit: generalTab.request_queue_size_limit.value,\n write_request_rate_limit: generalTab.write_request_rate_limit.value,\n password: passwordTab.password,\n ...groupsTab,\n ...banTab,\n };\n\n const {idm: _idm, groups, newGroups, password: newPassword, ...rest} = fields;\n const [current] = groups;\n const groupsToRemove = map_(filter_(current?.data, 'removed'), 'title');\n\n const changedFields = reduce_(\n rest,\n (acc, value, fieldName) => {\n if (!isEqual_(value, this.props[fieldName as keyof Props])) {\n (acc as FIX_MY_TYPE)[fieldName] = value;\n }\n return acc;\n },\n {} as Partial<typeof fields>,\n );\n if (!changedFields['ban_message'] && !this.props['ban_message']) {\n // This is required because textarea returns empty string\n // even if it receives 'undefined' as input\n delete changedFields['ban_message'];\n }\n\n let username;\n let newName;\n\n if (this.isNewUser()) {\n username = generalTab.name;\n newName = username;\n\n try {\n await createUser({username});\n } catch (error: any) {\n this.setState({error});\n return Promise.reject(error);\n }\n } else {\n username = this.props.username;\n newName = generalTab.name;\n }\n\n return this.props\n .saveUserData({\n username,\n newName,\n attributes: changedFields,\n groupsToAdd: newGroups,\n groupsToRemove: groupsToRemove,\n password: newPassword,\n })\n .then(() => {\n // we don't need to wait for the end of the action\n disableUsersCache();\n this.props.fetchUsers();\n })\n .catch((error) => {\n this.setState({error});\n return Promise.reject(error);\n });\n };\n\n onClose = () => {\n this.props.closeUserEditorModal();\n };\n\n isNewUser() {\n return !this.props.username;\n }\n\n render() {\n const {\n className,\n showModal,\n username,\n idm,\n banned,\n ban_message: banMessage,\n member_of: groups,\n read_request_rate_limit: rrrl,\n request_queue_size_limit: rqsl,\n write_request_rate_limit: wrrl,\n groupAttributesMap,\n isUserManagementEnabled,\n } = this.props;\n\n const errors = makeErrorFields([this.state.error]);\n\n return (\n <React.Fragment>\n <GroupsLoader />\n <YTDFDialog<FormValues>\n className={block(null, className)}\n headerProps={{\n title: this.isNewUser() ? 'Create user' : `User ${username}`,\n }}\n size={'l'}\n initialValues={{\n general: {\n idm: idm === undefined ? '' : String(idm),\n name: username,\n read_request_rate_limit: {value: rrrl || 1},\n request_queue_size_limit: {value: rqsl || 1},\n write_request_rate_limit: {value: wrrl || 1},\n },\n groups: {\n newGroups: [],\n groups: UsersPageEditor.prepareCurrent(groups, groupAttributesMap),\n comment: '',\n },\n ban: {\n banned: banned || false,\n ban_message: banMessage,\n },\n password: {\n password: '',\n passwordConfirm: '',\n },\n }}\n onAdd={this.onAdd}\n visible={Boolean(showModal)}\n onClose={this.onClose}\n fields={[\n {\n type: 'tab-vertical',\n name: 'general',\n title: 'General',\n fields: [\n ...(!isIdmAclAvailable()\n ? []\n : [\n {\n type: 'plain' as const,\n name: 'idm',\n caption: 'IDM',\n },\n ]),\n ...(isUserManagementEnabled\n ? [\n {\n name: 'name',\n type: 'text' as const,\n required: true,\n caption: 'Name',\n },\n ]\n : []),\n {\n type: 'number',\n name: 'request_queue_size_limit',\n caption: 'Request queue size limit',\n extras: {\n min: 1,\n hidePrettyValue: true,\n },\n },\n {\n type: 'number',\n name: 'read_request_rate_limit',\n caption: 'Read request rate limit',\n extras: {\n min: 1,\n hidePrettyValue: true,\n },\n },\n {\n type: 'number',\n name: 'write_request_rate_limit',\n caption: 'Write request rate limit',\n extras: {\n min: 1,\n hidePrettyValue: true,\n },\n },\n ...errors,\n ],\n },\n ...(!isIdmAclAvailable()\n ? []\n : [\n {\n type: 'tab-vertical' as const,\n name: 'groups',\n title: 'Groups',\n fields: [\n {\n type: 'yt-group' as const,\n name: 'newGroups',\n caption: 'Groups',\n extras: {\n multiple: true,\n showTags: true,\n disabled: !isIdmAclAvailable(),\n maxVisibleValues: 3,\n placeholder: 'Enter group name',\n },\n },\n {\n name: 'groups',\n type: 'multi-editable-lists' as const,\n caption: '',\n extras: {\n titleClassName: block('list-title'),\n },\n },\n {\n name: 'comment',\n caption: 'Comment for IDM',\n type: 'textarea' as const,\n extras: {\n disabled: !isIdmAclAvailable(),\n },\n },\n ...errors,\n ],\n },\n ]),\n {\n type: 'tab-vertical',\n name: 'ban',\n title: 'Ban',\n fields: [\n {\n type: 'tumbler',\n name: 'banned',\n caption: 'Ban user',\n },\n {\n type: 'textarea',\n name: 'ban_message',\n caption: 'Ban message',\n },\n ...errors,\n ],\n },\n ...(isUserManagementEnabled\n ? [\n {\n type: 'tab-vertical' as const,\n name: 'password',\n title: 'Password',\n fields: [\n {\n name: 'password',\n type: 'text' as const,\n caption: 'New password',\n extras: () => ({type: 'password' as const}),\n },\n {\n name: 'passwordConfirm',\n type: 'text' as const,\n caption: 'Confirm password',\n extras: () => ({type: 'password' as const}),\n },\n ...errors,\n ],\n },\n ]\n : []),\n ]}\n validate={({password}) => {\n const passwordErrors: Partial<\n Record<keyof typeof password, string | undefined>\n > = {};\n\n if (password.password !== password.passwordConfirm) {\n passwordErrors.password = 'New and confirm password must be equal';\n }\n\n return {password: passwordErrors};\n }}\n />\n </React.Fragment>\n );\n }\n}\n\nconst mapStateToProps = (state: RootState) => {\n const {showModal, username, data: attrs} = getUsersPageEditableUser(state);\n const data = attrs && username === attrs.name ? attrs : {};\n return {\n showModal,\n username,\n ...data,\n groupAttributesMap: getGlobalGroupAttributesMap(state),\n isUserManagementEnabled: getUserManagementEnabled(state),\n };\n};\n\nconst mapDispatchToProps = {\n closeUserEditorModal,\n saveUserData,\n fetchUsers,\n};\n\nexport default connect(mapStateToProps, mapDispatchToProps)(UsersPageEditor);\n","import React, {useCallback} from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\nimport {RootState} from '../../../store/reducers';\nimport {Text} from '@gravity-ui/uikit';\nimport {closeUserDeleteModal, deleteUser} from '../../../store/actions/users-typed';\nimport {fetchUsers} from '../../../store/actions/users';\nimport {YTDFDialog, makeErrorFields} from '../../../components/Dialog';\nimport {YTError} from '../../../types';\nimport {disableUsersCache} from '../../../utils/users-groups';\n\nexport const DeleteUserModal: React.FC = () => {\n const dispatch = useDispatch();\n const [error, setError] = React.useState<YTError | undefined>(undefined);\n const usernameToDelete = useSelector(\n (state: RootState) => state.users.deleteUser.usernameToDelete,\n );\n\n const onClose = useCallback(() => {\n dispatch(closeUserDeleteModal());\n }, [dispatch]);\n\n const onAdd = useCallback(async () => {\n try {\n setError(undefined);\n\n await deleteUser({username: usernameToDelete});\n\n onClose();\n\n disableUsersCache();\n // we don't need to wait for the end of the action\n dispatch(fetchUsers());\n } catch (error) {\n setError(error as YTError);\n }\n }, [dispatch, usernameToDelete, onClose]);\n\n return (\n <YTDFDialog\n visible={Boolean(usernameToDelete)}\n headerProps={{title: `Delete user ${usernameToDelete}`}}\n pristineSubmittable={true}\n onClose={onClose}\n onAdd={onAdd}\n fields={[\n {\n name: 'username',\n type: 'block',\n extras: {\n children: (\n <Text>\n Are you sure you want to delete "{usernameToDelete}"?\n </Text>\n ),\n },\n },\n ...makeErrorFields([error]),\n ]}\n />\n );\n};\n","import React, {useCallback} from 'react';\nimport UIFactory from '../../../UIFactory';\nimport ClickableAttributesButton from '../../../components/AttributesButton/ClickableAttributesButton';\nimport ChartLink from '../../../components/ChartLink/ChartLink';\nimport Link from '../../../components/Link/Link';\nimport Icon from '../../../components/Icon/Icon';\nimport Button from '../../../components/Button/Button';\nimport {showUserEditorModal} from '../../../store/actions/users';\nimport {showUserDeleteModal} from '../../../store/actions/users-typed';\nimport {getUserManagementEnabled} from '../../../store/selectors/global';\nimport block from 'bem-cn-lite';\nimport {useDispatch, useSelector} from 'react-redux';\n\nimport './UserActions.scss';\n\nconst b = block('yt-user-actions');\n\ntype UserActionsProps = {\n className?: string;\n cluster: string;\n username: string;\n};\n\nexport const UserActions: React.FC<UserActionsProps> = ({className, cluster, username}) => {\n const dispatch = useDispatch();\n\n const onEditClick = useCallback(() => {\n dispatch(showUserEditorModal(username));\n }, [username, dispatch]);\n\n const onDeleteClick = useCallback(() => {\n dispatch(showUserDeleteModal(username));\n }, [username, dispatch]);\n\n const isUserManagementEnabled = useSelector(getUserManagementEnabled);\n\n let deleteUserButton;\n\n if (isUserManagementEnabled) {\n deleteUserButton = (\n <Button view=\"flat-secondary\" size=\"m\" onClick={onDeleteClick}>\n <Icon awesome=\"trash-bin\" />\n </Button>\n );\n } else {\n deleteUserButton = null;\n }\n\n return (\n <div className={b(null, className)}>\n <ChartLink url={UIFactory.makeUrlForUserDashboard(cluster, username)} />\n <Link routed url={userOperationsLink(cluster, username)}>\n </>\n </Link>\n <ClickableAttributesButton title={username} path={`//sys/users/${username}`} />\n <Button view=\"flat-secondary\" size=\"m\" onClick={onEditClick}>\n <Icon awesome=\"pencil-alt\" />\n </Button>\n {deleteUserButton}\n </div>\n );\n};\n\nfunction userOperationsLink(cluster: string, user: string) {\n return `/${cluster}/operations?mode=list&user=${user}&state=all`;\n}\n","import React from 'react';\nimport cn from 'bem-cn-lite';\nimport PropTypes from 'prop-types';\nimport {connect} from 'react-redux';\nimport DataTable from '@gravity-ui/react-data-table';\n\nimport {fetchUsers, setUsersPageSorting} from '../../../store/actions/users';\nimport ColumnHeader from '../../../components/ColumnHeader/ColumnHeader';\nimport CommaSeparatedListWithRestCounter from '../../../components/CommaSeparateListWithRestCounter/CommaSeparateListWithRestCounter';\nimport DataTableYT from '../../../components/DataTableYT/DataTableYT';\nimport {Tooltip} from '../../../components/Tooltip/Tooltip';\nimport LoadDataHandler from '../../../components/LoadDataHandler/LoadDataHandler';\nimport {SubjectCard} from '../../../components/SubjectLink/SubjectLink';\nimport {STICKY_TOOLBAR_BOTTOM} from '../../../components/WithStickyToolbar/WithStickyToolbar';\nimport UsersPageEditor from '../../../pages/users/UsersPageEditor/UsersPageEditor';\nimport {DeleteUserModal} from '../../../pages/users/DeleteUserModal/DeleteUserModal';\nimport {getCluster} from '../../../store/selectors/global';\nimport {\n getUsersFilteredAndSorted,\n getUsersPageEditableUser,\n getUsersTableDataState,\n} from '../../../store/selectors/users';\nimport {isIdmAclAvailable} from '../../../config';\nimport {UserActions} from '../UserActions/UserActions';\n\nimport './UsersPageTable.scss';\n\nconst block = cn('users-page-table');\n\nconst TABLE_SETTINGS = {\n displayIndices: false,\n stickyHead: DataTable.MOVING,\n stickyTop: STICKY_TOOLBAR_BOTTOM,\n syncHeadOnResize: true,\n dynamicRender: true,\n};\n\nconst COLUMN_NAMES = {\n name: 'Name',\n banned: 'Banned',\n member_of: 'Groups',\n transitiveGroups: 'Transitive groups',\n request_queue_size_limit: 'Request queue',\n read_request_rate_limit: 'Read request rate',\n write_request_rate_limit: 'Write request rate',\n upravlyator_managed: 'IDM',\n\n // pseudo columns\n actions: '',\n};\n\nconst SHOR_COLUMN_NAMES = {\n banned: 'B',\n request_queue_size_limit: 'RQ',\n read_request_rate_limit: 'RRR',\n write_request_rate_limit: 'WRR',\n};\n\nclass UsersPageTable extends React.Component {\n static propTypes = {\n className: PropTypes.string,\n\n loading: PropTypes.bool,\n loaded: PropTypes.bool.isRequired,\n\n users: PropTypes.array.isRequired,\n cluster: PropTypes.string.isRequired,\n fetchUsers: PropTypes.func.isRequired,\n setUsersPageSorting: PropTypes.func.isRequired,\n\n sort: PropTypes.shape({\n column: PropTypes.string,\n order: PropTypes.string,\n }),\n\n showModal: PropTypes.bool,\n showUserEditorModal: PropTypes.func,\n };\n\n componentDidMount() {\n const {fetchUsers} = this.props;\n fetchUsers();\n }\n\n renderColumnHeader = (col, sortable) => {\n const {\n sort: {column, order},\n } = this.props;\n const isSorted = col === column;\n\n const title = COLUMN_NAMES[col];\n\n return (\n <ColumnHeader\n className={block('header-cell', {col, sortable}, 'data-table__head-cell')}\n column={col}\n title={title}\n shortTitle={SHOR_COLUMN_NAMES[col] || title}\n order={isSorted ? order : ''}\n onSort={this.onColumnSort}\n withUndefined\n />\n );\n };\n\n onColumnSort = (colName, nextOrder) => {\n const {setUsersPageSorting} = this.props;\n setUsersPageSorting({column: colName, order: nextOrder});\n };\n\n renderNameCell(col, {row} = {}) {\n const {name, upravlyator_managed: idm} = row;\n return (\n <div className={block('content', {col})}>\n <SubjectCard name={name} internal={!idm} />\n </div>\n );\n }\n\n renderBannedCell(col, {row} = {}) {\n const {banned, ban_message: banMessage} = row;\n return (\n <Tooltip content={banMessage}>\n <div className={block('content', {col})}>\n {banned && <span className={block(col)}>B</span>}\n </div>\n </Tooltip>\n );\n }\n\n renderIdmCell = (col, {row} = {}) => {\n const {upravlyator_managed: idm} = row;\n return (\n <div className={block('content', {col})}>\n <div className={block(col)}>{idm && idm.toString()}</div>\n </div>\n );\n };\n\n renderGroupsCell(col, {row} = {}) {\n const {[col]: value} = row;\n return (\n <div className={block('content', {col})}>\n <CommaSeparatedListWithRestCounter className={block('groups')} items={value} />\n </div>\n );\n }\n\n renderNumberCell = (col, {row} = {}) => {\n const {[col]: value} = row;\n return (\n <div className={block('content', {col})}>\n <span>{value}</span>\n </div>\n );\n };\n\n renderActionsCell = (col, cluster, {row} = {}) => {\n const {name: username} = row;\n return (\n <UserActions\n className={block('content', {col})}\n username={username}\n cluster={cluster}\n />\n );\n };\n\n renderTable() {\n const {cluster, users, loaded, loading} = this.props;\n\n const columnProps = (name, disableSorting = false) => {\n return {\n name,\n align: DataTable.LEFT,\n sortable: false,\n className: block('td', {col: name.toLowerCase()}),\n header: this.renderColumnHeader(name, !disableSorting),\n };\n };\n\n const DISABLED_SORTING = true;\n\n const columns = [\n {\n ...columnProps('name'),\n render: this.renderNameCell.bind(this, 'name'),\n },\n {\n ...columnProps('banned'),\n render: this.renderBannedCell.bind(this, 'banned'),\n align: DataTable.CENTER,\n },\n ...(!isIdmAclAvailable()\n ? []\n : [\n {\n ...columnProps('upravlyator_managed'),\n render: this.renderIdmCell.bind(this, 'upravlyator_managed'),\n },\n ]),\n {\n ...columnProps('member_of', DISABLED_SORTING),\n render: this.renderGroupsCell.bind(this, 'member_of'),\n },\n {\n ...columnProps('transitiveGroups', DISABLED_SORTING),\n render: this.renderGroupsCell.bind(this, 'transitiveGroups'),\n },\n {\n ...columnProps('request_queue_size_limit'),\n render: this.renderNumberCell.bind(this, 'request_queue_size_limit'),\n align: 'right',\n },\n {\n ...columnProps('read_request_rate_limit'),\n render: this.renderNumberCell.bind(this, 'read_request_rate_limit'),\n align: 'right',\n },\n {\n ...columnProps('write_request_rate_limit'),\n render: this.renderNumberCell.bind(this, 'write_request_rate_limit'),\n align: 'right',\n },\n {\n ...columnProps('actions'),\n header: '',\n render: this.renderActionsCell.bind(this, 'actions', cluster),\n },\n ];\n\n return (\n <DataTableYT\n loaded={loaded}\n loading={loading}\n className={block('table')}\n data={users}\n columns={columns}\n settings={TABLE_SETTINGS}\n theme={'yt-internal'}\n />\n );\n }\n\n render() {\n const {className, error, showModal} = this.props;\n return (\n <div className={block(null, className)}>\n <LoadDataHandler loaded={true} error={Boolean(error)} errorData={error || null}>\n {this.renderTable()}\n {showModal && <UsersPageEditor />}\n <DeleteUserModal />\n </LoadDataHandler>\n </div>\n );\n }\n}\n\nconst mapStateToProps = (state) => {\n const {loaded, loading, error, sort} = getUsersTableDataState(state);\n const {showModal} = getUsersPageEditableUser(state);\n return {\n loaded,\n loading,\n error,\n users: getUsersFilteredAndSorted(state),\n sort,\n cluster: getCluster(state),\n showModal,\n };\n};\n\nconst mapDispatchToProps = {\n fetchUsers,\n setUsersPageSorting,\n};\n\nexport default connect(mapStateToProps, mapDispatchToProps)(UsersPageTable);\n","import React from 'react';\nimport cn from 'bem-cn-lite';\nimport WithStickyToolbar from '../../components/WithStickyToolbar/WithStickyToolbar';\n\nimport UsersPageFilters from './UsersPageFilters/UsersPageFilters';\nimport UsersPageTable from './UsersPageTable/UsersPageTable';\n\nconst block = cn('users-page');\n\nexport default function UsersPage() {\n return (\n <div className={block(null, 'elements-main-section')}>\n <WithStickyToolbar\n className=\"elements-section\"\n toolbar={<UsersPageFilters />}\n content={<UsersPageTable />}\n />\n </div>\n );\n}\n","export async function sha256(str: string) {\n const buf = await crypto.subtle.digest('SHA-256', new TextEncoder().encode(str));\n\n return [...new Uint8Array(buf)].map((x) => ('00' + x.toString(16)).slice(-2)).join('');\n}\n"],"names":["ChartLink","props","className","url","title","theme","children","hideIcon","face","wrapContent","icon","_jsx","Icon","awesome","content","_jsxs","React","Link","target","useAllUserNamesFiltered","dispatch","useDispatch","loadUsersIfNotLoaded","namesSorted","useSelector","getAllUserNamesSorted","getFiltered","text","from","sortedIndexBy_","item","substr","length","to","sortedLastIndexBy_","slice","allNames","useGroupsLoaded","loadGroupsIfNotLoaded","GroupsLoader","_ref","block","cn","GroupSuggest","items","width","multiple","onChange","placeholder","showTags","value","rest","_objectWithoutProperties","_excluded","ycItems","map_","empty","listValue","concat_","onListChange","newList","res","filter_","removed","map","_ref2","Select","_objectSpread","onUpdate","filterable","disablePortal","EditableList","isEmpty","getDefaultValue","connect","state","ownProps","idmOnly","getAllIdmGroupNamesSorted","getAllGroupNamesSorted","USER_ATTRIBUTES","prepareUserData","_item$$attributes","$attributes","groups","member_of","allGroups","member_of_closure","idm","upravlyator_managed","sort","flags","get","difference_","fetchUsers","type","USERS_TABLE","REQUEST","listAllUsers","YTApiId","usersData","attributes","then","data","users","forEach_","push","SUCCESS","error","FAILURE","showUserEditorModal","username","USERS_EDIT_USER","path","concat","ytApiV3Id","usersEditData","USERS_EDIT_USER_DATA_FIELDS","showModal","removeUserFromGroups","cluster","Promise","all","groupname","UIFactory","getAclApi","removeUserFromGroup","addUserToGroups","comment","addUserToGroup","changeUserPassword","password","sha256","new_password_sha256","ytApiV4Id","setUserPassword","parameters","user","resolve","getUsersNameFilter","table","nameFilter","getUsersGroupFilter","groupFilter","getUsersBannedFilter","bannedFilter","getUsersFiltered","createSelector","predicates","name","indexOf","memberOf","transitiveGroups","sortedIndexOf_","_ref3","banned","filter","Boolean","concatByAnd","apply","_toConsumableArray","getUsersFilteredAndSorted","sortState","sortArrayBySortState","getUsersPageEditableUser","editUser","ShowCreateUserModalButton","onClick","useCallback","getUserManagementEnabled","Button","view","UsersPageFilters","_React$Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","args","Array","_key","call","toggleBannedFilter","_this$props","setUsersBannedFilter","_createClass","key","_this2","_this$props2","this","Toolbar","itemsToWrap","node","Filter","hasClear","size","setUsersNameFilter","shrinkable","growable","wrapperClassName","undefined","vals","setUsersGroupFilter","Checkbox","checked","mapDispatchToProps","USERS_TABLE_DATA_FIELDS","createUser","yt","create","UsersPageEditor","onAdd","_asyncToGenerator","_regeneratorRuntime","_callee","form","_form$getState","_form$getState$values","generalTab","groupsTab","banTab","passwordTab","fields","newGroups","newPassword","_groups","current","groupsToRemove","changedFields","newName","_context","prev","next","getState","values","general","ban","read_request_rate_limit","request_queue_size_limit","write_request_rate_limit","_slicedToArray","reduce_","acc","fieldName","isEqual_","isNewUser","t0","setState","abrupt","reject","saveUserData","groupsToAdd","disableUsersCache","stop","_x","onClose","closeUserEditorModal","banMessage","ban_message","rrrl","rqsl","wrrl","groupAttributesMap","isUserManagementEnabled","errors","makeErrorFields","YTDFDialog","headerProps","initialValues","String","prepareCurrent","passwordConfirm","visible","isIdmAclAvailable","caption","required","extras","min","hidePrettyValue","disabled","maxVisibleValues","titleClassName","validate","passwordErrors","groupAttributes","group","frozen","prepareGroups","requests","restAttrs","command","input","getCluster","executeBatch","usersSaveData","_ref4","_ref5","batchRes","batchError","getBatchError","_error$response","response","_getUsersPageEditable","attrs","getGlobalGroupAttributesMap","DeleteUserModal","_React$useState","_React$useState2","setError","usernameToDelete","deleteUser","deleteUserModalSlice","actions","setModalState","remove","pristineSubmittable","Text","b","UserActions","deleteUserButton","onEditClick","onDeleteClick","makeUrlForUserDashboard","routed","userOperationsLink","ClickableAttributesButton","TABLE_SETTINGS","displayIndices","stickyHead","DataTable","MOVING","stickyTop","STICKY_TOOLBAR_BOTTOM","syncHeadOnResize","dynamicRender","COLUMN_NAMES","SHOR_COLUMN_NAMES","UsersPageTable","renderColumnHeader","col","sortable","_this$props$sort","column","order","isSorted","ColumnHeader","shortTitle","onSort","onColumnSort","withUndefined","colName","nextOrder","setUsersPageSorting","renderIdmCell","row","toString","renderNumberCell","renderActionsCell","SubjectCard","internal","Tooltip","CommaSeparatedListWithRestCounter","loaded","loading","columnProps","disableSorting","align","LEFT","toLowerCase","header","DISABLED_SORTING","columns","render","renderNameCell","bind","renderBannedCell","CENTER","renderGroupsCell","DataTableYT","settings","LoadDataHandler","errorData","renderTable","_getUsersTableDataSta","getUsersTableDataState","UsersPage","WithStickyToolbar","toolbar","_sha","str","buf","crypto","subtle","digest","TextEncoder","encode","sent","Uint8Array","x","join"],"sourceRoot":""}
|
@@ -1,13 +1,13 @@
|
|
1
1
|
{
|
2
2
|
"main.css": "css/main.fb5dcfa3.css",
|
3
|
-
"main.js": "js/main.
|
4
|
-
"runtime.js": "js/runtime.
|
3
|
+
"main.js": "js/main.38e39f6e.js",
|
4
|
+
"runtime.js": "js/runtime.44a1d4a3.js",
|
5
5
|
"odin.css": "css/odin.dc2c0c94.chunk.css",
|
6
6
|
"odin.js": "js/odin.304d251a.chunk.js",
|
7
7
|
"cluster-menu.css": "css/cluster-menu.d8cafef3.chunk.css",
|
8
8
|
"cluster-menu.js": "js/cluster-menu.bf57160d.chunk.js",
|
9
9
|
"cluster-page-wrapper.css": "css/cluster-page-wrapper.4610796b.chunk.css",
|
10
|
-
"cluster-page-wrapper.js": "js/cluster-page-wrapper.
|
10
|
+
"cluster-page-wrapper.js": "js/cluster-page-wrapper.573e8598.chunk.js",
|
11
11
|
"manage-tokens.css": "css/manage-tokens.67f9bab0.chunk.css",
|
12
12
|
"manage-tokens.js": "js/manage-tokens.bcb71310.chunk.js",
|
13
13
|
"app-navigation.css": "css/app-navigation.6955071c.chunk.css",
|
@@ -186,10 +186,10 @@
|
|
186
186
|
"tablet.js": "js/tablet.06f99aca.chunk.js",
|
187
187
|
"bundles.css": "css/bundles.d15905da.chunk.css",
|
188
188
|
"bundles.js": "js/bundles.dfaa1ab1.chunk.js",
|
189
|
-
"groups.css": "css/groups.
|
190
|
-
"groups.js": "js/groups.
|
189
|
+
"groups.css": "css/groups.ed9ded1f.chunk.css",
|
190
|
+
"groups.js": "js/groups.38f0df6f.chunk.js",
|
191
191
|
"users.css": "css/users.c7f945d8.chunk.css",
|
192
|
-
"users.js": "js/users.
|
192
|
+
"users.js": "js/users.58b85268.chunk.js",
|
193
193
|
"scheduling.css": "css/scheduling.40c36db6.chunk.css",
|
194
194
|
"scheduling.js": "js/scheduling.694a58cb.chunk.js",
|
195
195
|
"query-tracker.css": "css/query-tracker.94d91868.chunk.css",
|
@@ -402,14 +402,14 @@
|
|
402
402
|
"assets/images/ui.jpg": "assets/images/ui.bab31938.jpg",
|
403
403
|
"assets/images/cluster-2x.svg": "assets/images/cluster-2x.e53788d6.svg",
|
404
404
|
"main.fb5dcfa3.css.map": "css/main.fb5dcfa3.css.map",
|
405
|
-
"main.
|
406
|
-
"runtime.
|
405
|
+
"main.38e39f6e.js.map": "js/main.38e39f6e.js.map",
|
406
|
+
"runtime.44a1d4a3.js.map": "js/runtime.44a1d4a3.js.map",
|
407
407
|
"odin.dc2c0c94.chunk.css.map": "css/odin.dc2c0c94.chunk.css.map",
|
408
408
|
"odin.304d251a.chunk.js.map": "js/odin.304d251a.chunk.js.map",
|
409
409
|
"cluster-menu.d8cafef3.chunk.css.map": "css/cluster-menu.d8cafef3.chunk.css.map",
|
410
410
|
"cluster-menu.bf57160d.chunk.js.map": "js/cluster-menu.bf57160d.chunk.js.map",
|
411
411
|
"cluster-page-wrapper.4610796b.chunk.css.map": "css/cluster-page-wrapper.4610796b.chunk.css.map",
|
412
|
-
"cluster-page-wrapper.
|
412
|
+
"cluster-page-wrapper.573e8598.chunk.js.map": "js/cluster-page-wrapper.573e8598.chunk.js.map",
|
413
413
|
"manage-tokens.67f9bab0.chunk.css.map": "css/manage-tokens.67f9bab0.chunk.css.map",
|
414
414
|
"manage-tokens.bcb71310.chunk.js.map": "js/manage-tokens.bcb71310.chunk.js.map",
|
415
415
|
"app-navigation.6955071c.chunk.css.map": "css/app-navigation.6955071c.chunk.css.map",
|
@@ -588,10 +588,10 @@
|
|
588
588
|
"tablet.06f99aca.chunk.js.map": "js/tablet.06f99aca.chunk.js.map",
|
589
589
|
"bundles.d15905da.chunk.css.map": "css/bundles.d15905da.chunk.css.map",
|
590
590
|
"bundles.dfaa1ab1.chunk.js.map": "js/bundles.dfaa1ab1.chunk.js.map",
|
591
|
-
"groups.
|
592
|
-
"groups.
|
591
|
+
"groups.ed9ded1f.chunk.css.map": "css/groups.ed9ded1f.chunk.css.map",
|
592
|
+
"groups.38f0df6f.chunk.js.map": "js/groups.38f0df6f.chunk.js.map",
|
593
593
|
"users.c7f945d8.chunk.css.map": "css/users.c7f945d8.chunk.css.map",
|
594
|
-
"users.
|
594
|
+
"users.58b85268.chunk.js.map": "js/users.58b85268.chunk.js.map",
|
595
595
|
"scheduling.40c36db6.chunk.css.map": "css/scheduling.40c36db6.chunk.css.map",
|
596
596
|
"scheduling.694a58cb.chunk.js.map": "js/scheduling.694a58cb.chunk.js.map",
|
597
597
|
"query-tracker.94d91868.chunk.css.map": "css/query-tracker.94d91868.chunk.css.map",
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@ytsaurus/ui",
|
3
|
-
"version": "1.
|
3
|
+
"version": "1.70.0",
|
4
4
|
"repository": {
|
5
5
|
"type": "github",
|
6
6
|
"url": "https://github.com/ytsaurus/ytsaurus-ui/tree/main/packages/ui"
|
@@ -188,7 +188,7 @@
|
|
188
188
|
"engines": {
|
189
189
|
"node": ">=18"
|
190
190
|
},
|
191
|
-
"gitHead": "
|
191
|
+
"gitHead": "c48d3fcae7bea9d90e1e5e5040aa2ba94c3deeb2",
|
192
192
|
"overrides": {
|
193
193
|
"axios": "$axios",
|
194
194
|
"react-split-pane": {
|
@@ -1,2 +0,0 @@
|
|
1
|
-
.groups-page-filters__item{flex-grow:1;flex-shrink:1;max-width:380px;min-width:28ex}.groups-page-filters__item .elements-filter{flex-grow:1}.groups-page-filters__item .textinput__box{border-radius:4px}.groups-page-filters__item ::-moz-placeholder{color:var(--g-color-text-hint)!important}.groups-page-filters__item ::placeholder{color:var(--g-color-text-hint)!important}.groups-page-filters__user-suggest-select{border-width:1px!important}.group-editor-dialog .df-tab-field-vertical{min-height:400px}.group-editor-dialog__list-title{color:var(--secondary-text)}.groups-page-table{max-width:94vw}.groups-page-table .data-table__table .data-table__td,.groups-page-table .data-table__table .data-table__th{border:0}.groups-page-table .data-table__table .data-table__head-row,.groups-page-table .data-table__table .data-table__row{border-bottom:1px solid var(--light-divider)}.groups-page-table__header-cell_sortable{cursor:pointer}.groups-page-table__td_col_members,.groups-page-table__td_col_name{max-width:250px!important;min-width:250px!important}.groups-page-table__content{align-items:center;display:flex;height:60px;overflow:hidden;padding:5px 0;text-overflow:ellipsis}.groups-page-table__content_col_name{margin-left:-1ex}.groups-page-table__content_col_members,.groups-page-table__content_col_name{min-width:250px!important}.groups-page-table__content_col_size{justify-content:flex-end;width:65px}.groups-page-table__content_col_actions{justify-content:space-between;width:65px}.groups-page-table__content_level_1{padding-left:30px}.groups-page-table__content_level_2{padding-left:60px}.groups-page-table__content_level_3{padding-left:90px}.groups-page-table__content_level_4{padding-left:120px}.groups-page-table__content_level_5{padding-left:150px}.groups-page-table__content_level_6{padding-left:180px}.groups-page-table__content_level_7{padding-left:210px}.groups-page-table__content_level_8{padding-left:240px}.groups-page-table__content_level_9{padding-left:270px}.groups-page-table__content_level_10{padding-left:300px}.groups-page-table__groups{height:100%;overflow:hidden;text-overflow:ellipsis;white-space:pre-wrap;width:100%}.groups-page-table__group-name{flex-shrink:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
|
2
|
-
/*# sourceMappingURL=groups.7e103f52.chunk.css.map*/
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"css/groups.7e103f52.chunk.css","mappings":"AACI,2BACI,YACA,cAEA,gBADA,cACA,CAEA,4CACI,YAGJ,2CACI,kBAGJ,8CACI,yCADJ,yCACI,yCAKR,0CACI,2BCrBJ,4CACI,iBAGJ,iCACI,4BCDR,mBACI,eAGI,4GACI,SAGJ,mHACI,6CAKJ,yCACI,eAIR,mEAGI,0BADA,yBACA,CAGJ,4BAII,mBADA,aADA,YAGA,gBAJA,cAKA,uBAEA,qCACI,iBAGJ,6EAEI,0BAGJ,qCAEI,yBADA,UACA,CAGJ,wCAEI,8BADA,UACA,CAGJ,oCACI,iBAvDG,CA0DP,oCACI,kBAGJ,oCACI,kBAGJ,oCACI,mBAGJ,oCACI,mBAGJ,oCACI,mBAGJ,oCACI,mBAGJ,oCACI,mBAGJ,oCACI,mBAGJ,qCACI,mBAIR,2BAEI,YAEA,gBACA,uBACA,qBALA,UAKA,CAGJ,+BACI,cAEA,gBACA,uBAFA,kBAEA","sources":["webpack://@ytsaurus/ui/./src/ui/pages/groups/GroupsPageFilters/GroupsPageFilters.scss","webpack://@ytsaurus/ui/./src/ui/pages/groups/GroupEditorDialog/GroupEditorDialog.scss","webpack://@ytsaurus/ui/./src/ui/pages/groups/GroupsPageTable/GroupsPageTable.scss"],"sourcesContent":[".groups-page-filters {\n &__item {\n flex-grow: 1;\n flex-shrink: 1;\n min-width: 28ex;\n max-width: 380px;\n\n .elements-filter {\n flex-grow: 1;\n }\n\n .textinput__box {\n border-radius: 4px;\n }\n\n ::placeholder {\n color: var(--g-color-text-hint) !important;\n }\n }\n\n\n &__user-suggest-select {\n border-width: 1px !important;\n }\n}\n",".group-editor-dialog {\n .df-tab-field-vertical {\n min-height: 400px;\n }\n\n &__list-title {\n color: var(--secondary-text);\n }\n}\n","$usersCellWidth: 250px;\n$smallCellWidth: 65px;\n\n$levelPadding: 30px;\n\n.groups-page-table {\n max-width: 94vw;\n\n .data-table__table {\n .data-table__th, .data-table__td {\n border: 0;\n }\n\n .data-table__head-row, .data-table__row {\n border-bottom: 1px solid var(--light-divider);\n }\n }\n\n &__header-cell {\n &_sortable {\n cursor: pointer;\n }\n }\n\n &__td_col_name,\n &__td_col_members {\n min-width: $usersCellWidth !important;\n max-width: $usersCellWidth !important;\n }\n\n &__content {\n padding: 5px 0;\n height: 60px;\n display: flex;\n align-items: center;\n overflow: hidden;\n text-overflow: ellipsis;\n\n &_col_name {\n margin-left: -1ex;\n }\n\n &_col_name,\n &_col_members {\n min-width: $usersCellWidth !important;\n }\n\n &_col_size {\n width: $smallCellWidth;\n justify-content: flex-end;\n }\n\n &_col_actions {\n width: $smallCellWidth;\n justify-content: space-between;\n }\n\n &_level_1 {\n padding-left: $levelPadding;\n }\n\n &_level_2 {\n padding-left: $levelPadding * 2;\n }\n\n &_level_3 {\n padding-left: $levelPadding * 3;\n }\n\n &_level_4 {\n padding-left: $levelPadding * 4;\n }\n\n &_level_5 {\n padding-left: $levelPadding * 5;\n }\n\n &_level_6 {\n padding-left: $levelPadding * 6;\n }\n\n &_level_7 {\n padding-left: $levelPadding * 7;\n }\n\n &_level_8 {\n padding-left: $levelPadding * 8;\n }\n\n &_level_9 {\n padding-left: $levelPadding * 9;\n }\n\n &_level_10 {\n padding-left: $levelPadding * 10;\n }\n }\n\n &__groups {\n width: 100%;\n height: 100%;\n\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: pre-wrap;\n }\n\n &__group-name {\n flex-shrink: 1;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n}\n"],"names":[],"sourceRoot":""}
|
@@ -1,2 +0,0 @@
|
|
1
|
-
"use strict";(self.webpackChunk_ytsaurus_ui=self.webpackChunk_ytsaurus_ui||[]).push([[8367],{477:(e,t,n)=>{n.d(t,{A:()=>i}),n(77810);var r=n(76872),a=n(64922),s=(0,r.A)("cluster-icon");function i(e){var t=e.icon,n=e.className,r=e.forwardRef,i=e.name,o=i?i.substring(0,2).toUpperCase():"YT";return(0,a.jsx)("div",{className:s("wrapper",n),ref:r,children:t?(0,a.jsx)("img",{src:t}):(0,a.jsx)("span",{className:s("placeholder"),children:o})})}},46493:(e,t,n)=>{n.d(t,{A:()=>j});var r=n(92547),a=n(29121),s=n(12937),i=n(10785),o=n(26718),c=n(77810),u=n(76872),l="undefined"!=typeof window?window:null,p=null===l,d=p?void 0:l.document,f="addEventListener",h="removeEventListener",m="getBoundingClientRect",A="_a",v="_b",T="_c",N="horizontal",E=function(){return!1},S=p?"calc":["","-webkit-","-moz-","-o-"].filter((function(e){var t=d.createElement("div");return t.style.cssText="width:"+e+"calc(9px)",!!t.style.length})).shift()+"calc",g=function(e){return"string"==typeof e||e instanceof String},I=function(e){if(g(e)){var t=d.querySelector(e);if(!t)throw new Error("Selector "+e+" did not match a DOM element");return t}return e},x=function(e,t,n){var r=e[t];return void 0!==r?r:n},C=function(e,t,n,r){if(t){if("end"===r)return 0;if("center"===r)return e/2}else if(n){if("start"===r)return 0;if("center"===r)return e/2}return e},y=function(e,t){var n=d.createElement("div");return n.className="gutter gutter-"+t,n},O=function(e,t,n){var r={};return g(t)?r[e]=t:r[e]=S+"("+t+"% - "+n+"px)",r},_=function(e,t){var n;return(n={})[e]=t+"px",n};const w=function(e,t){if(void 0===t&&(t={}),p)return{};var n,r,a,s,i,o,c=e;Array.from&&(c=Array.from(c));var u=I(c[0]).parentNode,S=getComputedStyle?getComputedStyle(u):null,g=S?S.flexDirection:null,w=x(t,"sizes")||c.map((function(){return 100/c.length})),b=x(t,"minSize",100),R=Array.isArray(b)?b:c.map((function(){return b})),k=x(t,"maxSize",1/0),j=Array.isArray(k)?k:c.map((function(){return k})),P=x(t,"expandToMin",!1),z=x(t,"gutterSize",10),L=x(t,"gutterAlign","center"),B=x(t,"snapOffset",30),D=Array.isArray(B)?B:c.map((function(){return B})),U=x(t,"dragInterval",1),V=x(t,"direction",N),G=x(t,"cursor",V===N?"col-resize":"row-resize"),M=x(t,"gutter",y),W=x(t,"elementStyle",O),Y=x(t,"gutterStyle",_);function q(e,t,r,a){var s=W(n,t,r,a);Object.keys(s).forEach((function(t){e.style[t]=s[t]}))}function F(){return o.map((function(e){return e.size}))}function H(e){return"touches"in e?e.touches[0][r]:e[r]}function Z(e){var t=o[this.a],n=o[this.b],r=t.size+n.size;t.size=e/this.size*r,n.size=r-e/this.size*r,q(t.element,t.size,this[v],t.i),q(n.element,n.size,this[T],n.i)}function K(e){var n,r=o[this.a],a=o[this.b];this.dragging&&(n=H(e)-this.start+(this[v]-this.dragOffset),U>1&&(n=Math.round(n/U)*U),n<=r.minSize+r.snapOffset+this[v]?n=r.minSize+this[v]:n>=this.size-(a.minSize+a.snapOffset+this[T])&&(n=this.size-(a.minSize+this[T])),n>=r.maxSize-r.snapOffset+this[v]?n=r.maxSize+this[v]:n<=this.size-(a.maxSize-a.snapOffset+this[T])&&(n=this.size-(a.maxSize+this[T])),Z.call(this,n),x(t,"onDrag",E)(F()))}function Q(){var e=o[this.a].element,t=o[this.b].element,r=e[m](),i=t[m]();this.size=r[n]+i[n]+this[v]+this[T],this.start=r[a],this.end=r[s]}function X(e){var t=function(e){if(!getComputedStyle)return null;var t=getComputedStyle(e);if(!t)return null;var n=e[i];return 0===n?null:n-=V===N?parseFloat(t.paddingLeft)+parseFloat(t.paddingRight):parseFloat(t.paddingTop)+parseFloat(t.paddingBottom)}(u);if(null===t)return e;if(R.reduce((function(e,t){return e+t}),0)>t)return e;var n=0,r=[],a=e.map((function(a,s){var i=t*a/100,o=C(z,0===s,s===e.length-1,L),c=R[s]+o;return i<c?(n+=c-i,r.push(0),c):(r.push(i-c),i)}));return 0===n?e:a.map((function(e,a){var s=e;if(n>0&&r[a]-n>0){var i=Math.min(n,r[a]-n);n-=i,s=e-i}return s/t*100}))}function J(){var e=this,n=o[e.a].element,r=o[e.b].element;e.dragging&&x(t,"onDragEnd",E)(F()),e.dragging=!1,l[h]("mouseup",e.stop),l[h]("touchend",e.stop),l[h]("touchcancel",e.stop),l[h]("mousemove",e.move),l[h]("touchmove",e.move),e.stop=null,e.move=null,n[h]("selectstart",E),n[h]("dragstart",E),r[h]("selectstart",E),r[h]("dragstart",E),n.style.userSelect="",n.style.webkitUserSelect="",n.style.MozUserSelect="",n.style.pointerEvents="",r.style.userSelect="",r.style.webkitUserSelect="",r.style.MozUserSelect="",r.style.pointerEvents="",e.gutter.style.cursor="",e.parent.style.cursor="",d.body.style.cursor=""}function $(e){if(!("button"in e)||0===e.button){var n=this,r=o[n.a].element,a=o[n.b].element;n.dragging||x(t,"onDragStart",E)(F()),e.preventDefault(),n.dragging=!0,n.move=K.bind(n),n.stop=J.bind(n),l[f]("mouseup",n.stop),l[f]("touchend",n.stop),l[f]("touchcancel",n.stop),l[f]("mousemove",n.move),l[f]("touchmove",n.move),r[f]("selectstart",E),r[f]("dragstart",E),a[f]("selectstart",E),a[f]("dragstart",E),r.style.userSelect="none",r.style.webkitUserSelect="none",r.style.MozUserSelect="none",r.style.pointerEvents="none",a.style.userSelect="none",a.style.webkitUserSelect="none",a.style.MozUserSelect="none",a.style.pointerEvents="none",n.gutter.style.cursor=G,n.parent.style.cursor=G,d.body.style.cursor=G,Q.call(n),n.dragOffset=H(e)-n.end}}V===N?(n="width",r="clientX",a="left",s="right",i="clientWidth"):"vertical"===V&&(n="height",r="clientY",a="top",s="bottom",i="clientHeight"),w=X(w);var ee=[];function te(e){var t=e.i===ee.length,n=t?ee[e.i-1]:ee[e.i];Q.call(n);var r=t?n.size-e.minSize-n[T]:e.minSize+n[v];Z.call(n,r)}return(o=c.map((function(e,t){var r,a={element:I(e),size:w[t],minSize:R[t],maxSize:j[t],snapOffset:D[t],i:t};if(t>0&&((r={a:t-1,b:t,dragging:!1,direction:V,parent:u})[v]=C(z,t-1==0,!1,L),r[T]=C(z,!1,t===c.length-1,L),"row-reverse"===g||"column-reverse"===g)){var s=r.a;r.a=r.b,r.b=s}if(t>0){var i=M(t,V,a.element);!function(e,t,r){var a=Y(n,t,r);Object.keys(a).forEach((function(t){e.style[t]=a[t]}))}(i,z,t),r[A]=$.bind(r),i[f]("mousedown",r[A]),i[f]("touchstart",r[A]),u.insertBefore(i,a.element),r.gutter=i}return q(a.element,a.size,C(z,0===t,t===c.length-1,L),t),t>0&&ee.push(r),a}))).forEach((function(e){var t=e.element[m]()[n];t<e.minSize&&(P?te(e):e.minSize=t)})),{setSizes:function(e){var t=X(e);t.forEach((function(e,n){if(n>0){var r=ee[n-1],a=o[r.a],s=o[r.b];a.size=t[n-1],s.size=e,q(a.element,a.size,r[v],a.i),q(s.element,s.size,r[T],s.i)}}))},getSizes:F,collapse:function(e){te(o[e])},destroy:function(e,t){ee.forEach((function(r){if(!0!==t?r.parent.removeChild(r.gutter):(r.gutter[h]("mousedown",r[A]),r.gutter[h]("touchstart",r[A])),!0!==e){var a=W(n,r.a.size,r[v]);Object.keys(a).forEach((function(e){o[r.a].element.style[e]="",o[r.b].element.style[e]=""}))}}))},parent:u,pairs:ee}};var b=n(64922),R=(0,u.A)("flex-split"),k=function(e){(0,i.A)(n,e);var t=(0,o.A)(n);function n(){var e;(0,a.A)(this,n);for(var r=arguments.length,s=new Array(r),i=0;i<r;i++)s[i]=arguments[i];return(e=t.call.apply(t,[this].concat(s)))._ref=function(t){e.pane=t},e._refFirst=function(t){e.paneFirst=t},e._refSecond=function(t){e.paneSecond=t},e}return(0,s.A)(n,[{key:"componentDidMount",value:function(){this.checkSplit()}},{key:"componentDidUpdate",value:function(){this.checkSplit()}},{key:"componentWillUnmount",value:function(){this.destroySplit()}},{key:"checkSplit",value:function(){this.paneFirst&&this.paneSecond&&this.paneFirst.children.length&&this.paneSecond.children.length?this.split():this.destroySplit()}},{key:"getInitialSizes",value:function(){var e=this.props.getInitialSizes;if("function"==typeof e){var t=e();return Array.isArray(t)&&Math.abs(t.reduce((function(e,t){return e+t}),0)-100)<1?t:void 0}}},{key:"split",value:function(){var e=this,t=this.props,n=t.direction,r=t.minSize,a=t.onSplit;this.splitInstance||(this.splitInstance=w([this.paneFirst,this.paneSecond],{direction:n,sizes:this.getInitialSizes(),minSize:r,snapOffset:0,elementStyle:function(e,t,n){return{"flex-basis":"calc(".concat(t,"% - ").concat(n,"px)")}},gutterStyle:function(e,t){return{"flex-basis":"".concat(t,"px")}},onDrag:this.props.onResize,onDragEnd:function(){"function"==typeof e.props.onResizeEnd&&e.props.onResizeEnd(e.splitInstance.getSizes())}}),"function"==typeof a&&a())}},{key:"destroySplit",value:function(){var e=this.props.onUnSplit;this.splitInstance&&(this.splitInstance.destroy(),this.splitInstance=null,"function"==typeof e&&e())}},{key:"render",value:function(){var e=this.props,t=e.direction,n=e.id,a=e.paneClassNames,s=void 0===a?[]:a,i=(0,r.A)(this.props.children),o=i[0],c=i.slice(1);return(0,b.jsxs)("div",{ref:this._ref,className:R({direction:t},this.props.className),children:[(0,b.jsx)("div",{ref:this._refFirst,className:R("pane",s[0]),children:o}),(0,b.jsx)("div",{className:R("pane",s[1]),ref:this._refSecond,id:n,children:c})]})}}]),n}(c.Component);k.defaultProps={onSplit:null,onUnSplit:null},k.VERTICAL="vertical",k.HORIZONTAL="horizontal";const j=k},82560:(e,t,n)=>{n.d(t,{X:()=>h});var r=n(29121),a=n(12937),s=n(10785),i=n(26718),o=n(77810),c=n(64196),u=n(31229),l=n(64922),p=u.mH.trackerBaseUrl,d=/(https?:\/\/\S+[^?.,!\s]|\[A-Z\]{2,}-\d+)/,f=/^[A-Z]{2,}-\d+$/,h=function(e){(0,s.A)(n,e);var t=(0,i.A)(n);function n(){return(0,r.A)(this,n),t.apply(this,arguments)}return(0,a.A)(n,[{key:"render",value:function(){var e=this.props,t=e.text,r=e.className;return(0,l.jsx)("span",{className:r,children:n.renderText(t,d)})}}],[{key:"renderText",value:function(){for(var e=arguments.length>1?arguments[1]:void 0,t=String(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"").split(e),n=t.slice(),r=1;r<t.length;r+=2){var a=(s=t[r],p&&f.test(s)?"".concat(p,"/").concat(s):s);n[r]=(0,l.jsx)(c.N,{target:"_blank",href:a,children:t[r]},r)}var s;return n}}]),n}(o.PureComponent)},95664:(e,t,n)=>{n.d(t,{R:()=>a});var r=n(7787);function a(e){return r.Ay.renderSubjectCard(e)}},17777:(e,t,n)=>{n.d(t,{K:()=>A,A:()=>T});var r=n(68175),a=n(77810),s=n(76872),i=n(15647),o=n(64965),c=n(45033),u=n(76426),l=n(52797),p=n(64209),d=n(19314),f=n(64922),h=(0,s.A)("top-row-section"),m=(0,r.A)({},d.YW.CHAOS_CELL_BUNDLES,{name:"Bundles"});function A(e){var t=e.page,n=e.name,r=e.className,a=e.children,s=e.showSplitter,o=e.urlParams,d=(0,i.d4)(l.dB),A=(0,i.d4)(c.PX)[t]||m[t],v=n||(null==A?void 0:A.name),T=(0,p.RK)("/".concat(d,"/").concat(t),o);return(0,f.jsxs)("div",{className:h(null,r),children:[v&&(0,f.jsx)("h1",{className:h("name"),children:(0,f.jsx)(u.A,{routed:!0,theme:"primary",url:T,children:v})}),s&&(0,f.jsx)("div",{className:h("spacer")}),a]})}var v=a.memo(A);function T(e){var t=e.className,n=e.children,r=(0,o.W5)().params.page;return(0,f.jsx)(v,{className:t,page:r,children:n})}},3844:(e,t,n)=>{n.d(t,{O:()=>i});var r=n(76872),a=n(33547),s=(0,r.A)("cluster-color");function i(e){var t=(a.A.clusters[null!=e?e:""]||{}).theme;return s({theme:t})}},27529:(e,t,n)=>{n.d(t,{d:()=>i}),n(77810);var r=n(76872),a=n(64922),s=(0,r.A)("yt-head-spacer"),i=function(){return(0,a.jsx)("div",{className:s()})}},5105:(e,t,n)=>{n.r(t),n.d(t,{default:()=>fn});var r=n(29121),a=n(12937),s=n(10785),i=n(26718),o=n(77810),c=n(64965),u=n(27528),l=n.n(u),p=n(9736),d=n(15647),f=n(76872),h=n(33882),m=(0,h.A)(o.lazy((function(){return n.e(1606).then(n.bind(n,43618))}))),A=n(28407),v=n(70232),T=n.n(v);function N(){return Promise.all([n.e(8096),n.e(4724),n.e(6030),n.e(1086),n.e(7408),n.e(164),n.e(1524),n.e(7540),n.e(177),n.e(5292),n.e(2436),n.e(8),n.e(8638),n.e(5242),n.e(590),n.e(5695),n.e(1394),n.e(8427),n.e(8460),n.e(343),n.e(1983),n.e(5179)]).then(n.bind(n,42744))}var E=(0,h.A)(o.lazy((0,A.A)(T().mark((function e(){return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,N();case 2:return e.t0=e.sent.Components,e.abrupt("return",{default:e.t0});case 4:case"end":return e.stop()}}),e)}))))),S=(0,h.A)(o.lazy((0,A.A)(T().mark((function e(){return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,N();case 2:return e.t0=e.sent.ComponentsTopRow,e.abrupt("return",{default:e.t0});case 4:case"end":return e.stop()}}),e)})))),""),g=(0,h.A)(o.lazy((0,A.A)(T().mark((function e(){return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",Promise.all([n.e(8096),n.e(4724),n.e(6030),n.e(1086),n.e(7408),n.e(164),n.e(1524),n.e(7540),n.e(2209),n.e(2436),n.e(6756),n.e(3266),n.e(480),n.e(8678),n.e(8976),n.e(4568),n.e(8632),n.e(577),n.e(5695),n.e(1394),n.e(3990),n.e(2447),n.e(6729),n.e(7453)]).then(n.bind(n,76729)));case 1:case"end":return e.stop()}}),e)})))));function I(){return Promise.all([n.e(8096),n.e(4724),n.e(6030),n.e(1086),n.e(7408),n.e(164),n.e(1524),n.e(7540),n.e(177),n.e(2209),n.e(5292),n.e(2436),n.e(6756),n.e(2640),n.e(3266),n.e(8),n.e(6277),n.e(6652),n.e(8678),n.e(937),n.e(6052),n.e(4136),n.e(6980),n.e(5695),n.e(1394),n.e(3990),n.e(3724),n.e(9558),n.e(8427),n.e(7959),n.e(8390),n.e(1260),n.e(3543)]).then(n.bind(n,94103))}var x=(0,h.A)(o.lazy((0,A.A)(T().mark((function e(){return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,I();case 2:return e.t0=e.sent.Accounts,e.abrupt("return",{default:e.t0});case 4:case"end":return e.stop()}}),e)}))))),C=(0,h.A)(o.lazy((0,A.A)(T().mark((function e(){return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,I();case 2:return e.t0=e.sent.AccountsTopRowContent,e.abrupt("return",{default:e.t0});case 4:case"end":return e.stop()}}),e)})))),"");function y(){return Promise.all([n.e(8096),n.e(4724),n.e(6030),n.e(1086),n.e(7408),n.e(164),n.e(1524),n.e(7540),n.e(2209),n.e(2436),n.e(6756),n.e(2640),n.e(3266),n.e(480),n.e(8678),n.e(8976),n.e(937),n.e(6052),n.e(4568),n.e(8632),n.e(577),n.e(6980),n.e(5695),n.e(1394),n.e(3990),n.e(3724),n.e(9558),n.e(7959),n.e(2447),n.e(6729),n.e(1260),n.e(945)]).then(n.bind(n,62016))}var O=(0,h.A)(o.lazy((0,A.A)(T().mark((function e(){return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,y();case 2:return e.t0=e.sent.Dashboard,e.abrupt("return",{default:e.t0});case 4:case"end":return e.stop()}}),e)}))))),_=(0,h.A)(o.lazy((0,A.A)(T().mark((function e(){return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,y();case 2:return e.t0=e.sent.DashboardTopRow,e.abrupt("return",{default:e.t0});case 4:case"end":return e.stop()}}),e)})))),"");function w(){return Promise.all([n.e(8096),n.e(4724),n.e(6030),n.e(1086),n.e(7408),n.e(164),n.e(1524),n.e(7540),n.e(5292),n.e(7970),n.e(5242),n.e(590),n.e(430),n.e(5695),n.e(1394),n.e(8460),n.e(1983),n.e(7204)]).then(n.bind(n,64506))}var b=(0,h.A)(o.lazy((0,A.A)(T().mark((function e(){return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,w();case 2:return e.t0=e.sent.System,e.abrupt("return",{default:e.t0});case 4:case"end":return e.stop()}}),e)}))))),R=(0,h.A)(o.lazy((0,A.A)(T().mark((function e(){return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,w();case 2:return e.t0=e.sent.SystemTopRow,e.abrupt("return",{default:e.t0});case 4:case"end":return e.stop()}}),e)})))),"");function k(){return Promise.all([n.e(8096),n.e(4724),n.e(6030),n.e(1086),n.e(7408),n.e(164),n.e(1524),n.e(7540),n.e(177),n.e(2209),n.e(5292),n.e(2436),n.e(2640),n.e(7954),n.e(3266),n.e(480),n.e(8),n.e(6277),n.e(8678),n.e(4108),n.e(7916),n.e(8638),n.e(3776),n.e(5242),n.e(417),n.e(5423),n.e(4136),n.e(2494),n.e(9641),n.e(6019),n.e(1745),n.e(6560),n.e(5152),n.e(9536),n.e(1394),n.e(3990),n.e(3724),n.e(8427),n.e(5770),n.e(8390),n.e(7263),n.e(6521)]).then(n.bind(n,38301))}var j=(0,h.A)(o.lazy((0,A.A)(T().mark((function e(){return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,k();case 2:return e.t0=e.sent.Navigation,e.abrupt("return",{default:e.t0});case 4:case"end":return e.stop()}}),e)}))))),P=(0,h.A)(o.lazy((0,A.A)(T().mark((function e(){return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,k();case 2:return e.t0=e.sent.NavigationTopRow,e.abrupt("return",{default:e.t0});case 4:case"end":return e.stop()}}),e)})))),""),z=(0,h.A)(o.lazy((0,A.A)(T().mark((function e(){return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Promise.all([n.e(8096),n.e(4177)]).then(n.bind(n,2675));case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e)})))));function L(){return Promise.all([n.e(8096),n.e(4724),n.e(6030),n.e(1086),n.e(7408),n.e(164),n.e(1524),n.e(177),n.e(2640),n.e(480),n.e(7916),n.e(8638),n.e(3776),n.e(5152),n.e(5695),n.e(1394),n.e(343),n.e(5088),n.e(8403)]).then(n.bind(n,41380))}var B=(0,h.A)(o.lazy((0,A.A)(T().mark((function e(){return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,L();case 2:return e.t0=e.sent.Tablet,e.abrupt("return",{default:e.t0});case 4:case"end":return e.stop()}}),e)}))))),D=(0,h.A)(o.lazy((0,A.A)(T().mark((function e(){return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,L();case 2:return e.t0=e.sent.TabletTopRow,e.abrupt("return",{default:e.t0});case 4:case"end":return e.stop()}}),e)})))),"");function U(){return Promise.all([n.e(8096),n.e(4724),n.e(6030),n.e(1086),n.e(7408),n.e(164),n.e(177),n.e(5292),n.e(2436),n.e(6756),n.e(2640),n.e(6277),n.e(937),n.e(5242),n.e(6052),n.e(2494),n.e(1051),n.e(5695),n.e(3724),n.e(9558),n.e(7959),n.e(8460),n.e(6582)]).then(n.bind(n,75507))}var V=(0,h.A)(o.lazy((0,A.A)(T().mark((function e(){return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,U();case 2:return e.t0=e.sent.TabletCellBundles,e.abrupt("return",{default:e.t0});case 4:case"end":return e.stop()}}),e)}))))),G=(0,h.A)(o.lazy((0,A.A)(T().mark((function e(){return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,U();case 2:return e.t0=e.sent.TabletCellBundlesTopRow,e.abrupt("return",{default:e.t0});case 4:case"end":return e.stop()}}),e)}))))),M=(0,h.A)(o.lazy((0,A.A)(T().mark((function e(){return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,U();case 2:return e.t0=e.sent.ChaosCellBundlesTopRow,e.abrupt("return",{default:e.t0});case 4:case"end":return e.stop()}}),e)})))),""),W=(0,h.A)(o.lazy((0,A.A)(T().mark((function e(){return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Promise.all([n.e(8096),n.e(4724),n.e(6030),n.e(7408),n.e(5292),n.e(8632),n.e(914),n.e(5695),n.e(8778),n.e(583)]).then(n.bind(n,59965));case 2:return e.t0=e.sent.GroupsPage,e.abrupt("return",{default:e.t0});case 4:case"end":return e.stop()}}),e)}))))),Y=(0,h.A)(o.lazy((0,A.A)(T().mark((function e(){return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Promise.all([n.e(8096),n.e(4724),n.e(6030),n.e(7408),n.e(5292),n.e(914),n.e(7315),n.e(5695),n.e(8778),n.e(8809)]).then(n.bind(n,58562));case 2:return e.t0=e.sent.UsersPage,e.abrupt("return",{default:e.t0});case 4:case"end":return e.stop()}}),e)})))));function q(){return Promise.all([n.e(8096),n.e(4724),n.e(6030),n.e(1086),n.e(7408),n.e(164),n.e(1524),n.e(7540),n.e(177),n.e(2436),n.e(6756),n.e(6277),n.e(7916),n.e(8638),n.e(5695),n.e(1394),n.e(3724),n.e(9558),n.e(343),n.e(3784),n.e(1069)]).then(n.bind(n,27430))}var F=(0,h.A)(o.lazy((0,A.A)(T().mark((function e(){return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,q();case 2:return e.t0=e.sent.Scheduling,e.abrupt("return",{default:e.t0});case 4:case"end":return e.stop()}}),e)}))))),H=(0,h.A)(o.lazy((0,A.A)(T().mark((function e(){return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,q();case 2:return e.t0=e.sent.SchedulingTopRow,e.abrupt("return",{default:e.t0});case 4:case"end":return e.stop()}}),e)})))),"");function Z(){return Promise.all([n.e(8096),n.e(4724),n.e(6030),n.e(1086),n.e(7408),n.e(164),n.e(1524),n.e(7540),n.e(2209),n.e(7954),n.e(3266),n.e(7970),n.e(8),n.e(6652),n.e(7916),n.e(6193),n.e(3872),n.e(417),n.e(3716),n.e(1337),n.e(628),n.e(2099),n.e(6560),n.e(5695),n.e(1394),n.e(3990),n.e(8427),n.e(3735),n.e(9045),n.e(6692),n.e(5770),n.e(7977),n.e(5670)]).then(n.bind(n,140))}var K=(0,h.A)(o.lazy((0,A.A)(T().mark((function e(){return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Z();case 2:return e.t0=e.sent.QueryTracker,e.abrupt("return",{default:e.t0});case 4:case"end":return e.stop()}}),e)}))))),Q=(0,h.A)(o.lazy((0,A.A)(T().mark((function e(){return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Z();case 2:return e.t0=e.sent.QueryTrackerTopRow,e.abrupt("return",{default:e.t0});case 4:case"end":return e.stop()}}),e)})))),""),X=(0,h.A)(o.lazy((0,A.A)(T().mark((function e(){return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",Promise.all([n.e(8096),n.e(4724),n.e(6030),n.e(1086),n.e(7408),n.e(164),n.e(1524),n.e(7540),n.e(7970),n.e(8678),n.e(8976),n.e(5423),n.e(1337),n.e(4568),n.e(5695),n.e(1394),n.e(2447),n.e(5684)]).then(n.bind(n,47393)));case 1:case"end":return e.stop()}}),e)})))));function J(){return Promise.all([n.e(8096),n.e(4724),n.e(6030),n.e(1086),n.e(7408),n.e(177),n.e(5292),n.e(2436),n.e(6756),n.e(8),n.e(6277),n.e(7916),n.e(4136),n.e(5695),n.e(3724),n.e(9558),n.e(8427),n.e(8390),n.e(1721)]).then(n.bind(n,48142))}var $=(0,h.A)(o.lazy((0,A.A)(T().mark((function e(){return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,J();case 2:return e.t0=e.sent.ChytPage,e.abrupt("return",{default:e.t0});case 4:case"end":return e.stop()}}),e)}))))),ee=(0,h.A)(o.lazy((0,A.A)(T().mark((function e(){return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,J();case 2:return e.t0=e.sent.ChytPageTopRow,e.abrupt("return",{default:e.t0});case 4:case"end":return e.stop()}}),e)})))),""),te=n(52797),ne=n(26264),re=n(17777),ae=n(7787),se=n(64922),ie=n(39716),oe=n(29081);function ce(){var e,t=(0,d.d4)(te.fF),n=(0,d.d4)(te.Bv);return t!==ne.EG.LOADED?null:(0,se.jsxs)(c.dO,{children:[(0,se.jsx)(c.qh,{path:"/:cluster/".concat(ne.YW.SYSTEM),component:R}),(0,se.jsx)(c.qh,{path:"/:cluster/".concat(ne.YW.NAVIGATION),component:P}),(0,se.jsx)(c.qh,{path:"/:cluster/".concat(ne.YW.SCHEDULING),component:H}),(0,se.jsx)(c.qh,{path:"/:cluster/".concat(ne.YW.ACCOUNTS),component:C}),(0,se.jsx)(c.qh,{path:"/:cluster/".concat(ne.YW.TABLET,"/:id"),component:D}),(0,se.jsx)(c.qh,{path:"/:cluster/".concat(ne.YW.TABLET_CELL_BUNDLES),component:G}),(0,se.jsx)(c.qh,{path:"/:cluster/".concat(ne.YW.CHAOS_CELL_BUNDLES),component:M}),(0,se.jsx)(c.qh,{path:"/:cluster/".concat(ne.YW.DASHBOARD),component:_}),(0,se.jsx)(c.qh,{path:"/:cluster/".concat(ne.YW.COMPONENTS),component:S}),(0,se.jsx)(c.qh,{path:"/:cluster/".concat(ne.YW.CHYT),component:ee}),n&&(0,se.jsx)(c.qh,{path:"/:cluster/".concat(ne.YW.QUERIES),component:(0,h.A)(Q)}),(0,oe.CW)()&&(0,se.jsx)(c.qh,{path:"/:cluster/".concat(ie.m.pageId),component:ie.m.topRowComponent}),(e=[],ae.Ay.getExtaClusterPages().forEach((function(t,n){var r=t.pageId,a=t.topRowComponent;a&&e.push((0,se.jsx)(c.qh,{path:"/:cluster/".concat(r),component:a},n))})),e),(0,se.jsx)(c.qh,{path:"/:cluster/:page",component:re.A})]})}var ue=n(40319),le=n(13322),pe=n(68175),de=n(49214),fe=n.n(de),he=n(96843),me=n.n(he),Ae=n(75414),ve=n.n(Ae),Te=n(17239),Ne=n.n(Te),Ee=n(65692),Se=n(33547),ge=n(21778),Ie=n(477),xe=n(89700),Ce=n(45033),ye=n(29730),Oe=n(3844),_e=n(76426),we=n(60620),be=(0,f.A)("clusters-panel");function Re(e){e.stopPropagation(),e.preventDefault()}function ke(e){var t=e.className,n=e.onSelectCluster,r=o.useState(""),a=(0,p.A)(r,2),s=a[0],i=a[1],c=o.useCallback((function(e){i(e)}),[i]),u=o.useCallback((function(e){n(e)}),[n]),f=o.useCallback((function(e){null==e||e.focus()}),[]),h=(null==s?void 0:s.toLowerCase())||"",m=(0,d.d4)(Ce.zy),A=(0,d.d4)(ye.xS),v=o.useMemo((function(){var e=m.recent,t=m.rest;if(A&&(null!=e&&e.length||null!=t&&t.length))return Be(h,(0,pe.A)({recent:e},xe.wK,t));var n=(0,Se.s)();return Be(h,n)}),[h,A,m]),T=o.useCallback((function(e){var t;if("Enter"===e.key){var n=(0,le.A)(xe.B_);Ne()(n,(function(e){return!(!v[e]||!v[e].length||(t=v[e][0],0))})),t&&u(t.id)}}),[v,u]),N=(0,d.d4)(te.dB),E=window.location,S=E.pathname,g=E.search,I="";return N&&S.startsWith("/".concat(N,"/"))&&(I=S.substr(N.length+1)+g),(0,se.jsxs)("div",{className:be(null,t),onClick:Re,children:[(0,se.jsx)("div",{className:be("input"),children:(0,se.jsx)(Ee.k,{controlRef:f,onKeyDown:T,placeholder:"Cluster search",onUpdate:c,value:s,autoFocus:!0})}),(0,se.jsx)("div",{className:be("groups"),children:me()(v)?(0,se.jsx)("div",{className:be("no-items"),children:"No matching clusters"}):l()(xe.wM,(function(e,t){var n=e.caption;return v[t]?(0,se.jsx)(je,{name:n,items:v[t],onClusterClick:u,clusterState:I},t):null}))})]})}function je(e){var t=e.name,n=e.items,r=e.onClusterClick,a=e.clusterState;return n.length?(0,se.jsxs)("div",{className:be("group"),children:[(0,se.jsx)("div",{className:be("group-name"),children:t}),l()(n,(function(e){return(0,se.jsx)(ze,(0,ue.A)((0,ue.A)({className:be("group-item"),onClick:r},e),{},{clusterState:a}),e.id)}))]}):null}var Pe={production:"prod",testing:"test",development:"dev",prestable:"pre",localmode:void 0};function ze(e){var t=e.forwardImageRef,n=e.className,r=e.id,a=e.name,s=e.environment,i=e.onClick,c=void 0===i?function(){}:i,u=e.shortEnv,l=e.clusterState,p=!u,d=o.useCallback((function(){c(r)}),[c,r]);return(0,se.jsxs)("div",{className:be("cluster",n),onClick:d,children:[(0,se.jsx)(Le,{cluster:r,name:a,forwardRef:t}),(0,se.jsx)("div",{className:be("cluster-name"),children:a}),(0,se.jsx)("div",{className:be("cluster-env"),children:u?Pe[s]:s}),p&&(0,se.jsx)(_e.A,{className:be("link"),url:"".concat(location.origin,"/").concat(r).concat(l||""),onClick:function(e){e.stopPropagation()},children:(0,se.jsx)(we.A,{awesome:"external-link"})})]})}function Le(e){var t=e.cluster,n=e.name,r=e.forwardRef,a=(0,ge.Lt)(t),s=(0,Oe.O)(t);return(0,se.jsx)(Ie.A,{className:be("cluster-image",s),icon:a.icon2x,name:n,forwardRef:r})}function Be(e,t){return e?ve()(t,(function(t,n,r){var a=e?fe()(n,(function(t){var n=t.name,r=t.environment;return-1!==n.toLowerCase().indexOf(e)||-1!==r.toLowerCase().indexOf(e)})):n;return a.length&&(t[r]=a),t}),{}):t}var De=n(55740),Ue=n(92547),Ve=n(64209),Ge=n(13542),Me=(0,f.A)("cluster-page-header"),We=function(e){var t=e.clusterConfig,n=o.useState(!1),r=(0,p.A)(n,2),a=r[0],s=r[1],i=(0,o.useCallback)((function(){s((function(e){return!e}))}),[s]),c=(0,o.useCallback)((function(){s(!1)}),[s]),u=(0,o.useCallback)((function(e){var t=function(e){var t=(0,Ve.RK)(window.location.pathname).split("/"),n=(0,Ue.A)(t),r=n[0],a=n[1],s=n.slice(2);return a===e?null:[r,e].concat((0,le.A)(s)).join("/")}(e);t&&(0,Ge.Q)().push(t),c()}),[c]),l=o.useRef(null);return(0,se.jsxs)("div",{className:Me("cluster"),onClick:i,children:[(0,se.jsx)(ze,(0,ue.A)((0,ue.A)({forwardImageRef:l},t),{},{shortEnv:!0})),(0,se.jsx)(we.A,{awesome:"chevron-down",size:"l"}),(0,se.jsx)(De.z,{className:Me("popup"),placement:["bottom-start","top-start"],anchorRef:l,open:a,onClose:c,offset:[0,5],children:a&&(0,se.jsx)(ke,{className:Me("popup-content"),onSelectCluster:u})})]})},Ye=n(27529),qe=n(41655),Fe=n.n(qe),He=n(82053),Ze=n.n(He),Ke=n(95664),Qe=n(1880),Xe=n.n(Qe),Je=n(53246),$e=n(53332);function et(){var e=(0,d.wA)();return o.useEffect((function(){return e((0,Je.mw)()),function(){e((0,Je.Lo)())}})),null}var tt=n(51806),nt=n(82560),rt=n(31229),at=(0,f.A)("maintenance"),st={ISSUE:"issue",MAINTENANCE:"maintenance"},it=function(e){(0,s.A)(n,e);var t=(0,i.A)(n);function n(){return(0,r.A)(this,n),t.apply(this,arguments)}return(0,a.A)(n,[{key:"title",get:function(){switch(this.props.maintenancePageEvent.type){case"maintenance":return"Maintenance is under way";case"issue":return"Cluster experiences problems";default:return"Oops! Something went wrong"}}},{key:"renderTimeLine",value:function(e){var t=e.startTime,n=e.finishTime;if([st.ISSUE,st.MAINTENANCE].indexOf(e.type)>-1){var r=n&&Fe()(n).format("D MMM YYYY H:mm"),a=Fe()(t).format("D MMM YYYY H:mm");return r?(0,se.jsxs)("p",{className:at("time-line"),children:[(0,se.jsx)("time",{children:a}),"—",(0,se.jsx)("time",{children:r})]}):(0,se.jsx)("p",{className:at("time-line"),children:(0,se.jsx)("time",{children:a})})}return null}},{key:"render",value:function(){var e=this.props,t=e.maintenancePageEvent,n=e.onProceed;if(!t)return null;var r=t.severity,a=t.title,s=t.description,i=t.createdBy,o=rt.mH.announcesMailListUrl;return(0,se.jsxs)("div",{className:at(),children:[(0,se.jsx)(et,{}),(0,se.jsxs)("div",{className:at("content"),children:[(0,se.jsxs)("div",{className:at("info"),children:[(0,se.jsx)("h2",{className:at("title"),children:this.title}),(0,se.jsxs)("div",{className:at("severity",{type:r}),children:[(0,se.jsx)(we.A,{awesome:"exclamation-triangle"}),(0,se.jsx)("span",{children:Ze().format.Readable(r)})]}),(0,se.jsx)("h3",{className:at("user-title"),children:a}),(0,se.jsx)("div",{className:at("user-description"),children:(0,se.jsx)(nt.X,{text:s})}),this.renderTimeLine(t),(0,se.jsx)(Ke.R,{className:at("author"),name:i}),(0,se.jsxs)("ul",{className:at("links"),children:[o&&(0,se.jsx)("li",{className:at("link"),children:(0,se.jsx)(tt.A,{href:o,target:"_blank",view:"action",size:"m",children:"Subscribe to YT announces"})}),(0,se.jsx)("li",{className:at("link"),children:(0,se.jsx)(tt.A,{size:"m",onClick:n,children:"Proceed to cluster anyway"})})]})]}),(0,se.jsx)("div",{className:at("illustration")})]})]})}}]),n}(o.Component),ot=n(59117),ct=n.n(ot),ut=function(e){return"override_".concat(e,"_maintenance")},lt=function(e){(0,s.A)(n,e);var t=(0,i.A)(n);function n(){return(0,r.A)(this,n),t.apply(this,arguments)}return(0,a.A)(n,[{key:"render",value:function(){var e=this,t=this.props,n=t.cluster,r=t.maintenancePageEvent,a=t.maintenanceContent,s=t.children;if(r){var i=function(e){var t=ut(e);return ct().get(t)===e}(n);if(!i)return void 0!==a?a:(0,se.jsx)(it,{cluster:n,maintenancePageEvent:r,onProceed:function(){!function(e){var t=ut(e);ct().set(t,e,{expires:Fe()().add(3,"hours").toDate()})}(n),e.forceUpdate()}})}return s}}]),n}(o.Component);const pt=(0,d.Ng)((function(e){var t=e.global;return{maintenancePageEvent:t.maintenancePageEvent,eventsFirstUpdate:t.eventsFirstUpdate}}))(lt);var dt=(0,f.A)("cluster-page-header");function ft(e){var t=e.cluster,n=(0,te.lt)(t);return(0,se.jsxs)("div",{className:dt(),children:[(0,se.jsx)(We,{cluster:t,clusterConfig:n}),(0,se.jsx)(Ye.d,{}),(0,se.jsx)(pt,{cluster:t,maintenanceContent:null,children:(0,se.jsx)(ce,{})})]})}const ht=o.memo(ft);var mt=n(6708),At=n(28269),vt=n(19314),Tt=n(21594);function Nt(e){return{cluster:vt.dK.LAST_VISITED_CLUSTER,page:vt.dK.LAST_VISITED_PAGE}[e]}function Et(e){var t=e+"s";return function(n,r){var a=r(),s=(0,Ce.zy)(a),i=(0,Ce.WK)(a),o=r().settings.data;n({type:ne.qG,data:{collectionName:t,items:"pages"===t?i.all:s.all,getLastVisitedSetting:function(t){return function(e,t){var n=Nt(e);return(0,Tt.Yn)(t,n)}(e,t.id)},settings:o,currentTime:Fe()().unix()}})}}function St(e){return{type:ne.eV,data:e}}function gt(e,t){return function(n){var r=Nt(e),a=Fe()().unix();n((0,mt.ZC)(t,r,a)),n(Et(e))}}var It=function(e){(0,s.A)(n,e);var t=(0,i.A)(n);function n(){var e;(0,r.A)(this,n);for(var a=arguments.length,s=new Array(a),i=0;i<a;i++)s[i]=arguments[i];return(e=t.call.apply(t,[this].concat(s))).getPage=function(e){return e.params.page},e.getTab=function(e){return e.params.tab},e.render=function(){return null},e}return(0,a.A)(n,[{key:"componentDidMount",value:function(){var e=this.props,t=e.match,n=e.trackPageVisit,r=e.trackTabVisit,a=this.getPage(t),s=this.getTab(t);n(a),s&&r(a,s)}},{key:"componentDidUpdate",value:function(e){var t=this.props,n=t.match,r=t.trackPageVisit,a=t.trackTabVisit,s=this.getPage(n),i=this.getPage(e.match),o=this.getTab(n),c=this.getTab(e.match);i!==s&&r(s),o&&c!==o&&a(s,o)}}]),n}(o.Component),xt={trackPageVisit:function(e){return function(t,n){var r=n(),a=(0,te.dB)(r),s=(0,te.ID)(r),i=(0,Ce.ex)(r);t(gt("page",e)),t((0,Je.ar)({page:i[e]})),t((0,Je.Dw)()),window.setTimeout((function(){At.A.countHit({page:e,cluster:a,login:s})}),200)}},trackTabVisit:function(e,t){return function(n,r){var a=r(),s=(0,ye.sX)(a),i=(0,ye.R9)(a),o=(0,ue.A)((0,ue.A)({},i),{},(0,pe.A)({},e,t));n((0,mt.ZC)(vt.Ou.LOCAL.LAST_VISITED_TAB,s,o))}}};const Ct=(0,d.Ng)(null,xt)(It);var yt=n(86673),Ot=n(46493),_t=n(82060),wt=n(48971),bt=n(93209),Rt=n(83189),kt=(0,f.A)("yt-preload-error");const jt=(Pt=function(){var e=(0,Rt.x)(),t=(0,d.d4)(te.QU),n=(0,d.d4)(te._F),r=function(e){var t=e.cluster;switch(e.errorType){case ne.NZ.CONNECTION:return{title:"".concat(t.toUpperCase()," couldn’t be reached"),message:"Failed to fetch version of the cluster. Usually it means UI cannot establish connection to the cluster’s proxy."};case ne.NZ.AUTHENTICATION:return{title:"Error",message:"Could not fetch the XSRF token, therefore preventing further operations. Sometimes token fetching fails due to the network issues. If the problem persists, please report it."};case ne.NZ.GENERAL:default:return{title:"Error",message:"An error occurred while fetching the necessary information about the cluster."}}}({errorType:n,cluster:e}),a=r.title,s=r.message;return(0,se.jsxs)("section",{className:kt("error"),children:[(0,se.jsx)("h2",{className:kt("title"),children:a}),(0,se.jsxs)("p",{className:kt("text"),children:[s,(0,se.jsxs)(bt.S,{className:kt("details"),onClick:function(){return(0,wt.eW)(t)},children:[" ","Details"]})]}),ae.Ay.renderCustomPreloaderError({cluster:e,errorType:n,error:t})]})},(zt=function(e){(0,s.A)(n,e);var t=(0,i.A)(n);function n(){return(0,r.A)(this,n),t.apply(this,arguments)}return(0,a.A)(n,[{key:"render",value:function(){return(0,se.jsxs)(o.Fragment,{children:[(0,se.jsx)(et,{}),(0,se.jsx)(Pt,(0,ue.A)({},this.props))]})}}]),n}(o.Component)).displayName="WithBlockedNavigation(".concat((0,$e.Mn)(Pt),")"),Lt=zt,Xe()(Lt,Pt),(0,d.Ng)(null,{addNavigationBlocker:Je.mw,removeNavigationBlocker:Je.Lo})(Lt));var Pt,zt,Lt,Bt=n(55682),Dt=n(84092),Ut=n.n(Dt),Vt=n(78259),Gt=n(77575),Mt=n(36581),Wt=n(12680),Yt=n(78894),qt=n(64714),Ft=n(11896),Ht=n(62250);function Zt(e){var t,n,r=e&&e.code;if(r===Ut().codes.USER_IS_BANNED)(0,Ge.ai)().dispatch({type:ne.q8});else if(r===Ut().codes.USER_EXCEEDED_RPS)(0,Ge.ai)().dispatch({type:ne.W6});else if(r==Ut().codes.XSRF_TOKEN_EXPIRED){var a="Your CSRF-token '".concat((n=(t=Se.A.cluster)&&(0,$e.fc)(t))&&ct().get(n),"' has expired. Please reaload the page");console.log(a),(new Yt.I).add({name:"xsrf-expired",theme:"info",autoHiding:!1,title:"CSRF-toke expired",content:a})}}function Kt(e,t,n){(0,Wt.N1)({level:"warn",type:n,message:"".concat(e," cannot be loaded, some ui features might be not available"),block:e},t)}var Qt=new Yt.I;function Xt(e){return function(t,n){!function(e){var t=Se.A.clusters,n=(0,$e.Jc)(t,e);Ut().setup.setGlobalOption("suppressAccessTracking",!0),Ut().setup.setGlobalOption("useEncodedParameters",!0),Ut().setup.setGlobalOption("proxy",(0,te.v9)(n)),!(0,rt.FG)().ytApiUseCORS&&(n.secure="https:"===window.location.protocol),Ut().setup.setGlobalOption("useHeavyProxy",!1),Ut().setup.setGlobalOption("xsrf",!0),Ut().setup.setGlobalOption("xsrfCookieName",(0,$e.fc)(n.id)),"boolean"==typeof n.secure?Ut().setup.setGlobalOption("secure",n.secure):Ut().setup.setGlobalOption("secure",!0),Ut().setup.setGlobalOption("authentication",{type:n.authentication||"none"}),Ut().subscribe("error",Zt)}(e),t({type:ne.Vk.REQUEST});var r=(0,te.ID)(n()),a=new qt.CT(e,Ft.c.CLUSTER_PARAMS);return(0,wt.fI)(a.fetch(qt.Vu.clusterParams,Bt.A.request({url:"/api/cluster-params/"+e,method:"GET"})),{skipSuccessToast:!0,toasterName:"cluster_initialization_failure",errorTitle:"Cluster initialization failure",errorContent:"An error occured"}).then((function(n){var s=n.data,i=s.mediumList,o=s.schedulerVersion,c=s.masterVersion,u=s.uiConfig,l=s.uiDevConfig,d=(0,wt.$7)([i],"Cluster initialization failure");if(d)throw d;var f=function(e,t){return e.error&&e.error.code!==Ut().codes.NODE_DOES_NOT_EXIST&&(Kt("//sys/@ui_config",e.error),Qt.add({name:"get-ui_config",theme:"danger",autoHiding:!1,title:"Failed to load //sys/@ui_config",content:"Some UI features might be not available. Try to reload the page. If the problem persists please report it via Bug Reporter."})),t.error&&t.error.code!==Ut().codes.NODE_DOES_NOT_EXIST&&Kt("//sys/@ui_config_dev_overrides",t.error),[e.output||{},t.output||{}]}(u,l),h=(0,p.A)(f,2),m=h[0],A=h[1];return t({type:ne.Vk.SUCCESS,data:{cluster:e,mediumList:Vt.A.getValue(i.output),isDeveloper:!1,clusterUiConfig:m,schedulerVersion:o.output,masterVersion:c.output}}),a.fetch(qt.Vu.clusterParamsIsDeveloper,(0,Gt.h)(r,void 0,qt.Vu[qt.Vu.clusterParamsIsDeveloper])).then((function(e){if(e){var n=e?Object.assign({},m,A):m;t({type:Ht.wV,data:{isDeveloper:e,clusterUiConfig:n}})}})).catch((function(e){console.error("Failed to check if current user is admin",e)}))})).catch((function(e){t({type:ne.Vk.FAILURE,data:e})}))}}var Jt=0,$t=n(13685),en=n(76365),tn=new en.A;function nn(){var e=(0,d.wA)(),t=(0,d.d4)(te.dB),n=o.useCallback((function(){e((function(e,t){var n=(0,te.dB)(t());if(n)return e({type:Ht.ZH}),qt.X8.getSupportedFeatures({},tn.removeAllAndSave).then((function(t){var r=t.features;e({type:Ht.Lb,data:{featuresCluster:n,features:r}})})).catch((function(t){(0,en.m)(t)||e({type:Ht.qI,data:{error:t}})}))}))}),[t,e]);return(0,$t.Tt)(n,{timeout:6e5}),null}const rn=o.memo(nn);var an=n(22636),sn=(0,f.A)("cluster-page"),on=o.memo(pn),cn=function(e){(0,s.A)(n,e);var t=(0,i.A)(n);function n(){var e;(0,r.A)(this,n);for(var a=arguments.length,s=new Array(a),i=0;i<a;i++)s[i]=arguments[i];return(e=t.call.apply(t,[this].concat(s))).state={width:"large"},e.contentPaneRef=o.createRef(),e.onResize=function(){var t=e.props.splitScreen,n=document.querySelector("#elements-toolbar");if(t.isSplit&&n){var r=document.getElementById(ne.g).clientWidth+10;n.style.right="".concat(r,"px")}else n&&(n.style.right="0");window.dispatchEvent(new Event("resize"))},e.handleSplit=function(){e.onResize(),window.dispatchEvent(new Event("scroll")),e.updateWidthModifier()},e.onResizeEnd=function(t){e.props.setSetting(vt.Ou.NAVIGATION.CLUSTER_PAGE_PANE_SIZES,vt.dK.NAVIGATION,t),e.updateWidthModifier()},e.getInitialSizes=function(){return e.props.clusterPagePaneSizes},e}return(0,a.A)(n,[{key:"componentDidMount",value:function(){var e=this.props.cluster;this.props.updateCluster(e)}},{key:"getSnapshotBeforeUpdate",value:function(e){return e.splitScreen.isSplit!==this.props.splitScreen.isSplit?this.props.splitScreen.isSplit?window.pageYOffset:this.contentPaneRef.current.scrollTop:null}},{key:"componentDidUpdate",value:function(e,t,n){null!==n&&(this.props.splitScreen.isSplit&&(this.contentPaneRef.current.scrollTop=n),window.scrollBy(0,n));var r=e.cluster,a=this.props.cluster;a!==r&&this.props.updateCluster(a)}},{key:"componentWillUnmount",value:function(){this.props.updateTitle({path:"",page:""}),this.props.unmountCluster()}},{key:"updateWidthModifier",value:function(){var e,t=(null===(e=this.contentPaneRef.current)||void 0===e?void 0:e.clientWidth)||1/0;t<=720?this.setState({width:"small"}):t<=1024?this.setState({width:"medium"}):this.setState({width:"large"})}},{key:"isParamsLoading",value:function(){var e=this.props;return e.cluster!==e.paramsCluster}},{key:"renderContent",value:function(e){var t,n=this.props,r=n.cluster,a=n.startingPage,s=n.isLoaded,i=n.hasError,u=n.paramsError,l=n.allowChyt,p=n.allowQueryTracker;return s&&!this.isParamsLoading()?(0,se.jsxs)(o.Fragment,{children:[(0,se.jsx)(rn,{}),(0,se.jsx)(on,{to:"/".concat(r,"/").concat(ne.YW.BAN)}),(0,se.jsxs)(c.dO,{children:[(0,se.jsx)(c.qh,{path:"/:cluster/".concat(ne.YW.BAN),component:m}),(0,se.jsx)(c.qh,{path:"/:cluster/".concat(ne.YW.COMPONENTS),component:E}),(0,se.jsx)(c.qh,{path:"/:cluster/".concat(ne.YW.OPERATIONS),component:g}),(0,se.jsx)(c.qh,{path:"/:cluster/".concat(ne.YW.JOB),component:X}),(0,se.jsx)(c.qh,{path:"/:cluster/".concat(ne.YW.DASHBOARD),component:O}),(0,se.jsx)(c.qh,{path:"/:cluster/".concat(ne.YW.SYSTEM),component:b}),(0,se.jsx)(c.qh,{path:"/:cluster/".concat(ne.YW.ACCOUNTS),component:x}),(0,se.jsx)(c.qh,{path:["/:cluster/".concat(ne.YW.TABLET_CELL_BUNDLES),"/:cluster/".concat(ne.YW.CHAOS_CELL_BUNDLES)],component:V}),(0,se.jsx)(c.qh,{path:"/:cluster/".concat(ne.YW.NAVIGATION),component:j}),(0,se.jsx)(c.qh,{path:"/:cluster/".concat(ne.YW.PATH_VIEWER),component:z}),(0,se.jsx)(c.qh,{path:"/:cluster/".concat(ne.YW.TABLET),component:B}),(0,se.jsx)(c.qh,{path:"/:cluster/".concat(ne.YW.USERS),component:Y}),(0,se.jsx)(c.qh,{path:"/:cluster/".concat(ne.YW.GROUPS),component:W}),(0,se.jsx)(c.qh,{path:"/:cluster/".concat(ne.YW.SCHEDULING),component:F}),l&&(0,se.jsx)(c.qh,{path:"/:cluster/".concat(ne.YW.CHYT),component:$}),p&&(0,se.jsx)(c.qh,{path:"/:cluster/".concat(ne.YW.QUERIES),component:K}),(0,oe.CW)()&&(0,se.jsx)(c.qh,{path:"/:cluster/".concat(ie.m.pageId),component:ie.m.reactComponent}),(0,se.jsx)(c.rd,{from:"/:cluster/".concat(ne.YW.VERSIONS),to:"/:cluster/".concat(ne.YW.COMPONENTS,"/versions")}),(t=[],ae.Ay.getExtaClusterPages().forEach((function(e,n){var r=e.pageId,a=e.reactComponent;t.push((0,se.jsx)(c.qh,{path:"/:cluster/".concat(r),component:a},n))})),t),(0,se.jsx)(c.rd,{from:"/".concat(r,"/"),to:"/".concat(r,"/").concat(a)})]}),(0,se.jsx)(c.qh,{path:"/:cluster/:page/:tab?",component:Ct})]}):(0,se.jsxs)(o.Fragment,{children:[(0,se.jsx)("div",{className:sn("preloader"),children:i?(0,se.jsx)(jt,{}):(0,se.jsxs)("p",{className:sn("loading-text"),children:["Loading ",null==e?void 0:e.id,"..."]})}),(0,se.jsx)("div",{className:sn("error"),children:u&&(0,se.jsx)(_t.A,{error:u})})]})}},{key:"render",value:function(){var e=this.props,t=e.cluster,n=e.splitScreen,r=e.clusters,a=ae.Ay.renderAppFooter(),s=(0,$e.Jc)(r,t);return(0,se.jsxs)(o.Fragment,{children:[(0,se.jsx)(dn,{}),(0,se.jsx)(yt.J,{cluster:t}),(0,se.jsx)(ht,{cluster:t}),(0,se.jsxs)(Ot.A,{className:sn("panes-wrapper",{"with-pane":n.isSplit,"with-footer":Boolean(a)}),paneClassNames:n.paneClassNames,direction:Ot.A.HORIZONTAL,onResize:this.onResize,onResizeEnd:this.onResizeEnd,onSplit:this.handleSplit,onUnSplit:this.handleSplit,minSize:600,getInitialSizes:this.getInitialSizes,id:ne.g,children:[(0,se.jsx)("div",{ref:this.contentPaneRef,className:sn("content-pane",{split:n.isSplit&&"yes",width:this.state.width}),children:(0,se.jsx)(pt,{cluster:t,children:this.renderContent(s)})}),null]}),a]})}}]),n}(o.Component),un={setSetting:mt.ZC,trackVisit:gt,splitMenuItemsAction:Et,joinMenuItemsAction:St,updateTitle:Je.ar,updateCluster:function(e){return function(t,n){var r=function(e){var n;e instanceof Error&&console.error(e),t({type:ne.pw.FAILURE,data:{error:(null==e||null===(n=e.response)||void 0===n?void 0:n.data)||e}})};return t({type:ne.pw.REQUEST}),new qt.CT(e,Ft.c.CLUSTER_PARAMS).fetch(qt.Vu.ui_clusterInfo,Bt.A.request({url:"/api/cluster-info/"+e,method:"GET"})).then((function(a){var s,i=a.data,o=i.token,c=i.tokenError,u=i.version,l=i.versionError;if(Jt++&&t({type:Mt.A4,data:{shouldUsePreserveState:(0,ye.qP)(n())}}),!u||l)t({type:ne.pw.FAILURE,data:{errorType:ne.NZ.CONNECTION,error:l}});else{if(t({type:ne.pw.SUCCESS,data:{version:u}}),Se.A.parameters.version=u,Se.A.cluster=e,null!=o&&o.csrf_token&&!c){var p=o.login,d=o.csrf_token;return Se.A.parameters.login=p,t({type:Ht.wV,data:{login:p}}),ct().set((0,$e.fc)(e),d),t((s={cluster:e,login:p},function(){var e=(0,A.A)(T().mark((function e(t,n){var r;return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t(Xt(s.cluster));case 2:return e.next=4,t((0,Je.ar)({cluster:s.cluster,path:"",page:""}));case 4:return e.next=6,t((0,mt.qP)(s.login));case 6:r=n(),(0,ye.pt)(r)||(t((0,mt.ZC)(vt.Ou.DEVELOPMENT.REDIRECT_TO_BETA_SWITCHED,vt.dK.DEVELOPMENT,!0)),t((0,mt.ZC)(vt.Ou.DEVELOPMENT.REDIRECT_TO_BETA,vt.dK.DEVELOPMENT,!0))),(0,ye.xS)(r)?t(Et("cluster")):t(St("clusters")),(0,ye.AT)(r)?t(Et("page")):t(St("pages")),t(gt("cluster",s.cluster));case 11:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}())).then((function(){return t({type:ne.pw.FINAL_SUCCESS})})).catch(r)}ct().remove((0,$e.fc)(e)),t({type:ne.pw.FAILURE,data:{errorType:ne.NZ.AUTHENTICATION,error:c||new Error("Failed to get CSRF-token")}})}return Promise.resolve()})).catch(r)}},unmountCluster:function(){return function(e){Se.A.parameters.version="",Se.A.cluster="",e({type:Ht.wV,data:{cluster:void 0}})}}};const ln=(0,d.Ng)((function(e){var t=e.global,n=t.login,r=t.maintenancePageEvent,a=t.splitScreen,s=t.loadState,i=t.error,o=t.paramsCluster,c=t.paramsLoading,u=t.paramsError;return{clusters:e.clustersMenu.clusters,isLoaded:!c&&s===ne.EG.LOADED,hasError:s===ne.EG.ERROR,error:i,paramsError:u,login:n,splitScreen:a,maintenancePageEvent:r,clusterPagePaneSizes:(0,ye.uE)(e),startingPage:(0,ye.WC)(e),paramsCluster:o,allowQueryTracker:(0,te.Bv)(e),allowChyt:Boolean((0,te.jU)(e).chyt_controller_base_url)}}),un)(cn);function pn(e){var t=e.to,n=(0,d.d4)((function(e){return e.global})),r=n.blocked,a=n.banned,s=(0,c.zy)().pathname;return!a&&!r||s.endsWith("/ban")?null:(0,se.jsx)(c.rd,{to:t})}function dn(){var e=(0,d.d4)((function(e){return e.global.loadState})),t=(0,d.d4)((function(e){return e.global.paramsLoading})),n=e===ne.EG.ERROR||!t&&e===ne.EG.LOADED,r=(0,Rt.x)();return(0,an.gj)({type:Ft.c.CLUSTER_PARAMS,subPage:"ui.".concat(r),allowStop:function(e){return!(0,p.A)(e,1)[0]},startDeps:[n]}),(0,an.ol)({type:Ft.c.CLUSTER_PARAMS,allowStop:function(e){return(0,p.A)(e,1)[0]},stopDeps:[n]}),null}var fn=function(e){(0,s.A)(n,e);var t=(0,i.A)(n);function n(){return(0,r.A)(this,n),t.apply(this,arguments)}return(0,a.A)(n,[{key:"render",value:function(){return(0,se.jsxs)(c.dO,{children:[l()(ae.Ay.getExtraRootPages(),(function(e,t){var n=e.pageId,r=e.reactComponent;return r?(0,se.jsx)(c.qh,{path:"/".concat(n),component:r},t):null})),(0,oe.CW)()&&(0,se.jsx)(c.qh,{path:"/".concat(ie.V.pageId),component:ie.V.reactComponent}),(0,se.jsx)(c.qh,{path:"/:cluster/",render:function(e){var t=e.match.params.cluster;return(0,se.jsx)(ln,{cluster:t},t)}})]})}}]),n}(o.PureComponent)},13685:(e,t,n)=>{n.d(t,{rN:()=>T,Tt:()=>A,Bx:()=>v});var r=n(13322),a=n(77810),s=n(15647),i=n(31470),o=n.n(i),c=n(28407),u=n(29121),l=n(12937),p=n(70232),d=n.n(p),f=function(){function e(t,n,r){var a=this;(0,u.A)(this,e),this.callback=void 0,this.timeout=void 0,this.options=void 0,this.inProgress=!1,this.lastCallTime=0,this.frozen=!1,this.timerId=void 0,this.onVisibilityChange=function(){document.hidden?a.freeze():a.unfreeze()},this.freeze=function(){a.frozen=!0},this.unfreeze=function(){a.frozen=!1,!a.inProgress&&Date.now()-a.lastCallTime>=a.timeout&&a.repeat()},this.repeat=(0,c.A)(d().mark((function e(){var t,n;return d().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(window.clearTimeout(a.timerId),!a.frozen){e.next=3;break}return e.abrupt("return");case 3:if(e.prev=3,a.inProgress=!0,0!==a.lastCallTime&&null!==(t=a.options)&&void 0!==t&&t.getSkipNextCall()){e.next=8;break}return e.next=8,null===(n=a.callback)||void 0===n?void 0:n.call(a);case 8:return e.prev=8,a.inProgress=!1,a.lastCallTime=Date.now(),a.timerId=window.setTimeout(a.repeat,a.timeout),e.finish(8);case 13:case"end":return e.stop()}}),e,null,[[3,,8,13]])}))),this.callback=t,this.timeout=Math.max(3e3,n),this.options=r,document.addEventListener("visibilitychange",this.onVisibilityChange),this.repeat()}return(0,l.A)(e,[{key:"destroy",value:function(){document.removeEventListener("visibilitychange",this.onVisibilityChange),window.clearTimeout(this.timerId),delete this.callback,delete this.options}}]),e}(),h=n(29730),m=3e4;function A(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.timeout,r=void 0===n?m:n,i=t.destructFn,o=t.onlyOnce,c=(0,s.d4)(h.ie),u=a.useRef({skipNextCall:!c});u.current.skipNextCall=!c,a.useEffect((function(){var t;return o?null==e||e():t=e?new f(e,r,{getSkipNextCall:function(){return u.current.skipNextCall}}):void 0,function(){var e;null===(e=t)||void 0===e||e.destroy(),null==i||i()}}),[e,r,i,o])}function v(e,t){for(var n=arguments.length,s=new Array(n>2?n-2:0),i=2;i<n;i++)s[i-2]=arguments[i];var o=T.apply(void 0,s);A(a.useCallback((function(){null==e||e.apply(void 0,(0,r.A)(o))}),[e,o]),t)}function T(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];var r=a.useRef(t);return a.useMemo((function(){return o()(r.current,t)||(r.current=t),r.current}),[t])}},11896:(e,t,n)=>{n.d(t,{c:()=>r});var r={CLUSTER_PARAMS:"CLUSTER_PARAMS",ACCOUNTS:"ACCOUNTS_",NAVIGATION_PRELOAD:"NAVIGATION_PRELOAD",NAVIGATION_CONTENT_DOCUMENT:"NAVIGATION_CONTENT_DOCUMENT",NAVIGATION_CONTENT_FILE:"NAVIGATION_CONTENT_FILE",NAVIGATION_CONTENT_LINK:"NAVIGATION_CONTENT_LINK",NAVIGATION_CONTENT_MAP_NODE:"NAVIGATION_CONTENT_MAP_NODE_",NAVIGATION_CONTENT_REPLICATED_TABLE:"NAVIGATION_CONTENT_REPLICATED_TABLE",NAVIGATION_CONTENT_TABLE_STATIC:"NAVIGATION_CONTENT_TABLE_STATIC",NAVIGATION_CONTENT_TABLE_DYNAMIC:"NAVIGATION_CONTENT_TABLE_DYNAMIC",NAVIGATION_CONTENT_TRANSACTION:"NAVIGATION_CONTENT_TRANSACTION",NAVIGATION_CONTENT_TRANSACTION_MAP:"NAVIGATION_CONTENT_TRANSACTION_MAP",NAVIGATION_TAB_ACL:"NAVIGATION_TAB_ACL",NAVIGATION_TAB_ACL_ACCESS:"NAVIGATION_TAB_ACL_ACCESS",NAVIGATION_TAB_ANNOTATION:"NAVIGATION_TAB_ANNOTATION",NAVIGATION_TAB_ATTRIBUTES:"NAVIGATION_TAB_ATTRIBUTES",NAVIGATION_TAB_USER_ATTRIBUTES:"NAVIGATION_TAB_USER_ATTRIBUTES",NAVIGATION_TAB_LOCKS:"NAVIGATION_TAB_LOCKS",NAVIGATION_TAB_SCHEMA:"NAVIGATION_TAB_SCHEMA",NAVIGATION_TAB_TABLETS:"NAVIGATION_TAB_TABLETS",NAVIGATION_TAB_TABLET_ERRORS:"NAVIGATION_TAB_TABLET_ERRORS",OPERATIONS_LIST:"OPERATIONS_LIST_",OPERATION:"OPERATION",OPERATION_TAB_DETAILS:"OPERATION_TAB_DETAILS",OPERATION_TAB_ATTRIBUTES:"OPERATION_TAB_ATTRIBUTES",OPERATION_TAB_SPECIFICATION:"OPERATION_TAB_SPECIFICATION",OPERATION_TAB_STATISTICS:"OPERATION_TAB_STATISTICS",OPERATION_TAB_MONITOR:"OPERATION_TAB_MONITOR",OPERATION_TAB_PARTITION_SIZES:"OPERATION_TAB_PARTITION_SIZES",OPERATION_TAB_JOB_SIZES:"OPERATION_TAB_JOB_SIZES",OPERATION_TAB_JOBS:"OPERATION_TAB_JOBS",SCHEDULING:"SCHEDULING_",SCHEDULING_OVERVIEW:"SCHEDULING_OVERVIEW",SCHEDULING_DETAILS:"SCHEDULING_DETAILS",SCHEDULING_MONITOR:"SCHEDULING_MONITOR",SCHEDULING_ACL:"SCHEDULING_ACL",YQL_KIT_WIDGET:"YQL_KIT_WIDGET"}}}]);
|
2
|
-
//# sourceMappingURL=cluster-page-wrapper.ee23d43b.chunk.js.map
|
@@ -1,2 +0,0 @@
|
|
1
|
-
"use strict";(self.webpackChunk_ytsaurus_ui=self.webpackChunk_ytsaurus_ui||[]).push([[583],{36810:(e,r,n)=>{n.d(r,{A:()=>u});var t=n(77810),a=n(76872),o=n(60620),s=n(64922),i=(0,a.A)("expand-icon");function u(e){var r=e.className,n=e.data,a=e.expanded,u=e.visible,l=e.onClick,c=a?"angle-up":"angle-down",d=t.useCallback((function(){l&&l(n)}),[n,l]);return(0,s.jsx)("span",{className:i({visible:Boolean(u),clickable:void 0!==l},r),onClick:d,children:(0,s.jsx)(o.A,{awesome:c})})}},59965:(e,r,n)=>{n.r(r),n.d(r,{GroupsPage:()=>Te});var t=n(77810),a=n(76872),o=n(83534),s=n(29121),i=n(12937),u=n(10785),l=n(26718),c=n(15647),d=n(9736),m=n(40319),p=n(53144),f=n.n(p),v=n(49214),g=n.n(v),h=n(39760),b=n.n(h),A=n(30650),y=n(52797),N=n(13322),x=n(3009),C=n.n(x),j=n(27528),E=n.n(j),M=n(29347),S=n.n(M),k=n(18472),w=n(44458),z=n(6184),G=n(73822),D=n(53332),T=function(e){return e.groups.table.nameFilter},F=function(e){return e.groups.table.sort},I=function(e){return e.groups.table.expanded},R=(0,k.Mz)([function(e){return e.groups.table.groups}],(function(e){var r=e.reduce((function(e,r){return e[r.name]=(0,m.A)((0,m.A)({},r),{},{children:[],leaves:[]}),e}),{}),n={children:[],leaves:[],name:""};r[A.Tb]=n;var t={};return b()(r,(function(e){if(e!==n){var a=e.memberOf,o=void 0===a?[]:a;0===o.length&&(o=[A.Tb]),o.forEach((function(n){t[n]=!0;var a=(0,m.A)((0,m.A)({},e),{},{parent:n});r[n].children.push(a),e.parent=n}))}})),G.A.treeList.treeForEach(r[A.Tb],(function(e,r){e.shift=r-1,e.hasChildren=t[e.name]})),r})),_=(0,k.Mz)([R,T],(function(e,r){var n=e[A.Tb],t=S()([r&&function(e){return e===n||-1!==e.name.indexOf(r)}]);return G.A.treeList.filterTree(n,z.concatByAnd.apply(void 0,(0,N.A)(t)))})),O=(0,k.Mz)([_,I],(function(e,r){var n=C()(e);return G.A.treeList.treeForEach(n.children,(function(e){var n=e.name;r[n]||(e.children=[])})),n})),L={name:{get:function(e){return e.name},compareFn:w.IP},idm:{get:function(e){return e.idm},compareFn:w.IP},size:{get:function(e){var r=e.members;return(void 0===r?[]:r).length}}},B=(0,k.Mz)([O,F],(function(e,r){var n=r.column,t=r.order,a=(0,w.fA)(t),o=a.orderK,s=a.undefinedOrderK;return G.A.treeList.sortTree((0,m.A)({},e),{field:n,asc:1===o,undefinedAsk:1===s},L)})),P=(0,k.Mz)([B],(function(e){return G.A.treeList.flattenTree(e)})),U=function(e){return e.groups.editor.groupName.length>0},V=function(e){return e.groups.editor.groupName},H=function(e){var r;return D.Mv.get(null===(r=e.groups.editor.data.$attributes)||void 0===r?void 0:r.upravlyator_managed)},q=function(e){return e.groups.editor.idmData},Q=(0,k.Mz)([q],(function(e){var r=e.group,n=r.members,t=r.responsible;return{responsible:E()(t,(function(e){return e.subject})),members:E()(n,(function(e){return e.subject}))}})),$=(0,k.Mz)([q],(function(e){var r=e.group,n=r.members;return{responsible:r.responsible,members:n}})),K=n(88681),W=n(64714),X=n(7787),Z=["member_of","members","upravlyator_managed"];function J(e,r,n){if(r&&r.length||n&&n.length){var t,a,o,s=(t=n,a=new Map,o=new Map,b()(t,(function(e){var r=e,n=r.user,t=r.group;n?a.set(n,e):o.set(t,e)})),[a,o]),i=(0,d.A)(s,2),u=i[0],l=i[1],c=g()(e,(function(e){var r=e,n=r.user,t=r.group;return n?!u.has(n):!l.has(t)}));return f()(c,r)}}var Y=n(69835),ee=n(84162),re=n(33023),ne=n(64922),te=(0,a.A)("groups-page-filters"),ae=function(e){(0,u.A)(n,e);var r=(0,l.A)(n);function n(){return(0,s.A)(this,n),r.apply(this,arguments)}return(0,i.A)(n,[{key:"render",value:function(){var e=this.props,r=e.className,n=e.groupFilter;return(0,ne.jsx)(Y.A,{children:(0,ne.jsx)(re.M,{className:te(null,r),itemsToWrap:[{name:"group",node:(0,ne.jsx)(ee.A,{hasClear:!0,size:"m",type:"text",value:n,placeholder:"Enter group...",onChange:this.props.setGroupsNameFilter}),wrapperClassName:te("item")}]})})}}]),n}(t.Component),oe={setGroupsNameFilter:function(e){return{type:A.Nm,data:{nameFilter:e}}}};const se=(0,c.Ng)((function(e){return{groupFilter:T(e)}}),oe)(ae);var ie=n(27222),ue=n(57614),le=n(14880),ce=n(34413),de=n(62640),me=n(77318),pe=n(95664),fe=n(36810),ve=n(60620),ge=n(76426),he=n(34380),be=n(63588),Ae=n(20361),ye=(0,a.A)("group-editor-dialog"),Ne=function(e){(0,u.A)(n,e);var r=(0,l.A)(n);function n(){var e;(0,s.A)(this,n);for(var t=arguments.length,a=new Array(t),o=0;o<t;o++)a[o]=arguments[o];return(e=r.call.apply(r,[this].concat(a))).onSubmit=function(r){var n=e.props,t=n.groupName,a=n.saveGroupData,o=r.getState().values,s=o.members,i=s.members,u=s.membersComment,l=(0,Ae.lN)(i),c=l.added,d=l.removed,m=o.responsibles,p=m.responsibles,f=m.responsiblesComment,v=(0,Ae.lN)(p),g=v.added,h=v.removed,b="";return u&&(b+=f?"**COMMENT FOR MEMBERS**\n":"",b+="".concat(u,"\n\n")),f&&(b+=u?"**COMMENT FOR RESPONSIBLES**\n":"",b+="".concat(f)),a(t,c,d,g,h,b).then((function(){}))},e}return(0,i.A)(n,[{key:"render",value:function(){var e=this.props,r=e.visible,n=e.closeGroupEditorModal,t=e.groupName,a=e.idm,o=e.members,s=e.otherMembers,i=e.responsible;return(0,ne.jsx)(Ae.yZ,{size:"l",className:ye(null),pristineSubmittable:!1,visible:r,headerProps:{title:t},onClose:n,onAdd:this.onSubmit,initialValues:{details:{idm:String(a||"-"),size:String(o.length)},responsibles:{responsibles:(0,Ae.D7)(i)},members:{members:(0,Ae.D7)(o,s)}},fields:[{type:"tab-vertical",name:"details",title:"Details",fields:[{name:"idm",type:"plain",caption:"Idm managed"},{name:"size",type:"plain",caption:"Size"}]},{type:"tab-vertical",name:"responsibles",title:"Responsibles",fields:[{name:"responsibles",type:"acl-roles",caption:"Responsibles",extras:{placeholder:"Enter login or name"}},{name:"responsiblesComment",type:"textarea",caption:"Comment for IDM"}]},{type:"tab-vertical",name:"members",title:"Members",fields:[{name:"members",type:"acl-roles",caption:"Members",extras:{placeholder:"Enter login or name"}},{name:"membersComment",type:"textarea",caption:"Comment for IDM"}]}]})}}]),n}(t.Component),xe={closeGroupEditorModal:function(){return{type:A.IX,data:{groupData:void 0,groupName:""}}},saveGroupData:function(e,r,n,t,a,o){return function(s,i){var u=i(),l=Q(u),c=l.members,d=l.responsible,m=function(e){return e.groups.editor.idmData.version}(u),p=J(c,r,n),f=J(d,t,a),v=(0,y.dB)(u);return X.Ay.getAclApi().updateGroup({cluster:v,groupName:e,version:m,groupDiff:{members:p,responsible:f},comment:o})}}};const Ce=(0,c.Ng)((function(e){var r=function(e){return e.groups.editor.idmData.group.other_members}(e),n=$(e),t=n.responsible,a=n.members;return{visible:U(e),groupName:V(e),idm:H(e),members:a,responsible:t,otherMembers:r}}),xe)(Ne);var je=n(29081),Ee=(0,a.A)("groups-page-table"),Me={displayIndices:!1,stickyHead:ie.Ay.MOVING,stickyTop:o.kB,syncHeadOnResize:!0,dynamicRender:!0},Se={name:"Name",idm:"IDM",size:"Size",responsibles:"Responsible users",actions:""};function ke(e){var r=e.className,n=e.groupname,a=e.edit,o=t.useCallback((function(){a(n)}),[n,a]);return(0,ne.jsxs)("div",{className:r,children:[(0,ne.jsx)(le.A,{title:n,path:"//sys/groups/".concat(n)}),a&&(0,ne.jsx)(ge.A,{onClick:o,className:Ee("edit-action"),children:(0,ne.jsx)(ve.A,{awesome:"pencil-alt"})})]})}var we=function(e){(0,u.A)(n,e);var r=(0,l.A)(n);function n(){var e;(0,s.A)(this,n);for(var t=arguments.length,a=new Array(t),o=0;o<t;o++)a[o]=arguments[o];return(e=r.call.apply(r,[this].concat(a))).onColumnSort=function(r,n){(0,e.props.setGroupsPageSorting)(r,n)},e.toggleExpand=function(r){(0,e.props.toggleGroupExpand)(r)},e.onEdit=function(r){(0,e.props.openGroupEditorModal)(r)},e}return(0,i.A)(n,[{key:"componentDidMount",value:function(){(0,this.props.fetchGroups)()}},{key:"renderColumnHeader",value:function(e,r){var n=this.props.sort,t=n.column,a=n.order,o=e===t;return(0,ne.jsx)(ce.A,{className:Ee("header-cell",{col:e,sortable:r},"data-table__head-cell"),column:e,title:Se[e],order:o?a:"",onSort:this.onColumnSort})}},{key:"renderNameCell",value:function(e,r){var n=r.row,t=n.name,a=n.shift,o=n.hasChildren,s=n.expanded;return(0,ne.jsxs)("div",{className:Ee("content",{col:e,shift:String(a),level:String(Math.min(10,a))}),children:[(0,ne.jsx)(fe.A,{data:t,visible:o,onClick:this.toggleExpand,expanded:s}),(0,ne.jsx)(he.m,{content:t,children:(0,ne.jsx)("span",{className:Ee("group-name"),children:t})})]})}},{key:"renderIdmCell",value:function(e,r){var n=r.row.idm;return(0,ne.jsx)("div",{className:Ee("content",{col:e}),children:(0,ne.jsx)("div",{className:Ee(e),children:n&&n.toString()})})}},{key:"renderUsersCell",value:function(e,r){var n=r.row[e];return(0,ne.jsx)("div",{className:Ee("content",{col:e}),children:(0,ne.jsx)(de.A,{className:Ee("groups"),items:n,itemRenderer:function(e){return e.startsWith("idm-group:")?e:(0,ne.jsx)(pe.R,{name:e})}})})}},{key:"renderSizeCell",value:function(e,r){var n=r.row.members;return(0,ne.jsx)("div",{className:Ee("content",{col:e}),children:(0,ne.jsx)("span",{children:n.length})})}},{key:"renderActionsCell",value:function(e,r){var n=r.row,t=n.name,a=n.idm;return(0,ne.jsx)(ke,{className:Ee("content",{col:e}),edit:a?this.onEdit:void 0,groupname:t})}},{key:"renderTable",value:function(){var e=this,r=this.props,n=r.loaded,t=r.loading,a=r.groups,o=function(r){var n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return{name:r,align:ie.Ay.LEFT,sortable:!1,className:Ee("td",{col:r.toLowerCase()}),header:e.renderColumnHeader(r,!n)}},s=[(0,m.A)((0,m.A)({},o("name")),{},{render:this.renderNameCell.bind(this,"name")})].concat((0,N.A)((0,je.Gq)()?[(0,m.A)((0,m.A)({},o("idm")),{},{render:this.renderIdmCell.bind(this,"idm")})]:[]),[(0,m.A)((0,m.A)({},o("members",!0)),{},{render:this.renderUsersCell.bind(this,"members")}),(0,m.A)((0,m.A)({},o("size")),{},{render:this.renderSizeCell.bind(this,"size")})],(0,N.A)((0,je.Gq)()?[(0,m.A)((0,m.A)({},o("actions")),{},{header:"",render:this.renderActionsCell.bind(this,"actions")})]:[]));return(0,ne.jsx)(me.Ay,{loaded:n,loading:t,data:a,columns:s,settings:Me,theme:"yt-internal"})}},{key:"render",value:function(){var e=this.props,r=e.className,n=e.error,t=e.showEditor;return(0,ne.jsxs)(Y.A,{children:[(0,ne.jsx)("div",{className:Ee(null,r),children:(0,ne.jsx)(be.A,{loaded:!0,error:Boolean(n),errorData:n||void 0,children:this.renderTable()})}),t&&(0,ne.jsx)(Ce,{})]})}}]),n}(t.Component),ze={fetchGroups:function(){return function(e){return e({type:A.kw.REQUEST}),(0,K.AD)(W.Vu.groupsData,{attributes:Z}).then((function(r){var n=[];return b()(r,(function(e){var r=e.$value,t=e.$attributes,a=t.members,o=t.member_of,s=void 0===o?[]:o,i=t.upravlyator_managed;a.sort(),n.push({name:r,members:a,memberOf:s,idm:D.Mv.get(i||!1)})})),e({type:A.kw.SUCCESS,data:{groups:n}})})).catch((function(r){e({type:A.kw.FAILURE,data:{error:r}})}))}},setGroupsPageSorting:function(e,r){return{type:A.Nm,data:{sort:{column:e,order:r}}}},toggleGroupExpand:function(e){return function(r,n){var t=(0,m.A)({},I(n()));return t[e]?delete t[e]:t[e]=!0,r({type:A.Nm,data:{expanded:t}})}},openAttributesModal:ue.V6,openGroupEditorModal:function(e){return function(r,n){var t=n();r({type:A.IX,data:{showModal:!0,groupName:e}}),r({type:A.NV.REQUEST});var a="//sys/groups/".concat(e);return Promise.all([W.Qq.get(W.Vu.groupsEditData,{path:a,attributes:Z}),X.Ay.getAclApi().getGroupAcl((0,y.dB)(t),e)]).then((function(e){var n=(0,d.A)(e,2),t=n[0],a=n[1];return r({type:A.NV.SUCCESS,data:{data:t,idmData:a}})})).catch((function(e){return r({type:A.NV.FAILURE,data:e})}))}}};const Ge=(0,c.Ng)((function(e){var r=function(e){return e.groups.table}(e);return{loaded:r.loaded,loading:r.loading,error:r.error,groups:P(e),sort:F(e),showEditor:U(e)}}),ze)(we);var De=(0,a.A)("groups-page");function Te(){return(0,ne.jsx)("div",{className:De(null,"elements-main-section"),children:(0,ne.jsx)(o.Ay,{className:"elements-section",toolbar:(0,ne.jsx)(se,{}),content:(0,ne.jsx)(Ge,{})})})}}}]);
|
2
|
-
//# sourceMappingURL=groups.ea480cb3.chunk.js.map
|