ydb-embedded-ui 5.2.0 → 5.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (457) hide show
  1. package/dist/components/BasicNodeViewer/BasicNodeViewer.js +1 -1
  2. package/dist/components/ButtonWithConfirmDialog/ButtonWithConfirmDialog.d.ts +13 -0
  3. package/dist/components/ButtonWithConfirmDialog/ButtonWithConfirmDialog.js +32 -0
  4. package/dist/components/CellWithPopover/CellWithPopover.js +1 -11
  5. package/dist/components/ClipboardButton/ClipboardButton.js +1 -11
  6. package/dist/components/ComponentsProvider/ComponentsProvider.d.ts +2 -2
  7. package/dist/components/ComponentsProvider/componentsRegistry.d.ts +1 -1
  8. package/dist/components/ComponentsProvider/registry.d.ts +3 -3
  9. package/dist/components/ContentWithPopup/ContentWithPopup.js +1 -11
  10. package/dist/components/CriticalActionDialog/CriticalActionDialog.d.ts +6 -4
  11. package/dist/components/CriticalActionDialog/CriticalActionDialog.js +32 -7
  12. package/dist/components/CriticalActionDialog/CriticalActionDialog.scss +8 -19
  13. package/dist/components/CriticalActionDialog/i18n/en.json +7 -0
  14. package/dist/components/CriticalActionDialog/i18n/index.d.ts +1 -0
  15. package/dist/components/CriticalActionDialog/i18n/index.js +4 -0
  16. package/dist/components/EnableFullscreenButton/EnableFullscreenButton.js +2 -2
  17. package/dist/components/EntityStatus/EntityStatus.d.ts +20 -37
  18. package/dist/components/EntityStatus/EntityStatus.js +17 -66
  19. package/dist/components/EntityStatus/EntityStatus.scss +1 -57
  20. package/dist/components/Errors/403/AccessDenied.js +1 -11
  21. package/dist/components/FormattedBytes/FormattedBytes.d.ts +1 -1
  22. package/dist/components/FormattedBytes/FormattedBytes.js +1 -11
  23. package/dist/components/FormattedBytes/utils.d.ts +1 -1
  24. package/dist/components/FullNodeViewer/FullNodeViewer.js +1 -2
  25. package/dist/components/Fullscreen/Fullscreen.js +11 -11
  26. package/dist/components/Illustration/Illustration.js +1 -11
  27. package/dist/components/InfoViewer/InfoViewer.d.ts +2 -2
  28. package/dist/components/InfoViewer/InfoViewer.js +1 -1
  29. package/dist/components/InfoViewer/formatters/cdcStream.d.ts +1 -1
  30. package/dist/components/InfoViewer/formatters/common.d.ts +1 -1
  31. package/dist/components/InfoViewer/formatters/pqGroup.d.ts +3 -3
  32. package/dist/components/InfoViewer/formatters/schema.d.ts +1 -1
  33. package/dist/components/InfoViewer/formatters/table.d.ts +4 -4
  34. package/dist/components/InfoViewer/utils.d.ts +3 -3
  35. package/dist/components/InfoViewerSkeleton/InfoViewerSkeleton.d.ts +7 -0
  36. package/dist/components/InfoViewerSkeleton/InfoViewerSkeleton.js +7 -0
  37. package/dist/{containers/Cluster/ClusterInfoSkeleton/ClusterInfoSkeleton.scss → components/InfoViewerSkeleton/InfoViewerSkeleton.scss} +1 -9
  38. package/dist/components/InternalLink/InternalLink.js +1 -11
  39. package/dist/components/LinkToSchemaObject/LinkToSchemaObject.js +1 -11
  40. package/dist/components/LinkWithIcon/LinkWithIcon.d.ts +8 -0
  41. package/dist/components/LinkWithIcon/LinkWithIcon.js +14 -0
  42. package/dist/components/{ExternalLinkWithIcon/ExternalLinkWithIcon.scss → LinkWithIcon/LinkWithIcon.scss} +1 -1
  43. package/dist/components/MetricChart/MetricChart.d.ts +2 -1
  44. package/dist/components/MetricChart/MetricChart.js +8 -3
  45. package/dist/components/MetricChart/getChartData.d.ts +2 -1
  46. package/dist/components/MetricChart/getChartData.js +2 -2
  47. package/dist/components/MetricChart/getDefaultDataFormatter.d.ts +1 -1
  48. package/dist/components/MetricChart/i18n/en.json +3 -0
  49. package/dist/components/MetricChart/i18n/index.d.ts +2 -0
  50. package/dist/components/MetricChart/i18n/index.js +4 -0
  51. package/dist/components/MetricChart/reducer.d.ts +1 -1
  52. package/dist/components/MetricChart/types.d.ts +5 -5
  53. package/dist/components/NodeHostWrapper/NodeHostWrapper.js +1 -1
  54. package/dist/components/PDiskInfo/PDiskInfo.d.ts +11 -0
  55. package/dist/components/PDiskInfo/PDiskInfo.js +71 -0
  56. package/dist/components/PDiskInfo/PDiskInfo.scss +8 -0
  57. package/dist/components/PDiskInfo/i18n/en.json +14 -0
  58. package/dist/components/PDiskInfo/i18n/index.d.ts +1 -0
  59. package/dist/components/PDiskInfo/i18n/index.js +4 -0
  60. package/dist/components/PageMeta/PageMeta.d.ts +8 -0
  61. package/dist/components/PageMeta/PageMeta.js +7 -0
  62. package/dist/components/PageMeta/PageMeta.scss +10 -0
  63. package/dist/components/ProgressViewer/ProgressViewer.d.ts +1 -1
  64. package/dist/components/QueryResultTable/Cell/Cell.js +2 -2
  65. package/dist/components/QueryResultTable/QueryResultTable.js +1 -11
  66. package/dist/components/ShortyString/ShortyString.d.ts +1 -1
  67. package/dist/components/StatusIcon/StatusIcon.d.ts +12 -0
  68. package/dist/components/StatusIcon/StatusIcon.js +23 -0
  69. package/dist/components/StatusIcon/StatusIcon.scss +69 -0
  70. package/dist/components/Tablet/Tablet.scss +1 -1
  71. package/dist/components/TabletsOverall/TabletsOverall.js +6 -6
  72. package/dist/components/TabletsStatistic/TabletsStatistic.d.ts +1 -1
  73. package/dist/components/TabletsStatistic/TabletsStatistic.scss +1 -1
  74. package/dist/components/Tag/Tag.d.ts +1 -1
  75. package/dist/components/UsageLabel/UsageLabel.js +1 -11
  76. package/dist/components/VirtualTable/TableHead.js +2 -2
  77. package/dist/components/VirtualTable/reducer.d.ts +2 -2
  78. package/dist/components/VirtualTable/types.d.ts +13 -13
  79. package/dist/components/slots/types.d.ts +1 -1
  80. package/dist/containers/App/App.d.ts +1 -1
  81. package/dist/containers/App/Content.js +10 -4
  82. package/dist/containers/App/Providers.d.ts +1 -1
  83. package/dist/containers/App/appSlots.d.ts +6 -0
  84. package/dist/containers/App/appSlots.js +1 -0
  85. package/dist/containers/AppWithClusters/AppWithClusters.d.ts +1 -1
  86. package/dist/containers/AppWithClusters/AppWithClusters.js +1 -1
  87. package/dist/containers/AsideNavigation/YdbInternalUser/YdbInternalUser.js +2 -3
  88. package/dist/containers/Authentication/Authentication.js +2 -5
  89. package/dist/containers/Cluster/Cluster.js +4 -5
  90. package/dist/containers/Cluster/Cluster.scss +3 -0
  91. package/dist/containers/Cluster/ClusterInfo/ClusterInfo.js +4 -4
  92. package/dist/containers/Cluster/ClusterInfo/ClusterInfo.scss +4 -0
  93. package/dist/containers/Cluster/ClusterInfo/utils.d.ts +1 -1
  94. package/dist/containers/Cluster/utils.d.ts +2 -2
  95. package/dist/containers/Clusters/Clusters.js +2 -4
  96. package/dist/containers/Clusters/Clusters.scss +1 -1
  97. package/dist/containers/Clusters/constants.d.ts +1 -1
  98. package/dist/containers/Clusters/useClustersList.js +2 -2
  99. package/dist/containers/Clusters/useSelectedColumns.d.ts +1 -1
  100. package/dist/containers/Header/Header.js +4 -5
  101. package/dist/containers/Header/breadcrumbs.js +28 -5
  102. package/dist/containers/Header/i18n/en.json +7 -0
  103. package/dist/containers/Header/i18n/index.d.ts +1 -0
  104. package/dist/containers/Header/i18n/index.js +4 -0
  105. package/dist/containers/Heatmap/Heatmap.js +3 -4
  106. package/dist/containers/Heatmap/HeatmapCanvas/HeatmapCanvas.js +1 -1
  107. package/dist/containers/Node/Node.js +2 -3
  108. package/dist/containers/Node/NodeStructure/NodeStructure.d.ts +0 -1
  109. package/dist/containers/Node/NodeStructure/NodeStructure.js +2 -6
  110. package/dist/containers/Node/NodeStructure/Pdisk.js +9 -65
  111. package/dist/containers/Node/NodeStructure/Vdisk.d.ts +1 -1
  112. package/dist/containers/Node/NodeStructure/Vdisk.js +5 -3
  113. package/dist/containers/Nodes/Nodes.js +2 -3
  114. package/dist/containers/Nodes/NodesWrapper.js +1 -11
  115. package/dist/containers/Nodes/getNodes.js +1 -11
  116. package/dist/containers/Nodes/getNodesColumns.d.ts +1 -1
  117. package/dist/containers/PDisk/PDisk.d.ts +3 -0
  118. package/dist/containers/PDisk/PDisk.js +68 -0
  119. package/dist/containers/PDisk/PDisk.scss +41 -0
  120. package/dist/containers/PDisk/PDiskGroups.d.ts +10 -0
  121. package/dist/containers/PDisk/PDiskGroups.js +20 -0
  122. package/dist/containers/PDisk/i18n/en.json +6 -0
  123. package/dist/containers/PDisk/i18n/index.d.ts +1 -0
  124. package/dist/containers/PDisk/i18n/index.js +4 -0
  125. package/dist/containers/PDisk/shared.d.ts +10 -0
  126. package/dist/containers/PDisk/shared.js +2 -0
  127. package/dist/containers/ReduxTooltip/ReduxTooltip.d.ts +1 -1
  128. package/dist/containers/ReduxTooltip/ReduxTooltip.js +3 -2
  129. package/dist/containers/Storage/DiskStateProgressBar/DiskStateProgressBar.d.ts +1 -9
  130. package/dist/containers/Storage/DiskStateProgressBar/DiskStateProgressBar.js +2 -12
  131. package/dist/containers/Storage/PDisk/PDisk.d.ts +3 -3
  132. package/dist/containers/Storage/PDisk/PDisk.js +6 -53
  133. package/dist/containers/Storage/PDiskPopup/PDiskPopup.d.ts +3 -3
  134. package/dist/containers/Storage/PDiskPopup/PDiskPopup.js +3 -14
  135. package/dist/containers/Storage/Storage.js +2 -3
  136. package/dist/containers/Storage/StorageGroups/getGroups.js +1 -11
  137. package/dist/containers/Storage/StorageGroups/getStorageGroupsColumns.d.ts +2 -1
  138. package/dist/containers/Storage/StorageGroups/getStorageGroupsColumns.js +22 -8
  139. package/dist/containers/Storage/StorageNodes/getNodes.js +1 -11
  140. package/dist/containers/Storage/StorageNodes/getStorageNodesColumns.js +1 -1
  141. package/dist/containers/Storage/StorageWrapper.js +1 -11
  142. package/dist/containers/Storage/UsageFilter/UsageFilter.js +1 -1
  143. package/dist/containers/Storage/VDisk/VDisk.d.ts +2 -3
  144. package/dist/containers/Storage/VDisk/VDisk.js +4 -64
  145. package/dist/containers/Storage/VDiskPopup/VDiskPopup.js +2 -12
  146. package/dist/containers/Storage/VirtualStorage.js +2 -3
  147. package/dist/containers/Storage/utils/index.d.ts +1 -3
  148. package/dist/containers/Storage/utils/index.js +0 -6
  149. package/dist/containers/Tablet/Tablet.js +4 -5
  150. package/dist/containers/Tablet/TabletControls/TabletControls.d.ts +3 -2
  151. package/dist/containers/Tablet/TabletControls/TabletControls.js +2 -49
  152. package/dist/containers/Tablet/TabletTable/TabletTable.js +1 -1
  153. package/dist/containers/Tablets/Tablets.js +2 -3
  154. package/dist/containers/TabletsFilters/TabletsFilters.d.ts +2 -2
  155. package/dist/containers/Tenant/Acl/Acl.js +2 -3
  156. package/dist/containers/Tenant/Diagnostics/Consumers/Consumers.js +2 -3
  157. package/dist/containers/Tenant/Diagnostics/Describe/Describe.js +3 -3
  158. package/dist/containers/Tenant/Diagnostics/Diagnostics.js +6 -4
  159. package/dist/containers/Tenant/Diagnostics/DiagnosticsPages.d.ts +2 -2
  160. package/dist/containers/Tenant/Diagnostics/HotKeys/HotKeys.js +2 -3
  161. package/dist/containers/Tenant/Diagnostics/Network/Network.d.ts +2 -2
  162. package/dist/containers/Tenant/Diagnostics/Network/NodeNetwork/NodeNetwork.d.ts +1 -1
  163. package/dist/containers/Tenant/Diagnostics/Network/NodeNetwork/NodeNetwork.js +7 -5
  164. package/dist/containers/Tenant/Diagnostics/Network/NodeNetwork/NodeNetwork.scss +1 -1
  165. package/dist/containers/Tenant/Diagnostics/Overview/Overview.js +9 -5
  166. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo.d.ts +1 -1
  167. package/dist/containers/Tenant/Diagnostics/Overview/utils/prepareTopicSchemaInfo.d.ts +1 -1
  168. package/dist/containers/Tenant/Diagnostics/Partitions/Partitions.js +2 -3
  169. package/dist/containers/Tenant/Diagnostics/Partitions/columns/columns.js +1 -1
  170. package/dist/containers/Tenant/Diagnostics/Partitions/utils/index.d.ts +1 -1
  171. package/dist/containers/Tenant/Diagnostics/TenantOverview/DefaultOverviewContent/DefaultOverviewContent.d.ts +5 -1
  172. package/dist/containers/Tenant/Diagnostics/TenantOverview/DefaultOverviewContent/DefaultOverviewContent.js +2 -2
  173. package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/Healthcheck.scss +0 -1
  174. package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/HealthcheckDetails.d.ts +2 -2
  175. package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/HealthcheckPreview.js +3 -2
  176. package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/IssuesViewer/IssueTree.d.ts +2 -2
  177. package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/IssuesViewer/IssueTree.js +3 -12
  178. package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/IssuesViewer/IssueTreeItem/IssueTreeItem.d.ts +2 -1
  179. package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/IssuesViewer/IssueTreeItem/IssueTreeItem.js +1 -1
  180. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TenantCpu.js +1 -1
  181. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TopNodesByCpu.js +2 -3
  182. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TopNodesByLoad.js +2 -3
  183. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TopQueries.js +2 -3
  184. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TopShards.js +2 -3
  185. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantDashboard/TenantDashboard.d.ts +2 -1
  186. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantDashboard/TenantDashboard.js +2 -2
  187. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantMemory/TenantMemory.js +1 -1
  188. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantMemory/TopNodesByMemory.js +2 -3
  189. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.js +6 -7
  190. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantOverviewTableLayout.js +1 -11
  191. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorage.js +1 -1
  192. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TopGroups.js +2 -3
  193. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TopTables.js +2 -3
  194. package/dist/containers/Tenant/Diagnostics/TenantOverview/useHealthcheck.d.ts +2 -2
  195. package/dist/containers/Tenant/Diagnostics/TenantOverview/useHealthcheck.js +3 -4
  196. package/dist/containers/Tenant/Diagnostics/TopQueries/TopQueries.js +2 -5
  197. package/dist/containers/Tenant/Diagnostics/TopShards/TopShards.js +2 -3
  198. package/dist/containers/Tenant/Info/ExternalDataSource/ExternalDataSource.js +1 -1
  199. package/dist/containers/Tenant/Info/ExternalTable/ExternalTable.js +3 -3
  200. package/dist/containers/Tenant/ObjectGeneral/ObjectGeneral.d.ts +1 -0
  201. package/dist/containers/Tenant/ObjectGeneral/ObjectGeneral.js +3 -2
  202. package/dist/containers/Tenant/ObjectSummary/ObjectSummary.js +2 -3
  203. package/dist/containers/Tenant/Query/ExecuteResult/ExecuteResult.js +2 -3
  204. package/dist/containers/Tenant/Query/ExplainResult/ExplainResult.js +3 -3
  205. package/dist/containers/Tenant/Query/Issues/models.d.ts +1 -1
  206. package/dist/containers/Tenant/Query/Preview/Preview.js +2 -3
  207. package/dist/containers/Tenant/Query/QueriesHistory/QueriesHistory.js +2 -3
  208. package/dist/containers/Tenant/Query/Query.js +2 -3
  209. package/dist/containers/Tenant/Query/QueryEditor/QueryEditor.js +8 -12
  210. package/dist/containers/Tenant/Query/QueryEditor/helpers.d.ts +4 -0
  211. package/dist/containers/Tenant/Query/QueryEditor/helpers.js +17 -0
  212. package/dist/containers/Tenant/Query/SaveQuery/SaveQuery.js +4 -4
  213. package/dist/containers/Tenant/Query/SavedQueries/SavedQueries.js +2 -2
  214. package/dist/containers/Tenant/Query/i18n/en.json +5 -1
  215. package/dist/containers/Tenant/Query/i18n/index.d.ts +1 -1
  216. package/dist/containers/Tenant/Query/i18n/index.js +2 -5
  217. package/dist/containers/Tenant/Schema/SchemaTree/SchemaTree.js +5 -3
  218. package/dist/containers/Tenant/Tenant.js +24 -8
  219. package/dist/containers/Tenant/utils/index.d.ts +1 -1
  220. package/dist/containers/Tenant/utils/schema.d.ts +12 -12
  221. package/dist/containers/Tenant/utils/schemaActions.d.ts +1 -1
  222. package/dist/containers/Tenants/Tenants.js +3 -4
  223. package/dist/containers/UserSettings/Setting.d.ts +1 -1
  224. package/dist/containers/UserSettings/i18n/en.json +4 -0
  225. package/dist/containers/UserSettings/i18n/index.d.ts +1 -1
  226. package/dist/containers/UserSettings/settings.d.ts +4 -1
  227. package/dist/containers/UserSettings/settings.js +21 -6
  228. package/dist/containers/Versions/NodesTable/NodesTable.js +1 -1
  229. package/dist/containers/Versions/Versions.js +2 -3
  230. package/dist/reportWebVitals.d.ts +1 -1
  231. package/dist/routes.d.ts +5 -2
  232. package/dist/routes.js +6 -1
  233. package/dist/services/api.d.ts +8 -7
  234. package/dist/services/api.js +3 -13
  235. package/dist/services/settings.d.ts +1 -1
  236. package/dist/services/settings.js +2 -1
  237. package/dist/store/configureStore.d.ts +310 -0
  238. package/dist/store/configureStore.js +56 -0
  239. package/dist/store/defaultStore.d.ts +168 -0
  240. package/dist/store/defaultStore.js +2 -0
  241. package/dist/store/getUrlData.d.ts +3 -3
  242. package/dist/store/getUrlData.js +4 -4
  243. package/dist/store/index.d.ts +3 -97
  244. package/dist/store/index.js +2 -49
  245. package/dist/store/reducers/authentication/authentication.d.ts +247 -4
  246. package/dist/store/reducers/authentication/types.d.ts +1 -1
  247. package/dist/store/reducers/cluster/cluster.d.ts +83 -2
  248. package/dist/store/reducers/cluster/types.d.ts +3 -3
  249. package/dist/store/reducers/clusterNodes/clusterNodes.d.ts +83 -2
  250. package/dist/store/reducers/clusterNodes/types.d.ts +1 -1
  251. package/dist/store/reducers/clusters/clusters.d.ts +83 -2
  252. package/dist/store/reducers/clusters/selectors.d.ts +20 -6
  253. package/dist/store/reducers/clusters/selectors.js +1 -1
  254. package/dist/store/reducers/clusters/types.d.ts +1 -1
  255. package/dist/store/reducers/describe.d.ts +165 -3
  256. package/dist/store/reducers/describe.js +4 -3
  257. package/dist/store/reducers/executeQuery.d.ts +83 -2
  258. package/dist/store/reducers/executeTopQueries/executeTopQueries.d.ts +3 -3
  259. package/dist/store/reducers/executeTopQueries/types.d.ts +1 -1
  260. package/dist/store/reducers/explainQuery.d.ts +165 -3
  261. package/dist/store/reducers/header/header.d.ts +1 -1
  262. package/dist/store/reducers/header/types.d.ts +7 -4
  263. package/dist/store/reducers/healthcheckInfo/healthcheckInfo.d.ts +101 -0
  264. package/dist/store/reducers/{healthcheckInfo.js → healthcheckInfo/healthcheckInfo.js} +2 -2
  265. package/dist/store/reducers/healthcheckInfo/types.d.ts +19 -0
  266. package/dist/store/reducers/healthcheckInfo/utils.d.ts +3 -0
  267. package/dist/store/reducers/healthcheckInfo/utils.js +11 -0
  268. package/dist/store/reducers/heatmap.d.ts +83 -2
  269. package/dist/store/reducers/heatmap.js +2 -2
  270. package/dist/store/reducers/host.d.ts +83 -2
  271. package/dist/store/reducers/hotKeys/hotKeys.d.ts +1 -1
  272. package/dist/store/reducers/hotKeys/types.d.ts +1 -1
  273. package/dist/store/reducers/index.d.ts +95 -45
  274. package/dist/store/reducers/index.js +4 -2
  275. package/dist/store/reducers/network/network.d.ts +83 -2
  276. package/dist/store/reducers/network/types.d.ts +1 -1
  277. package/dist/store/reducers/node/node.d.ts +165 -3
  278. package/dist/store/reducers/node/selectors.d.ts +1 -1
  279. package/dist/store/reducers/node/selectors.js +5 -4
  280. package/dist/store/reducers/node/types.d.ts +8 -10
  281. package/dist/store/reducers/node/utils.js +3 -2
  282. package/dist/store/reducers/nodes/nodes.d.ts +165 -3
  283. package/dist/store/reducers/nodes/nodes.js +1 -11
  284. package/dist/store/reducers/nodes/selectors.d.ts +1 -1
  285. package/dist/store/reducers/nodes/selectors.js +1 -1
  286. package/dist/store/reducers/nodes/types.d.ts +4 -3
  287. package/dist/store/reducers/nodes/utils.d.ts +1 -1
  288. package/dist/store/reducers/nodes/utils.js +3 -2
  289. package/dist/store/reducers/nodesList.d.ts +83 -2
  290. package/dist/store/reducers/olapStats.d.ts +83 -2
  291. package/dist/store/reducers/overview/overview.d.ts +166 -4
  292. package/dist/store/reducers/overview/overview.js +3 -3
  293. package/dist/store/reducers/overview/types.d.ts +6 -5
  294. package/dist/store/reducers/partitions/partitions.d.ts +83 -2
  295. package/dist/store/reducers/partitions/types.d.ts +1 -1
  296. package/dist/store/reducers/partitions/utils.d.ts +2 -2
  297. package/dist/store/reducers/pdisk/pdisk.d.ts +210 -0
  298. package/dist/store/reducers/pdisk/pdisk.js +64 -0
  299. package/dist/store/reducers/pdisk/types.d.ts +23 -0
  300. package/dist/store/reducers/pdisk/types.js +1 -0
  301. package/dist/store/reducers/pdisk/utils.d.ts +32 -0
  302. package/dist/store/reducers/pdisk/utils.js +32 -0
  303. package/dist/store/reducers/preview.d.ts +82 -1
  304. package/dist/store/reducers/saveQuery.d.ts +3 -3
  305. package/dist/store/reducers/schema/schema.d.ts +84 -4
  306. package/dist/store/reducers/schema/schema.js +4 -4
  307. package/dist/store/reducers/schema/types.d.ts +3 -3
  308. package/dist/store/reducers/schemaAcl/schemaAcl.d.ts +83 -2
  309. package/dist/store/reducers/schemaAcl/types.d.ts +1 -1
  310. package/dist/store/reducers/settings/settings.d.ts +2 -2
  311. package/dist/store/reducers/settings/types.d.ts +3 -3
  312. package/dist/store/reducers/shardsWorkload/shardsWorkload.d.ts +83 -2
  313. package/dist/store/reducers/shardsWorkload/types.d.ts +1 -1
  314. package/dist/store/reducers/storage/selectors.d.ts +1 -1
  315. package/dist/store/reducers/storage/selectors.js +1 -1
  316. package/dist/store/reducers/storage/storage.d.ts +165 -3
  317. package/dist/store/reducers/storage/storage.js +1 -11
  318. package/dist/store/reducers/storage/types.d.ts +10 -10
  319. package/dist/store/reducers/storage/utils.d.ts +4 -2
  320. package/dist/store/reducers/storage/utils.js +23 -30
  321. package/dist/store/reducers/tablet.d.ts +165 -3
  322. package/dist/store/reducers/tablet.js +1 -1
  323. package/dist/store/reducers/tablets.d.ts +83 -2
  324. package/dist/store/reducers/tabletsFilters.d.ts +101 -2
  325. package/dist/store/reducers/tabletsFilters.js +1 -1
  326. package/dist/store/reducers/tenant/tenant.d.ts +83 -2
  327. package/dist/store/reducers/tenant/types.d.ts +6 -6
  328. package/dist/store/reducers/tenantOverview/executeTopTables/executeTopTables.d.ts +83 -2
  329. package/dist/store/reducers/tenantOverview/executeTopTables/types.d.ts +1 -1
  330. package/dist/store/reducers/tenantOverview/topNodesByCpu/topNodesByCpu.d.ts +83 -2
  331. package/dist/store/reducers/tenantOverview/topNodesByCpu/topNodesByCpu.js +1 -11
  332. package/dist/store/reducers/tenantOverview/topNodesByCpu/types.d.ts +2 -2
  333. package/dist/store/reducers/tenantOverview/topNodesByLoad/topNodesByLoad.d.ts +83 -2
  334. package/dist/store/reducers/tenantOverview/topNodesByLoad/topNodesByLoad.js +1 -11
  335. package/dist/store/reducers/tenantOverview/topNodesByLoad/types.d.ts +2 -2
  336. package/dist/store/reducers/tenantOverview/topNodesByMemory/topNodesByMemory.d.ts +83 -2
  337. package/dist/store/reducers/tenantOverview/topNodesByMemory/topNodesByMemory.js +1 -11
  338. package/dist/store/reducers/tenantOverview/topNodesByMemory/types.d.ts +2 -2
  339. package/dist/store/reducers/tenantOverview/topQueries/tenantOverviewTopQueries.d.ts +83 -2
  340. package/dist/store/reducers/tenantOverview/topQueries/types.d.ts +1 -1
  341. package/dist/store/reducers/tenantOverview/topShards/tenantOverviewTopShards.d.ts +83 -2
  342. package/dist/store/reducers/tenantOverview/topShards/types.d.ts +1 -1
  343. package/dist/store/reducers/tenantOverview/topStorageGroups/topStorageGroups.d.ts +83 -2
  344. package/dist/store/reducers/tenantOverview/topStorageGroups/topStorageGroups.js +1 -11
  345. package/dist/store/reducers/tenantOverview/topStorageGroups/types.d.ts +2 -2
  346. package/dist/store/reducers/tenants/selectors.d.ts +2 -2
  347. package/dist/store/reducers/tenants/selectors.js +1 -1
  348. package/dist/store/reducers/tenants/tenants.d.ts +83 -2
  349. package/dist/store/reducers/tenants/types.d.ts +2 -2
  350. package/dist/store/reducers/tenants/utils.d.ts +6 -6
  351. package/dist/store/reducers/tooltip.d.ts +4 -3
  352. package/dist/store/reducers/tooltip.js +2 -4
  353. package/dist/store/reducers/topic.d.ts +83 -3
  354. package/dist/store/reducers/topic.js +1 -1
  355. package/dist/store/state-url-mapping.d.ts +5 -3
  356. package/dist/store/state-url-mapping.js +9 -18
  357. package/dist/store/utils.d.ts +4 -4
  358. package/dist/types/additionalProps.d.ts +2 -2
  359. package/dist/types/api/enums.d.ts +1 -0
  360. package/dist/types/api/enums.js +1 -0
  361. package/dist/types/api/error.d.ts +1 -1
  362. package/dist/types/api/nodes.d.ts +1 -1
  363. package/dist/types/api/nodesList.d.ts +1 -1
  364. package/dist/types/api/query.d.ts +19 -19
  365. package/dist/types/api/render.d.ts +6 -3
  366. package/dist/types/api/storage.d.ts +1 -1
  367. package/dist/types/api/tablet.d.ts +1 -1
  368. package/dist/types/common.d.ts +1 -1
  369. package/dist/types/index.d.ts +1 -1
  370. package/dist/types/store/describe.d.ts +3 -3
  371. package/dist/types/store/executeQuery.d.ts +2 -2
  372. package/dist/types/store/explainQuery.d.ts +3 -3
  373. package/dist/types/store/heatmap.d.ts +3 -3
  374. package/dist/types/store/host.d.ts +1 -1
  375. package/dist/types/store/nodesList.d.ts +2 -2
  376. package/dist/types/store/olapStats.d.ts +1 -1
  377. package/dist/types/store/query.d.ts +5 -5
  378. package/dist/types/store/tablet.d.ts +3 -3
  379. package/dist/types/store/tablets.d.ts +2 -2
  380. package/dist/types/store/tooltip.d.ts +3 -5
  381. package/dist/types/store/topic.d.ts +1 -1
  382. package/dist/types/versions.d.ts +2 -2
  383. package/dist/utils/additionalProps.d.ts +1 -1
  384. package/dist/utils/additionalProps.js +1 -1
  385. package/dist/utils/bytesParsers/formatBytes.d.ts +2 -2
  386. package/dist/utils/bytesParsers/formatBytes.js +1 -11
  387. package/dist/utils/clusterVersionColors.d.ts +1 -1
  388. package/dist/utils/clusterVersionColors.js +2 -2
  389. package/dist/utils/constants.d.ts +2 -1
  390. package/dist/utils/constants.js +5 -4
  391. package/dist/utils/dataFormatters/dataFormatters.d.ts +12 -11
  392. package/dist/utils/developerUI/developerUI.d.ts +1 -1
  393. package/dist/utils/diagnostics.d.ts +2 -2
  394. package/dist/utils/disks/__test__/calculatePDiskSeverity.test.d.ts +1 -0
  395. package/dist/utils/disks/__test__/calculatePDiskSeverity.test.js +36 -0
  396. package/dist/utils/disks/__test__/calculateVDiskSeverity.test.d.ts +1 -0
  397. package/dist/utils/disks/__test__/calculateVDiskSeverity.test.js +142 -0
  398. package/dist/utils/disks/calculatePDiskSeverity.d.ts +2 -0
  399. package/dist/utils/disks/calculatePDiskSeverity.js +18 -0
  400. package/dist/utils/disks/calculateVDiskSeverity.d.ts +2 -0
  401. package/dist/utils/disks/calculateVDiskSeverity.js +36 -0
  402. package/dist/utils/disks/constants.d.ts +25 -0
  403. package/dist/utils/disks/constants.js +38 -0
  404. package/dist/utils/disks/getPDiskType.d.ts +7 -0
  405. package/dist/utils/{pdisk.js → disks/getPDiskType.js} +13 -15
  406. package/dist/utils/disks/helpers.d.ts +3 -0
  407. package/dist/utils/disks/helpers.js +10 -0
  408. package/dist/utils/disks/prepareDisks.d.ts +5 -0
  409. package/dist/utils/disks/prepareDisks.js +40 -0
  410. package/dist/utils/disks/types.d.ts +15 -0
  411. package/dist/utils/disks/types.js +1 -0
  412. package/dist/utils/hooks/index.d.ts +1 -0
  413. package/dist/utils/hooks/index.js +1 -0
  414. package/dist/utils/hooks/useSetting.js +2 -2
  415. package/dist/utils/hooks/useTableResize.d.ts +3 -3
  416. package/dist/utils/hooks/useTableSort.d.ts +1 -1
  417. package/dist/utils/hooks/useTypedDispatch.d.ts +2 -0
  418. package/dist/utils/hooks/useTypedDispatch.js +2 -0
  419. package/dist/utils/hooks/useTypedSelector.d.ts +1 -1
  420. package/dist/utils/index.d.ts +1 -0
  421. package/dist/utils/index.js +3 -0
  422. package/dist/utils/monaco.d.ts +1 -0
  423. package/dist/utils/monaco.js +14 -0
  424. package/dist/utils/monitoring.d.ts +3 -3
  425. package/dist/utils/nodes.d.ts +8 -2
  426. package/dist/utils/nodes.js +11 -0
  427. package/dist/utils/prepareBackend.d.ts +2 -2
  428. package/dist/utils/query.d.ts +2 -2
  429. package/dist/utils/query.js +1 -11
  430. package/dist/utils/storage.d.ts +1 -3
  431. package/dist/utils/storage.js +0 -1
  432. package/dist/utils/tablet.d.ts +1 -1
  433. package/dist/utils/timeframes.d.ts +1 -1
  434. package/dist/utils/typecheckers.d.ts +1 -0
  435. package/dist/utils/versions/getVersionsColors.d.ts +1 -1
  436. package/dist/utils/versions/getVersionsColors.js +2 -2
  437. package/dist/utils/versions/parseNodesToVersionsValues.d.ts +1 -1
  438. package/dist/utils/yqlSuggestions/constants.d.ts +7 -0
  439. package/dist/utils/yqlSuggestions/constants.js +696 -0
  440. package/dist/utils/yqlSuggestions/generateSuggestions.d.ts +27 -0
  441. package/dist/utils/yqlSuggestions/generateSuggestions.js +252 -0
  442. package/dist/utils/yqlSuggestions/yqlSuggestions.d.ts +4 -0
  443. package/dist/utils/yqlSuggestions/yqlSuggestions.js +76 -0
  444. package/package.json +14 -10
  445. package/dist/assets/icons/flask.svg +0 -3
  446. package/dist/assets/icons/star.svg +0 -1
  447. package/dist/components/ExternalLinkWithIcon/ExternalLinkWithIcon.d.ts +0 -7
  448. package/dist/components/ExternalLinkWithIcon/ExternalLinkWithIcon.js +0 -9
  449. package/dist/containers/Cluster/ClusterInfoSkeleton/ClusterInfoSkeleton.d.ts +0 -7
  450. package/dist/containers/Cluster/ClusterInfoSkeleton/ClusterInfoSkeleton.js +0 -7
  451. package/dist/containers/Storage/utils/constants.d.ts +0 -2
  452. package/dist/containers/Storage/utils/constants.js +0 -2
  453. package/dist/containers/Tenant/Query/i18n/ru.json +0 -21
  454. package/dist/store/reducers/healthcheckInfo.d.ts +0 -21
  455. package/dist/types/store/healthcheck.d.ts +0 -20
  456. package/dist/utils/pdisk.d.ts +0 -17
  457. /package/dist/{types/store/healthcheck.js → store/reducers/healthcheckInfo/types.js} +0 -0
@@ -0,0 +1,10 @@
1
+ export declare const pdiskPageCn: {
2
+ (elementName: string, modifiers: import("bem-cn-lite").Modifications | null, mixin?: string | string[] | undefined): string;
3
+ (elementName: string, mixin?: string | string[] | undefined): string;
4
+ (elementName: string, modifiers: import("bem-cn-lite").Modifications): string;
5
+ (mods: import("bem-cn-lite").Modifications | null, mixin?: string | string[] | undefined): string;
6
+ (elementName: string): string;
7
+ (mods: import("bem-cn-lite").Modifications | null): string;
8
+ (): string;
9
+ builder(): import("bem-cn").Block;
10
+ };
@@ -0,0 +1,2 @@
1
+ import { cn } from '../../utils/cn';
2
+ export const pdiskPageCn = cn('ydb-pdisk-page');
@@ -1,4 +1,4 @@
1
- declare var _default: import("react-redux").ConnectedComponent<typeof ReduxTooltip, import("react-redux").Omit<PropTypes.InferProps<{
1
+ declare const _default: import("react-redux").ConnectedComponent<typeof ReduxTooltip, import("react-redux").Omit<PropTypes.InferProps<{
2
2
  className: PropTypes.Requireable<string>;
3
3
  toolTipVisible: PropTypes.Requireable<boolean>;
4
4
  currentHoveredRef: PropTypes.Requireable<object>;
@@ -4,6 +4,7 @@ import PropTypes from 'prop-types';
4
4
  import { connect } from 'react-redux';
5
5
  import { Popup, useVirtualElementRef } from '@gravity-ui/uikit';
6
6
  import { hideTooltip } from '../../store/reducers/tooltip';
7
+ import { tooltipTemplates } from '../../utils/tooltip';
7
8
  import './ReduxTooltip.scss';
8
9
  const propTypes = {
9
10
  className: PropTypes.string,
@@ -44,13 +45,13 @@ function ReduxTooltip(props) {
44
45
  : renderAnchorPopup(toolTipVisible, currentHoveredRef, data, additionalData) })));
45
46
  }
46
47
  const mapStateToProps = (state) => {
47
- const { toolTipVisible, currentHoveredRef, data, template, additionalData, positions } = state.tooltip;
48
+ const { toolTipVisible, currentHoveredRef, data, templateType, additionalData, positions } = state.tooltip;
48
49
  const { popupClassName } = additionalData || {};
49
50
  return {
50
51
  toolTipVisible,
51
52
  currentHoveredRef,
52
53
  data,
53
- template,
54
+ template: tooltipTemplates[templateType],
54
55
  additionalData,
55
56
  positions,
56
57
  popupClassName,
@@ -1,16 +1,8 @@
1
1
  /// <reference types="react" />
2
2
  import './DiskStateProgressBar.scss';
3
- export declare enum EDiskStateSeverity {
4
- Grey = 0,
5
- Green = 1,
6
- Blue = 2,
7
- Yellow = 3,
8
- Orange = 4,
9
- Red = 5
10
- }
11
3
  interface DiskStateProgressBarProps {
12
4
  diskAllocatedPercent?: number;
13
- severity?: EDiskStateSeverity;
5
+ severity?: number;
14
6
  compact?: boolean;
15
7
  }
16
8
  export declare function DiskStateProgressBar({ diskAllocatedPercent, severity, compact, }: DiskStateProgressBarProps): JSX.Element;
@@ -3,19 +3,9 @@ import React from 'react';
3
3
  import cn from 'bem-cn-lite';
4
4
  import { INVERTED_DISKS_KEY } from '../../../utils/constants';
5
5
  import { useSetting } from '../../../utils/hooks';
6
+ import { getSeverityColor } from '../../../utils/disks/helpers';
6
7
  import './DiskStateProgressBar.scss';
7
8
  const b = cn('storage-disk-progress-bar');
8
- // numeric enum to allow ordinal comparison
9
- export var EDiskStateSeverity;
10
- (function (EDiskStateSeverity) {
11
- EDiskStateSeverity[EDiskStateSeverity["Grey"] = 0] = "Grey";
12
- EDiskStateSeverity[EDiskStateSeverity["Green"] = 1] = "Green";
13
- EDiskStateSeverity[EDiskStateSeverity["Blue"] = 2] = "Blue";
14
- EDiskStateSeverity[EDiskStateSeverity["Yellow"] = 3] = "Yellow";
15
- EDiskStateSeverity[EDiskStateSeverity["Orange"] = 4] = "Orange";
16
- EDiskStateSeverity[EDiskStateSeverity["Red"] = 5] = "Red";
17
- })(EDiskStateSeverity || (EDiskStateSeverity = {}));
18
- const severityToColor = Object.entries(EDiskStateSeverity).reduce((acc, [color, severity]) => (Object.assign(Object.assign({}, acc), { [severity]: color })), {});
19
9
  export function DiskStateProgressBar({ diskAllocatedPercent = -1, severity, compact, }) {
20
10
  const [inverted] = useSetting(INVERTED_DISKS_KEY);
21
11
  const renderAllocatedPercent = () => {
@@ -27,7 +17,7 @@ export function DiskStateProgressBar({ diskAllocatedPercent = -1, severity, comp
27
17
  } }), _jsx("div", Object.assign({ className: b('filled-title') }, { children: `${Math.round(diskAllocatedPercent)}%` }))] })));
28
18
  };
29
19
  const mods = { inverted, compact };
30
- const color = severity !== undefined && severityToColor[severity];
20
+ const color = severity !== undefined && getSeverityColor(severity);
31
21
  if (color) {
32
22
  mods[color.toLocaleLowerCase()] = true;
33
23
  }
@@ -1,10 +1,10 @@
1
1
  import type { TVDiskStateInfo } from '../../../types/api/vdisk';
2
- import { TPDiskStateInfo } from '../../../types/api/pdisk';
2
+ import type { PreparedPDisk } from '../../../utils/disks/types';
3
3
  import './PDisk.scss';
4
4
  interface PDiskProps {
5
5
  nodeId: number;
6
- data?: TPDiskStateInfo;
6
+ data?: PreparedPDisk;
7
7
  vDisks?: TVDiskStateInfo[];
8
8
  }
9
- export declare const PDisk: ({ nodeId, data: rawData, vDisks }: PDiskProps) => JSX.Element;
9
+ export declare const PDisk: ({ nodeId, data, vDisks }: PDiskProps) => JSX.Element;
10
10
  export {};
@@ -1,67 +1,20 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import React, { useEffect, useState, useRef, useMemo } from 'react';
2
+ import React, { useState, useRef } from 'react';
3
3
  import cn from 'bem-cn-lite';
4
4
  import { InternalLink } from '../../../components/InternalLink';
5
5
  import { Stack } from '../../../components/Stack/Stack';
6
6
  import routes, { createHref } from '../../../routes';
7
- import { TPDiskState } from '../../../types/api/pdisk';
8
7
  import { stringifyVdiskId } from '../../../utils/dataFormatters/dataFormatters';
9
- import { getPDiskType } from '../../../utils/pdisk';
10
- import { isFullVDiskData } from '../../../utils/storage';
8
+ import { isFullVDiskData } from '../../../utils/disks/helpers';
11
9
  import { STRUCTURE } from '../../Node/NodePages';
12
- import { DiskStateProgressBar, EDiskStateSeverity } from '../DiskStateProgressBar';
10
+ import { DiskStateProgressBar } from '../DiskStateProgressBar';
13
11
  import { PDiskPopup } from '../PDiskPopup';
14
12
  import { VDisk } from '../VDisk';
15
- import { getUsageSeverityForPDisk, NOT_AVAILABLE_SEVERITY } from '../utils';
16
13
  import './PDisk.scss';
17
14
  const b = cn('pdisk-storage');
18
- const stateSeverity = {
19
- [TPDiskState.Initial]: EDiskStateSeverity.Grey,
20
- [TPDiskState.Normal]: EDiskStateSeverity.Green,
21
- [TPDiskState.InitialFormatRead]: EDiskStateSeverity.Yellow,
22
- [TPDiskState.InitialSysLogRead]: EDiskStateSeverity.Yellow,
23
- [TPDiskState.InitialCommonLogRead]: EDiskStateSeverity.Yellow,
24
- [TPDiskState.InitialFormatReadError]: EDiskStateSeverity.Red,
25
- [TPDiskState.InitialSysLogReadError]: EDiskStateSeverity.Red,
26
- [TPDiskState.InitialSysLogParseError]: EDiskStateSeverity.Red,
27
- [TPDiskState.InitialCommonLogReadError]: EDiskStateSeverity.Red,
28
- [TPDiskState.InitialCommonLogParseError]: EDiskStateSeverity.Red,
29
- [TPDiskState.CommonLoggerInitError]: EDiskStateSeverity.Red,
30
- [TPDiskState.OpenFileError]: EDiskStateSeverity.Red,
31
- [TPDiskState.ChunkQuotaError]: EDiskStateSeverity.Red,
32
- [TPDiskState.DeviceIoError]: EDiskStateSeverity.Red,
33
- };
34
- const isSeverityKey = (key) => key !== undefined && key in stateSeverity;
35
- const getStateSeverity = (pDiskState) => {
36
- return isSeverityKey(pDiskState) ? stateSeverity[pDiskState] : NOT_AVAILABLE_SEVERITY;
37
- };
38
- export const PDisk = ({ nodeId, data: rawData = {}, vDisks }) => {
39
- // NodeId in data is required for the popup
40
- const data = useMemo(() => (Object.assign(Object.assign({}, rawData), { NodeId: nodeId })), [rawData, nodeId]);
41
- const [severity, setSeverity] = useState(getStateSeverity(data.State));
15
+ export const PDisk = ({ nodeId, data = {}, vDisks }) => {
42
16
  const [isPopupVisible, setIsPopupVisible] = useState(false);
43
17
  const anchor = useRef(null);
44
- const pdiskAllocatedPercent = useMemo(() => {
45
- const { AvailableSize, TotalSize } = data;
46
- if (!AvailableSize || !TotalSize) {
47
- return undefined;
48
- }
49
- return !isNaN(Number(AvailableSize)) && !isNaN(Number(TotalSize))
50
- ? Math.round(((Number(TotalSize) - Number(AvailableSize)) * 100) / Number(TotalSize))
51
- : undefined;
52
- }, [data]);
53
- useEffect(() => {
54
- const newStateSeverity = getStateSeverity(data.State);
55
- const newSpaceSeverityFlag = getUsageSeverityForPDisk(pdiskAllocatedPercent || 0);
56
- let newSeverity;
57
- if (newStateSeverity === NOT_AVAILABLE_SEVERITY || !newSpaceSeverityFlag) {
58
- newSeverity = newStateSeverity;
59
- }
60
- else {
61
- newSeverity = Math.max(newStateSeverity, EDiskStateSeverity[newSpaceSeverityFlag]);
62
- }
63
- setSeverity(newSeverity);
64
- }, [data.State, pdiskAllocatedPercent]);
65
18
  const showPopup = () => {
66
19
  setIsPopupVisible(true);
67
20
  };
@@ -80,9 +33,9 @@ export const PDisk = ({ nodeId, data: rawData = {}, vDisks }) => {
80
33
  flexGrow: Number(vdisk.AllocatedSize) || 1,
81
34
  } }, { children: donors && donors.length ? (_jsxs(Stack, Object.assign({ className: b('donors-stack') }, { children: [_jsx(VDisk, { data: vdisk, compact: true }), donors.map((donor) => {
82
35
  const isFullData = isFullVDiskData(donor);
83
- return (_jsx(VDisk, { compact: true, data: isFullData ? donor : Object.assign(Object.assign({}, donor), { DonorMode: true }) }, stringifyVdiskId(isFullData ? donor.VDiskId : donor)));
36
+ return (_jsx(VDisk, { compact: true, data: donor }, stringifyVdiskId(isFullData ? donor.VDiskId : donor)));
84
37
  })] }), stringifyVdiskId(vdisk.VDiskId))) : (_jsx(VDisk, { data: vdisk, compact: true })) }), stringifyVdiskId(vdisk.VDiskId)));
85
38
  }) })));
86
39
  };
87
- return (_jsxs(React.Fragment, { children: [_jsx(PDiskPopup, { data: data, anchorRef: anchor, open: isPopupVisible }), _jsxs("div", Object.assign({ className: b(), ref: anchor }, { children: [renderVDisks(), _jsxs(InternalLink, Object.assign({ to: createHref(routes.node, { id: nodeId, activeTab: STRUCTURE }, { pdiskId: data.PDiskId || '' }), className: b('content'), onMouseEnter: showPopup, onMouseLeave: hidePopup }, { children: [_jsx(DiskStateProgressBar, { diskAllocatedPercent: pdiskAllocatedPercent, severity: severity }), _jsx("div", Object.assign({ className: b('media-type') }, { children: getPDiskType(data) }))] }))] }))] }));
40
+ return (_jsxs(React.Fragment, { children: [_jsx(PDiskPopup, { data: data, anchorRef: anchor, open: isPopupVisible }), _jsxs("div", Object.assign({ className: b(), ref: anchor }, { children: [renderVDisks(), _jsxs(InternalLink, Object.assign({ to: createHref(routes.node, { id: nodeId, activeTab: STRUCTURE }, { pdiskId: data.PDiskId || '' }), className: b('content'), onMouseEnter: showPopup, onMouseLeave: hidePopup }, { children: [_jsx(DiskStateProgressBar, { diskAllocatedPercent: data.AllocatedPercent, severity: data.Severity }), _jsx("div", Object.assign({ className: b('media-type') }, { children: data.Type }))] }))] }))] }));
88
41
  };
@@ -1,11 +1,11 @@
1
1
  import { PopupProps } from '@gravity-ui/uikit';
2
2
  import type { NodesMap } from '../../../types/store/nodesList';
3
3
  import { InfoViewerItem } from '../../../components/InfoViewer';
4
- import { TPDiskStateInfo } from '../../../types/api/pdisk';
4
+ import type { PreparedPDisk } from '../../../utils/disks/types';
5
5
  import './PDiskPopup.scss';
6
- export declare const preparePDiskData: (data: TPDiskStateInfo, nodes?: NodesMap | undefined) => InfoViewerItem[];
6
+ export declare const preparePDiskData: (data: PreparedPDisk, nodes?: NodesMap) => InfoViewerItem[];
7
7
  interface PDiskPopupProps extends PopupProps {
8
- data: TPDiskStateInfo;
8
+ data: PreparedPDisk;
9
9
  nodes?: NodesMap;
10
10
  }
11
11
  export declare const PDiskPopup: ({ data, nodes, ...props }: PDiskPopupProps) => JSX.Element;
@@ -1,14 +1,4 @@
1
- var __rest = (this && this.__rest) || function (s, e) {
2
- var t = {};
3
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
- t[p] = s[p];
5
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
- t[p[i]] = s[p[i]];
9
- }
10
- return t;
11
- };
1
+ import { __rest } from "tslib";
12
2
  import { jsx as _jsx } from "react/jsx-runtime";
13
3
  import { useMemo } from 'react';
14
4
  import cn from 'bem-cn-lite';
@@ -16,17 +6,16 @@ import { Popup } from '@gravity-ui/uikit';
16
6
  import { InfoViewer } from '../../../components/InfoViewer';
17
7
  import { EFlag } from '../../../types/api/enums';
18
8
  import { getPDiskId } from '../../../utils/dataFormatters/dataFormatters';
19
- import { getPDiskType } from '../../../utils/pdisk';
20
9
  import { bytesToGB } from '../../../utils/utils';
21
10
  import './PDiskPopup.scss';
22
11
  const b = cn('pdisk-storage-popup');
23
12
  const errorColors = [EFlag.Orange, EFlag.Red, EFlag.Yellow];
24
13
  export const preparePDiskData = (data, nodes) => {
25
- const { AvailableSize, TotalSize, State, PDiskId, NodeId, Path, Realtime, Device } = data;
14
+ const { AvailableSize, TotalSize, State, PDiskId, NodeId, Path, Realtime, Type, Device } = data;
26
15
  const pdiskData = [
27
16
  { label: 'PDisk', value: getPDiskId({ NodeId, PDiskId }) || '-' },
28
17
  { label: 'State', value: State || 'not available' },
29
- { label: 'Type', value: getPDiskType(data) || 'unknown' },
18
+ { label: 'Type', value: Type || 'unknown' },
30
19
  ];
31
20
  if (NodeId) {
32
21
  pdiskData.push({ label: 'Node Id', value: NodeId });
@@ -1,6 +1,5 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useCallback, useEffect } from 'react';
3
- import { useDispatch } from 'react-redux';
4
3
  import { AccessDenied } from '../../components/Errors/403';
5
4
  import { TableWithControlsLayout } from '../../components/TableWithControlsLayout/TableWithControlsLayout';
6
5
  import { ResponseError } from '../../components/Errors/ResponseError';
@@ -8,7 +7,7 @@ import { setInitialState, setVisibleEntities, setStorageTextFilter, setUsageFilt
8
7
  import { selectFilteredGroups, selectFilteredNodes, selectEntitiesCount, selectUsageFilterOptions, selectNodesSortParams, selectGroupsSortParams, } from '../../store/reducers/storage/selectors';
9
8
  import { VISIBLE_ENTITIES, STORAGE_TYPES } from '../../store/reducers/storage/constants';
10
9
  import { getNodesList, selectNodesMap } from '../../store/reducers/nodesList';
11
- import { useAutofetcher, useNodesRequestParams, useStorageRequestParams, useTableSort, useTypedSelector, } from '../../utils/hooks';
10
+ import { useAutofetcher, useNodesRequestParams, useStorageRequestParams, useTableSort, useTypedSelector, useTypedDispatch, } from '../../utils/hooks';
12
11
  import { NodesUptimeFilterValues } from '../../utils/nodes';
13
12
  import { DEFAULT_TABLE_SETTINGS } from '../../utils/constants';
14
13
  import { StorageGroups } from './StorageGroups/StorageGroups';
@@ -17,7 +16,7 @@ import { StorageControls } from './StorageControls/StorageControls';
17
16
  import { b } from './shared';
18
17
  import './Storage.scss';
19
18
  export const Storage = ({ additionalNodesProps, tenant, nodeId }) => {
20
- const dispatch = useDispatch();
19
+ const dispatch = useTypedDispatch();
21
20
  const { autorefresh } = useTypedSelector((state) => state.schema);
22
21
  const { loading, wasLoaded, error, type, visible: visibleEntities, filter, usageFilter, nodesUptimeFilter, } = useTypedSelector((state) => state.storage);
23
22
  const storageNodes = useTypedSelector(selectFilteredNodes);
@@ -1,14 +1,4 @@
1
- var __rest = (this && this.__rest) || function (s, e) {
2
- var t = {};
3
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
- t[p] = s[p];
5
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
- t[p[i]] = s[p[i]];
9
- }
10
- return t;
11
- };
1
+ import { __rest } from "tslib";
12
2
  import { prepareStorageGroupsResponse } from '../../../store/reducers/storage/utils';
13
3
  import { EVersion } from '../../../types/api/storage';
14
4
  const getConcurrentId = (limit, offset) => {
@@ -3,7 +3,7 @@ import type { Column as VirtualTableColumn } from '../../../components/VirtualTa
3
3
  import type { NodesMap } from '../../../types/store/nodesList';
4
4
  import type { PreparedStorageGroup, VisibleEntities } from '../../../store/reducers/storage/types';
5
5
  import './StorageGroups.scss';
6
- declare type StorageGroupsColumn = VirtualTableColumn<PreparedStorageGroup> & DataTableColumn<PreparedStorageGroup>;
6
+ type StorageGroupsColumn = VirtualTableColumn<PreparedStorageGroup> & DataTableColumn<PreparedStorageGroup>;
7
7
  export declare const GROUPS_COLUMNS_IDS: {
8
8
  readonly PoolName: "PoolName";
9
9
  readonly Kind: "Kind";
@@ -19,6 +19,7 @@ export declare const GROUPS_COLUMNS_IDS: {
19
19
  readonly Degraded: "Degraded";
20
20
  };
21
21
  export declare const getStorageTopGroupsColumns: () => StorageGroupsColumn[];
22
+ export declare const getPDiskStorageColumns: (nodes?: NodesMap) => StorageGroupsColumn[];
22
23
  export declare const getPreparedStorageGroupsColumns: (nodesMap: NodesMap | undefined, visibleEntities: VisibleEntities) => {
23
24
  sortable: boolean;
24
25
  name: string;
@@ -2,12 +2,14 @@ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-run
2
2
  import cn from 'bem-cn-lite';
3
3
  import DataTable from '@gravity-ui/react-data-table';
4
4
  import { Icon, Label, Popover, PopoverBehavior } from '@gravity-ui/uikit';
5
+ import { EFlag } from '../../../types/api/enums';
5
6
  import shieldIcon from '../../../assets/icons/shield.svg';
6
7
  import { VISIBLE_ENTITIES } from '../../../store/reducers/storage/constants';
7
- import { getUsage, isFullVDiskData, isSortableStorageProperty } from '../../../utils/storage';
8
+ import { isSortableStorageProperty } from '../../../utils/storage';
9
+ import { isFullVDiskData } from '../../../utils/disks/helpers';
8
10
  import { bytesToGB, bytesToSpeed } from '../../../utils/utils';
9
11
  import { stringifyVdiskId } from '../../../utils/dataFormatters/dataFormatters';
10
- import EntityStatus from '../../../components/EntityStatus/EntityStatus';
12
+ import { EntityStatus } from '../../../components/EntityStatus/EntityStatus';
11
13
  import { Stack } from '../../../components/Stack/Stack';
12
14
  import { CellWithPopover } from '../../../components/CellWithPopover/CellWithPopover';
13
15
  import { UsageLabel } from '../../../components/UsageLabel/UsageLabel';
@@ -75,7 +77,7 @@ const usageColumn = {
75
77
  return row.Limit ? (_jsx(UsageLabel, { value: row.Usage, theme: getUsageSeverityForStorageGroup(row.Usage) })) : ('-');
76
78
  },
77
79
  // without a limit exclude usage from sort to display at the bottom
78
- sortAccessor: (row) => (row.Limit ? getUsage(row) : null),
80
+ sortAccessor: (row) => (row.Limit ? row.Usage : null),
79
81
  align: DataTable.LEFT,
80
82
  sortable: false,
81
83
  };
@@ -116,15 +118,15 @@ const usedSpaceFlagColumn = {
116
118
  width: 110,
117
119
  render: ({ row }) => {
118
120
  const value = row.UsedSpaceFlag;
119
- let color = 'Red';
121
+ let color = EFlag.Red;
120
122
  if (value < 100) {
121
- color = 'Green';
123
+ color = EFlag.Green;
122
124
  }
123
125
  else if (value < 10000) {
124
- color = 'Yellow';
126
+ color = EFlag.Yellow;
125
127
  }
126
128
  else if (value < 1000000) {
127
- color = 'Orange';
129
+ color = EFlag.Orange;
128
130
  }
129
131
  return _jsx(EntityStatus, { status: color });
130
132
  },
@@ -158,7 +160,7 @@ const getVdiscksColumn = (nodes) => ({
158
160
  const donors = vDisk.Donors;
159
161
  return donors && donors.length > 0 ? (_jsxs(Stack, Object.assign({ className: b('vdisks-item') }, { children: [_jsx(VDisk, { data: vDisk, nodes: nodes }), donors.map((donor) => {
160
162
  const isFullData = isFullVDiskData(donor);
161
- return (_jsx(VDisk, { data: isFullData ? donor : Object.assign(Object.assign({}, donor), { DonorMode: true }),
163
+ return (_jsx(VDisk, { data: donor,
162
164
  // donor and acceptor are always in the same group
163
165
  nodes: nodes }, stringifyVdiskId(isFullData ? donor.VDiskId : donor)));
164
166
  })] }), stringifyVdiskId(vDisk.VDiskId))) : (_jsx("div", Object.assign({ className: b('vdisks-item') }, { children: _jsx(VDisk, { data: vDisk, nodes: nodes }) }), stringifyVdiskId(vDisk.VDiskId)));
@@ -170,6 +172,18 @@ const getVdiscksColumn = (nodes) => ({
170
172
  export const getStorageTopGroupsColumns = () => {
171
173
  return [groupIdColumn, kindColumn, erasureColumn, usageColumn, usedColumn, limitColumn];
172
174
  };
175
+ export const getPDiskStorageColumns = (nodes) => {
176
+ return [
177
+ poolNameColumn,
178
+ kindColumn,
179
+ erasureColumn,
180
+ degradedColumn,
181
+ groupIdColumn,
182
+ usageColumn,
183
+ usedColumn,
184
+ getVdiscksColumn(nodes),
185
+ ];
186
+ };
173
187
  const getStorageGroupsColumns = (nodes) => {
174
188
  return [
175
189
  poolNameColumn,
@@ -1,14 +1,4 @@
1
- var __rest = (this && this.__rest) || function (s, e) {
2
- var t = {};
3
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
- t[p] = s[p];
5
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
- t[p[i]] = s[p[i]];
9
- }
10
- return t;
11
- };
1
+ import { __rest } from "tslib";
12
2
  import { prepareStorageNodesResponse } from '../../../store/reducers/storage/utils';
13
3
  const getConcurrentId = (limit, offset) => {
14
4
  return `getStorageNodes|offset${offset}|limit${limit}`;
@@ -72,7 +72,7 @@ const getStorageNodesColumns = (additionalNodesProps) => {
72
72
  var _a;
73
73
  return (_jsx("div", Object.assign({ className: b('pdisks-wrapper') }, { children: (_a = row.PDisks) === null || _a === void 0 ? void 0 : _a.map((pDisk) => {
74
74
  var _a;
75
- const vDisks = (_a = row.VDisks) === null || _a === void 0 ? void 0 : _a.filter((vdisk) => vdisk.PDiskId === pDisk.PDiskId).map((data) => (Object.assign(Object.assign({}, data), { NodeId: row.NodeId })));
75
+ const vDisks = (_a = row.VDisks) === null || _a === void 0 ? void 0 : _a.filter((vdisk) => vdisk.PDiskId === pDisk.PDiskId);
76
76
  return (_jsx("div", Object.assign({ className: b('pdisks-item') }, { children: _jsx(PDisk, { data: pDisk, nodeId: row.NodeId, vDisks: vDisks }) }), pDisk.PDiskId));
77
77
  }) })));
78
78
  },
@@ -1,14 +1,4 @@
1
- var __rest = (this && this.__rest) || function (s, e) {
2
- var t = {};
3
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
- t[p] = s[p];
5
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
- t[p[i]] = s[p[i]];
9
- }
10
- return t;
11
- };
1
+ import { __rest } from "tslib";
12
2
  import { jsx as _jsx } from "react/jsx-runtime";
13
3
  import { USE_BACKEND_PARAMS_FOR_TABLES_KEY } from '../../utils/constants';
14
4
  import { useSetting } from '../../utils/hooks';
@@ -2,7 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useEffect, useMemo, useRef, useState } from 'react';
3
3
  import cn from 'bem-cn-lite';
4
4
  import { Select } from '@gravity-ui/uikit';
5
- import EntityStatus from '../../../components/EntityStatus/EntityStatus';
5
+ import { EntityStatus } from '../../../components/EntityStatus/EntityStatus';
6
6
  import { getUsageSeverityForEntityStatus } from '../utils';
7
7
  import i18n from './i18n';
8
8
  import './UsageFilter.scss';
@@ -1,9 +1,8 @@
1
1
  import type { NodesMap } from '../../../types/store/nodesList';
2
- import { TVDiskStateInfo } from '../../../types/api/vdisk';
3
- import type { UnavailableDonor } from '../utils/types';
2
+ import type { PreparedVDisk } from '../../../utils/disks/types';
4
3
  import './VDisk.scss';
5
4
  interface VDiskProps {
6
- data?: TVDiskStateInfo | UnavailableDonor;
5
+ data?: PreparedVDisk;
7
6
  nodes?: NodesMap;
8
7
  compact?: boolean;
9
8
  }
@@ -1,88 +1,28 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import React, { useEffect, useState, useRef, useMemo } from 'react';
2
+ import React, { useState, useRef } from 'react';
3
3
  import cn from 'bem-cn-lite';
4
4
  import { InternalLink } from '../../../components/InternalLink';
5
5
  import routes, { createHref } from '../../../routes';
6
6
  import { stringifyVdiskId } from '../../../utils/dataFormatters/dataFormatters';
7
- import { isFullVDiskData } from '../../../utils/storage';
7
+ import { isFullVDiskData } from '../../../utils/disks/helpers';
8
8
  import { STRUCTURE } from '../../Node/NodePages';
9
- import { DiskStateProgressBar, EDiskStateSeverity } from '../DiskStateProgressBar';
9
+ import { DiskStateProgressBar } from '../DiskStateProgressBar';
10
10
  import { VDiskPopup } from '../VDiskPopup';
11
- import { NOT_AVAILABLE_SEVERITY } from '../utils';
12
11
  import './VDisk.scss';
13
12
  const b = cn('vdisk-storage');
14
- const stateSeverity = {
15
- Initial: EDiskStateSeverity.Yellow,
16
- LocalRecoveryError: EDiskStateSeverity.Red,
17
- SyncGuidRecoveryError: EDiskStateSeverity.Red,
18
- SyncGuidRecovery: EDiskStateSeverity.Yellow,
19
- PDiskError: EDiskStateSeverity.Red,
20
- OK: EDiskStateSeverity.Green,
21
- };
22
- const getStateSeverity = (vDiskState) => {
23
- var _a;
24
- if (!vDiskState) {
25
- return NOT_AVAILABLE_SEVERITY;
26
- }
27
- return (_a = stateSeverity[vDiskState]) !== null && _a !== void 0 ? _a : NOT_AVAILABLE_SEVERITY;
28
- };
29
- const getColorSeverity = (color) => {
30
- var _a;
31
- if (!color) {
32
- return EDiskStateSeverity.Grey;
33
- }
34
- return (_a = EDiskStateSeverity[color]) !== null && _a !== void 0 ? _a : EDiskStateSeverity.Grey;
35
- };
36
13
  export const VDisk = ({ data = {}, nodes, compact }) => {
37
14
  var _a, _b;
38
15
  const isFullData = isFullVDiskData(data);
39
- const [severity, setSeverity] = useState(getStateSeverity(isFullData ? data.VDiskState : undefined));
40
16
  const [isPopupVisible, setIsPopupVisible] = useState(false);
41
17
  const anchor = useRef(null);
42
- // determine disk status severity
43
- useEffect(() => {
44
- if (!isFullData) {
45
- setSeverity(NOT_AVAILABLE_SEVERITY);
46
- return;
47
- }
48
- const { DiskSpace, VDiskState, FrontQueues, Replicated, DonorMode } = data;
49
- // if the disk is not available, this determines its status severity regardless of other features
50
- if (!VDiskState) {
51
- setSeverity(NOT_AVAILABLE_SEVERITY);
52
- return;
53
- }
54
- const DiskSpaceSeverity = getColorSeverity(DiskSpace);
55
- const VDiskSpaceSeverity = getStateSeverity(VDiskState);
56
- const FrontQueuesSeverity = Math.min(EDiskStateSeverity.Orange, getColorSeverity(FrontQueues));
57
- let newSeverity = Math.max(DiskSpaceSeverity, VDiskSpaceSeverity, FrontQueuesSeverity);
58
- // donors are always in the not replicated state since they are leftovers
59
- // painting them blue is useless
60
- if (!Replicated && !DonorMode && newSeverity === EDiskStateSeverity.Green) {
61
- newSeverity = EDiskStateSeverity.Blue;
62
- }
63
- setSeverity(newSeverity);
64
- }, [data, isFullData]);
65
18
  const showPopup = () => {
66
19
  setIsPopupVisible(true);
67
20
  };
68
21
  const hidePopup = () => {
69
22
  setIsPopupVisible(false);
70
23
  };
71
- const vdiskAllocatedPercent = useMemo(() => {
72
- if (!isFullData) {
73
- return undefined;
74
- }
75
- const { AvailableSize, AllocatedSize, PDisk } = data;
76
- const available = AvailableSize ? AvailableSize : PDisk === null || PDisk === void 0 ? void 0 : PDisk.AvailableSize;
77
- if (!available) {
78
- return undefined;
79
- }
80
- return isNaN(Number(AllocatedSize))
81
- ? undefined
82
- : (Number(AllocatedSize) * 100) / (Number(available) + Number(AllocatedSize));
83
- }, [data, isFullData]);
84
24
  return (_jsxs(React.Fragment, { children: [_jsx(VDiskPopup, { data: data, nodes: nodes, anchorRef: anchor, open: isPopupVisible }), _jsx("div", Object.assign({ className: b(), ref: anchor, onMouseEnter: showPopup, onMouseLeave: hidePopup }, { children: data.NodeId && isFullData ? (_jsx(InternalLink, Object.assign({ to: createHref(routes.node, { id: data.NodeId, activeTab: STRUCTURE }, {
85
25
  pdiskId: (_a = data.PDiskId) !== null && _a !== void 0 ? _a : (_b = data.PDisk) === null || _b === void 0 ? void 0 : _b.PDiskId,
86
26
  vdiskId: stringifyVdiskId(data.VDiskId),
87
- }), className: b('content') }, { children: _jsx(DiskStateProgressBar, { diskAllocatedPercent: vdiskAllocatedPercent, severity: severity, compact: compact }) }))) : (_jsx(DiskStateProgressBar, { diskAllocatedPercent: vdiskAllocatedPercent, severity: severity, compact: compact })) }))] }));
27
+ }), className: b('content') }, { children: _jsx(DiskStateProgressBar, { diskAllocatedPercent: data.AllocatedPercent, severity: data.Severity, compact: compact }) }))) : (_jsx(DiskStateProgressBar, { diskAllocatedPercent: data.AllocatedPercent, severity: data.Severity, compact: compact })) }))] }));
88
28
  };
@@ -1,14 +1,4 @@
1
- var __rest = (this && this.__rest) || function (s, e) {
2
- var t = {};
3
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
- t[p] = s[p];
5
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
- t[p[i]] = s[p[i]];
9
- }
10
- return t;
11
- };
1
+ import { __rest } from "tslib";
12
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
3
  import { useMemo } from 'react';
14
4
  import cn from 'bem-cn-lite';
@@ -17,7 +7,7 @@ import { InfoViewer } from '../../../components/InfoViewer';
17
7
  import { EFlag } from '../../../types/api/enums';
18
8
  import { stringifyVdiskId } from '../../../utils/dataFormatters/dataFormatters';
19
9
  import { bytesToGB, bytesToSpeed } from '../../../utils/utils';
20
- import { isFullVDiskData } from '../../../utils/storage';
10
+ import { isFullVDiskData } from '../../../utils/disks/helpers';
21
11
  import { preparePDiskData } from '../PDiskPopup';
22
12
  import './VDiskPopup.scss';
23
13
  const b = cn('vdisk-storage-popup');
@@ -1,17 +1,16 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { useEffect, useState } from 'react';
3
- import { useDispatch } from 'react-redux';
4
3
  import { STORAGE_TYPES, VISIBLE_ENTITIES } from '../../store/reducers/storage/constants';
5
4
  import { NodesUptimeFilterValues } from '../../utils/nodes';
6
5
  import { AccessDenied } from '../../components/Errors/403/AccessDenied';
7
6
  import { ResponseError } from '../../components/Errors/ResponseError/ResponseError';
8
7
  import { getNodesList, selectNodesMap } from '../../store/reducers/nodesList';
9
- import { useTypedSelector } from '../../utils/hooks';
8
+ import { useTypedSelector, useTypedDispatch } from '../../utils/hooks';
10
9
  import { StorageControls } from './StorageControls/StorageControls';
11
10
  import { VirtualStorageGroups } from './StorageGroups/VirtualStorageGroups';
12
11
  import { VirtualStorageNodes } from './StorageNodes/VirtualStorageNodes';
13
12
  export const VirtualStorage = ({ tenant, nodeId, parentContainer, additionalNodesProps, }) => {
14
- const dispatch = useDispatch();
13
+ const dispatch = useTypedDispatch();
15
14
  const [searchValue, setSearchValue] = useState('');
16
15
  const [storageType, setStorageType] = useState(STORAGE_TYPES.groups);
17
16
  const [visibleEntities, setVisibleEntities] = useState(VISIBLE_ENTITIES.all);
@@ -1,7 +1,5 @@
1
1
  import type { PreparedStorageGroup } from '../../../store/reducers/storage/types';
2
2
  import { EFlag } from '../../../types/api/enums';
3
- export * from './constants';
4
3
  export declare const getDegradedSeverity: (group: PreparedStorageGroup) => "success" | "warning" | "danger" | undefined;
5
4
  export declare const getUsageSeverityForStorageGroup: (value: number) => "success" | "warning" | "danger" | undefined;
6
- export declare const getUsageSeverityForEntityStatus: (value: number) => "Green" | "Yellow" | "Red" | undefined;
7
- export declare const getUsageSeverityForPDisk: (value: number) => EFlag.Green | EFlag.Yellow | EFlag.Red | undefined;
5
+ export declare const getUsageSeverityForEntityStatus: (value: number) => EFlag.Green | EFlag.Yellow | EFlag.Red | undefined;
@@ -1,6 +1,5 @@
1
1
  import { EFlag } from '../../../types/api/enums';
2
2
  import { generateEvaluator } from '../../../utils/generateEvaluator';
3
- export * from './constants';
4
3
  const defaultDegradationEvaluator = generateEvaluator(1, 2, ['success', 'warning', 'danger']);
5
4
  const degradationEvaluators = {
6
5
  'block-4-2': generateEvaluator(1, 2, ['success', 'warning', 'danger']),
@@ -19,11 +18,6 @@ export const getUsageSeverityForStorageGroup = generateEvaluator(80, 85, [
19
18
  'danger',
20
19
  ]);
21
20
  export const getUsageSeverityForEntityStatus = generateEvaluator(80, 85, [
22
- 'Green',
23
- 'Yellow',
24
- 'Red',
25
- ]);
26
- export const getUsageSeverityForPDisk = generateEvaluator(85, 95, [
27
21
  EFlag.Green,
28
22
  EFlag.Yellow,
29
23
  EFlag.Red,