11import type { Column } from '@gravity-ui/react-data-table' ;
2+ import DataTable from '@gravity-ui/react-data-table' ;
23
34import { ResponseError } from '../../../../components/Errors/ResponseError' ;
45import { ResizeableDataTable } from '../../../../components/ResizeableDataTable/ResizeableDataTable' ;
56import { TableWithControlsLayout } from '../../../../components/TableWithControlsLayout/TableWithControlsLayout' ;
67import { TruncatedQuery } from '../../../../components/TruncatedQuery/TruncatedQuery' ;
78import { topQueriesApi } from '../../../../store/reducers/executeTopQueries/executeTopQueries' ;
8- import type { KeyValueRow } from '../../../../types/api/query' ;
9+ import type { CellValue , KeyValueRow } from '../../../../types/api/query' ;
910import { cn } from '../../../../utils/cn' ;
1011import { formatDateTime } from '../../../../utils/dataFormatters/dataFormatters' ;
1112import { useAutoRefreshInterval , useTypedSelector } from '../../../../utils/hooks' ;
@@ -21,21 +22,29 @@ interface Props {
2122
2223const RUNNING_QUERIES_COLUMNS_WIDTH_LS_KEY = 'runningQueriesColumnsWidth' ;
2324
25+ const parseDate = ( date : CellValue ) => ( date ? new Date ( date . toString ( ) ) . getTime ( ) : '' ) ;
26+
2427const columns : Column < KeyValueRow > [ ] = [
2528 {
26- name : 'user ' ,
29+ name : 'UserSID ' ,
2730 header : i18n ( 'col_user' ) ,
28- render : ( { row} ) => row . UserSID || '-' ,
29- sortable : false ,
31+ render : ( { row} ) => < div className = { b ( 'user-sid' ) } > { row . UserSID || '–' } </ div > ,
32+ sortAccessor : ( row ) => String ( row . UserSID ) ,
33+ sortable : true ,
3034 } ,
3135 {
32- name : 'startTime ' ,
36+ name : 'QueryStartAt ' ,
3337 header : i18n ( 'col_start-time' ) ,
34- render : ( { row} ) => formatDateTime ( new Date ( row . QueryStartAt as string ) . getTime ( ) ) ,
35- sortable : false ,
38+ render : ( { row} ) => formatDateTime ( parseDate ( row . QueryStartAt ) ) ,
39+ sortable : true ,
40+ resizeable : false ,
41+ defaultOrder : DataTable . DESCENDING ,
42+ sortAccessor : ( row ) => {
43+ return parseDate ( row . QueryStartAt ) ;
44+ } ,
3645 } ,
3746 {
38- name : 'queryText ' ,
47+ name : 'Query ' ,
3948 header : i18n ( 'col_query-text' ) ,
4049 render : ( { row} ) => (
4150 < div className = { b ( 'query' ) } >
@@ -46,10 +55,10 @@ const columns: Column<KeyValueRow>[] = [
4655 sortable : false ,
4756 } ,
4857 {
49- name : 'app ' ,
58+ name : 'ApplicationName ' ,
5059 header : i18n ( 'col_app' ) ,
5160 render : ( { row} ) => row . ApplicationName || '-' ,
52- sortable : false ,
61+ sortable : true ,
5362 } ,
5463] ;
5564
0 commit comments