@ytsaurus/ui 1.62.0 → 1.63.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 +69 -69
- package/dist/public/build/css/7540.b48a154e.chunk.css +2 -0
- package/dist/public/build/css/7540.b48a154e.chunk.css.map +1 -0
- package/dist/public/build/css/{cluster-page-wrapper.0b62c90f.chunk.css → cluster-page-wrapper.0b6a786f.chunk.css} +2 -2
- package/dist/public/build/css/cluster-page-wrapper.0b6a786f.chunk.css.map +1 -0
- package/dist/public/build/css/{main.a99b07c5.css → main.070fd473.css} +2 -2
- package/dist/public/build/css/main.070fd473.css.map +1 -0
- package/dist/public/build/css/navigation.0a141599.chunk.css +2 -0
- package/dist/public/build/css/navigation.0a141599.chunk.css.map +1 -0
- package/dist/public/build/css/{system.17b114fc.chunk.css → system.221e5d53.chunk.css} +2 -2
- package/dist/public/build/css/{system.17b114fc.chunk.css.map → system.221e5d53.chunk.css.map} +1 -1
- package/dist/public/build/js/1110.a7382226.chunk.js +2 -0
- package/dist/public/build/js/1110.a7382226.chunk.js.map +1 -0
- package/dist/public/build/js/1394.011da2d1.chunk.js +2 -0
- package/dist/public/build/js/1394.011da2d1.chunk.js.map +1 -0
- package/dist/public/build/js/2447.35b478a9.chunk.js +2 -0
- package/dist/public/build/js/2447.35b478a9.chunk.js.map +1 -0
- package/dist/public/build/js/4364.aa1ab5fb.chunk.js +2 -0
- package/dist/public/build/js/4364.aa1ab5fb.chunk.js.map +1 -0
- package/dist/public/build/js/5451.50d8f2b2.chunk.js +3 -0
- package/dist/public/build/js/5451.50d8f2b2.chunk.js.LICENSE.txt +5 -0
- package/dist/public/build/js/5451.50d8f2b2.chunk.js.map +1 -0
- package/dist/public/build/js/5770.0d8fda01.chunk.js +2 -0
- package/dist/public/build/js/5770.0d8fda01.chunk.js.map +1 -0
- package/dist/public/build/js/{7077.b11a392b.chunk.js → 7077.7dab612c.chunk.js} +2 -2
- package/dist/public/build/js/{7077.b11a392b.chunk.js.map → 7077.7dab612c.chunk.js.map} +1 -1
- package/dist/public/build/js/7959.e0d47dec.chunk.js +2 -0
- package/dist/public/build/js/7959.e0d47dec.chunk.js.map +1 -0
- package/dist/public/build/js/{8460.b18e700b.chunk.js → 8460.2b27e2b7.chunk.js} +2 -2
- package/dist/public/build/js/{8460.b18e700b.chunk.js.map → 8460.2b27e2b7.chunk.js.map} +1 -1
- package/dist/public/build/js/{8778.8d098a1f.chunk.js → 8778.d97acdd6.chunk.js} +2 -2
- package/dist/public/build/js/8778.d97acdd6.chunk.js.map +1 -0
- package/dist/public/build/js/accounts.badfc837.chunk.js +2 -0
- package/dist/public/build/js/{accounts.63268a11.chunk.js.map → accounts.badfc837.chunk.js.map} +1 -1
- package/dist/public/build/js/{acl.aa7a9df7.chunk.js → acl.cd1fe761.chunk.js} +2 -2
- package/dist/public/build/js/acl.cd1fe761.chunk.js.map +1 -0
- package/dist/public/build/js/cluster-menu.bf57160d.chunk.js +2 -0
- package/dist/public/build/js/cluster-menu.bf57160d.chunk.js.map +1 -0
- package/dist/public/build/js/cluster-page-wrapper.c9e6c27c.chunk.js +2 -0
- package/dist/public/build/js/cluster-page-wrapper.c9e6c27c.chunk.js.map +1 -0
- package/dist/public/build/js/job.31c91355.chunk.js +2 -0
- package/dist/public/build/js/job.31c91355.chunk.js.map +1 -0
- package/dist/public/build/js/main.61fc9935.js +3 -0
- package/dist/public/build/js/main.61fc9935.js.map +1 -0
- package/dist/public/build/js/{manage-tokens.c996037c.chunk.js → manage-tokens.e9106aad.chunk.js} +2 -2
- package/dist/public/build/js/{manage-tokens.c996037c.chunk.js.map → manage-tokens.e9106aad.chunk.js.map} +1 -1
- package/dist/public/build/js/navigation.22bd542f.chunk.js +2 -0
- package/dist/public/build/js/navigation.22bd542f.chunk.js.map +1 -0
- package/dist/public/build/js/{odin.ddcd41de.chunk.js → odin.7eefabce.chunk.js} +2 -2
- package/dist/public/build/js/{odin.ddcd41de.chunk.js.map → odin.7eefabce.chunk.js.map} +1 -1
- package/dist/public/build/js/operations.3feb2deb.chunk.js +2 -0
- package/dist/public/build/js/operations.3feb2deb.chunk.js.map +1 -0
- package/dist/public/build/js/{query-results.99804b61.chunk.js → query-results.4c207fef.chunk.js} +2 -2
- package/dist/public/build/js/{query-results.99804b61.chunk.js.map → query-results.4c207fef.chunk.js.map} +1 -1
- package/dist/public/build/js/query-tracker.badbc586.chunk.js +2 -0
- package/dist/public/build/js/query-tracker.badbc586.chunk.js.map +1 -0
- package/dist/public/build/js/{runtime.8be0e5c6.js → runtime.f98c3e55.js} +2 -2
- package/dist/public/build/js/{runtime.8be0e5c6.js.map → runtime.f98c3e55.js.map} +1 -1
- package/dist/public/build/js/scheduling.73b1257c.chunk.js +2 -0
- package/dist/public/build/js/scheduling.73b1257c.chunk.js.map +1 -0
- package/dist/public/build/js/{system.6843a1a3.chunk.js → system.25e9136a.chunk.js} +2 -2
- package/dist/public/build/js/system.25e9136a.chunk.js.map +1 -0
- package/dist/public/build/js/tablet.7401a5ec.chunk.js +2 -0
- package/dist/public/build/js/tablet.7401a5ec.chunk.js.map +1 -0
- package/dist/public/build/js/{yt-df-dialog.6b4604c0.chunk.js → yt-df-dialog.69fc013a.chunk.js} +2 -2
- package/dist/public/build/js/{yt-df-dialog.6b4604c0.chunk.js.map → yt-df-dialog.69fc013a.chunk.js.map} +1 -1
- package/dist/public/build/manifest.json +64 -64
- package/dist/shared/ui-settings.d.ts +0 -1
- package/package.json +3 -3
- package/dist/public/build/css/7540.56f97199.chunk.css +0 -2
- package/dist/public/build/css/7540.56f97199.chunk.css.map +0 -1
- package/dist/public/build/css/cluster-page-wrapper.0b62c90f.chunk.css.map +0 -1
- package/dist/public/build/css/main.a99b07c5.css.map +0 -1
- package/dist/public/build/css/navigation.adb62abd.chunk.css +0 -2
- package/dist/public/build/css/navigation.adb62abd.chunk.css.map +0 -1
- package/dist/public/build/js/1110.d02f593c.chunk.js +0 -2
- package/dist/public/build/js/1110.d02f593c.chunk.js.map +0 -1
- package/dist/public/build/js/1394.f5423b9c.chunk.js +0 -2
- package/dist/public/build/js/1394.f5423b9c.chunk.js.map +0 -1
- package/dist/public/build/js/2447.d0a0e8ad.chunk.js +0 -2
- package/dist/public/build/js/2447.d0a0e8ad.chunk.js.map +0 -1
- package/dist/public/build/js/4364.277e1cfa.chunk.js +0 -2
- package/dist/public/build/js/4364.277e1cfa.chunk.js.map +0 -1
- package/dist/public/build/js/5770.c5499ce7.chunk.js +0 -2
- package/dist/public/build/js/5770.c5499ce7.chunk.js.map +0 -1
- package/dist/public/build/js/7891.2ce56be7.chunk.js +0 -3
- package/dist/public/build/js/7891.2ce56be7.chunk.js.LICENSE.txt +0 -14
- package/dist/public/build/js/7891.2ce56be7.chunk.js.map +0 -1
- package/dist/public/build/js/7959.eb292cbd.chunk.js +0 -2
- package/dist/public/build/js/7959.eb292cbd.chunk.js.map +0 -1
- package/dist/public/build/js/8778.8d098a1f.chunk.js.map +0 -1
- package/dist/public/build/js/accounts.63268a11.chunk.js +0 -2
- package/dist/public/build/js/acl.aa7a9df7.chunk.js.map +0 -1
- package/dist/public/build/js/cluster-menu.e484a2ca.chunk.js +0 -2
- package/dist/public/build/js/cluster-menu.e484a2ca.chunk.js.map +0 -1
- package/dist/public/build/js/cluster-page-wrapper.8c8aa8a1.chunk.js +0 -2
- package/dist/public/build/js/cluster-page-wrapper.8c8aa8a1.chunk.js.map +0 -1
- package/dist/public/build/js/job.5ed7166b.chunk.js +0 -2
- package/dist/public/build/js/job.5ed7166b.chunk.js.map +0 -1
- package/dist/public/build/js/main.00809a7d.js +0 -3
- package/dist/public/build/js/main.00809a7d.js.map +0 -1
- package/dist/public/build/js/navigation.c3108a21.chunk.js +0 -2
- package/dist/public/build/js/navigation.c3108a21.chunk.js.map +0 -1
- package/dist/public/build/js/operations.b353981f.chunk.js +0 -2
- package/dist/public/build/js/operations.b353981f.chunk.js.map +0 -1
- package/dist/public/build/js/query-tracker.fba0ec95.chunk.js +0 -2
- package/dist/public/build/js/query-tracker.fba0ec95.chunk.js.map +0 -1
- package/dist/public/build/js/scheduling.115669fe.chunk.js +0 -2
- package/dist/public/build/js/scheduling.115669fe.chunk.js.map +0 -1
- package/dist/public/build/js/system.6843a1a3.chunk.js.map +0 -1
- package/dist/public/build/js/tablet.40ad9054.chunk.js +0 -2
- package/dist/public/build/js/tablet.40ad9054.chunk.js.map +0 -1
- /package/dist/public/build/js/{main.00809a7d.js.LICENSE.txt → main.61fc9935.js.LICENSE.txt} +0 -0
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"js/query-tracker.badbc586.chunk.js","mappings":"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","sources":["webpack://@ytsaurus/ui/./src/ui/components/ColumnSelector/ColumnSelector.js","webpack://@ytsaurus/ui/./src/ui/components/Dialog/controls/RoleListControl/utils.ts","webpack://@ytsaurus/ui/./src/ui/components/Dialog/DialogError.tsx","webpack://@ytsaurus/ui/./src/ui/components/Dialog/index.tsx","webpack://@ytsaurus/ui/./src/ui/hocs/withDelayedMount.tsx","webpack://@ytsaurus/ui/./src/ui/components/Dropdown/Dropdown.js","webpack://@ytsaurus/ui/./src/ui/components/EditableAsText/EditableAsText.tsx","webpack://@ytsaurus/ui/./src/ui/components/SortIcon/SortIcon.tsx","webpack://@ytsaurus/ui/./src/ui/components/templates/utils.js","webpack://@ytsaurus/ui/./src/ui/store/selectors/modals/cell-preview.ts","webpack://@ytsaurus/ui/./src/ui/containers/CellPreviewModal/CellPreviewModal.tsx","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/QueryTrackerTopRow/QueryClusterSelector/QueryClusterItem.tsx","webpack://@ytsaurus/ui/./src/ui/hooks/use-prevent-unload.ts","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/module/settings/selector.ts","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/hooks/QueriesList/index.ts","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/hooks/QueryListFilter/index.ts","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/hooks/Query/index.ts","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/QueriesList/EditQueryNameModal/EditQueryNameModal.tsx","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/QueriesList/QueriesHistoryList/useQueryListColumns.ts","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/QueriesList/QueriesHistoryList/index.tsx","webpack://@ytsaurus/ui/./src/ui/assets/img/svg/learn.svg","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/QueriesList/QueriesTutorialList/index.tsx","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/QueriesList/QueriesListFilter/QueryEngineFilter.tsx","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/QueriesList/QueriesListFilter/QueryTextFilter.tsx","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/QueriesList/QueriesListFilter/index.tsx","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/Vcs/index.ts","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/Navigation/index.ts","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/QueriesList/index.tsx","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/icons/svgs/layout-columns.svg","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/FileEditor/FileEditor.tsx","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/QueryTracker/QueryEditorSplit.tsx","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/QueryTracker/QueryTracker.tsx","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/QueriesListSidebarToggleButton/QueriesListSidebarToggleButton.tsx","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/QueryTrackerTopRow/RightButtonsGroup.tsx","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/QueryTrackerTopRow/QuerySelector.tsx","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/QueryTrackerTopRow/QueryClusterSelector/QueryClusterSelector.tsx","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/QueryTrackerTopRow/QueryCliqueSelector/QueryCliqueItem.tsx","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/QueryTrackerTopRow/QueryCliqueSelector/QueryCliqueSelector.tsx","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/QueryTrackerTopRow/QuerySelectorsByEngine.tsx","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/QueryTrackerTopRow/index.tsx","webpack://@ytsaurus/ui/./src/ui/hooks/useIsDesktop.ts","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/module/queryNavigation/selectors.ts","webpack://@ytsaurus/ui/./src/ui/store/selectors/navigation/index.js","webpack://@ytsaurus/ui/./src/ui/store/selectors/thor/unipika.ts","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/icons/svgs/bars-descending-align-left.svg","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/icons/svgs/circle-question.svg"],"sourcesContent":["import React, {Component} from 'react';\nimport PropTypes from 'prop-types';\nimport cn from 'bem-cn-lite';\nimport {sortableContainer, sortableElement, sortableHandle} from 'react-sortable-hoc';\nimport ReactList from 'react-list';\n\nimport each_ from 'lodash/each';\nimport escapeRegExp_ from 'lodash/escapeRegExp';\nimport filter_ from 'lodash/filter';\nimport map_ from 'lodash/map';\nimport partition_ from 'lodash/partition';\nimport reduce_ from 'lodash/reduce';\n\nimport {TextInput} from '@gravity-ui/uikit';\nimport Icon from '../../components/Icon/Icon';\n\nimport {renderText} from '../../components/templates/utils';\n\nimport './ColumnSelector.scss';\nimport Button from '../Button/Button';\n\nconst b = cn('column-selector');\n\nexport function makeItemsCopy(items) {\n return map_(items, (item) => {\n return {...item};\n });\n}\n\nconst DragHandle = sortableHandle(() => (\n <div className={b('drag-handle')}>\n <Icon face=\"solid\" awesome=\"list\" />\n </div>\n));\n\nconst SortableItem = sortableElement(\n ({\n item,\n isSortable,\n isSelectable,\n isDisabled,\n itemRenderer,\n onCheckBoxChange,\n withClickableHandler,\n }) => {\n const active = !isDisabled && !item.disabled;\n const className = b('list-item', {\n selected: item.checked && active && 'yes',\n selectable: isSelectable && active && 'yes',\n disabled: !active && 'yes',\n });\n\n return (\n <div className={className}>\n {isSortable && item.checked && <DragHandle />}\n <div className={b('list-item-name')}>\n {item.keyColumn && <Icon awesome=\"key\" />}\n {itemRenderer(item)}\n </div>\n {active && withClickableHandler && (\n <span\n className={b('list-item-check')}\n onClick={onCheckBoxChange}\n data-item={item.name}\n >\n <Icon awesome=\"check\" />\n </span>\n )}\n {!active && <Icon className={b('list-item-lock')} awesome=\"lock\" />}\n </div>\n );\n },\n);\n\nconst SortableList = sortableContainer(\n ({\n items,\n isSortable,\n isDisabled,\n itemRenderer,\n onCheckBoxChange,\n isSelectable,\n useStaticSize,\n withClickableHandler = true,\n }) => {\n const renderer = (index, key) => {\n const item = items[index];\n return (\n <SortableItem\n key={key}\n index={index}\n item={item}\n disabled={!isSortable}\n isSortable={isSortable}\n isDisabled={isDisabled}\n isSelectable={isSelectable}\n itemRenderer={itemRenderer}\n onCheckBoxChange={onCheckBoxChange}\n withClickableHandler={withClickableHandler}\n />\n );\n };\n // Use 'simple' placement for draggable items because 'uniform' produces bugs when items are dragged outside the viewport\n const type = isSortable ? 'simple' : 'uniform';\n const mods = {'static-size': useStaticSize};\n\n return (\n <div className={b('list', mods)}>\n <ReactList itemRenderer={renderer} length={items.length} type={type} />\n </div>\n );\n },\n);\n\nexport default class ColumnSelector extends Component {\n static itemsProps = PropTypes.arrayOf(\n PropTypes.shape({\n name: PropTypes.string.isRequired,\n checked: PropTypes.bool.isRequired,\n keyColumn: PropTypes.bool,\n caption: PropTypes.string,\n disabled: PropTypes.bool,\n }),\n );\n\n static propTypes = {\n className: PropTypes.string,\n items: ColumnSelector.itemsProps.isRequired,\n showDisabledItems: PropTypes.bool,\n isSortable: PropTypes.bool,\n isSelectable: PropTypes.bool,\n isFilterable: PropTypes.bool,\n showSelectedOnly: PropTypes.bool,\n isHeadless: PropTypes.bool,\n onChange: PropTypes.func.isRequired,\n children: PropTypes.node,\n itemRenderer: PropTypes.func,\n };\n\n static defaultProps = {\n itemRenderer: ({name, caption = name}) => renderText(caption, {asHTML: false}),\n isSortable: false,\n isHeadless: false,\n isSelectable: true,\n isFilterable: true,\n showSelectedOnly: false,\n };\n\n constructor(props) {\n const {items, isHeadless, showSelectedOnly} = props;\n super(props);\n\n const state = {\n showSelectedOnly,\n filter: '',\n };\n if (isHeadless) {\n Object.assign(state, {items: makeItemsCopy(items)});\n }\n this.state = state;\n }\n\n get items() {\n return this.props.isHeadless ? this.state.items : this.props.items;\n }\n\n get buttonALLisDisabled() {\n return this.items.every((item) => item.checked);\n }\n\n get buttonNONEisDisabled() {\n return !this.items.some((item) => item.checked);\n }\n\n /*\n Takes items from the proper place (props or state), modifies them and writes them back at the same place.\n */\n withActualItems(func) {\n const {onChange} = this.props;\n // headless widget keeps its state to itself, but calls onChange as a way of notifying caller about changes\n if (this.props.isHeadless) {\n const {items} = func({items: this.state.items || []});\n this.setState({items}, () => {\n onChange({items: [...this.state.items]});\n });\n } else {\n // widget inside modal passes all changes to the modal component where they are put into state\n const {items} = func({items: this.props.items || []});\n onChange({items: [...items]});\n }\n }\n\n toggleItem = (name) => {\n this.withActualItems(({items}) => {\n items = [...items];\n const index = items.findIndex((item) => item.name === name);\n const changedItem = items[index];\n items[index] = {...changedItem, checked: !changedItem.checked};\n\n return {items};\n });\n };\n\n selectAllItems = () => {\n this.withActualItems(({items}) => {\n const visibleMap = this.getVisibleItemsMap();\n items = [...items];\n each_(items, (item, index) => {\n if (!visibleMap[item.name]) {\n return;\n }\n if (!item.checked && !item.disabled) {\n items[index] = {...item, checked: true};\n }\n });\n\n return {items};\n });\n };\n\n deselectAllItems = () => {\n this.withActualItems(({items}) => {\n const visibleMap = this.getVisibleItemsMap();\n items = [...items];\n each_(items, (item, index) => {\n if (!visibleMap[item.name]) {\n return;\n }\n if (item.checked && !item.disabled) {\n items[index] = {...item, checked: false};\n }\n });\n\n return {items};\n });\n };\n\n invertItems = () => {\n this.withActualItems(({items}) => {\n const visibleItems = this.getVisibleItemsMap();\n items = [...items];\n each_(items, (item, index) => {\n if (!visibleItems[item.name]) {\n return;\n }\n if (!item.disabled) {\n items[index] = {...item, checked: !item.checked};\n }\n });\n\n return {items};\n });\n };\n\n _handleCheckBoxChange = (event) => {\n this.toggleItem(event.currentTarget.getAttribute('data-item'));\n };\n\n _handleSortEnd = ({oldIndex, newIndex}) => {\n if (oldIndex === newIndex) {\n return;\n }\n\n this.withActualItems(({items}) => {\n items = [...items];\n\n const {items: visibleItems} = this.getVisibleItems();\n const fromIndex = items.findIndex((item) => item.name === visibleItems[oldIndex].name);\n const toIndex = items.findIndex((item) => item.name === visibleItems[newIndex].name);\n\n const [removed] = items.splice(fromIndex, 1);\n items.splice(toIndex, 0, removed);\n\n return {items};\n });\n };\n\n _handleDefaultSort = () => {\n this.withActualItems(({items}) => {\n return {\n items: items.sort((a, b) => {\n const aCaption = a.caption || a.name;\n const bCaption = b.caption || b.name;\n\n return aCaption.localeCompare(bCaption);\n }),\n };\n });\n };\n\n _toggleShownItems = () => {\n this.setState((prevState) => ({\n showSelectedOnly: !prevState.showSelectedOnly,\n }));\n };\n\n _changeFilter = (filter) => {\n this.setState({filter});\n };\n\n renderSearchBox() {\n return (\n <TextInput\n placeholder=\"Search...\"\n onUpdate={this._changeFilter}\n value={this.state.filter}\n hasClear={true}\n />\n );\n }\n\n renderControls() {\n const {isFilterable, isSelectable, isSortable, isHeadless} = this.props;\n const btnProps = {\n size: 'm',\n className: b('controls-item'),\n };\n\n return (\n <div className={b('controls')}>\n {isFilterable && this.renderSearchBox()}\n {isHeadless && (\n <Button {...btnProps} onClick={this._toggleShownItems}>\n Selected \n <span className=\"elements-secondary-text\">\n {filter_(this.items, (item) => item.checked).length}\n </span>\n </Button>\n )}\n {isSelectable && (\n <Button\n {...btnProps}\n disabled={this.buttonALLisDisabled}\n onClick={this.selectAllItems}\n >\n Add all\n </Button>\n )}\n {isSelectable && (\n <Button {...btnProps} onClick={this.invertItems}>\n Invert list\n </Button>\n )}\n {!isSelectable && (\n <Button\n {...btnProps}\n disabled={this.buttonNONEisDisabled}\n onClick={this.deselectAllItems}\n >\n Remove all\n </Button>\n )}\n {isSortable && (\n <Button {...btnProps} onClick={this._handleDefaultSort}>\n Default sort\n </Button>\n )}\n </div>\n );\n }\n\n filterItemsByName(items) {\n const re = new RegExp(escapeRegExp_(this.state.filter), 'i');\n return filter_(items, (item) => re.test(item.name));\n }\n\n filterItems(items) {\n const {showDisabledItems} = this.props;\n items = showDisabledItems ? items : filter_(items, (item) => !item.disabled);\n\n const visibleItems = this.filterItemsByName(items);\n return this.state.showSelectedOnly\n ? filter_(visibleItems, (item) => item.checked)\n : visibleItems;\n }\n\n getVisibleItems() {\n const toSplit = this.filterItems(this.items);\n const [keyItems, items] = partition_(toSplit, (item) => item.keyColumn);\n return {items, keyItems};\n }\n\n getVisibleItemsMap() {\n return reduce_(\n this.filterItems(this.items),\n (acc, item) => {\n acc[item.name] = item;\n return acc;\n },\n {},\n );\n }\n\n renderList() {\n const {isSortable, isSelectable, itemRenderer, children, isHeadless} = this.props;\n\n const {items, keyItems} = this.getVisibleItems();\n\n const className = b(\n 'content',\n {\n headless: isHeadless ? undefined : 'no',\n empty: items.length ? undefined : 'yes',\n },\n 'pretty-scroll',\n );\n\n return (\n <div className={className}>\n {keyItems.length > 0 && (\n <React.Fragment>\n <SortableList\n lockAxis=\"y\"\n isDisabled={false}\n isSortable={false}\n isSelectable={isSelectable}\n items={keyItems}\n itemRenderer={itemRenderer}\n helperClass={b('list-item', {helper: 'yes'})}\n onCheckBoxChange={this._handleCheckBoxChange}\n />\n {items.length > 0 && <div className={b('separator')} />}\n </React.Fragment>\n )}\n {items.length > 0 && (\n <SortableList\n items={items}\n isSelectable={isSelectable}\n isSortable={isSortable}\n itemRenderer={itemRenderer}\n lockAxis=\"y\"\n helperClass={b('list-item', {helper: 'yes'})}\n onSortEnd={this._handleSortEnd}\n onCheckBoxChange={this._handleCheckBoxChange}\n useDragHandle\n />\n )}\n {!keyItems.length && !items.length && children}\n </div>\n );\n }\n\n render() {\n const {isHeadless, isSortable, className} = this.props;\n const classNames = b(\n {\n headless: isHeadless ? 'yes' : undefined,\n sortable: isSortable ? undefined : 'no',\n },\n className,\n );\n return (\n <div className={classNames}>\n {this.renderControls()}\n {this.renderList()}\n </div>\n );\n }\n}\n","import cn from 'bem-cn-lite';\n\nimport filter_ from 'lodash/filter';\nimport forEach_ from 'lodash/forEach';\nimport map_ from 'lodash/map';\n\nimport type {EditableManyListsItemType} from '../../../../components/Dialog';\nimport type {ResponsibleType, RoleConverted} from '../../../../utils/acl/acl-types';\nimport type {PreparedRole} from '../../../../utils/acl';\nimport {RoleListControlProps} from './RoleListControl';\n\nexport const block = cn('role-list-control');\n\nexport function prepareRoleListValue(roles: Array<PreparedRole>, otherMembers: Array<string> = []) {\n const current: typeof roles = [];\n const toAdd: typeof roles = [];\n const toRemove: typeof roles = [];\n const unrecognized: typeof roles = [];\n forEach_(roles, (item) => {\n const {isUnrecognized, isRequested, isApproved, isDepriving} = item;\n if (isUnrecognized) {\n unrecognized.push(item);\n } else if (isDepriving) {\n toRemove.push(item);\n } else if (isApproved || isRequested) {\n toAdd.push(item);\n } else {\n current.push(item);\n }\n });\n\n const currentArr = current.map((item) => prepareItemOfCurrent(item));\n const otherArr = otherMembers.map((item) => ({\n title: item,\n data: {},\n frozen: true,\n }));\n\n return {\n newItems: [],\n current: {title: 'Current', data: currentArr.concat(otherArr)},\n toAdd: {\n title: 'Will be added',\n itemClassName: block('item-to-add'),\n data: toAdd.map((item) => prepareItemOfCurrent(item, {frozen: true})),\n },\n toRemove: {\n title: 'Will be removed',\n itemClassName: block('item-to-remove'),\n data: toRemove.map((item) => prepareItemOfCurrent(item, {frozen: true})),\n },\n unrecognized: {\n title: 'Unrecognized',\n itemClassName: block('item-unrecognized'),\n data: unrecognized.map((item) => prepareItemOfCurrent(item, {frozen: true})),\n },\n };\n}\n\nfunction prepareItemOfCurrent(role: PreparedRole, extraProps: any = {}) {\n return {\n title: role.text || role.value,\n data: role,\n ...extraProps,\n };\n}\n\nexport function roleListValueToSubjectList(\n value: RoleListControlProps['value'],\n): Array<ResponsibleType> {\n const {current, newItems, toAdd} = value;\n return [\n ...newItems,\n ...manyListDataItemToSubjectList(current),\n ...manyListDataItemToSubjectList(toAdd),\n ];\n}\n\nfunction manyListDataItemToSubjectList(\n manyListDataItem: EditableManyListsItemType<RoleConverted>,\n): Array<ResponsibleType> {\n const {data} = manyListDataItem || {};\n return map_(\n filter_(data, ({removed}) => !removed),\n ({data}) => {\n const {type, value} = data || {};\n return {type: type!, value: value!};\n },\n );\n}\n\nexport function extractChangedSubjects(value: {\n current: EditableManyListsItemType<RoleConverted>;\n newItems: Array<ResponsibleType>;\n}) {\n const {current, newItems} = value;\n const added = newItems || [];\n const removed = ((current && current.data) || []).filter(({removed}) => removed);\n return {\n added: added.map(({type, value}) => {\n return type === 'users' ? {user: value} : {group: value};\n }),\n removed: removed.map(({data}) => {\n const {value, type} = data || {};\n return type === 'users' ? {user: value} : {group: value};\n }),\n };\n}\n","import React from 'react';\nimport cn from 'bem-cn-lite';\n\nimport type {FORM_ERROR as FormErrorType} from './index';\n\nimport {FIX_MY_TYPE, YTError} from '../../types';\nimport Block from '../../components/Block/Block';\n\nimport compact_ from 'lodash/compact';\nimport map_ from 'lodash/map';\n\nconst block = cn('yt-dialog-error');\n\nexport function DialogError(props: FIX_MY_TYPE) {\n return <Block {...props} className={block()} />;\n}\n\nexport function makeErrorFields(errors: Array<YTError | Error | undefined>) {\n return compact_(\n map_(errors, (error, index) => {\n return error\n ? {\n name: `error_${index}`,\n type: 'block' as const,\n extras: {\n children: <DialogError error={error} />,\n },\n }\n : undefined;\n }),\n );\n}\n\nconst FORM_ERROR: typeof FormErrorType = 'FINAL_FORM/form-error';\n\nexport function makeFormSubmitError(error: YTError) {\n return {\n validationErrors: {\n [FORM_ERROR]: <DialogError error={error} />,\n },\n };\n}\n","import React from 'react';\nimport withLazyLoading from '../../hocs/withLazyLoading';\nimport {withDelayedMount} from '../../hocs/withDelayedMount';\n\nimport type {\n registerDialogControl as RegisterDialogControlFn,\n registerDialogTabControl as RegisterDialogTabControlFn,\n YTDialogType,\n} from './Dialog';\n\nexport type * from './Dialog';\nexport * from './DialogError';\nexport * from './controls/RoleListControl/utils';\n\nexport function importYTDFDialog() {\n return import(/* webpackChunkName: \"yt-df-dialog\" */ './Dialog');\n}\n\nexport const YTDFDialog = withDelayedMount(\n withLazyLoading(\n React.lazy(async () => {\n return {default: (await importYTDFDialog()).YTDialog};\n }),\n '',\n ),\n) as YTDialogType;\n\nexport function useControlRegistration(\n fn: (params: {\n registerDialogControl: typeof RegisterDialogControlFn;\n registerDialogTabControl: typeof RegisterDialogTabControlFn;\n }) => void,\n) {\n importYTDFDialog().then(({registerDialogControl, registerDialogTabControl}) => {\n fn({registerDialogControl, registerDialogTabControl});\n });\n}\n\nexport type {RoleListControlProps} from './controls/RoleListControl/RoleListControl';\nexport const RoleListControl = withLazyLoading(\n React.lazy(async () => {\n return {default: (await importYTDFDialog()).RoleListControl};\n }),\n '',\n);\n\nexport const EditableList = withLazyLoading(\n React.lazy(async () => {\n return {default: (await importYTDFDialog()).EditableList};\n }),\n '',\n);\n\nexport const TabFieldVertical = withLazyLoading(\n React.lazy(async () => {\n return {default: (await importYTDFDialog()).TabFieldVertical};\n }),\n '',\n);\n","import React from 'react';\n\n/**\n * The hoc allows to delay mounting until `props.visible == true`.\n * The hoc might be useful to wrap components wrapped by React.lazy\n * @param Component\n * @returns\n */\nexport function withDelayedMount<P extends {visible?: boolean}>(Component: React.ComponentType<P>) {\n return function MountOnFirstVisible(props: P) {\n const [mounted, setMounted] = React.useState(false);\n React.useEffect(() => {\n if (!mounted && props.visible) {\n setMounted(true);\n }\n }, [props.visible, mounted]);\n return !mounted ? null : <Component {...props} />;\n };\n}\n","import React, {Component} from 'react';\nimport PropTypes from 'prop-types';\nimport cn from 'bem-cn-lite';\n\nimport templates from '../templates/templates';\n\nimport {Popup} from '@gravity-ui/uikit';\n\nconst block = cn('elements-dropdown');\n\nclass Dropdown extends Component {\n static propTypes = {\n button: PropTypes.oneOfType([PropTypes.element, PropTypes.object]).isRequired,\n className: PropTypes.string,\n popup: PropTypes.object,\n directions: PropTypes.array,\n trigger: PropTypes.oneOf(['click', 'hover']).isRequired,\n template: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.shape({\n key: PropTypes.string.isRequired,\n data: PropTypes.object,\n }),\n ]).isRequired,\n zIndexGroupLevel: PropTypes.number,\n };\n\n static defaultProps = {\n zIndexGroupLevel: 1,\n directions: ['bottom-end', 'top-end'],\n };\n\n state = {\n popupVisible: false,\n };\n\n anchor = React.createRef();\n\n toggle = () =>\n this.setState((prevState) => ({\n popupVisible: !prevState.popupVisible,\n }));\n\n open = () => this.setState({popupVisible: true});\n\n close = () => this.setState({popupVisible: false});\n\n renderButton() {\n const {button, trigger} = this.props;\n\n const actionProps = {\n onClick: trigger === 'click' ? this.toggle : undefined,\n onMouseEnter: trigger === 'hover' ? this.open : undefined,\n onMouseLeave: trigger === 'hover' ? this.close : undefined,\n };\n\n return React.cloneElement(button, actionProps);\n }\n\n renderTemplate() {\n const {template} = this.props;\n const {key, data} = this.props.template;\n const renderer = templates.get(key).__default__;\n\n return React.isValidElement(template)\n ? React.cloneElement(template)\n : renderer.call(this, data);\n }\n\n renderPopup() {\n const {popup, directions} = this.props;\n\n return (\n <Popup\n placement={directions}\n onClose={this.close}\n open={true}\n anchorRef={this.anchor}\n hasArrow\n {...popup}\n >\n {this.renderTemplate()}\n </Popup>\n );\n }\n\n render() {\n const {className} = this.props;\n\n return (\n <span className={block(null, className)} ref={this.anchor}>\n {this.renderButton()}\n {this.state.popupVisible && this.renderPopup()}\n </span>\n );\n }\n}\n\nexport default Dropdown;\n","import React, {useCallback, useEffect} from 'react';\nimport cn from 'bem-cn-lite';\n\nimport {TextInput} from '@gravity-ui/uikit';\nimport Icon from '../Icon/Icon';\n\nimport './EditableAsText.scss';\nimport Button, {ButtonProps} from '../Button/Button';\nconst block = cn('editable-as-text');\n\ninterface Props {\n className?: string;\n editorClassName?: string;\n\n text?: string;\n children: React.ReactNode;\n onChange: (v?: string) => void;\n disableEdit?: boolean;\n withControls?: boolean;\n cancelOnClose?: boolean;\n openOnClick?: boolean;\n size?: 's' | 'm' | 'l' | 'xl';\n saveButtonView?: ButtonProps['view'];\n cancelButtonView?: ButtonProps['view'];\n\n renderEditor?: (props: {\n value?: string;\n onBlur: () => void;\n onChange: (value?: string) => void;\n className?: string;\n onApply: (value?: string) => void;\n }) => React.ReactNode;\n onModeChange?: (isEdit: boolean) => void;\n}\n\nexport function EditableAsText(props: Props) {\n const {\n children,\n onChange,\n text,\n className,\n withControls,\n size,\n disableEdit,\n cancelOnClose,\n openOnClick,\n renderEditor,\n onModeChange,\n saveButtonView = 'normal',\n cancelButtonView = 'normal',\n } = props;\n const [editMode, setEditMode] = React.useState(false);\n const [input, setInput] = React.useState(text || '');\n\n useEffect(() => {\n setInput(text || '');\n }, [text]);\n\n const handleChangeMode = useCallback(\n (isEdit: boolean) => {\n if (onModeChange) onModeChange(isEdit);\n setEditMode(isEdit);\n },\n [onModeChange],\n );\n\n const closeEditMode = React.useCallback(() => {\n handleChangeMode(false);\n if (cancelOnClose) setInput(text || '');\n }, [cancelOnClose, handleChangeMode, text]);\n\n const startTextEdit = useCallback(() => {\n handleChangeMode(true);\n }, [handleChangeMode]);\n\n const handleWrapClick = () => {\n if (!editMode && openOnClick) {\n startTextEdit();\n }\n };\n\n const handleChange = React.useCallback((val?: string) => setInput(val ?? ''), [setInput]);\n\n const applyValue = useCallback(() => {\n handleChangeMode(false);\n onChange(input);\n }, [onChange, handleChangeMode, input]);\n\n const closeAndResetValue = useCallback(() => {\n handleChangeMode(false);\n setInput(text || '');\n }, [handleChangeMode, text]);\n\n const onApply = useCallback(\n (value?: string) => {\n handleChangeMode(false);\n onChange(value);\n },\n [handleChangeMode, onChange],\n );\n\n const handleKeyDown = React.useCallback(\n (evt: React.KeyboardEvent<HTMLElement>) => {\n if (evt.key === 'Enter') {\n applyValue();\n }\n if (evt.key === 'Escape') {\n closeAndResetValue();\n }\n },\n [applyValue, closeAndResetValue],\n );\n\n const controlSize = size ? size : 'm';\n\n return (\n <div\n className={block(null, [className || '', editMode ? 'edit' : ''])}\n onClick={handleWrapClick}\n >\n {editMode ? (\n <>\n {renderEditor ? (\n renderEditor({\n value: input,\n onChange: handleChange,\n className: block('control'),\n onBlur: closeEditMode,\n onApply,\n })\n ) : (\n <TextInput\n className={block('control')}\n autoFocus\n size={controlSize}\n value={input}\n onUpdate={handleChange}\n onKeyDown={handleKeyDown}\n onBlur={closeEditMode}\n />\n )}\n {withControls && (\n <>\n <Button\n className={block('control')}\n view={saveButtonView}\n extraProps={{onMouseDown: applyValue}}\n size={controlSize}\n >\n <Icon awesome={'check'} size={controlSize} />\n </Button>\n <Button\n className={block('control')}\n view={cancelButtonView}\n extraProps={{onMouseDown: closeAndResetValue}}\n size={controlSize}\n >\n <Icon awesome={'times'} size={controlSize} />\n </Button>\n </>\n )}\n </>\n ) : (\n <React.Fragment>\n {children}\n {!disableEdit && (\n <Button\n className={block('control', {type: 'edit'})}\n view=\"outlined\"\n onClick={startTextEdit}\n size={controlSize}\n >\n <Icon awesome={'pencil'} size={controlSize} />\n </Button>\n )}\n </React.Fragment>\n )}\n </div>\n );\n}\n\nexport function EditButton({\n onClick,\n size = 'm',\n}: {\n onClick: () => void;\n size?: ButtonProps['size'];\n}) {\n return (\n <Button className={block('edit-btn')} onClick={onClick} size={size}>\n <Icon awesome={'pencil'} />\n </Button>\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 from 'react';\nimport unipika from '../../common/thor/unipika';\nimport block from 'bem-cn-lite';\n\nimport Link from '../../components/Link/Link';\n\nimport hammer from '../../common/hammer';\nimport {showErrorPopup} from '../../utils/utils';\n\nimport './utils.scss';\n\nfunction wrapRenderMethods(templates) {\n return Object.keys(templates).reduce((newTemplates, key) => {\n newTemplates[key] = templates[key];\n\n return newTemplates;\n }, {});\n}\n\n/**\n * Template must be a scoped function, because they are bound to elements-table component instance\n * @param {ViewModel} item\n * @param {String} columnName\n */\nfunction defaultTemplate(item, columnName) {\n return String(hammer.format['ValueOrDefault'](item[columnName]));\n}\n\nfunction prepareTextProps(text, asHTML) {\n const props = {};\n\n if (asHTML) {\n // Need to render html strings\n props.dangerouslySetInnerHTML = {__html: text};\n } else {\n props.children = unipika.decode(String(text));\n }\n\n return props;\n}\n\nexport function renderText(text, settings = {}) {\n let className = block('elements-text');\n\n if (settings.mix) {\n className = className(\n false,\n block(settings.mix.block)(settings.mix.elem, {\n ...settings.mix.mods,\n }),\n );\n } else {\n className = className();\n }\n\n const textProps = prepareTextProps(text, settings.asHTML);\n\n const title = settings.title || text;\n\n return <span {...textProps} title={title} className={className} />;\n}\n\nexport function printColumnAsBytes(item, columnName) {\n const column = this.getColumn(columnName);\n return hammer.format['Bytes'](column.get(item));\n}\n\nexport function printColumnAsNumber(item, columnName) {\n const column = this.getColumn(columnName);\n return hammer.format['Number'](column.get(item));\n}\n\nexport function printColumnAsTimeDurationWithMs(item, columnName) {\n const column = this.getColumn(columnName);\n return hammer.format['TimeDuration'](column.get(item), {\n format: 'milliseconds',\n });\n}\n\nexport function printColumnAsReadableField(item, columnName) {\n const column = this.getColumn(columnName);\n return (\n <span className=\"elements-ellipsis\">\n {hammer.format['ReadableField'](column.get(item))}\n </span>\n );\n}\n\nexport function printColumnAsTime(item, columnName) {\n const value = this?.getColumn ? this.getColumn(columnName).get(item) : item[columnName];\n return <ColumnAsTime value={value} />;\n}\n\nexport function ColumnAsTime({value}) {\n return (\n <span className=\"elements-ellipsis\">\n {hammer.format['DateTime'](value, {format: 'full'})}\n </span>\n );\n}\n\nexport function printColumnAsError(error) {\n const showError = () => {\n showErrorPopup(error, {hideOopsMsg: true});\n };\n return typeof error === 'object' ? (\n <Link theme=\"ghost\" onClick={showError}>\n View\n </Link>\n ) : (\n hammer.format.NO_VALUE\n );\n}\n\n// Using prepared table data\nexport function asBytes(item, columnName) {\n return hammer.format['Bytes'](item[columnName]);\n}\n\nexport function asNumber(item, columnName) {\n return hammer.format['Number'](item[columnName]);\n}\n\nexport default {\n __default__: defaultTemplate,\n _templates: {},\n add: function (templateId, templates) {\n this._templates[templateId] = wrapRenderMethods(templates);\n },\n get: function (templateId) {\n return this._templates[templateId] || {};\n },\n};\n","import type {RootState} from '../../reducers';\n\nexport const selectCellPreviewVisible = (state: RootState) =>\n state.navigation.modals.cellPreviewModal.visible;\nexport const selectCellPreviewLoading = (state: RootState) =>\n state.navigation.modals.cellPreviewModal.loading;\nexport const selectCellPreviewData = (state: RootState) =>\n state.navigation.modals.cellPreviewModal.data;\nexport const selectCellPreviewYtCliDownloadCommand = (state: RootState) =>\n state.navigation.modals.cellPreviewModal.ytCliDownloadCommand;\nexport const selectCellPreviewNoticeText = (state: RootState) =>\n state.navigation.modals.cellPreviewModal.noticeText;\nexport const selectErrorPreviewCellPath = (state: RootState) =>\n state.navigation.modals.cellPreviewModal.error;\n","import React from 'react';\n\nimport {useDispatch, useSelector} from 'react-redux';\nimport {Flex, Text} from '@gravity-ui/uikit';\n\nimport SimpleModal from '../../components/Modal/SimpleModal';\nimport {\n selectCellPreviewData,\n selectCellPreviewLoading,\n selectCellPreviewNoticeText,\n selectCellPreviewVisible,\n selectCellPreviewYtCliDownloadCommand,\n selectErrorPreviewCellPath,\n} from '../../store/selectors/modals/cell-preview';\n\nimport ClipboardButton from '../../components/ClipboardButton/ClipboardButton';\nimport block from 'bem-cn-lite';\n\nimport Yson from '../../components/Yson/Yson';\nimport Error from '../../components/Error/Error';\nimport {type YsonSettings, getPreviewCellYsonSettings} from '../../store/selectors/thor/unipika';\nimport {closeCellPreviewAndCancelRequest} from '../../store/actions/modals/cell-preview';\n\nimport './CellPreviewModal.scss';\n\nconst b = block('cell-preview-modal');\n\nexport const CellPreviewModal: React.FC = () => {\n const dispatch = useDispatch();\n\n const loading = useSelector(selectCellPreviewLoading);\n const data = useSelector(selectCellPreviewData);\n const visible = useSelector(selectCellPreviewVisible);\n const ytCliDownloadCommand = useSelector(selectCellPreviewYtCliDownloadCommand);\n const noticeText = useSelector(selectCellPreviewNoticeText);\n const error = useSelector(selectErrorPreviewCellPath);\n\n const unipikaSettings = useSelector(getPreviewCellYsonSettings);\n\n return (\n <SimpleModal\n title=\"Preview\"\n visible={visible}\n loading={loading}\n onCancel={() => dispatch(closeCellPreviewAndCancelRequest())}\n wrapperClassName={b('wrapper')}\n >\n <Flex\n qa=\"cell-preview-modal-content\"\n className={b('content')}\n gap={2}\n direction=\"column\"\n >\n <Flex gap={2} direction=\"column\">\n <Text variant=\"subheader-3\" color=\"secondary\">\n {noticeText}\n </Text>\n {ytCliDownloadCommand ? (\n <code className={b('command-wrapper')}>\n <div className={b('command')}>\n <div\n data-qa=\"cell-preview-command\"\n className={b('command-content')}\n title={ytCliDownloadCommand}\n >\n {ytCliDownloadCommand}\n </div>\n <ClipboardButton\n view={'flat-secondary'}\n text={ytCliDownloadCommand}\n size={'s'}\n />\n </div>\n </code>\n ) : null}\n </Flex>\n {error ? (\n <Error error={error} />\n ) : (\n <PreviewContent data={data} unipikaSettings={unipikaSettings} />\n )}\n </Flex>\n </SimpleModal>\n );\n};\n\ntype PreviewContentProps = {\n data: {$type: string; $value: any} | undefined;\n unipikaSettings: YsonSettings;\n};\n\nfunction PreviewContent(props: PreviewContentProps) {\n const {data, unipikaSettings} = props;\n\n switch (data?.$type) {\n case 'yql.string':\n case 'yql.json':\n return <pre className=\"elements-code\">{data.$value}</pre>;\n default:\n return (\n <Yson\n className={b('yson-container')}\n folding={true}\n value={data?.$value}\n tableSettings={{dynamicRenderScrollParentGetter: undefined}}\n settings={unipikaSettings}\n customLayout={({toolbar, content}) => {\n return (\n <>\n <div className={b('toolbar')}>{toolbar}</div>\n {content}\n </>\n );\n }}\n />\n );\n }\n}\n","import React, {FC} from 'react';\nimport {ClusterConfig} from '../../../../../shared/yt-types';\nimport cn from 'bem-cn-lite';\nimport './QueryClusterItem.scss';\nimport {Text} from '@gravity-ui/uikit';\nimport ClusterIcon from '../../../../components/ClusterIcon/ClusterIcon';\nimport {useClusterColorClassName} from '../../../../containers/ClusterPageHeader/ClusterColor';\n\nconst block = cn('query-cluster-item');\nconst IconBlock = cn('query-cluster-icon');\n\ntype Props = Pick<ClusterConfig, 'id' | 'name' | 'environment'> & {className?: string};\n\nexport const QueryClusterItem: FC<Props> = ({id, name, environment, className}) => {\n const clusterColorClassName = useClusterColorClassName(id);\n\n return (\n <div className={block(null, className)}>\n <ClusterIcon name={name} className={IconBlock(null, clusterColorClassName)} />\n <div className={block('info')}>\n {name}\n <Text color=\"secondary\" className={block('environment')}>\n {environment}\n </Text>\n </div>\n </div>\n );\n};\n","import {useCallback, useEffect} from 'react';\n\nexport const usePreventUnload = ({shouldListen}: {shouldListen: boolean}) => {\n const beforeUnloadHandler = useCallback((e: BeforeUnloadEvent) => {\n e.preventDefault();\n\n // Included for legacy support, e.g. Chrome/Edge < 119\n e.returnValue = true;\n }, []);\n\n useEffect(() => {\n if (shouldListen) {\n window.addEventListener('beforeunload', beforeUnloadHandler);\n }\n\n return () => window.removeEventListener('beforeunload', beforeUnloadHandler);\n }, [shouldListen]);\n};\n","import {createSelector} from 'reselect';\nimport {getSettingsData} from '../../../../store/selectors/settings-base';\n\nexport const getSettingQueryTrackerQueriesListSidebarVisibilityMode = createSelector(\n getSettingsData,\n (settings) => Boolean(settings['global::queryTracker::queriesListSidebarVisibilityMode']),\n);\n","import {useCallback} from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\nimport {QueryItem} from '../../module/api';\nimport {\n getQueriesList,\n getQueriesListCursor,\n hasQueriesListMore,\n isQueriesListLoading,\n} from '../../module/queries_list/selectors';\nimport {loadNextQueriesList, resetCursor} from '../../module/queries_list/actions';\nimport {setSettingByKey} from '../../../../store/actions/settings';\nimport {getSettingQueryTrackerQueriesListSidebarVisibilityMode} from '../../module/settings/selector';\nimport {QueriesHistoryCursorDirection} from '../../../../pages/query-tracker/module/query-tracker-contants';\n\nexport function useQueryList(): [QueryItem[], boolean] {\n const items = useSelector(getQueriesList);\n const isLoading = useSelector(isQueriesListLoading);\n\n return [items, isLoading];\n}\n\nexport const useQueriesPagination = () => {\n const dispatch = useDispatch();\n const cursor = useSelector(getQueriesListCursor);\n const hasNext = useSelector(hasQueriesListMore);\n\n const goNext = useCallback(() => {\n dispatch(loadNextQueriesList(QueriesHistoryCursorDirection.PAST));\n }, [dispatch]);\n\n const goBack = useCallback(() => {\n dispatch(loadNextQueriesList(QueriesHistoryCursorDirection.FUTURE));\n }, [dispatch]);\n\n const reset = useCallback(() => {\n dispatch(resetCursor());\n }, [dispatch]);\n\n return {\n first: !cursor?.cursorTime,\n last: !hasNext,\n currentCursorTime: cursor?.cursorTime,\n goNext,\n goBack,\n goFirst: reset,\n };\n};\n\nexport const useQueriesListSidebarToggle = () => {\n const dispatch = useDispatch();\n const isQueriesListSidebarVisible = useSelector(\n getSettingQueryTrackerQueriesListSidebarVisibilityMode,\n );\n\n const toggleQueriesListSideBarToggle = () => {\n dispatch(\n setSettingByKey<boolean>(\n 'global::queryTracker::queriesListSidebarVisibilityMode',\n !isQueriesListSidebarVisible,\n ),\n );\n };\n\n return {\n isQueriesListSidebarVisible,\n toggleQueriesListSideBarToggle,\n };\n};\n","import {useDispatch, useSelector} from 'react-redux';\nimport {useCallback} from 'react';\nimport {applyFilter} from '../../module/queries_list/actions';\nimport {getQueriesListFilter, getQueriesListMode} from '../../module/queries_list/selectors';\nimport {QueriesListFilter, QueriesListMode} from '../../module/queries_list/types';\n\nexport const useQuriesHistoryFilter = (): [\n QueriesListFilter,\n QueriesListMode,\n <K extends keyof QueriesListFilter>(filter: K, value: QueriesListFilter[K]) => void,\n] => {\n const filter = useSelector(getQueriesListFilter);\n const filterPreset = useSelector(getQueriesListMode);\n const dispatch = useDispatch();\n const setFilter = useCallback(\n function setFilter<K extends keyof QueriesListFilter>(\n name: K,\n value: QueriesListFilter[K],\n ) {\n dispatch(\n applyFilter({\n [name]: value,\n }),\n );\n },\n [dispatch],\n );\n return [filter, filterPreset, setFilter];\n};\n","import {useCallback} from 'react';\nimport {useSelector} from 'react-redux';\nimport {useHistory} from 'react-router';\nimport {createQueryUrl} from '../../utils/navigation';\nimport {QueryItem} from '../../module/api';\nimport {getCluster} from '../../../../store/selectors/global';\nimport {getQuery} from '../../module/query/selectors';\n\nexport const useQueryNavigation = (): [QueryItem['id'] | undefined, (id: QueryItem) => void] => {\n const selectedItem = useSelector(getQuery);\n const cluster = useSelector(getCluster);\n const history = useHistory();\n\n const goToQuery = useCallback(\n (item: QueryItem) => {\n history.push(createQueryUrl(cluster, item.id));\n },\n [history],\n );\n\n return [selectedItem?.id, goToQuery];\n};\n","import React, {useMemo, useState} from 'react';\nimport {YTDFDialog, makeErrorFields} from '../../../../components/Dialog';\nimport Button from '../../../../components/Button/Button';\nimport Icon from '../../../../components/Icon/Icon';\n\nimport {QueryItem, setQueryName} from '../../module/api';\nimport {useThunkDispatch} from '../../../../store/thunkDispatch';\n\nexport interface Props {\n query: QueryItem;\n className?: string;\n}\n\ninterface FormValues {\n name: string;\n}\n\nexport default function EditQueryNameModal({query, className}: Props) {\n const [error, setError] = useState(undefined);\n const [visible, setVisible] = useState(false);\n const {state} = query;\n\n const dispatch = useThunkDispatch();\n\n const initialValues = useMemo(() => {\n return {\n name: query.annotations?.title || '',\n };\n }, [query.annotations?.title]);\n\n const handleSubmit = (name: string) => {\n return dispatch(setQueryName(query.id, {...query.annotations, title: name}));\n };\n\n return state === 'completed' || state === 'failed' || state === 'draft' ? (\n <div\n className={className}\n onClick={(event) => {\n event.stopPropagation();\n }}\n onKeyDown={(event) => {\n event.stopPropagation();\n }}\n >\n <Button\n onClick={() => {\n setVisible(true);\n }}\n view={'flat-secondary'}\n size={'m'}\n width={'auto'}\n >\n <Icon awesome=\"pencil\"></Icon>\n </Button>\n {visible ? (\n <YTDFDialog<FormValues>\n pristineSubmittable\n visible={visible}\n modal={true}\n headerProps={{title: 'Edit query name'}}\n footerProps={{textApply: 'Save'}}\n onClose={() => {\n setError(undefined);\n setVisible(false);\n }}\n onAdd={(form) => {\n const {name} = form.getState().values;\n return handleSubmit(name).catch((err) => {\n setError(err);\n throw err;\n });\n }}\n initialValues={initialValues}\n fields={[\n {\n name: 'name',\n type: 'text',\n required: true,\n caption: 'Name',\n extras: {\n placeholder: 'Enter query name',\n },\n },\n ...makeErrorFields([error]),\n ]}\n />\n ) : null}\n </div>\n ) : null;\n}\n","import React from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\nimport intersectionBy_ from 'lodash/intersectionBy';\nimport {QueriesListAuthorFilter} from '../../module/queries_list/types';\nimport {AllColumns, AuthorColumns, MyColumns, NameColumns} from './index';\nimport {setSettingByKey} from '../../../../store/actions/settings';\nimport {getQueryListHistoryColumns} from '../../module/queries_list/selectors';\n\nexport const useQueryHistoryListColumns = ({type}: {type?: QueriesListAuthorFilter}) => {\n const dispatch = useDispatch();\n const selectedColumns = useSelector(getQueryListHistoryColumns);\n\n const handleColumnChange = (selectedColumns: {\n items: Array<{checked: boolean; name: string}>;\n }) => {\n dispatch(\n setSettingByKey(\n `global::queryTracker::history::Columns`,\n selectedColumns.items.filter(({checked}) => checked).map(({name}) => name),\n ),\n );\n };\n\n return React.useMemo(() => {\n const ALL_COLUMN_NAMES = intersectionBy_(AllColumns, MyColumns, 'name').map(\n (item) => item.name,\n );\n const EXCLUDED_COLUMNS = [NameColumns.name, AuthorColumns.name];\n const currentColumnsPreset = type === QueriesListAuthorFilter.My ? MyColumns : AllColumns;\n\n const selectedColumnNames = new Set(\n Array.isArray(selectedColumns) ? selectedColumns : ALL_COLUMN_NAMES,\n );\n\n selectedColumnNames.add(NameColumns.name);\n selectedColumnNames.add(AuthorColumns.name);\n\n return {\n columns: currentColumnsPreset.filter(({name}) => selectedColumnNames.has(name)),\n allowedColumns: currentColumnsPreset\n .filter((item) => !EXCLUDED_COLUMNS.includes(item.name))\n .map(({name}) => ({name, checked: selectedColumnNames.has(name)})),\n handleColumnChange,\n };\n }, [type, selectedColumns]);\n};\n","import moment from 'moment';\nimport groupBy_ from 'lodash/groupBy';\nimport noop_ from 'lodash/noop';\nimport {Text} from '@gravity-ui/uikit';\nimport block from 'bem-cn-lite';\nimport React, {useCallback, useContext, useEffect, useMemo, useRef} from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\nimport DataTable, {Column, Settings} from '@gravity-ui/react-data-table';\nimport {QueryItem, QueryStatus} from '../../module/api';\nimport {refreshQueriesListIfNeeded} from '../../module/queries_list/actions';\nimport {getQueriesListTimestamp, getUncompletedItems} from '../../module/queries_list/selectors';\nimport {QueryStatusIcon} from '../../QueryStatus';\nimport hammer from '../../../../common/hammer';\n\nimport Pagination from '../../../../components/Pagination/Pagination';\nimport {QueriesPoolingContext} from '../../hooks/QueriesPooling/context';\nimport {formatTime} from '../../../../components/common/Timeline/util';\nimport {QueryEnginesNames} from '../../utils/query';\nimport DataTableYT from '../../../../components/DataTableYT/DataTableYT';\nimport {useQuriesHistoryFilter} from '../../hooks/QueryListFilter';\nimport {QueryDuration} from '../../QueryDuration';\nimport {useQueryNavigation} from '../../hooks/Query';\nimport {useQueriesPagination, useQueryList} from '../../hooks/QueriesList';\nimport EditQueryNameModal from '../EditQueryNameModal/EditQueryNameModal';\nimport {UPDATE_QUERIES_LIST} from '../../module/query-tracker-contants';\nimport {useQueryHistoryListColumns} from './useQueryListColumns';\n\nimport './index.scss';\n\nconst b = block('queries-history-list');\n\nconst itemBlock = block('query-history-item');\n\nfunction useQueriesHistoryUpdate() {\n const pollingContext = useContext(QueriesPoolingContext);\n const uncompletedItems = useSelector(getUncompletedItems);\n const dispatch = useDispatch();\n\n const queryListUpdateHandler = useMemo(\n () => (items: QueryItem[]) => {\n dispatch({\n type: UPDATE_QUERIES_LIST,\n data: items,\n });\n },\n [dispatch],\n );\n\n useEffect(\n function pollingEffect() {\n if (!uncompletedItems?.length) {\n return;\n }\n pollingContext.watch(uncompletedItems, queryListUpdateHandler);\n },\n [pollingContext, queryListUpdateHandler, uncompletedItems],\n );\n}\n\nfunction useRefreshHistoryList(timeout = 5000) {\n // Naive history list's polling impl\n const dispatch = useDispatch();\n useEffect(() => {\n let timer: ReturnType<typeof setTimeout>;\n function start() {\n timer = setTimeout(() => {\n dispatch(refreshQueriesListIfNeeded(start));\n }, timeout);\n }\n\n start();\n\n return () => {\n if (timer) {\n clearTimeout(timer);\n }\n };\n }, [timeout, dispatch]);\n}\n\nfunction useQueryHistoryList() {\n useRefreshHistoryList();\n useQueriesHistoryUpdate();\n return useQueryList();\n}\n\ntype HeaderTableItem = {header: string};\ntype TableItem = QueryItem | HeaderTableItem;\n\nconst isHeaderTableItem = (b: TableItem): b is HeaderTableItem => {\n return (b as HeaderTableItem).header !== undefined;\n};\n\nexport const NameColumns: Column<TableItem> = {\n name: 'Name',\n align: 'left',\n className: itemBlock('name_row'),\n render: ({row}) => {\n if (isHeaderTableItem(row)) {\n return <div className={itemBlock('separator')}>{row.header}</div>;\n }\n\n const name = row.annotations?.title;\n return (\n <div className={itemBlock('name')} title={name}>\n <QueryStatusIcon className={itemBlock('status-icon')} status={row.state} />\n <Text\n className={itemBlock('name-container')}\n color={name ? 'primary' : 'secondary'}\n ellipsis\n >\n {name || 'No name'}\n </Text>\n <EditQueryNameModal className={itemBlock('name-edit')} query={row} />\n </div>\n );\n },\n};\n\nconst TypeColumns: Column<TableItem> = {\n name: 'Type',\n align: 'center',\n width: 60,\n render: ({row}) => {\n if (isHeaderTableItem(row)) {\n return null;\n }\n\n return (\n <Text variant=\"body-1\" color=\"secondary\">\n {row.engine in QueryEnginesNames ? QueryEnginesNames[row.engine] : row.engine}\n </Text>\n );\n },\n};\n\nconst DurationColumns: Column<TableItem> = {\n name: 'Duration',\n align: 'left',\n width: 100,\n render: ({row}) => {\n if (isHeaderTableItem(row)) {\n return null;\n }\n\n if (row.state === QueryStatus.RUNNING) {\n return hammer.format.NO_VALUE;\n }\n return <QueryDuration query={row} />;\n },\n};\n\nconst StartedColumns: Column<TableItem> = {\n name: 'Started',\n align: 'left',\n width: 60,\n render: ({row}) => {\n if (isHeaderTableItem(row)) {\n return null;\n }\n\n return (\n <Text variant=\"body-1\" color=\"secondary\">\n {formatTime(row.start_time)}\n </Text>\n );\n },\n};\n\nexport const AuthorColumns: Column<TableItem> = {\n name: 'Author',\n align: 'left',\n width: 120,\n className: itemBlock('author_row'),\n render: ({row}) => {\n if (isHeaderTableItem(row)) {\n return null;\n }\n\n return (\n <Text variant=\"body-1\" ellipsis title={row.user}>\n {row.user}\n </Text>\n );\n },\n};\n\nconst ACOColumns: Column<TableItem> = {\n name: 'ACO',\n align: 'left',\n width: 60,\n className: itemBlock('access_control_object'),\n render: ({row}) => {\n if (isHeaderTableItem(row)) {\n return null;\n }\n\n const title = row.access_control_objects?.join(', ');\n\n return (\n <Text variant=\"body-1\" ellipsis title={title}>\n {title}\n </Text>\n );\n },\n};\n\nexport const MyColumns: Column<TableItem>[] = [\n NameColumns,\n TypeColumns,\n DurationColumns,\n StartedColumns,\n ACOColumns,\n];\nexport const AllColumns: Column<TableItem>[] = [\n NameColumns,\n TypeColumns,\n DurationColumns,\n AuthorColumns,\n StartedColumns,\n ACOColumns,\n];\n\nconst tableSettings: Settings = {\n displayIndices: false,\n sortable: false,\n stickyHead: DataTable.MOVING,\n syncHeadOnResize: true,\n};\n\nexport function QueriesHistoryList() {\n const [items, isLoading] = useQueryHistoryList();\n const [filter] = useQuriesHistoryFilter();\n const {columns} = useQueryHistoryListColumns({type: filter.user});\n const timestamp = useSelector(getQueriesListTimestamp);\n const {first, last, goBack, goNext, goFirst} = useQueriesPagination();\n const [selectedId, goToQuery] = useQueryNavigation();\n const scrollElemRef = useRef<HTMLDivElement | null>(null);\n\n useEffect(() => {\n if (scrollElemRef?.current) {\n scrollElemRef.current.scrollTop = 0;\n }\n }, [scrollElemRef, timestamp]);\n\n const setClassName = useCallback(\n (item: TableItem) => {\n if (isHeaderTableItem(item)) {\n return itemBlock({\n header: Boolean(item.header),\n });\n }\n\n return itemBlock({\n selected: item.id === selectedId,\n });\n },\n [selectedId],\n );\n\n const itemsByDate = useMemo(\n () =>\n Object.entries(\n groupBy_(items, (item) => moment(item.start_time).format('DD MMMM YYYY')),\n ).reduce((ret, [header, items]) => {\n ret.push({\n header,\n });\n\n return ret.concat(items.map((item) => item));\n }, [] as Array<TableItem>),\n [items],\n );\n\n return (\n <div className={b()}>\n <div className={b('list-wrapper')} ref={scrollElemRef}>\n <DataTableYT\n className={b('list')}\n loading={isLoading}\n columns={columns}\n data={itemsByDate}\n useThemeYT={true}\n rowKey={(row) => {\n if (isHeaderTableItem(row)) {\n return row.header;\n }\n\n return row.id;\n }}\n onRowClick={(item) => {\n if (!isHeaderTableItem(item)) {\n goToQuery(item);\n }\n }}\n disableRightGap={true}\n settings={tableSettings}\n rowClassName={setClassName}\n getColSpansOfRow={({row}) => {\n if (isHeaderTableItem(row)) {\n return {\n Name: columns.length,\n };\n }\n\n return undefined;\n }}\n />\n <div className={b('pagination')}>\n {(!first || !last) && (\n <Pagination\n size=\"m\"\n first={{\n handler: goFirst,\n disabled: first,\n }}\n previous={{\n handler: goBack,\n disabled: first,\n }}\n next={{\n handler: goNext,\n disabled: last,\n }}\n last={{\n handler: noop_,\n disabled: true,\n }}\n />\n )}\n </div>\n </div>\n </div>\n );\n}\n","const SvgLearn = props => <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 16 14\" {...props}><path fill=\"currentColor\" fillRule=\"evenodd\" d=\"M6.836 2.202 1.74 4.386a.396.396 0 0 0 0 .728l5.096 2.184a2.5 2.5 0 0 0 .985.202h.358a2.5 2.5 0 0 0 .985-.202l5.096-2.184a.396.396 0 0 0 0-.728L9.164 2.202A2.5 2.5 0 0 0 8.179 2h-.358a2.5 2.5 0 0 0-.985.202M1.5 6.642l1.5.644v3.228a2 2 0 0 0 1.106 1.789l.806.403a7 7 0 0 0 6.193.033l.909-.442a2 2 0 0 0 1.125-1.798V7.226l1.712-.734a1.896 1.896 0 0 0 0-3.484L9.755.823A4 4 0 0 0 8.179.5h-.358a4 4 0 0 0-1.576.323L1.15 3.008A1.9 1.9 0 0 0 0 4.75v4.5a.75.75 0 0 0 1.5 0zm3 3.872V7.929l1.745.748A4 4 0 0 0 7.821 9h.358a4 4 0 0 0 1.576-.323l1.884-.808v2.63a.5.5 0 0 1-.282.45l-.909.442a5.5 5.5 0 0 1-4.865-.027l-.807-.403a.5.5 0 0 1-.276-.447\" clipRule=\"evenodd\" /></svg>;\nexport default SvgLearn;","import React, {useMemo} from 'react';\nimport cn from 'bem-cn-lite';\nimport {Icon, List, ListItemData, Loader, Text} from '@gravity-ui/uikit';\nimport {QueryItem} from '../../module/api';\nimport {useQueryList} from '../../hooks/QueriesList';\nimport {useQueryNavigation} from '../../hooks/Query';\nimport tutorialIcon from '../../../../assets/img/svg/learn.svg';\nimport './index.scss';\n\nconst itemCn = cn('query-tutorial-item');\nconst block = cn('queries-tutorial-list');\n\nfunction renderItem(item: QueryItem) {\n return (\n <>\n <Icon className={itemCn('icon')} data={tutorialIcon} />\n <Text className={itemCn('text')} ellipsis title={item?.annotations?.title}>\n {item?.annotations?.title || 'No name'}\n </Text>\n </>\n );\n}\n\nexport function QueriesTutorialList({className}: {className: string}) {\n const [items, isLoading] = useQueryList();\n\n const [selectedId, goToQuery] = useQueryNavigation();\n\n const selectedIndex = useMemo(() => {\n return items.findIndex((query) => query.id === selectedId);\n }, [selectedId, items]);\n\n const tutorialFilter = useMemo(() => {\n return (filter: string) => {\n return (item: ListItemData<QueryItem>) => {\n return (\n item?.annotations?.title\n ?.toLocaleLowerCase()\n .includes(filter.toLocaleLowerCase()) || false\n );\n };\n };\n }, []);\n\n return (\n <div className={block(null, className)}>\n <List\n className={block('list', {loading: isLoading})}\n filterable={true}\n filterClassName={block('filter')}\n filterPlaceholder={'Filter by name'}\n filterItem={tutorialFilter}\n virtualized={false}\n selectedItemIndex={selectedIndex}\n sortable={false}\n itemHeight={32}\n itemClassName={itemCn()}\n items={isLoading ? [] : items}\n renderItem={renderItem}\n onItemClick={goToQuery}\n />\n {isLoading && (\n <div className={block('loader')}>\n <Loader size=\"l\" />\n </div>\n )}\n </div>\n );\n}\n","import React, {useCallback, useMemo} from 'react';\nimport {ControlGroupOption, RadioButton} from '@gravity-ui/uikit';\nimport {Engines} from '../../module/api';\nimport {QueryEngine} from '../../module/engines';\nimport {QueryEnginesNames} from '../../utils/query';\n\nconst ALL_ENGINE_KEY = '__all';\n\nexport function QueryEngineFilter({\n value,\n onChange,\n className,\n engines = Engines,\n}: {\n engines?: QueryEngine[];\n value?: QueryEngine;\n className?: string;\n onChange: (value?: QueryEngine) => void;\n}) {\n const enginesList = useMemo<ControlGroupOption[]>(() => {\n return [\n {\n value: ALL_ENGINE_KEY,\n content: 'All',\n },\n ...engines.map((engine) => {\n return {\n value: engine,\n content: QueryEnginesNames[engine],\n };\n }),\n ];\n }, [engines]);\n\n const onChangeEngineFilter = useCallback(\n (engine: string) => {\n onChange(engine === ALL_ENGINE_KEY ? undefined : (engine as QueryEngine));\n },\n [onChange],\n );\n return (\n <RadioButton\n className={className}\n options={enginesList}\n value={value || ALL_ENGINE_KEY}\n onUpdate={onChangeEngineFilter}\n />\n );\n}\n","import {TextInput} from '@gravity-ui/uikit';\nimport debounce_ from 'lodash/debounce';\nimport React, {useEffect, useMemo, useState} from 'react';\n\nexport type QueryTextFilterProps = {\n value?: string;\n placeholder: string;\n onChange: (value?: string) => void;\n delay?: number;\n};\n\nexport function QueryTextFilter({value, placeholder, onChange, delay = 200}: QueryTextFilterProps) {\n const [pattern, setPattern] = useState<string>(value || '');\n\n const debouncedChange = useMemo(() => {\n return debounce_((value: string) => {\n onChange(value);\n }, delay);\n }, [onChange, delay]);\n\n useEffect(() => {\n debouncedChange(pattern);\n return () => {\n debouncedChange.cancel();\n };\n }, [pattern, debouncedChange]);\n\n return (\n <TextInput\n placeholder={placeholder}\n value={pattern}\n onBlur={() => debouncedChange.flush()}\n onUpdate={setPattern}\n />\n );\n}\n","import React, {useCallback} from 'react';\nimport block from 'bem-cn-lite';\nimport {ControlGroupOption, Icon as GravityIcon, RadioButton, Tooltip} from '@gravity-ui/uikit';\nimport {QueriesListAuthorFilter, QueriesListMode} from '../../module/queries_list/types';\nimport CircleQuestionIcon from '@gravity-ui/icons/svgs/circle-question.svg';\n\nimport './index.scss';\nimport {QueryEngineFilter} from './QueryEngineFilter';\nimport {QueryEngine} from '../../module/engines';\nimport {QueryTextFilter} from './QueryTextFilter';\nimport {useQuriesHistoryFilter} from '../../hooks/QueryListFilter';\nimport Dropdown from '../../../../components/Dropdown/Dropdown';\nimport Button from '../../../../components/Button/Button';\nimport Icon from '../../../../components/Icon/Icon';\nimport ColumnSelector from '../../../../components/ColumnSelector/ColumnSelector';\nimport {useQueryHistoryListColumns} from '../QueriesHistoryList/useQueryListColumns';\n\nconst AuthorFilter: ControlGroupOption[] = [\n {\n value: QueriesListAuthorFilter.My,\n content: 'My',\n },\n {\n value: QueriesListAuthorFilter.All,\n content: 'All',\n },\n];\n\nconst b = block('queries-history-filter');\n\ntype QueriesHistoryListFilterProps = {\n className?: string;\n};\n\nexport function QueriesHistoryListFilter({className}: QueriesHistoryListFilterProps) {\n const [filter, filterViewMode, onChange] = useQuriesHistoryFilter();\n const {allowedColumns, handleColumnChange} = useQueryHistoryListColumns({type: filter.user});\n\n const onChangeAuthorFilter = useCallback(\n (user: string) => {\n onChange('user', user as QueriesListAuthorFilter);\n },\n [onChange],\n );\n const onChangeEngineFilter = useCallback(\n (engine?: QueryEngine) => {\n onChange('engine', engine);\n },\n [onChange],\n );\n const onChangeTextFilter = useCallback(\n (text?: string) => {\n onChange('filter', text || undefined);\n },\n [onChange],\n );\n return (\n <div className={b(null, className)}>\n <div className={b('row')}>\n {filterViewMode === QueriesListMode.History && (\n <RadioButton\n options={AuthorFilter}\n value={filter?.user || QueriesListAuthorFilter.My}\n onUpdate={onChangeAuthorFilter}\n />\n )}\n <QueryEngineFilter value={filter?.engine} onChange={onChangeEngineFilter} />\n </div>\n {filterViewMode === QueriesListMode.History && (\n <div className={b('row')}>\n <QueryTextFilter\n placeholder=\"Search in query name, body and access control\"\n value={filter?.filter}\n onChange={onChangeTextFilter}\n />\n <Tooltip\n content={\n <>\n Search in query text, annotations and access control\n <br />\n Use `"title"="test_name"` to search in query\n name\n <br />\n Use `aco:nobody` to search in query access control\n </>\n }\n >\n <GravityIcon data={CircleQuestionIcon} size={16} />\n </Tooltip>\n <Dropdown\n trigger=\"click\"\n directions={['bottom']}\n button={\n <Button pin={'round-round'} className={b('columns-button')}>\n <Icon awesome=\"table\" face=\"light\" />\n </Button>\n }\n template={\n <ColumnSelector items={allowedColumns} onChange={handleColumnChange} />\n }\n />\n </div>\n )}\n </div>\n );\n}\n","import {lazy} from 'react';\nimport withLazyLoading from '../../../hocs/withLazyLoading';\n\nfunction importVcs() {\n return import(/* webpackChunkName: \"vcs\" */ './Vcs');\n}\n\nexport const Vcs = withLazyLoading(\n lazy(async () => {\n return {default: (await importVcs()).Vcs};\n }),\n);\n","import {lazy} from 'react';\nimport withLazyLoading from '../../../hocs/withLazyLoading';\n\nfunction importVcs() {\n return import(/* webpackChunkName: \"query-navigation\" */ './Navigation');\n}\n\nexport const Navigation = withLazyLoading(\n lazy(async () => {\n return {default: (await importVcs()).Navigation};\n }),\n);\n","import React, {useCallback, useEffect, useMemo} from 'react';\nimport block from 'bem-cn-lite';\nimport {Tabs, TabsItemProps} from '@gravity-ui/uikit';\nimport {QueriesHistoryList} from './QueriesHistoryList';\n\nimport {getQueriesListMode} from '../module/queries_list/selectors';\nimport {useDispatch, useSelector} from 'react-redux';\nimport {QueriesListMode, getQueriesListModes} from '../module/queries_list/types';\nimport {applyListMode, requestQueriesList} from '../module/queries_list/actions';\n\nimport './index.scss';\nimport {QueriesTutorialList} from './QueriesTutorialList';\nimport {QueriesHistoryListFilter} from './QueriesListFilter';\nimport {Vcs} from '../Vcs';\nimport {Navigation} from '../Navigation';\nimport {selectIsVcsVisible} from '../module/vcs/selectors';\n\nconst b = block('queires-list');\n\nconst TabNames = {\n [QueriesListMode.History]: 'History',\n [QueriesListMode.Tutorials]: 'Tutorials',\n [QueriesListMode.VCS]: 'VCS',\n [QueriesListMode.Navigation]: 'Navigation',\n};\n\nconst useQueryTabs = (): [TabsItemProps[], string, (tab: string) => void] => {\n const dispatch = useDispatch();\n const selectedTab = useSelector(getQueriesListMode);\n const isVcsVisible = useSelector(selectIsVcsVisible);\n const setTab = useCallback(\n (tab: string) => {\n dispatch(applyListMode(tab as QueriesListMode));\n },\n [dispatch],\n );\n\n const tabOptions = useMemo<TabsItemProps[]>(() => {\n return getQueriesListModes({vcs: isVcsVisible}).map((tab) => {\n return {\n id: tab as unknown as string,\n title: TabNames[tab],\n };\n });\n }, [isVcsVisible]);\n return [tabOptions, (selectedTab || QueriesListMode.History).toString(), setTab];\n};\n\nexport function QueriesList() {\n const [tabs, tab, setTab] = useQueryTabs();\n\n const dispatch = useDispatch();\n useEffect(() => {\n dispatch(requestQueriesList());\n }, [dispatch]);\n\n const isVsc = tab === QueriesListMode.VCS;\n\n if (tab === QueriesListMode.Navigation)\n return (\n <div className={b()}>\n <Tabs className={b('tabs')} items={tabs} activeTab={tab} onSelectTab={setTab} />\n <div className={b('content')}>\n <Navigation />\n </div>\n </div>\n );\n\n return (\n <div className={b()}>\n <Tabs className={b('tabs')} items={tabs} activeTab={tab} onSelectTab={setTab} />\n <div className={b('content')}>\n {!isVsc && <QueriesHistoryListFilter className={b('filter')} />}\n\n {tab === QueriesListMode.History && <QueriesHistoryList />}\n {tab === QueriesListMode.Tutorials && (\n <QueriesTutorialList className={b('list-content')} />\n )}\n {isVsc && <Vcs />}\n </div>\n </div>\n );\n}\n","const SvgLayoutColumns = props => <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 16 16\" {...props}><path fill=\"currentColor\" fillRule=\"evenodd\" d=\"M8.75 3.5H12A1.5 1.5 0 0 1 13.5 5v6a1.5 1.5 0 0 1-1.5 1.5H8.75zm-1.5 0H4A1.5 1.5 0 0 0 2.5 5v6A1.5 1.5 0 0 0 4 12.5h3.25zM1 5a3 3 0 0 1 3-3h8a3 3 0 0 1 3 3v6a3 3 0 0 1-3 3H4a3 3 0 0 1-3-3z\" clipRule=\"evenodd\" /></svg>;\nexport default SvgLayoutColumns;","import React, {FC, useRef} from 'react';\nimport {setFileEditor} from '../module/queryFilesForm/queryFilesFormSlice';\nimport {selectFileEditorConfig} from '../module/queryFilesForm/selectors';\nimport {changeQueryFile} from '../module/queryFilesForm/actions';\nimport {useDispatch, useSelector} from 'react-redux';\nimport FileIcon from '@gravity-ui/icons/svgs/file.svg';\nimport XmarkIcon from '@gravity-ui/icons/svgs/xmark.svg';\nimport SquareIcon from '@gravity-ui/icons/svgs/square.svg';\nimport LayoutColumnsIcon from '@gravity-ui/icons/svgs/layout-columns.svg';\nimport {Button, Icon, Text} from '@gravity-ui/uikit';\nimport './FileEditor.scss';\nimport cn from 'bem-cn-lite';\nimport MonacoEditor, {MonacoEditorConfig} from '../../../components/MonacoEditor';\nimport * as monaco from 'monaco-editor';\n\nconst block = cn('file-editor');\n\nconst MONACO_CONFIG: MonacoEditorConfig = {\n fontSize: 14,\n language: 'plaintext',\n renderWhitespace: 'boundary',\n minimap: {\n enabled: true,\n },\n};\n\nexport const FileEditor: FC = () => {\n const dispatch = useDispatch();\n const {fileEditor, file} = useSelector(selectFileEditorConfig);\n const editorRef = useRef<monaco.editor.IStandaloneCodeEditor>();\n\n const handleOnChange = (content: string) => {\n if (!file) return;\n dispatch(changeQueryFile({...file, content}));\n };\n\n const handleOnClose = () => {\n dispatch(setFileEditor({...fileEditor, isOpen: false, isFullWidth: false}));\n };\n\n const handleOnWidthToggle = () => {\n dispatch(setFileEditor({...fileEditor, isFullWidth: !fileEditor.isFullWidth}));\n };\n\n if (!file) return null;\n\n return (\n <div className={block()}>\n <div className={block('header')}>\n <div className={block('header-side')}>\n <Icon data={FileIcon} size={16} />\n <Text variant=\"subheader-1\" ellipsis>\n {file.name}\n </Text>\n </div>\n <div className={block('header-side')}>\n <Button view=\"flat\" onClick={handleOnWidthToggle}>\n <Icon\n data={fileEditor.isFullWidth ? LayoutColumnsIcon : SquareIcon}\n size={16}\n />\n </Button>\n <Button view=\"flat\" onClick={handleOnClose}>\n <Icon data={XmarkIcon} size={16} />\n </Button>\n </div>\n </div>\n <MonacoEditor\n className={block('editor')}\n editorRef={editorRef}\n value={file.content || ''}\n language=\"plaintext\"\n onChange={handleOnChange}\n monacoConfig={MONACO_CONFIG}\n />\n </div>\n );\n};\n","import React, {FC, useState} from 'react';\nimport QueryEditor from '../QueryEditor/QueryEditor';\nimport FlexSplitPane from '../../../components/FlexSplitPane/FlexSplitPane';\nimport {FileEditor} from '../FileEditor';\n\nconst EDITOR_INITIAL_SIZE = [50, 50];\n\ntype Props = {\n fileEditorFullWidth: boolean;\n fileEditorVisible: boolean;\n onStartQuery: (queryId: string) => void;\n};\n\nexport const QueryEditorSplit: FC<Props> = ({\n fileEditorFullWidth,\n fileEditorVisible,\n onStartQuery,\n}) => {\n const [sizes, setSize] = useState(EDITOR_INITIAL_SIZE);\n const hideQueryEditor = !(fileEditorVisible && fileEditorFullWidth);\n\n return (\n <FlexSplitPane\n direction={FlexSplitPane.HORIZONTAL}\n onResizeEnd={setSize}\n getInitialSizes={sizes}\n >\n {hideQueryEditor && <QueryEditor onStartQuery={onStartQuery} showStatusInTitle />}\n {fileEditorVisible && <FileEditor />}\n </FlexSplitPane>\n );\n};\n","import React, {useCallback, useEffect, useMemo, useState} from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\nimport {Route, Switch} from 'react-router';\nimport FlexSplitPane from '../../../components/FlexSplitPane/FlexSplitPane';\nimport {QueriesPooling} from '../hooks/QueriesPooling/context';\nimport {isEngine} from '../module/api';\nimport {QueryEngine} from '../module/engines';\nimport {\n createEmptyQuery,\n createQueryFromTablePath,\n goToQuery,\n loadQuery,\n} from '../module/query/actions';\nimport {usePreventUnload} from '../../../hooks/use-prevent-unload';\nimport {useQueriesListSidebarToggle} from '../hooks/QueriesList';\nimport {getDirtySinceLastSubmit, getQueryGetParams} from '../module/query/selectors';\nimport {QueriesList} from '../QueriesList';\nimport {useQueryACO} from '../QueryACO/useQueryACO';\nimport {MonacoContext} from '../context/MonacoContext';\n\nimport cn from 'bem-cn-lite';\n\nimport './QueryTracker.scss';\nimport {QueryEditorSplit} from './QueryEditorSplit';\nimport {selectFileEditor} from '../module/queryFilesForm/selectors';\nimport {selectNavigationCluster} from '../module/queryNavigation/selectors';\nimport {setSettingByKey} from '../../../store/actions/settings';\nimport {CellPreviewModal} from '../../../containers/CellPreviewModal/CellPreviewModal';\nimport {SET_QUERY_PARAMS} from '../module/query-tracker-contants';\n\nconst b = cn('query-tracker-page');\n\ntype Props = {\n match: {\n path: string;\n params: {\n queryId?: string;\n };\n };\n location: {\n search: string;\n };\n};\n\nconst initialSizes = [23, 77];\nconst minSize = 380; // see history list's cells size\n\nfunction QueryPageDraft() {\n const dispatch = useDispatch();\n const routeParams = useSelector(getQueryGetParams);\n const cluster = useSelector(selectNavigationCluster);\n\n useEffect(() => {\n const engine =\n routeParams.engine && isEngine(routeParams.engine)\n ? (routeParams.engine as QueryEngine)\n : QueryEngine.YQL;\n if (routeParams.cluster && routeParams.path) {\n if (routeParams.useDraft) {\n dispatch({\n type: SET_QUERY_PARAMS,\n data: {\n params: {\n ...routeParams,\n useDraft: undefined,\n },\n },\n });\n }\n dispatch(\n createQueryFromTablePath(engine, routeParams.cluster, routeParams.path, {\n useDraft: true,\n }),\n );\n } else {\n dispatch(createEmptyQuery(engine));\n }\n if (cluster) {\n dispatch(\n setSettingByKey<boolean>(\n 'global::queryTracker::queriesListSidebarVisibilityMode',\n true,\n ),\n );\n }\n }, [dispatch]);\n return null;\n}\n\nfunction QueryPage(props: Props) {\n const dispatch = useDispatch();\n\n useEffect(() => {\n dispatch({\n type: SET_QUERY_PARAMS,\n data: {\n params: {},\n },\n });\n if (props.match.params.queryId) {\n dispatch(loadQuery(props.match.params.queryId));\n } else {\n dispatch(createEmptyQuery());\n }\n }, [dispatch, props.match.params.queryId]);\n return null;\n}\n\nexport default function QueryTracker({match}: Props) {\n const {isQueriesListSidebarVisible} = useQueriesListSidebarToggle();\n const isQueryStateDirty = useSelector(getDirtySinceLastSubmit);\n const fileEditor = useSelector(selectFileEditor);\n usePreventUnload({shouldListen: isQueryStateDirty});\n const [sizes, setSize] = useState(initialSizes);\n const getSize = useMemo(() => {\n return () => sizes;\n }, [sizes]);\n const dispatch = useDispatch();\n const {loadQueryTrackerInfo} = useQueryACO();\n\n const goToCreatedQuery = useCallback(\n (queryId: string) => {\n dispatch(goToQuery(queryId));\n return true;\n },\n [dispatch],\n );\n\n useEffect(() => {\n loadQueryTrackerInfo();\n }, []);\n\n return (\n <>\n <Switch>\n <Route exact path={match.path} component={QueryPageDraft} />\n <Route path={`${match.path}/:queryId`} component={QueryPage} />\n </Switch>\n <MonacoContext.Provider value={new Map()}>\n <QueriesPooling>\n <FlexSplitPane\n className={b('container')}\n direction={FlexSplitPane.HORIZONTAL}\n onResizeEnd={setSize}\n minSize={minSize}\n getInitialSizes={getSize}\n >\n {isQueriesListSidebarVisible ? <QueriesList /> : null}\n <QueryEditorSplit\n fileEditorFullWidth={fileEditor.isFullWidth}\n fileEditorVisible={fileEditor.isOpen}\n onStartQuery={goToCreatedQuery}\n />\n </FlexSplitPane>\n </QueriesPooling>\n </MonacoContext.Provider>\n <CellPreviewModal />\n </>\n );\n}\n","import React from 'react';\nimport {Button} from '@gravity-ui/uikit';\nimport Icon from '../../../components/Icon/Icon';\nimport {useQueriesListSidebarToggle} from '../hooks/QueriesList';\n\nexport function QueriesListSidebarToggleButton() {\n const {isQueriesListSidebarVisible, toggleQueriesListSideBarToggle} =\n useQueriesListSidebarToggle();\n\n return (\n <Button\n view=\"outlined\"\n size=\"l\"\n title={`${isQueriesListSidebarVisible ? 'Hide' : 'Show'} queries list`}\n onClick={toggleQueriesListSideBarToggle}\n >\n <Icon awesome=\"layout-side-content\" size={16} />\n </Button>\n );\n}\n","import React, {FC} from 'react';\nimport {QueriesListSidebarToggleButton} from '../QueriesListSidebarToggleButton/QueriesListSidebarToggleButton';\nimport {NewQueryButton} from '../NewQueryButton';\nimport {Flex} from '@gravity-ui/uikit';\n\ntype Props = {\n onQueryCreate: () => void;\n};\n\nexport const RightButtonsGroup: FC<Props> = ({onQueryCreate}) => {\n return (\n <Flex gap={2}>\n <QueriesListSidebarToggleButton />\n <NewQueryButton onClick={onQueryCreate} />\n </Flex>\n );\n};\n","import React, {ReactElement} from 'react';\nimport {Select, SelectProps, TextInput} from '@gravity-ui/uikit';\nimport type {Option} from '@gravity-ui/uikit/build/esm/components/Select/tech-components';\nimport {SelectOption} from '@gravity-ui/uikit/build/esm/components/Select/types';\nimport './QuerySelector.scss';\nimport cn from 'bem-cn-lite';\n\nconst controlBlock = cn('yt-query-selector-control');\nconst popupBlock = cn('yt-query-selector-popup');\n\ntype Props<T> = {\n items: T[];\n value?: string;\n onChange: (value: string) => void;\n children: (items: T[]) => ReactElement<SelectOption<T>, typeof Option>[];\n} & Omit<SelectProps, 'children' | 'onUpdate' | 'value'>;\n\nconst Filter: Required<SelectProps>['renderFilter'] = ({onChange, onKeyDown, ref, value}) => {\n return (\n <div className={popupBlock('filter')}>\n <TextInput\n ref={ref}\n value={value}\n size=\"l\"\n onKeyDown={onKeyDown}\n onChange={(e) => onChange(e.target.value)}\n />\n </div>\n );\n};\n\nexport const QuerySelector = <T,>({\n items,\n children,\n className,\n popupClassName,\n onChange,\n value,\n ...props\n}: Props<T>): JSX.Element => {\n const handleChange = (values: string[]) => {\n onChange(values.length ? values[0] : '');\n };\n\n return (\n <Select\n size=\"l\"\n filterable\n className={controlBlock(null, className)}\n popupClassName={popupBlock(null, popupClassName)}\n value={value ? [value] : []}\n onUpdate={handleChange}\n renderFilter={Filter}\n {...props}\n >\n {children(items)}\n </Select>\n );\n};\n","import React, {FC} from 'react';\nimport {ClusterConfig} from '../../../../../shared/yt-types';\nimport {QueryClusterItem} from './QueryClusterItem';\nimport {Select} from '@gravity-ui/uikit';\nimport {QuerySelector} from '../QuerySelector';\n\ntype Props = {\n clusters: ClusterConfig[];\n value: string | undefined;\n onChange: (clusterId: string) => void;\n};\n\nexport const QueryClusterSelector: FC<Props> = ({clusters, value, onChange}) => {\n return (\n <QuerySelector\n placeholder=\"Cluster\"\n filterPlaceholder=\"Search\"\n items={clusters}\n onChange={onChange}\n hasClear\n value={value}\n getOptionHeight={() => 52}\n >\n {(items) =>\n items.map(({id, name, environment}) => (\n <Select.Option key={id} value={id}>\n <QueryClusterItem id={id} name={name} environment={environment} />\n </Select.Option>\n ))\n }\n </QuerySelector>\n );\n};\n","import React, {FC} from 'react';\nimport {ChytInfo} from '../../../../store/reducers/chyt/list';\nimport './QueryCliqueItem.scss';\nimport cn from 'bem-cn-lite';\nimport {Text} from '@gravity-ui/uikit';\n\nconst block = cn('query-clique-item');\n\ntype Props = {\n name: ChytInfo['alias'];\n ytId: ChytInfo['yt_operation_id'];\n};\n\nexport const QueryCliqueItem: FC<Props> = ({name, ytId}) => {\n return (\n <div className={block()}>\n {name}\n <Text color=\"secondary\">{ytId}</Text>\n </div>\n );\n};\n","import React, {FC} from 'react';\nimport {QueryCliqueItem} from './QueryCliqueItem';\nimport {QuerySelector} from '../QuerySelector';\nimport {Flex, Select} from '@gravity-ui/uikit';\n\ntype Props = {\n loading: boolean;\n cliqueList: {alias: string; yt_operation_id?: string}[];\n value: string | undefined;\n placeholder?: string;\n onChange: (alias: string) => void;\n};\n\nexport const QueryCliqueSelector: FC<Props> = ({\n cliqueList,\n value,\n placeholder = 'Clique alias',\n loading,\n onChange,\n}) => {\n return (\n <QuerySelector\n placeholder={placeholder}\n filterPlaceholder=\"Search\"\n hasClear\n items={cliqueList}\n value={value}\n loading={loading}\n onChange={onChange}\n getOptionHeight={() => 52}\n disabled={loading && !cliqueList.length}\n renderEmptyOptions={() => <Flex justifyContent=\"center\">No access clique</Flex>}\n >\n {(items) =>\n items.map(({alias, yt_operation_id}) => (\n <Select.Option key={alias} value={alias}>\n <QueryCliqueItem name={alias} ytId={yt_operation_id} />\n </Select.Option>\n ))\n }\n </QuerySelector>\n );\n};\n","import React, {FC} from 'react';\nimport {QueryClusterSelector} from './QueryClusterSelector';\nimport {ClusterConfig} from '../../../../shared/yt-types';\nimport {QueryEngine} from '../module/engines';\nimport {QueryCliqueSelector} from './QueryCliqueSelector';\n\ntype Props = {\n settings?: Record<string, string>;\n engine: QueryEngine;\n clusters: ClusterConfig[];\n cliqueMap: Record<string, Record<string, {alias: string; yt_operation_id?: string}[]>>;\n cliqueLoading: boolean;\n onClusterChange: (clusterId: string) => void;\n onCliqueChange: (alias: string) => void;\n onPathChange: (path: string) => void;\n};\nexport const QuerySelectorsByEngine: FC<Props> = ({\n settings = {},\n clusters,\n cliqueMap,\n cliqueLoading,\n engine,\n onClusterChange,\n onCliqueChange,\n onPathChange,\n}) => {\n const clusterCliqueList =\n settings.cluster && settings.cluster in cliqueMap ? cliqueMap[settings.cluster] : {};\n const cliqueList = engine in clusterCliqueList ? clusterCliqueList[engine] : [];\n\n if (engine === QueryEngine.CHYT) {\n return (\n <>\n <QueryClusterSelector\n clusters={clusters}\n value={settings.cluster}\n onChange={onClusterChange}\n />\n <QueryCliqueSelector\n loading={cliqueLoading}\n cliqueList={cliqueList}\n value={settings.clique}\n onChange={onCliqueChange}\n />\n </>\n );\n }\n\n if (engine === QueryEngine.SPYT) {\n return (\n <>\n <QueryClusterSelector\n clusters={clusters}\n value={settings.cluster}\n onChange={onClusterChange}\n />\n <QueryCliqueSelector\n placeholder=\"Discovery path\"\n loading={cliqueLoading}\n cliqueList={cliqueList}\n value={settings.discovery_group}\n onChange={onPathChange}\n />\n </>\n );\n }\n\n return (\n <QueryClusterSelector\n clusters={clusters}\n value={settings.cluster}\n onChange={onClusterChange}\n />\n );\n};\n","import React, {FC, useCallback, useEffect, useState} from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\nimport {RowWithName} from '../../../containers/AppNavigation/TopRowContent/SectionName';\nimport {Page} from '../../../../shared/constants/settings';\nimport {\n getCliqueLoading,\n getCliqueMap,\n getQueryDraft,\n getQueryGetParams,\n} from '../module/query/selectors';\nimport {loadCliqueByCluster, resetQueryTracker, updateQueryDraft} from '../module/query/actions';\nimport {RightButtonsGroup} from './RightButtonsGroup';\nimport {HeadSpacer} from '../../../containers/ClusterPageHeader/HeadSpacer';\nimport {Flex, Text, Tooltip} from '@gravity-ui/uikit';\nimport {QueryEngineSelect, QueryEngineSelector} from '../QueryEngineSelector';\nimport {QuerySettingsButton} from '../QuerySettingsButton';\nimport {QueryFilesButton} from '../QueryFilesButton';\nimport {getClusterList} from '../../../store/selectors/slideoutMenu';\nimport {QuerySelectorsByEngine} from './QuerySelectorsByEngine';\nimport {QueryEngine} from '../module/engines';\nimport './QueryTrackerTopRow.scss';\nimport cn from 'bem-cn-lite';\nimport {EditableAsText} from '../../../components/EditableAsText/EditableAsText';\nimport {useIsDesktop} from '../../../hooks/useIsDesktop';\n\nconst NAME_PLACEHOLDER = 'No name';\nconst block = cn('query-tracker-top-row');\n\nconst QueryTrackerTopRow: FC = () => {\n const dispatch = useDispatch();\n const {cluster, path} = useSelector(getQueryGetParams);\n const {annotations, settings, engine} = useSelector(getQueryDraft);\n const clusters = useSelector(getClusterList);\n const cliqueMap = useSelector(getCliqueMap);\n const cliqueLoading = useSelector(getCliqueLoading);\n const [nameEdit, setNameEdit] = useState(false);\n const isDesktop = useIsDesktop();\n\n useEffect(() => {\n if ((engine === QueryEngine.CHYT || engine === QueryEngine.SPYT) && settings?.cluster) {\n dispatch(loadCliqueByCluster(engine, settings.cluster));\n }\n }, [engine, settings?.cluster, dispatch]);\n\n const handleChangeEngine = useCallback(\n (newEngine: QueryEngine) => {\n const newSettings = {...settings};\n const isSpyt = newEngine === QueryEngine.SPYT;\n const isChyt = newEngine === QueryEngine.CHYT;\n\n if (!isSpyt && 'discovery_group' in newSettings) {\n delete newSettings['discovery_group'];\n delete newSettings['discovery_path']; // old request type. Deprecated\n }\n if (!isChyt && 'clique' in newSettings) {\n delete newSettings['clique'];\n }\n\n dispatch(updateQueryDraft({settings: newSettings}));\n },\n [dispatch, settings],\n );\n\n const handleCreateNewQuery = useCallback(() => {\n dispatch(resetQueryTracker());\n }, [dispatch]);\n\n const handleNameChange = useCallback(\n (title: string | undefined) => {\n dispatch(updateQueryDraft({annotations: {title}}));\n },\n [dispatch],\n );\n\n const handleSettingsChange = useCallback(\n (newSettings: Record<string, string>) =>\n dispatch(updateQueryDraft({settings: newSettings})),\n [dispatch],\n );\n\n const handleClusterChange = useCallback(\n (clusterId: string) => {\n const newSettings: Record<string, string> = settings ? {...settings} : {};\n if (clusterId) {\n newSettings.cluster = clusterId;\n } else {\n delete newSettings['cluster'];\n }\n delete newSettings['clique'];\n dispatch(updateQueryDraft({settings: newSettings}));\n },\n [dispatch, settings],\n );\n\n const handleCliqueChange = useCallback(\n (alias: string) => {\n const newSettings: Record<string, string> = settings ? {...settings} : {};\n if (!alias && 'clique' in newSettings) {\n delete newSettings.clique;\n } else {\n newSettings.clique = alias;\n }\n dispatch(updateQueryDraft({settings: newSettings}));\n },\n [dispatch, settings],\n );\n\n const handlePathChange = useCallback(\n (newPath: string) => {\n dispatch(updateQueryDraft({settings: {...settings, discovery_group: newPath}}));\n },\n [dispatch, settings],\n );\n\n const name = annotations?.title || NAME_PLACEHOLDER;\n\n return (\n <RowWithName page={Page.QUERIES} className={block()}>\n <Flex alignItems=\"center\" gap={4} grow={1}>\n <EditableAsText\n className={block('name-input')}\n onChange={handleNameChange}\n size=\"l\"\n text={annotations?.title}\n cancelOnClose\n withControls\n openOnClick\n onModeChange={setNameEdit}\n saveButtonView=\"action\"\n cancelButtonView=\"outlined\"\n >\n <Tooltip content={name}>\n <Text ellipsis>{name}</Text>\n </Tooltip>\n </EditableAsText>\n\n {!nameEdit && (\n <>\n <HeadSpacer />\n {isDesktop ? (\n <QueryEngineSelector\n cluster={cluster}\n path={path}\n onChange={handleChangeEngine}\n />\n ) : (\n <QueryEngineSelect onChange={handleChangeEngine} />\n )}\n <QuerySelectorsByEngine\n settings={settings}\n engine={engine}\n clusters={clusters}\n cliqueMap={cliqueMap}\n cliqueLoading={cliqueLoading}\n onClusterChange={handleClusterChange}\n onCliqueChange={handleCliqueChange}\n onPathChange={handlePathChange}\n />\n <Flex gap={2}>\n <QuerySettingsButton\n settings={settings}\n onChange={handleSettingsChange}\n />\n <QueryFilesButton />\n </Flex>\n </>\n )}\n </Flex>\n <RightButtonsGroup onQueryCreate={handleCreateNewQuery} />\n </RowWithName>\n );\n};\n\nexport default QueryTrackerTopRow;\n","import {useEffect, useState} from 'react';\nexport const useIsDesktop = () => {\n const [isDesktop, setIsDesktop] = useState(false);\n\n useEffect(() => {\n const handleResize = () => {\n setIsDesktop(window.matchMedia('(min-width: 1280px)').matches);\n };\n\n handleResize();\n\n window.addEventListener('resize', handleResize);\n return () => window.removeEventListener('resize', handleResize);\n }, []);\n\n return isDesktop;\n};\n","import {RootState} from '../../../../store/reducers';\nimport {createSelector} from 'reselect';\nimport {getClusterList} from '../../../../store/selectors/slideoutMenu';\nimport {NavigationNode} from './queryNavigationSlice';\nimport {makeGetSetting} from '../../../../store/selectors/settings';\nimport {createNestedNS} from '../../../../../shared/utils/settings';\nimport {NAMESPACES, SettingName} from '../../../../../shared/constants/settings';\n\nexport const selectNavigationCluster = (state: RootState) =>\n state.queryTracker.queryNavigation.cluster;\n\nexport const selectClusterConfigs = (state: RootState) => state.clustersMenu.clusters;\n\nexport const selectNavigationClusterConfig = createSelector(\n [selectNavigationCluster, selectClusterConfigs],\n (clusterName, clusters) => {\n if (!clusterName || !(clusterName in clusters)) return null;\n\n return clusters[clusterName];\n },\n);\n\nexport const selectFavouritePaths = createSelector(\n [makeGetSetting, selectNavigationCluster],\n (getSetting, cluster) => {\n if (!cluster) return [];\n const parentNS = createNestedNS(cluster, NAMESPACES.LOCAL);\n const favourites = getSetting(SettingName.LOCAL.FAVOURITES, parentNS);\n\n return favourites ? favourites.map((i: {path: string}) => i.path).sort() : [];\n },\n);\n\nexport const selectNavigationPath = (state: RootState) => state.queryTracker.queryNavigation.path;\n\nexport const selectNavigationNodeType = (state: RootState) =>\n state.queryTracker.queryNavigation.nodeType;\n\nexport const selectNavigationFilter = (state: RootState) =>\n state.queryTracker.queryNavigation.filter;\n\nexport const selectNavigationNodes = (state: RootState) => state.queryTracker.queryNavigation.nodes;\n\nexport const selectNavigationTable = (state: RootState) => state.queryTracker.queryNavigation.table;\n\nconst filterValueInText = (value: string, filter: string) =>\n value.toLowerCase().includes(filter.toLowerCase());\n\nexport const selectTableWithFilter = createSelector(\n [selectNavigationTable, selectNavigationFilter],\n (table, filter) => {\n if (!table) return null;\n\n return {\n ...table,\n schema: table.schema.filter(({name, type}) => {\n return filterValueInText(name, filter) || filterValueInText(type, filter);\n }),\n };\n },\n);\n\nexport const selectClustersByFilter = createSelector(\n [getClusterList, selectNavigationFilter],\n (clusters, filter) => {\n if (!filter) return clusters;\n\n return clusters.filter(({name}) => filterValueInText(name, filter));\n },\n);\n\nexport const selectNodeListByFilter = createSelector(\n [selectNavigationNodes, selectNavigationFilter, selectNavigationPath],\n (nodes, filter, path) => {\n const isRoot = !path || path === '/';\n const parentPath = isRoot ? path : path.split('/').slice(0, -1).join('/');\n const upItem: NavigationNode = {\n name: '...',\n type: 'map_node',\n path: parentPath,\n isFavorite: false,\n };\n\n if (!filter) return isRoot ? nodes : [upItem, ...nodes];\n\n const result = nodes.filter(({name}) => filterValueInText(name, filter));\n\n if (!isRoot) {\n result.unshift(upItem);\n }\n\n return result;\n },\n);\n","import {createSelector} from 'reselect';\nimport ypath from '@ytsaurus/interface-helpers/lib/ypath';\n\nimport {NAVIGATION_MAP_NODE_TABLE_ID} from '../../../constants/navigation/index';\nimport {getNavigationDefaultPath} from '../../../store/selectors/settings';\nimport {isFinalLoadingStatus} from '../../../utils/utils';\n\nexport const getTransaction = (state) => state.navigation.navigation.transaction;\nexport const getAttributes = (state) => state.navigation.navigation.attributes;\nexport const getAttributesWithTypes = (state) => state.navigation.navigation.attributesWithTypes;\nexport const getLoadState = (state) => state.navigation.navigation.loadState;\nexport const getError = (state) => state.navigation.navigation.error;\nexport const getRawPath = (state) => state.navigation.navigation.path;\nexport const getIdmSupport = (state) => state.navigation.navigation.isIdmSupported;\nexport const getSortState = (state) => state.tables[NAVIGATION_MAP_NODE_TABLE_ID];\n\nexport const getType = createSelector(getAttributes, (attributes) => attributes?.type);\n\nexport const getPath = createSelector(\n [getRawPath, getNavigationDefaultPath],\n (rawPath, defaultPath) => rawPath || defaultPath,\n);\n\nexport const getAttributesPath = createSelector(\n [getAttributes, getPath],\n (attributes, navigationPath) => attributes?.path || navigationPath,\n);\n\nexport const isNavigationFinalLoadState = createSelector([getLoadState], (state) => {\n return isFinalLoadingStatus(state);\n});\n\nexport const getParsedPath = createSelector(getPath, (path) => {\n try {\n return ypath.YPath.create(path, 'absolute');\n } catch (ex) {\n console.error(ex);\n }\n});\nexport const getActualPath = createSelector([getPath, getType], (path, type) => {\n return type === 'map_node' ? path + '/' : path;\n});\n\nexport const checkIsTrash = createSelector(\n [getPath],\n (path) => path.startsWith('//tmp/trash') || path.startsWith('//trash'),\n);\n","import {createSelector} from 'reselect';\nimport clone_ from 'lodash/clone';\n\nimport {\n getFormat,\n getShowDecoded,\n shouldCompact,\n shouldEscapeWhitespace,\n useBinaryAsHex,\n} from '../../../store/selectors/settings';\nimport {getUnipikaSettingsFromConfig} from '../../../common/thor/unipika-settings';\n\nexport interface YsonSettings {\n format: string;\n showDecoded: boolean;\n compact: boolean;\n escapeWhitespace: boolean;\n binaryAsHex: boolean;\n asHTML: boolean;\n}\n\n/**\n * !!! Do not use this selector directly, result should be copied by another selector !!!\n * unipika.format && unipika.foramtRaw mix different properties into settings-object.\n * So, to minimize side-effects each UI-component should use his-own copy of settings-object.\n */\nconst getYsonSettings = createSelector(\n [getFormat, getShowDecoded, shouldCompact, shouldEscapeWhitespace, useBinaryAsHex],\n (\n format: string,\n showDecoded: boolean,\n compact: boolean,\n escapeWhitespace: boolean,\n binaryAsHex: boolean,\n ): YsonSettings => {\n return {\n format,\n showDecoded,\n compact,\n escapeWhitespace,\n binaryAsHex,\n asHTML: true,\n ...getUnipikaSettingsFromConfig(),\n };\n },\n);\n\nexport const getJobGeneralYsonSettings = createSelector([getYsonSettings], clone_);\n\nexport const getJobSpecificationYsonSettings = createSelector([getYsonSettings], clone_);\n\nexport const getTableYsonSettings = createSelector([getYsonSettings], clone_);\n\nexport const getOperationAttributesYsonSettings = createSelector([getYsonSettings], clone_);\n\nexport const getOperationExperimentsYsonSettings = createSelector([getYsonSettings], clone_);\n\nexport const getNavigationMountConfigYsonSettings = createSelector([getYsonSettings], clone_);\n\nexport const getEditJsonYsonSettings = createSelector([getYsonSettings], clone_);\n\nexport const getNodeUnrecognizedOptionsYsonSettings = createSelector([getYsonSettings], clone_);\n\nexport const getPreviewCellYsonSettings = createSelector([getYsonSettings], clone_);\n\nexport const getFlowSpecYsonSettings = createSelector([getYsonSettings], clone_);\n","const SvgBarsDescendingAlignLeft = props => <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 16 16\" {...props}><path fill=\"currentColor\" fillRule=\"evenodd\" d=\"M1 3.25a.75.75 0 0 1 .75-.75h12.5a.75.75 0 0 1 0 1.5H1.75A.75.75 0 0 1 1 3.25M1 8a.75.75 0 0 1 .75-.75h8.5a.75.75 0 0 1 0 1.5h-8.5A.75.75 0 0 1 1 8m.75 4a.75.75 0 0 0 0 1.5h2.5a.75.75 0 0 0 0-1.5z\" clipRule=\"evenodd\" /></svg>;\nexport default SvgBarsDescendingAlignLeft;","const SvgCircleQuestion = props => <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 16 16\" {...props}><path fill=\"currentColor\" fillRule=\"evenodd\" d=\"M8 13.5a5.5 5.5 0 1 0 0-11 5.5 5.5 0 0 0 0 11M8 15A7 7 0 1 0 8 1a7 7 0 0 0 0 14M6.44 4.54c.43-.354.994-.565 1.56-.565 1.217 0 2.34.82 2.34 2.14 0 .377-.079.745-.298 1.1-.208.339-.513.614-.875.867-.217.153-.326.257-.379.328-.038.052-.038.07-.038.089a.75.75 0 0 1-1.5 0c0-.794.544-1.286 1.057-1.645.28-.196.4-.332.458-.426a.54.54 0 0 0 .074-.312c0-.3-.243-.641-.839-.641a1 1 0 0 0-.608.223c-.167.138-.231.287-.231.418a.75.75 0 1 1-1.5 0c0-.674.345-1.22.78-1.577ZM8 12a1 1 0 1 0 0-2 1 1 0 0 0 0 2\" clipRule=\"evenodd\" /></svg>;\nexport default SvgCircleQuestion;"],"names":["b","cn","makeItemsCopy","items","map_","item","_objectSpread","DragHandle","sortableHandle","_jsx","className","children","Icon","face","awesome","SortableItem","sortableElement","_ref","isSortable","isSelectable","isDisabled","itemRenderer","onCheckBoxChange","withClickableHandler","active","disabled","selected","checked","selectable","_jsxs","keyColumn","onClick","name","SortableList","sortableContainer","_ref2","useStaticSize","_ref2$withClickableHa","type","mods","ReactList","index","key","length","ColumnSelector","_Component","_inherits","_super","_createSuper","props","_this","_classCallCheck","isHeadless","showSelectedOnly","call","toggleItem","withActualItems","_ref3","_toConsumableArray","findIndex","changedItem","selectAllItems","_ref4","visibleMap","getVisibleItemsMap","each_","deselectAllItems","_ref5","invertItems","_ref6","visibleItems","_handleCheckBoxChange","event","currentTarget","getAttribute","_handleSortEnd","_ref7","oldIndex","newIndex","_ref8","getVisibleItems","fromIndex","toIndex","_items$splice","splice","removed","_slicedToArray","_handleDefaultSort","_ref9","sort","a","aCaption","caption","bCaption","localeCompare","_toggleShownItems","setState","prevState","_changeFilter","filter","state","Object","assign","_createClass","get","this","every","some","value","func","_this2","onChange","TextInput","placeholder","onUpdate","hasClear","_this$props","isFilterable","btnProps","size","renderSearchBox","Button","filter_","buttonALLisDisabled","buttonNONEisDisabled","re","RegExp","escapeRegExp_","test","showDisabledItems","filterItemsByName","toSplit","filterItems","_partition_","partition_","_partition_2","keyItems","reduce_","acc","_this$props2","_this$getVisibleItems2","headless","undefined","empty","React","lockAxis","helperClass","helper","onSortEnd","useDragHandle","_this$props3","classNames","sortable","renderControls","renderList","Component","itemsProps","PropTypes","isRequired","defaultProps","_ref10","_ref10$caption","renderText","asHTML","block","prepareRoleListValue","roles","otherMembers","arguments","current","toAdd","toRemove","unrecognized","forEach_","isUnrecognized","isRequested","isApproved","isDepriving","push","currentArr","map","prepareItemOfCurrent","otherArr","title","data","frozen","newItems","concat","itemClassName","role","extraProps","text","roleListValueToSubjectList","manyListDataItemToSubjectList","manyListDataItem","extractChangedSubjects","added","user","group","DialogError","Block","makeErrorFields","errors","compact_","error","extras","FORM_ERROR","makeFormSubmitError","validationErrors","_defineProperty","importYTDFDialog","YTDFDialog","withLazyLoading","_asyncToGenerator","_regeneratorRuntime","_callee","_context","prev","next","t0","sent","YTDialog","abrupt","stop","_React$useState","_React$useState2","mounted","setMounted","visible","_callee2","_context2","RoleListControl","EditableList","_callee3","_context3","TabFieldVertical","_callee4","_context4","Dropdown","_len","args","Array","_key","apply","popupVisible","anchor","toggle","open","close","button","trigger","actionProps","onMouseEnter","onMouseLeave","template","_this$props$template","renderer","templates","__default__","popup","directions","Popup","placement","onClose","anchorRef","hasArrow","renderTemplate","ref","renderButton","renderPopup","zIndexGroupLevel","EditableAsText","withControls","disableEdit","cancelOnClose","openOnClick","renderEditor","onModeChange","_props$saveButtonView","saveButtonView","_props$cancelButtonVi","cancelButtonView","editMode","setEditMode","_React$useState3","_React$useState4","input","setInput","useEffect","handleChangeMode","useCallback","isEdit","closeEditMode","startTextEdit","handleChange","val","applyValue","closeAndResetValue","onApply","handleKeyDown","evt","controlSize","_Fragment","onBlur","autoFocus","onKeyDown","view","onMouseDown","EditButton","_ref$size","ICON_BY_TYPE","_ICON_BY_TYPE","SortIcon","_React$Component","order","allowUnordered","withUndefined","nextSortOrderValue","label","hidden","icon","Tooltip","content","format","ReadableField","settings","mix","elem","textProps","dangerouslySetInnerHTML","__html","unipika","decode","String","prepareTextProps","printColumnAsTimeDurationWithMs","columnName","column","getColumn","hammer","printColumnAsReadableField","printColumnAsTime","ColumnAsTime","printColumnAsError","_typeof","Link","theme","showErrorPopup","hideOopsMsg","NO_VALUE","asNumber","_templates","add","templateId","keys","reduce","newTemplates","wrapRenderMethods","selectCellPreviewVisible","navigation","modals","cellPreviewModal","selectCellPreviewLoading","loading","selectCellPreviewData","selectCellPreviewYtCliDownloadCommand","ytCliDownloadCommand","selectCellPreviewNoticeText","noticeText","selectErrorPreviewCellPath","CellPreviewModal","dispatch","useDispatch","useSelector","unipikaSettings","getPreviewCellYsonSettings","SimpleModal","onCancel","closeCellPreviewAndCancelRequest","wrapperClassName","Flex","qa","gap","direction","Text","variant","color","ClipboardButton","Error","PreviewContent","$type","$value","Yson","folding","tableSettings","dynamicRenderScrollParentGetter","customLayout","toolbar","IconBlock","QueryClusterItem","id","environment","clusterColorClassName","useClusterColorClassName","ClusterIcon","usePreventUnload","shouldListen","beforeUnloadHandler","e","preventDefault","returnValue","window","addEventListener","removeEventListener","getSettingQueryTrackerQueriesListSidebarVisibilityMode","createSelector","getSettingsData","Boolean","useQueryList","getQueriesList","isQueriesListLoading","useQueriesPagination","cursor","getQueriesListCursor","hasNext","hasQueriesListMore","goNext","loadNextQueriesList","QueriesHistoryCursorDirection","PAST","goBack","FUTURE","reset","resetCursor","first","cursorTime","last","currentCursorTime","goFirst","useQueriesListSidebarToggle","isQueriesListSidebarVisible","toggleQueriesListSideBarToggle","setSettingByKey","useQuriesHistoryFilter","getQueriesListFilter","filterPreset","getQueriesListMode","applyFilter","useQueryNavigation","selectedItem","getQuery","cluster","getCluster","history","useHistory","goToQuery","createQueryUrl","EditQueryNameModal","_query$annotations2","query","_useState","useState","_useState2","setError","_useState3","_useState4","setVisible","useThunkDispatch","initialValues","useMemo","_query$annotations","annotations","stopPropagation","width","pristineSubmittable","modal","headerProps","footerProps","textApply","onAdd","form","getState","values","setQueryName","err","fields","required","useQueryHistoryListColumns","selectedColumns","getQueryListHistoryColumns","handleColumnChange","ALL_COLUMN_NAMES","intersectionBy_","AllColumns","MyColumns","EXCLUDED_COLUMNS","NameColumns","AuthorColumns","currentColumnsPreset","QueriesListAuthorFilter","My","selectedColumnNames","Set","isArray","columns","has","allowedColumns","includes","itemBlock","isHeaderTableItem","header","align","render","_row$annotations","row","QueryStatusIcon","status","ellipsis","TypeColumns","engine","QueryEnginesNames","DurationColumns","QueryStatus","RUNNING","QueryDuration","StartedColumns","formatTime","start_time","ACOColumns","_row$access_control_o","access_control_objects","join","displayIndices","stickyHead","DataTable","MOVING","syncHeadOnResize","QueriesHistoryList","pollingContext","uncompletedItems","queryListUpdateHandler","_useQueryHistoryList","timeout","timer","start","setTimeout","refreshQueriesListIfNeeded","clearTimeout","useRefreshHistoryList","useContext","QueriesPoolingContext","getUncompletedItems","UPDATE_QUERIES_LIST","watch","_useQueryHistoryList2","isLoading","_useQuriesHistoryFilt","timestamp","getQueriesListTimestamp","_useQueriesPagination","_useQueryNavigation","_useQueryNavigation2","selectedId","scrollElemRef","useRef","scrollTop","setClassName","itemsByDate","entries","groupBy_","moment","ret","DataTableYT","useThemeYT","rowKey","onRowClick","disableRightGap","rowClassName","getColSpansOfRow","Name","Pagination","handler","previous","noop_","xmlns","fill","viewBox","fillRule","d","clipRule","itemCn","renderItem","_item$annotations","_item$annotations2","tutorialIcon","QueriesTutorialList","_useQueryList","_useQueryList2","selectedIndex","tutorialFilter","_item$annotations3","toLocaleLowerCase","List","filterable","filterClassName","filterPlaceholder","filterItem","virtualized","selectedItemIndex","itemHeight","onItemClick","Loader","ALL_ENGINE_KEY","QueryEngineFilter","_ref$engines","engines","Engines","enginesList","onChangeEngineFilter","RadioButton","options","QueryTextFilter","_ref$delay","delay","pattern","setPattern","debouncedChange","debounce_","cancel","flush","AuthorFilter","All","QueriesHistoryListFilter","_useQuriesHistoryFilt2","filterViewMode","_useQueryHistoryListC","onChangeAuthorFilter","onChangeTextFilter","QueriesListMode","History","GravityIcon","CircleQuestionIcon","pin","Vcs","lazy","Navigation","TabNames","_TabNames","Tutorials","VCS","useQueryTabs","selectedTab","isVcsVisible","selectIsVcsVisible","setTab","tab","applyListMode","getQueriesListModes","vcs","toString","QueriesList","_useQueryTabs","_useQueryTabs2","tabs","requestQueriesList","isVsc","Tabs","activeTab","onSelectTab","MONACO_CONFIG","fontSize","language","renderWhitespace","minimap","enabled","FileEditor","_useSelector","selectFileEditorConfig","fileEditor","file","editorRef","FileIcon","setFileEditor","isFullWidth","LayoutColumnsIcon","SquareIcon","isOpen","XmarkIcon","MonacoEditor","changeQueryFile","monacoConfig","EDITOR_INITIAL_SIZE","QueryEditorSplit","fileEditorFullWidth","fileEditorVisible","onStartQuery","sizes","setSize","hideQueryEditor","FlexSplitPane","HORIZONTAL","onResizeEnd","getInitialSizes","QueryEditor","showStatusInTitle","initialSizes","minSize","QueryPageDraft","routeParams","getQueryGetParams","selectNavigationCluster","isEngine","QueryEngine","YQL","path","useDraft","SET_QUERY_PARAMS","params","createQueryFromTablePath","createEmptyQuery","QueryPage","match","queryId","loadQuery","QueryTracker","isQueryStateDirty","getDirtySinceLastSubmit","selectFileEditor","getSize","loadQueryTrackerInfo","useQueryACO","goToCreatedQuery","Switch","Route","exact","component","MonacoContext","Provider","Map","QueriesPooling","QueriesListSidebarToggleButton","_useQueriesListSideba","RightButtonsGroup","onQueryCreate","NewQueryButton","controlBlock","popupBlock","Filter","target","QuerySelector","popupClassName","_objectWithoutProperties","_excluded","Select","renderFilter","QueryClusterSelector","clusters","getOptionHeight","Option","QueryCliqueItem","ytId","QueryCliqueSelector","cliqueList","_ref$placeholder","renderEmptyOptions","justifyContent","alias","yt_operation_id","QuerySelectorsByEngine","_ref$settings","cliqueMap","cliqueLoading","onClusterChange","onCliqueChange","onPathChange","clusterCliqueList","CHYT","clique","SPYT","discovery_group","_useSelector2","getQueryDraft","getClusterList","getCliqueMap","getCliqueLoading","nameEdit","setNameEdit","isDesktop","setIsDesktop","handleResize","matchMedia","matches","useIsDesktop","loadCliqueByCluster","handleChangeEngine","newEngine","newSettings","isSpyt","isChyt","updateQueryDraft","handleCreateNewQuery","resetQueryTracker","handleNameChange","handleSettingsChange","handleClusterChange","clusterId","handleCliqueChange","handlePathChange","newPath","RowWithName","page","Page","QUERIES","alignItems","grow","HeadSpacer","QueryEngineSelector","QueryEngineSelect","QuerySettingsButton","QueryFilesButton","queryTracker","queryNavigation","selectNavigationClusterConfig","clustersMenu","clusterName","selectFavouritePaths","makeGetSetting","getSetting","parentNS","createNestedNS","NAMESPACES","LOCAL","favourites","SettingName","FAVOURITES","i","selectNavigationPath","selectNavigationNodeType","nodeType","selectNavigationFilter","selectNavigationNodes","nodes","filterValueInText","toLowerCase","selectTableWithFilter","table","schema","selectClustersByFilter","selectNodeListByFilter","isRoot","upItem","split","slice","isFavorite","result","unshift","getTransaction","transaction","getAttributes","attributes","getAttributesWithTypes","attributesWithTypes","getLoadState","loadState","getError","getRawPath","getIdmSupport","isIdmSupported","getType","getPath","getNavigationDefaultPath","rawPath","defaultPath","getAttributesPath","navigationPath","isNavigationFinalLoadState","isFinalLoadingStatus","getParsedPath","ypath","create","ex","console","getActualPath","checkIsTrash","startsWith","getYsonSettings","getFormat","getShowDecoded","shouldCompact","shouldEscapeWhitespace","useBinaryAsHex","showDecoded","compact","escapeWhitespace","binaryAsHex","getUnipikaSettingsFromConfig","getJobGeneralYsonSettings","clone_","getJobSpecificationYsonSettings","getTableYsonSettings","getOperationAttributesYsonSettings","getOperationExperimentsYsonSettings","getNavigationMountConfigYsonSettings","getEditJsonYsonSettings","getNodeUnrecognizedOptionsYsonSettings","getFlowSpecYsonSettings"],"sourceRoot":""}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
(()=>{"use strict";var e,a,d,c,b,f={},t={};function r(e){var a=t[e];if(void 0!==a)return a.exports;var d=t[e]={id:e,loaded:!1,exports:{}};return f[e].call(d.exports,d,d.exports,r),d.loaded=!0,d.exports}r.m=f,r.amdO={},e=[],r.O=(a,d,c,b)=>{if(!d){var f=1/0;for(i=0;i<e.length;i++){for(var[d,c,b]=e[i],t=!0,n=0;n<d.length;n++)(!1&b||f>=b)&&Object.keys(r.O).every((e=>r.O[e](d[n])))?d.splice(n--,1):(t=!1,b<f&&(f=b));if(t){e.splice(i--,1);var o=c();void 0!==o&&(a=o)}}return a}b=b||0;for(var i=e.length;i>0&&e[i-1][2]>b;i--)e[i]=e[i-1];e[i]=[d,c,b]},r.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return r.d(a,{a}),a},d=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,c){if(1&c&&(e=this(e)),8&c)return e;if("object"==typeof e&&e){if(4&c&&e.__esModule)return e;if(16&c&&"function"==typeof e.then)return e}var b=Object.create(null);r.r(b);var f={};a=a||[null,d({}),d([]),d(d)];for(var t=2&c&&e;"object"==typeof t&&!~a.indexOf(t);t=d(t))Object.getOwnPropertyNames(t).forEach((a=>f[a]=()=>e[a]));return f.default=()=>e,r.d(b,f),b},r.d=(e,a)=>{for(var d in a)r.o(a,d)&&!r.o(e,d)&&Object.defineProperty(e,d,{enumerable:!0,get:a[d]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((a,d)=>(r.f[d](e,a),a)),[])),r.u=e=>"js/"+({446:"websql-autocomplete",502:"vis-network",583:"groups",945:"dashboard",1040:"query-navigation",1069:"scheduling",1139:"odin",1234:"navigation-flow",1606:"ban-page",1686:"default-subject-link",1721:"chyt",2736:"yt-df-dialog",2838:"yt-subject-suggest",3543:"accounts",4066:"query-widget",4177:"path-viewer",4533:"vcs",4637:"manage-tokens",5179:"components",5670:"query-tracker",5684:"job",5910:"support-comonent",6457:"acl",6521:"navigation",6582:"bundles",7204:"system",7453:"operations",8261:"cluster-menu",8367:"cluster-page-wrapper",8389:"yt-user-suggest",8403:"tablet",8720:"query-results",8809:"users",8810:"yt-monaco-editor",9293:"yql-lang-clickhouse",9369:"yql-s-expressions",9999:"app-navigation"}[e]||e)+"."+{8:"65af0dc8",99:"bfd05def",131:"c3a6dfca",164:"d2eb8217",296:"d662dcc0",330:"ee1822eb",339:"0a5d7d17",358:"242b21c4",417:"d64471a8",430:"f0b39508",446:"2977d249",471:"a85a0c7d",480:"9d2a7aa0",491:"55c9c1d8",502:"8a465313",577:"8bfb98b9",583:"61a52e09",590:"556422c4",615:"4ecb0c60",628:"654b7648",660:"1d8a91ff",710:"a0e73d16",727:"e9b0ee20",759:"793319dd",803:"a606abcb",818:"6308d964",894:"8caad366",897:"aff55e07",914:"c675be20",937:"727929f1",945:"d79b90d1",1005:"68861285",1040:"1636bc87",1051:"c11d1fe4",1059:"4ba07df6",1069:"115669fe",1086:"9c1577aa",1091:"16e99ec0",1100:"e38f29b2",1110:"d02f593c",1139:"ddcd41de",1195:"8ee5f9af",1234:"91ee109f",1260:"64493ec3",1267:"c9b6441c",1297:"9248beda",1330:"1fb61143",1337:"fbebdcc1",1347:"895fae4f",1354:"ea7d07f6",1394:"f5423b9c",1411:"818018dc",1472:"2a305c14",1501:"d4acddca",1502:"ea204e37",1524:"cab51e3f",1539:"cee3def9",1591:"688abe5a",1606:"b938dd45",1649:"086af65f",1666:"646b56e9",1686:"17448a19",1707:"82d676b8",1711:"3574f142",1717:"f950a245",1721:"125f3e77",1745:"848a3df6",1816:"07a423da",1827:"90913ff2",1891:"92f57665",1903:"77f7a622",1909:"e0d47432",1924:"f8a5b214",1950:"1fa9d50d",1971:"5e4e164f",2066:"efd08c24",2099:"f28ac3f1",2145:"26a3a1a7",2159:"c85b4d0e",2177:"f1eb53df",2209:"1e27d330",2398:"5ba7ebb4",2436:"7e4ef01e",2437:"2f6042e7",2445:"886d45a4",2447:"d0a0e8ad",2494:"c35e0312",2531:"a4538af7",2597:"05de6bc7",2625:"ae922e75",2640:"c68420f3",2707:"d4879135",2736:"6b4604c0",2787:"028e75ed",2803:"f1b170f3",2826:"53223ad1",2838:"a9f1382e",2903:"8e20a263",3045:"87335fb6",3115:"946f14f3",3220:"6df08697",3224:"566ab13c",3260:"17de9c6b",3266:"b533b3a1",3307:"fa857524",3320:"dcc7670b",3323:"d07076a4",3349:"27e20ebd",3395:"0f7c5b70",3440:"c28221d5",3507:"658770d1",3543:"63268a11",3555:"4b805ace",3582:"fa2a037d",3602:"aa5fdb3a",3680:"887fe07b",3687:"2719aba1",3716:"bbb2dc08",3724:"e900ad43",3729:"c6217cb9",3735:"d6a20e84",3762:"e6531d0a",3776:"3ee2939e",3784:"80802eb0",3791:"41f56145",3795:"ac8e4217",3872:"3afe3760",3887:"a294402f",3903:"086debb2",3927:"8658a677",3934:"054b2b2a",3941:"e57e81a4",3990:"c1280580",3995:"f384a94a",4011:"2ed47543",4016:"80b4ae08",4059:"56602740",4062:"b04c3033",4066:"4be14ef2",4077:"777cf284",4108:"cee5efb7",4135:"976941a5",4136:"176fdc5a",4163:"848e1939",4177:"b1b3328d",4268:"18cff25a",4299:"a6d46124",4319:"b2034e31",4364:"277e1cfa",4399:"8d183c1b",4427:"f1a9b9c1",4462:"2fd36c51",4479:"2da6f158",4511:"47f0fb01",4514:"80e2ebb7",4526:"eab2c340",4529:"09f8837e",4533:"6418b2f3",4568:"96022567",4608:"677c77b7",4623:"25d9c172",4637:"c996037c",4724:"35e16d6c",4835:"5ce683a0",4883:"9387dbaf",4911:"22415ee6",4939:"5fcf3d97",4947:"beb8035e",4963:"91e8d70f",4994:"424f8d17",5020:"e0bc165d",5023:"499b6061",5065:"abd01e7a",5083:"f93e3074",5150:"f3579a5d",5152:"95153808",5155:"3cc20899",5165:"c0cd9ccc",5179:"064054c2",5209:"5bc40204",5212:"5693a3d5",5242:"f783dd4c",5251:"47224a5f",5254:"19176656",5292:"3ee885f4",5368:"320596e8",5423:"172b793b",5427:"1eaba59f",5457:"460d7f42",5499:"a4c0af22",5528:"e6c5af3d",5558:"734c102f",5606:"f16ea478",5622:"9d48b6d9",5638:"bf2a3484",5670:"fba0ec95",5684:"5ed7166b",5687:"5f68db30",5695:"24c07645",5713:"df27e596",5770:"c5499ce7",5837:"c8b3c0e2",5893:"0c9c5b16",5910:"96d54c66",5995:"ed75324a",6013:"18b4dc82",6015:"82d07c89",6019:"94e9e4d0",6030:"625d7134",6052:"babc55fc",6059:"cf1616b9",6090:"b65f853c",6116:"a6c2bf77",6141:"379ebb53",6193:"0b01b6ee",6217:"9bd9ce9d",6277:"05c8c82d",6280:"6893c8a0",6291:"76b6a0f1",6457:"aa7a9df7",6490:"9336a64d",6521:"c3108a21",6560:"865fcc7d",6579:"6f12abf4",6582:"62129d1a",6637:"906dbd8a",6651:"cec0b064",6652:"3abd42c8",6673:"00cb7533",6692:"dc416f50",6695:"e81aca01",6729:"54f0fda8",6755:"0f2985e1",6756:"d5055eee",6787:"888f8603",6903:"48a3ac1d",6911:"673dda38",6919:"93c59f8f",6947:"dbe00765",6967:"897d0ba1",6980:"de1db1c6",7019:"112c597e",7040:"b9bca5ae",7077:"b11a392b",7155:"29a451d1",7172:"a803b39d",7204:"6843a1a3",7288:"0b3eb96c",7299:"516f7586",7315:"2d0cbedb",7328:"4885f7ef",7347:"ce49f6c0",7398:"c6f7539e",7400:"39643435",7408:"f82b8389",7437:"8867c6b6",7453:"b353981f",7457:"dbacb1cd",7487:"806424ce",7511:"a31b9867",7540:"b669d29e",7555:"860cf0fc",7556:"8b0cad28",7560:"e1e8b7d2",7639:"6b963013",7641:"db543334",7665:"4f34a901",7731:"0bcf83b3",7741:"ea009ab1",7776:"b343bc40",7809:"de55b935",7826:"25dd23f0",7831:"3f5936c2",7880:"264ddf0b",7891:"2ce56be7",7897:"8027951f",7916:"7ca4918b",7949:"a25307c9",7950:"5dae42e9",7954:"ed25da53",7959:"eb292cbd",7970:"082fa50c",8062:"c596abd2",8209:"80a6008a",8228:"a815415e",8238:"b2c259fc",8243:"60f8394f",8261:"e484a2ca",8271:"dd67a7ef",8339:"623b1043",8344:"7bca5639",8367:"8c8aa8a1",8389:"8d1b2eb8",8403:"40ad9054",8427:"0f8774cc",8428:"2d11168e",8460:"b18e700b",8464:"8d096c80",8512:"69be87ef",8589:"32a004d3",8616:"705d2df4",8632:"1b48ce74",8638:"b4c9a376",8647:"75b3fb61",8658:"5034c250",8671:"80824ba6",8678:"d7a08d00",8679:"f40499c5",8687:"f5e4aae7",8691:"88ffe9ee",8705:"668255ab",8720:"99804b61",8778:"8d098a1f",8809:"9e82942b",8810:"21306380",8840:"a3cac74f",8899:"023a1df9",8924:"a32d18d3",8959:"18cc100c",8976:"86485097",9011:"2e4ed9aa",9021:"5acea4c0",9026:"b2d4637f",9045:"07f8e292",9130:"21300303",9276:"6efcac14",9293:"ae78e819",9329:"05ed983f",9366:"f6a48377",9369:"32d8e3f9",9385:"68e39c6d",9399:"26ca4c43",9486:"f02d846b",9520:"58d0e4dd",9536:"f473008c",9539:"dff869cb",9558:"7ffe2ccd",9585:"053a6359",9641:"ec2231cd",9651:"5f5a5f8e",9668:"85ab3fac",9676:"4ad744e3",9767:"ae7dfc5d",9860:"1b4d96c1",9949:"d68a7345",9963:"2121098b",9984:"5bca1bd2",9991:"feef4667",9999:"6d2c70a3"}[e]+".chunk.js",r.miniCssF=e=>"css/"+({583:"groups",945:"dashboard",1040:"query-navigation",1069:"scheduling",1139:"odin",1234:"navigation-flow",1686:"default-subject-link",1721:"chyt",2736:"yt-df-dialog",2838:"yt-subject-suggest",3543:"accounts",4066:"query-widget",4177:"path-viewer",4533:"vcs",4637:"manage-tokens",5179:"components",5670:"query-tracker",5684:"job",6457:"acl",6521:"navigation",6582:"bundles",7204:"system",8261:"cluster-menu",8367:"cluster-page-wrapper",8403:"tablet",8720:"query-results",8809:"users",8810:"yt-monaco-editor",9999:"app-navigation"}[e]||e)+"."+{8:"920e4c5a",164:"0be4679f",417:"7ab12879",430:"8f3cbfa2",480:"1b2f4341",577:"b41224cd",583:"dc21afeb",590:"c1403e70",628:"1083837a",914:"0cd5cbfe",937:"fc333f1d",945:"b5a5a3e8",1040:"e3c048b9",1051:"ad949c62",1069:"deac2cac",1086:"4e1299a9",1139:"dc2c0c94",1195:"0483c72f",1234:"cdcf90a6",1337:"7e12eee1",1524:"f9a01bcb",1686:"4dc8a973",1721:"53f5c505",1745:"4d611a67",2099:"ac658c3b",2209:"a49d3923",2436:"dd2544b0",2494:"c1d4b4fb",2640:"d9b5ab75",2736:"79820430",2838:"83a90268",3266:"846c6dad",3320:"296f421e",3543:"b3c4679f",3716:"f1b13197",3776:"6ac6fea9",3872:"ff3f9b0d",4066:"deb0fab7",4108:"faab8511",4136:"51403a8c",4177:"aa1a7d26",4533:"ca6825ac",4568:"84951035",4637:"67f9bab0",4724:"c1ba4c5a",5152:"e5099a8f",5179:"c82646f8",5212:"d1172666",5242:"27fb6168",5292:"d5c1edb9",5423:"d13bf61e",5606:"82bf92b9",5670:"94d91868",5684:"c7c99207",6019:"89f6f680",6030:"1368ee4d",6052:"be19cc6a",6193:"3c2593d4",6277:"1d8405c8",6457:"61841140",6521:"adb62abd",6560:"aef2ade7",6582:"ef57d014",6652:"45214188",6756:"8e19bb8e",6980:"539f1e39",7172:"9e242931",7204:"17b114fc",7315:"43229c12",7408:"29f0c961",7540:"56f97199",7916:"56854235",7954:"88d1b826",7970:"c623c272",8261:"1242e46d",8367:"0b62c90f",8403:"aabcb8a8",8512:"2e9577a3",8632:"16fb4d31",8638:"cbb482c9",8678:"25156bf0",8720:"c969ee4f",8809:"c3fc47fb",8810:"e7c3868b",8976:"186bc5e9",9329:"3c9e8bf4",9536:"7aff049f",9641:"510c929d",9999:"6955071c"}[e]+".chunk.css",r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),c={},b="@ytsaurus/ui:",r.l=(e,a,d,f)=>{if(c[e])c[e].push(a);else{var t,n;if(void 0!==d)for(var o=document.getElementsByTagName("script"),i=0;i<o.length;i++){var s=o[i];if(s.getAttribute("src")==e||s.getAttribute("data-webpack")==b+d){t=s;break}}t||(n=!0,(t=document.createElement("script")).charset="utf-8",t.timeout=120,r.nc&&t.setAttribute("nonce",r.nc),t.setAttribute("data-webpack",b+d),t.src=e),c[e]=[a];var u=(a,d)=>{t.onerror=t.onload=null,clearTimeout(l);var b=c[e];if(delete c[e],t.parentNode&&t.parentNode.removeChild(t),b&&b.forEach((e=>e(d))),a)return a(d)},l=setTimeout(u.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=u.bind(null,t.onerror),t.onload=u.bind(null,t.onload),n&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{var e;r.g.importScripts&&(e=r.g.location+"");var a=r.g.document;if(!e&&a&&(a.currentScript&&(e=a.currentScript.src),!e)){var d=a.getElementsByTagName("script");if(d.length)for(var c=d.length-1;c>-1&&(!e||!/^http(s?):/.test(e));)e=d[c--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),r.p=e+"../"})(),(()=>{if("undefined"!=typeof document){var e={9121:0};r.f.miniCss=(a,d)=>{e[a]?d.push(e[a]):0!==e[a]&&{8:1,164:1,417:1,430:1,480:1,577:1,583:1,590:1,628:1,914:1,937:1,945:1,1040:1,1051:1,1069:1,1086:1,1139:1,1195:1,1234:1,1337:1,1524:1,1686:1,1721:1,1745:1,2099:1,2209:1,2436:1,2494:1,2640:1,2736:1,2838:1,3266:1,3320:1,3543:1,3716:1,3776:1,3872:1,4066:1,4108:1,4136:1,4177:1,4533:1,4568:1,4637:1,4724:1,5152:1,5179:1,5212:1,5242:1,5292:1,5423:1,5606:1,5670:1,5684:1,6019:1,6030:1,6052:1,6193:1,6277:1,6457:1,6521:1,6560:1,6582:1,6652:1,6756:1,6980:1,7172:1,7204:1,7315:1,7408:1,7540:1,7916:1,7954:1,7970:1,8261:1,8367:1,8403:1,8512:1,8632:1,8638:1,8678:1,8720:1,8809:1,8810:1,8976:1,9329:1,9536:1,9641:1,9999:1}[a]&&d.push(e[a]=(e=>new Promise(((a,d)=>{var c=r.miniCssF(e),b=r.p+c;if(((e,a)=>{for(var d=document.getElementsByTagName("link"),c=0;c<d.length;c++){var b=(t=d[c]).getAttribute("data-href")||t.getAttribute("href");if("stylesheet"===t.rel&&(b===e||b===a))return t}var f=document.getElementsByTagName("style");for(c=0;c<f.length;c++){var t;if((b=(t=f[c]).getAttribute("data-href"))===e||b===a)return t}})(c,b))return a();((e,a,d,c,b)=>{var f=document.createElement("link");f.rel="stylesheet",f.type="text/css",r.nc&&(f.nonce=r.nc),f.onerror=f.onload=d=>{if(f.onerror=f.onload=null,"load"===d.type)c();else{var t=d&&d.type,r=d&&d.target&&d.target.href||a,n=new Error("Loading CSS chunk "+e+" failed.\n("+t+": "+r+")");n.name="ChunkLoadError",n.code="CSS_CHUNK_LOAD_FAILED",n.type=t,n.request=r,f.parentNode&&f.parentNode.removeChild(f),b(n)}},f.href=a,document.head.appendChild(f)})(e,b,0,a,d)})))(a).then((()=>{e[a]=0}),(d=>{throw delete e[a],d})))}}})(),(()=>{var e={9121:0};r.f.j=(a,d)=>{var c=r.o(e,a)?e[a]:void 0;if(0!==c)if(c)d.push(c[2]);else if(/^(1(051|086|337|524|64|745)|2(099|209|436|494|640)|3((26|71|77)6|320|872)|4(1(08|36|7)|30|568|724|80)|5(2[149]2|152|423|606|77|90)|6(0(19|30|52)|193|277|28|560|652|756|980)|7(9(16|54|70)|172|315|408|540)|8(6(32|38|78)||512|976)|9(121|14|37|536|641))$/.test(a))e[a]=0;else{var b=new Promise(((d,b)=>c=e[a]=[d,b]));d.push(c[2]=b);var f=r.p+r.u(a),t=new Error;r.l(f,(d=>{if(r.o(e,a)&&(0!==(c=e[a])&&(e[a]=void 0),c)){var b=d&&("load"===d.type?"missing":d.type),f=d&&d.target&&d.target.src;t.message="Loading chunk "+a+" failed.\n("+b+": "+f+")",t.name="ChunkLoadError",t.type=b,t.request=f,c[1](t)}}),"chunk-"+a,a)}},r.O.j=a=>0===e[a];var a=(a,d)=>{var c,b,[f,t,n]=d,o=0;if(f.some((a=>0!==e[a]))){for(c in t)r.o(t,c)&&(r.m[c]=t[c]);if(n)var i=n(r)}for(a&&a(d);o<f.length;o++)b=f[o],r.o(e,b)&&e[b]&&e[b][0](),e[b]=0;return r.O(i)},d=self.webpackChunk_ytsaurus_ui=self.webpackChunk_ytsaurus_ui||[];d.forEach(a.bind(null,0)),d.push=a.bind(null,d.push.bind(d))})()})();
|
2
|
-
//# sourceMappingURL=runtime.
|
1
|
+
(()=>{"use strict";var e,a,d,c,f,b={},t={};function r(e){var a=t[e];if(void 0!==a)return a.exports;var d=t[e]={id:e,loaded:!1,exports:{}};return b[e].call(d.exports,d,d.exports,r),d.loaded=!0,d.exports}r.m=b,r.amdO={},e=[],r.O=(a,d,c,f)=>{if(!d){var b=1/0;for(i=0;i<e.length;i++){for(var[d,c,f]=e[i],t=!0,n=0;n<d.length;n++)(!1&f||b>=f)&&Object.keys(r.O).every((e=>r.O[e](d[n])))?d.splice(n--,1):(t=!1,f<b&&(b=f));if(t){e.splice(i--,1);var o=c();void 0!==o&&(a=o)}}return a}f=f||0;for(var i=e.length;i>0&&e[i-1][2]>f;i--)e[i]=e[i-1];e[i]=[d,c,f]},r.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return r.d(a,{a}),a},d=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,c){if(1&c&&(e=this(e)),8&c)return e;if("object"==typeof e&&e){if(4&c&&e.__esModule)return e;if(16&c&&"function"==typeof e.then)return e}var f=Object.create(null);r.r(f);var b={};a=a||[null,d({}),d([]),d(d)];for(var t=2&c&&e;"object"==typeof t&&!~a.indexOf(t);t=d(t))Object.getOwnPropertyNames(t).forEach((a=>b[a]=()=>e[a]));return b.default=()=>e,r.d(f,b),f},r.d=(e,a)=>{for(var d in a)r.o(a,d)&&!r.o(e,d)&&Object.defineProperty(e,d,{enumerable:!0,get:a[d]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((a,d)=>(r.f[d](e,a),a)),[])),r.u=e=>"js/"+({446:"websql-autocomplete",502:"vis-network",583:"groups",945:"dashboard",1040:"query-navigation",1069:"scheduling",1139:"odin",1234:"navigation-flow",1606:"ban-page",1686:"default-subject-link",1721:"chyt",2736:"yt-df-dialog",2838:"yt-subject-suggest",3543:"accounts",4066:"query-widget",4177:"path-viewer",4533:"vcs",4637:"manage-tokens",5179:"components",5670:"query-tracker",5684:"job",5910:"support-comonent",6457:"acl",6521:"navigation",6582:"bundles",7204:"system",7453:"operations",8261:"cluster-menu",8367:"cluster-page-wrapper",8389:"yt-user-suggest",8403:"tablet",8720:"query-results",8809:"users",8810:"yt-monaco-editor",9293:"yql-lang-clickhouse",9369:"yql-s-expressions",9999:"app-navigation"}[e]||e)+"."+{8:"65af0dc8",99:"bfd05def",131:"c3a6dfca",164:"d2eb8217",296:"d662dcc0",330:"ee1822eb",339:"0a5d7d17",358:"242b21c4",417:"d64471a8",430:"f0b39508",446:"2977d249",471:"a85a0c7d",480:"9d2a7aa0",491:"55c9c1d8",502:"8a465313",577:"8bfb98b9",583:"61a52e09",590:"556422c4",615:"4ecb0c60",628:"654b7648",660:"1d8a91ff",710:"a0e73d16",727:"e9b0ee20",759:"793319dd",803:"a606abcb",818:"6308d964",894:"8caad366",897:"aff55e07",914:"c675be20",937:"727929f1",945:"d79b90d1",1005:"68861285",1040:"1636bc87",1051:"c11d1fe4",1059:"4ba07df6",1069:"73b1257c",1086:"9c1577aa",1091:"16e99ec0",1100:"e38f29b2",1110:"a7382226",1139:"7eefabce",1195:"8ee5f9af",1234:"91ee109f",1260:"64493ec3",1267:"c9b6441c",1297:"9248beda",1330:"1fb61143",1337:"fbebdcc1",1347:"895fae4f",1354:"ea7d07f6",1394:"011da2d1",1411:"818018dc",1472:"2a305c14",1501:"d4acddca",1502:"ea204e37",1524:"cab51e3f",1539:"cee3def9",1591:"688abe5a",1606:"b938dd45",1649:"086af65f",1666:"646b56e9",1686:"17448a19",1707:"82d676b8",1711:"3574f142",1717:"f950a245",1721:"125f3e77",1745:"848a3df6",1816:"07a423da",1827:"90913ff2",1891:"92f57665",1903:"77f7a622",1909:"e0d47432",1924:"f8a5b214",1950:"1fa9d50d",1971:"5e4e164f",2066:"efd08c24",2099:"f28ac3f1",2145:"26a3a1a7",2159:"c85b4d0e",2177:"f1eb53df",2209:"1e27d330",2398:"5ba7ebb4",2436:"7e4ef01e",2437:"2f6042e7",2445:"886d45a4",2447:"35b478a9",2494:"c35e0312",2531:"a4538af7",2597:"05de6bc7",2625:"ae922e75",2640:"c68420f3",2707:"d4879135",2736:"69fc013a",2787:"028e75ed",2803:"f1b170f3",2826:"53223ad1",2838:"a9f1382e",2903:"8e20a263",3045:"87335fb6",3115:"946f14f3",3220:"6df08697",3224:"566ab13c",3260:"17de9c6b",3266:"b533b3a1",3307:"fa857524",3320:"dcc7670b",3323:"d07076a4",3349:"27e20ebd",3395:"0f7c5b70",3440:"c28221d5",3507:"658770d1",3543:"badfc837",3555:"4b805ace",3582:"fa2a037d",3602:"aa5fdb3a",3680:"887fe07b",3687:"2719aba1",3716:"bbb2dc08",3724:"e900ad43",3729:"c6217cb9",3735:"d6a20e84",3762:"e6531d0a",3776:"3ee2939e",3784:"80802eb0",3791:"41f56145",3795:"ac8e4217",3872:"3afe3760",3887:"a294402f",3903:"086debb2",3927:"8658a677",3934:"054b2b2a",3941:"e57e81a4",3990:"c1280580",3995:"f384a94a",4011:"2ed47543",4016:"80b4ae08",4059:"56602740",4062:"b04c3033",4066:"4be14ef2",4077:"777cf284",4108:"cee5efb7",4135:"976941a5",4136:"176fdc5a",4163:"848e1939",4177:"b1b3328d",4268:"18cff25a",4299:"a6d46124",4319:"b2034e31",4364:"aa1ab5fb",4399:"8d183c1b",4427:"f1a9b9c1",4462:"2fd36c51",4479:"2da6f158",4511:"47f0fb01",4514:"80e2ebb7",4526:"eab2c340",4529:"09f8837e",4533:"6418b2f3",4568:"96022567",4608:"677c77b7",4623:"25d9c172",4637:"e9106aad",4724:"35e16d6c",4835:"5ce683a0",4883:"9387dbaf",4911:"22415ee6",4939:"5fcf3d97",4947:"beb8035e",4963:"91e8d70f",4994:"424f8d17",5020:"e0bc165d",5023:"499b6061",5065:"abd01e7a",5083:"f93e3074",5150:"f3579a5d",5152:"95153808",5155:"3cc20899",5165:"c0cd9ccc",5179:"064054c2",5209:"5bc40204",5212:"5693a3d5",5242:"f783dd4c",5251:"47224a5f",5254:"19176656",5292:"3ee885f4",5368:"320596e8",5423:"172b793b",5427:"1eaba59f",5451:"50d8f2b2",5457:"460d7f42",5499:"a4c0af22",5528:"e6c5af3d",5558:"734c102f",5606:"f16ea478",5622:"9d48b6d9",5638:"bf2a3484",5670:"badbc586",5684:"31c91355",5687:"5f68db30",5695:"24c07645",5713:"df27e596",5770:"0d8fda01",5837:"c8b3c0e2",5893:"0c9c5b16",5910:"96d54c66",5995:"ed75324a",6013:"18b4dc82",6015:"82d07c89",6019:"94e9e4d0",6030:"625d7134",6052:"babc55fc",6059:"cf1616b9",6090:"b65f853c",6116:"a6c2bf77",6141:"379ebb53",6193:"0b01b6ee",6217:"9bd9ce9d",6277:"05c8c82d",6280:"6893c8a0",6291:"76b6a0f1",6457:"cd1fe761",6490:"9336a64d",6521:"22bd542f",6560:"865fcc7d",6579:"6f12abf4",6582:"62129d1a",6637:"906dbd8a",6651:"cec0b064",6652:"3abd42c8",6673:"00cb7533",6692:"dc416f50",6695:"e81aca01",6729:"54f0fda8",6755:"0f2985e1",6756:"d5055eee",6787:"888f8603",6903:"48a3ac1d",6911:"673dda38",6919:"93c59f8f",6947:"dbe00765",6967:"897d0ba1",6980:"de1db1c6",7019:"112c597e",7040:"b9bca5ae",7077:"7dab612c",7155:"29a451d1",7172:"a803b39d",7204:"25e9136a",7288:"0b3eb96c",7299:"516f7586",7315:"2d0cbedb",7328:"4885f7ef",7347:"ce49f6c0",7398:"c6f7539e",7400:"39643435",7408:"f82b8389",7437:"8867c6b6",7453:"3feb2deb",7457:"dbacb1cd",7487:"806424ce",7511:"a31b9867",7540:"b669d29e",7555:"860cf0fc",7556:"8b0cad28",7560:"e1e8b7d2",7639:"6b963013",7641:"db543334",7665:"4f34a901",7731:"0bcf83b3",7741:"ea009ab1",7776:"b343bc40",7809:"de55b935",7826:"25dd23f0",7831:"3f5936c2",7880:"264ddf0b",7897:"8027951f",7916:"7ca4918b",7949:"a25307c9",7950:"5dae42e9",7954:"ed25da53",7959:"e0d47dec",7970:"082fa50c",8062:"c596abd2",8209:"80a6008a",8228:"a815415e",8238:"b2c259fc",8243:"60f8394f",8261:"bf57160d",8271:"dd67a7ef",8339:"623b1043",8344:"7bca5639",8367:"c9e6c27c",8389:"8d1b2eb8",8403:"7401a5ec",8427:"0f8774cc",8428:"2d11168e",8460:"2b27e2b7",8464:"8d096c80",8512:"69be87ef",8589:"32a004d3",8616:"705d2df4",8632:"1b48ce74",8638:"b4c9a376",8647:"75b3fb61",8658:"5034c250",8671:"80824ba6",8678:"d7a08d00",8679:"f40499c5",8687:"f5e4aae7",8691:"88ffe9ee",8705:"668255ab",8720:"4c207fef",8778:"d97acdd6",8809:"9e82942b",8810:"21306380",8840:"a3cac74f",8899:"023a1df9",8924:"a32d18d3",8959:"18cc100c",8976:"86485097",9011:"2e4ed9aa",9021:"5acea4c0",9026:"b2d4637f",9045:"07f8e292",9130:"21300303",9276:"6efcac14",9293:"ae78e819",9329:"05ed983f",9366:"f6a48377",9369:"32d8e3f9",9385:"68e39c6d",9399:"26ca4c43",9486:"f02d846b",9520:"58d0e4dd",9536:"f473008c",9539:"dff869cb",9558:"7ffe2ccd",9585:"053a6359",9641:"ec2231cd",9651:"5f5a5f8e",9668:"85ab3fac",9676:"4ad744e3",9767:"ae7dfc5d",9860:"1b4d96c1",9949:"d68a7345",9963:"2121098b",9984:"5bca1bd2",9991:"feef4667",9999:"6d2c70a3"}[e]+".chunk.js",r.miniCssF=e=>"css/"+({583:"groups",945:"dashboard",1040:"query-navigation",1069:"scheduling",1139:"odin",1234:"navigation-flow",1686:"default-subject-link",1721:"chyt",2736:"yt-df-dialog",2838:"yt-subject-suggest",3543:"accounts",4066:"query-widget",4177:"path-viewer",4533:"vcs",4637:"manage-tokens",5179:"components",5670:"query-tracker",5684:"job",6457:"acl",6521:"navigation",6582:"bundles",7204:"system",8261:"cluster-menu",8367:"cluster-page-wrapper",8403:"tablet",8720:"query-results",8809:"users",8810:"yt-monaco-editor",9999:"app-navigation"}[e]||e)+"."+{8:"920e4c5a",164:"0be4679f",417:"7ab12879",430:"8f3cbfa2",480:"1b2f4341",577:"b41224cd",583:"dc21afeb",590:"c1403e70",628:"1083837a",914:"0cd5cbfe",937:"fc333f1d",945:"b5a5a3e8",1040:"e3c048b9",1051:"ad949c62",1069:"deac2cac",1086:"4e1299a9",1139:"dc2c0c94",1195:"0483c72f",1234:"cdcf90a6",1337:"7e12eee1",1524:"f9a01bcb",1686:"4dc8a973",1721:"53f5c505",1745:"4d611a67",2099:"ac658c3b",2209:"a49d3923",2436:"dd2544b0",2494:"c1d4b4fb",2640:"d9b5ab75",2736:"79820430",2838:"83a90268",3266:"846c6dad",3320:"296f421e",3543:"b3c4679f",3716:"f1b13197",3776:"6ac6fea9",3872:"ff3f9b0d",4066:"deb0fab7",4108:"faab8511",4136:"51403a8c",4177:"aa1a7d26",4533:"ca6825ac",4568:"84951035",4637:"67f9bab0",4724:"c1ba4c5a",5152:"e5099a8f",5179:"c82646f8",5212:"d1172666",5242:"27fb6168",5292:"d5c1edb9",5423:"d13bf61e",5606:"82bf92b9",5670:"94d91868",5684:"c7c99207",6019:"89f6f680",6030:"1368ee4d",6052:"be19cc6a",6193:"3c2593d4",6277:"1d8405c8",6457:"61841140",6521:"0a141599",6560:"aef2ade7",6582:"ef57d014",6652:"45214188",6756:"8e19bb8e",6980:"539f1e39",7172:"9e242931",7204:"221e5d53",7315:"43229c12",7408:"29f0c961",7540:"b48a154e",7916:"56854235",7954:"88d1b826",7970:"c623c272",8261:"1242e46d",8367:"0b6a786f",8403:"aabcb8a8",8512:"2e9577a3",8632:"16fb4d31",8638:"cbb482c9",8678:"25156bf0",8720:"c969ee4f",8809:"c3fc47fb",8810:"e7c3868b",8976:"186bc5e9",9329:"3c9e8bf4",9536:"7aff049f",9641:"510c929d",9999:"6955071c"}[e]+".chunk.css",r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),c={},f="@ytsaurus/ui:",r.l=(e,a,d,b)=>{if(c[e])c[e].push(a);else{var t,n;if(void 0!==d)for(var o=document.getElementsByTagName("script"),i=0;i<o.length;i++){var s=o[i];if(s.getAttribute("src")==e||s.getAttribute("data-webpack")==f+d){t=s;break}}t||(n=!0,(t=document.createElement("script")).charset="utf-8",t.timeout=120,r.nc&&t.setAttribute("nonce",r.nc),t.setAttribute("data-webpack",f+d),t.src=e),c[e]=[a];var u=(a,d)=>{t.onerror=t.onload=null,clearTimeout(l);var f=c[e];if(delete c[e],t.parentNode&&t.parentNode.removeChild(t),f&&f.forEach((e=>e(d))),a)return a(d)},l=setTimeout(u.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=u.bind(null,t.onerror),t.onload=u.bind(null,t.onload),n&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{var e;r.g.importScripts&&(e=r.g.location+"");var a=r.g.document;if(!e&&a&&(a.currentScript&&(e=a.currentScript.src),!e)){var d=a.getElementsByTagName("script");if(d.length)for(var c=d.length-1;c>-1&&(!e||!/^http(s?):/.test(e));)e=d[c--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),r.p=e+"../"})(),(()=>{if("undefined"!=typeof document){var e={9121:0};r.f.miniCss=(a,d)=>{e[a]?d.push(e[a]):0!==e[a]&&{8:1,164:1,417:1,430:1,480:1,577:1,583:1,590:1,628:1,914:1,937:1,945:1,1040:1,1051:1,1069:1,1086:1,1139:1,1195:1,1234:1,1337:1,1524:1,1686:1,1721:1,1745:1,2099:1,2209:1,2436:1,2494:1,2640:1,2736:1,2838:1,3266:1,3320:1,3543:1,3716:1,3776:1,3872:1,4066:1,4108:1,4136:1,4177:1,4533:1,4568:1,4637:1,4724:1,5152:1,5179:1,5212:1,5242:1,5292:1,5423:1,5606:1,5670:1,5684:1,6019:1,6030:1,6052:1,6193:1,6277:1,6457:1,6521:1,6560:1,6582:1,6652:1,6756:1,6980:1,7172:1,7204:1,7315:1,7408:1,7540:1,7916:1,7954:1,7970:1,8261:1,8367:1,8403:1,8512:1,8632:1,8638:1,8678:1,8720:1,8809:1,8810:1,8976:1,9329:1,9536:1,9641:1,9999:1}[a]&&d.push(e[a]=(e=>new Promise(((a,d)=>{var c=r.miniCssF(e),f=r.p+c;if(((e,a)=>{for(var d=document.getElementsByTagName("link"),c=0;c<d.length;c++){var f=(t=d[c]).getAttribute("data-href")||t.getAttribute("href");if("stylesheet"===t.rel&&(f===e||f===a))return t}var b=document.getElementsByTagName("style");for(c=0;c<b.length;c++){var t;if((f=(t=b[c]).getAttribute("data-href"))===e||f===a)return t}})(c,f))return a();((e,a,d,c,f)=>{var b=document.createElement("link");b.rel="stylesheet",b.type="text/css",r.nc&&(b.nonce=r.nc),b.onerror=b.onload=d=>{if(b.onerror=b.onload=null,"load"===d.type)c();else{var t=d&&d.type,r=d&&d.target&&d.target.href||a,n=new Error("Loading CSS chunk "+e+" failed.\n("+t+": "+r+")");n.name="ChunkLoadError",n.code="CSS_CHUNK_LOAD_FAILED",n.type=t,n.request=r,b.parentNode&&b.parentNode.removeChild(b),f(n)}},b.href=a,document.head.appendChild(b)})(e,f,0,a,d)})))(a).then((()=>{e[a]=0}),(d=>{throw delete e[a],d})))}}})(),(()=>{var e={9121:0};r.f.j=(a,d)=>{var c=r.o(e,a)?e[a]:void 0;if(0!==c)if(c)d.push(c[2]);else if(/^(1(051|086|337|524|64|745)|2(099|209|436|494|640)|3((26|71|77)6|320|872)|4(1(08|36|7)|30|568|724|80)|5(2[149]2|152|423|606|77|90)|6(0(19|30|52)|193|277|28|560|652|756|980)|7(9(16|54|70)|172|315|408|540)|8(6(32|38|78)||512|976)|9(121|14|37|536|641))$/.test(a))e[a]=0;else{var f=new Promise(((d,f)=>c=e[a]=[d,f]));d.push(c[2]=f);var b=r.p+r.u(a),t=new Error;r.l(b,(d=>{if(r.o(e,a)&&(0!==(c=e[a])&&(e[a]=void 0),c)){var f=d&&("load"===d.type?"missing":d.type),b=d&&d.target&&d.target.src;t.message="Loading chunk "+a+" failed.\n("+f+": "+b+")",t.name="ChunkLoadError",t.type=f,t.request=b,c[1](t)}}),"chunk-"+a,a)}},r.O.j=a=>0===e[a];var a=(a,d)=>{var c,f,[b,t,n]=d,o=0;if(b.some((a=>0!==e[a]))){for(c in t)r.o(t,c)&&(r.m[c]=t[c]);if(n)var i=n(r)}for(a&&a(d);o<b.length;o++)f=b[o],r.o(e,f)&&e[f]&&e[f][0](),e[f]=0;return r.O(i)},d=self.webpackChunk_ytsaurus_ui=self.webpackChunk_ytsaurus_ui||[];d.forEach(a.bind(null,0)),d.push=a.bind(null,d.push.bind(d))})()})();
|
2
|
+
//# sourceMappingURL=runtime.f98c3e55.js.map
|