@ytsaurus/ui 3.1.0 → 3.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. package/dist/public/build/assets-manifest.json +20 -20
  2. package/dist/public/build/js/1422.2980037b.chunk.js +2 -0
  3. package/dist/public/build/js/1422.2980037b.chunk.js.map +1 -0
  4. package/dist/public/build/js/{4253.1e48a7d8.chunk.js → 4253.9c5e22a8.chunk.js} +3 -3
  5. package/dist/public/build/js/4253.9c5e22a8.chunk.js.map +1 -0
  6. package/dist/public/build/js/{cluster-page-wrapper.d9f0e479.chunk.js → cluster-page-wrapper.7ee2ebb7.chunk.js} +2 -2
  7. package/dist/public/build/js/{cluster-page-wrapper.d9f0e479.chunk.js.map → cluster-page-wrapper.7ee2ebb7.chunk.js.map} +1 -1
  8. package/dist/public/build/js/{main.910247d4.js → main.83f42e63.js} +3 -3
  9. package/dist/public/build/js/{main.910247d4.js.map → main.83f42e63.js.map} +1 -1
  10. package/dist/public/build/js/query-tracker.2a1efcb7.chunk.js +2 -0
  11. package/dist/public/build/js/query-tracker.2a1efcb7.chunk.js.map +1 -0
  12. package/dist/public/build/js/{runtime.ff41a284.js → runtime.42f2261f.js} +2 -2
  13. package/dist/public/build/js/{runtime.ff41a284.js.map → runtime.42f2261f.js.map} +1 -1
  14. package/dist/public/build/js/{scheduling.43b30898.chunk.js → scheduling.893e96af.chunk.js} +2 -2
  15. package/dist/public/build/js/{scheduling.43b30898.chunk.js.map → scheduling.893e96af.chunk.js.map} +1 -1
  16. package/dist/public/build/js/yt-queries-list.3fb2ae8e.chunk.js +2 -0
  17. package/dist/public/build/js/yt-queries-list.3fb2ae8e.chunk.js.map +1 -0
  18. package/dist/public/build/manifest.json +16 -16
  19. package/package.json +2 -2
  20. package/dist/public/build/js/2142.27bbbca6.chunk.js +0 -2
  21. package/dist/public/build/js/2142.27bbbca6.chunk.js.map +0 -1
  22. package/dist/public/build/js/4253.1e48a7d8.chunk.js.map +0 -1
  23. package/dist/public/build/js/query-tracker.17719828.chunk.js +0 -2
  24. package/dist/public/build/js/query-tracker.17719828.chunk.js.map +0 -1
  25. package/dist/public/build/js/yt-queries-list.0737c4ce.chunk.js +0 -2
  26. package/dist/public/build/js/yt-queries-list.0737c4ce.chunk.js.map +0 -1
  27. /package/dist/public/build/js/{4253.1e48a7d8.chunk.js.LICENSE.txt → 4253.9c5e22a8.chunk.js.LICENSE.txt} +0 -0
  28. /package/dist/public/build/js/{main.910247d4.js.LICENSE.txt → main.83f42e63.js.LICENSE.txt} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"js/yt-queries-list.0737c4ce.chunk.js","mappings":"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","sources":["webpack://@ytsaurus/ui/./src/ui/components/Dropdown/Dropdown.js","webpack://@ytsaurus/ui/./src/ui/components/InfiniteScrollLoader/InfiniteScrollLoader.tsx","webpack://@ytsaurus/ui/./src/ui/components/TextInputWithDebounce/TextInputWithDebounce.tsx","webpack://@ytsaurus/ui/./src/ui/hooks/global.tsx","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/hooks/Query/index.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/./node_modules/@gravity-ui/icons/svgs/funnel.svg","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/QueriesList/QueriesListFilter/QueryEngineFilter.tsx","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/QueriesList/QueriesListFilter/QueryStateFilter.tsx","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/QueriesList/QueriesListFilter/QueryUserFilter.tsx","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/QueriesList/QueriesListFilter/QueryDateFilter.tsx","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/QueriesList/QueriesListFilter/FilterDropdown.tsx","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/QueriesList/QueriesListFilter/QueryFastUserFilter.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/circle-question.svg","webpack://@ytsaurus/ui/./src/ui/constants/queries.ts"],"sourcesContent":["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?.[0] || 'bottom'}\n onOpenChange={(open) => {\n if (!open) {\n this.close();\n }\n }}\n open={true}\n anchorElement={this.anchor.current}\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, {FC, useEffect, useRef} from 'react';\nimport {Flex, Loader} from '@gravity-ui/uikit';\n\ntype Props = {\n className?: string;\n loading?: boolean;\n onLoadMore: () => void;\n};\n\nexport const InfiniteScrollLoader: FC<Props> = ({className, loading, onLoadMore}) => {\n const paginationRef = useRef<HTMLDivElement | null>(null);\n\n useEffect(() => {\n const observer = new IntersectionObserver(\n (entries) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n onLoadMore();\n }\n });\n },\n {\n root: null,\n threshold: 0.1,\n },\n );\n\n if (paginationRef.current) {\n observer.observe(paginationRef.current);\n }\n\n return () => {\n if (paginationRef.current) {\n observer.unobserve(paginationRef.current);\n }\n };\n }, []);\n\n return (\n <Flex className={className} ref={paginationRef} alignItems=\"center\" justifyContent=\"center\">\n {loading ? <Loader /> : ''}\n </Flex>\n );\n};\n","import React from 'react';\nimport debounce_ from 'lodash/debounce';\n\nimport {TextInput, TextInputProps} from '@gravity-ui/uikit';\n\nexport interface TextInputWithDebounceProps extends TextInputProps {\n debounce?: number;\n onBlur?: (e: React.FocusEvent) => void;\n onEnterKeyDown?: (e: React.KeyboardEvent) => void;\n}\n\nfunction TextInputWithDebounce(props: TextInputWithDebounceProps) {\n const {\n debounce = 400,\n onUpdate = () => {},\n onBlur,\n value,\n onEnterKeyDown,\n onKeyDown,\n ...rest\n } = props;\n\n const [input, setInput] = React.useState<string | undefined>();\n\n const handleChangeExt = React.useMemo(() => {\n return debounce_(onUpdate as any, debounce);\n }, [debounce, onUpdate]);\n\n const handleChange = React.useCallback(\n (text: string) => {\n setInput(text);\n handleChangeExt(text);\n },\n [handleChangeExt, setInput],\n );\n\n const handleKeyDown = React.useCallback(\n (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (onKeyDown) {\n onKeyDown(e);\n }\n if (e.key === 'Enter' && onEnterKeyDown) {\n onEnterKeyDown(e);\n }\n },\n [onEnterKeyDown, onKeyDown],\n );\n\n const handleBlur = React.useCallback(\n (e: React.FocusEvent<HTMLInputElement>) => {\n setInput(undefined);\n\n if (onBlur) {\n onBlur(e);\n }\n },\n [setInput, onBlur],\n );\n\n React.useEffect(() => {\n return () => {\n handleChangeExt.cancel();\n };\n }, [handleChangeExt]);\n\n return (\n <TextInput\n onUpdate={handleChange}\n {...rest}\n value={input === undefined ? value : input}\n onBlur={handleBlur}\n onKeyDown={handleKeyDown}\n />\n );\n}\n\nexport default React.memo(TextInputWithDebounce);\n","import React from 'react';\nimport {useDispatch, useSelector} from '../store/redux-hooks';\n\nimport sortedIndexBy_ from 'lodash/sortedIndexBy';\nimport sortedLastIndexBy_ from 'lodash/sortedLastIndexBy';\n\nimport {getAllUserNamesSorted} from '../store/selectors/global';\nimport {\n loadAccountsIfNotLoaded,\n loadBundlesIfNotLoaded,\n loadGroupsIfNotLoaded,\n loadUsersIfNotLoaded,\n} from '../store/actions/global';\n\nexport function useAllUserNamesFiltered() {\n const dispatch = useDispatch();\n React.useEffect(() => {\n dispatch(loadUsersIfNotLoaded());\n }, []);\n\n const namesSorted = useSelector(getAllUserNamesSorted);\n\n const getFiltered = React.useCallback(\n (text: string) => {\n const from = sortedIndexBy_(namesSorted, text, (item) => item.substr(0, text.length));\n const to = sortedLastIndexBy_(namesSorted, text, (item) => item.substr(0, text.length));\n const res = namesSorted.slice(from, to);\n return res;\n },\n [namesSorted],\n );\n\n return {getFiltered, allNames: namesSorted};\n}\n\nexport function useGroupsLoaded() {\n const dispatch = useDispatch();\n\n React.useEffect(() => {\n dispatch(loadGroupsIfNotLoaded());\n }, []);\n}\n\nexport function GroupsLoader({children}: {children?: React.ReactElement}) {\n useGroupsLoaded();\n return children ?? null;\n}\n\nexport function useAccountsLoaded() {\n const dispatch = useDispatch();\n\n React.useEffect(() => {\n dispatch(loadAccountsIfNotLoaded());\n }, []);\n}\n\nexport function AccountsLoader() {\n useAccountsLoaded();\n return null;\n}\n\nexport function useBundlesLoaded() {\n const dispatch = useDispatch();\n\n React.useEffect(() => {\n dispatch(loadBundlesIfNotLoaded());\n }, []);\n}\n\nexport function BundlesLoader() {\n useBundlesLoaded();\n return null;\n}\n","import {useCallback} from 'react';\nimport {useSelector} from '../../../../store/redux-hooks';\nimport {useHistory} from 'react-router';\nimport {createQueryUrl} from '../../utils/navigation';\nimport {QueryItem} from '../../../../types/query-tracker/api';\nimport {getCluster} from '../../../../store/selectors/global';\nimport {getQuery} from '../../../../store/selectors/query-tracker/query';\nimport {getQueriesListMode} from '../../../../store/selectors/query-tracker/queriesList';\n\nexport const useQueryNavigation = (): [QueryItem['id'] | undefined, (id: QueryItem) => void] => {\n const selectedItem = useSelector(getQuery);\n const cluster = useSelector(getCluster);\n const listMode = useSelector(getQueriesListMode);\n const history = useHistory();\n\n const goToQuery = useCallback(\n (item: QueryItem) => {\n const url = createQueryUrl(cluster, item.id);\n const searchParams = new URLSearchParams(history.location.search);\n searchParams.set('listMode', listMode);\n history.push(`${url}?${searchParams.toString()}`);\n },\n [cluster, history, listMode],\n );\n\n return [selectedItem?.id, goToQuery];\n};\n","import React, {useCallback} from 'react';\nimport {useDispatch, useSelector} from '../../../../store/redux-hooks';\nimport DataTable, {Settings} from '@gravity-ui/react-data-table';\nimport {QueryItem} from '../../../../types/query-tracker/api';\nimport {\n getQueryListByDate,\n getQueryListColumns,\n hasQueriesListMore,\n isQueriesListLoading,\n} from '../../../../store/selectors/query-tracker/queriesList';\nimport DataTableYT from '../../../../components/DataTableYT/DataTableYT';\nimport {useQueryNavigation} from '../../hooks/Query';\nimport {useUpdater} from '../../../../hooks/use-updater';\nimport block from 'bem-cn-lite';\n\nimport './QueriesHistoryList.scss';\nimport './QueryHistoryItem.scss';\nimport {\n loadNextQueriesList,\n requestQueriesList,\n} from '../../../../store/actions/query-tracker/queriesList';\nimport {InfiniteScrollLoader} from '../../../../components/InfiniteScrollLoader';\nimport {QueriesHistoryCursorDirection} from '../../../../store/reducers/query-tracker/query-tracker-contants';\nimport {QUERY_POLLING_INTERVAL} from '../../../../constants/queries';\n\nconst b = block('queries-history-list');\nconst itemBlock = block('query-history-item');\n\ntype HeaderTableItem = {header: string};\ntype TableItem = QueryItem | HeaderTableItem;\n\nconst isHeaderTableItem = (item: TableItem): item is HeaderTableItem => {\n return (item as HeaderTableItem).header !== undefined;\n};\n\nconst tableSettings: Settings = {\n displayIndices: false,\n sortable: false,\n stickyHead: DataTable.MOVING,\n syncHeadOnResize: true,\n};\n\nfunction QueriesHistoryListUpdater() {\n const dispatch = useDispatch();\n\n const updateFn = React.useCallback(() => {\n dispatch(requestQueriesList({refresh: true}));\n }, [dispatch]);\n\n useUpdater(updateFn, {timeout: QUERY_POLLING_INTERVAL});\n\n return null;\n}\n\nexport function QueriesHistoryList() {\n const dispatch = useDispatch();\n const itemsByDate = useSelector(getQueryListByDate);\n const isLoading = useSelector(isQueriesListLoading);\n const {columns} = useSelector(getQueryListColumns);\n const hasMore = useSelector(hasQueriesListMore);\n const [selectedId, goToQuery] = useQueryNavigation();\n\n const showPagination = hasMore && itemsByDate.length > 0;\n\n const handleLoadMore = () => {\n dispatch(loadNextQueriesList(QueriesHistoryCursorDirection.PAST));\n };\n\n const setClassName = useCallback(\n (item: TableItem) => {\n const isHeader = isHeaderTableItem(item);\n return itemBlock({\n header: isHeader ? Boolean(item.header) : undefined,\n selected: isHeader ? undefined : item.id === selectedId,\n });\n },\n [selectedId],\n );\n\n return (\n <div className={b()}>\n <QueriesHistoryListUpdater />\n <div className={b('list-wrapper')}>\n <DataTableYT\n className={b('list')}\n loading={isLoading}\n columns={columns}\n data={itemsByDate}\n useThemeYT\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\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 {showPagination && (\n <InfiniteScrollLoader\n className={b('pagination')}\n loading={isLoading}\n onLoadMore={handleLoadMore}\n />\n )}\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 '../../../../types/query-tracker/api';\nimport {useQueryNavigation} from '../../hooks/Query';\nimport tutorialIcon from '../../../../assets/img/svg/learn.svg';\nimport './index.scss';\nimport {useSelector} from '../../../../store/redux-hooks';\nimport {\n getTutorialQueriesList,\n isQueriesListLoading,\n} from '../../../../store/selectors/query-tracker/queriesList';\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 = useSelector(getTutorialQueriesList);\n const isLoading = useSelector(isQueriesListLoading);\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","const SvgFunnel = props => <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 16 16\" {...props}><path fill=\"currentColor\" fillRule=\"evenodd\" d=\"M12.5 4c0 .174-.071.513-.885.888S9.538 5.5 8 5.5s-2.799-.237-3.615-.612C3.57 4.513 3.5 4.174 3.5 4s.071-.513.885-.888S6.462 2.5 8 2.5s2.799.237 3.615.612c.814.375.885.714.885.888m-1.448 2.66C10.158 6.888 9.115 7 8 7s-2.158-.113-3.052-.34l1.98 2.905c.21.308.322.672.322 1.044v3.37q.088.02.25.021c.422 0 .749-.14.95-.316.185-.162.3-.38.3-.684v-2.39c0-.373.112-.737.322-1.045zM8 1c3.314 0 6 1 6 3a3.24 3.24 0 0 1-.563 1.826l-3.125 4.584a.35.35 0 0 0-.062.2V13c0 1.5-1.25 2.5-2.75 2.5s-1.75-1-1.75-1v-3.89a.35.35 0 0 0-.061-.2L2.563 5.826A3.24 3.24 0 0 1 2 4c0-2 2.686-3 6-3m-.88 12.936q-.015-.008-.013-.01z\" clipRule=\"evenodd\" /></svg>;\nexport default SvgFunnel;","import React, {FC, useCallback} from 'react';\nimport {Select} from '@gravity-ui/uikit';\nimport {Engines} from '../../../../types/query-tracker/api';\nimport {QueryEngine, QueryEnginesNames} from '../../../../../shared/constants/engines';\nimport {useDispatch, useSelector} from '../../../../store/redux-hooks';\nimport {getQueriesFilters} from '../../../../store/selectors/query-tracker/queriesList';\nimport {applyFilter} from '../../../../store/actions/query-tracker/queriesList';\n\nconst ALL_ENGINE_KEY = '__all';\n\nconst enginesList = [\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\nexport const QueryEngineFilter: FC = () => {\n const dispatch = useDispatch();\n const {engine} = useSelector(getQueriesFilters);\n\n const onChangeEngineFilter = useCallback(\n (values: string[]) => {\n const selectedEngine = values[0];\n dispatch(\n applyFilter({\n engine:\n selectedEngine === ALL_ENGINE_KEY\n ? undefined\n : (selectedEngine as QueryEngine),\n }),\n );\n },\n [dispatch],\n );\n\n return (\n <Select\n options={enginesList}\n value={[engine || ALL_ENGINE_KEY]}\n onUpdate={onChangeEngineFilter}\n placeholder=\"Select engine\"\n />\n );\n};\n","import React, {FC, useCallback} from 'react';\nimport {Select} from '@gravity-ui/uikit';\nimport {QueryStatus} from '../../../../types/query-tracker';\nimport hammer from '../../../../common/hammer';\nimport {useDispatch, useSelector} from '../../../../store/redux-hooks';\nimport {applyFilter} from '../../../../store/actions/query-tracker/queriesList';\nimport {getQueriesFilters} from '../../../../store/selectors/query-tracker/queriesList';\n\nconst ALL_STATUS_KEY = '__all';\nconst statusesList = [\n {\n value: ALL_STATUS_KEY,\n content: 'All',\n },\n ...Object.values(QueryStatus).map((i) => {\n return {\n value: i,\n content: hammer.format.Readable(i),\n };\n }),\n];\n\nexport const QueryStateFilter: FC = () => {\n const dispatch = useDispatch();\n const {state} = useSelector(getQueriesFilters);\n\n const onChangeStatusFilter = useCallback(\n (values: string[]) => {\n const selectedStatus = values[0];\n const result =\n selectedStatus === ALL_STATUS_KEY ? undefined : (selectedStatus as QueryStatus);\n dispatch(applyFilter({state: result}));\n },\n [dispatch],\n );\n\n return (\n <Select\n width=\"max\"\n options={statusesList}\n value={[state || ALL_STATUS_KEY]}\n onUpdate={onChangeStatusFilter}\n placeholder=\"Select status\"\n />\n );\n};\n","import React, {FC, useCallback, useMemo} from 'react';\nimport {useDispatch, useSelector} from '../../../../store/redux-hooks';\nimport {getAllUserNames, getCurrentUserName} from '../../../../store/selectors/global';\nimport {useAllUserNamesFiltered} from '../../../../hooks/global';\nimport {Select, SelectOption} from '@gravity-ui/uikit';\nimport {getQueriesFilters} from '../../../../store/selectors/query-tracker/queriesList';\nimport {QueriesListAuthorFilter} from '../../../../types/query-tracker/queryList';\nimport {applyFilter} from '../../../../store/actions/query-tracker/queriesList';\n\nconst ALL_STATUS_KEY = '__all';\n\nexport const QueryUserFilter: FC = () => {\n useAllUserNamesFiltered();\n const dispatch = useDispatch();\n const userNames = useSelector(getAllUserNames);\n const login = useSelector(getCurrentUserName);\n const {user} = useSelector(getQueriesFilters);\n\n const values = useMemo<SelectOption[]>(() => {\n return [\n {\n value: ALL_STATUS_KEY,\n content: 'All',\n },\n ...userNames.map((userName) => ({\n value: userName,\n content: userName,\n })),\n ];\n }, [userNames]);\n\n const value = useMemo(() => {\n let result = user;\n if (!result) {\n result = ALL_STATUS_KEY;\n }\n if (result === QueriesListAuthorFilter.My) {\n result = login;\n }\n return [result];\n }, [login, user]);\n\n const handleOnChange = useCallback(\n (items: string[]) => {\n dispatch(applyFilter({user: items[0]}));\n },\n [dispatch],\n );\n\n return <Select options={values} value={value} onUpdate={handleOnChange} filterable />;\n};\n","import React, {FC, useMemo} from 'react';\nimport {useDispatch, useSelector} from '../../../../store/redux-hooks';\nimport {getQueriesFilters} from '../../../../store/selectors/query-tracker/queriesList';\nimport {DatePicker} from '@gravity-ui/date-components';\nimport {DateTime, dateTimeParse} from '../../../../utils/date-utils';\nimport {Flex} from '@gravity-ui/uikit';\nimport {applyFilter} from '../../../../store/actions/query-tracker/queriesList';\n\nexport const QueryDateFilter: FC = () => {\n const dispatch = useDispatch();\n const {from, to} = useSelector(getQueriesFilters);\n\n const setFilter = useMemo(\n () => ({\n from: (value?: DateTime | null) => {\n dispatch(applyFilter({from: value ? value.valueOf() : undefined}));\n },\n to: (value?: DateTime | null) => {\n dispatch(applyFilter({to: value ? value.valueOf() : undefined}));\n },\n }),\n [dispatch],\n );\n\n return (\n <Flex alignItems=\"center\" gap={1}>\n <DatePicker\n placeholder=\"Start date\"\n format=\"DD.MM.YYYY\"\n value={from ? dateTimeParse({input: from}) : null}\n onUpdate={setFilter.from}\n hasClear\n />{' '}\n &mdash;\n <DatePicker\n placeholder=\"End date\"\n format=\"DD.MM.YYYY\"\n value={to ? dateTimeParse({input: to}) : null}\n onUpdate={setFilter.to}\n hasClear\n />\n </Flex>\n );\n};\n","import React, {FC, PropsWithChildren} from 'react';\nimport {useDispatch, useSelector} from '../../../../store/redux-hooks';\nimport {resetFilter} from '../../../../store/actions/query-tracker/queriesList';\nimport './FilterDropdown.scss';\nimport cn from 'bem-cn-lite';\nimport {Button, Flex, Icon, Text} from '@gravity-ui/uikit';\nimport TrashBinIcon from '@gravity-ui/icons/svgs/trash-bin.svg';\nimport {QueryStateFilter} from './QueryStateFilter';\nimport {QueryUserFilter} from './QueryUserFilter';\nimport {QueryDateFilter} from './QueryDateFilter';\nimport {hasCustomHistoryFilters} from '../../../../store/selectors/query-tracker/queriesList';\n\nconst block = cn('yt-qt-filter-dropdown');\n\nconst Block: FC<PropsWithChildren<{title: string}>> = ({title, children}) => {\n return (\n <Flex direction=\"column\" gap={2}>\n <Text variant=\"subheader-1\">{title}</Text>\n {children}\n </Flex>\n );\n};\n\nexport const FilterDropdown: FC = () => {\n const dispatch = useDispatch();\n const changed = useSelector(hasCustomHistoryFilters);\n\n const handleResetFilter = React.useCallback(() => {\n dispatch(resetFilter());\n }, [dispatch]);\n\n return (\n <Flex className={block()} direction=\"column\" gap={3}>\n <Block title=\"Operation date\">\n <QueryDateFilter />\n </Block>\n <Block title=\"Operation owner\">\n <QueryUserFilter />\n </Block>\n <Block title=\"Query state\">\n <QueryStateFilter />\n </Block>\n {changed && (\n <Flex justifyContent=\"flex-end\">\n <Button view=\"outlined\" onClick={handleResetFilter}>\n <Icon data={TrashBinIcon} size={16} /> Reset filters\n </Button>\n </Flex>\n )}\n </Flex>\n );\n};\n","import React, {FC, useMemo} from 'react';\nimport {\n QueriesListAuthorFilter,\n QueriesListFilter,\n} from '../../../../types/query-tracker/queryList';\nimport {ControlGroupOption, SegmentedRadioGroup} from '@gravity-ui/uikit';\nimport {useDispatch, useSelector} from '../../../../store/redux-hooks';\nimport {getQueriesFilters} from '../../../../store/selectors/query-tracker/queriesList';\nimport {applyFilter} from '../../../../store/actions/query-tracker/queriesList';\nimport {getCurrentUserName} from '../../../../store/selectors/global';\n\nconst AuthorFilter: ControlGroupOption[] = [\n {\n value: QueriesListAuthorFilter.My,\n content: 'My',\n },\n {\n value: QueriesListAuthorFilter.All,\n content: 'All',\n },\n];\n\nexport const QueryFastUserFilter: FC = () => {\n const dispatch = useDispatch();\n const {user} = useSelector(getQueriesFilters);\n const login = useSelector(getCurrentUserName);\n\n const handleUserChange = (value: string) => {\n dispatch(applyFilter({user: value as QueriesListFilter['user']}));\n };\n\n const value = useMemo(() => {\n if (QueriesListAuthorFilter.My === user || user === login)\n return QueriesListAuthorFilter.My;\n\n return QueriesListAuthorFilter.All;\n }, [login, user]);\n\n return <SegmentedRadioGroup options={AuthorFilter} value={value} onUpdate={handleUserChange} />;\n};\n","import React from 'react';\nimport block from 'bem-cn-lite';\nimport {Icon, Tooltip} from '@gravity-ui/uikit';\nimport {QueriesListFilter, QueriesListMode} from '../../../../types/query-tracker/queryList';\nimport CircleQuestionIcon from '@gravity-ui/icons/svgs/circle-question.svg';\nimport FunnelIcon from '@gravity-ui/icons/svgs/funnel.svg';\n\nimport './index.scss';\nimport {QueryEngineFilter} from './QueryEngineFilter';\nimport Dropdown from '../../../../components/Dropdown/Dropdown';\nimport Button from '../../../../components/Button/Button';\nimport GearIcon from '@gravity-ui/icons/svgs/gear.svg';\nimport ColumnSelector from '../../../../components/ColumnSelector/ColumnSelector';\nimport {useDispatch, useSelector} from '../../../../store/redux-hooks';\nimport {\n getQueriesFilters,\n getQueriesListMode,\n getQueryListColumns,\n hasCustomHistoryFilters,\n} from '../../../../store/selectors/query-tracker/queriesList';\nimport {applyFilter} from '../../../../store/actions/query-tracker/queriesList';\nimport {setSettingByKey} from '../../../../store/actions/settings';\nimport TextInputWithDebounce from '../../../../components/TextInputWithDebounce/TextInputWithDebounce';\nimport {FilterDropdown} from './FilterDropdown';\nimport {QueryFastUserFilter} from './QueryFastUserFilter';\n\nconst b = block('queries-history-filter');\n\ntype QueriesHistoryListFilterProps = {\n className?: string;\n};\n\nexport function QueriesHistoryListFilter({className}: QueriesHistoryListFilterProps) {\n const dispatch = useDispatch();\n const filter = useSelector(getQueriesFilters);\n const filterViewMode = useSelector(getQueriesListMode);\n const {allowedColumns} = useSelector(getQueryListColumns);\n const customFilterChanged = useSelector(hasCustomHistoryFilters);\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 const handleFilterChange = (value: string) => {\n dispatch(applyFilter({filter: value as QueriesListFilter['filter']}));\n };\n\n const isHistory = filterViewMode === QueriesListMode.History;\n\n if (!isHistory) {\n return (\n <div className={b(null, className)}>\n <div className={b('row')}>\n <QueryEngineFilter />\n </div>\n </div>\n );\n }\n\n return (\n <div className={b(null, className)}>\n <div className={b('row')}>\n <QueryFastUserFilter />\n <QueryEngineFilter />\n\n <Dropdown\n trigger=\"click\"\n directions={['bottom']}\n button={\n <Button\n view={customFilterChanged ? 'outlined-info' : 'outlined'}\n tooltipProps={{content: 'Additional filters'}}\n withTooltip\n >\n <Icon data={FunnelIcon} size={16} />\n </Button>\n }\n template={<FilterDropdown />}\n />\n <Dropdown\n trigger=\"click\"\n directions={['bottom']}\n button={\n <Button tooltipProps={{content: 'Table column settings'}} withTooltip>\n <Icon data={GearIcon} size={16} />\n </Button>\n }\n template={\n <ColumnSelector items={allowedColumns} onChange={handleColumnChange} />\n }\n />\n </div>\n\n <div className={b('row')}>\n <TextInputWithDebounce\n placeholder=\"Search in query name, body and access control\"\n value={filter?.filter}\n onUpdate={handleFilterChange}\n />\n <Tooltip\n content={\n <>\n Search in query text, annotations and access control\n <br />\n Use `&quot;title&quot;=&quot;test_name&quot;` to search in query name\n <br />\n Use `aco:nobody` to search in query access control\n </>\n }\n >\n <Icon data={CircleQuestionIcon} size={16} />\n </Tooltip>\n </div>\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, {useEffect, useRef} from 'react';\nimport block from 'bem-cn-lite';\nimport {Tab, TabList, TabPanel, TabProvider} from '@gravity-ui/uikit';\nimport {QueriesHistoryList} from './QueriesHistoryList';\n\nimport {\n getQueriesListMode,\n getQueriesListTabs,\n} from '../../../store/selectors/query-tracker/queriesList';\nimport {useDispatch, useSelector} from '../../../store/redux-hooks';\nimport {DefaultQueriesListFilter, QueriesListMode} from '../../../types/query-tracker/queryList';\nimport {applyListMode, requestQueriesList} from '../../../store/actions/query-tracker/queriesList';\n\nimport './index.scss';\nimport {QueriesTutorialList} from './QueriesTutorialList';\nimport {QueriesHistoryListFilter} from './QueriesListFilter';\nimport {Vcs} from '../Vcs';\nimport {Navigation} from '../Navigation';\nimport {setFilter} from '../../../store/reducers/query-tracker/queryListSlice';\n\nconst b = block('queries-list');\n\nconst TabNames: Record<QueriesListMode, string> = {\n [QueriesListMode.History]: 'History',\n [QueriesListMode.Tutorials]: 'Tutorials',\n [QueriesListMode.VCS]: 'VCS',\n [QueriesListMode.Navigation]: 'Navigation',\n};\n\nconst TabContent: Record<QueriesListMode, React.ReactNode> = {\n [QueriesListMode.History]: (\n <>\n <QueriesHistoryListFilter className={b('filter')} />\n <QueriesHistoryList />\n </>\n ),\n [QueriesListMode.Tutorials]: (\n <>\n <QueriesHistoryListFilter className={b('filter')} />\n <QueriesTutorialList className={b('list-content')} />\n </>\n ),\n [QueriesListMode.VCS]: <Vcs />,\n [QueriesListMode.Navigation]: <Navigation />,\n};\n\nexport function QueriesList() {\n const dispatch = useDispatch();\n const activeTab = useSelector(getQueriesListMode);\n const tabsList = useSelector(getQueriesListTabs);\n const isInitializedRef = useRef(false);\n\n useEffect(() => {\n if (!isInitializedRef.current) {\n isInitializedRef.current = true;\n dispatch(setFilter(DefaultQueriesListFilter[activeTab]));\n dispatch(requestQueriesList({refresh: true}));\n }\n }, [dispatch, activeTab]);\n\n const handleTabSelect = (tabId: string) => {\n dispatch(applyListMode(tabId as QueriesListMode));\n };\n\n return (\n <div className={b()}>\n <TabProvider value={activeTab} onUpdate={handleTabSelect}>\n <TabList className={b('tabs')}>\n {tabsList.map((tab) => (\n <Tab key={tab} value={tab}>\n {TabNames[tab]}\n </Tab>\n ))}\n </TabList>\n <div className={b('content')}>\n {tabsList.map((tab) => (\n <TabPanel key={tab} value={tab}>\n {TabContent[tab]}\n </TabPanel>\n ))}\n </div>\n </TabProvider>\n </div>\n );\n}\n","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-.078.745-.298 1.1-.208.339-.513.614-.875.867-.217.153-.325.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 .075-.312c0-.3-.244-.641-.84-.641a1 1 0 0 0-.608.223c-.167.138-.231.287-.231.418a.75.75 0 0 1-1.5 0c0-.674.345-1.22.78-1.577M8 12a1 1 0 1 0 0-2 1 1 0 0 0 0 2\" clipRule=\"evenodd\" /></svg>;\nexport default SvgCircleQuestion;","export const QUERY_POLLING_INTERVAL = 5000;\n"],"names":["block","cn","Dropdown","_Component","_this","_classCallCheck","_len","arguments","length","args","Array","_key","_callSuper","concat","state","popupVisible","anchor","React","toggle","setState","prevState","open","close","_inherits","_createClass","key","value","_this$props","this","props","button","trigger","actionProps","onClick","undefined","onMouseEnter","onMouseLeave","template","_this$props$template","data","renderer","templates","get","__default__","call","_this2","_this$props2","popup","directions","_jsx","Popup","_objectSpread","placement","onOpenChange","anchorElement","current","children","renderTemplate","className","_jsxs","ref","renderButton","renderPopup","Component","defaultProps","zIndexGroupLevel","InfiniteScrollLoader","_ref","loading","onLoadMore","paginationRef","useRef","useEffect","observer","IntersectionObserver","entries","forEach","entry","isIntersecting","root","threshold","observe","unobserve","Flex","alignItems","justifyContent","Loader","TextInputWithDebounce","_props$debounce","debounce","_props$onUpdate","onUpdate","onBlur","onEnterKeyDown","onKeyDown","rest","_objectWithoutProperties","_excluded","_React$useState","_React$useState2","_slicedToArray","input","setInput","handleChangeExt","debounce_","handleChange","text","handleKeyDown","e","handleBlur","cancel","TextInput","useAllUserNamesFiltered","dispatch","useDispatch","loadUsersIfNotLoaded","namesSorted","useSelector","getAllUserNamesSorted","getFiltered","from","sortedIndexBy_","item","substr","to","sortedLastIndexBy_","slice","allNames","useGroupsLoaded","loadGroupsIfNotLoaded","GroupsLoader","useQueryNavigation","selectedItem","getQuery","cluster","getCluster","listMode","getQueriesListMode","history","useHistory","goToQuery","useCallback","url","createQueryUrl","id","searchParams","URLSearchParams","location","search","set","push","toString","b","itemBlock","isHeaderTableItem","header","tableSettings","displayIndices","sortable","stickyHead","DataTable","MOVING","syncHeadOnResize","QueriesHistoryListUpdater","updateFn","requestQueriesList","refresh","useUpdater","timeout","QUERY_POLLING_INTERVAL","QueriesHistoryList","itemsByDate","getQueryListByDate","isLoading","isQueriesListLoading","columns","getQueryListColumns","hasMore","hasQueriesListMore","_useQueryNavigation","_useQueryNavigation2","selectedId","showPagination","setClassName","isHeader","Boolean","selected","DataTableYT","useThemeYT","rowKey","row","onRowClick","disableRightGap","settings","rowClassName","getColSpansOfRow","Name","loadNextQueriesList","QueriesHistoryCursorDirection","PAST","xmlns","fill","viewBox","fillRule","d","clipRule","itemCn","renderItem","_item$annotations","_item$annotations2","_Fragment","Icon","tutorialIcon","Text","ellipsis","title","annotations","QueriesTutorialList","items","getTutorialQueriesList","selectedIndex","useMemo","findIndex","query","tutorialFilter","filter","_item$annotations3","toLocaleLowerCase","includes","List","filterable","filterClassName","filterPlaceholder","filterItem","virtualized","selectedItemIndex","itemHeight","itemClassName","onItemClick","size","ALL_ENGINE_KEY","enginesList","content","_toConsumableArray","Engines","map","engine","QueryEnginesNames","QueryEngineFilter","getQueriesFilters","onChangeEngineFilter","values","selectedEngine","applyFilter","Select","options","placeholder","ALL_STATUS_KEY","statusesList","Object","QueryStatus","i","hammer","format","Readable","QueryStateFilter","onChangeStatusFilter","selectedStatus","result","width","QueryUserFilter","userNames","getAllUserNames","login","getCurrentUserName","user","userName","QueriesListAuthorFilter","My","handleOnChange","QueryDateFilter","_useSelector","setFilter","valueOf","gap","DatePicker","dateTimeParse","hasClear","Block","direction","variant","FilterDropdown","changed","hasCustomHistoryFilters","handleResetFilter","resetFilter","Button","view","TrashBinIcon","AuthorFilter","All","QueryFastUserFilter","SegmentedRadioGroup","QueriesHistoryListFilter","filterViewMode","allowedColumns","customFilterChanged","QueriesListMode","History","tooltipProps","withTooltip","FunnelIcon","GearIcon","ColumnSelector","onChange","selectedColumns","setSettingByKey","_ref2","checked","_ref3","name","Tooltip","CircleQuestionIcon","Vcs","withLazyLoading","lazy","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_context","prev","next","t0","sent","abrupt","stop","Navigation","TabNames","_defineProperty","Tutorials","VCS","TabContent","QueriesList","activeTab","tabsList","getQueriesListTabs","isInitializedRef","DefaultQueriesListFilter","TabProvider","tabId","applyListMode","TabList","tab","Tab","TabPanel"],"sourceRoot":""}