-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathconstants.ts
130 lines (95 loc) · 4.51 KB
/
constants.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
import DataTable from '@gravity-ui/react-data-table';
import type {Settings} from '@gravity-ui/react-data-table';
import {EType} from '../types/api/tablet';
// by agreement, display all byte values in decimal scale
// values in data are always in bytes, never in higher units,
// therefore there is no issue arbitrary converting them in UI
export const KILOBYTE = 1_000;
export const MEGABYTE = 1_000_000;
export const GIGABYTE = 1_000_000_000;
export const TERABYTE = 1_000_000_000_000;
export const SECOND_IN_MS = 1000;
export const MINUTE_IN_SECONDS = 60;
export const HOUR_IN_SECONDS = 60 * MINUTE_IN_SECONDS;
export const DAY_IN_SECONDS = 24 * HOUR_IN_SECONDS;
export const WEEK_IN_SECONDS = 7 * DAY_IN_SECONDS;
export const MS_IN_NANOSECONDS = 1000000;
export const DEFAULT_WARNING_THRESHOLD = 85;
export const DEFAULT_DANGER_THRESHOLD = 95;
const TABLET_SYMBOLS = {
[EType.OldTxProxy]: 'P',
[EType.TxProxy]: 'P',
[EType.BSController]: 'BS',
[EType.Dummy]: 'DY',
[EType.RTMRPartition]: 'RP',
[EType.PersQueueReadBalancer]: 'PB',
[EType.Cms]: 'CM',
[EType.BlockStorePartition]: 'BP',
[EType.BlockStoreVolume]: 'BV',
[EType.Console]: 'CN',
[EType.TenantSlotBroker]: 'TB',
[EType.BlockStoreDiskRegistry]: 'BDR',
};
const isTabletType = (type: string): type is keyof typeof TABLET_SYMBOLS => type in TABLET_SYMBOLS;
export const getTabletLabel = (type?: string) => {
if (!type) {
return undefined;
}
const defaultValue = type.match(/[A-Z]/g)?.join('');
return isTabletType(type) ? TABLET_SYMBOLS[type] : defaultValue;
};
export const TENANT_OVERVIEW_TABLES_LIMIT = 5;
export const EMPTY_DATA_PLACEHOLDER = '—';
// ==== Titles ====
export const DEVELOPER_UI_TITLE = 'Developer UI';
export const CLUSTER_DEFAULT_TITLE = 'Cluster';
export const TENANT_DEFAULT_TITLE = 'Database';
// ==== Settings ====
export const THEME_KEY = 'theme';
export const LANGUAGE_KEY = 'language';
export const INVERTED_DISKS_KEY = 'invertedDisks';
export const SAVED_QUERIES_KEY = 'saved_queries';
export const ASIDE_HEADER_COMPACT_KEY = 'asideHeaderCompact';
export const QUERIES_HISTORY_KEY = 'queries_history';
export const BINARY_DATA_IN_PLAIN_TEXT_DISPLAY = 'binaryDataInPlainTextDisplay';
export const AUTO_REFRESH_INTERVAL = 'auto-refresh-interval';
export const CASE_SENSITIVE_JSON_SEARCH = 'caseSensitiveJsonSearch';
export const DEFAULT_SIZE_RESULT_PANE_KEY = 'default-size-result-pane';
export const DEFAULT_SIZE_TENANT_SUMMARY_KEY = 'default-size-tenant-summary-pane';
export const DEFAULT_SIZE_TENANT_KEY = 'default-size-tenant-pane';
export const DEFAULT_IS_TENANT_SUMMARY_COLLAPSED = 'default-is-tenant-summary-collapsed';
export const DEFAULT_IS_TENANT_COMMON_INFO_COLLAPSED = 'default-is-tenant-common-info-collapsed';
export const DEFAULT_IS_QUERY_RESULT_COLLAPSED = 'default-is-query-result-collapsed';
export const DEFAULT_CLUSTER_TAB_KEY = 'default-cluster-tab';
export const DEFAULT_TABLE_SETTINGS: Settings = {
displayIndices: false,
stickyHead: DataTable.MOVING,
syncHeadOnResize: true,
dynamicRender: true,
highlightRows: true,
} as const;
export const TENANT_OVERVIEW_TABLES_SETTINGS: Settings = {
...DEFAULT_TABLE_SETTINGS,
stickyHead: 'fixed',
dynamicRender: false,
sortable: false,
} as const;
export const QUERY_EXECUTION_SETTINGS_KEY = 'queryExecutionSettings';
export const LAST_QUERY_EXECUTION_SETTINGS_KEY = 'last_query_execution_settings';
export const QUERY_SETTINGS_BANNER_LAST_CLOSED_KEY = 'querySettingsBannerLastClosed';
export const QUERY_STOPPED_BANNER_CLOSED_KEY = 'queryStoppedBannerClosed';
export const LAST_USED_QUERY_ACTION_KEY = 'last_used_query_action';
export const PARTITIONS_HIDDEN_COLUMNS_KEY = 'partitionsHiddenColumns';
// Remain "tab" in key name for backward compatibility
export const TENANT_INITIAL_PAGE_KEY = 'saved_tenant_initial_tab';
export const ENABLE_NETWORK_TABLE_KEY = 'enableNetworkTable';
export const USE_SHOW_PLAN_SVG_KEY = 'useShowPlanToSvg';
// Setting to hide domain in database list
export const SHOW_DOMAIN_DATABASE_KEY = 'showDomainDatabase';
export const USE_CLUSTER_BALANCER_AS_BACKEND_KEY = 'useClusterBalancerAsBacked';
export const ENABLE_AUTOCOMPLETE = 'enableAutocomplete';
export const ENABLE_CODE_ASSISTANT = 'enableCodeAssistant';
export const ENABLE_QUERY_STREAMING = 'enableQueryStreaming';
export const AUTOCOMPLETE_ON_ENTER = 'autocompleteOnEnter';
export const IS_HOTKEYS_HELP_HIDDEN_KEY = 'isHotKeysHelpHidden';
export const DEV_ENABLE_TRACING_FOR_ALL_REQUESTS = 'enable_tracing_for_all_requests';