ydb-embedded-ui 6.11.0 → 6.13.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (405) hide show
  1. package/dist/components/AutoRefreshControl/i18n/index.d.ts +1 -1
  2. package/dist/components/ButtonWithConfirmDialog/ButtonWithConfirmDialog.d.ts +3 -2
  3. package/dist/components/ButtonWithConfirmDialog/ButtonWithConfirmDialog.js +9 -5
  4. package/dist/components/CriticalActionDialog/CriticalActionDialog.d.ts +5 -3
  5. package/dist/components/CriticalActionDialog/CriticalActionDialog.js +8 -7
  6. package/dist/components/CriticalActionDialog/CriticalActionDialog.scss +1 -1
  7. package/dist/components/CriticalActionDialog/i18n/en.json +1 -0
  8. package/dist/components/CriticalActionDialog/i18n/index.d.ts +1 -1
  9. package/dist/components/DateRange/DateRange.d.ts +4 -4
  10. package/dist/components/DateRange/DateRange.js +23 -26
  11. package/dist/components/DateRange/DateRange.scss +14 -13
  12. package/dist/components/DateRange/__test__/fromDateRangeValues.test.js +80 -0
  13. package/dist/components/DateRange/__test__/getdatePickerSize.test.d.ts +1 -0
  14. package/dist/components/DateRange/__test__/getdatePickerSize.test.js +56 -0
  15. package/dist/components/DateRange/__test__/toDateRangeValues.test.d.ts +1 -0
  16. package/dist/components/DateRange/__test__/toDateRangeValues.test.js +80 -0
  17. package/dist/components/DateRange/i18n/en.json +4 -0
  18. package/dist/components/DateRange/i18n/index.d.ts +2 -0
  19. package/dist/components/DateRange/i18n/index.js +5 -0
  20. package/dist/components/DateRange/i18n/ru.json +4 -0
  21. package/dist/components/DateRange/utils.d.ts +5 -0
  22. package/dist/components/DateRange/utils.js +41 -0
  23. package/dist/components/DeveloperUILinkButton/DeveloperUILinkButton.d.ts +8 -0
  24. package/dist/components/{DeveloperUiLink/DeveloperUiLink.js → DeveloperUILinkButton/DeveloperUILinkButton.js} +3 -3
  25. package/dist/components/{DeveloperUiLink/DeveloperUiLink.scss → DeveloperUILinkButton/DeveloperUILinkButton.scss} +3 -2
  26. package/dist/components/DiskStateProgressBar/DiskStateProgressBar.d.ts +6 -1
  27. package/dist/components/DiskStateProgressBar/DiskStateProgressBar.js +22 -12
  28. package/dist/components/DiskStateProgressBar/DiskStateProgressBar.scss +45 -45
  29. package/dist/components/EntityStatus/EntityStatus.js +1 -1
  30. package/dist/components/EntityStatus/EntityStatus.scss +6 -2
  31. package/dist/components/Errors/PageError/PageError.d.ts +11 -0
  32. package/dist/components/Errors/PageError/PageError.js +19 -0
  33. package/dist/components/Errors/i18n/en.json +2 -1
  34. package/dist/components/Errors/i18n/index.d.ts +1 -1
  35. package/dist/components/Errors/i18n/ru.json +2 -1
  36. package/dist/components/Fullscreen/Fullscreen.d.ts +1 -1
  37. package/dist/components/Fullscreen/Fullscreen.js +34 -27
  38. package/dist/components/Fullscreen/Fullscreen.scss +16 -8
  39. package/dist/components/Graph/Graph.d.ts +13 -0
  40. package/dist/components/Graph/Graph.js +41 -0
  41. package/dist/components/LabelWithPopover/LabelWithPopover.d.ts +4 -1
  42. package/dist/components/LabelWithPopover/LabelWithPopover.js +1 -1
  43. package/dist/components/Loader/Loader.d.ts +2 -1
  44. package/dist/components/Loader/Loader.js +6 -1
  45. package/dist/components/LoaderWrapper/LoaderWrapper.d.ts +10 -0
  46. package/dist/components/LoaderWrapper/LoaderWrapper.js +8 -0
  47. package/dist/components/MetricChart/reducer.d.ts +2 -2
  48. package/dist/components/MonacoEditor/MonacoEditor.js +0 -2
  49. package/dist/components/NodeHostWrapper/NodeHostWrapper.d.ts +0 -1
  50. package/dist/components/NodeHostWrapper/NodeHostWrapper.js +3 -6
  51. package/dist/components/PDiskInfo/PDiskInfo.d.ts +8 -5
  52. package/dist/components/PDiskInfo/PDiskInfo.js +76 -26
  53. package/dist/components/PDiskInfo/PDiskInfo.scss +15 -1
  54. package/dist/components/PDiskInfo/i18n/en.json +11 -5
  55. package/dist/components/PDiskInfo/i18n/index.d.ts +1 -1
  56. package/dist/components/PDiskPopup/PDiskPopup.js +8 -2
  57. package/dist/components/ProgressViewer/ProgressViewer.js +3 -0
  58. package/dist/components/QueryExecutionStatus/QueryExecutionStatus.js +13 -3
  59. package/dist/components/QueryExecutionStatus/QueryExecutionStatus.scss +4 -0
  60. package/dist/components/QuerySettingsDescription/QuerySettingsDescription.d.ts +7 -0
  61. package/dist/components/QuerySettingsDescription/QuerySettingsDescription.js +8 -0
  62. package/dist/components/QuerySettingsDescription/QuerySettingsDescription.scss +8 -0
  63. package/dist/components/QuerySettingsDescription/index.d.ts +1 -0
  64. package/dist/components/QuerySettingsDescription/index.js +1 -0
  65. package/dist/components/VDisk/VDisk.js +3 -4
  66. package/dist/components/VDiskInfo/VDiskInfo.d.ts +4 -3
  67. package/dist/components/VDiskInfo/VDiskInfo.js +12 -5
  68. package/dist/components/VDiskInfo/VDiskInfo.scss +7 -1
  69. package/dist/components/VDiskInfo/i18n/en.json +2 -1
  70. package/dist/components/VDiskInfo/i18n/index.d.ts +1 -1
  71. package/dist/containers/App/Content.js +15 -19
  72. package/dist/containers/AsideNavigation/AsideNavigation.js +2 -1
  73. package/dist/containers/AsideNavigation/YdbInternalUser/YdbInternalUser.js +4 -4
  74. package/dist/containers/Authentication/Authentication.js +8 -10
  75. package/dist/containers/Authentication/utils.d.ts +8 -0
  76. package/dist/containers/Authentication/utils.js +15 -0
  77. package/dist/containers/Cluster/Cluster.scss +1 -4
  78. package/dist/containers/Cluster/ClusterInfo/ClusterInfo.js +6 -6
  79. package/dist/containers/Cluster/ClusterInfo/ClusterInfo.scss +1 -1
  80. package/dist/containers/Clusters/constants.d.ts +1 -1
  81. package/dist/containers/Heatmap/Heatmap.d.ts +2 -1
  82. package/dist/containers/Heatmap/Heatmap.js +7 -6
  83. package/dist/containers/Node/Node.js +5 -7
  84. package/dist/containers/Node/Node.scss +5 -4
  85. package/dist/containers/Node/NodeStructure/NodeStructure.js +4 -4
  86. package/dist/containers/Node/NodeStructure/NodeStructure.scss +4 -20
  87. package/dist/containers/Node/NodeStructure/Pdisk.js +3 -3
  88. package/dist/containers/Nodes/Nodes.js +6 -8
  89. package/dist/containers/Nodes/getNodesColumns.js +6 -21
  90. package/dist/containers/PDiskPage/PDiskGroups/PDiskGroups.d.ts +6 -0
  91. package/dist/containers/PDiskPage/PDiskGroups/PDiskGroups.js +24 -0
  92. package/dist/containers/PDiskPage/PDiskPage.js +79 -30
  93. package/dist/containers/PDiskPage/PDiskPage.scss +8 -5
  94. package/dist/containers/PDiskPage/PDiskSpaceDistribution/PDiskSpaceDistribution.d.ts +7 -0
  95. package/dist/containers/PDiskPage/PDiskSpaceDistribution/PDiskSpaceDistribution.js +93 -0
  96. package/dist/containers/PDiskPage/PDiskSpaceDistribution/PDiskSpaceDistribution.scss +52 -0
  97. package/dist/containers/PDiskPage/PDiskSpaceDistribution/utils.d.ts +4 -0
  98. package/dist/containers/PDiskPage/PDiskSpaceDistribution/utils.js +9 -0
  99. package/dist/containers/PDiskPage/i18n/en.json +9 -1
  100. package/dist/containers/PDiskPage/i18n/index.d.ts +1 -1
  101. package/dist/containers/Storage/PDisk/PDisk.js +3 -4
  102. package/dist/containers/Storage/Storage.js +4 -6
  103. package/dist/containers/Storage/StorageGroups/getStorageGroupsColumns.js +16 -6
  104. package/dist/containers/Tablet/Tablet.js +2 -2
  105. package/dist/containers/Tablet/TabletControls/TabletControls.js +2 -1
  106. package/dist/containers/Tablets/Tablets.js +14 -13
  107. package/dist/containers/Tenant/Acl/Acl.d.ts +2 -1
  108. package/dist/containers/Tenant/Acl/Acl.js +10 -8
  109. package/dist/containers/Tenant/Acl/Acl.scss +8 -8
  110. package/dist/containers/Tenant/Acl/i18n/en.json +6 -0
  111. package/dist/containers/Tenant/Acl/i18n/index.d.ts +2 -0
  112. package/dist/containers/Tenant/Acl/i18n/index.js +4 -0
  113. package/dist/containers/Tenant/Diagnostics/Consumers/Consumers.js +2 -5
  114. package/dist/containers/Tenant/Diagnostics/Describe/Describe.d.ts +2 -1
  115. package/dist/containers/Tenant/Diagnostics/Describe/Describe.js +14 -17
  116. package/dist/containers/Tenant/Diagnostics/DetailedOverview/DetailedOverview.js +1 -1
  117. package/dist/containers/Tenant/Diagnostics/DetailedOverview/DetailedOverview.scss +1 -0
  118. package/dist/containers/Tenant/Diagnostics/Diagnostics.js +3 -3
  119. package/dist/containers/Tenant/Diagnostics/Diagnostics.scss +3 -1
  120. package/dist/containers/Tenant/Diagnostics/HotKeys/HotKeys.d.ts +2 -1
  121. package/dist/containers/Tenant/Diagnostics/HotKeys/HotKeys.js +3 -3
  122. package/dist/containers/Tenant/Diagnostics/Network/Network.js +8 -11
  123. package/dist/containers/Tenant/Diagnostics/Network/Network.scss +1 -0
  124. package/dist/containers/Tenant/Diagnostics/Overview/Overview.d.ts +2 -2
  125. package/dist/containers/Tenant/Diagnostics/Overview/Overview.js +8 -10
  126. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/i18n/en.json +14 -1
  127. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/i18n/index.d.ts +1 -1
  128. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/i18n/index.js +1 -2
  129. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo.js +36 -17
  130. package/dist/containers/Tenant/Diagnostics/Overview/TopicStats/TopicStats.js +3 -4
  131. package/dist/containers/Tenant/Diagnostics/Partitions/Partitions.js +1 -4
  132. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TopQueries.js +8 -5
  133. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.js +1 -1
  134. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantOverviewTableLayout.js +3 -3
  135. package/dist/containers/Tenant/Diagnostics/TenantOverview/getSectionTitle.d.ts +2 -1
  136. package/dist/containers/Tenant/Diagnostics/TenantOverview/getSectionTitle.js +2 -2
  137. package/dist/containers/Tenant/Diagnostics/TenantOverview/i18n/en.json +3 -2
  138. package/dist/containers/Tenant/Diagnostics/TenantOverview/i18n/index.d.ts +1 -1
  139. package/dist/containers/Tenant/Diagnostics/TopQueries/TopQueries.js +6 -5
  140. package/dist/containers/Tenant/Diagnostics/TopQueries/getTopQueriesColumns.d.ts +2 -2
  141. package/dist/containers/Tenant/Diagnostics/TopQueries/getTopQueriesColumns.js +14 -14
  142. package/dist/containers/Tenant/Diagnostics/TopShards/TopShards.js +7 -6
  143. package/dist/containers/Tenant/Diagnostics/TopShards/getTopShardsColumns.js +4 -4
  144. package/dist/containers/Tenant/ObjectSummary/ObjectSummary.js +31 -18
  145. package/dist/containers/Tenant/Query/ExecuteResult/ExecuteResult.d.ts +2 -2
  146. package/dist/containers/Tenant/Query/ExecuteResult/ExecuteResult.js +56 -20
  147. package/dist/containers/Tenant/Query/ExecuteResult/ExecuteResult.scss +10 -6
  148. package/dist/containers/Tenant/Query/ExecuteResult/i18n/en.json +7 -0
  149. package/dist/containers/Tenant/Query/ExecuteResult/i18n/index.d.ts +2 -0
  150. package/dist/containers/Tenant/Query/ExecuteResult/i18n/index.js +4 -0
  151. package/dist/containers/Tenant/Query/ExecuteResult/utils.d.ts +18 -0
  152. package/dist/containers/Tenant/Query/ExecuteResult/utils.js +36 -0
  153. package/dist/containers/Tenant/Query/ExplainResult/ExplainResult.d.ts +23 -1
  154. package/dist/containers/Tenant/Query/ExplainResult/ExplainResult.js +56 -111
  155. package/dist/containers/Tenant/Query/ExplainResult/ExplainResult.scss +1 -30
  156. package/dist/containers/Tenant/Query/ExplainResult/components/Ast/Ast.d.ts +7 -0
  157. package/dist/containers/Tenant/Query/ExplainResult/components/Ast/Ast.js +18 -0
  158. package/dist/containers/Tenant/Query/ExplainResult/components/Ast/Ast.scss +8 -0
  159. package/dist/containers/Tenant/Query/ExplainResult/components/Graph/Graph.d.ts +8 -0
  160. package/dist/containers/Tenant/Query/ExplainResult/components/Graph/Graph.js +14 -0
  161. package/dist/containers/Tenant/Query/ExplainResult/components/Graph/Graph.scss +14 -0
  162. package/dist/containers/Tenant/Query/ExplainResult/components/SimplifiedPlan/MetricsCell.d.ts +6 -0
  163. package/dist/containers/Tenant/Query/ExplainResult/components/SimplifiedPlan/MetricsCell.js +11 -0
  164. package/dist/containers/Tenant/Query/ExplainResult/components/SimplifiedPlan/OperationCell.d.ts +13 -0
  165. package/dist/containers/Tenant/Query/ExplainResult/components/SimplifiedPlan/OperationCell.js +48 -0
  166. package/dist/containers/Tenant/Query/ExplainResult/components/SimplifiedPlan/OperationParams.d.ts +6 -0
  167. package/dist/containers/Tenant/Query/ExplainResult/components/SimplifiedPlan/OperationParams.js +66 -0
  168. package/dist/containers/Tenant/Query/ExplainResult/components/SimplifiedPlan/SimplifiedPlan.d.ts +7 -0
  169. package/dist/containers/Tenant/Query/ExplainResult/components/SimplifiedPlan/SimplifiedPlan.js +100 -0
  170. package/dist/containers/Tenant/Query/ExplainResult/components/SimplifiedPlan/SimplifiedPlan.scss +128 -0
  171. package/dist/containers/Tenant/Query/ExplainResult/components/SimplifiedPlan/types.d.ts +5 -0
  172. package/dist/containers/Tenant/Query/ExplainResult/components/SimplifiedPlan/types.js +1 -0
  173. package/dist/containers/Tenant/Query/ExplainResult/components/SimplifiedPlan/utils.d.ts +5 -0
  174. package/dist/containers/Tenant/Query/ExplainResult/components/SimplifiedPlan/utils.js +59 -0
  175. package/dist/containers/Tenant/Query/ExplainResult/components/TextExplain/TextExplain.d.ts +8 -0
  176. package/dist/containers/Tenant/Query/ExplainResult/components/TextExplain/TextExplain.js +11 -0
  177. package/dist/containers/Tenant/Query/ExplainResult/components/TextExplain/TextExplain.scss +14 -0
  178. package/dist/containers/Tenant/Query/ExplainResult/i18n/en.json +8 -0
  179. package/dist/containers/Tenant/Query/ExplainResult/i18n/index.d.ts +2 -0
  180. package/dist/containers/Tenant/Query/ExplainResult/i18n/index.js +4 -0
  181. package/dist/containers/Tenant/Query/Preview/Preview.js +2 -3
  182. package/dist/containers/Tenant/Query/QueriesHistory/QueriesHistory.js +1 -19
  183. package/dist/containers/Tenant/Query/QueryDuration/QueryDuration.js +1 -1
  184. package/dist/containers/Tenant/Query/QueryDuration/QueryDuration.scss +11 -0
  185. package/dist/containers/Tenant/Query/QueryEditor/QueryEditor.d.ts +1 -1
  186. package/dist/containers/Tenant/Query/QueryEditor/QueryEditor.js +96 -95
  187. package/dist/containers/Tenant/Query/QueryEditorControls/QueryEditorControls.d.ts +5 -6
  188. package/dist/containers/Tenant/Query/QueryEditorControls/QueryEditorControls.js +18 -47
  189. package/dist/containers/Tenant/Query/QueryEditorControls/utils/getChangedQueryExecutionSettings.d.ts +2 -0
  190. package/dist/containers/Tenant/Query/QueryEditorControls/utils/getChangedQueryExecutionSettings.js +5 -0
  191. package/dist/containers/Tenant/Query/QueryEditorControls/utils/getChangedQueryExecutionSettings.test.d.ts +1 -0
  192. package/dist/containers/Tenant/Query/QueryEditorControls/utils/getChangedQueryExecutionSettings.test.js +42 -0
  193. package/dist/containers/Tenant/Query/QueryEditorControls/utils/getChangedQueryExecutionSettingsDescription.d.ts +5 -0
  194. package/dist/containers/Tenant/Query/QueryEditorControls/utils/getChangedQueryExecutionSettingsDescription.js +19 -0
  195. package/dist/containers/Tenant/Query/QueryEditorControls/utils/getChangedQueryExecutionSettingsDescription.test.d.ts +1 -0
  196. package/dist/containers/Tenant/Query/QueryEditorControls/utils/getChangedQueryExecutionSettingsDescription.test.js +56 -0
  197. package/dist/containers/Tenant/Query/QuerySettingsBanner/QuerySettingsBanner.d.ts +2 -0
  198. package/dist/containers/Tenant/Query/QuerySettingsBanner/QuerySettingsBanner.js +12 -0
  199. package/dist/containers/Tenant/Query/QuerySettingsBanner/QuerySettingsBanner.scss +3 -0
  200. package/dist/containers/Tenant/Query/QuerySettingsDialog/QuerySettingsDialog.d.ts +2 -0
  201. package/dist/containers/Tenant/Query/QuerySettingsDialog/QuerySettingsDialog.js +35 -0
  202. package/dist/containers/Tenant/Query/QuerySettingsDialog/QuerySettingsDialog.scss +63 -0
  203. package/dist/containers/Tenant/Query/QuerySettingsDialog/QuerySettingsSelect.d.ts +15 -0
  204. package/dist/containers/Tenant/Query/QuerySettingsDialog/QuerySettingsSelect.js +14 -0
  205. package/dist/containers/Tenant/Query/QuerySettingsDialog/QuerySettingsSelect.scss +19 -0
  206. package/dist/containers/Tenant/Query/QuerySettingsDialog/constants.d.ts +215 -0
  207. package/dist/containers/Tenant/Query/QuerySettingsDialog/constants.js +131 -0
  208. package/dist/containers/Tenant/Query/QuerySettingsDialog/i18n/en.json +13 -0
  209. package/dist/containers/Tenant/Query/QuerySettingsDialog/i18n/index.d.ts +2 -0
  210. package/dist/containers/Tenant/Query/QuerySettingsDialog/i18n/index.js +5 -0
  211. package/dist/containers/Tenant/Query/QuerySettingsDialog/i18n/ru.json +13 -0
  212. package/dist/containers/Tenant/Query/i18n/en.json +17 -1
  213. package/dist/containers/Tenant/Query/i18n/index.d.ts +1 -1
  214. package/dist/containers/Tenant/Schema/CreateDirectoryDialog/CreateDirectoryDialog.d.ts +3 -2
  215. package/dist/containers/Tenant/Schema/CreateDirectoryDialog/CreateDirectoryDialog.js +2 -2
  216. package/dist/containers/Tenant/Schema/SchemaTree/SchemaTree.js +8 -8
  217. package/dist/containers/Tenant/Schema/SchemaViewer/SchemaViewer.js +6 -3
  218. package/dist/containers/Tenant/Schema/SchemaViewer/columns.d.ts +2 -1
  219. package/dist/containers/Tenant/Schema/SchemaViewer/columns.js +13 -1
  220. package/dist/containers/Tenant/Schema/SchemaViewer/i18n/en.json +1 -0
  221. package/dist/containers/Tenant/Schema/SchemaViewer/i18n/index.d.ts +1 -1
  222. package/dist/containers/Tenant/Schema/SchemaViewer/prepareData.js +3 -2
  223. package/dist/containers/Tenant/Schema/SchemaViewer/types.d.ts +1 -0
  224. package/dist/containers/Tenant/Tenant.js +4 -8
  225. package/dist/containers/Tenant/TenantPages.d.ts +12 -1
  226. package/dist/containers/Tenant/TenantPages.js +1 -1
  227. package/dist/containers/Tenant/i18n/en.json +2 -2
  228. package/dist/containers/Tenant/i18n/index.d.ts +1 -1
  229. package/dist/containers/Tenant/utils/schema.js +1 -1
  230. package/dist/containers/Tenant/utils/schemaActions.d.ts +2 -2
  231. package/dist/containers/Tenant/utils/schemaActions.js +2 -2
  232. package/dist/containers/Tenants/Tenants.js +5 -8
  233. package/dist/containers/Tenants/Tenants.scss +0 -4
  234. package/dist/containers/UserSettings/i18n/en.json +3 -3
  235. package/dist/containers/UserSettings/i18n/index.d.ts +1 -1
  236. package/dist/containers/UserSettings/settings.d.ts +2 -2
  237. package/dist/containers/UserSettings/settings.js +18 -19
  238. package/dist/containers/VDiskPage/VDiskPage.js +27 -13
  239. package/dist/containers/VDiskPage/i18n/en.json +1 -0
  240. package/dist/containers/VDiskPage/i18n/index.d.ts +1 -1
  241. package/dist/routes.js +2 -2
  242. package/dist/services/api.d.ts +59 -28
  243. package/dist/services/api.js +74 -98
  244. package/dist/services/settings.d.ts +11 -3
  245. package/dist/services/settings.js +7 -5
  246. package/dist/store/configureStore.d.ts +7 -7
  247. package/dist/store/defaultStore.d.ts +3 -3
  248. package/dist/store/reducers/api.d.ts +1 -1
  249. package/dist/store/reducers/api.js +1 -1
  250. package/dist/store/reducers/authentication/authentication.d.ts +37 -24
  251. package/dist/store/reducers/authentication/authentication.js +77 -57
  252. package/dist/store/reducers/authentication/types.d.ts +0 -8
  253. package/dist/store/reducers/capabilities/capabilities.d.ts +106 -0
  254. package/dist/store/reducers/capabilities/capabilities.js +22 -0
  255. package/dist/store/reducers/capabilities/hooks.d.ts +2 -0
  256. package/dist/store/reducers/capabilities/hooks.js +13 -0
  257. package/dist/store/reducers/cluster/cluster.d.ts +2 -2
  258. package/dist/store/reducers/clusterNodes/clusterNodes.d.ts +2 -2
  259. package/dist/store/reducers/clusters/clusters.d.ts +2 -2
  260. package/dist/store/reducers/describe.d.ts +5 -2
  261. package/dist/store/reducers/describe.js +2 -2
  262. package/dist/store/reducers/executeQuery.d.ts +7 -14
  263. package/dist/store/reducers/executeQuery.js +19 -14
  264. package/dist/store/reducers/executeTopQueries/executeTopQueries.d.ts +2 -2
  265. package/dist/store/reducers/executeTopQueries/executeTopQueries.js +19 -14
  266. package/dist/store/reducers/executeTopQueries/types.d.ts +2 -2
  267. package/dist/store/reducers/executeTopQueries/utils.js +11 -7
  268. package/dist/store/reducers/explainQuery/explainQuery.d.ts +5 -4
  269. package/dist/store/reducers/explainQuery/explainQuery.js +20 -5
  270. package/dist/store/reducers/explainQuery/types.d.ts +13 -1
  271. package/dist/store/reducers/explainQuery/utils.js +7 -2
  272. package/dist/store/reducers/healthcheckInfo/healthcheckInfo.d.ts +58 -58
  273. package/dist/store/reducers/heatmap.d.ts +2 -2
  274. package/dist/store/reducers/heatmap.js +3 -3
  275. package/dist/store/reducers/hotKeys/hotKeys.d.ts +3 -2
  276. package/dist/store/reducers/hotKeys/hotKeys.js +3 -3
  277. package/dist/store/reducers/index.d.ts +6 -6
  278. package/dist/store/reducers/network/network.d.ts +2 -2
  279. package/dist/store/reducers/network/network.js +1 -1
  280. package/dist/store/reducers/node/node.d.ts +3 -3
  281. package/dist/store/reducers/node/selectors.d.ts +1 -1
  282. package/dist/store/reducers/node/selectors.js +2 -2
  283. package/dist/store/reducers/nodes/nodes.d.ts +3 -3
  284. package/dist/store/reducers/nodesList.d.ts +3 -3
  285. package/dist/store/reducers/overview/overview.d.ts +5 -2
  286. package/dist/store/reducers/overview/overview.js +2 -2
  287. package/dist/store/reducers/partitions/partitions.d.ts +2 -2
  288. package/dist/store/reducers/pdisk/pdisk.d.ts +3 -3
  289. package/dist/store/reducers/pdisk/pdisk.js +15 -2
  290. package/dist/store/reducers/pdisk/types.d.ts +17 -1
  291. package/dist/store/reducers/pdisk/utils.d.ts +2 -2
  292. package/dist/store/reducers/pdisk/utils.js +68 -8
  293. package/dist/store/reducers/preview.d.ts +2 -2
  294. package/dist/store/reducers/preview.js +1 -1
  295. package/dist/store/reducers/queryActions/types.d.ts +1 -1
  296. package/dist/store/reducers/schema/schema.d.ts +28 -10
  297. package/dist/store/reducers/schema/schema.js +20 -14
  298. package/dist/store/reducers/schemaAcl/schemaAcl.d.ts +4 -2
  299. package/dist/store/reducers/schemaAcl/schemaAcl.js +9 -3
  300. package/dist/store/reducers/shardsWorkload/shardsWorkload.d.ts +2 -2
  301. package/dist/store/reducers/shardsWorkload/shardsWorkload.js +22 -6
  302. package/dist/store/reducers/shardsWorkload/types.d.ts +2 -2
  303. package/dist/store/reducers/storage/storage.d.ts +3 -3
  304. package/dist/store/reducers/tablet.d.ts +3 -3
  305. package/dist/store/reducers/tablets.d.ts +13 -13
  306. package/dist/store/reducers/tabletsFilters.d.ts +1 -1
  307. package/dist/store/reducers/tenant/tenant.d.ts +2 -2
  308. package/dist/store/reducers/tenantOverview/executeTopTables/executeTopTables.d.ts +2 -2
  309. package/dist/store/reducers/tenantOverview/executeTopTables/executeTopTables.js +1 -1
  310. package/dist/store/reducers/tenantOverview/topNodes/topNodes.d.ts +2 -2
  311. package/dist/store/reducers/tenantOverview/topShards/tenantOverviewTopShards.d.ts +2 -2
  312. package/dist/store/reducers/tenantOverview/topShards/tenantOverviewTopShards.js +1 -1
  313. package/dist/store/reducers/tenantOverview/topStorageGroups/topStorageGroups.d.ts +2 -2
  314. package/dist/store/reducers/tenants/selectors.d.ts +31 -30
  315. package/dist/store/reducers/tenants/selectors.js +8 -2
  316. package/dist/store/reducers/tenants/tenants.d.ts +2 -2
  317. package/dist/store/reducers/topic.d.ts +44 -44
  318. package/dist/store/reducers/vdisk/vdisk.d.ts +2 -2
  319. package/dist/store/reducers/vdisk/vdisk.js +1 -1
  320. package/dist/store/reducers/viewSchema/viewSchema.d.ts +2 -2
  321. package/dist/store/reducers/viewSchema/viewSchema.js +1 -1
  322. package/dist/store/state-url-mapping.d.ts +70 -0
  323. package/dist/store/state-url-mapping.js +1 -5
  324. package/dist/styles/mixins.scss +13 -0
  325. package/dist/types/api/acl.d.ts +1 -0
  326. package/dist/types/api/capabilities.d.ts +7 -0
  327. package/dist/types/api/capabilities.js +1 -0
  328. package/dist/types/api/modifyDisk.d.ts +8 -0
  329. package/dist/types/api/modifyDisk.js +1 -0
  330. package/dist/types/api/pdisk.d.ts +65 -2
  331. package/dist/types/api/query.d.ts +39 -3
  332. package/dist/types/api/query.js +9 -1
  333. package/dist/types/api/schema/shared.d.ts +8 -0
  334. package/dist/types/api/vdisk.d.ts +33 -2
  335. package/dist/types/common.d.ts +3 -0
  336. package/dist/types/store/heatmap.d.ts +1 -0
  337. package/dist/types/store/query.d.ts +11 -1
  338. package/dist/utils/__test__/prepareQueryExplain.test.d.ts +1 -0
  339. package/dist/utils/__test__/prepareQueryExplain.test.js +115 -0
  340. package/dist/utils/constants.d.ts +13 -3
  341. package/dist/utils/constants.js +15 -3
  342. package/dist/utils/dataFormatters/dataFormatters.d.ts +0 -5
  343. package/dist/utils/dataFormatters/dataFormatters.js +3 -12
  344. package/dist/utils/developerUI/developerUI.d.ts +1 -0
  345. package/dist/utils/developerUI/developerUI.js +3 -0
  346. package/dist/utils/disks/getPDiskType.d.ts +3 -3
  347. package/dist/utils/disks/helpers.d.ts +1 -0
  348. package/dist/utils/disks/helpers.js +3 -0
  349. package/dist/utils/disks/prepareDisks.d.ts +2 -2
  350. package/dist/utils/disks/prepareDisks.js +17 -22
  351. package/dist/utils/disks/types.d.ts +7 -5
  352. package/dist/utils/hooks/index.d.ts +2 -1
  353. package/dist/utils/hooks/index.js +2 -1
  354. package/dist/utils/hooks/useChangedQuerySettings.d.ts +10 -0
  355. package/dist/utils/hooks/useChangedQuerySettings.js +46 -0
  356. package/dist/utils/hooks/useDelayed.d.ts +1 -0
  357. package/dist/utils/hooks/useDelayed.js +13 -0
  358. package/dist/utils/hooks/useEventHandler.d.ts +6 -0
  359. package/dist/utils/hooks/useEventHandler.js +17 -0
  360. package/dist/utils/hooks/useLastQueryExecutionSettings.d.ts +2 -0
  361. package/dist/utils/hooks/useLastQueryExecutionSettings.js +5 -0
  362. package/dist/utils/hooks/useQueryExecutionSettings.d.ts +8 -0
  363. package/dist/utils/hooks/useQueryExecutionSettings.js +15 -0
  364. package/dist/utils/monaco/constats.d.ts +2 -0
  365. package/dist/utils/monaco/constats.js +2 -0
  366. package/dist/utils/monaco/yql/constants.d.ts +0 -1
  367. package/dist/utils/monaco/yql/constants.js +0 -1
  368. package/dist/utils/monaco/yql/yql.completionItemProvider.js +2 -2
  369. package/dist/utils/prepareQueryExplain.d.ts +3 -1
  370. package/dist/utils/prepareQueryExplain.js +54 -2
  371. package/dist/utils/query.d.ts +24 -1
  372. package/dist/utils/query.js +41 -0
  373. package/dist/utils/query.test.js +3 -0
  374. package/dist/utils/utils.d.ts +8 -7
  375. package/dist/utils/utils.js +23 -11
  376. package/package.json +8 -2
  377. package/dist/components/DeveloperUiLink/DeveloperUiLink.d.ts +0 -8
  378. package/dist/components/NodeHostWrapper/NodeHostWrapper.scss +0 -15
  379. package/dist/containers/Node/NodeStructure/Vdisk.d.ts +0 -6
  380. package/dist/containers/Node/NodeStructure/Vdisk.js +0 -13
  381. package/dist/containers/PDiskPage/PDiskGroups.d.ts +0 -9
  382. package/dist/containers/PDiskPage/PDiskGroups.js +0 -20
  383. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/i18n/ru.json +0 -5
  384. package/dist/containers/Tenant/Query/ExplainResult/utils.d.ts +0 -2
  385. package/dist/containers/Tenant/Query/ExplainResult/utils.js +0 -4
  386. package/dist/store/reducers/tenantOverview/topQueries/tenantOverviewTopQueries.d.ts +0 -5
  387. package/dist/store/reducers/tenantOverview/topQueries/tenantOverviewTopQueries.js +0 -38
  388. package/dist/store/utils.d.ts +0 -23
  389. package/dist/store/utils.js +0 -49
  390. package/dist/types/api/restartPDisk.d.ts +0 -4
  391. package/dist/utils/hooks/useQueryModes.d.ts +0 -2
  392. package/dist/utils/hooks/useQueryModes.js +0 -5
  393. package/dist/utils/monaco/index.d.ts +0 -1
  394. package/dist/utils/monaco/index.js +0 -6
  395. package/dist/utils/monaco/s-expression/constants.d.ts +0 -1
  396. package/dist/utils/monaco/s-expression/constants.js +0 -1
  397. package/dist/utils/monaco/s-expression/registerLanguage.d.ts +0 -1
  398. package/dist/utils/monaco/s-expression/registerLanguage.js +0 -59
  399. package/dist/utils/monaco/yql/registerLanguage.d.ts +0 -1
  400. package/dist/utils/monaco/yql/registerLanguage.js +0 -8
  401. package/dist/utils/monaco/yql/yql.d.ts +0 -7
  402. package/dist/utils/monaco/yql/yql.js +0 -180
  403. package/dist/utils/monaco/yql/yql.keywords.d.ts +0 -3
  404. package/dist/utils/monaco/yql/yql.keywords.js +0 -3
  405. /package/dist/{types/api/restartPDisk.js → components/DateRange/__test__/fromDateRangeValues.test.d.ts} +0 -0
@@ -1,25 +1,35 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import React from 'react';
3
2
  import { cn } from '../../utils/cn';
4
3
  import { INVERTED_DISKS_KEY } from '../../utils/constants';
5
4
  import { getSeverityColor } from '../../utils/disks/helpers';
6
5
  import { useSetting } from '../../utils/hooks';
7
6
  import './DiskStateProgressBar.scss';
8
7
  const b = cn('storage-disk-progress-bar');
9
- export function DiskStateProgressBar({ diskAllocatedPercent = -1, severity, compact, }) {
8
+ export function DiskStateProgressBar({ diskAllocatedPercent = -1, severity, compact, faded, empty, content, className, }) {
10
9
  const [inverted] = useSetting(INVERTED_DISKS_KEY);
11
- const renderAllocatedPercent = () => {
12
- if (compact) {
13
- return _jsx("div", { className: b('filled'), style: { width: '100%' } });
14
- }
15
- return (diskAllocatedPercent >= 0 && (_jsxs(React.Fragment, { children: [_jsx("div", { className: b('filled'), style: {
16
- width: `${inverted ? 100 - diskAllocatedPercent : diskAllocatedPercent}%`,
17
- } }), _jsx("div", { className: b('filled-title'), children: `${Math.round(diskAllocatedPercent)}%` })] })));
18
- };
19
- const mods = { inverted, compact };
10
+ const mods = { inverted, compact, faded, empty };
20
11
  const color = severity !== undefined && getSeverityColor(severity);
21
12
  if (color) {
22
13
  mods[color.toLocaleLowerCase()] = true;
23
14
  }
24
- return (_jsx("div", { className: b(mods), role: "meter", "aria-label": "Disk allocated space", "aria-valuemin": 0, "aria-valuemax": 100, "aria-valuenow": diskAllocatedPercent, children: renderAllocatedPercent() }));
15
+ const renderAllocatedPercent = () => {
16
+ if (compact) {
17
+ return _jsx("div", { className: b('fill-bar', mods), style: { width: '100%' } });
18
+ }
19
+ const fillWidth = inverted ? 100 - diskAllocatedPercent : diskAllocatedPercent;
20
+ if (diskAllocatedPercent >= 0) {
21
+ return _jsx("div", { className: b('fill-bar', mods), style: { width: `${fillWidth}%` } });
22
+ }
23
+ return null;
24
+ };
25
+ const renderContent = () => {
26
+ if (content) {
27
+ return content;
28
+ }
29
+ if (!compact && diskAllocatedPercent >= 0) {
30
+ return _jsx("div", { className: b('title'), children: `${Math.round(diskAllocatedPercent)}%` });
31
+ }
32
+ return null;
33
+ };
34
+ return (_jsxs("div", { className: b(mods, className), role: "meter", "aria-label": "Disk allocated space", "aria-valuemin": 0, "aria-valuemax": 100, "aria-valuenow": diskAllocatedPercent, children: [renderAllocatedPercent(), renderContent()] }));
25
35
  }
@@ -5,81 +5,70 @@
5
5
  $outer-border-radius: 4px;
6
6
  $inner-border-radius: $outer-border-radius - $border-width;
7
7
 
8
+ --progress-bar-border-color: var(--g-color-base-misc-heavy);
9
+ --progress-bar-background-color: var(--g-color-base-misc-light);
10
+ --progress-bar-fill-color: var(--g-color-base-misc-medium);
11
+
8
12
  position: relative;
9
13
  z-index: 0;
10
14
 
11
- display: block;
12
-
13
15
  min-width: 50px;
14
16
  height: var(--g-text-body-3-line-height);
15
17
 
16
18
  text-align: center;
17
19
 
18
20
  color: var(--g-color-text-primary);
19
- border: $border-width solid var(--g-color-base-misc-heavy);
21
+ border: $border-width solid var(--progress-bar-border-color);
20
22
  border-radius: $outer-border-radius;
21
- background-color: var(--g-color-base-misc-light);
23
+ background-color: var(--progress-bar-background-color);
22
24
 
23
25
  &_compact {
24
26
  min-width: 0;
25
27
  height: 12px;
26
28
 
27
29
  border-radius: 2px;
28
-
29
- #{$block}__filled {
30
- border-radius: 1px;
31
- }
32
- }
33
-
34
- #{$block}__filled {
35
- background-color: var(--g-color-base-misc-medium);
36
30
  }
37
31
 
38
32
  &_green {
39
- border-color: var(--g-color-base-positive-heavy);
40
- background-color: var(--g-color-base-positive-light);
41
- #{$block}__filled {
42
- background-color: var(--g-color-base-positive-medium);
43
-
44
- .g-root_theme_dark & {
45
- // the common medium green is too bright for this case
46
- background-color: rgb(124, 227, 121, 0.4);
47
- }
48
- }
33
+ --progress-bar-border-color: var(--g-color-base-positive-heavy);
34
+ --progress-bar-background-color: var(--g-color-base-positive-light);
35
+ --progress-bar-fill-color: var(--g-color-base-positive-medium);
49
36
  }
50
37
 
51
38
  &_blue {
52
- border-color: var(--g-color-base-info-heavy);
53
- background-color: var(--g-color-base-info-light);
54
- #{$block}__filled {
55
- background-color: var(--g-color-base-info-medium);
56
- }
39
+ --progress-bar-border-color: var(--g-color-base-info-heavy);
40
+ --progress-bar-background-color: var(--g-color-base-info-light);
41
+ --progress-bar-fill-color: var(--g-color-base-info-medium);
57
42
  }
58
43
 
59
44
  &_yellow {
60
- border-color: var(--g-color-base-warning-heavy);
61
- background-color: var(--g-color-base-yellow-light);
62
- #{$block}__filled {
63
- background-color: var(--g-color-base-yellow-medium);
64
- }
45
+ --progress-bar-border-color: var(--g-color-base-warning-heavy);
46
+ --progress-bar-background-color: var(--g-color-base-yellow-light);
47
+ --progress-bar-fill-color: var(--g-color-base-yellow-medium);
65
48
  }
66
49
 
67
50
  &_orange {
68
- border-color: var(--ydb-color-status-orange);
69
- background-color: var(--g-color-base-warning-light);
70
- #{$block}__filled {
71
- background-color: var(--g-color-base-warning-medium);
72
- }
51
+ --progress-bar-border-color: var(--ydb-color-status-orange);
52
+ --progress-bar-background-color: var(--g-color-base-warning-light);
53
+ --progress-bar-fill-color: var(--g-color-base-warning-medium);
73
54
  }
74
55
  &_red {
75
- border-color: var(--g-color-base-danger-heavy);
76
- background-color: var(--g-color-base-danger-light);
77
- #{$block}__filled {
78
- background-color: var(--g-color-base-danger-medium);
79
- }
56
+ --progress-bar-border-color: var(--g-color-base-danger-heavy);
57
+ --progress-bar-background-color: var(--g-color-base-danger-light);
58
+ --progress-bar-fill-color: var(--g-color-base-danger-medium);
59
+ }
60
+
61
+ &_faded {
62
+ background-color: unset;
80
63
  }
81
64
 
82
- &__filled {
65
+ &_empty {
66
+ color: var(--g-color-text-hint);
67
+ border-style: dashed;
68
+ background-color: unset;
69
+ }
70
+
71
+ &__fill-bar {
83
72
  position: absolute;
84
73
  top: 0;
85
74
  left: 0;
@@ -87,15 +76,26 @@
87
76
  height: 100%;
88
77
 
89
78
  border-radius: $inner-border-radius 0 0 $inner-border-radius;
79
+ background-color: var(--progress-bar-fill-color);
90
80
 
91
- #{$block}_inverted & {
81
+ &_faded {
82
+ // Bg color is light variant, use it to make bar less bright
83
+ background-color: var(--progress-bar-background-color);
84
+ }
85
+
86
+ &_compact {
87
+ border-radius: 1px;
88
+ }
89
+
90
+ &_inverted {
92
91
  right: 0;
93
92
  left: auto;
94
93
 
95
94
  border-radius: 0 $inner-border-radius $inner-border-radius 0;
96
95
  }
97
96
  }
98
- &__filled-title {
97
+
98
+ &__title {
99
99
  position: relative;
100
100
  z-index: 2;
101
101
 
@@ -28,5 +28,5 @@ export function EntityStatus({ status = EFlag.Grey, name = '', label, path, icon
28
28
  };
29
29
  return (_jsxs("div", { className: b(null, className), title: name, children: [iconPath ? renderStatusLink(iconPath) : renderIcon(), label && (_jsx("span", { title: label, className: b('label', { size, state: status.toLowerCase() }), children: label })), _jsx("span", { className: b('link', { 'with-left-trim': withLeftTrim }), children: renderLink() }), hasClipboardButton && (_jsx(ClipboardButton, { text: name, size: "s", className: b('clipboard-button', {
30
30
  visible: clipboardButtonAlwaysVisible,
31
- }) })), additionalControls] }));
31
+ }) })), additionalControls && (_jsx("span", { className: b('additional-controls '), children: additionalControls }))] }));
32
32
  }
@@ -10,14 +10,14 @@
10
10
  @include body-2-typography();
11
11
 
12
12
  &__icon {
13
- margin-right: 8px;
13
+ margin-right: var(--g-spacing-2);
14
14
  }
15
15
 
16
16
  &__clipboard-button {
17
17
  display: flex;
18
18
  flex-shrink: 0;
19
19
 
20
- margin-left: 8px;
20
+ margin-left: var(--g-spacing-2);
21
21
 
22
22
  opacity: 0;
23
23
  color: var(--g-color-text-secondary);
@@ -28,6 +28,10 @@
28
28
  }
29
29
  }
30
30
 
31
+ &__additional-controls {
32
+ margin-left: var(--g-spacing-1);
33
+ }
34
+
31
35
  &__label {
32
36
  margin-right: 2px;
33
37
 
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ import type { EmptyStateProps } from '../../EmptyState';
3
+ interface PageErrorProps extends Omit<EmptyStateProps, 'image' | 'title' | 'description'> {
4
+ title?: string;
5
+ description?: string;
6
+ error: unknown;
7
+ children?: React.ReactNode;
8
+ }
9
+ export declare function PageError({ title, description, error, children, ...restProps }: PageErrorProps): import("react/jsx-runtime").JSX.Element;
10
+ export declare function isAccessError(error: unknown): boolean;
11
+ export {};
@@ -0,0 +1,19 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import { EmptyState } from '../../EmptyState';
4
+ import { Illustration } from '../../Illustration';
5
+ import { AccessDenied } from '../403';
6
+ import { ResponseError } from '../ResponseError';
7
+ import i18n from '../i18n';
8
+ export function PageError({ title, description, error, children, ...restProps }) {
9
+ if (isAccessError(error)) {
10
+ return _jsx(AccessDenied, { title: title, description: description, ...restProps });
11
+ }
12
+ if (error || description) {
13
+ return (_jsx(EmptyState, { image: _jsx(Illustration, { name: "error" }), title: title || i18n('error.title'), description: error ? _jsx(ResponseError, { error: error }) : description, ...restProps }));
14
+ }
15
+ return _jsx(React.Fragment, { children: children });
16
+ }
17
+ export function isAccessError(error) {
18
+ return Boolean(error && typeof error === 'object' && 'status' in error && error.status === 403);
19
+ }
@@ -1,5 +1,6 @@
1
1
  {
2
2
  "403.title": "Access denied",
3
3
  "403.description": "You don’t have the necessary roles to view this page.",
4
- "responseError.defaultMessage": "Response error"
4
+ "responseError.defaultMessage": "Response error",
5
+ "error.title": "Error"
5
6
  }
@@ -1,2 +1,2 @@
1
- declare const _default: (key: "403.title" | "403.description" | "responseError.defaultMessage", params?: import("@gravity-ui/i18n").Params) => string;
1
+ declare const _default: (key: "403.title" | "403.description" | "responseError.defaultMessage" | "error.title", params?: import("@gravity-ui/i18n").Params) => string;
2
2
  export default _default;
@@ -1,5 +1,6 @@
1
1
  {
2
2
  "403.title": "Доступ запрещен",
3
3
  "403.description": "У вас недостаточно прав для просмотра данной страницы.",
4
- "responseError.defaultMessage": "Ошибка запроса"
4
+ "responseError.defaultMessage": "Ошибка запроса",
5
+ "error.title": "Ошибка"
5
6
  }
@@ -4,5 +4,5 @@ interface FullscreenProps {
4
4
  children: React.ReactNode;
5
5
  className?: string;
6
6
  }
7
- declare function Fullscreen(props: FullscreenProps): import("react/jsx-runtime").JSX.Element;
7
+ declare function Fullscreen({ children, className }: FullscreenProps): import("react/jsx-runtime").JSX.Element | null;
8
8
  export default Fullscreen;
@@ -1,35 +1,16 @@
1
+ var _a;
1
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
3
  import React from 'react';
3
- import { Button, Icon } from '@gravity-ui/uikit';
4
- import ReactDOM from 'react-dom';
4
+ import { Button, Icon, Portal } from '@gravity-ui/uikit';
5
5
  import { disableFullscreen } from '../../store/reducers/fullscreen';
6
6
  import { cn } from '../../utils/cn';
7
- import { useTypedDispatch } from '../../utils/hooks';
7
+ import { useTypedDispatch, useTypedSelector } from '../../utils/hooks';
8
8
  import disableFullscreenIcon from '../../assets/icons/disableFullscreen.svg';
9
9
  import './Fullscreen.scss';
10
- const b = cn('kv-fullscreen');
11
- class FullscreenWrapper extends React.Component {
12
- constructor(props) {
13
- super(props);
14
- this.modalRoot = null;
15
- this.el = document.createElement('div');
16
- }
17
- componentDidMount() {
18
- this.modalRoot = document.getElementById('fullscreen-root');
19
- if (this.modalRoot) {
20
- this.modalRoot.appendChild(this.el);
21
- }
22
- }
23
- componentWillUnmount() {
24
- if (this.modalRoot) {
25
- this.modalRoot.removeChild(this.el);
26
- }
27
- }
28
- render() {
29
- return ReactDOM.createPortal(this.props.children, this.el);
30
- }
31
- }
32
- function Fullscreen(props) {
10
+ const b = cn('ydb-fullscreen');
11
+ const fullscreenRoot = (_a = document.getElementById('fullscreen-root')) !== null && _a !== void 0 ? _a : undefined;
12
+ function Fullscreen({ children, className }) {
13
+ const isFullscreen = useTypedSelector((state) => state.fullscreen);
33
14
  const dispatch = useTypedDispatch();
34
15
  const onDisableFullScreen = React.useCallback(() => {
35
16
  dispatch(disableFullscreen());
@@ -45,6 +26,32 @@ function Fullscreen(props) {
45
26
  document.removeEventListener('keydown', escFunction, false);
46
27
  };
47
28
  }, [onDisableFullScreen]);
48
- return (_jsx(FullscreenWrapper, { children: _jsxs("div", { className: b(null, props.className), children: [_jsx(Button, { onClick: onDisableFullScreen, view: "raised", className: b('close-button'), children: _jsx(Icon, { data: disableFullscreenIcon }) }), props.children] }) }));
29
+ const [container, setContainer] = React.useState(null);
30
+ React.useEffect(() => {
31
+ const div = document.createElement('div');
32
+ fullscreenRoot === null || fullscreenRoot === void 0 ? void 0 : fullscreenRoot.appendChild(div);
33
+ div.style.display = 'contents';
34
+ setContainer(div);
35
+ return () => {
36
+ setContainer(null);
37
+ div.remove();
38
+ };
39
+ }, []);
40
+ const ref = React.useRef(null);
41
+ React.useLayoutEffect(() => {
42
+ var _a;
43
+ if (container) {
44
+ if (isFullscreen) {
45
+ fullscreenRoot === null || fullscreenRoot === void 0 ? void 0 : fullscreenRoot.appendChild(container);
46
+ }
47
+ else {
48
+ (_a = ref.current) === null || _a === void 0 ? void 0 : _a.appendChild(container);
49
+ }
50
+ }
51
+ }, [container, isFullscreen]);
52
+ if (!container) {
53
+ return null;
54
+ }
55
+ return (_jsx("div", { ref: ref, style: { display: 'contents' }, children: _jsx(Portal, { container: container, children: _jsxs("div", { className: b({ fullscreen: isFullscreen }, className), children: [_jsx(Button, { onClick: onDisableFullScreen, view: "raised", className: b('close-button'), children: _jsx(Icon, { data: disableFullscreenIcon }) }), children] }) }) }));
49
56
  }
50
57
  export default Fullscreen;
@@ -1,20 +1,28 @@
1
- .kv-fullscreen {
2
- // should expand to fill the content area, keeping aside navigation visible
3
- // counts on .gn-aside-header__content to have position: relative, it is set in App.scss
4
- position: absolute;
5
- z-index: 10;
6
- inset: 0;
7
-
1
+ .ydb-fullscreen {
8
2
  display: flex;
9
3
  overflow: hidden;
10
4
  flex-grow: 1;
11
5
 
12
- background-color: var(--g-color-base-background);
6
+ &_fullscreen {
7
+ // should expand to fill the content area, keeping aside navigation visible
8
+ // counts on .gn-aside-header__content to have position: relative, it is set in App.scss
9
+ position: absolute;
10
+ z-index: 10;
11
+ inset: 0;
12
+
13
+ background-color: var(--g-color-base-background);
14
+ }
13
15
 
14
16
  &__close-button {
15
17
  position: fixed;
16
18
  z-index: 11;
17
19
  top: 8px;
18
20
  right: 20px;
21
+
22
+ display: none;
23
+ }
24
+
25
+ &_fullscreen &__close-button {
26
+ display: block;
19
27
  }
20
28
  }
@@ -0,0 +1,13 @@
1
+ import type { Data, GraphNode, Options, Shapes } from '@gravity-ui/paranoid';
2
+ interface GraphProps<T> {
3
+ data: Data<T>;
4
+ opts?: Options;
5
+ shapes?: Shapes;
6
+ }
7
+ export declare function Graph<T>(props: GraphProps<T>): import("react/jsx-runtime").JSX.Element;
8
+ export declare const renderExplainNode: (node: GraphNode) => string;
9
+ interface YDBGraphProps<T> {
10
+ data: Data<T>;
11
+ }
12
+ export declare function YDBGraph<T>(props: YDBGraphProps<T>): import("react/jsx-runtime").JSX.Element;
13
+ export {};
@@ -0,0 +1,41 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import { getTopology, getYdbPlanNodeShape } from '@gravity-ui/paranoid';
4
+ export function Graph(props) {
5
+ const containerRef = React.useRef(null);
6
+ const containerId = React.useId();
7
+ const { data, opts, shapes } = props;
8
+ React.useEffect(() => {
9
+ const graphRoot = containerRef.current;
10
+ if (!graphRoot) {
11
+ return undefined;
12
+ }
13
+ graphRoot.innerHTML = '';
14
+ // set width and height to screen size to make a canvas bigger then the container
15
+ graphRoot.style.setProperty('width', '100vw');
16
+ graphRoot.style.setProperty('height', '100vh');
17
+ const topology = getTopology(graphRoot.id, data, opts, shapes);
18
+ topology.render();
19
+ graphRoot.style.setProperty('width', '100%');
20
+ graphRoot.style.setProperty('height', '100%');
21
+ return () => {
22
+ topology.destroy();
23
+ };
24
+ }, [data, opts, shapes]);
25
+ return _jsx("div", { id: containerId, ref: containerRef, style: { overflow: 'auto' } });
26
+ }
27
+ export const renderExplainNode = (node) => {
28
+ const parts = node.name.split('|');
29
+ return parts.length > 1 ? parts[1] : node.name;
30
+ };
31
+ const schemaOptions = {
32
+ renderNodeTitle: renderExplainNode,
33
+ textOverflow: 'normal',
34
+ initialZoomFitsCanvas: true,
35
+ };
36
+ const schemaShapes = {
37
+ node: getYdbPlanNodeShape,
38
+ };
39
+ export function YDBGraph(props) {
40
+ return _jsx(Graph, { ...props, opts: schemaOptions, shapes: schemaShapes });
41
+ }
@@ -1,8 +1,11 @@
1
+ import type { ButtonProps } from '@gravity-ui/uikit';
1
2
  interface LabelWithPopoverProps {
2
3
  text: React.ReactNode;
3
4
  popoverContent: React.ReactNode;
5
+ popoverClassName?: string;
4
6
  className?: string;
5
7
  contentClassName?: string;
8
+ buttonProps?: ButtonProps;
6
9
  }
7
- export declare const LabelWithPopover: ({ text, popoverContent, className, contentClassName, }: LabelWithPopoverProps) => import("react/jsx-runtime").JSX.Element;
10
+ export declare const LabelWithPopover: ({ text, popoverContent, popoverClassName, className, contentClassName, buttonProps, }: LabelWithPopoverProps) => import("react/jsx-runtime").JSX.Element;
8
11
  export {};
@@ -1,3 +1,3 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { HelpPopover } from '@gravity-ui/components';
3
- export const LabelWithPopover = ({ text, popoverContent, className, contentClassName, }) => (_jsxs("div", { className: className, children: [text, '\u00a0', _jsx(HelpPopover, { content: popoverContent, contentClassName: contentClassName })] }));
3
+ export const LabelWithPopover = ({ text, popoverContent, popoverClassName, className, contentClassName, buttonProps, }) => (_jsxs("div", { className: className, children: [text, '\u00a0', _jsx(HelpPopover, { className: popoverClassName, buttonProps: buttonProps, content: popoverContent, contentClassName: contentClassName })] }));
@@ -2,7 +2,8 @@ import type { LoaderSize } from '@gravity-ui/uikit';
2
2
  import './Loader.scss';
3
3
  interface LoaderProps {
4
4
  size?: LoaderSize;
5
+ delay?: number;
5
6
  className?: string;
6
7
  }
7
- export declare const Loader: ({ size, className }: LoaderProps) => import("react/jsx-runtime").JSX.Element;
8
+ export declare const Loader: ({ size, delay, className }: LoaderProps) => import("react/jsx-runtime").JSX.Element | null;
8
9
  export {};
@@ -1,8 +1,13 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { Loader as KitLoader } from '@gravity-ui/uikit';
3
3
  import { cn } from '../../utils/cn';
4
+ import { useDelayed } from '../../utils/hooks/useDelayed';
4
5
  import './Loader.scss';
5
6
  const b = cn('ydb-loader');
6
- export const Loader = ({ size = 'm', className }) => {
7
+ export const Loader = ({ size = 'm', delay = 600, className }) => {
8
+ const show = useDelayed(delay);
9
+ if (!show) {
10
+ return null;
11
+ }
7
12
  return (_jsx("div", { className: b(null, className), children: _jsx(KitLoader, { size: size }) }));
8
13
  };
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import type { LoaderSize } from '@gravity-ui/uikit';
3
+ interface LoaderWrapperProps {
4
+ loading?: boolean;
5
+ size?: LoaderSize;
6
+ className?: string;
7
+ children: React.ReactNode;
8
+ }
9
+ export declare function LoaderWrapper({ loading, size, className, children }: LoaderWrapperProps): string | number | boolean | Iterable<React.ReactNode> | import("react/jsx-runtime").JSX.Element | null | undefined;
10
+ export {};
@@ -0,0 +1,8 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Loader } from '../Loader/Loader';
3
+ export function LoaderWrapper({ loading, size = 'm', className, children }) {
4
+ if (loading) {
5
+ return _jsx(Loader, { size: size, className: className });
6
+ }
7
+ return children;
8
+ }
@@ -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", import("./types").PreparedMetricsData | undefined, "api">;
4
- }, "api", "All", 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, {}>, "All" | "PDiskData" | "UserData", import("./types").PreparedMetricsData | undefined, "api">;
4
+ }, "api", "All" | "PDiskData" | "UserData", typeof import("@reduxjs/toolkit/query").coreModuleName | typeof import("@reduxjs/toolkit/query/react").reactHooksModuleName>;
@@ -1,7 +1,5 @@
1
1
  import { lazyComponent } from '../../utils/lazyComponent';
2
2
  export const MonacoEditor = lazyComponent(async () => {
3
3
  const Editor = (await import('react-monaco-editor')).default;
4
- const { registerLanguages } = await import('../../utils/monaco');
5
- registerLanguages();
6
4
  return { Editor };
7
5
  }, 'Editor');
@@ -1,6 +1,5 @@
1
1
  import type { NodesPreparedEntity } from '../../store/reducers/nodes/types';
2
2
  import type { NodeAddress } from '../../types/additionalProps';
3
- import './NodeHostWrapper.scss';
4
3
  interface NodeHostWrapperProps {
5
4
  node: NodesPreparedEntity;
6
5
  getNodeRef?: (node?: NodeAddress) => string | null;
@@ -1,15 +1,12 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { ArrowUpRightFromSquare } from '@gravity-ui/icons';
3
- import { Button, Icon, PopoverBehavior } from '@gravity-ui/uikit';
2
+ import { PopoverBehavior } from '@gravity-ui/uikit';
4
3
  import { getDefaultNodePath } from '../../containers/Node/NodePages';
5
- import { cn } from '../../utils/cn';
6
4
  import { createDeveloperUILinkWithNodeId } from '../../utils/developerUI/developerUI';
7
5
  import { isUnavailableNode } from '../../utils/nodes';
8
6
  import { CellWithPopover } from '../CellWithPopover/CellWithPopover';
7
+ import { DeveloperUILinkButton } from '../DeveloperUILinkButton/DeveloperUILinkButton';
9
8
  import { EntityStatus } from '../EntityStatus/EntityStatus';
10
9
  import { NodeEndpointsTooltipContent } from '../TooltipsContent';
11
- import './NodeHostWrapper.scss';
12
- const b = cn('ydb-node-host-wrapper');
13
10
  export const NodeHostWrapper = ({ node, getNodeRef }) => {
14
11
  if (!node.Host) {
15
12
  return _jsx("span", { children: "\u2014" });
@@ -27,6 +24,6 @@ export const NodeHostWrapper = ({ node, getNodeRef }) => {
27
24
  tenantName: node.TenantName,
28
25
  })
29
26
  : undefined;
30
- const additionalControls = nodeHref ? (_jsx(Button, { size: "s", href: nodeHref, className: b('external-button'), target: "_blank", children: _jsx(Icon, { data: ArrowUpRightFromSquare }) })) : null;
27
+ const additionalControls = nodeHref ? _jsx(DeveloperUILinkButton, { href: nodeHref }) : null;
31
28
  return (_jsx(CellWithPopover, { disabled: !isNodeAvailable, content: _jsx(NodeEndpointsTooltipContent, { data: node }), placement: ['top', 'bottom'], behavior: PopoverBehavior.Immediate, children: _jsx(EntityStatus, { name: node.Host, status: node.SystemState, path: nodePath, hasClipboardButton: true, additionalControls: additionalControls }) }));
32
29
  };
@@ -1,10 +1,13 @@
1
1
  import type { PreparedPDisk } from '../../utils/disks/types';
2
- import type { InfoViewerProps } from '../InfoViewer/InfoViewer';
3
2
  import './PDiskInfo.scss';
4
- interface PDiskInfoProps<T extends PreparedPDisk> extends Omit<InfoViewerProps, 'info'> {
5
- pDisk: T;
3
+ interface GetPDiskInfoOptions<T extends PreparedPDisk> {
4
+ pDisk?: T;
6
5
  nodeId?: number | string | null;
7
- isPDiskPage?: boolean;
6
+ withPDiskPageLink?: boolean;
7
+ isUserAllowedToMakeChanges?: boolean;
8
8
  }
9
- export declare function PDiskInfo<T extends PreparedPDisk>({ pDisk, nodeId, isPDiskPage, ...infoViewerProps }: PDiskInfoProps<T>): import("react/jsx-runtime").JSX.Element;
9
+ interface PDiskInfoProps<T extends PreparedPDisk> extends GetPDiskInfoOptions<T> {
10
+ className?: string;
11
+ }
12
+ export declare function PDiskInfo<T extends PreparedPDisk>({ pDisk, nodeId, withPDiskPageLink, className, }: PDiskInfoProps<T>): import("react/jsx-runtime").JSX.Element;
10
13
  export {};