import {FontCursor, TrashBin} from '@gravity-ui/icons'; import type {Column} from '@gravity-ui/react-data-table'; import {ActionTooltip, Button, Flex, Icon, Text} from '@gravity-ui/uikit'; import {YDBSyntaxHighlighter} from '../../../../components/SyntaxHighlighter/YDBSyntaxHighlighter'; import type {SavedQuery} from '../../../../types/store/query'; import {BRAND_BUTTON_CLASS, EMPTY_DATA_PLACEHOLDER} from '../../../../utils/constants'; import i18n from '../i18n'; import {getQueryPreviewText} from '../utils/queryPreview'; import {formatSavedQueryUpdatedAt} from '../utils/savedQueries'; import {b} from './shared'; type SavedQueryActions = { deleteQuery: (queryName: string) => void; openInEditor: (query: SavedQuery) => void; renameQuery: (queryName: string) => void; }; export function getColumns({deleteQuery, openInEditor, renameQuery}: SavedQueryActions) { const columns: Column[] = [ { name: 'name', header: i18n('field_saved-query-name'), render: ({row}) => ( {row.name || EMPTY_DATA_PLACEHOLDER} ), width: 220, sortable: false, }, { name: 'updatedAt', header: i18n('field_saved-query-edited-at'), render: ({row}) => ( {formatSavedQueryUpdatedAt(row.updatedAt)} ), width: 180, sortable: false, }, { name: 'body', header: i18n('field_query-text'), render: ({row}) => ( ), sortable: false, width: 600, }, { name: 'actions', header: '', render: ({row}) => ( ), sortable: false, resizeable: false, width: 136, }, ]; return columns; }