@ytsaurus/ui 1.75.0 → 1.75.1
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 +11 -11
- package/dist/public/build/css/scheduling.00ec9179.chunk.css +2 -0
- package/dist/public/build/css/scheduling.00ec9179.chunk.css.map +1 -0
- package/dist/public/build/js/{7959.fedd6b2e.chunk.js → 7959.95ebd185.chunk.js} +2 -2
- package/dist/public/build/js/7959.95ebd185.chunk.js.map +1 -0
- package/dist/public/build/js/acl.c948c339.chunk.js +2 -0
- package/dist/public/build/js/acl.c948c339.chunk.js.map +1 -0
- package/dist/public/build/js/{navigation.105812b5.chunk.js → navigation.d891266d.chunk.js} +2 -2
- package/dist/public/build/js/navigation.d891266d.chunk.js.map +1 -0
- package/dist/public/build/js/{runtime.1c3fbd5b.js → runtime.481a6d3a.js} +2 -2
- package/dist/public/build/js/{runtime.1c3fbd5b.js.map → runtime.481a6d3a.js.map} +1 -1
- package/dist/public/build/manifest.json +10 -10
- package/dist/server/components/oauth.d.ts +2 -1
- package/dist/server/components/oauth.js +15 -7
- package/dist/server/controllers/oauth-login.js +8 -3
- package/package.json +2 -2
- package/dist/public/build/css/scheduling.40c36db6.chunk.css +0 -2
- package/dist/public/build/css/scheduling.40c36db6.chunk.css.map +0 -1
- package/dist/public/build/js/7959.fedd6b2e.chunk.js.map +0 -1
- package/dist/public/build/js/acl.dd99876f.chunk.js +0 -2
- package/dist/public/build/js/acl.dd99876f.chunk.js.map +0 -1
- package/dist/public/build/js/navigation.105812b5.chunk.js.map +0 -1
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"js/7959.95ebd185.chunk.js","mappings":"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","sources":["webpack://@ytsaurus/ui/./src/ui/components/AttributesButton/AttributesButton.tsx","webpack://@ytsaurus/ui/./src/ui/components/NumberInput/NumberInput.tsx","webpack://@ytsaurus/ui/./src/ui/components/QuotaEditor/QuotaEditor.tsx","webpack://@ytsaurus/ui/./src/ui/components/QuotaEditor/QuotaEditorWithHide.tsx","webpack://@ytsaurus/ui/./src/ui/components/SortIcon/SortIcon.tsx","webpack://@ytsaurus/ui/./src/ui/components/Suggest/Suggest.tsx","webpack://@ytsaurus/ui/./src/ui/components/Text/Text.tsx","webpack://@ytsaurus/ui/./src/ui/pages/accounts/AccountLink.tsx","webpack://@ytsaurus/ui/./src/ui/pages/accounts/AccountsSuggest.tsx","webpack://@ytsaurus/ui/./src/ui/pages/accounts/selector.js","webpack://@ytsaurus/ui/./src/ui/pages/accounts/tabs/general/Editor/content/GeneralContent.tsx","webpack://@ytsaurus/ui/./src/ui/store/actions/accounts/accounts-ts.ts","webpack://@ytsaurus/ui/./src/ui/store/actions/accounts/accounts.js","webpack://@ytsaurus/ui/./src/ui/store/selectors/chaos_cell_bundles/index.ts","webpack://@ytsaurus/ui/./src/ui/store/selectors/chyt/index.ts","webpack://@ytsaurus/ui/./src/ui/store/selectors/favourites.js","webpack://@ytsaurus/ui/./src/ui/utils/accounts/editor.js"],"sourcesContent":["import React from 'react';\n\nimport Button, {ButtonProps} from '../../components/Button/Button';\nimport Icon from '../../components/Icon/Icon';\n\nexport interface AttributesButtonProps extends ButtonProps {}\n\nexport default function AttributesButton({\n view = 'flat-secondary',\n size = 'm',\n ...rest\n}: AttributesButtonProps) {\n return (\n <Button view={view} size={size} {...rest}>\n <Icon awesome=\"at\" />\n </Button>\n );\n}\n","import React from 'react';\nimport cn from 'bem-cn-lite';\n\nimport {TextInput, TextInputProps} from '@gravity-ui/uikit';\nimport {Tooltip} from '../../components/Tooltip/Tooltip';\n\nimport hammer from '../../common/hammer';\n\nimport {parseBytes} from '../../utils';\nimport {KeyCode} from '../../constants';\nimport './NumberInput.scss';\n\nconst block = cn('yt-number-input');\n\nexport function parseValue(rawValue: string, format: NumberInputProps['format']) {\n if (rawValue === '') {\n return undefined;\n }\n const skipSpaces = rawValue.replace(/\\s/g, '');\n return format === 'Bytes' ? parseBytes(skipSpaces) : Number(skipSpaces);\n}\n\nexport function formatValue(\n value: NumberInputProps['value'],\n format?: NumberInputProps['format'],\n settings?: object,\n) {\n if (value === undefined) {\n return '';\n }\n\n const res =\n format === 'Bytes'\n ? hammer.format['Bytes'](value, settings)\n : hammer.format['Number'](value, settings);\n return res === hammer.format.NO_VALUE ? '' : res;\n}\n\nfunction toRawValue(value: NumberInputProps['value']) {\n return value === undefined ? '' : value;\n}\n\nexport interface NumberInputWithErrorProps\n extends Omit<TextInputProps, 'value' | 'onChange' | 'theme' | 'error' | 'defaultValue'> {\n className?: string;\n\n format?: 'Number' | 'Bytes'; // 'Number' by default\n\n formatFn?: (v: NumberInputProps['value']) => string;\n parseFn?: (v: string) => NumberInputWithErrorProps['value'];\n\n decimalPlaces?: number;\n value?: {\n value: number | undefined;\n error?: string;\n };\n\n showDefaultValue?: boolean;\n defaultValue?: number;\n defaultValueClassName?: string;\n\n onChange: (v: NumberInputWithErrorProps['value']) => void;\n onEnterKeyDown?: () => void;\n\n validator?: (v?: number) => string | undefined;\n min?: number;\n max?: number;\n integerOnly?: boolean;\n\n showHint?: boolean;\n\n hidePrettyValue?: boolean;\n preciseInitialRawValue?: boolean;\n\n bottomLineVisibility?: 'visible' | 'hidden' | 'focused';\n\n disabled?: boolean;\n}\n\ninterface State {\n parsedValue?: number;\n parsedError?: string;\n rawValue?: string;\n formattedValue?: string;\n focused?: boolean;\n}\n\nexport class NumberInputWithError extends React.Component<NumberInputWithErrorProps, State> {\n static defaultProps = {\n size: 'm',\n view: 'normal',\n hasClear: true,\n bottomLineVisibility: 'visible',\n };\n\n static getDerivedStateFromProps(\n props: NumberInputWithErrorProps,\n state: State,\n ): Partial<State> | null {\n const {value, format, preciseInitialRawValue, decimalPlaces, formatFn} = props;\n if (state.rawValue === undefined) {\n const formatted = formatFn\n ? formatFn(value?.value)\n : formatValue(value?.value, format, {\n digits: decimalPlaces,\n });\n return {\n parsedValue: value?.value,\n parsedError: NumberInputWithError.errorFromValue(value, props),\n rawValue: preciseInitialRawValue ? toRawValue(value?.value) : formatted,\n formattedValue: formatted,\n };\n }\n\n return null;\n }\n\n static errorFromValue(v: NumberInputWithErrorProps['value'], props: NumberInputWithErrorProps) {\n const {validator = () => undefined, min, max, integerOnly} = props;\n const {value, error} = v || {};\n\n if (error) {\n return error;\n }\n\n if (value === undefined || value === null) {\n return undefined;\n }\n\n try {\n if (isNaN(value)) {\n return 'wrong format';\n }\n\n const error = validator(value);\n if (error) {\n return error;\n }\n } catch (error) {\n return String(error);\n }\n\n if (integerOnly && value % 1 !== 0) {\n return `The value must be an integer`;\n }\n\n if (min !== undefined && value < min) {\n return `The value must be \\u2265 ${min}`;\n }\n\n if (max !== undefined && value > max) {\n return `The value must be \\u2264 ${max}`;\n }\n\n return undefined;\n }\n\n state: State = {parsedValue: NaN};\n\n // eslint-disable-next-line react/sort-comp\n parseValue(rawValue: string): NumberInputWithErrorProps['value'] {\n if (this.props.parseFn) {\n return this.props.parseFn(rawValue);\n }\n return {value: parseValue(rawValue, this.props.format)};\n }\n\n format(value: NumberInputProps['value']) {\n const {format, decimalPlaces, formatFn} = this.props;\n if (formatFn) {\n return formatFn(value);\n }\n return formatValue(value, format, {digits: decimalPlaces});\n }\n\n onChange = (rawValue: string) => {\n const parsedValue = this.parseValue(rawValue);\n const error = NumberInputWithError.errorFromValue(parsedValue, this.props);\n const formattedValue = this.format(parsedValue?.value);\n this.setState({\n parsedValue: parsedValue?.value,\n parsedError: error,\n rawValue,\n formattedValue,\n });\n\n const {onChange} = this.props;\n onChange({value: parsedValue?.value, error});\n };\n\n onBlur = () => {\n this.setState({focused: false});\n };\n\n onFocus = () => {\n this.setState({focused: true});\n };\n\n getRestProps() {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const {value, onChange, min, max, validator, format, defaultValue, ...rest} = this.props;\n return rest;\n }\n\n onKeyDown = (e: React.KeyboardEvent) => {\n if (e.keyCode === KeyCode.ENTER && this.props.onEnterKeyDown) {\n this.props.onEnterKeyDown();\n }\n };\n\n renderMinMaxHint() {\n const {min, max, showHint, size} = this.props;\n const showMin = !isNaN(min!);\n const showMax = !isNaN(max!);\n if (!showHint || (!showMin && !showMax)) {\n return null;\n }\n return (\n <div className={block('hint', {size})}>\n {showMin && (\n <Tooltip content={String(min)} placement={'bottom'}>\n min: <b>{this.format(min)}</b>\n </Tooltip>\n )}\n {showMin && <> </>}\n {showMax && (\n <Tooltip content={String(max)} placement={'bottom'}>\n max: <b>{this.format(max)}</b>\n </Tooltip>\n )}\n </div>\n );\n }\n\n renderPrettyValue() {\n const {size, hidePrettyValue} = this.props;\n const {formattedValue} = this.state;\n\n if (hidePrettyValue) {\n return null;\n }\n\n return <div className={block('pretty-value', {size})}>{formattedValue} </div>;\n }\n\n renderDefaultValue() {\n const {defaultValue, defaultValueClassName} = this.props;\n\n return (\n <TextInput\n disabled\n className={defaultValueClassName}\n value={this.format(defaultValue)}\n pin={'clear-round'}\n />\n );\n }\n\n isBottomLineVisible() {\n const {bottomLineVisibility} = this.props;\n const {focused} = this.state;\n\n return (\n bottomLineVisibility === 'visible' || (focused && bottomLineVisibility === 'focused')\n );\n }\n\n render() {\n const {\n value: propsValue,\n className,\n showHint,\n hidePrettyValue,\n showDefaultValue,\n } = this.props;\n const {parsedError, rawValue, formattedValue, focused} = this.state;\n const rest = this.getRestProps();\n const {size, view, hasClear} = rest;\n\n const {error} = propsValue ?? {};\n\n const err = error || parsedError;\n\n const text = focused ? rawValue : formattedValue;\n\n return (\n <div className={block(null, className)}>\n <div className={block('top')}>\n <TextInput\n {...rest}\n error={err as any}\n autoComplete={false}\n onUpdate={this.onChange}\n onKeyDown={this.onKeyDown}\n hasClear={hasClear}\n value={text}\n size={size}\n view={view}\n onBlur={this.onBlur}\n onFocus={this.onFocus}\n pin={showDefaultValue ? 'round-brick' : undefined}\n />\n {showDefaultValue && this.renderDefaultValue()}\n </div>\n {!err && this.isBottomLineVisible() && (\n <React.Fragment>\n {showHint && (!focused || hidePrettyValue)\n ? this.renderMinMaxHint()\n : this.renderPrettyValue()}\n </React.Fragment>\n )}\n </div>\n );\n }\n}\n\nexport interface NumberInputProps extends Omit<NumberInputWithErrorProps, 'value' | 'onChange'> {\n value: number | undefined;\n onChange: (value: NumberInputProps['value']) => void;\n\n error?: string;\n}\n\nexport default class NumberInput extends React.Component<NumberInputProps> {\n static format(\n value: NumberInputProps['value'],\n format?: NumberInputWithErrorProps['format'],\n settings?: object,\n ) {\n return formatValue(value, format, settings);\n }\n\n render() {\n const {\n value,\n error,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n onChange,\n ...rest\n } = this.props;\n\n return <NumberInputWithError {...rest} onChange={this.onChange} value={{value, error}} />;\n }\n\n onChange: NumberInputWithErrorProps['onChange'] = (v) => {\n this.props.onChange(v?.value);\n };\n}\n","import React from 'react';\nimport cn from 'bem-cn-lite';\n\nimport hammer from '../../common/hammer';\nimport NumberInput, {\n NumberInputProps,\n NumberInputWithError,\n NumberInputWithErrorProps,\n} from '../../components/NumberInput/NumberInput';\n\nimport './QuotaEditor.scss';\n\nconst block = cn('yt-quota-editor');\n\nexport interface QuotaEditorProps {\n className?: string;\n limit: number | undefined;\n\n min?: number;\n max?: number;\n\n error?: string;\n prevLimit?: number;\n format: NumberInputProps['format'];\n decimalPlaces?: number;\n currentAccount: string;\n sourceAccount?: string;\n\n showHint?: boolean;\n\n onChange: (value: {limit?: number; source?: string; error?: string}) => void;\n onEnterKeyDown?: () => void;\n\n getInfoByName: (account: string) => {\n limit?: number;\n total?: number;\n totalChildrenLimit?: number;\n allowChildrenOverCommit?: number;\n };\n\n limitInputTitle?: React.ReactNode;\n sourceSuggestTitle?: React.ReactNode;\n renderSourceSuggest?: (props: SuggestProps) => React.ReactNode;\n sourceSuggestDisabled?: boolean;\n}\n\ninterface SuggestProps {\n value: string;\n onChange: (value?: string) => void;\n disabled?: boolean;\n}\n\nexport default class QuotaEditor extends React.Component<QuotaEditorProps> {\n render() {\n const {\n className,\n format,\n sourceSuggestTitle,\n renderSourceSuggest,\n sourceAccount,\n limitInputTitle,\n showHint,\n error,\n decimalPlaces,\n sourceSuggestDisabled,\n } = this.props;\n\n return (\n <div className={block(null, className)}>\n {renderSourceSuggest && (\n <div className={block('item')}>\n <div className={block('item-title')}>\n {sourceSuggestTitle || 'Account to distribution'}\n </div>\n {renderSourceSuggest({\n value: sourceAccount || '',\n onChange: this.onAccountChange,\n disabled: sourceSuggestDisabled,\n })}\n <div className={block('free')}>\n <React.Fragment>\n Free to distribute\n <span className={block('free-value')}>\n {' '}\n {this.getFreeFormatted()}\n </span>\n </React.Fragment>\n </div>\n </div>\n )}\n <div className={block('item')}>\n <div className={block('item-title')}>\n {limitInputTitle || 'New quota limit'}\n </div>\n <NumberInputWithError\n onChange={this.onBytesChange}\n value={{value: this.getLimit(), error}}\n format={format}\n showHint={showHint}\n min={this.getMinLimit()}\n max={this.getMaxLimit()}\n onEnterKeyDown={this.onEnterKeyDown}\n decimalPlaces={decimalPlaces}\n qa=\"quota-editor-new-limit\"\n />\n </div>\n </div>\n );\n }\n\n private onEnterKeyDown = () => {\n const {onEnterKeyDown = () => {}} = this.props;\n onEnterKeyDown();\n };\n\n private onBytesChange: NumberInputWithErrorProps['onChange'] = (value) => {\n const {onChange, sourceAccount} = this.props;\n onChange({\n limit: value?.value,\n source: sourceAccount,\n error: value?.error || this.checkForError(value?.value, sourceAccount),\n });\n };\n\n private onAccountChange = (source?: string) => {\n const {onChange, limit, error} = this.props;\n onChange({\n limit,\n source,\n error: error || this.checkForError(limit, source),\n });\n };\n\n private getLimit() {\n const {limit, prevLimit} = this.props;\n return limit !== undefined ? limit : prevLimit;\n }\n\n private getFreeImpl() {\n const {sourceAccount} = this.props;\n const info = this.calcLimitTotal(sourceAccount);\n const {limit, total, allowChildrenOverCommit, totalChildrenLimit = 0} = info;\n if (limit === undefined || total === undefined) {\n return {};\n }\n\n if (allowChildrenOverCommit) {\n const free = Math.max(0, limit);\n return {\n free,\n maxValue: free,\n };\n } else {\n const {prevLimit: itemLimit = 0} = this.props;\n const {limit: itemNewLimit = itemLimit} = this.props;\n const free = Math.max(0, limit - totalChildrenLimit);\n return {\n free: free + itemLimit - itemNewLimit,\n maxValue: free + itemLimit,\n };\n }\n }\n\n private getFree() {\n return this.getFreeImpl().free!;\n }\n\n private calcLimitTotal(account = '') {\n return this.props.getInfoByName(account);\n }\n\n private getMinLimit() {\n const {min} = this.props;\n if (min !== undefined) {\n return min;\n }\n\n const {currentAccount, getInfoByName} = this.props;\n const {totalChildrenLimit, total} = getInfoByName(currentAccount);\n const res = (total || 0) + (totalChildrenLimit || 0);\n\n return res;\n }\n\n private getMaxLimit() {\n const {max} = this.props;\n if (max !== undefined) {\n return max;\n }\n return this.getFreeImpl().maxValue!;\n }\n\n private getFreeFormatted() {\n const {sourceAccount} = this.props;\n if (!sourceAccount) {\n return hammer.format.NO_VALUE;\n }\n return NumberInput.format(Number(this.getFree()), this.props.format);\n }\n\n private checkForError(newLimit?: number, srcAccount?: string) {\n if (newLimit === undefined) {\n return undefined;\n }\n\n if (isNaN(newLimit!)) {\n return 'wrong format!';\n }\n\n const {currentAccount} = this.props;\n if (currentAccount === srcAccount) {\n return 'The same source account';\n }\n\n if (newLimit <= this.props.prevLimit!) {\n return undefined;\n }\n\n const maxLimit = this.getMaxLimit();\n\n if (srcAccount && (maxLimit === undefined || newLimit > maxLimit)) {\n return 'New value is too big';\n }\n\n return undefined;\n }\n}\n","import React from 'react';\nimport cn from 'bem-cn-lite';\nimport Icon from '../../components/Icon/Icon';\n\nimport {ClickableText} from '../../components/ClickableText/ClickableText';\nimport Button from '../../components/Button/Button';\nimport NumberInput, {NumberInputProps} from '../../components/NumberInput/NumberInput';\nimport {ROOT_ACCOUNT_NAME} from '../../constants/accounts/accounts';\n\nimport './QuotaEditorWithHide.scss';\nimport QuotaEditor, {QuotaEditorProps} from './QuotaEditor';\n\nconst block = cn('yt-quota-editor-with-hide');\n\ninterface Props {\n className?: string;\n limit?: number;\n format: NumberInputProps['format'];\n currentAccount: string;\n parentOfCurrentAccount?: string;\n\n onHide: () => void;\n onSave: (limit: number, limitDiff: number, account?: string) => void;\n\n getInfoByName: (account: string) => {\n limit?: number;\n total?: number;\n totalChildrenLimit?: number;\n allowChildrenOverCommit?: number;\n };\n\n sourceSuggestTitle?: React.ReactNode;\n renderSourceSuggest?: (props: SuggestProps) => React.ReactNode;\n\n min?: number;\n max?: number;\n}\n\ninterface SuggestProps {\n value: string;\n onChange: (value?: string) => void;\n}\n\ninterface State {\n account?: string;\n accountChanged?: boolean;\n\n bytesError?: string;\n newLimit?: number;\n isReadyToSave?: boolean;\n showConfirm?: boolean;\n}\n\nexport default class QuotaEditorWithHide extends React.Component<Props, State> {\n state: State = {};\n\n render() {\n const {showConfirm} = this.state;\n return showConfirm ? this.renderConfirmation() : this.renderEditor();\n }\n\n private renderConfirmation() {\n const {className, limit} = this.props;\n return (\n <div className={block('confirm', className)}>\n <div className={block('confirm-notice')}>\n Do you really want to change the quota limit?\n </div>\n <div className={block('confirm-details')}>\n The previous value is {this.renderLimit(limit)}, the new value is{' '}\n {this.renderLimit(this.getLimit())}\n </div>\n <div className={block('confirm-actions')}>\n <Button\n className={block('confirm-btn')}\n view={'action'}\n onClick={this.onYes}\n qa=\"quota-editor-confirmation-yes\"\n >\n Yes\n </Button>\n <Button\n className={block('confirm-btn')}\n view=\"flat-secondary\"\n onClick={this.onCancel}\n >\n Cancel\n </Button>\n </div>\n </div>\n );\n }\n\n private onYes = () => {\n const {limit: oldLimit = 0} = this.calcLimitTotal(this.props.currentAccount);\n const newLimit = this.getLimit() || 0;\n this.props.onSave(newLimit, newLimit - oldLimit, this.getDistributeAccount());\n this.setState({showConfirm: false});\n this.props.onHide();\n };\n\n private onCancel = () => {\n this.setState({showConfirm: false});\n };\n\n private renderLimit(value: Props['limit']) {\n const {format} = this.props;\n return <span className={block('confirm-limit')}>{NumberInput.format(value, format)}</span>;\n }\n\n private renderEditor() {\n const {className, onHide} = this.props;\n const {isReadyToSave} = this.state;\n\n return (\n <div\n className={block(\n null,\n [className, 'yt-special-background'].filter(Boolean).join(' '),\n )}\n >\n <div className={block('top')}>\n Edit Quota limit\n <ClickableText className={block('hide')} color=\"secondary\" onClick={onHide}>\n <Icon awesome={'times'} face={'light'} />\n </ClickableText>\n </div>\n <div className={block('controls')}>\n {this.renderControl()}\n <div className={block('controls-item', {save: true})}>\n <div className={block('control-title')}> </div>\n <Button\n size={'m'}\n view={'action'}\n disabled={!isReadyToSave}\n onClick={this.onSave}\n qa=\"quota-editor-save\"\n >\n Save\n </Button>\n </div>\n </div>\n </div>\n );\n }\n\n private renderControl() {\n const {\n format,\n limit,\n min,\n max,\n currentAccount,\n getInfoByName,\n sourceSuggestTitle,\n renderSourceSuggest,\n } = this.props;\n return (\n <QuotaEditor\n className={block('grow')}\n currentAccount={currentAccount}\n sourceAccount={this.getDistributeAccount()}\n getInfoByName={getInfoByName}\n sourceSuggestTitle={sourceSuggestTitle}\n renderSourceSuggest={renderSourceSuggest}\n format={format}\n limit={this.getLimit()}\n prevLimit={limit}\n onChange={this.onChange}\n onEnterKeyDown={this.onSave}\n min={min}\n max={max}\n />\n );\n }\n\n private onChange: QuotaEditorProps['onChange'] = ({limit, source, error}) => {\n const {parentOfCurrentAccount, limit: prevLimit} = this.props;\n this.setState({\n newLimit: limit,\n account: source,\n accountChanged: source !== parentOfCurrentAccount,\n isReadyToSave: !error && limit !== prevLimit && limit !== undefined,\n });\n };\n\n private onSave = () => {\n if (this.state.isReadyToSave) {\n this.setState({showConfirm: true});\n }\n };\n\n private getLimit() {\n const {newLimit} = this.state;\n const {limit} = this.props;\n return newLimit !== undefined ? newLimit : limit;\n }\n\n private getDistributeAccount() {\n const {account, accountChanged} = this.state;\n const res = accountChanged ? account : this.props.parentOfCurrentAccount;\n return res === ROOT_ACCOUNT_NAME ? '' : res;\n }\n\n private calcLimitTotal(account = '') {\n return this.props.getInfoByName(account);\n }\n}\n","import React from 'react';\nimport cn from 'bem-cn-lite';\n\nimport format from '../../common/hammer/format';\nimport Icon from '../../components/Icon/Icon';\nimport {Tooltip} from '../../components/Tooltip/Tooltip';\nimport {OrderType, nextSortOrderValue} from '../../utils/sort-helpers';\n\nimport './SortIcon.scss';\n\nconst block = cn('sort-icon');\n\nconst ICON_BY_TYPE = {\n ['']: 'sort',\n asc: 'sort-up',\n desc: 'sort-down',\n 'asc-undefined': 'arrow-to-bottom',\n 'desc-undefined': 'arrow-from-bottom',\n 'undefined-asc': 'arrow-from-top',\n 'undefined-desc': 'arrow-to-top',\n} as const;\n\ninterface Props {\n className?: string;\n label?: string;\n onChange?: (nextOrder: OrderType) => void;\n order?: OrderType;\n hidden?: boolean;\n allowUnordered?: boolean;\n withUndefined?: boolean;\n}\n\nexport default class SortIcon extends React.Component<Props> {\n onClick = () => {\n const {order, onChange, allowUnordered, withUndefined} = this.props;\n if (!onChange) {\n return;\n }\n\n const nextOrder = nextSortOrderValue(order, allowUnordered, withUndefined);\n onChange(nextOrder);\n };\n\n render() {\n const {className, label, order, hidden} = this.props;\n const icon = ICON_BY_TYPE[order || ''];\n\n return (\n <span className={block({hidden}, className)} onClick={this.onClick}>\n {label && <span className={block('label')}>{label}</span>}\n <Tooltip\n className={block('icon')}\n content={order ? format.ReadableField(order) : 'Unordered'}\n >\n <Icon awesome={icon} face=\"solid\" />\n </Tooltip>\n </span>\n );\n }\n}\n","import React, {Component} from 'react';\nimport PropTypes from 'prop-types';\nimport ReactList from 'react-list';\nimport block from 'bem-cn-lite';\n\nimport isNumber_ from 'lodash/isNumber';\nimport isObject_ from 'lodash/isObject';\nimport partition_ from 'lodash/partition';\n\nimport {Popup, PopupProps, TextInput, TextInputProps} from '@gravity-ui/uikit';\n\nimport templates from '../../components/templates/utils';\n\nimport './Suggest.scss';\n\nconst b = block('suggest');\n\n// TODO add is scrolled into view logic\n// TODO support custom item height\n\nexport const itemsProps = PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.shape({\n value: PropTypes.string,\n text: PropTypes.string,\n counter: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n }),\n ]),\n);\n\ninterface Item {\n value: string;\n text: string;\n counter?: string | number;\n}\n\nconst ESCAPE = 27;\nconst ENTER = 13;\nconst ARROW_UP = 38;\nconst ARROW_DOWN = 40;\n\n/*const TAB = 9;\nconst CTRL = 16;\nconst ALT = 17;\nconst ARROW_LEFT = 37;\nconst ARROW_RIGHT = 39;\nconst COMMAND = 91;*/\n\nexport interface SuggestProps {\n className?: string;\n\n filter: (items: SuggestProps['items'], text?: string) => SuggestProps['items'];\n apply?: (value: SuggestItem) => void;\n onTextUpdate?: (text: string) => void;\n onItemClick?: (item: SuggestItem) => void;\n clear?: () => void;\n placeholder?: string;\n autoFocus?: boolean;\n text?: string;\n defaultText?: string;\n disabled?: boolean;\n template?: {\n key: string;\n };\n items: Array<SuggestItem>;\n maxItems?: number | {totalAmount: number; groupPredicate: () => void};\n\n zIndexGroupLevel?: number;\n onBlur?: () => void;\n onFocus?: () => void;\n onKeyDown?: (e: React.KeyboardEvent<HTMLElement>) => void;\n pin?: TextInputProps['pin'];\n onOpenChange?: (p: {open: boolean}) => void;\n popupClassName?: string;\n popupPlacement?: PopupProps['placement'];\n\n renderItem?: (item: SuggestItem) => React.ReactNode;\n}\n\nexport type SuggestItem = string | Item;\n\ninterface State {\n text?: string;\n items: SuggestProps['items'];\n selectedIndex: number;\n popupVisible: boolean;\n\n prevItems: SuggestProps['items'];\n\n focused?: boolean;\n}\n\nexport default class Suggest extends Component<SuggestProps, State> {\n static defaultProps = {\n disable: false,\n text: '',\n autoFocus: false,\n items: [],\n zIndexGroupLevel: 1,\n onBlur: () => {},\n focused: false,\n };\n\n private input = React.createRef<HTMLInputElement>();\n private isClearClicked = false; // the flag for the correct render text-input view after clear button click\n private isUnmounting = false;\n private skipApplyForNextBlur = false;\n\n constructor(props: SuggestProps) {\n super(props);\n\n this.state = {\n text: 'text' in props ? props.text : props.defaultText,\n items: props.items,\n selectedIndex: 0,\n popupVisible: false,\n prevItems: [],\n };\n\n this.onFocus = this.onFocus.bind(this);\n this.onBlur = this.onBlur.bind(this);\n this.onKeyDown = this.onKeyDown.bind(this);\n this.hideSuggestions = this.hideSuggestions.bind(this);\n this.clearSuggestions = this.clearSuggestions.bind(this);\n }\n\n // eslint-disable-next-line @typescript-eslint/member-ordering\n static getDerivedStateFromProps(props: SuggestProps, prevState: State) {\n const text = !prevState.focused && 'text' in props ? props.text : prevState.text;\n\n if (props.items === prevState.prevItems && text === prevState.text) {\n return null;\n }\n\n const items = props.filter(props.items, text);\n const res = {items, prevItems: props.items, text};\n\n return res;\n }\n\n componentDidMount() {\n this.isClearClicked = false;\n }\n\n componentWillUnmount() {\n this.isUnmounting = true;\n }\n\n // eslint-disable-next-line react/sort-comp\n onTextUpdate = (text: string) => {\n const {clear, onTextUpdate} = this.props;\n\n this.setState({text});\n this.loadSuggestions(text);\n\n if (!text.length) {\n clear?.();\n }\n\n onTextUpdate?.(text);\n };\n\n onFocus() {\n // make sure that suggestions popup is visible only if onFocus() invocation was not followed\n // by onClearClick() invocation (which sets the flag to true afterwards), since onFocus event\n // always happen first when any action is made within text input\n this.setState({focused: true});\n\n this.isClearClicked = false;\n this.loadSuggestions(this.state.text);\n this.skipApplyForNextBlur = false;\n this.props.onFocus?.();\n }\n\n onBlur() {\n this.hideSuggestions();\n if (!this.isClearClicked) {\n this.props.onBlur?.();\n }\n if (!this.skipApplyForNextBlur) {\n this.applySuggestion(this.state.text ?? '');\n }\n this.setState({focused: false});\n }\n\n onKeyDown(evt: React.KeyboardEvent<HTMLElement>) {\n const key = evt.keyCode;\n\n if (key === ARROW_DOWN) {\n evt.preventDefault();\n this.selectNextSuggestion();\n } else if (key === ARROW_UP) {\n evt.preventDefault();\n this.selectPrevSuggestion();\n } else if (key === ENTER) {\n this.applyOrClearSuggestion();\n } else if (key === ESCAPE) {\n this.input.current?.blur();\n }\n }\n\n hideSuggestions() {\n this.setState({items: [], popupVisible: false, selectedIndex: 0});\n this.props.onOpenChange?.({open: false});\n }\n\n showSuggestions = (items: SuggestProps['items']) => {\n if (!this.isUnmounting) {\n this.setState({\n items,\n popupVisible: true,\n selectedIndex: 0,\n });\n this.props.onOpenChange?.({open: true});\n }\n };\n\n loadSuggestions(text?: string) {\n const {filter, items} = this.props;\n\n Promise.resolve(filter(items, text)).then(this.showSuggestions);\n }\n\n clearSuggestions() {\n const {clear} = this.props;\n\n clear?.();\n // update flag value not to show suggestions after function clear() have change input value for ''\n // and on input change event listener will call popup render\n this.isClearClicked = true;\n\n this.input.current?.blur();\n }\n\n applySuggestion(text: string) {\n const {apply} = this.props;\n this.setState({text});\n apply?.(text);\n this.input.current?.blur();\n }\n\n getItemIndex(selectedIndex: number) {\n return selectedIndex - 1;\n }\n\n getSelectedIndex(itemIndex: number) {\n return itemIndex + 1;\n }\n\n getItemValue(item: string | Item) {\n return typeof item === 'string' ? item : item.value;\n }\n\n applyOrClearSuggestion() {\n const {selectedIndex, items} = this.state;\n\n let item: SuggestItem | undefined;\n\n if (selectedIndex === 0) {\n if (items.length > 0) {\n item = items[0];\n }\n } else {\n item = items[this.getItemIndex(selectedIndex)];\n }\n\n if (item) {\n const value = this.getItemValue(item);\n this.applySuggestion(value);\n const {onItemClick} = this.props;\n onItemClick?.(item);\n }\n }\n\n selectPrevSuggestion() {\n const {selectedIndex, items} = this.state;\n const prevIndex =\n selectedIndex === 0 ? this.getSelectedIndex(items.length - 1) : selectedIndex - 1;\n this.setState({selectedIndex: prevIndex});\n }\n\n selectNextSuggestion() {\n const {selectedIndex, items} = this.state;\n const nextIndex =\n selectedIndex === this.getSelectedIndex(items.length - 1) ? 0 : selectedIndex + 1;\n this.setState({selectedIndex: nextIndex});\n }\n\n renderInput() {\n const {text} = this.state;\n const {placeholder, autoFocus, disabled, pin} = this.props;\n\n return (\n <TextInput\n hasClear\n value={text}\n className={b('control')}\n placeholder={placeholder}\n disabled={disabled}\n onUpdate={this.onTextUpdate}\n onFocus={this.onFocus}\n onBlur={this.onBlur}\n autoFocus={autoFocus}\n controlRef={this.input}\n pin={pin}\n onKeyDown={this.onKeyDown}\n />\n );\n }\n\n renderCounter(item: Item) {\n const counter = item.counter;\n\n return (\n typeof counter !== 'undefined' && <span className={b('item-counter')}>{counter}</span>\n );\n }\n\n renderSimpleItem(item: string | Item) {\n const text = typeof item === 'string' ? item : item.text;\n\n return (\n <span>\n {'string' !== typeof item && this.renderCounter(item)}\n {text}\n </span>\n );\n }\n\n renderItem(\n item: string | Item,\n index: number,\n key: number | string,\n className?: string,\n ): React.ReactElement {\n const {selectedIndex} = this.state;\n const itemClassName = b(\n 'item',\n {\n selected: selectedIndex === this.getSelectedIndex(index) ? 'yes' : undefined,\n },\n className,\n );\n\n const value = this.getItemValue(item);\n\n const {template, renderItem, onItemClick} = this.props;\n\n const renderer =\n renderItem ??\n (typeof template !== 'undefined'\n ? templates.get(template.key).__default__\n : this.renderSimpleItem.bind(this));\n\n return (\n <li\n key={key}\n title={value}\n className={itemClassName}\n onMouseDown={() => {\n this.skipApplyForNextBlur = true;\n onItemClick?.(item);\n this.applySuggestion(value);\n }}\n >\n {renderer(item)}\n </li>\n );\n }\n\n getInputWidth() {\n // Is there a way to avoid using private _control property?\n return this.input.current ? this.input.current.offsetWidth - 2 : 0;\n }\n\n restrictItems(items: Array<string | Item>) {\n const {maxItems} = this.props;\n\n if (isNumber_(maxItems)) {\n return items.slice(0, maxItems || items.length);\n } else if (isObject_(maxItems)) {\n const {totalAmount, groupPredicate} = maxItems;\n const [positiveGroup, negativeGroup] = partition_(items, groupPredicate);\n if (positiveGroup.length && negativeGroup.length) {\n // NOTE: we don't want to one group to be omitted in case there is a large\n // bias towards another group - hence minimum value of 1\n const positiveGroupMaxItems = Math.round(\n Math.max((positiveGroup.length / items.length) * totalAmount, 1),\n );\n return positiveGroup\n .slice(0, positiveGroupMaxItems)\n .concat(negativeGroup.slice(0, totalAmount - positiveGroupMaxItems));\n } else {\n // one group is empty - same case as no groups\n return items.slice(0, totalAmount || items.length);\n }\n } else {\n return items;\n }\n }\n\n renderSuggestions(items: Array<SuggestItem>) {\n const className = b('wrapper');\n const listClassName = b('items');\n\n const itemRenderer = (index: number, key: number | string): JSX.Element =>\n this.renderItem(items[index], index, key);\n\n const showNoItemsMsg = items.length === 0 && this.state.text;\n return (\n items && (\n <div className={className}>\n {showNoItemsMsg && this.renderItem('No items', -1, 'no_items', b('no-items'))}\n <ul className={listClassName} style={{minWidth: this.getInputWidth()}}>\n <ReactList\n itemRenderer={itemRenderer}\n length={items.length}\n type=\"uniform\"\n />\n </ul>\n </div>\n )\n );\n }\n\n renderPopup() {\n const {popupClassName, popupPlacement} = this.props;\n const {popupVisible} = this.state;\n\n const items = this.restrictItems(this.state.items);\n return (\n <Popup\n className={popupClassName}\n placement={popupPlacement ?? ['bottom-start', 'top-start']}\n anchorRef={this.input}\n // don't show popup with suggestions after clear button click\n open={!this.isClearClicked && popupVisible && items.length > 0}\n onClose={this.hideSuggestions}\n >\n {this.renderSuggestions(items)}\n </Popup>\n );\n }\n\n render() {\n const {className} = this.props;\n return (\n <div className={b(null, className)}>\n {this.renderInput()}\n {this.renderPopup()}\n </div>\n );\n }\n}\n","import React from 'react';\nimport cn from 'bem-cn-lite';\n\nimport './Text.scss';\nimport unipika from '../../common/thor/unipika';\nimport {UNIPIKA_ESCAPED_SETTINGS} from '../../utils';\n\nconst block = cn('yt-text');\n\ninterface Props {\n className?: string;\n children: React.ReactNode;\n}\n\nexport function Secondary({children, disabled}: Props & {disabled?: boolean}) {\n return <span className={block('secondary', {disabled})}>{children}</span>;\n}\n\nexport function Bold({children}: Props) {\n return <span className={block('bold')}>{children}</span>;\n}\n\nexport function SecondaryBold({children}: Props) {\n return (\n <Secondary>\n <Bold>{children}</Bold>\n </Secondary>\n );\n}\n\nexport function Warning({children, className}: Props) {\n return <span className={block('warning', className)}>{children}</span>;\n}\n\nexport function WarningLight({children, className}: Props) {\n return <span className={block('warning-light', className)}>{children}</span>;\n}\n\nexport function NoWrap({children}: Props) {\n return <span className={block('no-wrap')}>{children}</span>;\n}\n\nexport function Escaped({text, onClick}: {text: string; onClick?: (e: React.MouseEvent) => void}) {\n const textNode = unipika.prettyprint(text, {\n ...UNIPIKA_ESCAPED_SETTINGS,\n asHTML: true,\n });\n return (\n <span\n onClick={onClick}\n className={block('escaped')}\n dangerouslySetInnerHTML={{__html: textNode}}\n />\n );\n}\n","import React from 'react';\nimport Link from '../../components/Link/Link';\nimport {AccountsTab} from '../../constants/accounts/accounts';\nimport {Page} from '../../constants';\nimport {useSelector} from 'react-redux';\nimport {getCluster} from '../../store/selectors/global';\nimport hammer from '../../common/hammer';\nimport {Tooltip} from '../../components/Tooltip/Tooltip';\nimport ClipboardButton from '../../components/ClipboardButton/ClipboardButton';\n\ninterface Props {\n className?: string;\n account?: string;\n cluster?: string;\n\n inline?: boolean;\n}\n\nexport function genAccountsUrl(cluster: string, account: string) {\n return `/${cluster}/${Page.ACCOUNTS}/${AccountsTab.GENERAL}?account=${account}`;\n}\n\nexport default function AccountLink(props: Props) {\n const {cluster: propsCluster, account, className, inline} = props;\n const currentCluster = useSelector(getCluster);\n const cluster = propsCluster || currentCluster;\n\n return (\n <Tooltip\n ellipsis={inline}\n className={className}\n content={\n !account ? null : (\n <>\n <ClipboardButton text={account} view=\"flat-secondary\" /> {account}\n </>\n )\n }\n >\n {account ? (\n <Link theme={'primary'} routed url={genAccountsUrl(cluster, account)}>\n {account}\n </Link>\n ) : (\n hammer.format.NO_VALUE\n )}\n </Tooltip>\n );\n}\n","import React from 'react';\nimport {connect} from 'react-redux';\n\nimport map_ from 'lodash/map';\n\nimport cn from 'bem-cn-lite';\n\nimport ErrorBlock from '../../components/Error/Error';\n\nimport {ROOT_ACCOUNT_NAME} from '../../constants/accounts/accounts';\nimport {getEditableAccountParentSuggests} from '../../store/selectors/accounts/accounts';\nimport {getAccountNames} from '../../store/selectors/accounts/accounts-ts';\n\nimport './AccountsSuggest.scss';\nimport {fetchFullList1M} from '../../utils/users-groups';\nimport {USE_CACHE} from '../../../shared/constants/yt-api';\nimport {RootState} from '../../store/reducers';\nimport {YTApiId} from '../../rum/rum-wrap-api';\nimport {SelectSingle} from '../../components/Select/Select';\n\nconst block = cn('accounts-suggest');\n\nconst ROOT_ACCOUNT_TITLE = '<Root>';\n\ninterface Props {\n value?: string;\n\n onChange: (value?: Props['value']) => void;\n placeholder?: string;\n validate?: (value: Props['value']) => string | undefined;\n touched?: boolean;\n items: Array<string>;\n disabled?: boolean;\n allowRootAccount?: boolean;\n}\n\nexport function AccountSuggestImpl(props: Props) {\n const {\n items,\n onChange,\n placeholder,\n allowRootAccount,\n disabled,\n validate = () => undefined,\n touched,\n } = props;\n const value = props.value;\n\n const options = map_(items, (item) => ({\n value: item,\n text: item,\n }));\n if (allowRootAccount) {\n options.splice(0, 0, {\n value: ROOT_ACCOUNT_NAME,\n text: ROOT_ACCOUNT_TITLE,\n });\n }\n\n const error = touched && validate(value);\n\n return (\n <div className={block({empty: !value, error: Boolean(error)})}>\n <SelectSingle\n disabled={disabled}\n items={options}\n onChange={onChange}\n placeholder={placeholder}\n value={value}\n width=\"max\"\n hideClear\n />\n {error && <div className={block('error')}>{error}</div>}\n </div>\n );\n}\n\nAccountSuggestImpl.isEmpty = (value: string) => {\n return !value;\n};\n\nAccountSuggestImpl.getDefaultValue = () => {\n return '';\n};\n\nAccountSuggestImpl.hasErrorRenderer = true;\n\nconst mapStateToProps = (state: RootState) => {\n return {\n items: getAccountNames(state),\n };\n};\n\nconst ASConnector = connect(mapStateToProps);\n\nconst AccountSuggestConnected = ASConnector(AccountSuggestImpl);\n\nexport default AccountSuggestConnected;\n\nconst mapStateToPropsForParents = (state: RootState) => {\n return {\n items: getEditableAccountParentSuggests(state),\n };\n};\n\nexport const SuggestParentsForEditableAccount =\n connect(mapStateToPropsForParents)(AccountSuggestImpl);\n\nexport function AccountsSuggestWithLoading(\n props: Omit<React.ComponentProps<typeof AccountSuggestImpl>, 'items'>,\n) {\n const [{items, error}, setState] = React.useState<{\n items?: Array<string>;\n error?: string;\n }>({items: []});\n React.useMemo(() => {\n fetchFullList1M(YTApiId.listAccounts, {path: '//sys/accounts', ...USE_CACHE})\n .then((items: Array<string>) => {\n setState({items});\n })\n .catch((error: any) => {\n setState({error});\n });\n }, []);\n\n return (\n <React.Fragment>\n <AccountSuggestImpl {...props} items={items || []} />\n {error && <ErrorBlock error={error} />}\n </React.Fragment>\n );\n}\n\nAccountsSuggestWithLoading.isEmpty = (value: string) => {\n return !value;\n};\n\nAccountsSuggestWithLoading.getDefaultValue = () => {\n return ROOT_ACCOUNT_NAME;\n};\n","import {computeProgress} from '../../utils/progress';\nimport {accountMemoryMediumToFieldName} from '../../utils/accounts/accounts-selector';\n\nexport default class Account {\n static prepareProgressStack(committed, uncommitted, limit, theme) {\n const sum = uncommitted > 0 ? committed + uncommitted : committed;\n const tmpLimit = Math.max(sum, limit);\n const committedValue = computeProgress(\n uncommitted < 0 ? committed + uncommitted : committed,\n tmpLimit,\n );\n const uncommittedValue = computeProgress(Math.abs(uncommitted), tmpLimit);\n\n return [\n {\n value: committedValue,\n theme,\n },\n {\n value: uncommittedValue,\n },\n ];\n }\n\n static GetDataPerMedium(account, mediumType, recursive) {\n if (recursive) {\n const src = account.recursiveResources;\n if (mediumType) {\n return src.perMedium && src.perMedium[mediumType];\n }\n }\n\n return mediumType ? account.perMedium && account.perMedium[mediumType] : account;\n }\n\n constructor(accountData) {\n Object.assign(this, accountData.perMedium, accountData.masterMemoryResources, accountData);\n }\n\n getDiskSpaceProgressInfo(mediumType, recursive) {\n const data = Account.GetDataPerMedium(this, mediumType, recursive);\n if (!data) {\n return {};\n }\n\n return {\n committed: data.committedDiskSpace,\n uncommitted: data.uncommittedDiskSpace,\n total: data.totalDiskSpace,\n limit: data.diskSpaceLimit,\n theme: data.diskSpaceProgressTheme,\n progress: data.diskSpaceProgress,\n progressText: data.diskSpaceProgressText,\n };\n }\n\n getResourceInfoSource(recursive) {\n return recursive && this.hasRecursiveResources ? this.recursiveResources : this;\n }\n\n getNodeCountProgressInfo(recursive = true) {\n const src = this.getResourceInfoSource(recursive);\n return {\n committed: src.committedNodeCount,\n uncommitted: src.uncommittedNodeCount,\n total: src.totalNodeCount,\n limit: src.nodeCountLimit,\n theme: src.nodeCountProgressTheme,\n progress: src.nodeCountProgress,\n progressText: src.nodeCountProgressText,\n };\n }\n\n getChunkCountProgressInfo(recursive = true) {\n const src = this.getResourceInfoSource(recursive);\n return {\n committed: src.committedChunkCount,\n uncommitted: src.uncommittedChunkCount,\n total: src.totalChunkCount,\n limit: src.chunkCountLimit,\n theme: src.chunkCountProgressTheme,\n progress: src.chunkCountProgress,\n progressText: src.chunkCountProgressText,\n };\n }\n\n getTabletCountProgressInfo(recursive = true) {\n const src = this.getResourceInfoSource(recursive);\n return {\n committed: src.committedTabletCount,\n uncommitted: src.uncommittedTabletCount,\n total: src.totalTabletCount,\n limit: src.tabletCountLimit,\n theme: src.tabletCountProgressTheme,\n progress: src.tabletCountProgress,\n progressText: src.tabletCountProgressText,\n };\n }\n\n getTabletStaticMemoryInfo(recursive = true) {\n const src = this.getResourceInfoSource(recursive);\n return {\n committed: src.committedTabletStaticMemory,\n uncommitted: src.uncommittedTabletStaticMemory,\n total: src.totalTabletStaticMemory,\n limit: src.tabletStaticMemoryLimit,\n theme: src.tabletStaticMemoryProgressTheme,\n progress: src.tabletStaticMemoryProgress,\n progressText: src.tabletStaticMemoryProgressText,\n };\n }\n\n getMasterMemoryMediumInfo(recursive, mediumType) {\n const src = this.getResourceInfoSource(recursive);\n const field = accountMemoryMediumToFieldName('master_memory/' + mediumType);\n return src[field];\n }\n}\n","import React from 'react';\nimport {ConnectedProps, connect} from 'react-redux';\nimport PropTypes from 'prop-types';\nimport block from 'bem-cn-lite';\n\nimport {setAccountAbc} from '../../../../../../utils/accounts/editor';\nimport {\n loadEditedAccount,\n setParentAccountAction,\n} from '../../../../../../store/actions/accounts/accounts';\nimport {getCluster} from '../../../../../../store/selectors/global';\nimport {isDeveloper} from '../../../../../../store/selectors/global/is-developer';\nimport {SuggestParentsForEditableAccount} from '../../../../AccountsSuggest';\n\nimport './../Editor.scss';\nimport UIFactory from '../../../../../../UIFactory';\nimport {RootState} from '../../../../../../store/reducers';\nimport {AccountParsedData} from '../../../../../../utils/accounts/accounts-selector';\n\nconst b = block('accounts-editor');\n\nexport function WithHeader({\n header,\n children,\n}: {\n header: React.ReactNode;\n children: React.ReactNode;\n}) {\n return (\n <div className={b(null, 'elements-section')}>\n <div className={b(null, 'elements-heading_size_s')}>{header}</div>\n {children}\n </div>\n );\n}\n\nWithHeader.propTypes = {\n header: PropTypes.string.isRequired,\n children: PropTypes.object.isRequired,\n};\n\ninterface ParentProps {\n account: AccountParsedData;\n}\n\ntype ReduxProps = ConnectedProps<typeof connector>;\n\ntype Props = ParentProps & ReduxProps;\n\nclass GeneralContent extends React.Component<Props> {\n static propTypes = {\n //from parent\n account: PropTypes.object.isRequired,\n //from connect\n loadEditedAccount: PropTypes.func.isRequired,\n setAccountParent: PropTypes.func.isRequired,\n cluster: PropTypes.string.isRequired,\n isDeveloper: PropTypes.bool,\n };\n\n state = {\n abcId: undefined,\n abcTitle: '',\n // We have to use this property as 'key' of StaffSuggestControl to recreate the component,\n // else it will not clear his internal state.\n responsibleKey: 0,\n };\n\n onParentChange = (parentName = '', {isOutsideClick}: {isOutsideClick?: boolean} = {}) => {\n if (isOutsideClick) {\n this.forceUpdate();\n return;\n }\n\n const {\n account: {name, parent},\n setAccountParent,\n } = this.props;\n if (parent === parentName) {\n return;\n }\n return setAccountParent(name, parentName);\n };\n\n renderParentAccount(value = '') {\n const {isDeveloper} = this.props;\n return (\n <WithHeader header=\"Parent\">\n <SuggestParentsForEditableAccount\n value={value}\n onChange={this.onParentChange}\n disabled={!isDeveloper}\n allowRootAccount={true}\n />\n </WithHeader>\n );\n }\n\n renderAbcServiceId() {\n const {\n account: {\n abc: {id, slug},\n },\n isDeveloper,\n } = this.props;\n\n const control = UIFactory.renderControlAbcService({\n value: {id, slug},\n onChange: this.onAbcServiceChanged,\n placeholder: 'Select ABC service...',\n disabled: !isDeveloper,\n });\n\n return !control ? null : <WithHeader header=\"ABC Service\">{control}</WithHeader>;\n }\n\n onAbcServiceChanged = async (\n service?: AccountParsedData['abc'],\n {isOutsideClick}: {isOutsideClick?: boolean} = {},\n ) => {\n if (isOutsideClick) {\n this.forceUpdate();\n return;\n }\n\n const {id: abcServiceId, slug: value} = service ?? {};\n const {\n account: {name, abc: {slug, id} = {}},\n loadEditedAccount,\n } = this.props;\n if (abcServiceId === id && slug === value) {\n return;\n }\n await setAccountAbc(name, abcServiceId, value);\n loadEditedAccount(name);\n };\n\n render() {\n const {\n account: {parent},\n } = this.props;\n\n return (\n <React.Fragment>\n {this.renderAbcServiceId()}\n {this.renderParentAccount(parent)}\n </React.Fragment>\n );\n }\n}\n\nconst mapStateToProps = (state: RootState) => {\n return {\n cluster: getCluster(state),\n isDeveloper: isDeveloper(state),\n };\n};\n\nconst mapDispatchToProps = {\n loadEditedAccount,\n setAccountParent: setParentAccountAction,\n};\n\nconst connector = connect(mapStateToProps, mapDispatchToProps);\n\nexport default connector(GeneralContent);\n","import map_ from 'lodash/map';\n\nimport {ThunkAction} from 'redux-thunk';\nimport {RootState} from '../../../store/reducers';\nimport {ACCOUNTS_DATA_FIELDS_ACTION} from '../../../constants/accounts';\nimport {parseAccountData} from '../../../utils/accounts/accounts-selector';\n\ntype AccountsThunkAction = ThunkAction<any, RootState, any, any>;\n\n/**\n * see persistentState from src/ui/store/reducers/accounts/accounts/index.js\n * TODO: Get rid of this interface when the file is Rewritten with typescript\n */\nexport interface AccountsStateDataFields {\n masterMemoryContentMode?: 'total' | 'detailed' | 'chunk_host' | 'per_cell';\n}\n\nexport function setAccountsStateDataFields(\n data: Partial<AccountsStateDataFields>,\n): AccountsThunkAction {\n return (dispatch) => {\n dispatch({type: ACCOUNTS_DATA_FIELDS_ACTION, data});\n };\n}\n\nexport function parseAccountsData(data: Array<unknown>) {\n return Promise.all(map_(data, (item) => Promise.resolve(parseAccountData(item))));\n}\n","import ypath from '../../../common/thor/ypath';\n\nimport filter_ from 'lodash/filter';\nimport map_ from 'lodash/map';\n\nimport {NAMESPACES, SettingName} from '../../../../shared/constants/settings';\n\nimport {setSetting} from '../../../store/actions/settings';\nimport {accountsTrackVisit} from '../../../store/actions/favourites';\nimport {setAccountParent} from '../../../utils/accounts/editor';\nimport {\n ACCOUNTS_TABLE_ID,\n CHANGE_CONTENT_MODE_FILTER,\n CHANGE_MEDIUM_TYPE_FILTER,\n CHANGE_NAME_FILTER,\n CLOSE_EDITOR_MODAL,\n FETCH_ACCOUNTS_NODES,\n FETCH_ACCOUNTS_RESOURCE,\n FETCH_ACCOUNTS_TOTAL_USAGE,\n FETCH_ACCOUNTS_USABLE,\n FILTER_USABLE_ACCOUNTS,\n OPEN_EDITOR_MODAL,\n ROOT_ACCOUNT_NAME,\n SET_ACCOUNTS_TREE_STATE,\n SET_ACTIVE_ACCOUNT,\n UPDATE_EDITABLE_ACCOUNT,\n} from '../../../constants/accounts/accounts';\nimport {ACCOUNTS_DATA_FIELDS_ACTION} from '../../../constants/accounts';\nimport {USE_CACHE, USE_MAX_SIZE} from '../../../../shared/constants/yt-api';\nimport {getCluster, getCurrentUserName} from '../../../store/selectors/global';\nimport {\n getAccountsDisabledCacheForNextFetch,\n getAccountsEditCounter,\n} from '../../../store/selectors/accounts/accounts-ts';\nimport {RumWrapper, YTApiId, ytApiV3Id} from '../../../rum/rum-wrap-api';\nimport {parseAccountsData} from './accounts-ts';\nimport Account from '../../../pages/accounts/selector';\nimport {RumMeasureTypes} from '../../../rum/rum-measure-types';\n\nconst attributesToLoad = [\n 'abc',\n 'diskSpaceLimit',\n 'parent_name',\n 'responsibles',\n 'totalDiskSpace',\n 'resource_limits',\n 'resource_usage',\n 'committed_resource_usage',\n 'recursive_resource_usage',\n 'recursive_committed_resource_usage',\n 'recursive_violated_resource_limits',\n 'allow_children_limit_overcommit',\n 'total_children_resource_limits',\n 'folder_id',\n];\n\nexport function fetchAccounts() {\n return (dispatch, getState) => {\n dispatch({\n type: FETCH_ACCOUNTS_RESOURCE.REQUEST,\n });\n\n const state = getState();\n const cluster = getCluster(state);\n const userName = getCurrentUserName(state);\n const disableCacheForNextFetch = getAccountsDisabledCacheForNextFetch(state);\n\n const cacheParams = disableCacheForNextFetch ? {} : USE_CACHE;\n\n const requests = [\n {\n command: 'list',\n parameters: {\n path: '//sys/accounts/',\n attributes: attributesToLoad,\n ...USE_MAX_SIZE,\n ...cacheParams,\n },\n },\n {\n command: 'get',\n parameters: {\n path: '//sys/accounts/@',\n attributes: ['total_resource_limits', 'total_resource_usage'],\n },\n },\n {\n command: 'get',\n parameters: {\n path: '//sys/cluster_nodes/@',\n attributes: [\n 'available_space_per_medium',\n 'io_statistics_per_medium',\n 'used_space_per_medium',\n ],\n },\n },\n {\n command: 'get',\n parameters: {\n path: '//sys/users/' + userName + '/@usable_accounts',\n },\n },\n ];\n\n const rumId = new RumWrapper(cluster, RumMeasureTypes.ACCOUNTS);\n return rumId\n .fetch(YTApiId.accountsData, ytApiV3Id.executeBatch(YTApiId.accountsData, {requests}))\n .then((batchData) => {\n dispatch({\n type: ACCOUNTS_DATA_FIELDS_ACTION,\n data: {disableCacheForNextFetch: false},\n });\n\n const [\n {error: accountsError, output: accounts},\n {error: resourceError, output: resources},\n {error: nodesError, output: nodes},\n {error: usableAccountsError, output: usableAccounts},\n ] = batchData;\n Promise.resolve(accountsError)\n .then((e) => {\n if (e) {\n throw e;\n }\n const items = filter_(\n ypath.getValue(accounts),\n (item) => ypath.getValue(item) !== ROOT_ACCOUNT_NAME,\n );\n return rumId\n .parse(YTApiId.accountsData, parseAccountsData(items))\n .then((res) => {\n dispatch({\n type: FETCH_ACCOUNTS_RESOURCE.SUCCESS,\n data: {\n accounts: map_(res, (item) => new Account(item)),\n },\n });\n });\n })\n .catch((error) => {\n dispatch({\n type: FETCH_ACCOUNTS_RESOURCE.FAILURE,\n data: {error},\n });\n });\n\n if (!resourceError) {\n dispatch({\n type: FETCH_ACCOUNTS_TOTAL_USAGE.SUCCESS,\n data: resources,\n });\n } else {\n dispatch({\n type: FETCH_ACCOUNTS_TOTAL_USAGE.FAILURE,\n data: {error: resourceError},\n });\n }\n\n if (!nodesError) {\n dispatch({\n type: FETCH_ACCOUNTS_NODES.SUCCESS,\n data: nodes,\n });\n } else {\n dispatch({\n type: FETCH_ACCOUNTS_NODES.FAILURE,\n data: {error: nodesError},\n });\n }\n\n if (!usableAccountsError) {\n dispatch({\n type: FETCH_ACCOUNTS_USABLE.SUCCESS,\n data: usableAccounts,\n });\n } else {\n dispatch({\n type: FETCH_ACCOUNTS_USABLE.FAILURE,\n data: {error: usableAccountsError},\n });\n }\n });\n };\n}\n\nexport function accountsIncreaseEditCounter() {\n return (dispatch, getState) => {\n const editCounter = getAccountsEditCounter(getState());\n return {\n type: ACCOUNTS_DATA_FIELDS_ACTION,\n data: {editCounter: editCounter + 1, disableCacheForNextFetch: true},\n };\n };\n}\n\nexport function loadEditedAccount(accountName) {\n return (dispatch, getState) => {\n const state = getState();\n const cluster = getCluster(state);\n dispatch({\n type: UPDATE_EDITABLE_ACCOUNT.REQUEST,\n });\n\n const rumId = new RumWrapper(cluster, RumMeasureTypes.ACCOUNTS);\n return rumId\n .fetch(\n YTApiId.accountsEditData,\n ytApiV3Id.get(YTApiId.accountsEditData, {\n path: '//sys/accounts/' + accountName + '/@',\n attributes: attributesToLoad,\n }),\n )\n .then((data) =>\n rumId.parse(\n YTApiId.accountsEditData,\n parseAccountsData([{$value: accountName, $attributes: data}]),\n ),\n )\n .then(([item]) => {\n dispatch({\n type: UPDATE_EDITABLE_ACCOUNT.SUCCESS,\n data: {\n account: new Account(item),\n cluster,\n },\n });\n })\n .catch(() => {\n dispatch({\n type: UPDATE_EDITABLE_ACCOUNT.FAILURE,\n });\n });\n };\n}\n\nexport function changeNameFilter(newFilter) {\n return (dispatch, getState) => {\n const {tables} = getState();\n const sortState = tables[ACCOUNTS_TABLE_ID];\n\n dispatch({\n type: CHANGE_NAME_FILTER,\n data: {newFilter, sortState},\n });\n };\n}\n\nexport function showEditorModal(account) {\n return {\n type: OPEN_EDITOR_MODAL,\n data: {account},\n };\n}\n\nexport function setActiveAccount(account) {\n return (dispatch) => {\n if (account) {\n dispatch(accountsTrackVisit(account));\n }\n return dispatch({\n type: SET_ACTIVE_ACCOUNT,\n data: {account},\n });\n };\n}\n\nexport function closeEditorModal() {\n return (dispatch) => {\n dispatch({\n type: CLOSE_EDITOR_MODAL,\n });\n return dispatch(fetchAccounts());\n };\n}\n\nexport function changeContentFilter(newFilter) {\n return {\n type: CHANGE_CONTENT_MODE_FILTER,\n data: {newFilter},\n };\n}\n\nexport function changeMediumFilter(newFilter) {\n return {\n type: CHANGE_MEDIUM_TYPE_FILTER,\n data: {newFilter},\n };\n}\n\nexport function filterUsableAccounts() {\n return (dispatch, getState) => {\n const {tables} = getState();\n const sortState = tables[ACCOUNTS_TABLE_ID];\n\n dispatch({\n type: FILTER_USABLE_ACCOUNTS,\n data: {sortState},\n });\n };\n}\n\nexport function setAccountsTreeState(treeState) {\n return {\n type: SET_ACCOUNTS_TREE_STATE,\n data: {treeState},\n };\n}\n\nexport function setParentAccountAction(name, parentName) {\n return async (dispatch) => {\n await setAccountParent(name, parentName);\n dispatch(fetchAccounts());\n await dispatch(loadEditedAccount(name));\n };\n}\n\nexport function setAccountsVisibilityModeOfDashboard(value) {\n return (dispatch) => {\n return dispatch(\n setSetting(SettingName.ACCOUNTS.DASHBOARD_VISIBILITY_MODE, NAMESPACES.ACCOUNTS, value),\n );\n };\n}\n\nexport function setAccountsVisibilityMode(value) {\n return (dispatch) => {\n return dispatch(\n setSetting(SettingName.ACCOUNTS.ACCOUNTS_VISIBILITY_MODE, NAMESPACES.ACCOUNTS, value),\n );\n };\n}\n\nexport function setAccountsAbcServiceFilter(id, slug) {\n return (dispatch) => {\n dispatch({\n type: ACCOUNTS_DATA_FIELDS_ACTION,\n data: {abcServiceFilter: {slug}},\n });\n };\n}\n","import filter_ from 'lodash/filter';\nimport find_ from 'lodash/find';\nimport map_ from 'lodash/map';\nimport uniq_ from 'lodash/uniq';\n\nimport {createSelector} from 'reselect';\n\nimport {concatByAnd} from '../../../common/hammer/predicate';\nimport type {RootState} from '../../../store/reducers';\nimport type {ChaosBundle, ChaosCell} from '../../../store/reducers/chaos_cell_bundles';\nimport {getCluster} from '../../../store/selectors/global';\nimport {\n aggregateTotal,\n tabletActiveChaosBundleLink,\n tabletChaosBundleRootLink,\n} from '../../../utils/components/tablet-cells';\nimport {prepareHost} from '../../../utils';\nimport {sortArrayBySortState} from '../../../utils/sort-helpers';\nimport {sortTableBundles} from '../../../utils/tablet_cell_bundles';\n\nexport const getChaosIsLoaded = (state: RootState) => state.chaos_cell_bundles.loaded;\nexport const getChaosIsLoading = (state: RootState) => state.chaos_cell_bundles.loading;\nexport const getChaosError = (state: RootState) => state.chaos_cell_bundles.error;\n\nexport const getChaosBundlesSortState = (state: RootState) => state.chaos_cell_bundles.bundlesSort;\n\nexport const getChaosBundlesNameFilter = (state: RootState) =>\n state.chaos_cell_bundles.bundlesNameFilter;\nexport const getChaosBundlesAccountFilter = (state: RootState) =>\n state.chaos_cell_bundles.bundlesAccountFilter;\nexport const getChaosBundlesTagNodeFilter = (state: RootState) =>\n state.chaos_cell_bundles.bundlesTagNodeFilter;\n\nexport const getChaosBundles = (state: RootState) => state.chaos_cell_bundles.bundles;\n\nexport const getChaosActiveBundle = (state: RootState) => state.chaos_cell_bundles.activeBundle;\n\nexport const getChaosBundlesTableMode = (state: RootState) =>\n state.chaos_cell_bundles.bundlesTableMode;\n\nexport const getChaosActiveBundleData = createSelector(\n [getChaosBundles, getChaosActiveBundle],\n (bundles, activeBundle) => {\n return find_(bundles, (item) => item.bundle === activeBundle);\n },\n);\n\nexport const getChaosBundlesTotal = createSelector(\n [getChaosBundles],\n (bundles): ChaosBundle => aggregateTotal(bundles),\n);\n\nconst COLUMNS_SORTABLE_AS_IS = new Set<keyof ChaosBundle>([\n 'bundle',\n 'health',\n 'tabletCells',\n 'tablets',\n 'uncompressed',\n 'compressed',\n 'enable_bundle_balancer',\n 'node_tag_filter',\n 'memory',\n 'tablet_count',\n 'tablet_count_limit',\n 'tablet_count_free',\n 'tablet_count_percentage',\n 'tablet_static_memory',\n 'tablet_static_memory_limit',\n 'tablet_static_memory_free',\n 'tablet_static_memory_percentage',\n]);\n\nexport const getChaosBundlesFiltered = createSelector(\n [\n getChaosBundles,\n getChaosBundlesNameFilter,\n getChaosBundlesAccountFilter,\n getChaosBundlesTagNodeFilter,\n ],\n (bundles, nameFilter, accountFilter, tagNodeFilter) => {\n const predicates: Array<(item: ChaosBundle) => boolean> = [];\n if (nameFilter) {\n const lowerNameFilter = nameFilter.toLowerCase();\n predicates.push((item) => {\n return -1 !== item.bundle.toLowerCase().indexOf(lowerNameFilter);\n });\n }\n\n if (accountFilter) {\n const lowerAccountFilter = accountFilter.toLowerCase();\n predicates.push((item) => {\n const {changelog_account, snapshot_account} = item;\n return (\n (Boolean(changelog_account) &&\n -1 !== changelog_account.toLowerCase().indexOf(lowerAccountFilter)) ||\n (Boolean(snapshot_account) &&\n -1 !== snapshot_account.toLowerCase().indexOf(lowerAccountFilter))\n );\n });\n }\n\n if (tagNodeFilter) {\n const lowerTagNodeFilter = tagNodeFilter.toLowerCase();\n predicates.push((item) => {\n const {node_tag_filter} = item;\n return (\n Boolean(node_tag_filter) &&\n -1 !== node_tag_filter.toLowerCase().indexOf(lowerTagNodeFilter)\n );\n });\n }\n\n return !predicates.length ? bundles : filter_(bundles, concatByAnd(...predicates));\n },\n);\n\nexport const getChaosBundlesSorted = createSelector(\n [getChaosBundlesFiltered, getChaosBundlesSortState],\n (bundles, {column, order}) => {\n if (!column || !order) {\n return bundles;\n }\n\n return sortTableBundles({bundles, column, order, columnsSortable: COLUMNS_SORTABLE_AS_IS});\n },\n);\n\nexport const getChaosCells = (state: RootState) => state.chaos_cell_bundles.cells;\nexport const getChaosCellsSortState = (state: RootState) => state.chaos_cell_bundles.cellsSort;\n\nexport const getChaosCellsIdFilter = (state: RootState) => state.chaos_cell_bundles.cellsIdFilter;\nexport const getChaosCellsBundleFilter = (state: RootState) =>\n state.chaos_cell_bundles.cellsBundleFilter;\nexport const getChaosCellsHostFilter = (state: RootState) =>\n state.chaos_cell_bundles.cellsHostFilter;\n\nexport const getChaosCellsOfActiveAccount = createSelector(\n [getChaosCells, getChaosActiveBundle],\n (cells, activeBundle) => {\n if (!activeBundle) {\n return cells;\n }\n\n return filter_(cells, (item) => {\n return Boolean(item.bundle) && activeBundle === item.bundle;\n });\n },\n);\n\nexport const getChaosCellsFiltered = createSelector(\n [\n getChaosCellsOfActiveAccount,\n getChaosCellsIdFilter,\n getChaosCellsBundleFilter,\n getChaosCellsHostFilter,\n getChaosActiveBundle,\n ],\n (cells, idFilter, bundleFilter, hostFilter) => {\n const predicates: Array<(item: ChaosCell) => boolean> = [];\n if (idFilter) {\n predicates.push((item) => {\n return -1 !== item.id.indexOf(idFilter);\n });\n }\n\n if (bundleFilter) {\n predicates.push((item) => {\n return Boolean(item.bundle) && -1 !== item.bundle.indexOf(bundleFilter);\n });\n }\n\n if (hostFilter) {\n predicates.push((item) => {\n return Boolean(item.peerAddress) && -1 !== item.peerAddress.indexOf(hostFilter);\n });\n }\n return !predicates.length ? cells : filter_(cells, concatByAnd(...predicates));\n },\n);\n\nexport function filterChaosCellsByBundle(bundle: string, cells: Array<ChaosCell>) {\n if (!bundle) {\n return [];\n }\n\n return filter_(cells, (item) => item.bundle === bundle);\n}\n\nexport const getChaosCellsSorted = createSelector(\n [getChaosCellsFiltered, getChaosCellsSortState],\n (cells, sortState) => {\n return sortArrayBySortState(cells, sortState);\n },\n);\n\nexport const getChaosCellsBundles = createSelector([getChaosCells], (cells) => {\n return uniq_(map_(cells, 'bundle')).sort();\n});\n\nexport const getChaosCellsHosts = createSelector([getChaosCellsOfActiveAccount], (cells) => {\n return uniq_(map_(cells, 'peerAddress')).sort();\n});\n\nexport const getChaosCellsHostsOfActiveBundle = createSelector(\n [getChaosActiveBundle, getChaosCellsFiltered],\n (activeBundle: string, cells: Array<ChaosCell>) => {\n if (!activeBundle) {\n return '';\n }\n return prepareHostsFromCells(cells);\n },\n);\n\nexport function prepareHostsFromCells(cells: Array<ChaosCell>) {\n return uniq_(map_(cells, ({peerAddress}) => prepareHost(peerAddress)).filter(Boolean))\n .sort()\n .join('|');\n}\n\nexport interface ChaosCellBundlesBreadcrumbsItem {\n text: string;\n href: string;\n title?: string;\n}\n\nexport const getChaosBreadcrumbItems = createSelector(\n [getCluster, getChaosActiveBundle],\n (cluster, activeBundle): Array<ChaosCellBundlesBreadcrumbsItem> => {\n const res: Array<ChaosCellBundlesBreadcrumbsItem> = [\n {\n text: '',\n href: tabletChaosBundleRootLink(cluster),\n title: '<bundles>',\n },\n ];\n\n if (activeBundle) {\n res.push({\n text: activeBundle,\n href: tabletActiveChaosBundleLink(cluster, activeBundle),\n });\n }\n\n return res;\n },\n);\n","import {createSelector} from 'reselect';\nimport uniq_ from 'lodash/uniq';\nimport compact_ from 'lodash/compact';\n\nimport {concatByAnd} from '../../../common/hammer/predicate';\n\nimport {RootState} from '../../../store/reducers';\nimport {ChytInfo} from '../../../store/reducers/chyt/list';\nimport {SortState} from '../../../types';\nimport {multiSortBySortStateArray} from '../../../utils/sort-helpers';\nimport {StrawberryListAttributes} from '../../../utils/strawberryControllerApi';\nimport {getSettingsData} from '../settings-base';\n\nexport const getChytListData = (state: RootState) => state.chyt.list.data;\n\nexport const getChytListAvailableCreators = createSelector([getChytListData], (data) => {\n const {items = []} = data;\n return uniq_(items.map((item) => item.creator!)).sort();\n});\n\nexport const getChytListAvailableHealths = createSelector([getChytListData], (data) => {\n const {items = []} = data;\n return compact_(uniq_(items.map((item) => item.health)).sort());\n});\n\nexport const getChytListAvailableStates = createSelector([getChytListData], (data) => {\n const {items = []} = data;\n return uniq_(items.map((item) => item.state!)).sort();\n});\n\nexport const getChytCurrentAlias = (state: RootState) => state.chyt.clique.currentClique;\n\nexport const getChytListFilterAlias = (state: RootState) => state.chyt.listFilters.name;\nexport const getChytListFilterHealth = (state: RootState) => state.chyt.listFilters.health;\nexport const getChytListFilterCreator = (state: RootState) => state.chyt.listFilters.creator;\nexport const getChytListFilterState = (state: RootState) => state.chyt.listFilters.state;\n\ntype ChytListColumns = Exclude<StrawberryListAttributes, 'yt_operation_id'>;\nconst CHYT_LIST_SELECTABLE_COLUMNS: Record<Exclude<ChytListColumns, 'health_reason'>, true> = {\n instance_count: true,\n total_cpu: true,\n total_memory: true,\n creation_time: true,\n stage: true,\n yt_operation_start_time: true,\n yt_operation_finish_time: true,\n speclet_modification_time: true,\n strawberry_state_modification_time: true,\n pool: true,\n health: true,\n creator: true,\n state: true,\n};\n\nexport type ChytSelectableColumn = keyof typeof CHYT_LIST_SELECTABLE_COLUMNS;\n\ntype ChytColumnItem = {checked: boolean; column: ChytListColumns};\n\nexport const getChytListColumnsFromSettings = (state: RootState) => {\n return (\n getSettingsData(state)['global::chyt::list_columns'] ??\n ([\n 'health',\n 'state',\n 'instance_count',\n 'total_cpu',\n 'total_memory',\n 'creator',\n 'creation_time',\n ] as const)\n );\n};\n\nexport const getChytListVisibleColumns = createSelector(\n [getChytListColumnsFromSettings],\n (columns): Array<ChytSelectableColumn> => {\n const userColumns = new Set(columns);\n return compact_(\n columns.map((k) => {\n return CHYT_LIST_SELECTABLE_COLUMNS[\n k as keyof typeof CHYT_LIST_SELECTABLE_COLUMNS\n ] && userColumns.has(k)\n ? (k as ChytSelectableColumn)\n : null;\n }),\n );\n },\n);\n\nexport const getChytListColumns = createSelector(\n [getChytListVisibleColumns],\n (columns): Array<ChytColumnItem> => {\n const userColumns = new Set(columns);\n const res = columns.map((column) => {\n return {checked: true, column};\n });\n\n Object.keys(CHYT_LIST_SELECTABLE_COLUMNS).forEach((k) => {\n const column = k as ChytSelectableColumn;\n if (!userColumns.has(column)) {\n res.push({checked: false, column});\n }\n });\n\n return res;\n },\n);\n\nexport const getChytListTableSortState = (state: RootState) => state.chyt.listFilters.sortState;\n\nexport const getChytListTableSortStateByName = createSelector(\n [getChytListTableSortState],\n (sortState) => {\n return sortState.reduce(\n (acc, item, index) => {\n if (item.column) {\n acc[item.column] = {\n ...item,\n multisortIndex: sortState.length > 1 ? index + 1 : undefined,\n };\n }\n return acc;\n },\n {} as Record<keyof ChytInfo, SortState<keyof ChytInfo> & {multisortIndex?: number}>,\n );\n },\n);\n\nconst getChytFilterPredicate = createSelector(\n [\n getChytListFilterAlias,\n getChytListFilterCreator,\n getChytListFilterState,\n getChytListFilterHealth,\n ],\n (alias, creator, state, health) => {\n const predicates = compact_([\n alias ? (item: ChytInfo) => -1 !== item.alias.indexOf(alias) : undefined,\n creator !== undefined ? (item: ChytInfo) => creator === item.creator : undefined,\n state ? (item: ChytInfo) => state === item.state : undefined,\n health ? (item: ChytInfo) => health === item.health : undefined,\n ]);\n\n return predicates.length ? concatByAnd(...predicates) : undefined;\n },\n);\n\nexport const getChytListTableItems = createSelector(\n [getChytListData, getChytListTableSortState, getChytFilterPredicate],\n (data, sortState, predicate) => {\n const {items = []} = data;\n\n const filteredItems = !predicate ? items : items.filter(predicate);\n\n const sortedItems = multiSortBySortStateArray(filteredItems, sortState);\n\n return sortedItems;\n },\n);\n","import find_ from 'lodash/find';\nimport sortBy_ from 'lodash/sortBy';\n\nimport {createSelector} from 'reselect';\n\nimport {\n getAccountsNS,\n getBundlesNS,\n getChaosBundlesNS,\n getChytNS,\n getClusterNS,\n getSchedulingNS,\n makeGetSetting,\n} from '../../store/selectors/settings';\nimport {SettingName} from '../../../shared/constants/settings';\nimport {getActiveAccount} from '../../store/selectors/accounts/accounts';\nimport {getPath} from '../../store/selectors/navigation';\nimport {getPool, getTree} from '../../store/selectors/scheduling/scheduling';\nimport {getTabletsActiveBundle} from './tablet_cell_bundles';\nimport {getChaosActiveBundle} from './chaos_cell_bundles';\nimport {getChytCurrentAlias} from './chyt';\n\n//************* Selectors for Accounts *****************\n\nexport const getFavouriteAccounts = createSelector(\n [makeGetSetting, getAccountsNS],\n prepareFavourites,\n);\n\nexport const getLastVisitedAccounts = createSelector(\n [makeGetSetting, getAccountsNS],\n prepareLastVisited,\n);\n\nexport const getPopularAccounts = createSelector([getLastVisitedAccounts], preparePopulars);\n\nexport const isActiveAcountInFavourites = createSelector(\n [getActiveAccount, getFavouriteAccounts],\n prepareIsInFavourites,\n);\n\nexport const getFavouriteChyt = createSelector([makeGetSetting, getChytNS], prepareFavourites);\n\nexport const getLastVisitedChyt = createSelector([makeGetSetting, getChytNS], prepareLastVisited);\n\nexport const getPopularChyt = createSelector([getLastVisitedChyt], preparePopulars);\n\nexport const isActiveCliqueInFavourites = createSelector(\n [getChytCurrentAlias, getFavouriteChyt],\n prepareIsInFavourites,\n);\n\n//************* Selectors for Navigation *****************\n\nexport const getFavouritePaths = createSelector([makeGetSetting, getClusterNS], prepareFavourites);\n\nexport const getLastVisitedPaths = createSelector(\n [makeGetSetting, getClusterNS],\n prepareLastVisited,\n);\n\nexport const getPopularPaths = createSelector([getLastVisitedPaths], preparePopulars);\n\nexport const isCurrentPathInFavourites = createSelector(\n [getPath, getFavouritePaths],\n prepareIsInFavourites,\n);\n\n//************* Selectors for Scheduling *****************\n\nexport const getFavouritePools = createSelector(\n [makeGetSetting, getSchedulingNS],\n prepareFavourites,\n);\n\nexport const isActivePoolInFavourites = createSelector(\n [getPool, getTree, getFavouritePools],\n prepareIsPoolInFavourites,\n);\n\n//************* Selectors for Bundles *****************\n\nexport const getFavouriteBundles = createSelector(\n [makeGetSetting, getBundlesNS],\n prepareFavourites,\n);\n\nexport const isActiveBundleInFavourites = createSelector(\n [getTabletsActiveBundle, getFavouriteBundles],\n prepareIsInFavourites,\n);\n\n// ************ Selectors for Chaos bundles ***********\n\nexport const getFavouriteChaosBundles = createSelector(\n [makeGetSetting, getChaosBundlesNS],\n prepareFavourites,\n);\n\nexport const isActiveChaosBundleInFavourites = createSelector(\n [getChaosActiveBundle, getFavouriteChaosBundles],\n prepareIsInFavourites,\n);\n\n//********************** Helpers *************************\n\nfunction prepareFavourites(getSetting, parentNS) {\n const items = getSetting(SettingName.LOCAL.FAVOURITES, parentNS);\n return sortBy_(items, 'path');\n}\n\nfunction prepareLastVisited(settingGetter, parentNS) {\n return settingGetter(SettingName.LOCAL.LAST_VISITED, parentNS) || [];\n}\n\nfunction preparePopulars(lastVisited) {\n return sortBy_(lastVisited, (entry) => -entry.count);\n}\n\nfunction prepareIsInFavourites(value, favourites) {\n return Boolean(find_(favourites, ({path}) => path === value));\n}\n\nfunction prepareIsPoolInFavourites(pool, tree, favourites) {\n return Boolean(find_(favourites, ({path}) => path === `${pool}[${tree}]`));\n}\n","import reduce_ from 'lodash/reduce';\n\nimport yt from '@ytsaurus/javascript-wrapper/lib/yt';\n\nimport {ROOT_ACCOUNT_NAME} from '../../constants/accounts/accounts';\nimport {EDITOR_TABS} from '../../constants/accounts/editor';\nimport hammer from '../../common/hammer';\nimport {Toaster} from '@gravity-ui/uikit';\nimport {IdmObjectType} from '../../constants/acl';\nimport {showErrorPopup} from '../../utils/utils';\nimport {updateAcl} from '../../utils/acl/acl-api';\n\nconst basePath = '//sys/accounts/';\n\nconst toaster = new Toaster();\n\nconst ERRRO_TOASTER_TIMEOUT = 10000;\nconst SUCCESS_TOASTER_TIMEOUT = 5000;\n\nexport function setResponsibleUsers(cluster, users, accountName, inheritAcl) {\n const path = accountName;\n\n return updateAcl(cluster, path, {\n idmKind: IdmObjectType.ACCOUNT,\n responsible: users,\n inheritAcl,\n });\n}\n\nexport function setAccountLimit(input, accountName, resourcePath) {\n const path = basePath + accountName + resourcePath;\n return yt.v3.set({path}, input);\n}\n\nexport function createAccountFromInfo(cluster, newAccountInfo) {\n return () => {\n const {abcService, account, parentAccount, responsibles, createHome} = newAccountInfo;\n\n return createAccount(account, parentAccount).then(() => {\n const {id, slug} = abcService || {};\n\n return Promise.all([\n setAccountAbc(account, id, slug).catch(() => {}),\n createHome ? createAccountHome(account).catch(() => {}) : Promise.resolve(),\n setResponsibleUsers(\n cluster,\n responsibles,\n account,\n parentAccount !== ROOT_ACCOUNT_NAME,\n ).catch(() => {}),\n ]);\n });\n };\n}\n\nfunction createAccount(accountName, parentName) {\n return yt.v3\n .create({\n type: 'account',\n attributes: {\n name: accountName,\n parent_name: parentName,\n },\n })\n .then((d) => {\n toaster.add({\n name: 'create account',\n timeout: SUCCESS_TOASTER_TIMEOUT,\n theme: 'success',\n title: `${accountName} successfully created`,\n });\n return d;\n })\n .catch((err) => {\n toaster.add({\n name: 'create account',\n timeout: ERRRO_TOASTER_TIMEOUT,\n theme: 'danger',\n title: `Failed to create account ${accountName}`,\n content: err.message,\n actions: [{label: ' view', onClick: () => showErrorPopup(err)}],\n });\n return Promise.reject(err);\n });\n}\n\nexport function setAccountParent(accountName, parentName) {\n return yt.v3\n .set({path: basePath + accountName + '/@parent_name'}, parentName)\n .then((d) => {\n toaster.add({\n name: 'set parent for account',\n timeout: SUCCESS_TOASTER_TIMEOUT,\n theme: 'success',\n title: `${accountName}'s Parent updated successfully`,\n });\n return d;\n })\n .catch((err) => {\n toaster.add({\n name: 'set parent for account',\n timeout: ERRRO_TOASTER_TIMEOUT,\n theme: 'danger',\n title: `Failed to set Parent for ${accountName}`,\n content: err.message,\n actions: [{label: ' view', onClick: () => showErrorPopup(err)}],\n });\n return Promise.reject(err);\n });\n}\n\nexport function setAccountAbc(accountName, abcId, abcSlug) {\n if (!abcId || !abcSlug) {\n return Promise.resolve();\n }\n return yt.v3\n .set({path: basePath + accountName + '/@abc'}, {id: abcId, slug: abcSlug})\n .then((d) => {\n toaster.add({\n name: 'account abc service',\n timeout: SUCCESS_TOASTER_TIMEOUT,\n theme: 'success',\n title: `${accountName}'s ABC Service updated successfully`,\n });\n return d;\n })\n .catch((err) => {\n toaster.add({\n name: 'account abc service',\n timeout: ERRRO_TOASTER_TIMEOUT,\n theme: 'danger',\n title: `Failed to set ABC for ${accountName}`,\n content: err.message,\n actions: [{label: ' view', onClick: () => showErrorPopup(err)}],\n });\n return Promise.reject(err);\n });\n}\n\nexport function createAccountHome(accountName) {\n return yt.v3\n .set(\n {\n path: `//sys/accounts/${accountName}/@resource_limits/node_count`,\n },\n 1,\n )\n .then(() => {\n return yt.v3\n .create({\n type: 'map_node',\n path: '//home/' + accountName,\n attributes: {\n account: accountName,\n },\n })\n .then((d) => {\n toaster.add({\n name: 'account create home',\n timeout: SUCCESS_TOASTER_TIMEOUT,\n theme: 'success',\n title: `${accountName}'s home directory created successfully`,\n });\n return d;\n });\n })\n .catch((err) => {\n toaster.add({\n name: 'account create home',\n timeout: ERRRO_TOASTER_TIMEOUT,\n theme: 'danger',\n title: `Failed to create home for ${accountName}`,\n content: err.message,\n actions: [{label: ' view', onClick: () => showErrorPopup(err)}],\n });\n return Promise.reject(err);\n });\n}\n\nexport function deleteAccount(accountName) {\n return yt.v3.remove({\n path: '//sys/accounts/' + accountName,\n });\n}\n\nexport function parseNumber(input) {\n const result = input.trim();\n\n return Math.floor(Number(result));\n}\n\nexport const contentTabs = reduce_(\n EDITOR_TABS,\n (acc, value) => {\n acc.push({\n value,\n text: hammer.format['ReadableField'](value),\n show: true,\n });\n return acc;\n },\n [],\n);\n"],"names":["AttributesButton","_ref","_ref$view","view","_ref$size","size","rest","_objectWithoutProperties","_excluded","_jsx","Button","_objectSpread","children","Icon","awesome","block","cn","parseValue","rawValue","format","skipSpaces","replace","parseBytes","Number","formatValue","value","settings","undefined","res","hammer","NO_VALUE","toRawValue","NumberInputWithError","_React$Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","state","parsedValue","NaN","onChange","error","errorFromValue","props","formattedValue","setState","parsedError","onBlur","focused","onFocus","onKeyDown","e","keyCode","KeyCode","ENTER","onEnterKeyDown","_createClass","key","this","parseFn","_this$props","decimalPlaces","formatFn","digits","_this$props2","min","max","validator","defaultValue","_this$props3","showHint","showMin","isNaN","showMax","_jsxs","className","Tooltip","content","String","placement","_Fragment","_this$props4","hidePrettyValue","_this$props5","defaultValueClassName","TextInput","disabled","pin","bottomLineVisibility","_this$props6","propsValue","showDefaultValue","_this$state","getRestProps","hasClear","err","text","autoComplete","onUpdate","renderDefaultValue","isBottomLineVisible","React","renderPrettyValue","renderMinMaxHint","preciseInitialRawValue","formatted","v","_props$validator","integerOnly","_ref2","defaultProps","NumberInput","_React$Component2","_super2","_this2","_len2","_key2","_this$props7","_excluded2","QuotaEditor","_this$props$onEnterKe","onBytesChange","sourceAccount","limit","source","checkForError","onAccountChange","sourceSuggestTitle","renderSourceSuggest","limitInputTitle","sourceSuggestDisabled","getFreeFormatted","getLimit","getMinLimit","getMaxLimit","qa","prevLimit","info","calcLimitTotal","total","allowChildrenOverCommit","_info$totalChildrenLi","totalChildrenLimit","free","Math","maxValue","_this$props$prevLimit","itemLimit","_this$props$limit","itemNewLimit","getFreeImpl","account","getInfoByName","currentAccount","_getInfoByName","getFree","newLimit","srcAccount","maxLimit","QuotaEditorWithHide","onYes","_this$calcLimitTotal$","oldLimit","onSave","getDistributeAccount","showConfirm","onHide","onCancel","parentOfCurrentAccount","accountChanged","isReadyToSave","renderConfirmation","renderEditor","renderLimit","onClick","filter","Boolean","join","ClickableText","color","face","renderControl","save","ROOT_ACCOUNT_NAME","ICON_BY_TYPE","_ICON_BY_TYPE","_defineProperty","SortIcon","order","allowUnordered","withUndefined","nextSortOrderValue","label","hidden","icon","ReadableField","b","Suggest","PropTypes","counter","_Component","input","isClearClicked","isUnmounting","skipApplyForNextBlur","onTextUpdate","clear","loadSuggestions","showSuggestions","items","_this$props$onOpenCha","popupVisible","selectedIndex","onOpenChange","open","defaultText","prevItems","bind","_assertThisInitialized","hideSuggestions","clearSuggestions","_this$props$onFocus","_this$props$onBlur","_this$state$text","applySuggestion","evt","preventDefault","selectNextSuggestion","selectPrevSuggestion","applyOrClearSuggestion","_this$input$current","current","blur","_this$props$onOpenCha2","Promise","resolve","then","_this$input$current2","_this$input$current3","itemIndex","item","getItemIndex","getItemValue","onItemClick","_this$state2","prevIndex","getSelectedIndex","_this$state3","nextIndex","placeholder","autoFocus","controlRef","renderCounter","index","itemClassName","selected","_this$props8","template","renderItem","renderer","templates","get","__default__","renderSimpleItem","title","onMouseDown","offsetWidth","maxItems","isNumber_","slice","isObject_","totalAmount","groupPredicate","_partition_","partition_","_partition_2","_slicedToArray","positiveGroup","negativeGroup","positiveGroupMaxItems","round","_this3","listClassName","showNoItemsMsg","style","minWidth","getInputWidth","ReactList","itemRenderer","type","_this$props9","popupClassName","popupPlacement","restrictItems","Popup","anchorRef","onClose","renderSuggestions","renderInput","renderPopup","prevState","Component","disable","zIndexGroupLevel","Secondary","Bold","SecondaryBold","_ref3","Warning","_ref4","WarningLight","_ref5","NoWrap","_ref6","Escaped","_ref7","textNode","unipika","prettyprint","UNIPIKA_ESCAPED_SETTINGS","asHTML","dangerouslySetInnerHTML","__html","genAccountsUrl","cluster","Page","ACCOUNTS","AccountsTab","GENERAL","AccountLink","propsCluster","inline","currentCluster","useSelector","getCluster","ellipsis","ClipboardButton","Link","theme","routed","url","ROOT_ACCOUNT_TITLE","AccountSuggestImpl","allowRootAccount","_props$validate","validate","touched","options","map_","splice","empty","SelectSingle","width","hideClear","isEmpty","getDefaultValue","hasErrorRenderer","connect","getAccountNames","ASConnector","SuggestParentsForEditableAccount","getEditableAccountParentSuggests","AccountsSuggestWithLoading","_React$useState","_React$useState2","_React$useState2$","fetchFullList1M","YTApiId","listAccounts","path","USE_CACHE","ErrorBlock","Account","accountData","Object","assign","perMedium","masterMemoryResources","mediumType","recursive","data","GetDataPerMedium","committed","committedDiskSpace","uncommitted","uncommittedDiskSpace","totalDiskSpace","diskSpaceLimit","diskSpaceProgressTheme","progress","diskSpaceProgress","progressText","diskSpaceProgressText","hasRecursiveResources","recursiveResources","src","getResourceInfoSource","committedNodeCount","uncommittedNodeCount","totalNodeCount","nodeCountLimit","nodeCountProgressTheme","nodeCountProgress","nodeCountProgressText","committedChunkCount","uncommittedChunkCount","totalChunkCount","chunkCountLimit","chunkCountProgressTheme","chunkCountProgress","chunkCountProgressText","committedTabletCount","uncommittedTabletCount","totalTabletCount","tabletCountLimit","tabletCountProgressTheme","tabletCountProgress","tabletCountProgressText","committedTabletStaticMemory","uncommittedTabletStaticMemory","totalTabletStaticMemory","tabletStaticMemoryLimit","tabletStaticMemoryProgressTheme","tabletStaticMemoryProgress","tabletStaticMemoryProgressText","accountMemoryMediumToFieldName","sum","tmpLimit","computeProgress","abs","WithHeader","header","GeneralContent","abcId","abcTitle","responsibleKey","onParentChange","parentName","isOutsideClick","forceUpdate","_this$props$account","name","parent","setAccountParent","onAbcServiceChanged","_asyncToGenerator","_regeneratorRuntime","_callee","service","abcServiceId","_this$props2$account","_this$props2$account$","_this$props2$account$2","slug","id","loadEditedAccount","_args","_context","prev","next","abrupt","abc","setAccountAbc","stop","_x","isDeveloper","_this$props3$account$","control","UIFactory","renderControlAbcService","renderAbcServiceId","renderParentAccount","mapDispatchToProps","setParentAccountAction","setAccountsStateDataFields","dispatch","ACCOUNTS_DATA_FIELDS_ACTION","parseAccountsData","all","parseAccountData","attributesToLoad","fetchAccounts","getState","FETCH_ACCOUNTS_RESOURCE","REQUEST","userName","getCurrentUserName","cacheParams","getAccountsDisabledCacheForNextFetch","requests","command","parameters","attributes","USE_MAX_SIZE","rumId","RumWrapper","RumMeasureTypes","fetch","accountsData","ytApiV3Id","executeBatch","batchData","disableCacheForNextFetch","_batchData","_batchData$","accountsError","accounts","output","_batchData$2","resourceError","resources","_batchData$3","nodesError","nodes","_batchData$4","usableAccountsError","usableAccounts","filter_","ypath","getValue","parse","SUCCESS","FAILURE","FETCH_ACCOUNTS_TOTAL_USAGE","FETCH_ACCOUNTS_NODES","FETCH_ACCOUNTS_USABLE","accountsIncreaseEditCounter","editCounter","getAccountsEditCounter","accountName","UPDATE_EDITABLE_ACCOUNT","accountsEditData","$value","$attributes","changeNameFilter","newFilter","sortState","tables","ACCOUNTS_TABLE_ID","CHANGE_NAME_FILTER","showEditorModal","OPEN_EDITOR_MODAL","setActiveAccount","accountsTrackVisit","SET_ACTIVE_ACCOUNT","closeEditorModal","CLOSE_EDITOR_MODAL","changeContentFilter","CHANGE_CONTENT_MODE_FILTER","changeMediumFilter","CHANGE_MEDIUM_TYPE_FILTER","filterUsableAccounts","FILTER_USABLE_ACCOUNTS","setAccountsTreeState","treeState","SET_ACCOUNTS_TREE_STATE","setAccountsVisibilityModeOfDashboard","setSetting","SettingName","DASHBOARD_VISIBILITY_MODE","NAMESPACES","setAccountsVisibilityMode","ACCOUNTS_VISIBILITY_MODE","setAccountsAbcServiceFilter","abcServiceFilter","getChaosIsLoaded","chaos_cell_bundles","loaded","getChaosIsLoading","loading","getChaosBundlesSortState","bundlesSort","getChaosBundlesNameFilter","bundlesNameFilter","getChaosBundlesAccountFilter","bundlesAccountFilter","getChaosBundlesTagNodeFilter","bundlesTagNodeFilter","getChaosBundles","bundles","getChaosActiveBundle","activeBundle","getChaosBundlesTableMode","bundlesTableMode","getChaosActiveBundleData","createSelector","find_","bundle","getChaosBundlesTotal","aggregateTotal","COLUMNS_SORTABLE_AS_IS","Set","getChaosBundlesFiltered","nameFilter","accountFilter","tagNodeFilter","predicates","lowerNameFilter","toLowerCase","push","indexOf","lowerAccountFilter","changelog_account","snapshot_account","lowerTagNodeFilter","node_tag_filter","concatByAnd","getChaosBundlesSorted","column","sortTableBundles","columnsSortable","getChaosCells","cells","getChaosCellsSortState","cellsSort","getChaosCellsIdFilter","cellsIdFilter","getChaosCellsBundleFilter","cellsBundleFilter","getChaosCellsHostFilter","cellsHostFilter","getChaosCellsOfActiveAccount","getChaosCellsFiltered","idFilter","bundleFilter","hostFilter","peerAddress","filterChaosCellsByBundle","getChaosCellsSorted","sortArrayBySortState","getChaosCellsBundles","uniq_","sort","getChaosCellsHosts","getChaosCellsHostsOfActiveBundle","prepareHostsFromCells","prepareHost","getChaosBreadcrumbItems","href","tabletChaosBundleRootLink","tabletActiveChaosBundleLink","getChytListData","chyt","list","getChytListAvailableCreators","_data$items","map","creator","getChytListAvailableHealths","_data$items2","compact_","health","getChytListAvailableStates","_data$items3","getChytCurrentAlias","clique","currentClique","getChytListFilterAlias","listFilters","getChytListFilterHealth","getChytListFilterCreator","getChytListFilterState","CHYT_LIST_SELECTABLE_COLUMNS","instance_count","total_cpu","total_memory","creation_time","stage","yt_operation_start_time","yt_operation_finish_time","speclet_modification_time","strawberry_state_modification_time","pool","getChytListVisibleColumns","_getSettingsData$glob","getSettingsData","columns","userColumns","k","has","getChytListColumns","checked","keys","forEach","getChytListTableSortState","getChytListTableSortStateByName","reduce","acc","multisortIndex","getChytFilterPredicate","alias","_toConsumableArray","getChytListTableItems","predicate","_data$items4","filteredItems","multiSortBySortStateArray","getFavouriteAccounts","makeGetSetting","getAccountsNS","prepareFavourites","getLastVisitedAccounts","prepareLastVisited","getPopularAccounts","preparePopulars","isActiveAcountInFavourites","getActiveAccount","prepareIsInFavourites","getFavouriteChyt","getChytNS","getLastVisitedChyt","isActiveCliqueInFavourites","getFavouritePaths","getClusterNS","getLastVisitedPaths","getPopularPaths","isCurrentPathInFavourites","getPath","getFavouritePools","getSchedulingNS","isActivePoolInFavourites","getPool","getTree","tree","favourites","getFavouriteBundles","getBundlesNS","isActiveBundleInFavourites","getTabletsActiveBundle","getFavouriteChaosBundles","getChaosBundlesNS","isActiveChaosBundleInFavourites","getSetting","parentNS","LOCAL","FAVOURITES","sortBy_","settingGetter","LAST_VISITED","lastVisited","entry","count","basePath","toaster","Toaster","ERRRO_TOASTER_TIMEOUT","SUCCESS_TOASTER_TIMEOUT","setResponsibleUsers","users","inheritAcl","updateAcl","idmKind","IdmObjectType","ACCOUNT","responsible","setAccountLimit","resourcePath","yt","set","createAccountFromInfo","newAccountInfo","abcService","parentAccount","responsibles","createHome","create","parent_name","d","add","timeout","message","actions","showErrorPopup","reject","createAccountHome","abcSlug","deleteAccount","remove","contentTabs","reduce_","EDITOR_TABS","show"],"sourceRoot":""}
|
@@ -0,0 +1,2 @@
|
|
1
|
+
"use strict";(self.webpackChunk_ytsaurus_ui=self.webpackChunk_ytsaurus_ui||[]).push([[6457],{17852:(e,n,t)=>{t.d(n,{D7:()=>p,lN:()=>f,om:()=>m,ps:()=>v});var r=t(13322),s=t(40319),i=t(76872),a=t(49214),o=t.n(a),l=t(39760),c=t.n(l),u=t(27528),d=t.n(u),m=(0,i.A)("role-list-control");function p(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],t=[],r=[],s=[],i=[];c()(e,(function(e){var n=e.isUnrecognized,a=e.isRequested,o=e.isApproved,l=e.isDepriving;n?i.push(e):l?s.push(e):o||a?r.push(e):t.push(e)}));var a=t.map((function(e){return A(e)})),o=n.map((function(e){return{title:e,data:{},frozen:!0}}));return{newItems:[],current:{title:"Current",data:a.concat(o)},toAdd:{title:"Will be added",itemClassName:m("item-to-add"),data:r.map((function(e){return A(e,{frozen:!0})}))},toRemove:{title:"Will be removed",itemClassName:m("item-to-remove"),data:s.map((function(e){return A(e,{frozen:!0})}))},unrecognized:{title:"Unrecognized",itemClassName:m("item-unrecognized"),data:i.map((function(e){return A(e,{frozen:!0})}))}}}function A(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return(0,s.A)({title:e.text||e.value,data:e},n)}function v(e){var n=e.current,t=e.newItems,s=e.toAdd;return[].concat((0,r.A)(t),(0,r.A)(h(n)),(0,r.A)(h(s)))}function h(e){var n=(e||{}).data;return d()(o()(n,(function(e){return!e.removed})),(function(e){var n=e.data||{};return{type:n.type,value:n.value}}))}function f(e){var n=e.current,t=e.newItems||[],r=(n&&n.data||[]).filter((function(e){return e.removed}));return{added:t.map((function(e){var n=e.type,t=e.value;return"users"===n?{user:t}:{group:t}})),removed:r.map((function(e){var n=e.data||{},t=n.value;return"users"===n.type?{user:t}:{group:t}}))}}},20361:(e,n,t)=>{t.d(n,{J_:()=>g,Vm:()=>E,yz:()=>_,yZ:()=>j,lN:()=>x.lN,Y:()=>N,Ln:()=>T,D7:()=>x.D7,ps:()=>x.ps});var r=t(28407),s=t(70232),i=t.n(s),a=t(77810),o=t(33882),l=t(40319),c=t(9736),u=t(64922),d=t(68175),m=t(76872),p=t(81738),A=t(29347),v=t.n(A),h=t(27528),f=t.n(h),b=(0,m.A)("yt-dialog-error");function g(e){return(0,u.jsx)(p.A,(0,l.A)((0,l.A)({},e),{},{className:b()}))}function N(e){return v()(f()(e,(function(e,n){return e?{name:"error_".concat(n),type:"block",extras:{children:(0,u.jsx)(g,{error:e})}}:void 0})))}var y="FINAL_FORM/form-error";function T(e){return{validationErrors:(0,d.A)({},y,(0,u.jsx)(g,{error:e}))}}var x=t(17852);function C(){return Promise.all([t.e(8096),t.e(4724),t.e(6030),t.e(1086),t.e(164),t.e(2209),t.e(6756),t.e(2640),t.e(6652),t.e(937),t.e(3776),t.e(3716),t.e(5423),t.e(9641),t.e(6019),t.e(3320),t.e(1051),t.e(8512),t.e(7315),t.e(5695),t.e(3990),t.e(3724),t.e(9558),t.e(8427),t.e(1879),t.e(3784),t.e(2736)]).then(t.bind(t,36381))}var I,j=(I=(0,o.A)(a.lazy((0,r.A)(i().mark((function e(){return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,C();case 2:return e.t0=e.sent.YTDialog,e.abrupt("return",{default:e.t0});case 4:case"end":return e.stop()}}),e)})))),""),function(e){var n=a.useState(!1),t=(0,c.A)(n,2),r=t[0],s=t[1];return a.useEffect((function(){!r&&e.visible&&s(!0)}),[e.visible,r]),r?(0,u.jsx)(I,(0,l.A)({},e)):null});(0,o.A)(a.lazy((0,r.A)(i().mark((function e(){return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,C();case 2:return e.t0=e.sent.RoleListControl,e.abrupt("return",{default:e.t0});case 4:case"end":return e.stop()}}),e)})))),"");var E=(0,o.A)(a.lazy((0,r.A)(i().mark((function e(){return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,C();case 2:return e.t0=e.sent.EditableList,e.abrupt("return",{default:e.t0});case 4:case"end":return e.stop()}}),e)})))),""),_=(0,o.A)(a.lazy((0,r.A)(i().mark((function e(){return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,C();case 2:return e.t0=e.sent.TabFieldVertical,e.abrupt("return",{default:e.t0});case 4:case"end":return e.stop()}}),e)})))),"")},78466:(e,n,t)=>{t.d(n,{L:()=>u}),t(77810);var r=t(92423),s=t(72679),i=t(39702),a=t(40319),o=t(64922);const l=function(e){return(0,o.jsx)("svg",(0,a.A)((0,a.A)({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16"},e),{},{children:(0,o.jsx)("path",{fill:"currentColor",fillRule:"evenodd",d:"M3.47 10.97a.75.75 0 1 0 1.06 1.06l3.5-3.5a.75.75 0 0 0 0-1.06l-3.5-3.5a.75.75 0 0 0-1.06 1.06L6.44 8zm5 0a.75.75 0 1 0 1.06 1.06l3.5-3.5a.75.75 0 0 0 0-1.06l-3.5-3.5a.75.75 0 0 0-1.06 1.06L11.44 8z",clipRule:"evenodd"})}))};var c=(0,t(76872).A)("yt-expanded-button"),u=function(e){var n=e.className,t=e.expanded,a=e.inline,u=e.toggleExpanded,d=e.all,m=e.showText,p=e.qa,A=d?"Collapse All":"Collapse",v=d?"Expand All":"Expand";return(0,o.jsxs)(r.$,{className:c({inline:a},n),view:"flat-secondary",title:t?A:v,onClick:u,qa:p,children:[m&&(t?A:v)+" ",(0,o.jsx)(s.I,{className:c("expand",{expanded:t}),data:d?l:i.A,size:16})]})}},63588:(e,n,t)=>{t.d(n,{A:()=>A});var r=t(29121),s=t(12937),i=t(10785),a=t(26718),o=t(77810),l=t(78894),c=t(82060),u=t(73822),d=t(48971),m=t(64922),p=new l.I,A=function(e){(0,i.A)(t,e);var n=(0,a.A)(t);function t(){return(0,r.A)(this,t),n.apply(this,arguments)}return(0,s.A)(t,[{key:"componentDidUpdate",value:function(){var e=this.props,n=e.error,t=e.loaded,r=e.errorData;n&&t&&p.add({theme:"danger",name:"network",autoHiding:5e5,title:"Oops! something went wrong.",content:r?r.message:u.A.format.NO_VALUE,actions:[{label:" view",onClick:function(){return(0,d.eW)(r)}}]})}},{key:"render",value:function(){var e=this.props,n=e.alwaysShowError,t=void 0!==n&&n,r=e.error,s=e.errorData,i=e.loaded,a=e.children;return!r||!t&&i?a:(0,m.jsx)(c.A,{error:s})}}]),t}(o.Component)},95664:(e,n,t)=>{t.d(n,{R:()=>s});var r=t(7787);function s(e){return r.Ay.renderSubjectCard(e)}},51856:(e,n,t)=>{t.d(n,{A:()=>p});var r=t(40319),s=t(9736),i=t(18801),a=t(77810),o=t(31680),l=t.n(o),c=t(65692),u=t(64922),d=["debounce","onUpdate","onBlur","value","onEnterKeyDown","onKeyDown"];function m(e){var n=e.debounce,t=void 0===n?400:n,o=e.onUpdate,m=void 0===o?function(){}:o,p=e.onBlur,A=e.value,v=e.onEnterKeyDown,h=e.onKeyDown,f=(0,i.A)(e,d),b=a.useState(),g=(0,s.A)(b,2),N=g[0],y=g[1],T=a.useMemo((function(){return l()(m,t)}),[t,m]),x=a.useCallback((function(e){y(e),T(e)}),[T,y]),C=a.useCallback((function(e){h&&h(e),"Enter"===e.key&&v&&v(e)}),[v,h]),I=a.useCallback((function(e){y(void 0),p&&p(e)}),[y,p]);return(0,u.jsx)(c.k,(0,r.A)((0,r.A)({onUpdate:x},f),{},{value:void 0===N?A:N,onBlur:I,onKeyDown:C}))}const p=a.memo(m)},89370:(e,n,t)=>{t.r(n),t.d(n,{AccessContentAcl:()=>mn,AccountsAcl:()=>vn,BundleAcl:()=>hn,NavigationAcl:()=>pn,PoolAclPanel:()=>An,RoleActions:()=>ln});var r=t(40319),s=t(18801),i=t(15647),a=t(82733),o=t(57602),l=t(6803),c=t(39980),u=t(27497),d=t(99571),m=t(35336);function p(e){return{type:m.w3,data:e}}function A(e){return function(n,t){if(e){var r=new Set((0,l.PW)(t()));r.has(e)?r.delete(e):r.add(e),n({type:m.w3,data:{expandedSubjects:r}})}}}var v=t(9736),h=t(13322),f=t(28407),b=t(29121),g=t(12937),N=t(10785),y=t(26718),T=t(70232),x=t.n(T),C=t(77810),I=t(73822),j=t(76872),E=t(29347),_=t.n(E),S=t(6736),P=t(14633),O=t(72679),w=t(92423),R=t(91326),k=t(5219);const L=e=>C.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",width:16,height:16,fill:"none",viewBox:"0 0 16 16"},e),C.createElement("path",{fill:"currentColor",fillRule:"evenodd",d:"M8.75 1.75a.75.75 0 0 0-1.5 0v5.5a.75.75 0 0 0 1.5 0v-5.5ZM4.92 3.442A.75.75 0 1 0 4.08 2.2a7 7 0 1 0 7.841 0 .75.75 0 1 0-.841 1.242 5.5 5.5 0 1 1-6.159 0Z",clipRule:"evenodd"}));var D=t(69835),F=t(77318),M=t(60620),U=t(2211),B=t(29241),G=t(33023),K=t(50074),z=t(83534),V=t(20361),q=t(65193),H=t.n(q),W=t(64922);function Y(e){var n=e.visible,t=e.title,r=e.confirmText,s=e.handleClose,i=e.handleSubmit,a=e.initialData,o=e.disabledFields,l=void 0===o?[]:o,c=(0,C.useState)(void 0),u=(0,v.A)(c,2),d=u[0],m=u[1],p=(0,C.useMemo)((function(){return{name:String(null==a?void 0:a.name),columns:null==a?void 0:a.columns,enabled:Boolean(null==a?void 0:a.enabled)}}),[a]);return(0,W.jsx)(V.yZ,{pristineSubmittable:!0,visible:n,modal:!0,headerProps:{title:t},footerProps:{textApply:r},onClose:function(){m(void 0),s()},onAdd:function(e){var n=e.getState().values,t=n.name,r=n.columns,s=n.enabled;return i({name:t,columns:r,enabled:s}).catch((function(e){throw m(e),e}))},initialValues:p,fields:[{name:"name",type:"text",required:!0,caption:"Name",extras:{placeholder:"column group name",disabled:H()(l,"name")}},{name:"columns",type:"acl-columns",required:!0,caption:"Columns",tooltip:"One column name per line",extras:{disabled:H()(l,"columns")}},{name:"enabled",type:"tumbler",caption:"Enabled",extras:{disabled:H()(l,"enabled")}}].concat((0,h.A)((0,V.Y)([d])))})}var $=t(7787),J=t(51856),Z=(0,j.A)("column-groups");function Q(e){var n=e.loaded,t=e.columnGroups,s=e.path,i=e.loadAclDataFn,a=e.cluster,o=e.allowEdit,l=void 0!==o&&o,c=e.updateAclFilters,u=e.columnsFilter,d=e.columnGroupNameFilter,m=e.userPermissionsAccessColumns,p=(0,C.useState)({title:"",confirmText:"",disabledFields:[],initialData:void 0,visible:!1,handleClose:function(){f((function(e){return(0,r.A)((0,r.A)({},e),{},{visible:!1})}))},handleSubmit:function(e){return Promise.resolve()}}),A=(0,v.A)(p,2),h=A[0],f=A[1],b=[{name:"Empty",className:Z("empty"),header:null,render:function(e){var n=e.row;return(0,W.jsx)(L,{className:Z("active-icon",{enabled:n.enabled})})}},{name:"Name",render:function(e){var n=e.row;return(0,W.jsx)("span",{title:n.name,children:n.name})},align:"left",className:Z("name")},{name:"Columns",render:function(e){var n,t=e.row;return(0,B.S5)(null===(n=t.columns)||void 0===n?void 0:n.map((function(e){return'"'.concat(e,'"')})).join(", "))},className:Z("columns"),align:"left"},{name:"",className:Z("actions"),render:function(e){var n=e.row;return l?(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)("span",{className:Z("icon",{delete:!0}),onClick:function(){return e=n,void f((function(n){return(0,r.A)((0,r.A)({},n),{},{title:"Delete column group",confirmText:"Delete",initialData:(0,r.A)({},e),disabledFields:["name","columns","enabled"],visible:!0,handleSubmit:function(){var n=e.id;return $.Ay.getAclApi().deleteColumnGroup(a,n).then((function(){i()}))}})}));var e},children:(0,W.jsx)(M.A,{awesome:"trash-alt"})}),(0,W.jsx)("span",{className:Z("icon",{edit:!0}),onClick:function(){return e=n,void f((function(n){return(0,r.A)((0,r.A)({},n),{},{title:"Edit column group",confirmText:"Save",initialData:(0,r.A)({},e),disabledFields:[],visible:!0,handleSubmit:function(n){return $.Ay.getAclApi().editColumnGroup(a,(0,r.A)((0,r.A)({},n),{},{id:e.id})).then((function(){i()}))}})}));var e},children:(0,W.jsx)(M.A,{awesome:"pencil"})})]}):null},align:"right"}];return(0,W.jsxs)(D.A,{children:[(0,W.jsxs)("div",{children:[(0,W.jsxs)("div",{className:"elements-heading elements-heading_size_xs",children:["Column groups",l&&(0,W.jsxs)(U.A,{className:Z("button",{add:!0}),onClick:function(){f((function(e){return(0,r.A)((0,r.A)({},e),{},{title:"Add new column group",confirmText:"Add",disabledFields:["enabled"],visible:!0,initialData:{name:"",columns:[],enabled:!1},handleSubmit:function(e){return $.Ay.getAclApi().createColumnGroup(a,s,e).then((function(){i()}))}})}))},children:[(0,W.jsx)(M.A,{awesome:"plus"}),"Add"]})]}),(0,W.jsx)(z.Ay,{padding:"skip-vertical",bottomMargin:"regular",toolbar:(0,W.jsx)(G.M,{itemsToWrap:[{node:(0,W.jsx)(J.A,{placeholder:"Filter by name",className:Z("filter"),value:d,onUpdate:function(e){return c({columnGroupNameFilter:e})}})},{node:(0,W.jsx)(X,{columnsFilter:u,updateAclFilters:c,userPermissionsAccessColumns:m}),shrinkable:!0}]}),content:(0,W.jsx)(F.Ay,{loaded:n,noItemsText:"There are not any column groups",data:t,columns:b,theme:"yt-borderless",settings:{sortable:!1,displayIndices:!1}})})]}),h.visible?(0,W.jsx)(Y,(0,r.A)({},h)):null]})}function X(e){var n=e.columnsFilter,t=e.userPermissionsAccessColumns,r=e.updateAclFilters,s=C.useMemo((function(){return null==t?void 0:t.map((function(e){return{value:e,title:e}}))}),[t]);return(0,W.jsx)(K.A,{className:Z("columns-filter"),multiple:!0,hasClear:!0,filterable:!0,label:"Columns",placeholder:"filter",items:s,value:n,onUpdate:function(e){return r({columnsFilter:e})},maxVisibleValuesTextLength:60,width:"max"})}var ee=t(16413),ne=t(82060),te=t(81970),re=t(35074),se=t(11960),ie=(0,j.A)("navigation-acl-delete-modal"),ae=function(e){(0,N.A)(t,e);var n=(0,y.A)(t);function t(){var e;(0,b.A)(this,t);for(var r=arguments.length,s=new Array(r),i=0;i<r;i++)s[i]=arguments[i];return(e=n.call.apply(n,[this].concat(s))).state={confirm:!1},e.checkConfirmDisabled=function(){return!e.state.confirm},e.toggleConfirm=function(){return e.setState((function(e){return{confirm:!e.confirm}}))},e.deleteItem=function(){var n=e.props,t=n.idmKind,r=n.path,s=n.itemToDelete,i=e.props,a=i.itemToDelete.key;return(0,i.deletePermissions)({roleKey:a,idmKind:t,path:r,itemToDelete:s}).then((function(n){n||e.onClose()}))},e.onClose=function(){var n=e.props.handleClose;e.setState((function(){return{confirm:!1}})),n()},e}return(0,g.A)(t,[{key:"render",value:function(){var e=this.state.confirm,n=this.props,t=n.visible,r=n.itemToDelete,s=n.isPermissionDeleted,i=n.error,a=n.lastItemKey,o=r.key,l=r.type,c=r.inherited,u=r.subjects,d=r.permissions,m=r.columns,p=r.inheritanceMode;return(0,W.jsx)(se.A,{onConfirm:this.deleteItem,loading:s,visible:t,confirmText:"Delete",onCancel:this.onClose,title:"Delete permissions",onOutsideClick:this.onClose,isConfirmDisabled:this.checkConfirmDisabled,content:(0,W.jsxs)("div",{className:ie(),children:[(0,W.jsx)(re.Ay,{className:ie("meta"),items:[{key:"inherited",value:String(c)},{key:"subjects",value:(0,B.S5)(null==u?void 0:u.join(", "))},{key:"permissions",value:(0,B.S5)(null==d?void 0:d.join(", ")),visible:"object"===l},{key:"private columns",value:(0,B.S5)(null==m?void 0:m.join(", ")),visible:"columns"===l},{key:"inheritance mode",value:I.A.format.ReadableField(p)||I.A.format.NO_VALUE,visible:"object"===l}]}),(0,W.jsxs)("p",{className:ie("delete",{confirm:e}),children:[(0,W.jsx)(ee.S,{size:"l",content:"Yes, I'm sure",checked:e,onChange:this.toggleConfirm}),(0,W.jsx)(te.A,{theme:"danger",text:"This action CANNOT be undone"})]}),i&&o===a&&(0,W.jsx)(ne.A,{message:"Could not delete permission",error:i})]})})}}]),t}(C.Component),oe=t(78823),le=t(5992),ce=t(31470),ue=t.n(ce),de=t(50073),me=t(63588),pe=t(84806),Ae=["auditors","readApprovers","responsible","inheritanceResponsible"],ve=(0,j.A)("acl-manage");const he=(0,le.Zz)(pe.A)((function(e){var n=e.className,t=e.path,i=e.idmKind,a=e.version,o=e.visible,l=e.loading,c=e.handleShow,u=e.handleClose,d=e.bossApproval,m=e.disableInheritanceResponsible,p=e.auditors,A=e.responsible,v=e.readApprovers,f=e.manageAclError,b=e.error,g=e.errorData,N=e.loadAclData,y=e.cancelUpdateAcl,T=e.updateAcl,x=(0,C.useCallback)((function(){N({path:t,idmKind:i}),c()}),[c,i,N,t]),I=(0,C.useCallback)((function(){u(),y({idmKind:i})}),[y,u,i]),j=(0,C.useCallback)((function(e){var n=e.getState().values,o=n.auditors,l=n.readApprovers,c=n.responsible,u=n.inheritanceResponsible,d=(0,s.A)(n,Ae);return T({path:t,idmKind:i,values:(0,r.A)((0,r.A)({},d),{},{disableInheritance:!u,responsible:(0,V.ps)(c),auditors:(0,V.ps)(o),readApprovers:(0,V.ps)(l)}),version:a,mode:"keep-missing-fields"})}),[i,t,T,a]),E=(0,C.useMemo)((function(){return{responsible:{name:"responsible",type:"acl-roles",caption:"Responsible",extras:{maxVisibleCount:3,placeholder:"Who should approve..."}},inheritanceResponsible:{name:"inheritanceResponsible",type:"tumbler",caption:"Inherit responsible"},readApprovers:{name:"readApprovers",type:"acl-roles",caption:"Read approvers",extras:{maxVisibleCount:3,placeholder:"Who should approve read requests..."}},auditors:{name:"auditors",type:"acl-roles",caption:"Auditors",extras:{maxVisibleCount:3,placeholder:"Who should audit ACL change..."}},bossApproval:{name:"bossApproval",type:"tumbler",caption:"Boss approval"},comment:{name:"comment",caption:"Comment for IDM",type:"textarea"}}}),[]),_=$.Ay.getAclApi().manageAclFields,S=(0,C.useMemo)((function(){var e=$.Ay.getAclPermissionsSettings(),n={bossApproval:e[i].allowBossApprovals,auditors:e[i].allowAuditors,readApprovers:e[i].allowReadApprovers,inheritanceResponsible:e[i].allowInheritResponsibles};return _.filter((function(e){return void 0===n[e]||n[e]})).map((function(e){return E[e]}))}),[i,E,_]);return null!=_&&_.length?(0,W.jsx)(D.A,{children:(0,W.jsxs)("div",{className:ve(null,n),children:[(0,W.jsx)(U.A,{onClick:x,children:"Manage responsibles"}),(0,W.jsxs)(de.l,{size:"m",open:Boolean(o),onClose:u,className:ve("modal",{loading:l,error:b}),children:[(0,W.jsx)(de.l.Header,{caption:"Manage responsibles"}),(0,W.jsx)(de.l.Body,{children:(0,W.jsx)(me.A,{loaded:!1,error:b,errorData:g,children:l?(0,W.jsx)(R.a,{}):(0,W.jsx)(V.yZ,{pristineSubmittable:!0,modal:!1,visible:Boolean(o),onClose:I,onAdd:j,initialValues:{responsible:(0,V.D7)(A),inheritanceResponsible:!m,readApprovers:(0,V.D7)(v),auditors:(0,V.D7)(p),bossApproval:Boolean(d)},formExtras:{initialValuesEqual:ue()},fields:[].concat((0,h.A)(S),[{name:"error-block",type:"block",extras:{children:f&&(0,W.jsx)(ne.A,{message:"Acl update failure",error:f})}}])})})})]})]})}):null}));var fe=t(81738),be=(0,j.A)("acl-inheritance");const ge=(0,le.Zz)(pe.A)((function(e){var n=e.className,t=e.path,r=e.idmKind,s=e.version,i=e.visible,a=e.loading,o=e.handleShow,l=e.handleClose,c=e.inheritAcl,u=e.manageAclError,d=e.loadAclData,m=e.cancelUpdateAcl,p=e.updateAcl,A=e.error,f=e.errorData,b=(0,C.useState)(!1),g=(0,v.A)(b,2),N=g[0],y=g[1],T=(0,C.useCallback)((function(){d({path:t,idmKind:r}),o()}),[o,r,d,t]),x=(0,C.useCallback)((function(){l(),m({idmKind:r})}),[m,l,r]),I=(0,C.useCallback)((function(e){var n=e.getState().values;return p({path:t,idmKind:r,values:n,version:s,mode:"keep-missing-fields"})}),[r,t,p,s]),j=(0,C.useMemo)((function(){return{inheritAcl:{name:"inheritAcl",type:"tumbler",caption:"Inherit ACL",onChange:function(e){y(!e)}},inheritAcl_warning:{name:"inheritAcl_warning",type:"block",extras:{children:N?(0,W.jsx)(fe.A,{type:"alert",message:(0,W.jsxs)(W.Fragment,{children:["Setting ",(0,W.jsx)("span",{className:be("flag"),children:"inherit_acl"})," ","flag to ",(0,W.jsx)("span",{className:be("flag"),children:"false"})," may result in the loss of permissions sufficient to undo this operation."," "]})}):null}},comment:{name:"comment",caption:"Comment for IDM",type:"textarea"}}}),[N]),E=$.Ay.getAclApi(),_=E.manageInheritanceFields,S=E.buttonsTitle,P=(0,C.useMemo)((function(){return $.Ay.getAclPermissionsSettings()[r].allowInheritAcl?_.map((function(e){return j[e]})):[]}),[r,j,_]),O=(null!=S?S:{}).editInheritance,w=void 0===O?"Edit inheritance":O;return P.length?(0,W.jsx)(D.A,{children:(0,W.jsxs)("div",{className:be(null,n),children:[(0,W.jsx)(U.A,{onClick:T,children:w}),(0,W.jsxs)(de.l,{size:"m",open:Boolean(i),onClose:l,className:be("modal",{loading:a,error:A}),children:[(0,W.jsx)(de.l.Header,{caption:w}),(0,W.jsx)(de.l.Body,{children:(0,W.jsx)(me.A,{loaded:!1,error:A,errorData:f,children:a?(0,W.jsx)(R.a,{}):(0,W.jsx)(V.yZ,{pristineSubmittable:!0,modal:!1,visible:Boolean(i),onClose:x,onAdd:I,initialValues:{inheritAcl:Boolean(c)},formExtras:{initialValuesEqual:ue()},fields:[].concat((0,h.A)(P),[{name:"error-block",type:"block",extras:{children:u&&(0,W.jsx)(ne.A,{message:"Acl update failure",error:u})}}])})})})]})]})}):null}));var Ne=(0,j.A)("acl-user-permissions"),ye=function(e){(0,N.A)(t,e);var n=(0,y.A)(t);function t(){var e;(0,b.A)(this,t);for(var r=arguments.length,s=new Array(r),i=0;i<r;i++)s[i]=arguments[i];return(e=n.call.apply(n,[this].concat(s))).requestPermissions=(0,f.A)(x().mark((function n(){var t,r,s,i,a,o=arguments;return x().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return t=e.props,r=t.requestPermissions,s=t.loadAclData,i=t.path,a=t.idmKind,n.next=3,r.apply(void 0,o);case 3:return n.next=5,s({path:i,idmKind:a});case 5:case"end":return n.stop()}}),n)}))),e.updateAcl=(0,f.A)(x().mark((function n(){var t,r,s,i,a,o=arguments;return x().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return t=e.props,r=t.updateAcl,s=t.loadAclData,i=t.path,a=t.idmKind,n.next=3,r.apply(void 0,o);case 3:return n.next=5,s({path:i,idmKind:a});case 5:case"end":return n.stop()}}),n)}))),e}return(0,g.A)(t,[{key:"render",value:function(){var e=this.props,n=e.aclMode,t=e.path,r=e.idmKind,s=e.version,i=e.className,a=e.requestPermissionsError,o=e.cancelRequestPermissions,l=e.loadAclData,c=e.loading,u=e.error,d=e.errorData,p=e.inheritAcl,A=e.bossApproval,v=e.disableInheritanceResponsible,h=e.auditors,f=e.readApprovers,b=e.responsible,g=e.updateAclError,N=e.cancelUpdateAcl,y=e.cluster,T=e.columnGroups;return(0,W.jsx)(D.A,{children:r!==m.wf.UI_EFFECTIVE_ACL&&(0,W.jsx)(S.s,{className:Ne(null,i),gap:4,children:(0,W.jsxs)(C.Fragment,{children:[(0,W.jsx)(oe.A,{aclMode:n,path:t,idmKind:r,error:a,requestPermissions:this.requestPermissions,cancelRequestPermissions:o,cluster:y,columnGroups:T}),n!==m.y6.COLUMN_GROUPS_PERMISSISONS&&(0,W.jsx)(ge,{loadAclData:l,loading:c,error:u,errorData:d,path:t,idmKind:r,version:s,inheritAcl:p,updateAcl:this.updateAcl,manageAclError:g,cancelUpdateAcl:N}),n!==m.y6.COLUMN_GROUPS_PERMISSISONS&&(0,W.jsx)(he,{loadAclData:l,loading:c,error:u,errorData:d,path:t,idmKind:r,version:s,bossApproval:A,disableInheritanceResponsible:v,auditors:h,readApprovers:f,responsible:b,updateAcl:this.updateAcl,manageAclError:g,cancelUpdateAcl:N})]})})})}}]),t}(C.Component);const Te=function(e){return(0,W.jsx)("svg",(0,r.A)((0,r.A)({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16"},e),{},{children:(0,W.jsx)("path",{fill:"currentColor",fillRule:"evenodd",d:"M13.5 8a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0M15 8A7 7 0 1 1 1 8a7 7 0 0 1 14 0m-3.9-1.55a.75.75 0 1 0-1.2-.9L7.419 8.858 6.03 7.47a.75.75 0 0 0-1.06 1.06l2 2a.75.75 0 0 0 1.13-.08z",clipRule:"evenodd"})}))};var xe=t(68374),Ce=t(64772),Ie=(0,j.A)("yt-my-permissions");function je(e){for(var n=e.userPermissions,t=e.className,r=[],s=0;s<(null==n?void 0:n.length);s+=4)r.push(n.slice(s,s+4));return(0,W.jsx)(S.s,{className:Ie(null,t),children:r.map((function(e,n){return(0,W.jsx)(Ee,{items:e},n)}))})}function Ee(e){var n=e.items;return(0,W.jsx)(S.s,{className:Ie("group"),direction:"column",gap:1,children:n.map((function(e){var n=e.type,t=e.action;return(0,W.jsxs)(S.s,{className:Ie("item",{type:t}),alignItems:"center",gap:1,children:[(0,W.jsx)(O.I,{size:16,className:Ie("icon",{color:"deny"===t?"danger":"success"}),data:"deny"===t?xe.A:Te}),Ce.A.Readable(n)]},n)}))})}var _e=t(34380),Se=t(95664),Pe=t(29081),Oe=t(84162),we=(0,j.A)("approvers-filters");function Re(){var e=(0,i.wA)(),n=(0,i.d4)(l.Nh);return(0,W.jsx)(G.M,{itemsToWrap:[{node:(0,W.jsx)(Oe.A,{placeholder:"Filter by subject",onChange:function(n){var t;e((t={approversSubject:n}.approversSubject,{type:m.w3,data:{approversSubject:t}}))},className:we("subject-filter"),value:n,size:"m",autofocus:!1})}]})}var ke=t(27528),Le=t.n(ke),De=(0,j.A)("object-permissions-filters");function Fe(e){var n=e.aclMode,t=e.idmKind,r=e.columnsFilter,s=e.updateAclFilters,o=e.userPermissionsAccessColumns,c=(0,i.wA)(),u=(0,i.d4)(l.Ec),d=(0,i.d4)(l.n2),p=(0,i.d4)((0,a.FW)(t));return(0,W.jsx)(G.M,{itemsToWrap:[{node:(0,W.jsx)(Oe.A,{className:De("filter"),placeholder:"Filter by subject",onChange:function(e){var n;c((n={objectSubject:e}.objectSubject,{type:m.w3,data:{objectSubject:n}}))},value:u,size:"m",autofocus:!1})},{shrinkable:!0,node:n===m.y6.COLUMN_GROUPS_PERMISSISONS?(0,W.jsx)(X,{columnsFilter:r,updateAclFilters:s,userPermissionsAccessColumns:o}):(0,W.jsx)(K.A,{className:De("filter"),multiple:!0,placeholder:"filter",value:d,items:Le()(p,(function(e){return{value:e,text:Ce.A.ReadableField(e)}})),onUpdate:function(e){var n;c((n={objectPermissions:e}.objectPermissions,{type:m.w3,data:{objectPermissions:n}}))},label:"Permissions",maxVisibleValuesTextLength:60,width:"auto"})}]})}var Me=t(74360),Ue=t(64196),Be=(0,j.A)("yt-segment-control");function Ge(e){var n=e.className,t=e.background,r=e.groups;return(0,W.jsx)(S.s,{inline:!0,className:Be({background:t},n),children:r.map((function(e,n){return(0,W.jsx)(Ke,{items:e},n)}))})}function Ke(e){var n=e.items;return(0,W.jsx)(re.Ay,{className:Be("item"),rowGap:4,items:n.map((function(e){return{key:e.name,value:(0,W.jsx)(ze,{value:e.value,url:e.url})}}))})}function ze(e){var n=e.value,t=e.url;return(0,W.jsxs)(S.s,{children:[(0,W.jsx)(qe,{value:n}),Ve(t)&&(0,W.jsx)(Ue.N,{view:"secondary",className:Be("link"),target:"_blank",href:t,children:(0,W.jsx)(M.A,{awesome:"link"})})]})}function Ve(e){return Boolean(e)}function qe(e){var n=e.value;return"boolean"===(0,Me.A)(n)?(0,W.jsx)("span",{className:Be("value",{bool:Boolean(n)}),children:n?"True":"False"}):(0,W.jsx)("span",{className:Be("value"),children:n})}var He=t(79726),We=[m.y6.MAIN_PERMISSIONS,m.y6.COLUMN_GROUPS_PERMISSISONS].map((function(e){return{value:e,content:Ce.A.ReadableField(e)}}));function Ye(e){var n=e.updateAclFilters,t=e.aclMode;return(0,W.jsx)(He.a,{value:t,options:We,onUpdate:function(e){n({aclCurrentTab:e})}})}var $e=t(78466),Je=t(50445),Ze=t(3659);function Qe(e){var n,t=e.expanadable,r=e.items;return r?t?(0,W.jsx)(Je.r,{width:"max",counter:"missing-values",value:null!==(n=null==r?void 0:r.map((function(e){return'"'.concat(Ze.A.decode(e),'"')})))&&void 0!==n?n:[],maxVisibleValues:5,maxTextLength:40}):(0,B.S5)(null==r?void 0:r.map((function(e){return'"'.concat(e,'"')})).join(", ")):Ce.A.NO_VALUE}const Xe=function(e){return(0,W.jsx)("svg",(0,r.A)((0,r.A)({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16"},e),{},{children:(0,W.jsx)("path",{fill:"currentColor",fillOpacity:.3,fillRule:"evenodd",d:"M12.25 2.5h-8.5a.75.75 0 0 0-.75.75v1.5c0 .414.336.75.75.75h8.5a.75.75 0 0 0 .75-.75v-1.5a.75.75 0 0 0-.75-.75m0 4.5H5v3.13c0 .69.56 1.25 1.25 1.25H7v-.13A2.25 2.25 0 0 1 9.25 9h3a2.25 2.25 0 0 1 2.25 2.25v1.5A2.25 2.25 0 0 1 12.25 15h-3a2.25 2.25 0 0 1-2.246-2.12H6.25a2.75 2.75 0 0 1-2.75-2.75V6.986a2.25 2.25 0 0 1-2-2.236v-1.5A2.25 2.25 0 0 1 3.75 1h8.5a2.25 2.25 0 0 1 2.25 2.25v1.5A2.25 2.25 0 0 1 12.25 7m-3 3.5h3a.75.75 0 0 1 .75.75v1.5a.75.75 0 0 1-.75.75h-3a.75.75 0 0 1-.75-.75v-1.5a.75.75 0 0 1 .75-.75",clipRule:"evenodd"})}))};var en=t(76426),nn=t(72902);function tn(e){var n=e.data,t=function(e){switch(null==e?void 0:e.kind){case m.wf.PATH:return(0,nn.L$)({path:e.name});case m.wf.POOL:return(0,nn.oG)({pool:e.name,poolTree:e.poolTree});case m.wf.ACCOUNT:return(0,nn.ob)(e.name);default:return}}(n);return t?(0,W.jsxs)(C.Fragment,{children:["Role is inherited"," ",(0,W.jsx)(en.A,{routed:!0,url:t,routedPreserveLocation:!0,children:null==n?void 0:n.name})]}):"Role is inherited"}var rn=(0,j.A)("navigation-acl"),sn=function(e){(0,N.A)(t,e);var n=(0,y.A)(t);function t(){var e;(0,b.A)(this,t);for(var r=arguments.length,s=new Array(r),i=0;i<r;i++)s[i]=arguments[i];return(e=n.call.apply(n,[this].concat(s))).state={deleteItem:{}},e.handleDeletePermissionClick=function(n){var t=e.props.handleShow;e.setState({deleteItem:n},t)},e.handleCloseDeleteModal=function(){var n=e.props.handleClose;e.setState({deleteItem:{}},n)},e.deletePermissionsFn=(0,f.A)(x().mark((function n(){var t,r,s,i,a,o,l=arguments;return x().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return t=e.props,r=t.deletePermissionsFn,s=t.loadAclData,i=t.idmKind,a=t.path,n.next=3,r.apply(void 0,l);case 3:return o=n.sent,n.next=6,s({path:a,idmKind:i});case 6:return n.abrupt("return",o);case 7:case"end":return n.stop()}}),n)}))),e}return(0,g.A)(t,[{key:"componentDidMount",value:function(){var e=this.props,n=e.path,t=e.idmKind,r=e.loadAclData;n&&r({path:n,idmKind:t})}},{key:"componentDidUpdate",value:function(e){var n=this.props,t=n.path,r=n.idmKind,s=n.loadAclData;e.path!==t&&s({path:t,idmKind:r})}},{key:"getColumnsTemplates",value:function(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).hasInherited,n=this.handleDeletePermissionClick,r=this.props,s=r.idmKind,i=r.toggleExpandAclSubject;return{expand:{name:"",align:"right",className:rn("table-item",{type:"expand"}),render:function(e){var n=e.row,t="expanded"in n?n.expanded:void 0;return void 0===t?null:(0,W.jsx)($e.L,{inline:!0,expanded:t,toggleExpanded:function(){i(n.subjects[0])},qa:"acl-expand"})},width:36},subjects:{name:"Subjects",align:"left",className:rn("table-item",{type:"subjects"}),render:function(n){var r=n.row,s=$.Ay.getAclApi().requestPermissionsFlags,i=void 0===s?{}:s,a=r.inheritedFrom,o="level"in r?r.level:void 0;return(0,W.jsxs)(S.s,{className:rn("subject",{level:String(o)}),wrap:!0,gap:1,children:[Boolean(e)&&(0,W.jsx)(P.A,{className:rn("inherited",{hidden:!r.inherited}),content:(0,W.jsx)(tn,{data:a}),children:(0,W.jsx)(O.I,{className:rn("inherited-icon"),data:Xe,size:16})}),(0,W.jsx)(S.s,{grow:!0,wrap:!0,gap:1,children:t.renderSubjectLink(r)}),Object.keys(i).map((function(e,n){var t=i[e];return(0,W.jsx)(C.Fragment,{children:t.renderIcon(r)},n)}))]})}},permissions:{name:"Permissions",align:"left",className:rn("table-item",{type:"permissions"}),render:function(e){var n,t=e.row,r="deny"===t.action?"deny":"allow",s="deny"===r?"danger":"success";return(0,W.jsxs)("div",{className:rn("permissions",{type:t.action}),children:[(0,W.jsx)(te.A,{className:rn("action-label"),theme:s,children:r}),(0,W.jsx)(Qe,{items:null===(n=t.permissions)||void 0===n?void 0:n.map(I.A.format.Readable),expanadable:"expanded"in t})]})}},inheritance_mode:{name:"Inheritance mode",render:function(e){var n=e.row.inheritance_mode;return void 0===n?I.A.format.NO_VALUE:(0,B.S5)(I.A.format.ReadableField(n))},align:"left",className:rn("table-item",{type:"inheritance-mode"})},actions:{name:"actions",header:"",align:"right",className:rn("table-item",{type:"actions"}),render:function(e){var t=e.row,r="expanded"in t?t.expanded:void 0,i=$.Ay.getComponentForAclRoleActions();return void 0!==r?null:void 0!==i&&(0,W.jsx)(i,{role:t,idmKind:s,onDelete:n})}},approve_type:{name:"Type",align:"left",className:rn("table-item",{type:"approve-type"}),render:function(e){var n=e.row;return I.A.format.Readable(n.type)}},columns:{name:"Private columns",align:"left",className:rn("table-item",{type:"columns"}),render:function(e){var n=e.row;return(0,W.jsx)(Qe,{items:n.columns,expanadable:"expanded"in n})}}}}},{key:"rowClassNameByFlags",value:function(e){var n=e.isUnrecognized,t=e.isDepriving,r=e.isRequested,s=e.isApproved,i=e.isMissing;return rn("row",{unrecognized:n||i,depriving:t,requested:r,approved:s})}},{key:"renderApprovers",value:function(){var e=this,n=this.props,t=n.hasApprovers,r=n.approversFiltered,s=n.loaded,i=["subjects","approve_type","actions"].map((function(n){return e.getColumnsTemplates({hasInherited:!0})[n]}));return t&&(0,W.jsx)(D.A,{children:(0,W.jsxs)("div",{className:rn("approvers"),children:[(0,W.jsxs)("div",{className:"elements-heading elements-heading_size_xs",children:["Responsibles",(0,W.jsx)(w.$,{className:rn("sync-with-col-groups"),children:"Hidden button to sync offsets with column groups"})]}),(0,W.jsx)(z.Ay,{padding:"skip-vertical",toolbar:(0,W.jsx)(Re,{}),bottomMargin:"regular",content:(0,W.jsx)(F.Ay,{data:r,loaded:s,noItemsText:"Thre are no any responsibles",columns:i,theme:"yt-borderless",rowClassName:this.rowClassNameByFlags,settings:{sortable:!1,displayIndices:!1}})})]})})}},{key:"renderObjectPermissions",value:function(){var e=this,n=this.props,t=n.aclMode,r=n.loaded,s=n.loading,i=n.mainPermissions,a=n.columnsPermissions,o=n.idmKind,l=n.columnsFilter,c=n.updateAclFilters,u=n.userPermissionsAccessColumns,d=t===m.y6.COLUMN_GROUPS_PERMISSISONS,p=d?a:i,A=p.items,v=p.hasDenyAction,f=p.hasExpandable,b=p.hasInherited,g=d?[].concat((0,h.A)(v?["permissions"]:[]),["columns"]):["permissions"],N=[].concat((0,h.A)(f?["expand"]:[]),["subjects"],(0,h.A)(g),["inheritance_mode","actions"]).map((function(n){return e.getColumnsTemplates({hasInherited:b})[n]}));return(0,W.jsx)(D.A,{children:(0,W.jsxs)("div",{className:rn("object-permissions"),children:[(0,W.jsx)("div",{className:"elements-heading elements-heading_size_xs",children:d?"Private columns permissions":"Object permissions"}),(0,W.jsx)(z.Ay,{padding:"skip-vertical",bottomMargin:"regular",toolbar:(0,W.jsx)(Fe,{aclMode:t,idmKind:o,columnsFilter:l,updateAclFilters:c,userPermissionsAccessColumns:u}),content:(0,W.jsx)(F.Ay,{noItemsText:t===m.y6.COLUMN_GROUPS_PERMISSISONS?"There are no any column group permissions":"There are no any object permissions",data:A,loading:s,loaded:r,columns:N,theme:"yt-borderless",rowClassName:this.rowClassNameByFlags,settings:{sortable:!1,displayIndices:!1}})})]})})}},{key:"renderColumnGroups",value:function(){var e=this.props,n=e.loaded,t=e.columnGroups,s=e.idmKind,i=e.path,a=e.loadAclData,o=e.cluster,l=e.nodeType,c=e.updateAclFilters,u=e.columnsFilter,d=e.columnGroupNameFilter,p=e.userPermissionsAccessColumns,A={path:i,loadAclDataFn:function(){return a({path:i,idmKind:s})},columnGroups:t,cluster:o,allowEdit:$.Ay.getAclApi().isAllowedToEditColumnGroups({nodeType:l}),updateAclFilters:c,columnsFilter:u,columnGroupNameFilter:d,userPermissionsAccessColumns:p};return(0,Pe.Gq)()&&s===m.wf.PATH?(0,W.jsx)(Q,(0,r.A)({loaded:n},A)):null}},{key:"renderContent",value:function(){var e=this.props,n=e.disableAclInheritance,t=e.visible,r=e.bossApproval,s=e.disableInheritanceResponsible,i=e.path,a=e.idmKind,o=e.version,l=e.userPermissionsRequestError,c=e.userPermissionsRequestFn,u=e.userPermissionsCancelRequestFn,d=e.isPermissionDeleted,p=e.deletePermissionsLastItemKey,A=e.deletePermissionsError,v=e.loadAclData,h=e.loading,f=e.loaded,b=e.error,g=e.errorData,N=e.auditors,y=e.readApprovers,T=e.responsible,x=e.userPermissionsUpdateAcl,I=e.userPermissionsUpdateAclError,j=e.userPermissionsCancelUpdateAcl,E=e.cluster,_=e.columnGroups,P=e.aclMode,O=e.updateAclFilters,w=this.state.deleteItem,R=Boolean(P),k=P===m.y6.COLUMN_GROUPS_PERMISSISONS;return(0,W.jsxs)(C.Fragment,{children:[(0,W.jsxs)(S.s,{className:rn("toolbar",{"has-columns":R}),children:[R&&(0,W.jsx)(S.s,{grow:!0,children:(0,W.jsx)(Ye,{aclMode:P,updateAclFilters:O})}),f&&(0,W.jsx)(ye,{cluster:E,className:rn("acl-actions"),path:i,idmKind:a,version:o,requestPermissions:c,requestPermissionsError:l,cancelRequestPermissions:u,loadAclData:v,loading:h,error:b,errorData:g,inheritAcl:!n,bossApproval:r,disableInheritanceResponsible:s,auditors:N,readApprovers:y,responsible:T,updateAcl:x,updateAclError:I,cancelUpdateAcl:j,columnGroups:_,aclMode:P})]}),this.renderMeta(),k?this.renderColumnGroups():this.renderApprovers(),this.renderObjectPermissions(),(0,W.jsx)(ae,{idmKind:a,path:i,visible:t,itemToDelete:w,handleClose:this.handleCloseDeleteModal,isPermissionDeleted:d,lastItemKey:p,deletePermissions:this.deletePermissionsFn,error:A},null==w?void 0:w.key)]})}},{key:"renderMeta",value:function(){var e=this.props,n=e.idmKind,t=e.disableAclInheritance,r=e.bossApproval,s=e.disableInheritanceResponsible,i=e.userPermissions,a=$.Ay.getAclPermissionsSettings()[n],o=a.allowBossApprovals,l=a.allowInheritAcl,c=a.allowInheritResponsibles;function u(e,n,t){var r=(0,d.kR)(n);return{name:e,value:t?!r:r,url:"boolean"==typeof n||null==n?void 0:n.idmLink}}var p=_()([l&&u("Inherit ACL",t,!0),(0,Pe.Gq)()&&o&&u("Boss approval",r),(0,Pe.Gq)()&&c&&u("Inherit responsibles",s,!0)]),A=this.props,v=A.mainPermissions,h=A.columnsPermissions,f=A.approversFiltered,b=A.columnGroups,g=A.aclMode,N=g===m.y6.COLUMN_GROUPS_PERMISSISONS?[{name:"Column groups",value:b.length},{name:"Column permissions",value:h.count}]:[{name:"Responsibles",value:f.length},{name:"Object permissions",value:v.count}],y=Boolean(g);return(0,W.jsxs)(S.s,{className:rn("meta"),wrap:!0,alignItems:"center",children:[(0,W.jsx)(Ge,{className:rn("meta-item"),background:"neutral-light",groups:[p,N].filter((function(e){return e.length>0}))}),g!==m.y6.COLUMN_GROUPS_PERMISSISONS&&(0,W.jsx)(je,{className:rn("meta-item",{"with-buttons":!y}),userPermissions:i})]})}},{key:"render",value:function(){var e=this.props,n=e.loading,t=e.loaded,s=e.className,i=n&&!t;return(0,W.jsx)(D.A,{children:(0,W.jsx)(me.A,(0,r.A)((0,r.A)({},this.props),{},{children:(0,W.jsx)("div",{className:rn({loading:i},s),children:i?(0,W.jsx)(R.a,{}):this.renderContent()})}))})}}],[{key:"renderSubjectLink",value:function(e){if(e.internal){var n,t=(0,v.A)(e.subjects,1)[0],r=null!==(n=e.types)&&void 0!==n?n:[],s=(0,v.A)(r,1)[0];return(0,W.jsx)(Se.R,{name:t,type:"group"===s?"group":"user",internal:!0,showIcon:!0})}if("user"===e.subjectType){var i=e.subjectUrl,a=e.subjects[0];return(0,W.jsx)(Se.R,{url:i,name:a,showIcon:!0})}if("tvm"===e.subjectType){var o,l=e.subjects[0],c=(null!==(o=e.tvmInfo)&&void 0!==o?o:{}).name,u="".concat(c," (").concat(l,")");return(0,W.jsxs)("div",{className:rn("subject-with-tvm"),children:[(0,W.jsx)(Se.R,{url:e.subjectUrl,name:u,type:"tvm",showIcon:!0}),(0,W.jsx)(te.A,{text:"TVM"})]})}var d=e.groupInfo||{},m=d.name,p=d.url,A=d.group,h=e.group_type;return(0,W.jsx)(_e.m,{content:A&&(0,W.jsxs)(C.Fragment,{children:["idm-group:",A,(0,W.jsx)("span",{className:rn("copy-idm-group"),children:(0,W.jsx)(k.b,{text:"idm-group:".concat(A),size:"s"})})]}),children:(0,W.jsx)(Se.R,{name:null!=m?m:A,url:p,type:"group",groupType:h,showIcon:!0})})}}]),t}(C.Component);sn.tableColumns={items:{inherited:{caption:"",align:"center"},subjects:{align:"left"},permissions:{align:"left"},columns:{caption:"Private columns",align:"left"},inheritance_mode:{align:"left"},actions:{caption:"",align:"right"},responsibles:{align:"left"},read_approvers:{align:"left"},auditors:{align:"left"},approve_type:{align:"left",caption:"Type"}},sets:{objectDefault:{items:["inherited","subjects","permissions","inheritance_mode","actions"]},columns:{items:["inherited","subjects","columns"]},approvers:{items:["inherited","subjects","approve_type","actions"]}}};const an=(0,pe.A)(sn);var on=(0,j.A)("navigation-acl");function ln(e){var n=e.role,t=e.onDelete,r=n.inherited,s=C.useCallback((function(){null==t||t(n)}),[t,n]);return(0,W.jsx)(C.Fragment,{children:!r&&void 0!==t&&(0,W.jsx)(w.$,{className:on("button"),onClick:function(){return s()},children:(0,W.jsx)(M.A,{awesome:"trash-alt"})})})}var cn=["loadAclData","deletePermissionsFn","userPermissionsRequestFn","userPermissionsUpdateAcl"];function un(e,n,t){var i=e.normalizedPoolTree,a=e.aclRequestOptions,o=n.loadAclData,l=n.deletePermissionsFn,c=n.userPermissionsRequestFn,u=n.userPermissionsUpdateAcl,d=(0,s.A)(n,cn);return(0,r.A)((0,r.A)((0,r.A)((0,r.A)({},t),e),d),{},{loadAclData:function(e){return o((0,r.A)({},e),{normalizedPoolTree:i},a)},deletePermissionsFn:function(e){return l(e,{normalizedPoolTree:i})},userPermissionsRequestFn:function(e){return c(e,{normalizedPoolTree:i})},userPermissionsUpdateAcl:function(e){return u(e,{normalizedPoolTree:i})}})}function dn(e){return function(e){var n,t=(n=e,function(e,t){var r=(0,d.kc)(n,t.path),s=r.idmKind,i=r.path,c=r.pool_tree,m={userPermissionsPath:r.userPermissionsPath},p=e.acl[s],A=p.loaded,v=p.loading,h=p.error,f=p.errorData,b=p.disableAclInheritance,g=p.bossApproval,N=p.disableInheritanceResponsible,y=(0,a.j3)(e,s),T=(0,a.ap)(e,s),x=(0,a.Xb)(e,s),C=x.mainPermissions,I=x.columnsPermissions,j=(0,a.Eo)(e,s),E=(0,a.xd)(e,s),_=(0,l.Gn)(e),S=(0,a.Lt)(e,s),P=(0,a.e6)(e,s),O=(0,a.Pc)(e,s),w=(0,o.Pw)(e);return{cluster:(0,u.dB)(e),loading:v,loaded:A,error:h,errorData:f,path:i,nodeType:w,version:(0,a.oq)(e,s),idmKind:s,disableAclInheritance:b,bossApproval:g,disableInheritanceResponsible:N,columnGroups:j,mainPermissions:C,columnsPermissions:I,hasApprovers:y,approversFiltered:T,auditors:S,readApprovers:P,responsible:O,userPermissions:E,userPermissionsRequestError:(0,a.Uy)(e,s),userPermissionsAccessColumns:(0,a.b5)(e,s),userPermissionsUpdateAclError:(0,a.l$)(e,s),isPermissionDeleted:(0,a.RX)(e,s),deletePermissionsLastItemKey:(0,a.eX)(e,s),deletePermissionsError:(0,a.Sx)(e,s),columnsFilter:_,columnGroupNameFilter:(0,l.Fv)(e),normalizedPoolTree:c,aclRequestOptions:m,aclMode:"path"!==s?void 0:(0,l.$L)(e)}}),r={loadAclData:c.lR,userPermissionsRequestFn:c.uJ,userPermissionsCancelRequestFn:c.mI,userPermissionsUpdateAcl:c.iO,userPermissionsCancelUpdateAcl:c.mD,deletePermissionsFn:c.Me,updateAclFilters:p,toggleExpandAclSubject:A};return(0,i.Ng)(t,r,un)}(e)(an)}var mn=dn(m.wf.ACCESS_CONTROL_OBJECT),pn=dn(m.wf.PATH),An=dn(m.wf.POOL),vn=dn(m.wf.ACCOUNT),hn=dn(m.wf.TABLET_CELL_BUNDLE)},35777:(e,n,t)=>{t.d(n,{A:()=>x});var r=t(68175),s=t(40319),i=t(18801),a=t(19812),o=t(29121),l=t(12937),c=t(10785),u=t(26718),d=t(77810),m=t(76872),p=t(20803),A=t.n(p),v=t(96843),h=t.n(v),f=t(27528),b=t.n(f),g=t(16413),N=t(64772),y=t(64922),T=(0,m.A)("acl-permissions-control"),x=function(e){(0,c.A)(t,e);var n=(0,u.A)(t);function t(){var e;(0,o.A)(this,t);for(var l=arguments.length,c=new Array(l),u=0;u<l;u++)c[u]=arguments[u];return(e=n.call.apply(n,[this].concat(c))).state={},e.handleCheckboxChange=function(n,t){var o=e.props,l=o.value,c=o.onChange,u=l||{},d=u[n],m=(0,i.A)(u,[n].map(a.A));c(d?m:(0,s.A)((0,s.A)({},m),{},(0,r.A)({},n,t)))},e}return(0,l.A)(t,[{key:"renderPermissionCheckbox",value:function(e,n,t){var r=this,s=this.props,i=s.value,a=s.disabled,o=s.disabledChoices,l=a||-1!==A()(o,t);return(0,y.jsx)(g.S,{checked:Boolean(null==i?void 0:i[e]),content:N.A.ReadableField(e),onChange:function(){return r.handleCheckboxChange(e,n)},disabled:l,className:T("item")},e)}},{key:"renderChoices",value:function(e){var n=this;return b()(e,(function(e,r){var s=t.getChoiceName(e);return(0,y.jsx)(d.Fragment,{children:n.renderPermissionCheckbox(s,e,r)},r)}))}},{key:"render",value:function(){var e=this.props,n=e.choices,t=e.error;return(0,y.jsxs)("div",{className:T(),children:[this.renderChoices(n),t&&(0,y.jsx)("div",{className:T("error-message"),children:t})]})}}],[{key:"getChoiceName",value:function(e){return e.join("/")}},{key:"isEmpty",value:function(e){return h()(e)}}]),t}(d.Component);x.hasErrorRenderer=!0,x.getDefaultValue=function(){return{}}},78823:(e,n,t)=>{t.d(n,{A:()=>P});var r=t(68175),s=t(13322),i=t(28407),a=t(9736),o=t(40319),l=t(70232),c=t.n(l),u=t(5992),d=t(76872),m=t(77810),p=t(20361),A=t(69835),v=t(92423),h=t(35777),f=t(84806),b=t(35336),g=t(7787),N=t(73822),y=t(27528),T=t.n(y),x=t(29081),C=t(48971),I=t(64922),j=(0,d.A)("acl-request-permissions"),E="##_flag_",_={access_control_object:"ACO"},S=new Set(["readColumns","readColumnGroup"]);const P=(0,u.Zz)(f.A)((function(e){var n,t=e.aclMode,l=e.visible,u=e.handleShow,d=e.handleClose,f=e.className,y=e.buttonClassName,P=e.path,O=e.idmKind,w=e.requestPermissions,R=e.cancelRequestPermissions,k=e.error,L=e.cluster,D=e.columnGroups,F=e.buttonProps,M=(0,m.useCallback)((function(){d(),R({idmKind:O})}),[d,R,O]),U=g.Ay.getAclApi(),B=U.requestPermissionsFields,G=U.requestPermissionsFlags,K=void 0===G?{}:G,z=U.buttonsTitle,V=(0,m.useCallback)((function(e){var n=(0,o.A)({},e.getState().values),t={};return Object.keys(K).forEach((function(e){var r="".concat(E).concat(e);t[e]=Boolean(n[r]),delete n[r]})),w({values:(0,o.A)((0,o.A)({},n),{},{permissionFlags:t}),idmKind:O})}),[w,O]),q="Current ".concat(null!==(n=_[O])&&void 0!==n?n:O),H=g.Ay.getAclPermissionsSettings()[O],W=H.permissionsToRequest,Y=H.getAvailablePermissions,$=m.useState(void 0),J=(0,a.A)($,2),Z=J[0],Q=J[1],X=(0,m.useCallback)((0,i.A)(c().mark((function e(){var n;return c().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,null==Y?void 0:Y({path:P});case 3:n=e.sent,Q(n),e.next=10;break;case 7:e.prev=7,e.t0=e.catch(0),Q(void 0);case 10:return e.prev=10,u(),e.finish(10);case 13:case"end":return e.stop()}}),e,null,[[0,7,10,13]])}))),[P,u,Y]),ee=O===b.wf.ACCOUNT,ne=null!=Z?Z:W,te=ee?function(e){return!e||e.length<1?{}:(0,r.A)({},h.A.getChoiceName(e[0]),e[0])}(ne):null,re=(0,m.useMemo)((function(){var e=O===b.wf.ACCOUNT?[0]:void 0;return{cluster:{type:"plain",caption:"Cluster",extras:{className:j("cluster")}},path:{type:"text",caption:q,extras:{disabled:!k}},permissions:{type:"permissions",caption:"Permissions",required:!0,tooltip:(0,I.jsx)(I.Fragment,{children:(0,x.fs)((0,C.f2)(g.Ay.docsUrls["acl:permissions"],"Permissions types"),"Permissions types")}),extras:{choices:ne,disabledChoices:e}},readColumns:{type:"acl-columns",caption:"Read columns",required:!0},readColumnGroup:{type:"acl-column-group",caption:"Read column group",required:!0,extras:{columnGroups:D}},subjects:{type:"acl-subjects",caption:"Subjects",required:!1,extras:{placeholder:"Enter group name, user name or login...",allowedTypes:["users","groups","app"]}},duration:{type:"before-date",caption:"Duration"},commentHeader:{type:"block",className:j("modal-comments-header"),extras:{children:(0,I.jsxs)(m.Fragment,{children:[(0,I.jsx)("div",{className:"is-dialog__label",children:"Comment"}),(0,I.jsx)("div",{className:j("comment-notice"),children:"Teams and people can be requested through the IDM after the access group is created. If you have a more complex case please describe it in the comments."})]})}},comment:{type:"textarea",className:j("modal-comments")},inheritance_mode:{type:"yt-select-single",caption:"Inheritance mode",extras:{items:T()(b.vv,(function(e){return{value:e,text:N.A.format.ReadableField(e)}})),hideClear:!0,hideFilter:!0,with:"max"}},permissionFlags:{type:"block",caption:"Permission flags",extras:{children:"Not implemented"}}}}),[ne,q,k,O]),se=t===b.y6.COLUMN_GROUPS_PERMISSISONS,ie=(0,m.useMemo)((function(){var e=-1,n=B.reduce((function(n,t){return(se?"permissions"===t:S.has(t))||("permissionFlags"===t&&(e=n.length),n.push((0,o.A)((0,o.A)({},re[t]),{},{name:t}))),n}),[]);if(-1!==e){var t=Object.keys(null!=K?K:[]).map((function(e){var n=K[e];return{type:"tumbler",caption:N.A.format.ReadableField(null==n?void 0:n.title),name:"".concat(E).concat(e),tooltip:n.help,initialValue:n.initialValue}}));n.splice.apply(n,[e,1].concat((0,s.A)(t)))}return n}),[re,B,se]),ae=null!=z?z:{},oe=ae.editAcl,le=void 0===oe?"Edit ACL":oe,ce=ae.editColumnsAcl,ue=se?void 0===ce?"Edit columns ACL":ce:le;return null!=ne&&ne.length?(0,I.jsx)(A.A,{children:(0,I.jsxs)("div",{className:j(null,f),children:[(0,I.jsx)(v.$,(0,o.A)((0,o.A)({className:y,view:"action"},F),{},{onClick:X,children:ue})),(0,I.jsx)(p.yZ,{pristineSubmittable:!0,onClose:M,className:j("modal"),visible:Boolean(l),onAdd:V,headerProps:{title:ue},initialValues:{path:P,permissions:te,cluster:L,inheritance_mode:b.vv.OBJECT_AND_DESCENDANTS},validate:function(e){var n={subjects:void 0};return e.subjects.length||(n.subjects="At least one subject should be selected."),n},fields:[].concat((0,s.A)(ie),(0,s.A)((0,p.Y)([k])))})]})}):null}))},84806:(e,n,t)=>{t.d(n,{A:()=>d});var r=t(40319),s=t(29121),i=t(12937),a=t(10785),o=t(26718),l=t(77810),c=t(53332),u=t(64922);function d(e){var n,t=(n=function(n){(0,a.A)(l,n);var t=(0,o.A)(l);function l(){var e;(0,s.A)(this,l);for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return(e=t.call.apply(t,[this].concat(r))).state={visible:e.props.visible},e.handleShow=function(){return e.setState({visible:!0})},e.handleClose=function(){return e.setState({visible:!1})},e.toggleVisible=function(){return e.setState((function(e){return{visible:!e.visible}}))},e}return(0,i.A)(l,[{key:"render",value:function(){var n=this.state.visible;return(0,u.jsx)(e,(0,r.A)((0,r.A)({},this.props),{},{visible:n,handleShow:this.handleShow,handleClose:this.handleClose,toggleVisible:this.toggleVisible}))}}]),l}(l.Component),n.defaultProps={visible:!1},n.displayName="WithVisible(".concat((0,c.Mn)(e),")"),n);return t}},11896:(e,n,t)=>{t.d(n,{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"}},39980:(e,n,t)=>{t.d(n,{Me:()=>j,iO:()=>P,lR:()=>I,mD:()=>O,mI:()=>S,uJ:()=>_});var r=t(40319),s=t(70353),i=t(9736),a=t(28407),o=t(70232),l=t.n(o),c=t(4176),u=t.n(c),d=t(39760),m=t.n(d),p=t(27528),A=t.n(p),v=t(35336),h=t(66205),f=t(63582),b=t(99571),g=t(7787),N=t(76365),y=t(64714),T=function(e,n){var t=g.Ay.getAclPermissionsSettings()[n].permissionTypes;return A()(e,(function(e,n){return{type:t[n],action:e.action}}))};function x(e,n,t){return C.apply(this,arguments)}function C(){return(C=(0,a.A)(l().mark((function e(n,t,r){var s;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:e.t0=n,e.next=e.t0===v.wf.ACCESS_CONTROL_OBJECT||e.t0===v.wf.UI_EFFECTIVE_ACL||e.t0===v.wf.PATH?3:e.t0===v.wf.ACCOUNT?4:e.t0===v.wf.POOL?5:e.t0===v.wf.TABLET_CELL_BUNDLE?9:10;break;case 3:return e.abrupt("return",t);case 4:return e.abrupt("return","//sys/accounts/".concat(t));case 5:return e.next=7,y.Qq.get(y.Vu.schedulingPoolFullPath,{path:"//sys/scheduler/orchid/scheduler/pool_trees/".concat(r,"/pools/").concat(t,"/full_path")});case 7:return s=e.sent,e.abrupt("return","//sys/pool_trees/".concat(r).concat(s));case 9:return e.abrupt("return","//sys/tablet_cell_bundles/".concat(t));case 10:throw new Error("Unexpected value of parameter idmKind");case 11:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function I(e){var n=e.path,t=e.idmKind,r=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).normalizedPoolTree,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{userPermissionsPath:void 0};return function(){var e=(0,a.A)(l().mark((function e(a,o){var c,u,d,m,p,A,b,N,y,C;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return c=o(),u=c.global,d=u.login,m=u.cluster,p=void 0===m?"":m,a({type:v.in.REQUEST,idmKind:t}),A=t===v.wf.POOL?r||(0,h.Jv)(c):void 0,b=g.Ay.getAclPermissionsSettings()[t].permissionTypes,N=s.userPermissionsPath,e.prev=6,e.next=9,x(t,n,A);case 9:if(y=e.sent,!N){e.next=16;break}return e.next=13,x(t,N,A);case 13:e.t0=e.sent,e.next=17;break;case 16:e.t0=y;case 17:return C=e.t0,e.next=20,Promise.all([(0,f.Lt)({cluster:p,path:n,kind:t,poolTree:A,sysPath:y}),(0,f.UG)(C,d,b),(0,f.zp)({cluster:p,path:n,kind:t,poolTree:A,sysPath:y})]).then((function(e){var r=(0,i.A)(e,3),s=r[0],o=r[1],l=r[2];a({type:v.in.SUCCESS,data:{path:n,version:l.version,auditors:l.auditors,objectPermissions:s.permissions,columnGroups:s.column_groups,responsible:l.responsible,userPermissions:T(o,t),readApprovers:l.readApprovers,disableAclInheritance:l.disableAclInheritance,bossApproval:l.bossApproval,disableInheritanceResponsible:l.disableInheritanceResponsible},idmKind:t})}));case 20:return e.abrupt("return",e.sent);case 23:e.prev=23,e.t1=e.catch(6),a({type:v.in.FAILURE,data:{error:e.t1},idmKind:t});case 26:case"end":return e.stop()}}),e,null,[[6,23]])})));return function(n,t){return e.apply(this,arguments)}}()}function j(e){var n=e.roleKey,t=e.idmKind,r=e.path,s=e.itemToDelete,i=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).normalizedPoolTree;return function(){var e=(0,a.A)(l().mark((function e(a,o){var c,u,d,m,p;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return c=o().global.cluster,u=void 0===c?"":c,d=o(),a({type:v.eQ.REQUEST,data:n,idmKind:t}),m=t===v.wf.POOL?i||(0,h.Jv)(d):void 0,e.prev=4,e.next=7,x(t,r,m);case 7:return p=e.sent,e.next=10,g.Ay.getAclApi().deleteRole({idmKind:t,cluster:u,roleKey:n,path:r,sysPath:p,itemToDelete:s}).then((function(){a({type:v.eQ.SUCCESS,data:n,idmKind:t})}));case 10:return e.abrupt("return",e.sent);case 13:if(e.prev=13,e.t0=e.catch(4),!(0,N.m)(e.t0)){e.next=20;break}return a({type:v.eQ.CANCELLED,idmKind:t}),e.abrupt("return",void 0);case 20:return a({type:v.eQ.FAILURE,data:e.t0,idmKind:t}),e.abrupt("return",Promise.reject(e.t0));case 22:case"end":return e.stop()}}),e,null,[[4,13]])})));return function(n,t){return e.apply(this,arguments)}}()}function E(e){if(e)return Math.round((e.getTime()-Date.now())/3600/24/1e3)}function _(e){var n=e.values,t=e.idmKind,o=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).normalizedPoolTree;return function(){var e=(0,a.A)(l().mark((function e(a,c){var d,p,f,y,T,C,I,j,_,S,P,O,w,R,k,L,D,F,M;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:d=c(),p=d.global.cluster,f=void 0===p?"":p,a({type:v.cj.REQUEST,idmKind:t}),y=g.Ay.getAclApi(),T=y.requestPermissionsFlags,C=void 0===T?{}:T,I=E(n.duration),j=[],_=[],S=n.inheritance_mode,P=n.permissionFlags,O=n.readColumnGroup,w=n.readColumns,R=(0,s.A)(n.subjects),e.prev=9,L=l().mark((function e(){var t,s,a,o;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:t=k.value,s=(0,b.CY)(t),a=(0,r.A)({subject:s,deprive_after_days:I},S?{inheritance_mode:S}:{}),Object.entries(C).forEach((function(e){var n=(0,i.A)(e,2),t=n[0],r=n[1];null==r||r.applyToRequestedRole(a,null==P?void 0:P[t])})),(o=u()(A()(n.permissions))).length&&_.push((0,r.A)({permissions:o},a)),null!=w&&w.length&&_.push((0,r.A)((0,r.A)((0,r.A)({},_[_.length-1]),a),{},{columns:w,permissions:["read"]})),m()(n.permissions,(function(e){j.push((0,r.A)((0,r.A)({},(0,b.Yc)({permissions:e})),a))})),O&&j.push((0,r.A)({role_type:"column_read",column_group_id:O},a));case 9:case"end":return e.stop()}}),e)})),R.s();case 12:if((k=R.n()).done){e.next=16;break}return e.delegateYield(L(),"t0",14);case 14:e.next=12;break;case 16:e.next=21;break;case 18:e.prev=18,e.t1=e.catch(9),R.e(e.t1);case 21:return e.prev=21,R.f(),e.finish(21);case 24:return D=t===v.wf.POOL?o||(0,h.Jv)(d):void 0,e.prev=25,e.next=28,x(t,n.path,D);case 28:return M=e.sent,e.abrupt("return",g.Ay.getAclApi().requestPermissions({cluster:f,path:n.path,sysPath:M,roles:j,roles_grouped:_.map(b.Yc),comment:null!==(F=n.comment)&&void 0!==F?F:"",kind:t,poolTree:D}).then((function(){a({type:v.cj.SUCCESS,idmKind:t})})));case 32:if(e.prev=32,e.t2=e.catch(25),!(0,N.m)(e.t2)){e.next=39;break}return a({type:v.cj.CANCELLED,idmKind:t}),e.abrupt("return",void 0);case 39:return a({type:v.cj.FAILURE,data:e.t2,idmKind:t}),e.abrupt("return",Promise.reject(e.t2));case 41:case"end":return e.stop()}}),e,null,[[9,18,21,24],[25,32]])})));return function(n,t){return e.apply(this,arguments)}}()}function S(e){var n=e.idmKind;return{type:v.cj.CANCELLED,idmKind:n}}function P(e){var n=e.path,t=e.values,s=e.version,i=e.idmKind,a=e.mode,o=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).normalizedPoolTree;return function(e,l){var c=l(),u=l().global.cluster,d=void 0===u?"":u;e({type:v.H6.REQUEST,idmKind:i});var m=i===v.wf.POOL?o||(0,h.Jv)(c):void 0;return g.Ay.getAclApi().updateAcl(d,n,(0,r.A)((0,r.A)({},t),{},{version:s,idmKind:i,poolTree:m,mode:a})).then((function(){e({type:v.H6.SUCCESS,idmKind:i})})).catch((function(n){if((0,N.m)(n))return e({type:v.H6.CANCELLED,idmKind:i});var t,r=(null==n||null===(t=n.response)||void 0===t?void 0:t.data)||(null==n?void 0:n.response)||n;return e({type:v.H6.FAILURE,data:r,idmKind:i}),Promise.reject(n)}))}}function O(e){var n=e.idmKind;return{type:v.H6.CANCELLED,idmKind:n}}},6803:(e,n,t)=>{t.d(n,{$L:()=>c,Ec:()=>s,Fv:()=>o,Gn:()=>a,Nh:()=>r,PW:()=>l,n2:()=>i});var r=function(e){return e.aclFilters.approversSubject},s=function(e){return e.aclFilters.objectSubject},i=function(e){return e.aclFilters.objectPermissions},a=function(e){return e.aclFilters.columnsFilter},o=function(e){return e.aclFilters.columnGroupNameFilter},l=function(e){return e.aclFilters.expandedSubjects},c=function(e){return e.aclFilters.aclCurrentTab}},82733:(e,n,t)=>{t.d(n,{Eo:()=>q,FW:()=>M,Lt:()=>Q,Pc:()=>Z,QP:()=>oe,RX:()=>le,Sx:()=>ce,Uy:()=>de,Xb:()=>G,ap:()=>te,b5:()=>ie,cE:()=>Ae,e6:()=>J,eX:()=>ue,j3:()=>ee,l$:()=>me,oq:()=>pe,xd:()=>L});var r=t(29121),s=t(12937),i=t(9736),a=t(13322),o=t(40319),l=t(18472),c=t(29347),u=t.n(c),d=t(49214),m=t.n(d),p=t(4176),A=t.n(p),v=t(39760),h=t.n(v),f=t(27528),b=t.n(f),g=t(63281),N=t.n(g),y=t(31285),T=t.n(y),x=t(90636),C=t.n(x),I=t(31470),j=t.n(I),E=t(17239),_=t.n(E),S=t(48971),P=t(6184),O=t(6803),w=t(7787);function R(e){var n=b()(e,(function(e){return e.columns}));return u()(T()(A()(n))).sort()}function k(e,n){return b()(e,(function(e){var t={type:n,subjects:[e.value],subjectType:"users"===e.type?"user":"group",groupInfo:"groups"===e.type?{name:e.group_name,url:e.url,group:void 0}:void 0,action:void 0};return(0,o.A)((0,o.A)({},e),t)}))}var L=function(e,n){return e.acl[n].userPermissions},D=function(e,n){return e.acl[n].objectPermissions},F=(0,l.Mz)([D],(function(e){var n=[];return h()(e,(function(e){var t=e.subjects;t&&t.length>1?h()(t,(function(t,r){n.push((0,o.A)((0,o.A)({},e),{},{subjects:[t],isSplitted:!0,subjectIndex:r}))})):n.push(e)})),n})),M=function(e){return(0,l.Mz)([O.n2,function(n){return F(n,e)}],(function(n,t){var r=new Set,s=(w.Ay.getAclPermissionsSettings()[e]||{}).permissionTypes;return[].concat((0,a.A)(s),(0,a.A)(n)).forEach((function(e){return r.add(e)})),t.forEach((function(e){var n=e.permissions;null==n||n.forEach((function(e){return r.add(e)}))})),N()((0,a.A)(r),(function(e){return e}))}))};function U(e,n){var t,r=e.subjectType,s=e.groupInfo;return"group"===r?_()(Object.entries(null!=s?s:{}),(function(e){var t,r=(0,i.A)(e,2),s=r[0],a=r[1],o=String(a);return"url"===s&&("/"===o[o.length-1]&&(o=o.slice(0,-1)),o=o.split("/").pop()),-1!==(null===(t=o)||void 0===t?void 0:t.toLowerCase().indexOf(n))})):-1!==String(null!==(t=e.subjects[0])&&void 0!==t?t:"").toLowerCase().indexOf(n)}var B=(0,l.Mz)([F,O.Ec,O.n2,O.Gn],(function(e,n,t,r){var s=C()(e,(function(e){var n;return!(null!==(n=e.columns)&&void 0!==n&&n.length)})),l=(0,i.A)(s,2),c=l[0],d=l[1].map((function(e){return(0,o.A)((0,o.A)({},e),{},{columns:N()(e.columns)})})),m=null==n?void 0:n.toLocaleLowerCase(),p=m?function(e){return U(e,m)}:void 0,A=new Set(t),v=A.size?function(e){var n;return null!==(n=function(e,n){var t=e.permissions,r=0;return null==t?void 0:t.some((function(e){return n.has(e)&&r++,r>=n.size}))}(e,A))&&void 0!==n&&n}:void 0,h=new Set(r),f=h.size?function(e){var n,t=e.columns;return null!==(n=null==t?void 0:t.some((function(e){return h.has(e)})))&&void 0!==n&&n}:void 0,b=u()([p,v]),g=u()([p,f]);return{mainPermissions:b.length?c.filter(P.concatByAnd.apply(void 0,(0,a.A)(b))):c,columnsPermissions:g.length?d.filter(P.concatByAnd.apply(void 0,(0,a.A)(g))):d}})),G=(0,l.Mz)([B,O.PW],(function(e,n){var t=e.mainPermissions,r=e.columnsPermissions;return{mainPermissions:(0,o.A)((0,o.A)({},V(t,n)),{},{count:t.length}),columnsPermissions:(0,o.A)((0,o.A)({},V(r,n)),{},{count:r.length})}})),K=function(){function e(n){if((0,r.A)(this,e),this.aggrKey=void 0,this.subject=void 0,this.inherited=void 0,this.allPermissions=new Set,this.columns=new Set,this.first=void 0,this.children=new Array,n.subjects.length>1)throw new Error("Unexpected behavior: more than one subject occured: ".concat(n.subjects.join(",")));this.aggrKey=z(n),this.inherited=Boolean(n.inherited),this.subject=n.subjects[0],this.first=(0,o.A)({},n),this.add(n)}return(0,s.A)(e,[{key:"add",value:function(e){var n,t,r,s,i,l,c,u,d=this,m=z(e);if(this.aggrKey!==m)throw new Error("Unexpected behavior: aggregation keys are not queal: ".concat(this.aggrKey," !== ").concat(m));if(1!==e.subjects.length)throw new Error("Unexpected behavior: item.subjects.length !== 1: ".concat(JSON.stringify(e)));var p=(0,o.A)((0,o.A)({},e),{},{permissions:(0,a.A)(null!==(n=e.permissions)&&void 0!==n?n:[])});this.children.push(p),null===(t=p.permissions)||void 0===t||t.sort(),null===(r=p.permissions)||void 0===r||r.forEach((function(e){d.allPermissions.add(e)})),null===(s=e.columns)||void 0===s||s.forEach((function(e){return d.columns.add(e)})),(i=this.first).isMissing||(i.isMissing=Boolean(e.isMissing)),(l=this.first).isUnrecognized||(l.isUnrecognized=Boolean(e.isUnrecognized)),(c=this.first).isApproved||(c.isApproved=Boolean(e.isApproved)),(u=this.first).isRequested||(u.isRequested=Boolean(e.isRequested))}},{key:"getItems",value:function(e){var n=this,t=this.inherited;if(1===this.children.length)return{items:this.children,hasInherited:t};var r=(0,o.A)((0,o.A)({},this.first),{},{level:0,expanded:e});r.permissions=(0,a.A)(this.allPermissions).sort(),r.columns=(0,a.A)(this.columns).sort();var s=!1,i=e?[r].concat((0,a.A)(N()(this.children,["inheritance_mode","permissions"]).map((function(e){return s||(s="deny"===e.action),(0,o.A)((0,o.A)({},e),{},{level:1})})))):[r];return this.children.forEach((function(e){e.inheritance_mode!==r.inheritance_mode&&(r.inheritance_mode=void 0),j()(n.first.inheritedFrom,e.inheritedFrom)||(r.inheritedFrom=void 0)})),{items:i,hasExpandable:!0,hasDenyAction:s,hasInherited:t}}}]),e}();function z(e){var n=e.inherited,t=(0,i.A)(e.subjects,1)[0];return"subject:".concat(t,"_inherited:").concat(Boolean(n))}function V(e,n){var t={};e.forEach((function(e){var n=z(e),r=t[n];r?r.add(e):t[n]=new K(e)}));var r=Object.values(t).reduce((function(e,t){var r=t.getItems(n.has(t.subject)),s=r.items,i=r.hasExpandable,a=r.hasInherited;return e.items=e.items.concat(s),e.hasExpandable||(e.hasExpandable=i),e.hasInherited||(e.hasInherited=a),e}),{items:[]}),s=C()(r.items,(function(e){return e.inherited})),l=(0,i.A)(s,2),c=l[0],u=l[1];return(0,o.A)((0,o.A)({},r),{},{items:[].concat((0,a.A)(c),(0,a.A)(u))})}(0,l.Mz)([D],H);var q=(0,l.Mz)([function(e,n){return e.acl[n].columnGroups},O.Gn,O.Fv],(function(e,n,t){var r=new Set(n),s=null==t?void 0:t.toLowerCase(),i=u()([function(e){return!e.removed},r.size>0?function(e){var n,t;return null!==(n=null===(t=e.columns)||void 0===t?void 0:t.some((function(e){return r.has(e)})))&&void 0!==n&&n}:void 0,null!=s&&s.length?function(e){var n,t;return null!==(n=-1!==(null===(t=e.name)||void 0===t?void 0:t.toLowerCase().indexOf(s)))&&void 0!==n&&n}:void 0]),l=m()(e,P.concatByAnd.apply(void 0,(0,a.A)(i))).map((function(e){return(0,o.A)((0,o.A)({},e),{},{columns:N()(e.columns)})}));return N()(l,["name"])}));function H(e){var n=[],t=[],r=[],s=[];return h()(e,(function(e){var i=e.isDepriving,a=e.isRequested,o=e.isUnrecognized,l=e.isApproved;o?n.push(e):i?r.push(e):a||l?t.push(e):s.push(e)})),[].concat(t,r,n,s)}var W=function(e,n){return e.acl[n].readApprovers},Y=function(e,n){return e.acl[n].responsible},$=function(e,n){return e.acl[n].auditors},J=(0,l.Mz)([W],(function(e){return m()(e,(function(e){return!e.inherited}))})),Z=(0,l.Mz)([Y],(function(e){return m()(e,(function(e){return!e.inherited}))})),Q=(0,l.Mz)([$],(function(e){return m()(e,(function(e){return!e.inherited}))})),X=(0,l.Mz)([W,Y,$],(function(e,n,t){return[].concat((0,a.A)(k(e,"read_approver")),(0,a.A)(k(n,"responsible")),(0,a.A)(k(t,"auditor")))})),ee=(0,l.Mz)([X],(function(e){return e.length>0})),ne=(0,l.Mz)([X,O.Nh],(function(e,n){if(!n)return e;var t=n.toLowerCase();return m()(e,(function(e){return U(e,t)}))})),te=(0,l.Mz)([ne],(function(e){return N()(e,[function(e){return!e.inherited},function(e){return e.subjects&&e.subjects[0]||!0}])})),re=((0,l.Mz)([X],H),(0,l.Mz)([D],(function(e){var n=m()(e,(function(e){var n;return"allow"===e.action&&(null===(n=e.columns)||void 0===n?void 0:n.length)>0}));return b()(n,(function(e){var n=(0,o.A)({},e);return n.type="columns",n}))}))),se=(0,l.Mz)([D],(function(e){var n=m()(e,(function(e){var n;return"deny"===e.action&&(null===(n=e.columns)||void 0===n?void 0:n.length)>0}));return b()(n,(function(e){return(0,o.A)((0,o.A)({},e),{},{type:"columns"})}))})),ie=(0,l.Mz)([re],R),ae=(0,l.Mz)([se],R),oe=(0,l.Mz)([ae],(function(e){return b()(e,(function(e){return{key:e,value:e,title:e}}))})),le=function(e,n){return e.acl[n].isPermissionDeleted},ce=function(e,n){return e.acl[n].deletionError},ue=function(e,n){return e.acl[n].deletedItemKey},de=function(e,n){return e.acl[n].idmPermissionsRequestError},me=function(e,n){return e.acl[n].idmManageAclRequestError},pe=function(e,n){return e.acl[n].version},Ae=(0,l.Mz)([function(e,n){return e.acl[n].loading},function(e,n){return e.acl[n].loaded},function(e,n){return e.acl[n].error}],(function(e,n,t){return(0,S.Ts)(e,n,t)}))},72902:(e,n,t)=>{t.d(n,{ob:()=>p,ZK:()=>u,L$:()=>c,Qw:()=>d,oG:()=>m});var r=t(19314),s=t(35844),i=t(33547),a=t(18801),o=t(28836),l=["cluster"];function c(e){var n=e.cluster,t=(0,a.A)(e,l),s="/".concat(n||i.A.cluster,"/").concat(r.YW.NAVIGATION),c=function(e,n){var t=new URLSearchParams;return Object.keys(e).reduce((function(r,s){var i,a=e[s];if(s in n)if(null!==(i=n[s].options)&&void 0!==i&&i.serialize){var o,l,c=null===(o=n[s].options)||void 0===o||null===(l=o.serialize)||void 0===l?void 0:l.call(o,a);void 0!==c&&t.append(s,c+"")}else t.append(s,a+"");return r}),t),t}(t,(0,o.H)()).toString();return c?"".concat(s,"?").concat(c):s}function u(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.host,t=e.cluster;return n?"/".concat(t||i.A.cluster,"/").concat(r.YW.COMPONENTS,"/").concat(s.o.NODES,"/").concat(n):"/".concat(t||i.A.cluster,"/").concat(r.YW.COMPONENTS,"/").concat(s.o.NODES)}function d(e,n){return"/".concat(e,"/").concat(r.YW.COMPONENTS,"/").concat(s.o.RPC_PROXIES,"?host=").concat(n)}function m(e){var n=e.pool,t=e.poolTree,s=e.cluster;return"/".concat(s||i.A.cluster,"/").concat(r.YW.SCHEDULING,"?pool=").concat(n,"&poolTree=").concat(t)}function p(e,n){return"/".concat(n||i.A.cluster,"/").concat(r.YW.ACCOUNTS,"?account=").concat(e)}},39702:(e,n,t)=>{t.d(n,{A:()=>i});var r=t(40319),s=t(64922);const i=function(e){return(0,s.jsx)("svg",(0,r.A)((0,r.A)({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16"},e),{},{children:(0,s.jsx)("path",{fill:"currentColor",fillRule:"evenodd",d:"M5.47 13.03a.75.75 0 0 1 0-1.06L9.44 8 5.47 4.03a.75.75 0 0 1 1.06-1.06l4.5 4.5a.75.75 0 0 1 0 1.06l-4.5 4.5a.75.75 0 0 1-1.06 0",clipRule:"evenodd"})}))}},38749:(e,n,t)=>{t.d(n,{m:()=>T});var r=t(56911),s=t(77810),i=t(13778),a=t(1093),o=t(21086);const l={pc:{NormalizeMap:{arrowup:"up",arrowdown:"down",arrowleft:"left",arrowright:"right",esc:"escape",return:"enter",mod:"ctrl",control:"ctrl",opt:"alt",option:"alt",cmd:"ctrl",command:"ctrl"},Priority:{shift:200,alt:300,ctrl:400},DisplayName:{up:"↑",down:"↓",left:"←",right:"→",escape:"Esc",plus:"+",enter:"Enter",ctrl:"Ctrl",alt:"Alt",shift:"Shift",tab:"Tab",backspace:"Backspace"}},mac:{NormalizeMap:{arrowup:"up",arrowdown:"down",arrowleft:"left",arrowright:"right",esc:"escape",enter:"return",mod:"command",ctrl:"control",alt:"option",opt:"option",cmd:"command"},Priority:{command:100,shift:200,option:300,control:400},DisplayName:{up:"▲",down:"▼",left:"◀",right:"▶",escape:"⎋",plus:"+",return:"⏎",command:"⌘",option:"⌥",control:"⌃",shift:"⇧",backspace:"⌫",tab:"⇥"}}};var c=t(88314),u=t.n(c),d=t(38496),m=t.n(d);function p(e,n){return e.trim().split(n).filter(Boolean)}const A=/\s/;function v(e){var n;return null!==(n=e.displayName)&&void 0!==n?n:u()(e.id)}const h=(0,o.om)("hotkey"),f={BetweenGroups:String.fromCharCode(160),BetweenKeys:String.fromCharCode(8239)},b=s.forwardRef((function(e,n){const{value:t,platform:r,view:i="light",qa:a,style:o,className:c}=e,u=function(e,n){var t;const r=null!==(t=n.platform)&&void 0!==t?t:"undefined"!=typeof navigator&&/Mac|iP(hone|[oa]d)/.test(navigator.platform)?"mac":"pc";return function(e,n){return p(n,A).map((n=>m()(p(n,"+").map(function(e){return function(n){var t;const r=function(e,n){var t;return n=n.toLowerCase(),null!==(t=e.NormalizeMap[n])&&void 0!==t?t:n}(e,n);return{raw:n,id:r,priority:null!==(t=e.Priority[r])&&void 0!==t?t:0,displayName:e.DisplayName[r]}}}(e)).sort(((e,n)=>n.priority-e.priority)),(e=>e.id)).map(v)))}(l[r],e)}(t,{platform:r}),d=[];let b=!1;return u.forEach(((e,n)=>{0!==e.length&&(b?d.push(f.BetweenGroups):b=!0,e.forEach(((e,t)=>{0===t||d.push(f.BetweenKeys,s.createElement("span",{key:`${e}_${n}_${t}_plus`,className:h("plus")},"+"),f.BetweenKeys),d.push(s.createElement("kbd",{key:`${e}_${n}_${t}`},e))})))})),0===d.length?null:s.createElement("kbd",{ref:n,style:o,"data-qa":a,className:h({view:i},c)},d)}));var g=t(55740);const N=["bottom","top"],y=(0,o.om)("action-tooltip");function T(e){const{placement:n=N,title:t,hotkey:o,children:l,className:c,contentClassName:u,description:d,disabled:m=!1,style:p,qa:A,id:v,disablePortal:h}=e,f=(0,r.Tt)(e,["placement","title","hotkey","children","className","contentClassName","description","disabled","style","qa","id","disablePortal"]),[T,x]=s.useState(null),C=(0,a.d)(T,f),I=s.Children.only(l),j=I.ref,E=(0,i.N)(x,j);return s.createElement(s.Fragment,null,s.cloneElement(I,{ref:E}),T?s.createElement(g.z,{id:v,disablePortal:h,role:"tooltip",className:y(null,c),style:p,open:C&&!m,placement:n,anchorRef:{current:T},disableEscapeKeyDown:!0,disableOutsideClick:!0,disableLayer:!0,qa:A},s.createElement("div",{className:y("content",u)},s.createElement("div",{className:y("heading")},s.createElement("div",{className:y("title")},t),o&&s.createElement(b,{view:"dark",value:o,className:y("hotkey")})),d&&s.createElement("div",{className:y("description")},d))):null)}},5219:(e,n,t)=>{t.d(n,{b:()=>h});var r=t(56911),s=t(77810),i=t(38749),a=t(92423),o=t(11415),l=t(48382),c=t(54205);const u=JSON.parse('{"startCopy":"Copy","endCopy":"Copied!"}'),d=JSON.parse('{"startCopy":"Копировать","endCopy":"Скопировано!"}'),m=(0,c.N)({en:u,ru:d},"ClipboardButton"),p=1e3,A={xs:12,s:16,m:16,l:16,xl:20},v=e=>{const{size:n="m",hasTooltip:t=!0,tooltipInitialText:l=m("startCopy"),tooltipSuccessText:c=m("endCopy"),status:u,view:d="flat",extraProps:p={}}=e,v=(0,r.Tt)(e,["size","hasTooltip","tooltipInitialText","tooltipSuccessText","status","view","extraProps"]);return s.createElement(i.m,{disabled:!t,title:"success"===u?c:l},s.createElement(a.$,Object.assign({view:d,size:n,extraProps:Object.assign({"aria-label":l},p)},v),s.createElement(a.$.Icon,null,s.createElement(o.u,{size:A[n],status:u}))))};function h(e){const{text:n,timeout:t=p,onCopy:i,options:a}=e,o=(0,r.Tt)(e,["text","timeout","onCopy","options"]);return s.createElement(l.$,{text:n,timeout:t,onCopy:i,options:a},(e=>s.createElement(v,Object.assign({},o,{status:e}))))}},1093:(e,n,t)=>{t.d(n,{d:()=>i});var r=t(77810),s=t(653);const i=(e,{openDelay:n=250,closeDelay:t,preventTriggerOnFocus:i=!1})=>{const[a,o,l]=function(e){const[n,t]=r.useState(!1);return[n,r.useCallback((()=>t(!0)),[]),r.useCallback((()=>t(!1)),[]),r.useCallback((()=>t((e=>!e))),[])]}(),c=r.useRef(),u=r.useRef(!1);return r.useEffect((()=>{if(e)return e.addEventListener("mouseenter",r),e.addEventListener("mouseleave",a),e.addEventListener("keydown",p),i||(e.addEventListener("focus",d),e.addEventListener("blur",m)),()=>{e.removeEventListener("mouseenter",r),e.removeEventListener("mouseleave",a),e.removeEventListener("focus",d),e.removeEventListener("blur",m),e.removeEventListener("keydown",p)};function r(){clearTimeout(c.current),c.current=window.setTimeout(o,n)}function a(){clearTimeout(c.current),c.current=window.setTimeout(l,t)}function d(e){u.current||document.activeElement!==e.target||(u.current=!0,clearTimeout(c.current),o())}function m(e){u.current&&!e.currentTarget.contains(e.relatedTarget)&&(u.current=!1,clearTimeout(c.current),l())}function p(e){e.key===s.D.ESCAPE&&(clearTimeout(c.current),l())}}),[e,o,l,n,t,i]),a}}}]);
|
2
|
+
//# sourceMappingURL=acl.c948c339.chunk.js.map
|