ydb-embedded-ui 14.12.1 → 14.14.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 (312) hide show
  1. package/README.md +12 -0
  2. package/dist/components/Errors/i18n/en.json +5 -0
  3. package/dist/components/Errors/i18n/index.d.ts +1 -1
  4. package/dist/components/Errors/shared/ErrorFieldsList.js +20 -3
  5. package/dist/components/Errors/shared/ErrorFieldsList.js.map +1 -1
  6. package/dist/components/FullNodeViewer/i18n/index.d.ts +1 -1
  7. package/dist/components/InfoViewerTitle/InfoViewerTitle.d.ts +6 -0
  8. package/dist/components/InfoViewerTitle/InfoViewerTitle.js +8 -0
  9. package/dist/components/InfoViewerTitle/InfoViewerTitle.js.map +1 -0
  10. package/dist/components/InfoViewerTitle/InfoViewerTitle.scss +5 -0
  11. package/dist/components/MetricChart/reducer.d.ts +2 -2
  12. package/dist/components/MetricChart/types.d.ts +1 -1
  13. package/dist/components/SegmentedProgress/SegmentedProgress.d.ts +5 -1
  14. package/dist/components/SegmentedProgress/SegmentedProgress.js +11 -2
  15. package/dist/components/SegmentedProgress/SegmentedProgress.js.map +1 -1
  16. package/dist/components/Table/Table.js +1 -1
  17. package/dist/components/Table/Table.js.map +1 -1
  18. package/dist/components/Table/Table.scss +9 -1
  19. package/dist/components/TableWithControlsLayout/TableWithControlsLayout.scss +1 -2
  20. package/dist/components/YDBDefinitionList/YDBDefinitionList.js +2 -1
  21. package/dist/components/YDBDefinitionList/YDBDefinitionList.js.map +1 -1
  22. package/dist/components/YDBDefinitionList/YDBDefinitionList.scss +0 -4
  23. package/dist/components/nodesColumns/i18n/index.d.ts +1 -1
  24. package/dist/containers/App/App.scss +21 -0
  25. package/dist/containers/AsideNavigation/AsideNavigation.js +7 -1
  26. package/dist/containers/AsideNavigation/AsideNavigation.js.map +1 -1
  27. package/dist/containers/AsideNavigation/Navigation.js +46 -7
  28. package/dist/containers/AsideNavigation/Navigation.js.map +1 -1
  29. package/dist/containers/AsideNavigation/Navigation.scss +14 -0
  30. package/dist/containers/AsideNavigation/hooks/useHotkeysPanel.d.ts +1 -1
  31. package/dist/containers/AsideNavigation/hooks/useHotkeysPanel.js +22 -7
  32. package/dist/containers/AsideNavigation/hooks/useHotkeysPanel.js.map +1 -1
  33. package/dist/containers/AsideNavigation/i18n/en.json +15 -1
  34. package/dist/containers/AsideNavigation/i18n/index.d.ts +1 -1
  35. package/dist/containers/Authentication/Authentication.js +1 -2
  36. package/dist/containers/Authentication/Authentication.js.map +1 -1
  37. package/dist/containers/Clusters/columns.d.ts +8 -1
  38. package/dist/containers/Clusters/columns.js +65 -15
  39. package/dist/containers/Clusters/columns.js.map +1 -1
  40. package/dist/containers/Clusters/constants.d.ts +17 -13
  41. package/dist/containers/Clusters/constants.js +47 -12
  42. package/dist/containers/Clusters/constants.js.map +1 -1
  43. package/dist/containers/Clusters/i18n/en.json +15 -1
  44. package/dist/containers/Clusters/i18n/index.d.ts +1 -1
  45. package/dist/containers/GetUserWrapper/GetUserWrapper.js +3 -1
  46. package/dist/containers/GetUserWrapper/GetUserWrapper.js.map +1 -1
  47. package/dist/containers/GetUserWrapper/useHandleVisibilityChange.d.ts +11 -0
  48. package/dist/containers/GetUserWrapper/useHandleVisibilityChange.js +35 -0
  49. package/dist/containers/GetUserWrapper/useHandleVisibilityChange.js.map +1 -0
  50. package/dist/containers/Node/i18n/index.d.ts +1 -1
  51. package/dist/containers/Operations/useOperationsInfiniteQuery.d.ts +1 -1
  52. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/hooks.d.ts +8 -2
  53. package/dist/containers/Storage/PaginatedStorageNodes/useStorageNodesColumnsToSelect.d.ts +7 -2
  54. package/dist/containers/Storage/PaginatedStorageNodesTable/columns/hooks.d.ts +8 -2
  55. package/dist/containers/Tenant/Diagnostics/Diagnostics.scss +1 -0
  56. package/dist/containers/Tenant/Diagnostics/Overview/DatabaseInfo/DatabaseInfo.d.ts +8 -0
  57. package/dist/containers/Tenant/Diagnostics/Overview/DatabaseInfo/DatabaseInfo.js +93 -0
  58. package/dist/containers/Tenant/Diagnostics/Overview/DatabaseInfo/DatabaseInfo.js.map +1 -0
  59. package/dist/containers/Tenant/Diagnostics/Overview/DatabaseInfo/DatabaseInfo.scss +26 -0
  60. package/dist/containers/Tenant/Diagnostics/Overview/DatabaseInfo/i18n/en.json +18 -0
  61. package/dist/containers/Tenant/Diagnostics/Overview/DatabaseInfo/i18n/index.d.ts +1 -0
  62. package/dist/containers/Tenant/Diagnostics/Overview/DatabaseInfo/i18n/index.js +5 -0
  63. package/dist/containers/Tenant/Diagnostics/Overview/DatabaseInfo/i18n/index.js.map +1 -0
  64. package/dist/containers/Tenant/Diagnostics/Overview/Overview.js +10 -0
  65. package/dist/containers/Tenant/Diagnostics/Overview/Overview.js.map +1 -1
  66. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/i18n/index.d.ts +1 -1
  67. package/dist/containers/Tenant/Diagnostics/Partitions/utils/useGetPartitionsColumns.d.ts +8 -2
  68. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantNetwork/TenantNetwork.js +3 -1
  69. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantNetwork/TenantNetwork.js.map +1 -1
  70. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantNetwork/networkDashboardConfig.d.ts +2 -0
  71. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantNetwork/networkDashboardConfig.js +21 -0
  72. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantNetwork/networkDashboardConfig.js.map +1 -0
  73. package/dist/containers/Tenant/Diagnostics/TenantOverview/i18n/en.json +2 -0
  74. package/dist/containers/Tenant/Diagnostics/TenantOverview/i18n/index.d.ts +1 -1
  75. package/dist/containers/Tenant/Diagnostics/TopQueries/QueryDetails/QueryDetailsDrawerContent.js +18 -4
  76. package/dist/containers/Tenant/Diagnostics/TopQueries/QueryDetails/QueryDetailsDrawerContent.js.map +1 -1
  77. package/dist/containers/Tenant/ObjectSummary/ObjectSummary.js +4 -2
  78. package/dist/containers/Tenant/ObjectSummary/ObjectSummary.js.map +1 -1
  79. package/dist/containers/Tenant/ObjectSummary/SchemaTree/SchemaTree.js +25 -12
  80. package/dist/containers/Tenant/ObjectSummary/SchemaTree/SchemaTree.js.map +1 -1
  81. package/dist/containers/Tenant/Query/NewSQL/NewSQL.js +6 -2
  82. package/dist/containers/Tenant/Query/NewSQL/NewSQL.js.map +1 -1
  83. package/dist/containers/Tenant/Query/NewSQL/i18n/en.json +3 -1
  84. package/dist/containers/Tenant/Query/NewSQL/i18n/index.d.ts +1 -1
  85. package/dist/containers/Tenant/Query/QueriesHistory/QueriesHistory.d.ts +1 -4
  86. package/dist/containers/Tenant/Query/QueriesHistory/QueriesHistory.js +20 -14
  87. package/dist/containers/Tenant/Query/QueriesHistory/QueriesHistory.js.map +1 -1
  88. package/dist/containers/Tenant/Query/Query.js +5 -3
  89. package/dist/containers/Tenant/Query/Query.js.map +1 -1
  90. package/dist/containers/Tenant/Query/Query.scss +5 -1
  91. package/dist/containers/Tenant/Query/QueryEditor/EditorTabs/EditorTabItem.d.ts +15 -0
  92. package/dist/containers/Tenant/Query/QueryEditor/EditorTabs/EditorTabItem.js +145 -0
  93. package/dist/containers/Tenant/Query/QueryEditor/EditorTabs/EditorTabItem.js.map +1 -0
  94. package/dist/containers/Tenant/Query/QueryEditor/EditorTabs/EditorTabItem.scss +198 -0
  95. package/dist/containers/Tenant/Query/QueryEditor/EditorTabs/EditorTabs.d.ts +1 -0
  96. package/dist/containers/Tenant/Query/QueryEditor/EditorTabs/EditorTabs.js +31 -139
  97. package/dist/containers/Tenant/Query/QueryEditor/EditorTabs/EditorTabs.js.map +1 -1
  98. package/dist/containers/Tenant/Query/QueryEditor/EditorTabs/EditorTabs.scss +35 -0
  99. package/dist/containers/Tenant/Query/QueryEditor/EditorTabs/RenameQueryDialog.d.ts +9 -0
  100. package/dist/containers/Tenant/Query/QueryEditor/EditorTabs/RenameQueryDialog.js +47 -0
  101. package/dist/containers/Tenant/Query/QueryEditor/EditorTabs/RenameQueryDialog.js.map +1 -0
  102. package/dist/containers/Tenant/Query/QueryEditor/EditorTabs/RenameQueryDialog.scss +21 -0
  103. package/dist/containers/Tenant/Query/QueryEditor/EditorTabs/TabExecutionStatusIndicator.d.ts +7 -0
  104. package/dist/containers/Tenant/Query/QueryEditor/EditorTabs/TabExecutionStatusIndicator.js +11 -0
  105. package/dist/containers/Tenant/Query/QueryEditor/EditorTabs/TabExecutionStatusIndicator.js.map +1 -0
  106. package/dist/containers/Tenant/Query/QueryEditor/EditorTabs/TabExecutionStatusIndicator.scss +59 -0
  107. package/dist/containers/Tenant/Query/QueryEditor/QueryEditor.js +58 -6
  108. package/dist/containers/Tenant/Query/QueryEditor/QueryEditor.js.map +1 -1
  109. package/dist/containers/Tenant/Query/QueryEditor/QueryEditor.scss +42 -135
  110. package/dist/containers/Tenant/Query/QueryEditor/YqlEditor/YqlEditor.d.ts +2 -1
  111. package/dist/containers/Tenant/Query/QueryEditor/YqlEditor/YqlEditor.js +52 -28
  112. package/dist/containers/Tenant/Query/QueryEditor/YqlEditor/YqlEditor.js.map +1 -1
  113. package/dist/containers/Tenant/Query/QueryEditor/YqlEditor/keybindings.d.ts +1 -0
  114. package/dist/containers/Tenant/Query/QueryEditor/YqlEditor/keybindings.js +4 -3
  115. package/dist/containers/Tenant/Query/QueryEditor/YqlEditor/keybindings.js.map +1 -1
  116. package/dist/containers/Tenant/Query/QueryEditor/constants.d.ts +20 -0
  117. package/dist/containers/Tenant/Query/QueryEditor/constants.js +25 -0
  118. package/dist/containers/Tenant/Query/QueryEditor/constants.js.map +1 -0
  119. package/dist/containers/Tenant/Query/QueryEditor/hooks/__test__/useQueryPageLeaveGuard.test.d.ts +1 -0
  120. package/dist/containers/Tenant/Query/QueryEditor/hooks/__test__/useQueryPageLeaveGuard.test.js +125 -0
  121. package/dist/containers/Tenant/Query/QueryEditor/hooks/__test__/useQueryPageLeaveGuard.test.js.map +1 -0
  122. package/dist/containers/Tenant/Query/QueryEditor/hooks/useEditorOptions.js +13 -2
  123. package/dist/containers/Tenant/Query/QueryEditor/hooks/useEditorOptions.js.map +1 -1
  124. package/dist/containers/Tenant/Query/QueryEditor/hooks/useEditorTabsGlobalHotkeys.d.ts +21 -0
  125. package/dist/containers/Tenant/Query/QueryEditor/hooks/useEditorTabsGlobalHotkeys.js +96 -0
  126. package/dist/containers/Tenant/Query/QueryEditor/hooks/useEditorTabsGlobalHotkeys.js.map +1 -0
  127. package/dist/containers/Tenant/Query/QueryEditor/hooks/useQueryPageLeaveGuard.d.ts +12 -0
  128. package/dist/containers/Tenant/Query/QueryEditor/hooks/useQueryPageLeaveGuard.js +39 -0
  129. package/dist/containers/Tenant/Query/QueryEditor/hooks/useQueryPageLeaveGuard.js.map +1 -0
  130. package/dist/containers/Tenant/Query/QueryEditor/hooks/useQueryTabsActions.d.ts +5 -4
  131. package/dist/containers/Tenant/Query/QueryEditor/hooks/useQueryTabsActions.js +104 -14
  132. package/dist/containers/Tenant/Query/QueryEditor/hooks/useQueryTabsActions.js.map +1 -1
  133. package/dist/containers/Tenant/Query/QueryResult/components/SimplifiedPlan/SimplifiedPlan.scss +6 -3
  134. package/dist/containers/Tenant/Query/SaveChangesDialog/SaveChangesDialog.d.ts +13 -0
  135. package/dist/containers/Tenant/Query/SaveChangesDialog/SaveChangesDialog.js +74 -0
  136. package/dist/containers/Tenant/Query/SaveChangesDialog/SaveChangesDialog.js.map +1 -0
  137. package/dist/containers/Tenant/Query/SaveChangesDialog/SaveChangesDialog.scss +18 -0
  138. package/dist/containers/Tenant/Query/SaveChangesDialog/i18n/en.json +10 -0
  139. package/dist/containers/Tenant/Query/SaveChangesDialog/i18n/index.d.ts +2 -0
  140. package/dist/containers/Tenant/Query/SaveChangesDialog/i18n/index.js +5 -0
  141. package/dist/containers/Tenant/Query/SaveChangesDialog/i18n/index.js.map +1 -0
  142. package/dist/containers/Tenant/Query/SaveQuery/SaveQuery.d.ts +2 -1
  143. package/dist/containers/Tenant/Query/SaveQuery/SaveQuery.js +44 -27
  144. package/dist/containers/Tenant/Query/SaveQuery/SaveQuery.js.map +1 -1
  145. package/dist/containers/Tenant/Query/SaveQuery/SaveQuery.scss +4 -0
  146. package/dist/containers/Tenant/Query/SaveQuery/i18n/en.json +4 -2
  147. package/dist/containers/Tenant/Query/SaveQuery/i18n/index.d.ts +1 -1
  148. package/dist/containers/Tenant/Query/SavedQueries/SavedQueries.d.ts +1 -7
  149. package/dist/containers/Tenant/Query/SavedQueries/SavedQueries.js +13 -11
  150. package/dist/containers/Tenant/Query/SavedQueries/SavedQueries.js.map +1 -1
  151. package/dist/containers/Tenant/Query/hooks/useOpenExternalQueryInEditor.d.ts +7 -0
  152. package/dist/containers/Tenant/Query/hooks/useOpenExternalQueryInEditor.js +32 -0
  153. package/dist/containers/Tenant/Query/hooks/useOpenExternalQueryInEditor.js.map +1 -0
  154. package/dist/containers/Tenant/Query/i18n/en.json +11 -9
  155. package/dist/containers/Tenant/Query/i18n/index.d.ts +1 -1
  156. package/dist/containers/Tenant/Query/utils/QueryNameValidation.d.ts +3 -0
  157. package/dist/containers/Tenant/Query/utils/QueryNameValidation.js +12 -0
  158. package/dist/containers/Tenant/Query/utils/QueryNameValidation.js.map +1 -0
  159. package/dist/containers/Tenant/Query/utils/__test__/queryTabTitles.test.d.ts +1 -0
  160. package/dist/containers/Tenant/Query/utils/__test__/queryTabTitles.test.js +89 -0
  161. package/dist/containers/Tenant/Query/utils/__test__/queryTabTitles.test.js.map +1 -0
  162. package/dist/containers/Tenant/Query/utils/queryTabTitles.d.ts +9 -0
  163. package/dist/containers/Tenant/Query/utils/queryTabTitles.js +41 -0
  164. package/dist/containers/Tenant/Query/utils/queryTabTitles.js.map +1 -0
  165. package/dist/containers/Tenant/TenantNavigation/useTenantNavigation.d.ts +2 -2
  166. package/dist/containers/Tenant/i18n/en.json +1 -0
  167. package/dist/containers/Tenant/i18n/index.d.ts +1 -1
  168. package/dist/containers/Tenant/utils/newSQLQueryActions.d.ts +4 -2
  169. package/dist/containers/Tenant/utils/newSQLQueryActions.js +54 -39
  170. package/dist/containers/Tenant/utils/newSQLQueryActions.js.map +1 -1
  171. package/dist/containers/Tenant/utils/schemaActions.d.ts +4 -0
  172. package/dist/containers/Tenant/utils/schemaActions.js +63 -37
  173. package/dist/containers/Tenant/utils/schemaActions.js.map +1 -1
  174. package/dist/containers/Tenant/utils/schemaQueryTemplates.d.ts +1 -0
  175. package/dist/containers/Tenant/utils/schemaQueryTemplates.js +25 -0
  176. package/dist/containers/Tenant/utils/schemaQueryTemplates.js.map +1 -1
  177. package/dist/containers/Tenant/utils/useNavigationV2Enabled.js +4 -3
  178. package/dist/containers/Tenant/utils/useNavigationV2Enabled.js.map +1 -1
  179. package/dist/containers/UserSettings/i18n/en.json +3 -1
  180. package/dist/containers/UserSettings/i18n/index.d.ts +1 -1
  181. package/dist/containers/UserSettings/settings.d.ts +1 -0
  182. package/dist/containers/UserSettings/settings.js +6 -0
  183. package/dist/containers/UserSettings/settings.js.map +1 -1
  184. package/dist/containers/VDiskPage/i18n/index.d.ts +1 -1
  185. package/dist/services/api/base.js +5 -1
  186. package/dist/services/api/base.js.map +1 -1
  187. package/dist/services/api/streaming.js +6 -3
  188. package/dist/services/api/streaming.js.map +1 -1
  189. package/dist/services/api/utils/needReset.d.ts +4 -0
  190. package/dist/services/api/utils/needReset.js +23 -0
  191. package/dist/services/api/utils/needReset.js.map +1 -0
  192. package/dist/store/configureStore.d.ts +4 -4
  193. package/dist/store/defaultStore.d.ts +2 -2
  194. package/dist/store/reducers/api.d.ts +1 -1
  195. package/dist/store/reducers/authentication/authentication.d.ts +4 -4
  196. package/dist/store/reducers/cancelQuery.d.ts +2 -2
  197. package/dist/store/reducers/capabilities/capabilities.d.ts +39 -39
  198. package/dist/store/reducers/capabilities/hooks.d.ts +6 -5
  199. package/dist/store/reducers/capabilities/hooks.js +3 -0
  200. package/dist/store/reducers/capabilities/hooks.js.map +1 -1
  201. package/dist/store/reducers/cluster/cluster.d.ts +5 -5
  202. package/dist/store/reducers/clusters/clusters.d.ts +2 -2
  203. package/dist/store/reducers/clusters/types.d.ts +2 -0
  204. package/dist/store/reducers/clusters/utils.js +15 -1
  205. package/dist/store/reducers/clusters/utils.js.map +1 -1
  206. package/dist/store/reducers/codeAssist/codeAssist.d.ts +6 -6
  207. package/dist/store/reducers/configs.d.ts +3 -3
  208. package/dist/store/reducers/environments/environments.d.ts +2 -2
  209. package/dist/store/reducers/executeTopQueries/executeTopQueries.d.ts +3 -3
  210. package/dist/store/reducers/healthcheckInfo/healthcheckInfo.d.ts +44 -44
  211. package/dist/store/reducers/heatmap.d.ts +2 -2
  212. package/dist/store/reducers/hotKeys/hotKeys.d.ts +2 -2
  213. package/dist/store/reducers/index.d.ts +3 -3
  214. package/dist/store/reducers/network/network.d.ts +2 -2
  215. package/dist/store/reducers/node/node.d.ts +3 -3
  216. package/dist/store/reducers/node/selectors.d.ts +1 -1
  217. package/dist/store/reducers/nodes/nodes.d.ts +2 -2
  218. package/dist/store/reducers/nodesList.d.ts +12 -12
  219. package/dist/store/reducers/operations.d.ts +4 -4
  220. package/dist/store/reducers/overview/overview.d.ts +2 -2
  221. package/dist/store/reducers/partitions/partitions.d.ts +2 -2
  222. package/dist/store/reducers/pdisk/pdisk.d.ts +2 -2
  223. package/dist/store/reducers/pdisk/utils.js +6 -3
  224. package/dist/store/reducers/pdisk/utils.js.map +1 -1
  225. package/dist/store/reducers/planToSvg.d.ts +2 -2
  226. package/dist/store/reducers/preview.d.ts +2 -2
  227. package/dist/store/reducers/query/__test__/streamingStatus.test.js +5 -0
  228. package/dist/store/reducers/query/__test__/streamingStatus.test.js.map +1 -1
  229. package/dist/store/reducers/query/__test__/tabPersistence.test.js +1 -0
  230. package/dist/store/reducers/query/__test__/tabPersistence.test.js.map +1 -1
  231. package/dist/store/reducers/query/__test__/utils.test.js +33 -1
  232. package/dist/store/reducers/query/__test__/utils.test.js.map +1 -1
  233. package/dist/store/reducers/query/api.d.ts +4 -4
  234. package/dist/store/reducers/query/query.d.ts +1 -1
  235. package/dist/store/reducers/query/query.js +1 -1
  236. package/dist/store/reducers/query/query.js.map +1 -1
  237. package/dist/store/reducers/query/slice.d.ts +38 -3
  238. package/dist/store/reducers/query/slice.js +134 -25
  239. package/dist/store/reducers/query/slice.js.map +1 -1
  240. package/dist/store/reducers/query/types.d.ts +18 -0
  241. package/dist/store/reducers/query/utils.d.ts +23 -1
  242. package/dist/store/reducers/query/utils.js +51 -0
  243. package/dist/store/reducers/query/utils.js.map +1 -1
  244. package/dist/store/reducers/queryActions/queryActions.d.ts +2 -6
  245. package/dist/store/reducers/queryActions/queryActions.js +2 -10
  246. package/dist/store/reducers/queryActions/queryActions.js.map +1 -1
  247. package/dist/store/reducers/queryActions/types.d.ts +0 -1
  248. package/dist/store/reducers/replication.d.ts +2 -2
  249. package/dist/store/reducers/schema/schema.d.ts +16 -16
  250. package/dist/store/reducers/schemaAcl/schemaAcl.d.ts +39 -39
  251. package/dist/store/reducers/settings/api.d.ts +4 -4
  252. package/dist/store/reducers/settings/constants.d.ts +4 -0
  253. package/dist/store/reducers/settings/constants.js +4 -0
  254. package/dist/store/reducers/settings/constants.js.map +1 -1
  255. package/dist/store/reducers/settings/settings.d.ts +1 -1
  256. package/dist/store/reducers/settings/utils.d.ts +1 -1
  257. package/dist/store/reducers/shardsWorkload/shardsWorkload.d.ts +2 -2
  258. package/dist/store/reducers/showCreateTable/showCreateTable.d.ts +2 -2
  259. package/dist/store/reducers/storage/prepareGroupsDisks.d.ts +1 -0
  260. package/dist/store/reducers/storage/storage.d.ts +3 -3
  261. package/dist/store/reducers/streamingQuery/streamingQuery.d.ts +2 -2
  262. package/dist/store/reducers/tableData.d.ts +1 -1
  263. package/dist/store/reducers/tablePartitioning/tablePartitioning.d.ts +2 -2
  264. package/dist/store/reducers/tableSchemaData.d.ts +2 -2
  265. package/dist/store/reducers/tablet.d.ts +7 -7
  266. package/dist/store/reducers/tablets.d.ts +3 -3
  267. package/dist/store/reducers/tenant/tenant.d.ts +2 -2
  268. package/dist/store/reducers/tenantOverview/executeTopTables/executeTopTables.d.ts +2 -2
  269. package/dist/store/reducers/tenantOverview/topShards/tenantOverviewTopShards.d.ts +2 -2
  270. package/dist/store/reducers/tenants/tenants.d.ts +2 -2
  271. package/dist/store/reducers/topic.d.ts +45 -45
  272. package/dist/store/reducers/vdisk/vdisk.d.ts +3 -3
  273. package/dist/store/reducers/viewSchema/viewSchema.d.ts +2 -2
  274. package/dist/types/api/pdisk.d.ts +1 -0
  275. package/dist/types/api/pdisk.js.map +1 -1
  276. package/dist/uiFactory/types.d.ts +5 -0
  277. package/dist/utils/constants.d.ts +0 -1
  278. package/dist/utils/constants.js +0 -1
  279. package/dist/utils/constants.js.map +1 -1
  280. package/dist/utils/errors/__test__/extractErrorDetails.test.js +205 -6
  281. package/dist/utils/errors/__test__/extractErrorDetails.test.js.map +1 -1
  282. package/dist/utils/errors/extractErrorDetails.d.ts +28 -0
  283. package/dist/utils/errors/extractErrorDetails.js +176 -0
  284. package/dist/utils/errors/extractErrorDetails.js.map +1 -1
  285. package/dist/utils/hooks/__test__/useSelectedColumns.test.d.ts +1 -0
  286. package/dist/utils/hooks/__test__/useSelectedColumns.test.js +209 -0
  287. package/dist/utils/hooks/__test__/useSelectedColumns.test.js.map +1 -0
  288. package/dist/utils/hooks/useDelayed.d.ts +1 -1
  289. package/dist/utils/hooks/useDelayed.js +8 -4
  290. package/dist/utils/hooks/useDelayed.js.map +1 -1
  291. package/dist/utils/hooks/useSelectedColumns.d.ts +8 -2
  292. package/dist/utils/hooks/useSelectedColumns.js +47 -16
  293. package/dist/utils/hooks/useSelectedColumns.js.map +1 -1
  294. package/dist/utils/hooks/withConfirmation/RunningQueryDialog.d.ts +2 -0
  295. package/dist/utils/hooks/withConfirmation/RunningQueryDialog.js +32 -0
  296. package/dist/utils/hooks/withConfirmation/RunningQueryDialog.js.map +1 -0
  297. package/dist/utils/hooks/withConfirmation/UnsavedChangesDialog.d.ts +4 -0
  298. package/dist/utils/hooks/withConfirmation/UnsavedChangesDialog.js +46 -0
  299. package/dist/utils/hooks/withConfirmation/UnsavedChangesDialog.js.map +1 -0
  300. package/dist/utils/hooks/withConfirmation/UnsavedChangesDialog.scss +5 -0
  301. package/dist/utils/hooks/withConfirmation/i18n/en.json +8 -2
  302. package/dist/utils/hooks/withConfirmation/i18n/index.d.ts +1 -1
  303. package/dist/utils/hooks/withConfirmation/useChangeInputWithConfirmation.d.ts +1 -1
  304. package/dist/utils/hooks/withConfirmation/useChangeInputWithConfirmation.js +5 -36
  305. package/dist/utils/hooks/withConfirmation/useChangeInputWithConfirmation.js.map +1 -1
  306. package/dist/utils/platform.d.ts +1 -0
  307. package/dist/utils/platform.js +11 -0
  308. package/dist/utils/platform.js.map +1 -0
  309. package/package.json +2 -1
  310. package/dist/containers/Tenant/Query/QueryEditor/EditorTabs/RenameTabDialog.d.ts +0 -7
  311. package/dist/containers/Tenant/Query/QueryEditor/EditorTabs/RenameTabDialog.js +0 -38
  312. package/dist/containers/Tenant/Query/QueryEditor/EditorTabs/RenameTabDialog.js.map +0 -1
package/README.md CHANGED
@@ -100,6 +100,18 @@ Run tests. If `PLAYWRIGHT_BASE_URL` is provided, tests run on this url, otherwis
100
100
  npm run test:e2e
101
101
  ```
102
102
 
103
+ Run tests in Playwright Docker.
104
+
105
+ ```
106
+ npm run test:e2e:docker
107
+ ```
108
+
109
+ Run tests in Playwright Docker and then serve the generated HTML report locally at `http://127.0.0.1:9323`. You can override host and port with `PLAYWRIGHT_HTML_HOST` and `PLAYWRIGHT_HTML_PORT`.
110
+
111
+ ```
112
+ npm run test:e2e:docker:report
113
+ ```
114
+
103
115
  ### CI
104
116
 
105
117
  E2E tests are run in CI in `e2e_tests` job. Tests run on Playwright `webServer` (it is started with `npm run dev`), `webServer` uses docker container `ghcr.io/ydb-platform/local-ydb:nightly` as backend.
@@ -8,6 +8,8 @@
8
8
  "error-details.label_url": "URL",
9
9
  "error-details.label_error-code": "Code",
10
10
  "error-details.label_message": "Message",
11
+ "error-details.label_error-origin": "Error origin",
12
+ "error-details.label_error-stage": "Error stage",
11
13
  "error-details.label_error-phase": "Phase",
12
14
  "error-details.phase_connection": "Connection failed",
13
15
  "error-details.phase_stream": "Connection interrupted during data transfer",
@@ -15,6 +17,9 @@
15
17
  "error-details.network_offline": "No internet connection",
16
18
  "error-details.label_trace-id": "Trace-ID",
17
19
  "error-details.label_request-id": "Request-ID",
20
+ "error-details.label_proxy-trace-id": "Proxy Trace-ID",
21
+ "error-details.label_proxy-request-id": "Proxy Request-ID",
22
+ "error-details.label_proxy-target": "Proxy Target",
18
23
  "error-details.label_proxy-name": "x-proxy-name",
19
24
  "error-details.label_worker-name": "x-worker-name",
20
25
  "error-details.label_issues": "Issues ({{count}})",
@@ -1,2 +1,2 @@
1
- declare const _default: (key: "401.title" | "401.description" | "403.title" | "403.description" | "responseError.defaultMessage" | "error.title" | "error-details.label_url" | "error-details.label_error-code" | "error-details.label_message" | "error-details.label_error-phase" | "error-details.phase_connection" | "error-details.phase_stream" | "error-details.label_network-type" | "error-details.network_offline" | "error-details.label_trace-id" | "error-details.label_request-id" | "error-details.label_proxy-name" | "error-details.label_worker-name" | "error-details.label_issues" | "error-details.button_issues" | "error-details.button_response" | "error-details.button_report-problem", params?: import("@gravity-ui/i18n").Params) => string;
1
+ declare const _default: (key: "401.title" | "401.description" | "403.title" | "403.description" | "responseError.defaultMessage" | "error.title" | "error-details.label_url" | "error-details.label_error-code" | "error-details.label_message" | "error-details.label_error-origin" | "error-details.label_error-stage" | "error-details.label_error-phase" | "error-details.phase_connection" | "error-details.phase_stream" | "error-details.label_network-type" | "error-details.network_offline" | "error-details.label_trace-id" | "error-details.label_request-id" | "error-details.label_proxy-trace-id" | "error-details.label_proxy-request-id" | "error-details.label_proxy-target" | "error-details.label_proxy-name" | "error-details.label_worker-name" | "error-details.label_issues" | "error-details.button_issues" | "error-details.button_response" | "error-details.button_report-problem", params?: import("@gravity-ui/i18n").Params) => string;
2
2
  export default _default;
@@ -10,6 +10,16 @@ function formatUrlLine(method, requestUrl) {
10
10
  }
11
11
  return requestUrl;
12
12
  }
13
+ function formatProxyTargetLine(proxyTarget, proxyRewrittenPath) {
14
+ if (proxyTarget && proxyRewrittenPath) {
15
+ const normalizedTarget = proxyTarget.endsWith('/') ? proxyTarget.slice(0, -1) : proxyTarget;
16
+ const normalizedPath = proxyRewrittenPath.startsWith('/')
17
+ ? proxyRewrittenPath
18
+ : `/${proxyRewrittenPath}`;
19
+ return `${normalizedTarget}${normalizedPath}`;
20
+ }
21
+ return proxyTarget || proxyRewrittenPath;
22
+ }
13
23
  function isUniqueMessage(message, details, renderedTitle) {
14
24
  if (!message) {
15
25
  return false;
@@ -17,21 +27,28 @@ function isUniqueMessage(message, details, renderedTitle) {
17
27
  return (message !== details.title && message !== details.dataMessage && message !== renderedTitle);
18
28
  }
19
29
  export function ErrorFieldsList({ details, renderedTitle, className, valueClassName, }) {
20
- const { requestUrl, method, errorCode, message, traceId, requestId, proxyName, workerName, errorPhase, networkEffectiveType, } = details;
30
+ const { requestUrl, method, errorCode, message, errorOrigin, errorStage, traceId, requestId, proxyTraceId, proxyRequestId, proxyRewrittenPath, proxyTarget, proxyName, workerName, errorPhase, networkEffectiveType, } = details;
21
31
  const urlLine = formatUrlLine(method, requestUrl);
32
+ const proxyTargetLine = formatProxyTargetLine(proxyTarget, proxyRewrittenPath);
22
33
  const showMessage = isUniqueMessage(message, details, renderedTitle);
23
- return (_jsxs(DefinitionList, { nameMaxWidth: 200, className: className, children: [urlLine && (_jsx(DefinitionList.Item, { name: i18n('error-details.label_url'), copyText: urlLine, children: _jsx("span", { className: valueClassName, children: urlLine }) })), errorCode && (_jsx(DefinitionList.Item, { name: i18n('error-details.label_error-code'), copyText: errorCode, children: _jsx("span", { className: valueClassName, children: errorCode }) })), showMessage && (_jsx(DefinitionList.Item, { name: i18n('error-details.label_message'), copyText: message, children: _jsx("span", { className: valueClassName, children: message }) })), errorPhase && (_jsx(DefinitionList.Item, { name: i18n('error-details.label_error-phase'), children: _jsx("span", { className: valueClassName, children: i18n(`error-details.phase_${errorPhase}`) }) })), networkEffectiveType && (_jsx(DefinitionList.Item, { name: i18n('error-details.label_network-type'), children: _jsx("span", { className: valueClassName, children: networkEffectiveType }) })), traceId && (_jsx(DefinitionList.Item, { name: i18n('error-details.label_trace-id'), copyText: traceId, children: _jsx("span", { className: valueClassName, children: traceId }) })), requestId && (_jsx(DefinitionList.Item, { name: i18n('error-details.label_request-id'), copyText: requestId, children: _jsx("span", { className: valueClassName, children: requestId }) })), proxyName && (_jsx(DefinitionList.Item, { name: i18n('error-details.label_proxy-name'), copyText: proxyName, children: _jsx("span", { className: valueClassName, children: proxyName }) })), workerName && (_jsx(DefinitionList.Item, { name: i18n('error-details.label_worker-name'), copyText: workerName, children: _jsx("span", { className: valueClassName, children: workerName }) }))] }));
34
+ return (_jsxs(DefinitionList, { nameMaxWidth: 200, className: className, children: [urlLine && (_jsx(DefinitionList.Item, { name: i18n('error-details.label_url'), copyText: urlLine, children: _jsx("span", { className: valueClassName, children: urlLine }) })), errorCode && (_jsx(DefinitionList.Item, { name: i18n('error-details.label_error-code'), copyText: errorCode, children: _jsx("span", { className: valueClassName, children: errorCode }) })), showMessage && (_jsx(DefinitionList.Item, { name: i18n('error-details.label_message'), copyText: message, children: _jsx("span", { className: valueClassName, children: message }) })), errorOrigin && (_jsx(DefinitionList.Item, { name: i18n('error-details.label_error-origin'), copyText: errorOrigin, children: _jsx("span", { className: valueClassName, children: errorOrigin }) })), errorStage && (_jsx(DefinitionList.Item, { name: i18n('error-details.label_error-stage'), copyText: errorStage, children: _jsx("span", { className: valueClassName, children: errorStage }) })), errorPhase && (_jsx(DefinitionList.Item, { name: i18n('error-details.label_error-phase'), children: _jsx("span", { className: valueClassName, children: i18n(`error-details.phase_${errorPhase}`) }) })), networkEffectiveType && (_jsx(DefinitionList.Item, { name: i18n('error-details.label_network-type'), children: _jsx("span", { className: valueClassName, children: networkEffectiveType }) })), traceId && (_jsx(DefinitionList.Item, { name: i18n('error-details.label_trace-id'), copyText: traceId, children: _jsx("span", { className: valueClassName, children: traceId }) })), requestId && (_jsx(DefinitionList.Item, { name: i18n('error-details.label_request-id'), copyText: requestId, children: _jsx("span", { className: valueClassName, children: requestId }) })), proxyTraceId && (_jsx(DefinitionList.Item, { name: i18n('error-details.label_proxy-trace-id'), copyText: proxyTraceId, children: _jsx("span", { className: valueClassName, children: proxyTraceId }) })), proxyRequestId && (_jsx(DefinitionList.Item, { name: i18n('error-details.label_proxy-request-id'), copyText: proxyRequestId, children: _jsx("span", { className: valueClassName, children: proxyRequestId }) })), proxyTargetLine && (_jsx(DefinitionList.Item, { name: i18n('error-details.label_proxy-target'), copyText: proxyTargetLine, children: _jsx("span", { className: valueClassName, children: proxyTargetLine }) })), proxyName && (_jsx(DefinitionList.Item, { name: i18n('error-details.label_proxy-name'), copyText: proxyName, children: _jsx("span", { className: valueClassName, children: proxyName }) })), workerName && (_jsx(DefinitionList.Item, { name: i18n('error-details.label_worker-name'), copyText: workerName, children: _jsx("span", { className: valueClassName, children: workerName }) }))] }));
24
35
  }
25
36
  export function hasVisibleFields(details, renderedTitle) {
26
- const { requestUrl, errorCode, traceId, requestId, proxyName, workerName, errorPhase, networkEffectiveType, } = details;
37
+ const { requestUrl, errorCode, errorOrigin, errorStage, traceId, requestId, proxyTraceId, proxyRequestId, proxyRewrittenPath, proxyTarget, proxyName, workerName, errorPhase, networkEffectiveType, } = details;
38
+ const proxyTargetLine = formatProxyTargetLine(proxyTarget, proxyRewrittenPath);
27
39
  const showMessage = isUniqueMessage(details.message, details, renderedTitle);
28
40
  return Boolean(requestUrl ||
29
41
  errorCode ||
30
42
  showMessage ||
43
+ errorOrigin ||
44
+ errorStage ||
31
45
  errorPhase ||
32
46
  networkEffectiveType ||
33
47
  traceId ||
34
48
  requestId ||
49
+ proxyTraceId ||
50
+ proxyRequestId ||
51
+ proxyTargetLine ||
35
52
  proxyName ||
36
53
  workerName);
37
54
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ErrorFieldsList.js","sourceRoot":"","sources":["../../../../src/components/Errors/shared/ErrorFieldsList.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ErrorFieldsList.js","sourceRoot":"","sources":["../../../../src/components/Errors/shared/ErrorFieldsList.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,mBAAmB,CAAC;AAGjD,OAAO,IAAI,MAAM,SAAS,CAAC;AAE3B,SAAS,aAAa,CAAC,MAAe,EAAE,UAAmB;IACvD,IAAI,CAAC,UAAU,EAAE,CAAC;QACd,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,IAAI,MAAM,EAAE,CAAC;QACT,OAAO,GAAG,MAAM,IAAI,UAAU,EAAE,CAAC;IACrC,CAAC;IACD,OAAO,UAAU,CAAC;AACtB,CAAC;AAED,SAAS,qBAAqB,CAC1B,WAAoB,EACpB,kBAA2B;IAE3B,IAAI,WAAW,IAAI,kBAAkB,EAAE,CAAC;QACpC,MAAM,gBAAgB,GAAG,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;QAC5F,MAAM,cAAc,GAAG,kBAAkB,CAAC,UAAU,CAAC,GAAG,CAAC;YACrD,CAAC,CAAC,kBAAkB;YACpB,CAAC,CAAC,IAAI,kBAAkB,EAAE,CAAC;QAE/B,OAAO,GAAG,gBAAgB,GAAG,cAAc,EAAE,CAAC;IAClD,CAAC;IAED,OAAO,WAAW,IAAI,kBAAkB,CAAC;AAC7C,CAAC;AAED,SAAS,eAAe,CACpB,OAA2B,EAC3B,OAAqB,EACrB,aAAsB;IAEtB,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,OAAO,CACH,OAAO,KAAK,OAAO,CAAC,KAAK,IAAI,OAAO,KAAK,OAAO,CAAC,WAAW,IAAI,OAAO,KAAK,aAAa,CAC5F,CAAC;AACN,CAAC;AASD,MAAM,UAAU,eAAe,CAAC,EAC5B,OAAO,EACP,aAAa,EACb,SAAS,EACT,cAAc,GACK;IACnB,MAAM,EACF,UAAU,EACV,MAAM,EACN,SAAS,EACT,OAAO,EACP,WAAW,EACX,UAAU,EACV,OAAO,EACP,SAAS,EACT,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,WAAW,EACX,SAAS,EACT,UAAU,EACV,UAAU,EACV,oBAAoB,GACvB,GAAG,OAAO,CAAC;IAEZ,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAClD,MAAM,eAAe,GAAG,qBAAqB,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;IAC/E,MAAM,WAAW,GAAG,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;IAErE,OAAO,CACH,MAAC,cAAc,IAAC,YAAY,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,aAClD,OAAO,IAAI,CACR,KAAC,cAAc,CAAC,IAAI,IAAC,IAAI,EAAE,IAAI,CAAC,yBAAyB,CAAC,EAAE,QAAQ,EAAE,OAAO,YACzE,eAAM,SAAS,EAAE,cAAc,YAAG,OAAO,GAAQ,GAC/B,CACzB,EACA,SAAS,IAAI,CACV,KAAC,cAAc,CAAC,IAAI,IAChB,IAAI,EAAE,IAAI,CAAC,gCAAgC,CAAC,EAC5C,QAAQ,EAAE,SAAS,YAEnB,eAAM,SAAS,EAAE,cAAc,YAAG,SAAS,GAAQ,GACjC,CACzB,EACA,WAAW,IAAI,CACZ,KAAC,cAAc,CAAC,IAAI,IAAC,IAAI,EAAE,IAAI,CAAC,6BAA6B,CAAC,EAAE,QAAQ,EAAE,OAAO,YAC7E,eAAM,SAAS,EAAE,cAAc,YAAG,OAAO,GAAQ,GAC/B,CACzB,EACA,WAAW,IAAI,CACZ,KAAC,cAAc,CAAC,IAAI,IAChB,IAAI,EAAE,IAAI,CAAC,kCAAkC,CAAC,EAC9C,QAAQ,EAAE,WAAW,YAErB,eAAM,SAAS,EAAE,cAAc,YAAG,WAAW,GAAQ,GACnC,CACzB,EACA,UAAU,IAAI,CACX,KAAC,cAAc,CAAC,IAAI,IAChB,IAAI,EAAE,IAAI,CAAC,iCAAiC,CAAC,EAC7C,QAAQ,EAAE,UAAU,YAEpB,eAAM,SAAS,EAAE,cAAc,YAAG,UAAU,GAAQ,GAClC,CACzB,EACA,UAAU,IAAI,CACX,KAAC,cAAc,CAAC,IAAI,IAAC,IAAI,EAAE,IAAI,CAAC,iCAAiC,CAAC,YAC9D,eAAM,SAAS,EAAE,cAAc,YAC1B,IAAI,CAAC,uBAAuB,UAAU,EAAE,CAAC,GACvC,GACW,CACzB,EACA,oBAAoB,IAAI,CACrB,KAAC,cAAc,CAAC,IAAI,IAAC,IAAI,EAAE,IAAI,CAAC,kCAAkC,CAAC,YAC/D,eAAM,SAAS,EAAE,cAAc,YAAG,oBAAoB,GAAQ,GAC5C,CACzB,EACA,OAAO,IAAI,CACR,KAAC,cAAc,CAAC,IAAI,IAAC,IAAI,EAAE,IAAI,CAAC,8BAA8B,CAAC,EAAE,QAAQ,EAAE,OAAO,YAC9E,eAAM,SAAS,EAAE,cAAc,YAAG,OAAO,GAAQ,GAC/B,CACzB,EACA,SAAS,IAAI,CACV,KAAC,cAAc,CAAC,IAAI,IAChB,IAAI,EAAE,IAAI,CAAC,gCAAgC,CAAC,EAC5C,QAAQ,EAAE,SAAS,YAEnB,eAAM,SAAS,EAAE,cAAc,YAAG,SAAS,GAAQ,GACjC,CACzB,EACA,YAAY,IAAI,CACb,KAAC,cAAc,CAAC,IAAI,IAChB,IAAI,EAAE,IAAI,CAAC,oCAAoC,CAAC,EAChD,QAAQ,EAAE,YAAY,YAEtB,eAAM,SAAS,EAAE,cAAc,YAAG,YAAY,GAAQ,GACpC,CACzB,EACA,cAAc,IAAI,CACf,KAAC,cAAc,CAAC,IAAI,IAChB,IAAI,EAAE,IAAI,CAAC,sCAAsC,CAAC,EAClD,QAAQ,EAAE,cAAc,YAExB,eAAM,SAAS,EAAE,cAAc,YAAG,cAAc,GAAQ,GACtC,CACzB,EACA,eAAe,IAAI,CAChB,KAAC,cAAc,CAAC,IAAI,IAChB,IAAI,EAAE,IAAI,CAAC,kCAAkC,CAAC,EAC9C,QAAQ,EAAE,eAAe,YAEzB,eAAM,SAAS,EAAE,cAAc,YAAG,eAAe,GAAQ,GACvC,CACzB,EACA,SAAS,IAAI,CACV,KAAC,cAAc,CAAC,IAAI,IAChB,IAAI,EAAE,IAAI,CAAC,gCAAgC,CAAC,EAC5C,QAAQ,EAAE,SAAS,YAEnB,eAAM,SAAS,EAAE,cAAc,YAAG,SAAS,GAAQ,GACjC,CACzB,EACA,UAAU,IAAI,CACX,KAAC,cAAc,CAAC,IAAI,IAChB,IAAI,EAAE,IAAI,CAAC,iCAAiC,CAAC,EAC7C,QAAQ,EAAE,UAAU,YAEpB,eAAM,SAAS,EAAE,cAAc,YAAG,UAAU,GAAQ,GAClC,CACzB,IACY,CACpB,CAAC;AACN,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,OAAqB,EAAE,aAAsB;IAC1E,MAAM,EACF,UAAU,EACV,SAAS,EACT,WAAW,EACX,UAAU,EACV,OAAO,EACP,SAAS,EACT,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,WAAW,EACX,SAAS,EACT,UAAU,EACV,UAAU,EACV,oBAAoB,GACvB,GAAG,OAAO,CAAC;IACZ,MAAM,eAAe,GAAG,qBAAqB,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;IAC/E,MAAM,WAAW,GAAG,eAAe,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;IAE7E,OAAO,OAAO,CACV,UAAU;QACN,SAAS;QACT,WAAW;QACX,WAAW;QACX,UAAU;QACV,UAAU;QACV,oBAAoB;QACpB,OAAO;QACP,SAAS;QACT,YAAY;QACZ,cAAc;QACd,eAAe;QACf,SAAS;QACT,UAAU,CACjB,CAAC;AACN,CAAC"}
@@ -1,2 +1,2 @@
1
- declare const _default: (key: "version" | "database" | "links" | "uptime" | "dc" | "rack" | "no-data" | "developer-ui" | "la-interval-1m" | "la-interval-5m" | "la-interval-15m" | "title.common-info" | "title.endpoints" | "title.roles" | "title.pools" | "title.load-average", params?: import("@gravity-ui/i18n").Params) => string;
1
+ declare const _default: (key: "version" | "database" | "links" | "dc" | "uptime" | "rack" | "no-data" | "developer-ui" | "la-interval-1m" | "la-interval-5m" | "la-interval-15m" | "title.common-info" | "title.endpoints" | "title.roles" | "title.pools" | "title.load-average", params?: import("@gravity-ui/i18n").Params) => string;
2
2
  export default _default;
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ import './InfoViewerTitle.scss';
3
+ export declare function InfoViewerTitle({ children, className, }: {
4
+ children: React.ReactNode;
5
+ className?: string;
6
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,8 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { cn } from '../../utils/cn';
3
+ import './InfoViewerTitle.scss';
4
+ const b = cn('ydb-info-viewer-title');
5
+ export function InfoViewerTitle({ children, className, }) {
6
+ return _jsx("div", { className: b(null, className), children: children });
7
+ }
8
+ //# sourceMappingURL=InfoViewerTitle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InfoViewerTitle.js","sourceRoot":"","sources":["../../../src/components/InfoViewerTitle/InfoViewerTitle.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAC,EAAE,EAAC,MAAM,gBAAgB,CAAC;AAElC,OAAO,wBAAwB,CAAC;AAEhC,MAAM,CAAC,GAAG,EAAE,CAAC,uBAAuB,CAAC,CAAC;AAEtC,MAAM,UAAU,eAAe,CAAC,EAC5B,QAAQ,EACR,SAAS,GAIZ;IACG,OAAO,cAAK,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,YAAG,QAAQ,GAAO,CAAC;AAChE,CAAC"}
@@ -0,0 +1,5 @@
1
+ @use '../../styles/mixins.scss';
2
+
3
+ .ydb-info-viewer-title {
4
+ @include mixins.info-viewer-title();
5
+ }
@@ -1,4 +1,4 @@
1
1
  import type { GetChartDataParams } from './getChartData';
2
2
  export declare const chartApi: import("@reduxjs/toolkit/query").Api<import("@reduxjs/toolkit/query").BaseQueryFn<void, typeof import("../../store/reducers/api")._NEVER, unknown, {}>, {
3
- getChartData: import("@reduxjs/toolkit/query").QueryDefinition<GetChartDataParams, import("@reduxjs/toolkit/query").BaseQueryFn<void, typeof import("../../store/reducers/api")._NEVER, unknown, {}>, "All" | "Conversations" | "Events" | "PDiskData" | "PreviewData" | "SchemaTree" | "StorageData" | "Tablet" | "UserData" | "VDiskData" | "VDiskBlobIndexStat" | "AccessRights" | "Backups" | "BackupsSchedule", import("./types").PreparedMetricsData | undefined, "api", any>;
4
- }, "api", "All" | "Conversations" | "Events" | "PDiskData" | "PreviewData" | "SchemaTree" | "StorageData" | "Tablet" | "UserData" | "VDiskData" | "VDiskBlobIndexStat" | "AccessRights" | "Backups" | "BackupsSchedule", typeof import("@reduxjs/toolkit/query").coreModuleName | typeof import("@reduxjs/toolkit/query/react").reactHooksModuleName>;
3
+ getChartData: import("@reduxjs/toolkit/query").QueryDefinition<GetChartDataParams, import("@reduxjs/toolkit/query").BaseQueryFn<void, typeof import("../../store/reducers/api")._NEVER, unknown, {}>, "Events" | "All" | "Conversations" | "PDiskData" | "PreviewData" | "SchemaTree" | "StorageData" | "Tablet" | "UserData" | "VDiskData" | "VDiskBlobIndexStat" | "AccessRights" | "Backups" | "BackupsSchedule", import("./types").PreparedMetricsData | undefined, "api", any>;
4
+ }, "api", "Events" | "All" | "Conversations" | "PDiskData" | "PreviewData" | "SchemaTree" | "StorageData" | "Tablet" | "UserData" | "VDiskData" | "VDiskBlobIndexStat" | "AccessRights" | "Backups" | "BackupsSchedule", typeof import("@reduxjs/toolkit/query").coreModuleName | typeof import("@reduxjs/toolkit/query/react").reactHooksModuleName>;
@@ -2,7 +2,7 @@ import type { PoolName } from '../../types/api/nodes';
2
2
  type Percentile = 'p50' | 'p75' | 'p90' | 'p99';
3
3
  type QueriesLatenciesMetric = `queries.latencies.${Percentile}`;
4
4
  type PoolUsageMetric = `resources.cpu.${PoolName}.usage`;
5
- export type Metric = 'queries.requests' | 'resources.memory.used_bytes' | 'resources.storage.used_bytes' | 'resources.cpu.usage' | PoolUsageMetric | QueriesLatenciesMetric;
5
+ export type Metric = 'queries.requests' | 'resources.memory.used_bytes' | 'resources.storage.used_bytes' | 'resources.cpu.usage' | 'resources.network.sent_bytes' | 'resources.network.received_bytes' | PoolUsageMetric | QueriesLatenciesMetric;
6
6
  export interface MetricDescription {
7
7
  target: Metric;
8
8
  title?: string;
@@ -1,9 +1,13 @@
1
1
  import './SegmentedProgress.scss';
2
+ type DisplayNoLimit = 'empty' | 'filled';
2
3
  export interface SegmentedProgressProps {
3
4
  value: number;
4
5
  total: number;
5
6
  className?: string;
6
7
  labelStart?: string;
8
+ labelEnd?: string;
7
9
  ariaLabel?: string;
10
+ displayNoLimit?: DisplayNoLimit;
8
11
  }
9
- export declare function SegmentedProgress({ value, total, className, labelStart, ariaLabel, }: SegmentedProgressProps): import("react/jsx-runtime").JSX.Element;
12
+ export declare function SegmentedProgress({ value, total, className, labelStart, labelEnd, ariaLabel, displayNoLimit, }: SegmentedProgressProps): import("react/jsx-runtime").JSX.Element;
13
+ export {};
@@ -4,7 +4,7 @@ import { Flex, Text } from '@gravity-ui/uikit';
4
4
  import { cn } from '../../utils/cn';
5
5
  import './SegmentedProgress.scss';
6
6
  const b = cn('ydb-segmented-progress');
7
- export function SegmentedProgress({ value, total, className, labelStart, ariaLabel, }) {
7
+ export function SegmentedProgress({ value, total, className, labelStart, labelEnd, ariaLabel, displayNoLimit = 'empty', }) {
8
8
  const percentUsed = total > 0 ? (value / total) * 100 : 0;
9
9
  const normalizedUsed = React.useMemo(() => {
10
10
  if (percentUsed < 0) {
@@ -18,6 +18,15 @@ export function SegmentedProgress({ value, total, className, labelStart, ariaLab
18
18
  }
19
19
  return Math.round(percentUsed);
20
20
  }, [percentUsed]);
21
- return (_jsxs(Flex, { direction: "column", gap: 1, children: [_jsxs(Flex, { gap: 1, alignItems: "center", wrap: "nowrap", className: b(null, className), role: "progressbar", "aria-label": ariaLabel, "aria-valuemin": 0, "aria-valuemax": 100, "aria-valuenow": normalizedUsed, children: [normalizedUsed > 0 && (_jsx("div", { className: b('section', { used: true }), style: { width: `${normalizedUsed}%` } })), 100 - normalizedUsed > 0 && _jsx("div", { className: b('section'), style: { flexGrow: 1 } })] }), _jsxs(Flex, { width: "100%", children: [labelStart && _jsx(Text, { color: "secondary", children: labelStart }), _jsxs(Text, { color: "secondary", className: b('label'), children: [normalizedUsed, "%"] })] })] }));
21
+ const fillWidth = React.useMemo(() => {
22
+ if (!total) {
23
+ if (displayNoLimit === 'filled') {
24
+ return 100;
25
+ }
26
+ return 0;
27
+ }
28
+ return normalizedUsed;
29
+ }, [total, normalizedUsed, displayNoLimit]);
30
+ return (_jsxs(Flex, { direction: "column", gap: 1, children: [_jsxs(Flex, { gap: 1, alignItems: "center", wrap: "nowrap", className: b(null, className), role: "progressbar", "aria-label": ariaLabel, "aria-valuemin": 0, "aria-valuemax": 100, "aria-valuenow": normalizedUsed, children: [fillWidth > 0 && (_jsx("div", { className: b('section', { used: true }), style: { width: `${fillWidth}%` } })), 100 - fillWidth > 0 && _jsx("div", { className: b('section'), style: { flexGrow: 1 } })] }), _jsxs(Flex, { width: "100%", children: [labelStart && _jsx(Text, { color: "secondary", children: labelStart }), _jsx(Text, { color: "secondary", className: b('label'), children: labelEnd !== null && labelEnd !== void 0 ? labelEnd : `${normalizedUsed}%` })] })] }));
22
31
  }
23
32
  //# sourceMappingURL=SegmentedProgress.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SegmentedProgress.js","sourceRoot":"","sources":["../../../src/components/SegmentedProgress/SegmentedProgress.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,IAAI,EAAE,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAC,EAAE,EAAC,MAAM,gBAAgB,CAAC;AAElC,OAAO,0BAA0B,CAAC;AAElC,MAAM,CAAC,GAAG,EAAE,CAAC,wBAAwB,CAAC,CAAC;AAUvC,MAAM,UAAU,iBAAiB,CAAC,EAC9B,KAAK,EACL,KAAK,EACL,SAAS,EACT,UAAU,EACV,SAAS,GACY;IACrB,MAAM,WAAW,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1D,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACtC,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;YAClB,OAAO,CAAC,CAAC;QACb,CAAC;QACD,IAAI,WAAW,GAAG,GAAG,EAAE,CAAC;YACpB,OAAO,GAAG,CAAC;QACf,CAAC;QACD,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;QAC7C,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACnC,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAClB,OAAO,CACH,MAAC,IAAI,IAAC,SAAS,EAAC,QAAQ,EAAC,GAAG,EAAE,CAAC,aAC3B,MAAC,IAAI,IACD,GAAG,EAAE,CAAC,EACN,UAAU,EAAC,QAAQ,EACnB,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,EAC7B,IAAI,EAAC,aAAa,gBACN,SAAS,mBACN,CAAC,mBACD,GAAG,mBACH,cAAc,aAE5B,cAAc,GAAG,CAAC,IAAI,CACnB,cACI,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC,EACrC,KAAK,EAAE,EAAC,KAAK,EAAE,GAAG,cAAc,GAAG,EAAC,GACtC,CACL,EACA,GAAG,GAAG,cAAc,GAAG,CAAC,IAAI,cAAK,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,EAAC,QAAQ,EAAE,CAAC,EAAC,GAAI,IAChF,EACP,MAAC,IAAI,IAAC,KAAK,EAAC,MAAM,aACb,UAAU,IAAI,KAAC,IAAI,IAAC,KAAK,EAAC,WAAW,YAAE,UAAU,GAAQ,EAC1D,MAAC,IAAI,IAAC,KAAK,EAAC,WAAW,EAAC,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,aACxC,cAAc,SACZ,IACJ,IACJ,CACV,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"SegmentedProgress.js","sourceRoot":"","sources":["../../../src/components/SegmentedProgress/SegmentedProgress.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,IAAI,EAAE,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAC,EAAE,EAAC,MAAM,gBAAgB,CAAC;AAElC,OAAO,0BAA0B,CAAC;AAElC,MAAM,CAAC,GAAG,EAAE,CAAC,wBAAwB,CAAC,CAAC;AAcvC,MAAM,UAAU,iBAAiB,CAAC,EAC9B,KAAK,EACL,KAAK,EACL,SAAS,EACT,UAAU,EACV,QAAQ,EACR,SAAS,EACT,cAAc,GAAG,OAAO,GACH;IACrB,MAAM,WAAW,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1D,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACtC,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;YAClB,OAAO,CAAC,CAAC;QACb,CAAC;QACD,IAAI,WAAW,GAAG,GAAG,EAAE,CAAC;YACpB,OAAO,GAAG,CAAC;QACf,CAAC;QACD,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;QAC7C,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACnC,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACjC,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,IAAI,cAAc,KAAK,QAAQ,EAAE,CAAC;gBAC9B,OAAO,GAAG,CAAC;YACf,CAAC;YACD,OAAO,CAAC,CAAC;QACb,CAAC;QACD,OAAO,cAAc,CAAC;IAC1B,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC,CAAC;IAE5C,OAAO,CACH,MAAC,IAAI,IAAC,SAAS,EAAC,QAAQ,EAAC,GAAG,EAAE,CAAC,aAC3B,MAAC,IAAI,IACD,GAAG,EAAE,CAAC,EACN,UAAU,EAAC,QAAQ,EACnB,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,EAC7B,IAAI,EAAC,aAAa,gBACN,SAAS,mBACN,CAAC,mBACD,GAAG,mBACH,cAAc,aAE5B,SAAS,GAAG,CAAC,IAAI,CACd,cAAK,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC,EAAE,KAAK,EAAE,EAAC,KAAK,EAAE,GAAG,SAAS,GAAG,EAAC,GAAI,CAClF,EACA,GAAG,GAAG,SAAS,GAAG,CAAC,IAAI,cAAK,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,EAAC,QAAQ,EAAE,CAAC,EAAC,GAAI,IAC3E,EACP,MAAC,IAAI,IAAC,KAAK,EAAC,MAAM,aACb,UAAU,IAAI,KAAC,IAAI,IAAC,KAAK,EAAC,WAAW,YAAE,UAAU,GAAQ,EAC1D,KAAC,IAAI,IAAC,KAAK,EAAC,WAAW,EAAC,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,YACxC,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,GAAG,cAAc,GAAG,GAC9B,IACJ,IACJ,CACV,CAAC;AACN,CAAC"}
@@ -16,6 +16,6 @@ export function Table({ className, width, wrapperClassName, ...props }) {
16
16
  const align = (_a = cell === null || cell === void 0 ? void 0 : cell.column.columnDef.meta) === null || _a === void 0 ? void 0 : _a.align;
17
17
  const verticalAlign = (_b = cell === null || cell === void 0 ? void 0 : cell.column.columnDef.meta) === null || _b === void 0 ? void 0 : _b.verticalAlign;
18
18
  return block('table-cell', { align, 'vertical-align': verticalAlign });
19
- }, className: block('table', { width }, className), ...props }) }));
19
+ }, rowClassName: block('row'), className: block('table', { width }, className), ...props }) }));
20
20
  }
21
21
  //# sourceMappingURL=Table.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Table.js","sourceRoot":"","sources":["../../../src/components/Table/Table.tsx"],"names":[],"mappings":";AACA,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAC,EAAE,EAAC,MAAM,gBAAgB,CAAC;AAElC,OAAO,cAAc,CAAC;AAEtB,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC;AAY9B,MAAM,UAAU,YAAY,CAAC,EAAC,QAAQ,EAAE,SAAS,EAAoB;IACjE,OAAO,cAAK,SAAS,EAAE,KAAK,CAAC,sBAAsB,EAAE,SAAS,CAAC,YAAG,QAAQ,GAAO,CAAC;AACtF,CAAC;AAED,MAAM,UAAU,KAAK,CAAQ,EAAC,SAAS,EAAE,KAAK,EAAE,gBAAgB,EAAE,GAAG,KAAK,EAAoB;IAC1F,OAAO,CACH,cAAK,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE,gBAAgB,CAAC,YACzC,KAAC,SAAS,IACN,mBAAmB,EAAE,CAAC,EAAC,MAAM,EAAC,EAAE,EAAE;;gBAC9B,MAAM,KAAK,GAAG,MAAA,MAAM,CAAC,SAAS,CAAC,IAAI,0CAAE,KAAK,CAAC;gBAC3C,OAAO,KAAK,CAAC,mBAAmB,EAAE,EAAC,KAAK,EAAC,CAAC,CAAC;YAC/C,CAAC,EACD,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE;;gBACpB,MAAM,KAAK,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,CAAC,SAAS,CAAC,IAAI,0CAAE,KAAK,CAAC;gBACjD,MAAM,aAAa,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,CAAC,SAAS,CAAC,IAAI,0CAAE,aAAa,CAAC;gBACjE,OAAO,KAAK,CAAC,YAAY,EAAE,EAAC,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAC,CAAC,CAAC;YACzE,CAAC,EACD,SAAS,EAAE,KAAK,CAAC,OAAO,EAAE,EAAC,KAAK,EAAC,EAAE,SAAS,CAAC,KACzC,KAAK,GACX,GACA,CACT,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"Table.js","sourceRoot":"","sources":["../../../src/components/Table/Table.tsx"],"names":[],"mappings":";AACA,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAC,EAAE,EAAC,MAAM,gBAAgB,CAAC;AAElC,OAAO,cAAc,CAAC;AAEtB,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC;AAY9B,MAAM,UAAU,YAAY,CAAC,EAAC,QAAQ,EAAE,SAAS,EAAoB;IACjE,OAAO,cAAK,SAAS,EAAE,KAAK,CAAC,sBAAsB,EAAE,SAAS,CAAC,YAAG,QAAQ,GAAO,CAAC;AACtF,CAAC;AAED,MAAM,UAAU,KAAK,CAAQ,EAAC,SAAS,EAAE,KAAK,EAAE,gBAAgB,EAAE,GAAG,KAAK,EAAoB;IAC1F,OAAO,CACH,cAAK,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE,gBAAgB,CAAC,YACzC,KAAC,SAAS,IACN,mBAAmB,EAAE,CAAC,EAAC,MAAM,EAAC,EAAE,EAAE;;gBAC9B,MAAM,KAAK,GAAG,MAAA,MAAM,CAAC,SAAS,CAAC,IAAI,0CAAE,KAAK,CAAC;gBAC3C,OAAO,KAAK,CAAC,mBAAmB,EAAE,EAAC,KAAK,EAAC,CAAC,CAAC;YAC/C,CAAC,EACD,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE;;gBACpB,MAAM,KAAK,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,CAAC,SAAS,CAAC,IAAI,0CAAE,KAAK,CAAC;gBACjD,MAAM,aAAa,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,CAAC,SAAS,CAAC,IAAI,0CAAE,aAAa,CAAC;gBACjE,OAAO,KAAK,CAAC,YAAY,EAAE,EAAC,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAC,CAAC,CAAC;YACzE,CAAC,EACD,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC,EAC1B,SAAS,EAAE,KAAK,CAAC,OAAO,EAAE,EAAC,KAAK,EAAC,EAAE,SAAS,CAAC,KACzC,KAAK,GACX,GACA,CACT,CAAC;AACN,CAAC"}
@@ -2,7 +2,10 @@
2
2
 
3
3
  .ydb-table {
4
4
  $block: &;
5
+ --ydb-table-row-height: 40px;
6
+ --ydb-table-head-cell-height: 40px;
5
7
  --ydb-table-cell-height: 40px;
8
+
6
9
  &__table-header-content {
7
10
  display: inline-flex;
8
11
  align-items: center;
@@ -26,11 +29,16 @@
26
29
  background-color: var(--g-color-base-generic-ultralight);
27
30
  }
28
31
  }
32
+ &__row {
33
+ // Ensure row height even when cell height is different.
34
+ // Cell could be bigger than row, this height should be considered as `min-height`
35
+ height: var(--ydb-table-row-height) !important;
36
+ }
29
37
  &__table_width_max {
30
38
  width: 100%;
31
39
  }
32
40
  &__table-header-cell {
33
- height: var(--ydb-table-cell-height) !important;
41
+ height: var(--ydb-table-head-cell-height) !important;
34
42
  padding: 0;
35
43
 
36
44
  text-align: left;
@@ -16,10 +16,9 @@
16
16
  }
17
17
 
18
18
  &__controls-wrapper {
19
- $padding-top: var(--ydb-table-with-controls-layout-controls-padding-top, 0px);
20
19
  z-index: 3;
21
20
 
22
- align-items: if($padding-top == 0px, flex-start, center);
21
+ align-items: var(--ydb-table-with-controls-layout-controls-align-items, center);
23
22
 
24
23
  box-sizing: border-box;
25
24
  width: 100%;
@@ -2,6 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import React from 'react';
3
3
  import { DefinitionList, Flex, Icon, Label } from '@gravity-ui/uikit';
4
4
  import { cn } from '../../utils/cn';
5
+ import { InfoViewerTitle } from '../InfoViewerTitle/InfoViewerTitle';
5
6
  import i18n from './i18n';
6
7
  import './YDBDefinitionList.scss';
7
8
  const b = cn('ydb-definition-list');
@@ -12,7 +13,7 @@ export function YDBDefinitionList({ title, titleSuffix, titleSeparator = '•',
12
13
  if (!hasHeader) {
13
14
  return null;
14
15
  }
15
- return (_jsxs(Flex, { className: b('header'), justifyContent: "space-between", gap: 2, alignItems: "center", children: [title && (_jsxs(Flex, { gap: "1", alignItems: "center", children: [_jsx("div", { className: b('title', titleClassname), children: title }), titleSuffix && (_jsxs(React.Fragment, { children: [_jsx("div", { className: b('title-suffix'), children: titleSeparator }), _jsx("div", { className: b('title-suffix'), children: titleSuffix })] }))] })), headerLabels && headerLabels.length > 0 && (_jsx(Flex, { gap: 1, alignItems: "center", children: headerLabels.map((label) => (_jsx(Label, { theme: label.theme, icon: label.icon ? (_jsx(Icon, { data: label.icon, size: iconSize })) : undefined, size: labelSize, children: label.value }, label.id))) }))] }));
16
+ return (_jsxs(Flex, { className: b('header'), justifyContent: "space-between", gap: 2, alignItems: "center", children: [title && (_jsxs(Flex, { gap: "1", alignItems: "center", children: [_jsx(InfoViewerTitle, { className: b('title', titleClassname), children: title }), titleSuffix && (_jsxs(React.Fragment, { children: [_jsx("div", { className: b('title-suffix'), children: titleSeparator }), _jsx("div", { className: b('title-suffix'), children: titleSuffix })] }))] })), headerLabels && headerLabels.length > 0 && (_jsx(Flex, { gap: 1, alignItems: "center", children: headerLabels.map((label) => (_jsx(Label, { theme: label.theme, icon: label.icon ? (_jsx(Icon, { data: label.icon, size: iconSize })) : undefined, size: labelSize, children: label.value }, label.id))) }))] }));
16
17
  };
17
18
  const renderContent = () => {
18
19
  if (items.length) {
@@ -1 +1 @@
1
- {"version":3,"file":"YDBDefinitionList.js","sourceRoot":"","sources":["../../../src/components/YDBDefinitionList/YDBDefinitionList.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"YDBDefinitionList.js","sourceRoot":"","sources":["../../../src/components/YDBDefinitionList/YDBDefinitionList.tsx"],"names":[],"mappings":"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"}
@@ -4,10 +4,6 @@
4
4
  $block: &;
5
5
  @include mixins.flex-container();
6
6
 
7
- &__title {
8
- @include mixins.info-viewer-title();
9
- }
10
-
11
7
  &__title-suffix {
12
8
  color: var(--g-color-text-secondary);
13
9
  }
@@ -1,2 +1,2 @@
1
- declare const _default: (key: "missing" | "version" | "database" | "tablets" | "cpu" | "memory" | "max" | "min" | "ping" | "uptime" | "dc" | "load" | "send" | "node-id" | "host" | "node-name" | "rack" | "ram" | "pools" | "disk-usage" | "load-average" | "sessions" | "pdisks" | "field_memory-used" | "field_memory-limit" | "field_pile-name" | "system-state" | "connect-status" | "utilization" | "network-utilization" | "connections" | "clock-skew" | "skew" | "ping-time" | "receive" | "avg" | "sum", params?: import("@gravity-ui/i18n").Params) => string;
1
+ declare const _default: (key: "missing" | "version" | "database" | "tablets" | "cpu" | "memory" | "max" | "min" | "ping" | "dc" | "uptime" | "load" | "send" | "node-id" | "host" | "node-name" | "rack" | "ram" | "pools" | "disk-usage" | "load-average" | "sessions" | "pdisks" | "field_memory-used" | "field_memory-limit" | "field_pile-name" | "system-state" | "connect-status" | "utilization" | "network-utilization" | "connections" | "clock-skew" | "skew" | "ping-time" | "receive" | "avg" | "sum", params?: import("@gravity-ui/i18n").Params) => string;
2
2
  export default _default;
@@ -67,11 +67,32 @@ body,
67
67
  &_theme_light,
68
68
  &_theme_light-hc {
69
69
  --code-background-color: var(--g-color-base-simple-hover-solid);
70
+
71
+ // Multi-tab query editor
72
+ --multitab-tab-inactive-background-color: var(--g-color-base-background);
73
+ --multitab-tab-inactive-border-color: var(--g-color-line-generic);
74
+ --multitab-tab-inactive-hover-background-color: #f2f2f2;
75
+ --multitab-tab-active-background-color: #f2f2f2;
76
+ --multitab-tab-active-border-color: transparent;
77
+ --multitab-tab-action-hover-color: #e6e6e6;
78
+ --multitab-code-background-color: var(--g-color-base-simple-hover-solid);
70
79
  }
71
80
  &_theme_dark,
72
81
  &_theme_dark-hc {
73
82
  // monaco background - vscDarkPlus theme
74
83
  --code-background-color: #1e1e1e;
84
+
85
+ // Multi-tab query editor
86
+ --multitab-tab-inactive-background-color: #424147;
87
+ --multitab-tab-inactive-border-color: transparent;
88
+ --multitab-tab-inactive-hover-background-color: #4d4c52;
89
+ --multitab-tab-active-background-color: #222126;
90
+ --multitab-tab-active-border-color: transparent;
91
+ --multitab-tab-action-hover-color: #36353a;
92
+ // Cannot use var(--code-background-color) here — it would create a circular
93
+ // dependency with QueryEditor.scss which overrides --code-background-color
94
+ // with var(--multitab-code-background-color) in multi-tab mode.
95
+ --multitab-code-background-color: #222126;
75
96
  }
76
97
  }
77
98
 
@@ -3,11 +3,12 @@ import React from 'react';
3
3
  import { CircleQuestion, Gear, Person } from '@gravity-ui/icons';
4
4
  import { AsideHeader, FooterItem } from '@gravity-ui/navigation';
5
5
  import { useHistory } from 'react-router-dom';
6
+ import { useMultiTabQueryEditorEnabled } from '../../store/reducers/capabilities/hooks';
6
7
  import { SETTING_KEYS } from '../../store/reducers/settings/constants';
7
8
  import { cn } from '../../utils/cn';
8
9
  import { useSetting } from '../../utils/hooks';
9
10
  import { InformationPopup } from './InformationPopup';
10
- import { useHotkeysPanel } from './hooks/useHotkeysPanel';
11
+ import { DEFAULT_HOTKEY_GROUPS, EDITOR_TABS_HOTKEY_GROUP, useHotkeysPanel, } from './hooks/useHotkeysPanel';
11
12
  import i18n from './i18n';
12
13
  import userSecret from '../../assets/icons/user-secret.svg';
13
14
  import ydbLogoIcon from '../../assets/icons/ydb.svg';
@@ -45,10 +46,15 @@ export function AsideNavigation(props) {
45
46
  const closePanel = React.useCallback(() => {
46
47
  setVisiblePanel(undefined);
47
48
  }, []);
49
+ const isMultiTabQueryEditorEnabled = useMultiTabQueryEditorEnabled();
50
+ const hotkeyGroups = isMultiTabQueryEditorEnabled
51
+ ? [...DEFAULT_HOTKEY_GROUPS, EDITOR_TABS_HOTKEY_GROUP]
52
+ : DEFAULT_HOTKEY_GROUPS;
48
53
  const { renderPanel: renderHotkeysPanel } = useHotkeysPanel({
49
54
  isPanelVisible: visiblePanel === Panel.Hotkeys,
50
55
  closePanel,
51
56
  openPanel: openHotkeysPanel,
57
+ hotkeyGroups,
52
58
  });
53
59
  const renderInformationPopup = () => {
54
60
  return _jsx(InformationPopup, { onKeyboardShortcutsClick: openHotkeysPanel });
@@ -1 +1 @@
1
- {"version":3,"file":"AsideNavigation.js","sourceRoot":"","sources":["../../../src/containers/AsideNavigation/AsideNavigation.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AsideNavigation.js","sourceRoot":"","sources":["../../../src/containers/AsideNavigation/AsideNavigation.tsx"],"names":[],"mappings":"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"}
@@ -1,27 +1,45 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import React from 'react';
3
+ import { Alert, Popover } from '@gravity-ui/uikit';
3
4
  import { useRouteMatch } from 'react-router-dom';
4
5
  import { useComponent } from '../../components/ComponentsProvider/ComponentsProvider';
5
6
  import routes from '../../routes';
6
7
  import { selectUser } from '../../store/reducers/authentication/authentication';
8
+ import { SETTING_KEYS } from '../../store/reducers/settings/constants';
9
+ import { useSetting } from '../../store/reducers/settings/useSetting';
7
10
  import { cn } from '../../utils/cn';
8
- import { useTypedSelector } from '../../utils/hooks';
11
+ import { useDelayed, useTypedSelector } from '../../utils/hooks';
9
12
  import { useTenantNavigation } from '../Tenant/TenantNavigation/useTenantNavigation';
10
13
  import { useNavigationV2Enabled } from '../Tenant/utils/useNavigationV2Enabled';
11
14
  import { UserSettings } from '../UserSettings/UserSettings';
12
15
  import { YdbInternalUser } from './YdbInternalUser/YdbInternalUser';
16
+ import i18n from './i18n';
13
17
  import './Navigation.scss';
14
18
  const b = cn('ydb-navigation-wrapper');
15
19
  export function Navigation({ children, userSettings }) {
16
20
  const AsideNavigation = useComponent('AsideNavigation');
17
21
  const match = useRouteMatch(routes.tenant);
22
+ const isDatabasePage = Boolean(match);
18
23
  const tenantNavigationItems = useTenantNavigation();
19
24
  const isV2Enabled = useNavigationV2Enabled();
25
+ const { value: isV2NavigationAlertSeen, saveValue: setIsV2NavigationAlertSeen, isLoading: isNotificationSettingLoading, } = useSetting(SETTING_KEYS.IS_V2_NAVIGATION_ALERT_SEEN);
20
26
  const ydbUser = useTypedSelector(selectUser);
27
+ const shouldShowNewNavAlert = isV2Enabled && isDatabasePage && !isV2NavigationAlertSeen && !isNotificationSettingLoading;
28
+ const [isNewNavAlertReady] = useDelayed(2000, shouldShowNewNavAlert);
29
+ const isNewNavAlertShown = shouldShowNewNavAlert && isNewNavAlertReady;
30
+ const handleNewNavAlertClose = React.useCallback(() => {
31
+ setIsV2NavigationAlertSeen(true);
32
+ }, [setIsV2NavigationAlertSeen]);
21
33
  const menuItems = React.useMemo(() => {
22
- if (!match || !isV2Enabled) {
34
+ if (!isDatabasePage || !isV2Enabled) {
23
35
  return undefined;
24
36
  }
37
+ const renderNavItem = ({ wrapperCnParams, buttonCnParams, makeItem, makeItemParams, }) => {
38
+ // span1: full width wrapper to ensure proper button position
39
+ // span2: wrapper with additional background and animation
40
+ // span3: button wrapper for proper active and hover colors
41
+ return (_jsx("span", { className: b('nav-item-wrapper'), children: _jsx("span", { className: b('nav-item-bg', wrapperCnParams), children: _jsx("span", { className: b('button-wrapper', buttonCnParams), children: makeItem(makeItemParams) }) }) }));
42
+ };
25
43
  return tenantNavigationItems.map((item) => {
26
44
  const navigationItem = {
27
45
  id: item.id,
@@ -49,15 +67,36 @@ export function Navigation({ children, userSettings }) {
49
67
  ...baseCnParams,
50
68
  active: item.current,
51
69
  };
52
- // span1: full width wrapper to ensure proper button position
53
- // span2: wrapper with additional background and animation
54
- // span3: button wrapper for proper active and hover colors
55
- return (_jsx("span", { className: b('nav-item-wrapper'), children: _jsx("span", { className: b('nav-item-bg', wrapperCnParams), children: _jsx("span", { className: b('button-wrapper', buttonCnParams), children: makeItem(params) }) }) }));
70
+ if (item.id === 'diagnostics') {
71
+ return (_jsx(Popover, { open: isNewNavAlertShown, className: b('popover'), hasArrow: true, placement: ['right-start'], onOpenChange: (open, _, reason) => {
72
+ const isValidCloseReason = reason === 'outside-press' || reason === 'escape-key';
73
+ if (!open && isValidCloseReason) {
74
+ handleNewNavAlertClose();
75
+ }
76
+ }, content: _jsx(Alert, { theme: "clear", layout: "vertical", icon: null, title: i18n('alert.new-nav-title'), message: i18n('alert.new-nav-message'), onClose: handleNewNavAlertClose, actions: _jsx(Alert.Action, { view: "normal-contrast", className: b('alert-button'), onClick: handleNewNavAlertClose, children: i18n('alert.button-got-it') }) }), children: renderNavItem({
77
+ wrapperCnParams,
78
+ buttonCnParams,
79
+ makeItem,
80
+ makeItemParams: params,
81
+ }) }));
82
+ }
83
+ return renderNavItem({
84
+ wrapperCnParams,
85
+ buttonCnParams,
86
+ makeItem,
87
+ makeItemParams: params,
88
+ });
56
89
  },
57
90
  };
58
91
  return navigationItem;
59
92
  });
60
- }, [match, isV2Enabled, tenantNavigationItems]);
93
+ }, [
94
+ isDatabasePage,
95
+ isV2Enabled,
96
+ isNewNavAlertShown,
97
+ tenantNavigationItems,
98
+ handleNewNavAlertClose,
99
+ ]);
61
100
  return (_jsx(AsideNavigation, { settings: _jsx(UserSettings, { settings: userSettings }), ydbInternalUser: _jsx(YdbInternalUser, { login: ydbUser }), user: ydbUser ? { login: ydbUser } : undefined, menuItems: menuItems, content: children, className: b() }));
62
101
  }
63
102
  //# sourceMappingURL=Navigation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Navigation.js","sourceRoot":"","sources":["../../../src/containers/AsideNavigation/Navigation.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Navigation.js","sourceRoot":"","sources":["../../../src/containers/AsideNavigation/Navigation.tsx"],"names":[],"mappings":"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"}
@@ -185,4 +185,18 @@
185
185
  --ydb-nav-button-bg: var(--ydb-nav-green);
186
186
  }
187
187
  }
188
+
189
+ &__popover {
190
+ --g-popup-background-color: #1e94f9;
191
+ color: var(--g-color-text-brand-contrast);
192
+
193
+ // Replace default secondary color to match background and text color in light theme
194
+ svg {
195
+ opacity: 0.85;
196
+ color: var(--g-color-text-brand-contrast);
197
+ }
198
+ }
199
+ &__alert-button {
200
+ width: 128px;
201
+ }
188
202
  }
@@ -1,7 +1,7 @@
1
1
  import type { HotkeysGroup } from '@gravity-ui/navigation';
2
- export declare const isMac: () => boolean;
3
2
  export declare const SHORTCUTS_HOTKEY: string;
4
3
  export declare const DEFAULT_HOTKEY_GROUPS: HotkeysGroup[];
4
+ export declare const EDITOR_TABS_HOTKEY_GROUP: HotkeysGroup;
5
5
  export interface HotkeysPanelProps {
6
6
  visible: boolean;
7
7
  closePanel: () => void;