ydb-embedded-ui 12.22.0 → 12.24.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (227) hide show
  1. package/dist/components/DiskStateProgressBar/DiskStateProgressBar.d.ts +4 -1
  2. package/dist/components/DiskStateProgressBar/DiskStateProgressBar.js +30 -7
  3. package/dist/components/DiskStateProgressBar/DiskStateProgressBar.js.map +1 -1
  4. package/dist/components/DiskStateProgressBar/DiskStateProgressBar.scss +28 -0
  5. package/dist/components/Illustration/Illustration.js +13 -10
  6. package/dist/components/Illustration/Illustration.js.map +1 -1
  7. package/dist/components/PDiskPopup/PDiskPopup.d.ts +5 -2
  8. package/dist/components/PDiskPopup/PDiskPopup.js +62 -31
  9. package/dist/components/PDiskPopup/PDiskPopup.js.map +1 -1
  10. package/dist/components/PDiskPopup/i18n/en.json +13 -0
  11. package/dist/components/PDiskPopup/i18n/index.d.ts +1 -0
  12. package/dist/components/PDiskPopup/i18n/index.js +5 -0
  13. package/dist/components/PDiskPopup/i18n/index.js.map +1 -0
  14. package/dist/components/PaginatedTable/PaginatedTable.d.ts +2 -1
  15. package/dist/components/PaginatedTable/PaginatedTable.js.map +1 -1
  16. package/dist/components/PaginatedTable/TableChunk.d.ts +2 -1
  17. package/dist/components/PaginatedTable/TableChunk.js +5 -2
  18. package/dist/components/PaginatedTable/TableChunk.js.map +1 -1
  19. package/dist/components/PaginatedTable/TableChunksRenderer.d.ts +2 -1
  20. package/dist/components/PaginatedTable/TableChunksRenderer.js.map +1 -1
  21. package/dist/components/PaginatedTable/constants.d.ts +10 -0
  22. package/dist/components/PaginatedTable/constants.js +18 -0
  23. package/dist/components/PaginatedTable/constants.js.map +1 -1
  24. package/dist/components/StatusIcon/StatusIcon.js +4 -4
  25. package/dist/components/StatusIcon/StatusIcon.js.map +1 -1
  26. package/dist/components/StatusIcon/StatusIcon.scss +2 -2
  27. package/dist/components/StatusIconNew/StatusIcon.js +5 -5
  28. package/dist/components/StatusIconNew/StatusIcon.js.map +1 -1
  29. package/dist/components/StorageGroupInfo/i18n/index.d.ts +1 -1
  30. package/dist/components/VDisk/VDisk.d.ts +2 -1
  31. package/dist/components/VDisk/VDisk.js +6 -2
  32. package/dist/components/VDisk/VDisk.js.map +1 -1
  33. package/dist/components/VDisk/VDiskWithDonorsStack.d.ts +1 -1
  34. package/dist/components/VDisk/VDiskWithDonorsStack.js +4 -4
  35. package/dist/components/VDisk/VDiskWithDonorsStack.js.map +1 -1
  36. package/dist/components/VDiskPopup/VDiskPopup.js +156 -96
  37. package/dist/components/VDiskPopup/VDiskPopup.js.map +1 -1
  38. package/dist/components/VDiskPopup/VDiskPopup.scss +2 -2
  39. package/dist/components/VDiskPopup/i18n/en.json +5 -2
  40. package/dist/components/VDiskPopup/i18n/index.d.ts +1 -1
  41. package/dist/components/YDBDefinitionList/YDBDefinitionList.d.ts +15 -2
  42. package/dist/components/YDBDefinitionList/YDBDefinitionList.js +15 -7
  43. package/dist/components/YDBDefinitionList/YDBDefinitionList.js.map +1 -1
  44. package/dist/components/YDBDefinitionList/YDBDefinitionList.scss +25 -0
  45. package/dist/components/nodesColumns/__test__/utils.test.js +1 -1
  46. package/dist/components/nodesColumns/__test__/utils.test.js.map +1 -1
  47. package/dist/components/nodesColumns/columns.d.ts +6 -0
  48. package/dist/components/nodesColumns/columns.js +28 -2
  49. package/dist/components/nodesColumns/columns.js.map +1 -1
  50. package/dist/containers/App/Content.js +4 -6
  51. package/dist/containers/App/Content.js.map +1 -1
  52. package/dist/containers/Authentication/Authentication.js +12 -1
  53. package/dist/containers/Authentication/Authentication.js.map +1 -1
  54. package/dist/containers/Authentication/Authentication.scss +7 -0
  55. package/dist/containers/Clusters/columns.js +6 -12
  56. package/dist/containers/Clusters/columns.js.map +1 -1
  57. package/dist/containers/Clusters/utils.d.ts +3 -0
  58. package/dist/containers/Clusters/utils.js +13 -0
  59. package/dist/containers/Clusters/utils.js.map +1 -0
  60. package/dist/containers/Header/Header.js +10 -3
  61. package/dist/containers/Header/Header.js.map +1 -1
  62. package/dist/containers/Node/Node.js +28 -3
  63. package/dist/containers/Node/Node.js.map +1 -1
  64. package/dist/containers/Node/NodeNetwork/NodeNetwork.d.ts +7 -0
  65. package/dist/containers/Node/NodeNetwork/NodeNetwork.js +31 -0
  66. package/dist/containers/Node/NodeNetwork/NodeNetwork.js.map +1 -0
  67. package/dist/containers/Node/NodeNetwork/NodeNetworkControls/NodeNetworkControls.d.ts +9 -0
  68. package/dist/containers/Node/NodeNetwork/NodeNetworkControls/NodeNetworkControls.js +9 -0
  69. package/dist/containers/Node/NodeNetwork/NodeNetworkControls/NodeNetworkControls.js.map +1 -0
  70. package/dist/containers/Node/NodeNetwork/NodeNetworkControls/NodeNetworkControlsWithTableState.d.ts +6 -0
  71. package/dist/containers/Node/NodeNetwork/NodeNetworkControls/NodeNetworkControlsWithTableState.js +9 -0
  72. package/dist/containers/Node/NodeNetwork/NodeNetworkControls/NodeNetworkControlsWithTableState.js.map +1 -0
  73. package/dist/containers/Node/NodeNetwork/NodeNetworkTable.d.ts +13 -0
  74. package/dist/containers/Node/NodeNetwork/NodeNetworkTable.js +16 -0
  75. package/dist/containers/Node/NodeNetwork/NodeNetworkTable.js.map +1 -0
  76. package/dist/containers/Node/NodeNetwork/columns.d.ts +4 -0
  77. package/dist/containers/Node/NodeNetwork/columns.js +66 -0
  78. package/dist/containers/Node/NodeNetwork/columns.js.map +1 -0
  79. package/dist/containers/Node/NodeNetwork/constants.d.ts +36 -0
  80. package/dist/containers/Node/NodeNetwork/constants.js +58 -0
  81. package/dist/containers/Node/NodeNetwork/constants.js.map +1 -0
  82. package/dist/containers/Node/NodeNetwork/helpers/getNodePeers.d.ts +7 -0
  83. package/dist/containers/Node/NodeNetwork/helpers/getNodePeers.js +31 -0
  84. package/dist/containers/Node/NodeNetwork/helpers/getNodePeers.js.map +1 -0
  85. package/dist/containers/Node/NodeNetwork/helpers/nodeNetworkMapper.d.ts +13 -0
  86. package/dist/containers/Node/NodeNetwork/helpers/nodeNetworkMapper.js +22 -0
  87. package/dist/containers/Node/NodeNetwork/helpers/nodeNetworkMapper.js.map +1 -0
  88. package/dist/containers/Node/NodeNetwork/i18n/en.json +8 -0
  89. package/dist/containers/Node/NodeNetwork/i18n/index.d.ts +2 -0
  90. package/dist/containers/Node/NodeNetwork/i18n/index.js +5 -0
  91. package/dist/containers/Node/NodeNetwork/i18n/index.js.map +1 -0
  92. package/dist/containers/Node/NodePages.d.ts +5 -0
  93. package/dist/containers/Node/NodePages.js +7 -0
  94. package/dist/containers/Node/NodePages.js.map +1 -1
  95. package/dist/containers/Node/Threads/i18n/index.d.ts +1 -1
  96. package/dist/containers/Node/i18n/en.json +1 -0
  97. package/dist/containers/Node/i18n/index.d.ts +1 -1
  98. package/dist/containers/Nodes/NodesTable.js +2 -2
  99. package/dist/containers/Nodes/NodesTable.js.map +1 -1
  100. package/dist/containers/PDiskPage/PDiskSpaceDistribution/PDiskSpaceDistribution.scss +2 -0
  101. package/dist/containers/Storage/Disks/Disks.d.ts +2 -1
  102. package/dist/containers/Storage/Disks/Disks.js +7 -7
  103. package/dist/containers/Storage/Disks/Disks.js.map +1 -1
  104. package/dist/containers/Storage/Disks/Disks.scss +0 -1
  105. package/dist/containers/Storage/PDisk/PDisk.d.ts +2 -1
  106. package/dist/containers/Storage/PDisk/PDisk.js +5 -5
  107. package/dist/containers/Storage/PDisk/PDisk.js.map +1 -1
  108. package/dist/containers/Storage/PDisk/PDisk.scss +0 -13
  109. package/dist/containers/Storage/PaginatedStorageGroupsTable/PaginatedStorageGroupsTable.js +2 -2
  110. package/dist/containers/Storage/PaginatedStorageGroupsTable/PaginatedStorageGroupsTable.js.map +1 -1
  111. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/columns.js +7 -7
  112. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/columns.js.map +1 -1
  113. package/dist/containers/Storage/PaginatedStorageNodesTable/PaginatedStorageNodesTable.js +2 -2
  114. package/dist/containers/Storage/PaginatedStorageNodesTable/PaginatedStorageNodesTable.js.map +1 -1
  115. package/dist/containers/Storage/VDisks/VDisks.d.ts +2 -1
  116. package/dist/containers/Storage/VDisks/VDisks.js +2 -2
  117. package/dist/containers/Storage/VDisks/VDisks.js.map +1 -1
  118. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/components/PlaceholderTab.js +2 -2
  119. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/components/PlaceholderTab.js.map +1 -1
  120. package/dist/containers/Tenant/Diagnostics/TopicData/TopicData.js +2 -2
  121. package/dist/containers/Tenant/Diagnostics/TopicData/TopicData.js.map +1 -1
  122. package/dist/containers/Tenant/Query/NewSQL/NewSQL.js +4 -0
  123. package/dist/containers/Tenant/Query/NewSQL/NewSQL.js.map +1 -1
  124. package/dist/containers/Tenant/Query/NewSQL/i18n/en.json +1 -0
  125. package/dist/containers/Tenant/Query/NewSQL/i18n/index.d.ts +1 -1
  126. package/dist/containers/Tenant/Query/QuerySettingsDialog/QuerySettingsDialog.js +6 -2
  127. package/dist/containers/Tenant/Query/QuerySettingsDialog/QuerySettingsDialog.js.map +1 -1
  128. package/dist/containers/Tenant/Query/QuerySettingsDialog/QuerySettingsDialog.scss +5 -0
  129. package/dist/containers/Tenant/Query/QuerySettingsDialog/constants.d.ts +3 -0
  130. package/dist/containers/Tenant/Query/QuerySettingsDialog/constants.js +3 -0
  131. package/dist/containers/Tenant/Query/QuerySettingsDialog/constants.js.map +1 -1
  132. package/dist/containers/Tenant/Query/QuerySettingsDialog/i18n/en.json +2 -0
  133. package/dist/containers/Tenant/Query/QuerySettingsDialog/i18n/index.d.ts +1 -1
  134. package/dist/containers/Tenant/Query/QuerySettingsDialog/i18n/ru.json +2 -0
  135. package/dist/containers/Tenant/i18n/en.json +1 -0
  136. package/dist/containers/Tenant/i18n/index.d.ts +1 -1
  137. package/dist/containers/Tenant/utils/newSQLQueryActions.d.ts +1 -0
  138. package/dist/containers/Tenant/utils/newSQLQueryActions.js +2 -1
  139. package/dist/containers/Tenant/utils/newSQLQueryActions.js.map +1 -1
  140. package/dist/containers/Tenant/utils/schemaActions.js +3 -1
  141. package/dist/containers/Tenant/utils/schemaActions.js.map +1 -1
  142. package/dist/containers/Tenant/utils/schemaQueryTemplates.d.ts +1 -0
  143. package/dist/containers/Tenant/utils/schemaQueryTemplates.js +24 -8
  144. package/dist/containers/Tenant/utils/schemaQueryTemplates.js.map +1 -1
  145. package/dist/routes.d.ts +2 -2
  146. package/dist/routes.js +5 -5
  147. package/dist/routes.js.map +1 -1
  148. package/dist/services/api/viewer.d.ts +2 -0
  149. package/dist/services/api/viewer.js +8 -0
  150. package/dist/services/api/viewer.js.map +1 -1
  151. package/dist/store/__test__/getUrlData.test.js +11 -88
  152. package/dist/store/__test__/getUrlData.test.js.map +1 -1
  153. package/dist/store/configureStore.d.ts +4 -4
  154. package/dist/store/configureStore.js +12 -7
  155. package/dist/store/configureStore.js.map +1 -1
  156. package/dist/store/reducers/capabilities/capabilities.js +3 -1
  157. package/dist/store/reducers/capabilities/capabilities.js.map +1 -1
  158. package/dist/store/reducers/capabilities/hooks.d.ts +2 -0
  159. package/dist/store/reducers/capabilities/hooks.js +9 -0
  160. package/dist/store/reducers/capabilities/hooks.js.map +1 -1
  161. package/dist/store/reducers/cluster/parseFields.js +1 -0
  162. package/dist/store/reducers/cluster/parseFields.js.map +1 -1
  163. package/dist/store/reducers/clusters/types.d.ts +1 -0
  164. package/dist/store/reducers/clusters/utils.js +4 -0
  165. package/dist/store/reducers/clusters/utils.js.map +1 -1
  166. package/dist/store/reducers/nodes/types.d.ts +1 -0
  167. package/dist/store/reducers/query/query.js +3 -2
  168. package/dist/store/reducers/query/query.js.map +1 -1
  169. package/dist/store/reducers/storage/utils.js +59 -0
  170. package/dist/store/reducers/storage/utils.js.map +1 -1
  171. package/dist/styles/mixins.scss +10 -6
  172. package/dist/types/api/capabilities.d.ts +1 -1
  173. package/dist/types/api/meta.d.ts +1 -0
  174. package/dist/types/api/nodes.d.ts +2 -1
  175. package/dist/types/api/nodes.js.map +1 -1
  176. package/dist/types/api/peers.d.ts +46 -0
  177. package/dist/types/api/peers.js +2 -0
  178. package/dist/types/api/peers.js.map +1 -0
  179. package/dist/uiFactory/types.d.ts +1 -0
  180. package/dist/utils/__test__/parseBalancer.test.js +4 -27
  181. package/dist/utils/__test__/parseBalancer.test.js.map +1 -1
  182. package/dist/utils/bytesParsers/__test__/formatBytes.test.js +1 -1
  183. package/dist/utils/bytesParsers/__test__/formatBytes.test.js.map +1 -1
  184. package/dist/utils/bytesParsers/formatBytes.js +2 -2
  185. package/dist/utils/bytesParsers/formatBytes.js.map +1 -1
  186. package/dist/utils/constants.d.ts +1 -1
  187. package/dist/utils/constants.js +1 -1
  188. package/dist/utils/constants.js.map +1 -1
  189. package/dist/utils/dataFormatters/__test__/formatNumbers.test.js +1 -1
  190. package/dist/utils/dataFormatters/__test__/formatNumbers.test.js.map +1 -1
  191. package/dist/utils/dataFormatters/__test__/formatStorageValues.test.js +1 -1
  192. package/dist/utils/dataFormatters/__test__/formatStorageValues.test.js.map +1 -1
  193. package/dist/utils/dataFormatters/__test__/formatUptime.test.js +1 -1
  194. package/dist/utils/dataFormatters/__test__/formatUptime.test.js.map +1 -1
  195. package/dist/utils/dataFormatters/dataFormatters.js +2 -2
  196. package/dist/utils/dataFormatters/dataFormatters.js.map +1 -1
  197. package/dist/utils/dataFormatters/formatNumber.js +2 -1
  198. package/dist/utils/dataFormatters/formatNumber.js.map +1 -1
  199. package/dist/utils/disks/__test__/calculateVDiskSeverity.test.js +2 -2
  200. package/dist/utils/disks/__test__/calculateVDiskSeverity.test.js.map +1 -1
  201. package/dist/utils/disks/calculatePDiskSeverity.d.ts +1 -0
  202. package/dist/utils/disks/calculatePDiskSeverity.js +1 -1
  203. package/dist/utils/disks/calculatePDiskSeverity.js.map +1 -1
  204. package/dist/utils/disks/calculateVDiskSeverity.d.ts +2 -0
  205. package/dist/utils/disks/calculateVDiskSeverity.js +4 -4
  206. package/dist/utils/disks/calculateVDiskSeverity.js.map +1 -1
  207. package/dist/utils/disks/constants.d.ts +11 -0
  208. package/dist/utils/disks/constants.js +36 -0
  209. package/dist/utils/disks/constants.js.map +1 -1
  210. package/dist/utils/disks/helpers.d.ts +2 -0
  211. package/dist/utils/disks/helpers.js +19 -4
  212. package/dist/utils/disks/helpers.js.map +1 -1
  213. package/dist/utils/disks/prepareDisks.js +1 -2
  214. package/dist/utils/disks/prepareDisks.js.map +1 -1
  215. package/dist/utils/disks/types.d.ts +5 -0
  216. package/dist/utils/hooks/useChangedQuerySettings.d.ts +2 -2
  217. package/dist/utils/hooks/useLastQueryExecutionSettings.d.ts +2 -0
  218. package/dist/utils/hooks/useQueryExecutionSettings.d.ts +1 -0
  219. package/dist/utils/numeral.js +1 -1
  220. package/dist/utils/numeral.js.map +1 -1
  221. package/dist/utils/query.d.ts +6 -0
  222. package/dist/utils/query.js +2 -0
  223. package/dist/utils/query.js.map +1 -1
  224. package/dist/utils/utils.d.ts +3 -4
  225. package/dist/utils/utils.js +11 -5
  226. package/dist/utils/utils.js.map +1 -1
  227. package/package.json +22 -37
@@ -16,7 +16,7 @@
16
16
  background-color: var(--ydb-color-status-grey);
17
17
  }
18
18
  &_state_orange {
19
- background-color: var(--ydb-color-status-orange);
19
+ background-color: var(--ydb-color-status-red);
20
20
  }
21
21
  }
22
22
 
@@ -34,7 +34,7 @@
34
34
  color: var(--ydb-color-status-yellow);
35
35
  }
36
36
  &_state_orange {
37
- color: var(--ydb-color-status-orange);
37
+ color: var(--ydb-color-status-red);
38
38
  }
39
39
  &_state_red {
40
40
  color: var(--ydb-color-status-red);
@@ -1,13 +1,13 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { CircleCheck, CircleExclamation, CircleInfo, PlugConnection, TriangleExclamation, } from '@gravity-ui/icons';
2
+ import { CircleCheckFill, CircleExclamationFill, CircleInfo, PlugConnection, TriangleExclamationFill, } from '@gravity-ui/icons';
3
3
  import { Icon } from '@gravity-ui/uikit';
4
4
  import { EFlag } from '../../types/api/enums';
5
5
  const EFlagToIcon = {
6
6
  [EFlag.Blue]: CircleInfo,
7
- [EFlag.Yellow]: CircleExclamation,
8
- [EFlag.Orange]: TriangleExclamation,
9
- [EFlag.Red]: CircleExclamation,
10
- [EFlag.Green]: CircleCheck,
7
+ [EFlag.Yellow]: CircleExclamationFill,
8
+ [EFlag.Orange]: TriangleExclamationFill,
9
+ [EFlag.Red]: CircleExclamationFill,
10
+ [EFlag.Green]: CircleCheckFill,
11
11
  [EFlag.Grey]: PlugConnection,
12
12
  };
13
13
  export function StatusIcon({ status, ...props }) {
@@ -1 +1 @@
1
- {"version":3,"file":"StatusIcon.js","sourceRoot":"","sources":["../../../src/components/StatusIconNew/StatusIcon.tsx"],"names":[],"mappings":";AAAA,OAAO,EACH,WAAW,EACX,iBAAiB,EACjB,UAAU,EACV,cAAc,EACd,mBAAmB,GACtB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAC,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAEvC,OAAO,EAAC,KAAK,EAAC,MAAM,uBAAuB,CAAC;AAE5C,MAAM,WAAW,GAA+E;IAC5F,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,UAAU;IACxB,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,iBAAiB;IACjC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,mBAAmB;IACnC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,iBAAiB;IAC9B,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,WAAW;IAC1B,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,cAAc;CAC/B,CAAC;AAMF,MAAM,UAAU,UAAU,CAAC,EAAC,MAAM,EAAE,GAAG,KAAK,EAAkB;IAC1D,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,OAAO,KAAC,IAAI,OAAK,KAAK,EAAE,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,GAAI,CAAC;AAC1D,CAAC"}
1
+ {"version":3,"file":"StatusIcon.js","sourceRoot":"","sources":["../../../src/components/StatusIconNew/StatusIcon.tsx"],"names":[],"mappings":";AAAA,OAAO,EACH,eAAe,EACf,qBAAqB,EACrB,UAAU,EACV,cAAc,EACd,uBAAuB,GAC1B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAC,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAEvC,OAAO,EAAC,KAAK,EAAC,MAAM,uBAAuB,CAAC;AAE5C,MAAM,WAAW,GAA4B;IACzC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,UAAU;IACxB,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,qBAAqB;IACrC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,uBAAuB;IACvC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,qBAAqB;IAClC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,eAAe;IAC9B,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,cAAc;CAC/B,CAAC;AAMF,MAAM,UAAU,UAAU,CAAC,EAAC,MAAM,EAAE,GAAG,KAAK,EAAkB;IAC1D,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,KAAC,IAAI,OAAK,KAAK,EAAE,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,GAAI,CAAC;AAC1D,CAAC"}
@@ -1 +1 @@
1
- export declare const storageGroupInfoKeyset: (key: "available" | "usage" | "state" | "yes" | "no" | "read-throughput" | "write-throughput" | "media-type" | "encryption" | "missing-disks" | "latency" | "allocation-units" | "overall" | "disk-space" | "erasure-species" | "used-space" | "group-generation" | "latency-put-tablet-log" | "latency-put-user-data" | "latency-get-fast", params?: import("@gravity-ui/i18n").Params) => string;
1
+ export declare const storageGroupInfoKeyset: (key: "available" | "usage" | "state" | "yes" | "no" | "read-throughput" | "write-throughput" | "encryption" | "missing-disks" | "latency" | "allocation-units" | "overall" | "disk-space" | "media-type" | "erasure-species" | "used-space" | "group-generation" | "latency-put-tablet-log" | "latency-put-user-data" | "latency-get-fast", params?: import("@gravity-ui/i18n").Params) => string;
@@ -10,5 +10,6 @@ export interface VDiskProps {
10
10
  progressBarClassName?: string;
11
11
  delayOpen?: number;
12
12
  delayClose?: number;
13
+ withIcon?: boolean;
13
14
  }
14
- export declare const VDisk: ({ data, compact, inactive, showPopup, onShowPopup, onHidePopup, progressBarClassName, delayClose, delayOpen, }: VDiskProps) => import("react/jsx-runtime").JSX.Element;
15
+ export declare const VDisk: ({ data, compact, inactive, showPopup, onShowPopup, onHidePopup, progressBarClassName, delayClose, delayOpen, withIcon, }: VDiskProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,15 +1,19 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { useVDiskPagePath } from '../../routes';
3
3
  import { cn } from '../../utils/cn';
4
+ import { DISK_COLOR_STATE_TO_NUMERIC_SEVERITY } from '../../utils/disks/constants';
4
5
  import { DiskStateProgressBar } from '../DiskStateProgressBar/DiskStateProgressBar';
5
6
  import { HoverPopup } from '../HoverPopup/HoverPopup';
6
7
  import { InternalLink } from '../InternalLink';
7
8
  import { VDiskPopup } from '../VDiskPopup/VDiskPopup';
8
9
  import './VDisk.scss';
9
10
  const b = cn('ydb-vdisk-component');
10
- export const VDisk = ({ data = {}, compact, inactive, showPopup, onShowPopup, onHidePopup, progressBarClassName, delayClose, delayOpen, }) => {
11
+ export const VDisk = ({ data = {}, compact, inactive, showPopup, onShowPopup, onHidePopup, progressBarClassName, delayClose, delayOpen, withIcon, }) => {
11
12
  const getVDiskLink = useVDiskPagePath();
12
13
  const vDiskPath = getVDiskLink({ nodeId: data.NodeId, vDiskId: data.StringifiedId });
13
- return (_jsx(HoverPopup, { showPopup: showPopup, onShowPopup: onShowPopup, onHidePopup: onHidePopup, renderPopupContent: () => _jsx(VDiskPopup, { data: data }), offset: { mainAxis: 2, crossAxis: 0 }, delayClose: delayClose, delayOpen: delayOpen, children: _jsx("div", { className: b(), children: _jsx(InternalLink, { to: vDiskPath, className: b('content'), children: _jsx(DiskStateProgressBar, { diskAllocatedPercent: data.AllocatedPercent, severity: data.Severity, compact: compact, inactive: inactive, className: progressBarClassName }) }) }) }));
14
+ const severity = data.Severity;
15
+ const isReplicatingColor = severity === DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Blue;
16
+ const isHealthyDonor = data.DonorMode && isReplicatingColor;
17
+ return (_jsx(HoverPopup, { showPopup: showPopup, onShowPopup: onShowPopup, onHidePopup: onHidePopup, renderPopupContent: () => _jsx(VDiskPopup, { data: data }), offset: { mainAxis: 2, crossAxis: 0 }, delayClose: delayClose, delayOpen: delayOpen, children: _jsx("div", { className: b(), children: _jsx(InternalLink, { to: vDiskPath, className: b('content'), children: _jsx(DiskStateProgressBar, { diskAllocatedPercent: data.AllocatedPercent, severity: severity, compact: compact, inactive: inactive, striped: isReplicatingColor, isDonor: isHealthyDonor, className: progressBarClassName, withIcon: withIcon }) }) }) }));
14
18
  };
15
19
  //# sourceMappingURL=VDisk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"VDisk.js","sourceRoot":"","sources":["../../../src/components/VDisk/VDisk.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,gBAAgB,EAAC,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAC,EAAE,EAAC,MAAM,gBAAgB,CAAC;AAElC,OAAO,EAAC,oBAAoB,EAAC,MAAM,8CAA8C,CAAC;AAClF,OAAO,EAAC,UAAU,EAAC,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAC,UAAU,EAAC,MAAM,0BAA0B,CAAC;AAEpD,OAAO,cAAc,CAAC;AAEtB,MAAM,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC,CAAC;AAcpC,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,EAClB,IAAI,GAAG,EAAE,EACT,OAAO,EACP,QAAQ,EACR,SAAS,EACT,WAAW,EACX,WAAW,EACX,oBAAoB,EACpB,UAAU,EACV,SAAS,GACA,EAAE,EAAE;IACb,MAAM,YAAY,GAAG,gBAAgB,EAAE,CAAC;IACxC,MAAM,SAAS,GAAG,YAAY,CAAC,EAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,EAAC,CAAC,CAAC;IAEnF,OAAO,CACH,KAAC,UAAU,IACP,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,WAAW,EACxB,kBAAkB,EAAE,GAAG,EAAE,CAAC,KAAC,UAAU,IAAC,IAAI,EAAE,IAAI,GAAI,EACpD,MAAM,EAAE,EAAC,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAC,EACnC,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,SAAS,YAEpB,cAAK,SAAS,EAAE,CAAC,EAAE,YACf,KAAC,YAAY,IAAC,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,YAChD,KAAC,oBAAoB,IACjB,oBAAoB,EAAE,IAAI,CAAC,gBAAgB,EAC3C,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,oBAAoB,GACjC,GACS,GACb,GACG,CAChB,CAAC;AACN,CAAC,CAAC"}
1
+ {"version":3,"file":"VDisk.js","sourceRoot":"","sources":["../../../src/components/VDisk/VDisk.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,gBAAgB,EAAC,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAC,EAAE,EAAC,MAAM,gBAAgB,CAAC;AAClC,OAAO,EAAC,oCAAoC,EAAC,MAAM,6BAA6B,CAAC;AAEjF,OAAO,EAAC,oBAAoB,EAAC,MAAM,8CAA8C,CAAC;AAClF,OAAO,EAAC,UAAU,EAAC,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAC,UAAU,EAAC,MAAM,0BAA0B,CAAC;AAEpD,OAAO,cAAc,CAAC;AAEtB,MAAM,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC,CAAC;AAepC,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,EAClB,IAAI,GAAG,EAAE,EACT,OAAO,EACP,QAAQ,EACR,SAAS,EACT,WAAW,EACX,WAAW,EACX,oBAAoB,EACpB,UAAU,EACV,SAAS,EACT,QAAQ,GACC,EAAE,EAAE;IACb,MAAM,YAAY,GAAG,gBAAgB,EAAE,CAAC;IACxC,MAAM,SAAS,GAAG,YAAY,CAAC,EAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,EAAC,CAAC,CAAC;IAEnF,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC/B,MAAM,kBAAkB,GAAG,QAAQ,KAAK,oCAAoC,CAAC,IAAI,CAAC;IAClF,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,IAAI,kBAAkB,CAAC;IAE5D,OAAO,CACH,KAAC,UAAU,IACP,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,WAAW,EACxB,kBAAkB,EAAE,GAAG,EAAE,CAAC,KAAC,UAAU,IAAC,IAAI,EAAE,IAAI,GAAI,EACpD,MAAM,EAAE,EAAC,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAC,EACnC,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,SAAS,YAEpB,cAAK,SAAS,EAAE,CAAC,EAAE,YACf,KAAC,YAAY,IAAC,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,YAChD,KAAC,oBAAoB,IACjB,oBAAoB,EAAE,IAAI,CAAC,gBAAgB,EAC3C,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,kBAAkB,EAC3B,OAAO,EAAE,cAAc,EACvB,SAAS,EAAE,oBAAoB,EAC/B,QAAQ,EAAE,QAAQ,GACpB,GACS,GACb,GACG,CAChB,CAAC;AACN,CAAC,CAAC"}
@@ -5,5 +5,5 @@ interface VDiskWithDonorsStackProps extends VDiskProps {
5
5
  className?: string;
6
6
  stackClassName?: string;
7
7
  }
8
- export declare function VDiskWithDonorsStack({ data, className, stackClassName, ...restProps }: VDiskWithDonorsStackProps): import("react/jsx-runtime").JSX.Element;
8
+ export declare function VDiskWithDonorsStack({ data, className, stackClassName, withIcon, ...restProps }: VDiskWithDonorsStackProps): import("react/jsx-runtime").JSX.Element;
9
9
  export {};
@@ -3,13 +3,13 @@ import { stringifyVdiskId } from '../../utils/dataFormatters/dataFormatters';
3
3
  import { isFullVDiskData } from '../../utils/disks/helpers';
4
4
  import { Stack } from '../Stack/Stack';
5
5
  import { VDisk } from './VDisk';
6
- export function VDiskWithDonorsStack({ data, className, stackClassName, ...restProps }) {
6
+ export function VDiskWithDonorsStack({ data, className, stackClassName, withIcon, ...restProps }) {
7
7
  const { Donors: donors, ...restData } = data || {};
8
- const content = donors && donors.length > 0 ? (_jsxs(Stack, { className: stackClassName, children: [_jsx(VDisk, { data: restData, ...restProps }), donors.map((donor) => {
8
+ const content = donors && donors.length > 0 ? (_jsxs(Stack, { className: stackClassName, children: [_jsx(VDisk, { data: restData, withIcon: withIcon, ...restProps }), donors.map((donor) => {
9
9
  const isFullData = isFullVDiskData(donor);
10
10
  // donor and acceptor are always in the same group
11
- return (_jsx(VDisk, { data: donor, ...restProps }, stringifyVdiskId(isFullData ? donor.VDiskId : donor)));
12
- })] })) : (_jsx(VDisk, { data: data, ...restProps }));
11
+ return (_jsx(VDisk, { data: donor, withIcon: withIcon, ...restProps }, stringifyVdiskId(isFullData ? donor.VDiskId : donor)));
12
+ })] })) : (_jsx(VDisk, { withIcon: withIcon, data: data, ...restProps }));
13
13
  return _jsx("div", { className: className, children: content });
14
14
  }
15
15
  //# sourceMappingURL=VDiskWithDonorsStack.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"VDiskWithDonorsStack.js","sourceRoot":"","sources":["../../../src/components/VDisk/VDiskWithDonorsStack.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,gBAAgB,EAAC,MAAM,2CAA2C,CAAC;AAC3E,OAAO,EAAC,eAAe,EAAC,MAAM,2BAA2B,CAAC;AAE1D,OAAO,EAAC,KAAK,EAAC,MAAM,gBAAgB,CAAC;AAGrC,OAAO,EAAC,KAAK,EAAC,MAAM,SAAS,CAAC;AAQ9B,MAAM,UAAU,oBAAoB,CAAC,EACjC,IAAI,EACJ,SAAS,EACT,cAAc,EACd,GAAG,SAAS,EACY;IACxB,MAAM,EAAC,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAC,GAAG,IAAI,IAAI,EAAE,CAAC;IAEjD,MAAM,OAAO,GACT,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAC1B,MAAC,KAAK,IAAC,SAAS,EAAE,cAAc,aAC5B,KAAC,KAAK,IAAC,IAAI,EAAE,QAAQ,KAAM,SAAS,GAAI,EACvC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;gBAClB,MAAM,UAAU,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;gBAE1C,kDAAkD;gBAClD,OAAO,CACH,KAAC,KAAK,IAEF,IAAI,EAAE,KAAK,KACP,SAAS,IAFR,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAG3D,CACL,CAAC;YACN,CAAC,CAAC,IACE,CACX,CAAC,CAAC,CAAC,CACA,KAAC,KAAK,IAAC,IAAI,EAAE,IAAI,KAAM,SAAS,GAAI,CACvC,CAAC;IAEN,OAAO,cAAK,SAAS,EAAE,SAAS,YAAG,OAAO,GAAO,CAAC;AACtD,CAAC"}
1
+ {"version":3,"file":"VDiskWithDonorsStack.js","sourceRoot":"","sources":["../../../src/components/VDisk/VDiskWithDonorsStack.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,gBAAgB,EAAC,MAAM,2CAA2C,CAAC;AAC3E,OAAO,EAAC,eAAe,EAAC,MAAM,2BAA2B,CAAC;AAE1D,OAAO,EAAC,KAAK,EAAC,MAAM,gBAAgB,CAAC;AAGrC,OAAO,EAAC,KAAK,EAAC,MAAM,SAAS,CAAC;AAQ9B,MAAM,UAAU,oBAAoB,CAAC,EACjC,IAAI,EACJ,SAAS,EACT,cAAc,EACd,QAAQ,EACR,GAAG,SAAS,EACY;IACxB,MAAM,EAAC,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAC,GAAG,IAAI,IAAI,EAAE,CAAC;IAEjD,MAAM,OAAO,GACT,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAC1B,MAAC,KAAK,IAAC,SAAS,EAAE,cAAc,aAC5B,KAAC,KAAK,IAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,KAAM,SAAS,GAAI,EAC3D,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;gBAClB,MAAM,UAAU,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;gBAE1C,kDAAkD;gBAClD,OAAO,CACH,KAAC,KAAK,IAEF,IAAI,EAAE,KAAK,EACX,QAAQ,EAAE,QAAQ,KACd,SAAS,IAHR,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAI3D,CACL,CAAC;YACN,CAAC,CAAC,IACE,CACX,CAAC,CAAC,CAAC,CACA,KAAC,KAAK,IAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,KAAM,SAAS,GAAI,CAC3D,CAAC;IAEN,OAAO,cAAK,SAAS,EAAE,SAAS,YAAG,OAAO,GAAO,CAAC;AACtD,CAAC"}
@@ -1,183 +1,243 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import React from 'react';
3
- import { Flex, Label } from '@gravity-ui/uikit';
3
+ import { Divider, Flex } from '@gravity-ui/uikit';
4
+ import { isNil } from 'lodash';
4
5
  import { useVDiskPagePath } from '../../routes';
5
6
  import { selectNodesMap } from '../../store/reducers/nodesList';
6
7
  import { EFlag } from '../../types/api/enums';
7
8
  import { EVDiskState } from '../../types/api/vdisk';
8
- import { valueIsDefined } from '../../utils';
9
9
  import { cn } from '../../utils/cn';
10
10
  import { EMPTY_DATA_PLACEHOLDER } from '../../utils/constants';
11
11
  import { formatUptimeInSeconds } from '../../utils/dataFormatters/dataFormatters';
12
12
  import { createVDiskDeveloperUILink } from '../../utils/developerUI/developerUI';
13
+ import { getStateSeverity } from '../../utils/disks/calculateVDiskSeverity';
14
+ import { DISK_COLOR_STATE_TO_NUMERIC_SEVERITY, NOT_AVAILABLE_SEVERITY, NUMERIC_SEVERITY_TO_LABEL_VIEW, VDISK_LABEL_CONFIG, } from '../../utils/disks/constants';
13
15
  import { isFullVDiskData } from '../../utils/disks/helpers';
14
16
  import { useTypedSelector } from '../../utils/hooks';
15
17
  import { useDatabaseFromQuery } from '../../utils/hooks/useDatabaseFromQuery';
16
18
  import { useIsUserAllowedToMakeChanges, useIsViewerUser, } from '../../utils/hooks/useIsUserAllowedToMakeChanges';
17
19
  import { bytesToGB, bytesToSpeed } from '../../utils/utils';
18
- import { InfoViewer } from '../InfoViewer';
19
20
  import { InternalLink } from '../InternalLink';
20
21
  import { LinkWithIcon } from '../LinkWithIcon/LinkWithIcon';
21
- import { preparePDiskData } from '../PDiskPopup/PDiskPopup';
22
+ import { buildPDiskFooter, preparePDiskData, preparePDiskHeaderLabels, } from '../PDiskPopup/PDiskPopup';
23
+ import { StatusIcon } from '../StatusIcon/StatusIcon';
22
24
  import { vDiskInfoKeyset } from '../VDiskInfo/i18n';
25
+ import { YDBDefinitionList } from '../YDBDefinitionList/YDBDefinitionList';
23
26
  import { vDiskPopupKeyset } from './i18n';
24
27
  import './VDiskPopup.scss';
25
28
  const b = cn('vdisk-storage-popup');
26
- const prepareUnavailableVDiskData = (data, withDeveloperUILink) => {
29
+ const prepareUnavailableVDiskData = (data) => {
27
30
  const { NodeId, PDiskId, VSlotId, StoragePoolName } = data;
28
- const vdiskData = [
29
- { label: vDiskPopupKeyset('label_state'), value: vDiskPopupKeyset('context_not-available') },
30
- ];
31
+ const vdiskData = [];
31
32
  if (StoragePoolName) {
32
- vdiskData.push({ label: vDiskPopupKeyset('label_storage-pool'), value: StoragePoolName });
33
- }
34
- vdiskData.push({ label: vDiskPopupKeyset('label_node-id'), value: NodeId !== null && NodeId !== void 0 ? NodeId : EMPTY_DATA_PLACEHOLDER }, { label: vDiskPopupKeyset('label_pdisk-id'), value: PDiskId !== null && PDiskId !== void 0 ? PDiskId : EMPTY_DATA_PLACEHOLDER }, { label: vDiskPopupKeyset('label_vslot-id'), value: VSlotId !== null && VSlotId !== void 0 ? VSlotId : EMPTY_DATA_PLACEHOLDER });
35
- if (withDeveloperUILink &&
36
- valueIsDefined(NodeId) &&
37
- valueIsDefined(PDiskId) &&
38
- valueIsDefined(VSlotId)) {
39
- const vDiskInternalViewerPath = createVDiskDeveloperUILink({
40
- nodeId: NodeId,
41
- pDiskId: PDiskId,
42
- vDiskSlotId: VSlotId,
43
- });
44
- vdiskData.push({
45
- label: vDiskPopupKeyset('label_links'),
46
- value: _jsx(LinkWithIcon, { title: 'Developer UI', url: vDiskInternalViewerPath }),
47
- });
33
+ vdiskData.push({ name: vDiskPopupKeyset('label_storage-pool'), content: StoragePoolName });
48
34
  }
35
+ vdiskData.push({ name: vDiskPopupKeyset('label_node-id'), content: NodeId !== null && NodeId !== void 0 ? NodeId : EMPTY_DATA_PLACEHOLDER }, { name: vDiskPopupKeyset('label_pdisk-id'), content: PDiskId !== null && PDiskId !== void 0 ? PDiskId : EMPTY_DATA_PLACEHOLDER }, { name: vDiskPopupKeyset('label_vslot-id'), content: VSlotId !== null && VSlotId !== void 0 ? VSlotId : EMPTY_DATA_PLACEHOLDER });
49
36
  return vdiskData;
50
37
  };
38
+ const buildUnavailableVDiskFooter = (data, withDeveloperUILink) => {
39
+ const { NodeId, PDiskId, VSlotId } = data;
40
+ if (!withDeveloperUILink || isNil(NodeId) || isNil(PDiskId) || isNil(VSlotId)) {
41
+ return null;
42
+ }
43
+ const vDiskInternalViewerPath = createVDiskDeveloperUILink({
44
+ nodeId: NodeId,
45
+ pDiskId: PDiskId,
46
+ vDiskSlotId: VSlotId,
47
+ });
48
+ return (_jsx("div", { className: b('links'), children: _jsx(LinkWithIcon, { title: 'Developer UI', url: vDiskInternalViewerPath }) }));
49
+ };
50
+ const VDiskLink = ({ nodeId, stringifiedId, getVDiskLinkFn }) => {
51
+ if (isNil(stringifiedId)) {
52
+ return _jsx("span", { children: EMPTY_DATA_PLACEHOLDER });
53
+ }
54
+ if (isNil(nodeId)) {
55
+ return _jsx("span", { children: stringifiedId });
56
+ }
57
+ const path = getVDiskLinkFn === null || getVDiskLinkFn === void 0 ? void 0 : getVDiskLinkFn({ nodeId, vDiskId: stringifiedId });
58
+ return (_jsxs(InternalLink, { to: path, children: [vDiskPopupKeyset('label_vdisk'), " ", stringifiedId] }));
59
+ };
51
60
  // eslint-disable-next-line complexity
52
- const prepareVDiskData = (data, withDeveloperUILink, getVDiskLinkFn) => {
61
+ const prepareVDiskData = (data, getVDiskLinkFn) => {
53
62
  var _a, _b, _c, _d, _e, _f;
54
- const { NodeId, PDiskId, VDiskSlotId, StringifiedId, VDiskState, SatisfactionRank, DiskSpace, FrontQueues, Replicated, ReplicationProgress, ReplicationSecondsRemaining, UnsyncedVDisks, AllocatedSize, ReadThroughput, WriteThroughput, StoragePoolName, } = data;
55
- const vdiskData = [
56
- { label: vDiskPopupKeyset('label_vdisk'), value: StringifiedId },
57
- {
58
- label: vDiskPopupKeyset('label_state'),
59
- value: VDiskState !== null && VDiskState !== void 0 ? VDiskState : vDiskPopupKeyset('context_not-available'),
60
- },
61
- ];
63
+ const { VDiskState, SatisfactionRank, DiskSpace, FrontQueues, Replicated, ReplicationProgress, ReplicationSecondsRemaining, UnsyncedVDisks, AllocatedSize, ReadThroughput, WriteThroughput, StoragePoolName, Donors, DonorMode, Recipient, Severity, } = data;
64
+ const vdiskData = [];
62
65
  if (StoragePoolName) {
63
- vdiskData.push({ label: vDiskPopupKeyset('label_storage-pool'), value: StoragePoolName });
66
+ vdiskData.push({ name: vDiskPopupKeyset('label_storage-pool'), content: StoragePoolName });
67
+ }
68
+ // it is a healthy replication and it has some donors
69
+ if ((Donors === null || Donors === void 0 ? void 0 : Donors.length) && Severity === DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Blue) {
70
+ vdiskData.push({
71
+ name: vDiskPopupKeyset('label_donor'),
72
+ content: (_jsx(Flex, { direction: "column", children: Donors.map((donor) => (_jsx(VDiskLink, { nodeId: donor.NodeId, stringifiedId: donor.StringifiedId, getVDiskLinkFn: getVDiskLinkFn }, donor.StringifiedId))) })),
73
+ });
74
+ }
75
+ if (DonorMode && Recipient) {
76
+ vdiskData.push({
77
+ name: vDiskPopupKeyset('label_recipient'),
78
+ content: (_jsx(VDiskLink, { nodeId: Recipient.NodeId, stringifiedId: Recipient.StringifiedId, getVDiskLinkFn: getVDiskLinkFn })),
79
+ });
64
80
  }
65
81
  if (SatisfactionRank && ((_a = SatisfactionRank.FreshRank) === null || _a === void 0 ? void 0 : _a.Flag) !== EFlag.Green) {
66
82
  vdiskData.push({
67
- label: vDiskPopupKeyset('label_fresh'),
68
- value: (_b = SatisfactionRank.FreshRank) === null || _b === void 0 ? void 0 : _b.Flag,
83
+ name: vDiskPopupKeyset('label_fresh'),
84
+ content: (_b = SatisfactionRank.FreshRank) === null || _b === void 0 ? void 0 : _b.Flag,
69
85
  });
70
86
  }
71
87
  if (SatisfactionRank && ((_c = SatisfactionRank.LevelRank) === null || _c === void 0 ? void 0 : _c.Flag) !== EFlag.Green) {
72
88
  vdiskData.push({
73
- label: vDiskPopupKeyset('label_level'),
74
- value: (_d = SatisfactionRank.LevelRank) === null || _d === void 0 ? void 0 : _d.Flag,
89
+ name: vDiskPopupKeyset('label_level'),
90
+ content: (_d = SatisfactionRank.LevelRank) === null || _d === void 0 ? void 0 : _d.Flag,
75
91
  });
76
92
  }
77
93
  if (SatisfactionRank && ((_e = SatisfactionRank.FreshRank) === null || _e === void 0 ? void 0 : _e.RankPercent)) {
78
94
  vdiskData.push({
79
- label: vDiskPopupKeyset('label_fresh'),
80
- value: SatisfactionRank.FreshRank.RankPercent,
95
+ name: vDiskPopupKeyset('label_fresh'),
96
+ content: SatisfactionRank.FreshRank.RankPercent,
81
97
  });
82
98
  }
83
99
  if (SatisfactionRank && ((_f = SatisfactionRank.LevelRank) === null || _f === void 0 ? void 0 : _f.RankPercent)) {
84
100
  vdiskData.push({
85
- label: vDiskPopupKeyset('label_level'),
86
- value: SatisfactionRank.LevelRank.RankPercent,
101
+ name: vDiskPopupKeyset('label_level'),
102
+ content: SatisfactionRank.LevelRank.RankPercent,
87
103
  });
88
104
  }
89
- if (DiskSpace && DiskSpace !== EFlag.Green) {
90
- vdiskData.push({ label: vDiskPopupKeyset('label_space'), value: DiskSpace });
105
+ if (DiskSpace) {
106
+ vdiskData.push({
107
+ name: vDiskPopupKeyset('label_space'),
108
+ content: _jsx(StatusIcon, { mode: "icons", status: DiskSpace }),
109
+ });
91
110
  }
92
- if (FrontQueues && FrontQueues !== EFlag.Green) {
93
- vdiskData.push({ label: vDiskPopupKeyset('label_front-queues'), value: FrontQueues });
111
+ if (FrontQueues) {
112
+ vdiskData.push({
113
+ name: vDiskPopupKeyset('label_front-queues'),
114
+ content: _jsx(StatusIcon, { mode: "icons", status: FrontQueues }),
115
+ });
94
116
  }
95
117
  if (Replicated === false && VDiskState === EVDiskState.OK) {
96
- vdiskData.push({ label: vDiskPopupKeyset('label_replicated'), value: 'NO' });
118
+ vdiskData.push({ name: vDiskPopupKeyset('label_replicated'), content: 'NO' });
97
119
  // Only show replication progress and time remaining when disk is not replicated and state is OK
98
- if (valueIsDefined(ReplicationProgress)) {
120
+ if (!isNil(ReplicationProgress)) {
99
121
  const progressPercent = Math.round(ReplicationProgress * 100);
100
122
  vdiskData.push({
101
- label: vDiskPopupKeyset('label_progress'),
102
- value: `${progressPercent}%`,
123
+ name: vDiskPopupKeyset('label_progress'),
124
+ content: `${progressPercent}%`,
103
125
  });
104
126
  }
105
- if (valueIsDefined(ReplicationSecondsRemaining)) {
127
+ if (!isNil(ReplicationSecondsRemaining)) {
106
128
  const timeRemaining = formatUptimeInSeconds(ReplicationSecondsRemaining);
107
129
  if (timeRemaining) {
108
130
  vdiskData.push({
109
- label: vDiskPopupKeyset('label_remaining'),
110
- value: timeRemaining,
131
+ name: vDiskPopupKeyset('label_remaining'),
132
+ content: timeRemaining,
111
133
  });
112
134
  }
113
135
  }
114
136
  }
115
137
  if (UnsyncedVDisks) {
116
- vdiskData.push({ label: vDiskPopupKeyset('label_unsync-vdisks'), value: UnsyncedVDisks });
138
+ vdiskData.push({ name: vDiskPopupKeyset('label_unsync-vdisks'), content: UnsyncedVDisks });
117
139
  }
118
140
  if (Number(AllocatedSize)) {
119
141
  vdiskData.push({
120
- label: vDiskPopupKeyset('label_allocated'),
121
- value: bytesToGB(AllocatedSize),
142
+ name: vDiskPopupKeyset('label_allocated'),
143
+ content: bytesToGB(AllocatedSize),
122
144
  });
123
145
  }
124
146
  if (Number(ReadThroughput)) {
125
147
  vdiskData.push({
126
- label: vDiskPopupKeyset('label_read'),
127
- value: bytesToSpeed(ReadThroughput),
148
+ name: vDiskPopupKeyset('label_read'),
149
+ content: bytesToSpeed(ReadThroughput),
128
150
  });
129
151
  }
130
152
  if (Number(WriteThroughput)) {
131
153
  vdiskData.push({
132
- label: vDiskPopupKeyset('label_write'),
133
- value: bytesToSpeed(WriteThroughput),
154
+ name: vDiskPopupKeyset('label_write'),
155
+ content: bytesToSpeed(WriteThroughput),
134
156
  });
135
157
  }
136
- if (withDeveloperUILink &&
137
- valueIsDefined(NodeId) &&
138
- valueIsDefined(PDiskId) &&
139
- (valueIsDefined(VDiskSlotId) || valueIsDefined(StringifiedId))) {
140
- const vDiskInternalViewerPath = valueIsDefined(VDiskSlotId)
141
- ? createVDiskDeveloperUILink({
142
- nodeId: NodeId,
143
- pDiskId: PDiskId,
144
- vDiskSlotId: VDiskSlotId,
145
- })
146
- : undefined;
147
- const vDiskPagePath = getVDiskLinkFn === null || getVDiskLinkFn === void 0 ? void 0 : getVDiskLinkFn({ nodeId: NodeId, vDiskId: StringifiedId });
148
- if (vDiskPagePath) {
149
- vdiskData.push({
150
- label: vDiskPopupKeyset('label_links'),
151
- value: (_jsxs(Flex, { wrap: "wrap", gap: 2, children: [_jsx(LinkWithIcon, { title: vDiskInfoKeyset('vdisk-page'), url: vDiskPagePath, external: false }, vDiskPagePath), vDiskInternalViewerPath ? (_jsx(LinkWithIcon, { title: vDiskInfoKeyset('developer-ui'), url: vDiskInternalViewerPath })) : null] })),
158
+ return vdiskData;
159
+ };
160
+ const buildVDiskFooter = (data, withDeveloperUILink, getVDiskLinkFn) => {
161
+ if (!withDeveloperUILink) {
162
+ return null;
163
+ }
164
+ const { NodeId, PDiskId, VDiskSlotId, StringifiedId } = data;
165
+ if (isNil(NodeId) || isNil(PDiskId) || (isNil(VDiskSlotId) && isNil(StringifiedId))) {
166
+ return null;
167
+ }
168
+ const vDiskInternalViewerPath = isNil(VDiskSlotId)
169
+ ? undefined
170
+ : createVDiskDeveloperUILink({
171
+ nodeId: NodeId,
172
+ pDiskId: PDiskId,
173
+ vDiskSlotId: VDiskSlotId,
174
+ });
175
+ const vDiskPagePath = getVDiskLinkFn === null || getVDiskLinkFn === void 0 ? void 0 : getVDiskLinkFn({
176
+ nodeId: NodeId,
177
+ vDiskId: StringifiedId,
178
+ });
179
+ if (!vDiskPagePath) {
180
+ return null;
181
+ }
182
+ return (_jsxs(Flex, { className: b('links'), wrap: "wrap", gap: 2, children: [vDiskPagePath && (_jsx(LinkWithIcon, { title: vDiskInfoKeyset('vdisk-page'), url: vDiskPagePath, external: false }, vDiskPagePath)), vDiskInternalViewerPath && (_jsx(LinkWithIcon, { title: vDiskInfoKeyset('developer-ui'), url: vDiskInternalViewerPath }))] }));
183
+ };
184
+ const prepareHeaderLabels = (data) => {
185
+ const labels = [];
186
+ const { VDiskState, DonorMode, Severity } = data;
187
+ const isReplicatingColor = Severity === DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Blue;
188
+ if (DonorMode) {
189
+ const donorConfig = VDISK_LABEL_CONFIG.donor;
190
+ labels.push({
191
+ id: 'donor',
192
+ value: vDiskPopupKeyset('label_donor'),
193
+ theme: donorConfig.theme,
194
+ icon: donorConfig.icon,
195
+ });
196
+ }
197
+ if (isReplicatingColor) {
198
+ if (!DonorMode) {
199
+ const replicaConfig = VDISK_LABEL_CONFIG.replica;
200
+ labels.push({
201
+ id: 'replication',
202
+ value: vDiskPopupKeyset('label_replication'),
203
+ theme: replicaConfig.theme,
204
+ icon: replicaConfig.icon,
152
205
  });
153
206
  }
154
- }
155
- return vdiskData;
207
+ return labels;
208
+ }
209
+ const severity = VDiskState ? getStateSeverity(VDiskState) : NOT_AVAILABLE_SEVERITY;
210
+ const { theme: stateTheme, icon: stateIcon } = NUMERIC_SEVERITY_TO_LABEL_VIEW[severity];
211
+ const value = VDiskState !== null && VDiskState !== void 0 ? VDiskState : vDiskPopupKeyset('label_no-data');
212
+ labels.push({
213
+ id: 'state',
214
+ value,
215
+ theme: stateTheme,
216
+ icon: stateIcon,
217
+ });
218
+ return labels;
156
219
  };
157
220
  export const VDiskPopup = ({ data }) => {
221
+ var _a;
158
222
  const isFullData = isFullVDiskData(data);
159
223
  const isViewerUser = useIsViewerUser();
160
224
  const isUserAllowedToMakeChanges = useIsUserAllowedToMakeChanges();
161
225
  const getVDiskLink = useVDiskPagePath();
162
226
  const database = useDatabaseFromQuery();
163
- const vdiskInfo = React.useMemo(() => isFullData
164
- ? prepareVDiskData(data, isUserAllowedToMakeChanges, getVDiskLink)
165
- : prepareUnavailableVDiskData(data, isUserAllowedToMakeChanges), [data, isFullData, isUserAllowedToMakeChanges, getVDiskLink]);
227
+ const vdiskInfo = React.useMemo(() => isFullData ? prepareVDiskData(data, getVDiskLink) : prepareUnavailableVDiskData(data), [data, isFullData, getVDiskLink]);
228
+ const vdiskHeaderLabels = React.useMemo(() => (isFullData ? prepareHeaderLabels(data) : []), [data, isFullData]);
229
+ const vdiskFooter = React.useMemo(() => isFullData
230
+ ? buildVDiskFooter(data, isUserAllowedToMakeChanges, getVDiskLink)
231
+ : buildUnavailableVDiskFooter(data, isUserAllowedToMakeChanges), [data, isFullData, isUserAllowedToMakeChanges, getVDiskLink]);
166
232
  const nodesMap = useTypedSelector((state) => selectNodesMap(state, database));
167
- const nodeData = valueIsDefined(data.NodeId) ? nodesMap === null || nodesMap === void 0 ? void 0 : nodesMap.get(data.NodeId) : undefined;
168
- const pdiskInfo = React.useMemo(() => isFullData &&
169
- data.PDisk &&
170
- preparePDiskData(data.PDisk, nodeData, isUserAllowedToMakeChanges), [data, nodeData, isFullData, isUserAllowedToMakeChanges]);
171
- const donorsInfo = [];
172
- if ('Donors' in data && data.Donors) {
173
- const donors = data.Donors;
174
- for (const donor of donors) {
175
- donorsInfo.push({
176
- label: vDiskPopupKeyset('label_vdisk'),
177
- value: (_jsx(InternalLink, { to: getVDiskLink({ nodeId: donor.NodeId, vDiskId: donor.StringifiedId }), children: donor.StringifiedId })),
178
- });
179
- }
180
- }
181
- return (_jsxs("div", { className: b(), children: [data.DonorMode && _jsx(Label, { className: b('donor-label'), children: "Donor" }), _jsx(InfoViewer, { title: "VDisk", info: vdiskInfo, size: "s" }), pdiskInfo && isViewerUser && _jsx(InfoViewer, { title: "PDisk", info: pdiskInfo, size: "s" }), donorsInfo.length > 0 && _jsx(InfoViewer, { title: "Donors", info: donorsInfo, size: "s" })] }));
233
+ const nodeData = isNil(data.NodeId) ? undefined : nodesMap === null || nodesMap === void 0 ? void 0 : nodesMap.get(data.NodeId);
234
+ const pdiskInfo = React.useMemo(() => isFullData && data.PDisk && preparePDiskData(data.PDisk, nodeData), [data, nodeData, isFullData]);
235
+ const pdiskHeaderLabels = React.useMemo(() => (isFullData && data.PDisk ? preparePDiskHeaderLabels(data.PDisk) : []), [data, isFullData]);
236
+ const pdiskFooter = React.useMemo(() => isFullData && data.PDisk
237
+ ? buildPDiskFooter(data.PDisk, isUserAllowedToMakeChanges)
238
+ : null, [data, isFullData, isUserAllowedToMakeChanges]);
239
+ const vdiskId = isFullData ? data.StringifiedId : undefined;
240
+ const pdiskId = isFullData ? (_a = data.PDisk) === null || _a === void 0 ? void 0 : _a.StringifiedId : undefined;
241
+ return (_jsxs("div", { className: b(), children: [_jsx(YDBDefinitionList, { compact: true, title: "VDisk", titleSuffix: vdiskId !== null && vdiskId !== void 0 ? vdiskId : EMPTY_DATA_PLACEHOLDER, items: vdiskInfo, headerLabels: vdiskHeaderLabels, nameMaxWidth: 100, footer: vdiskFooter }), pdiskInfo && isViewerUser && (_jsxs(React.Fragment, { children: [_jsx(Divider, { className: b('custom-divider') }), _jsx(YDBDefinitionList, { compact: true, title: "PDisk", titleSuffix: pdiskId !== null && pdiskId !== void 0 ? pdiskId : EMPTY_DATA_PLACEHOLDER, items: pdiskInfo, headerLabels: pdiskHeaderLabels, footer: pdiskFooter, nameMaxWidth: 100 })] }))] }));
182
242
  };
183
243
  //# sourceMappingURL=VDiskPopup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"VDiskPopup.js","sourceRoot":"","sources":["../../../src/components/VDiskPopup/VDiskPopup.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VDiskPopup.js","sourceRoot":"","sources":["../../../src/components/VDiskPopup/VDiskPopup.tsx"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@
6
6
  border-top: 1px solid var(--g-color-line-generic);
7
7
  }
8
8
 
9
- &__donor-label {
10
- margin-bottom: 8px;
9
+ &__custom-divider {
10
+ margin: var(--g-spacing-3) 0;
11
11
  }
12
12
  }
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "context_not-available": "not available",
3
- "label_state": "State",
3
+ "label_no-data": "No data",
4
4
  "label_storage-pool": "StoragePool",
5
+ "label_donor": "Donor",
5
6
  "label_node-id": "NodeId",
6
7
  "label_pdisk-id": "PDiskId",
7
8
  "label_vslot-id": "VSlotId",
@@ -17,5 +18,7 @@
17
18
  "label_unsync-vdisks": "UnsyncVDisks",
18
19
  "label_allocated": "Allocated",
19
20
  "label_read": "Read",
20
- "label_write": "Write"
21
+ "label_write": "Write",
22
+ "label_replication": "Replication",
23
+ "label_recipient": "Recipient"
21
24
  }
@@ -1 +1 @@
1
- export declare const vDiskPopupKeyset: (key: "label_node-id" | "label_pdisk-id" | "context_not-available" | "label_state" | "label_storage-pool" | "label_vslot-id" | "label_links" | "label_vdisk" | "label_fresh" | "label_level" | "label_space" | "label_front-queues" | "label_replicated" | "label_progress" | "label_remaining" | "label_unsync-vdisks" | "label_allocated" | "label_read" | "label_write", params?: import("@gravity-ui/i18n").Params) => string;
1
+ export declare const vDiskPopupKeyset: (key: "label_node-id" | "label_pdisk-id" | "context_not-available" | "label_no-data" | "label_storage-pool" | "label_donor" | "label_vslot-id" | "label_links" | "label_vdisk" | "label_fresh" | "label_level" | "label_space" | "label_front-queues" | "label_replicated" | "label_progress" | "label_remaining" | "label_unsync-vdisks" | "label_allocated" | "label_read" | "label_write" | "label_replication" | "label_recipient", params?: import("@gravity-ui/i18n").Params) => string;
@@ -1,15 +1,28 @@
1
1
  import React from 'react';
2
- import type { DefinitionListProps } from '@gravity-ui/uikit';
2
+ import type { DefinitionListProps, IconData, LabelProps } from '@gravity-ui/uikit';
3
3
  import './YDBDefinitionList.scss';
4
4
  export type YDBDefinitionListItem = {
5
5
  name: string;
6
6
  content: React.ReactNode;
7
7
  copyText?: string;
8
8
  };
9
+ export interface YDBDefinitionListHeaderLabel {
10
+ id: string;
11
+ value: React.ReactNode;
12
+ icon?: IconData;
13
+ theme?: LabelProps['theme'];
14
+ }
9
15
  interface YDBDefinitionListProps extends Omit<DefinitionListProps, 'children'> {
10
16
  title?: React.ReactNode;
17
+ titleSuffix?: React.ReactNode;
18
+ titleSeparator?: React.ReactNode;
11
19
  items: YDBDefinitionListItem[];
20
+ headerLabels?: YDBDefinitionListHeaderLabel[];
21
+ iconSize?: number;
22
+ labelSize?: LabelProps['size'];
23
+ footer?: React.ReactNode;
24
+ compact?: boolean;
12
25
  }
13
26
  /** DefinitionList with predefined styles and layout */
14
- export declare function YDBDefinitionList({ title, items, nameMaxWidth, className, ...restProps }: YDBDefinitionListProps): import("react/jsx-runtime").JSX.Element;
27
+ export declare function YDBDefinitionList({ title, titleSuffix, titleSeparator, headerLabels, iconSize, labelSize, footer, items, compact, nameMaxWidth, className, ...restProps }: YDBDefinitionListProps): import("react/jsx-runtime").JSX.Element;
15
28
  export {};