ydb-embedded-ui 8.26.2 → 9.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (218) hide show
  1. package/dist/components/DiskStateProgressBar/DiskStateProgressBar.js +1 -1
  2. package/dist/components/Drawer/Drawer.d.ts +1 -1
  3. package/dist/components/Drawer/Drawer.js +11 -4
  4. package/dist/components/Drawer/Drawer.js.map +1 -1
  5. package/dist/components/Drawer/Drawer.scss +6 -1
  6. package/dist/components/EnableFullscreenButton/EnableFullscreenButton.d.ts +3 -1
  7. package/dist/components/EnableFullscreenButton/EnableFullscreenButton.js +2 -2
  8. package/dist/components/EnableFullscreenButton/EnableFullscreenButton.js.map +1 -1
  9. package/dist/components/EntityStatus/EntityStatus.d.ts +2 -1
  10. package/dist/components/EntityStatus/EntityStatus.js +6 -3
  11. package/dist/components/EntityStatus/EntityStatus.js.map +1 -1
  12. package/dist/components/EntityStatusNew/i18n/en.json +1 -1
  13. package/dist/components/JsonViewer/JsonViewer.d.ts +2 -0
  14. package/dist/components/JsonViewer/JsonViewer.js +4 -4
  15. package/dist/components/JsonViewer/JsonViewer.js.map +1 -1
  16. package/dist/components/JsonViewer/JsonViewer.scss +2 -0
  17. package/dist/components/JsonViewer/components/Cell.d.ts +1 -0
  18. package/dist/components/JsonViewer/components/Cell.js +6 -6
  19. package/dist/components/JsonViewer/components/Cell.js.map +1 -1
  20. package/dist/components/JsonViewer/components/FullValueDialog.js +5 -1
  21. package/dist/components/JsonViewer/components/FullValueDialog.js.map +1 -1
  22. package/dist/components/MemoryViewer/MemoryViewer.js +1 -1
  23. package/dist/components/ProgressViewer/ProgressViewer.js +1 -1
  24. package/dist/components/ShortyString/ShortyString.scss +1 -1
  25. package/dist/components/TableWithControlsLayout/TableWithControlsLayout.scss +1 -1
  26. package/dist/components/Tags/Tags.js +2 -1
  27. package/dist/components/Tags/Tags.js.map +1 -1
  28. package/dist/components/VDisk/utils.d.ts +2 -2
  29. package/dist/components/VDisk/utils.js +12 -13
  30. package/dist/components/VDisk/utils.js.map +1 -1
  31. package/dist/components/VDiskInfo/VDiskInfo.js +5 -1
  32. package/dist/components/VDiskInfo/VDiskInfo.js.map +1 -1
  33. package/dist/components/VDiskPopup/VDiskPopup.js +15 -12
  34. package/dist/components/VDiskPopup/VDiskPopup.js.map +1 -1
  35. package/dist/containers/AppWithClusters/AppWithClusters.d.ts +1 -5
  36. package/dist/containers/AppWithClusters/AppWithClusters.js +4 -5
  37. package/dist/containers/AppWithClusters/AppWithClusters.js.map +1 -1
  38. package/dist/containers/AppWithClusters/ExtendedCluster/ExtendedCluster.d.ts +2 -1
  39. package/dist/containers/AppWithClusters/ExtendedCluster/ExtendedCluster.js.map +1 -1
  40. package/dist/containers/AppWithClusters/ExtendedTenant/ExtendedTenant.d.ts +2 -1
  41. package/dist/containers/AppWithClusters/ExtendedTenant/ExtendedTenant.js.map +1 -1
  42. package/dist/containers/Cluster/ClusterInfo/ClusterInfo.js +3 -3
  43. package/dist/containers/Cluster/ClusterInfo/ClusterInfo.scss +2 -0
  44. package/dist/containers/Cluster/ClusterInfo/components/DiskGroupsStatsBars/DiskGroupsStats.js +3 -3
  45. package/dist/containers/Cluster/ClusterInfo/components/DiskGroupsStatsBars/DiskGroupsStats.js.map +1 -1
  46. package/dist/containers/Cluster/ClusterInfo/components/DiskGroupsStatsBars/DiskGroupsStats.scss +6 -1
  47. package/dist/containers/Cluster/ClusterInfo/utils/utils.js +3 -3
  48. package/dist/containers/Cluster/ClusterInfo/utils/utils.js.map +1 -1
  49. package/dist/containers/Node/Node.js +1 -1
  50. package/dist/containers/Node/Node.js.map +1 -1
  51. package/dist/containers/Operations/constants.js +1 -0
  52. package/dist/containers/Operations/constants.js.map +1 -1
  53. package/dist/containers/Operations/i18n/en.json +1 -0
  54. package/dist/containers/Operations/i18n/index.d.ts +1 -1
  55. package/dist/containers/Operations/useOperationsQueryParams.js +1 -1
  56. package/dist/containers/Operations/useOperationsQueryParams.js.map +1 -1
  57. package/dist/containers/PDiskPage/PDiskSpaceDistribution/PDiskSpaceDistribution.js +1 -1
  58. package/dist/containers/PDiskPage/PDiskSpaceDistribution/PDiskSpaceDistribution.js.map +1 -1
  59. package/dist/containers/Tablets/Tablets.d.ts +6 -1
  60. package/dist/containers/Tablets/Tablets.js +4 -3
  61. package/dist/containers/Tablets/Tablets.js.map +1 -1
  62. package/dist/containers/Tenant/Diagnostics/Describe/Describe.d.ts +1 -3
  63. package/dist/containers/Tenant/Diagnostics/Describe/Describe.js +9 -33
  64. package/dist/containers/Tenant/Diagnostics/Describe/Describe.js.map +1 -1
  65. package/dist/containers/Tenant/Diagnostics/Diagnostics.d.ts +2 -1
  66. package/dist/containers/Tenant/Diagnostics/Diagnostics.js +2 -2
  67. package/dist/containers/Tenant/Diagnostics/Diagnostics.js.map +1 -1
  68. package/dist/containers/Tenant/Diagnostics/DiagnosticsPages.d.ts +2 -2
  69. package/dist/containers/Tenant/Diagnostics/DiagnosticsPages.js +13 -7
  70. package/dist/containers/Tenant/Diagnostics/DiagnosticsPages.js.map +1 -1
  71. package/dist/containers/Tenant/Diagnostics/Overview/ChangefeedInfo/ChangefeedInfo.d.ts +1 -1
  72. package/dist/containers/Tenant/Diagnostics/Overview/ChangefeedInfo/ChangefeedInfo.js +7 -10
  73. package/dist/containers/Tenant/Diagnostics/Overview/ChangefeedInfo/ChangefeedInfo.js.map +1 -1
  74. package/dist/containers/Tenant/Diagnostics/Overview/Overview.js +8 -32
  75. package/dist/containers/Tenant/Diagnostics/Overview/Overview.js.map +1 -1
  76. package/dist/containers/Tenant/Diagnostics/Overview/TopicInfo/TopicInfo.js +10 -1
  77. package/dist/containers/Tenant/Diagnostics/Overview/TopicInfo/TopicInfo.js.map +1 -1
  78. package/dist/containers/Tenant/Diagnostics/Partitions/PartitionsControls/PartitionsControls.js +1 -1
  79. package/dist/containers/Tenant/Diagnostics/Partitions/PartitionsControls/PartitionsControls.js.map +1 -1
  80. package/dist/containers/Tenant/Diagnostics/Partitions/columns/columns.js +1 -1
  81. package/dist/containers/Tenant/Diagnostics/Partitions/columns/columns.js.map +1 -1
  82. package/dist/containers/Tenant/Diagnostics/TopQueries/QueryDetails/NotFoundContainer.d.ts +5 -0
  83. package/dist/containers/Tenant/Diagnostics/TopQueries/QueryDetails/NotFoundContainer.js +10 -0
  84. package/dist/containers/Tenant/Diagnostics/TopQueries/QueryDetails/NotFoundContainer.js.map +1 -0
  85. package/dist/containers/Tenant/Diagnostics/TopQueries/QueryDetails/QueryDetails.d.ts +9 -0
  86. package/dist/containers/Tenant/Diagnostics/TopQueries/QueryDetails/QueryDetails.js +13 -0
  87. package/dist/containers/Tenant/Diagnostics/TopQueries/QueryDetails/QueryDetails.js.map +1 -0
  88. package/dist/containers/Tenant/Diagnostics/TopQueries/QueryDetails/QueryDetails.scss +43 -0
  89. package/dist/containers/Tenant/Diagnostics/TopQueries/QueryDetails/QueryDetailsDrawerContent.d.ts +7 -0
  90. package/dist/containers/Tenant/Diagnostics/TopQueries/QueryDetails/QueryDetailsDrawerContent.js +35 -0
  91. package/dist/containers/Tenant/Diagnostics/TopQueries/QueryDetails/QueryDetailsDrawerContent.js.map +1 -0
  92. package/dist/containers/Tenant/Diagnostics/TopQueries/RunningQueriesData.d.ts +1 -2
  93. package/dist/containers/Tenant/Diagnostics/TopQueries/RunningQueriesData.js +28 -7
  94. package/dist/containers/Tenant/Diagnostics/TopQueries/RunningQueriesData.js.map +1 -1
  95. package/dist/containers/Tenant/Diagnostics/TopQueries/TopQueries.js +5 -25
  96. package/dist/containers/Tenant/Diagnostics/TopQueries/TopQueries.js.map +1 -1
  97. package/dist/containers/Tenant/Diagnostics/TopQueries/TopQueries.scss +29 -0
  98. package/dist/containers/Tenant/Diagnostics/TopQueries/TopQueriesData.d.ts +1 -2
  99. package/dist/containers/Tenant/Diagnostics/TopQueries/TopQueriesData.js +37 -8
  100. package/dist/containers/Tenant/Diagnostics/TopQueries/TopQueriesData.js.map +1 -1
  101. package/dist/containers/Tenant/Diagnostics/TopQueries/hooks/useSetSelectedTopQueryRowFromParams.d.ts +8 -0
  102. package/dist/containers/Tenant/Diagnostics/TopQueries/hooks/useSetSelectedTopQueryRowFromParams.js +33 -0
  103. package/dist/containers/Tenant/Diagnostics/TopQueries/hooks/useSetSelectedTopQueryRowFromParams.js.map +1 -0
  104. package/dist/containers/Tenant/Diagnostics/TopQueries/i18n/en.json +7 -1
  105. package/dist/containers/Tenant/Diagnostics/TopQueries/i18n/index.d.ts +1 -1
  106. package/dist/containers/Tenant/Diagnostics/TopQueries/utils/generateShareableUrl.d.ts +7 -0
  107. package/dist/containers/Tenant/Diagnostics/TopQueries/utils/generateShareableUrl.js +20 -0
  108. package/dist/containers/Tenant/Diagnostics/TopQueries/utils/generateShareableUrl.js.map +1 -0
  109. package/dist/containers/Tenant/Diagnostics/TopQueries/utils/getTopQueryRowQueryParams.d.ts +8 -0
  110. package/dist/containers/Tenant/Diagnostics/TopQueries/utils/getTopQueryRowQueryParams.js +16 -0
  111. package/dist/containers/Tenant/Diagnostics/TopQueries/utils/getTopQueryRowQueryParams.js.map +1 -0
  112. package/dist/containers/Tenant/Diagnostics/TopQueries/utils.d.ts +3 -0
  113. package/dist/containers/Tenant/Diagnostics/TopQueries/utils.js +69 -0
  114. package/dist/containers/Tenant/Diagnostics/TopQueries/utils.js.map +1 -1
  115. package/dist/containers/Tenant/Diagnostics/TopicData/TopicData.js +67 -24
  116. package/dist/containers/Tenant/Diagnostics/TopicData/TopicData.js.map +1 -1
  117. package/dist/containers/Tenant/Diagnostics/TopicData/TopicData.scss +8 -2
  118. package/dist/containers/Tenant/Diagnostics/TopicData/TopicDataControls/TopicDataControls.d.ts +2 -1
  119. package/dist/containers/Tenant/Diagnostics/TopicData/TopicDataControls/TopicDataControls.js +15 -7
  120. package/dist/containers/Tenant/Diagnostics/TopicData/TopicDataControls/TopicDataControls.js.map +1 -1
  121. package/dist/containers/Tenant/Diagnostics/TopicData/TopicMessageDetails/TopicMessageDetails.d.ts +7 -0
  122. package/dist/containers/Tenant/Diagnostics/TopicData/TopicMessageDetails/TopicMessageDetails.js +82 -0
  123. package/dist/containers/Tenant/Diagnostics/TopicData/TopicMessageDetails/TopicMessageDetails.js.map +1 -0
  124. package/dist/containers/Tenant/Diagnostics/TopicData/TopicMessageDetails/TopicMessageDetails.scss +53 -0
  125. package/dist/containers/Tenant/Diagnostics/TopicData/TopicMessageDetails/components/TopicDataSection.d.ts +8 -0
  126. package/dist/containers/Tenant/Diagnostics/TopicData/TopicMessageDetails/components/TopicDataSection.js +7 -0
  127. package/dist/containers/Tenant/Diagnostics/TopicData/TopicMessageDetails/components/TopicDataSection.js.map +1 -0
  128. package/dist/containers/Tenant/Diagnostics/TopicData/TopicMessageDetails/components/TopicMessage.d.ts +7 -0
  129. package/dist/containers/Tenant/Diagnostics/TopicData/TopicMessageDetails/components/TopicMessage.js +65 -0
  130. package/dist/containers/Tenant/Diagnostics/TopicData/TopicMessageDetails/components/TopicMessage.js.map +1 -0
  131. package/dist/containers/Tenant/Diagnostics/TopicData/TopicMessageDetails/components/TopicMessageGeneralInfo.d.ts +6 -0
  132. package/dist/containers/Tenant/Diagnostics/TopicData/TopicMessageDetails/components/TopicMessageGeneralInfo.js +39 -0
  133. package/dist/containers/Tenant/Diagnostics/TopicData/TopicMessageDetails/components/TopicMessageGeneralInfo.js.map +1 -0
  134. package/dist/containers/Tenant/Diagnostics/TopicData/TopicMessageDetails/components/TopicMessageMetadata.d.ts +6 -0
  135. package/dist/containers/Tenant/Diagnostics/TopicData/TopicMessageDetails/components/TopicMessageMetadata.js +9 -0
  136. package/dist/containers/Tenant/Diagnostics/TopicData/TopicMessageDetails/components/TopicMessageMetadata.js.map +1 -0
  137. package/dist/containers/Tenant/Diagnostics/TopicData/TopicMessageDetails/components/fields.d.ts +10 -0
  138. package/dist/containers/Tenant/Diagnostics/TopicData/TopicMessageDetails/components/fields.js +67 -0
  139. package/dist/containers/Tenant/Diagnostics/TopicData/TopicMessageDetails/components/fields.js.map +1 -0
  140. package/dist/containers/Tenant/Diagnostics/TopicData/TopicMessageDetails/shared.d.ts +2 -0
  141. package/dist/containers/Tenant/Diagnostics/TopicData/TopicMessageDetails/shared.js +4 -0
  142. package/dist/containers/Tenant/Diagnostics/TopicData/TopicMessageDetails/shared.js.map +1 -0
  143. package/dist/containers/Tenant/Diagnostics/TopicData/__test__/getData.test.js +116 -42
  144. package/dist/containers/Tenant/Diagnostics/TopicData/__test__/getData.test.js.map +1 -1
  145. package/dist/containers/Tenant/Diagnostics/TopicData/columns/Columns.scss +25 -4
  146. package/dist/containers/Tenant/Diagnostics/TopicData/columns/columns.d.ts +16 -0
  147. package/dist/containers/Tenant/Diagnostics/TopicData/columns/columns.js +153 -117
  148. package/dist/containers/Tenant/Diagnostics/TopicData/columns/columns.js.map +1 -1
  149. package/dist/containers/Tenant/Diagnostics/TopicData/getData.d.ts +6 -4
  150. package/dist/containers/Tenant/Diagnostics/TopicData/getData.js +30 -15
  151. package/dist/containers/Tenant/Diagnostics/TopicData/getData.js.map +1 -1
  152. package/dist/containers/Tenant/Diagnostics/TopicData/i18n/en.json +10 -2
  153. package/dist/containers/Tenant/Diagnostics/TopicData/i18n/index.d.ts +1 -1
  154. package/dist/containers/Tenant/Diagnostics/TopicData/useTopicDataQueryParams.d.ts +2 -0
  155. package/dist/containers/Tenant/Diagnostics/TopicData/useTopicDataQueryParams.js +7 -1
  156. package/dist/containers/Tenant/Diagnostics/TopicData/useTopicDataQueryParams.js.map +1 -1
  157. package/dist/containers/Tenant/Diagnostics/TopicData/utils/constants.js +3 -0
  158. package/dist/containers/Tenant/Diagnostics/TopicData/utils/constants.js.map +1 -1
  159. package/dist/containers/Tenant/Diagnostics/TopicData/utils/types.d.ts +1 -0
  160. package/dist/containers/Tenant/Diagnostics/TopicData/utils/types.js +1 -0
  161. package/dist/containers/Tenant/Diagnostics/TopicData/utils/types.js.map +1 -1
  162. package/dist/containers/Tenant/ObjectGeneral/ObjectGeneral.d.ts +2 -1
  163. package/dist/containers/Tenant/ObjectGeneral/ObjectGeneral.js +2 -2
  164. package/dist/containers/Tenant/ObjectGeneral/ObjectGeneral.js.map +1 -1
  165. package/dist/containers/Tenant/Query/QueryResult/QueryResultViewer.js +1 -1
  166. package/dist/containers/Tenant/Query/QueryResult/QueryResultViewer.js.map +1 -1
  167. package/dist/containers/Tenant/Tenant.js +1 -1
  168. package/dist/containers/Tenant/Tenant.js.map +1 -1
  169. package/dist/containers/Tenant/TenantPages.d.ts +1 -0
  170. package/dist/containers/Tenant/TenantPages.js.map +1 -1
  171. package/dist/containers/Tenant/utils/schema.d.ts +0 -1
  172. package/dist/containers/Tenant/utils/schema.js +2 -22
  173. package/dist/containers/Tenant/utils/schema.js.map +1 -1
  174. package/dist/containers/Tenants/Tenants.js +1 -1
  175. package/dist/containers/Tenants/Tenants.js.map +1 -1
  176. package/dist/containers/VDiskPage/VDiskPage.js +19 -3
  177. package/dist/containers/VDiskPage/VDiskPage.js.map +1 -1
  178. package/dist/routes.d.ts +9 -1
  179. package/dist/routes.js +2 -2
  180. package/dist/routes.js.map +1 -1
  181. package/dist/services/api/viewer.d.ts +2 -5
  182. package/dist/services/api/viewer.js +2 -1
  183. package/dist/services/api/viewer.js.map +1 -1
  184. package/dist/store/reducers/capabilities/hooks.js +1 -1
  185. package/dist/store/reducers/overview/overview.d.ts +0 -36
  186. package/dist/store/reducers/overview/overview.js +0 -55
  187. package/dist/store/reducers/overview/overview.js.map +1 -1
  188. package/dist/store/reducers/partitions/types.d.ts +1 -1
  189. package/dist/store/reducers/storage/prepareGroupsDisks.js +6 -0
  190. package/dist/store/reducers/storage/prepareGroupsDisks.js.map +1 -1
  191. package/dist/store/reducers/topic.d.ts +1 -1
  192. package/dist/store/reducers/topic.js +1 -1
  193. package/dist/store/reducers/topic.js.map +1 -1
  194. package/dist/store/state-url-mapping.d.ts +1 -0
  195. package/dist/store/state-url-mapping.js +1 -0
  196. package/dist/store/state-url-mapping.js.map +1 -1
  197. package/dist/types/api/operations.d.ts +1 -1
  198. package/dist/types/api/topic.d.ts +1 -0
  199. package/dist/types/store/tablets.d.ts +1 -0
  200. package/dist/uiFactory/types.d.ts +5 -0
  201. package/dist/uiFactory/uiFactory.js +5 -1
  202. package/dist/uiFactory/uiFactory.js.map +1 -1
  203. package/dist/utils/disks/__test__/prepareDisks.test.js +2 -2
  204. package/dist/utils/disks/prepareDisks.js +2 -2
  205. package/dist/utils/downloadFile.d.ts +1 -0
  206. package/dist/utils/downloadFile.js +8 -4
  207. package/dist/utils/downloadFile.js.map +1 -1
  208. package/dist/utils/logs.d.ts +1 -3
  209. package/dist/utils/logs.js +1 -23
  210. package/dist/utils/logs.js.map +1 -1
  211. package/dist/utils/monitoring.d.ts +0 -5
  212. package/dist/utils/utils.d.ts +1 -0
  213. package/dist/utils/utils.js +1 -1
  214. package/dist/utils/utils.js.map +1 -1
  215. package/package.json +1 -1
  216. package/dist/utils/__test__/logs.test.d.ts +0 -1
  217. package/dist/utils/__test__/logs.test.js +0 -36
  218. package/dist/utils/__test__/logs.test.js.map +0 -1
@@ -3,6 +3,9 @@ import React from 'react';
3
3
  import { NoSearchResults } from '@gravity-ui/illustrations';
4
4
  import { skipToken } from '@reduxjs/toolkit/query';
5
5
  import { isNil } from 'lodash';
6
+ import { DrawerWrapper } from '../../../../components/Drawer';
7
+ import EnableFullscreenButton from '../../../../components/EnableFullscreenButton/EnableFullscreenButton';
8
+ import Fullscreen from '../../../../components/Fullscreen/Fullscreen';
6
9
  import { DEFAULT_TABLE_ROW_HEIGHT, ResizeablePaginatedTable, } from '../../../../components/PaginatedTable';
7
10
  import { partitionsApi } from '../../../../store/reducers/partitions/partitions';
8
11
  import { topicApi } from '../../../../store/reducers/topic';
@@ -12,12 +15,15 @@ import { renderPaginatedTableErrorMessage } from '../../../../utils/renderPagina
12
15
  import { safeParseNumber } from '../../../../utils/utils';
13
16
  import { EmptyFilter } from '../../../Storage/EmptyFilter/EmptyFilter';
14
17
  import { TopicDataControls } from './TopicDataControls/TopicDataControls';
18
+ import { TopicMessageDetails } from './TopicMessageDetails/TopicMessageDetails';
15
19
  import { DEFAULT_TOPIC_DATA_COLUMNS, REQUIRED_TOPIC_DATA_COLUMNS, getAllColumns, } from './columns/columns';
16
20
  import { generateTopicDataGetter } from './getData';
17
21
  import i18n from './i18n';
18
22
  import { useTopicDataQueryParams } from './useTopicDataQueryParams';
19
23
  import { TOPIC_DATA_COLUMNS_TITLES, TOPIC_DATA_COLUMNS_WIDTH_LS_KEY, TOPIC_DATA_FETCH_LIMIT, TOPIC_DATA_SELECTED_COLUMNS_LS_KEY, b, } from './utils/constants';
20
24
  import './TopicData.scss';
25
+ const PAGINATED_TABLE_LIMIT = 50000;
26
+ const columns = getAllColumns();
21
27
  export function TopicData({ parentRef, path, database }) {
22
28
  const [autoRefreshInterval] = useAutoRefreshInterval();
23
29
  const [startOffset, setStartOffset] = React.useState();
@@ -25,10 +31,11 @@ export function TopicData({ parentRef, path, database }) {
25
31
  const [controlsKey, setControlsKey] = React.useState(0);
26
32
  const [emptyData, setEmptyData] = React.useState(false);
27
33
  const [baseOffset, setBaseOffset] = React.useState();
34
+ const [truncated, setTruncated] = React.useState(false);
28
35
  const [baseEndOffset, setBaseEndOffset] = React.useState();
29
36
  const startRef = React.useRef();
30
37
  startRef.current = startOffset;
31
- const { selectedPartition, selectedOffset, startTimestamp, topicDataFilter, handleSelectedOffsetChange, handleStartTimestampChange, handleSelectedPartitionChange, } = useTopicDataQueryParams();
38
+ const { selectedPartition, selectedOffset, startTimestamp, topicDataFilter, activeOffset, handleSelectedOffsetChange, handleStartTimestampChange, handleSelectedPartitionChange, handleActiveOffsetChange, } = useTopicDataQueryParams();
32
39
  React.useEffect(() => {
33
40
  return () => {
34
41
  handleSelectedPartitionChange(undefined);
@@ -54,20 +61,30 @@ export function TopicData({ parentRef, path, database }) {
54
61
  React.useEffect(() => {
55
62
  const selectedPartitionData = partitions === null || partitions === void 0 ? void 0 : partitions.find(({ partitionId }) => partitionId === selectedPartition);
56
63
  if (selectedPartitionData) {
57
- if (!baseOffset) {
58
- setBaseOffset(safeParseNumber(selectedPartitionData.startOffset));
59
- }
64
+ let endOffset = baseEndOffset;
60
65
  if (!baseEndOffset) {
61
- setBaseEndOffset(safeParseNumber(selectedPartitionData.endOffset));
66
+ endOffset = safeParseNumber(selectedPartitionData.endOffset);
67
+ setBaseEndOffset(endOffset);
68
+ }
69
+ if (!baseOffset) {
70
+ const partitionStartOffset = safeParseNumber(selectedPartitionData.startOffset);
71
+ const newStartOffset = Math.max((endOffset !== null && endOffset !== void 0 ? endOffset : 0) - PAGINATED_TABLE_LIMIT, partitionStartOffset);
72
+ setTruncated(newStartOffset !== partitionStartOffset);
73
+ setBaseOffset(newStartOffset);
62
74
  }
63
75
  }
64
76
  }, [selectedPartition, partitions, baseOffset, baseEndOffset, startOffset, endOffset]);
65
77
  React.useEffect(() => {
66
78
  if (partitions && partitions.length && isNil(selectedPartition)) {
67
- handleSelectedPartitionChange(partitions[0].partitionId);
79
+ const firstPartitionId = partitions[0].partitionId;
80
+ handleSelectedPartitionChange(isNil(firstPartitionId) ? undefined : String(firstPartitionId));
68
81
  }
69
82
  }, [partitions, selectedPartition, handleSelectedPartitionChange]);
70
- const { columnsToShow, columnsToSelect, setColumns } = useSelectedColumns(getAllColumns(), TOPIC_DATA_SELECTED_COLUMNS_LS_KEY, TOPIC_DATA_COLUMNS_TITLES, DEFAULT_TOPIC_DATA_COLUMNS, REQUIRED_TOPIC_DATA_COLUMNS);
83
+ const { columnsToShow, columnsToSelect, setColumns } = useSelectedColumns(columns, TOPIC_DATA_SELECTED_COLUMNS_LS_KEY, TOPIC_DATA_COLUMNS_TITLES, DEFAULT_TOPIC_DATA_COLUMNS, REQUIRED_TOPIC_DATA_COLUMNS);
84
+ const setBoundOffsets = React.useCallback(({ startOffset, endOffset }) => {
85
+ setStartOffset(startOffset);
86
+ setEndOffset(endOffset);
87
+ }, []);
71
88
  React.useEffect(() => {
72
89
  var _a, _b;
73
90
  //values should be recalculated only when data is fetched
@@ -81,10 +98,12 @@ export function TopicData({ parentRef, path, database }) {
81
98
  setEmptyData(true);
82
99
  }
83
100
  if (currentData) {
84
- setStartOffset(safeParseNumber(currentData.StartOffset));
85
- setEndOffset(safeParseNumber(currentData.EndOffset));
101
+ setBoundOffsets({
102
+ startOffset: safeParseNumber(currentData.StartOffset),
103
+ endOffset: safeParseNumber(currentData.EndOffset),
104
+ });
86
105
  }
87
- }, [isFetching, currentData, error]);
106
+ }, [isFetching, currentData, error, setBoundOffsets]);
88
107
  const tableFilters = React.useMemo(() => ({
89
108
  path,
90
109
  database,
@@ -107,34 +126,58 @@ export function TopicData({ parentRef, path, database }) {
107
126
  behavior: 'instant',
108
127
  });
109
128
  }, [baseOffset, parentRef]);
129
+ //this variable is used to scroll to active offset the very first time on open page
130
+ const initialActiveOffset = React.useRef(activeOffset);
110
131
  React.useEffect(() => {
111
132
  if (isFetching) {
112
133
  return;
113
134
  }
114
- const messages = currentData === null || currentData === void 0 ? void 0 : currentData.Messages;
115
- if (messages === null || messages === void 0 ? void 0 : messages.length) {
116
- const messageOffset = safeParseNumber(messages[0].Offset);
117
- //scroll when table is already rendered and calculated it's state
118
- setTimeout(() => {
119
- scrollToOffset(messageOffset);
120
- }, 0);
135
+ let currentOffset;
136
+ if (isNil(initialActiveOffset.current)) {
137
+ const messages = currentData === null || currentData === void 0 ? void 0 : currentData.Messages;
138
+ if (messages === null || messages === void 0 ? void 0 : messages.length) {
139
+ currentOffset = safeParseNumber(messages[0].Offset);
140
+ }
141
+ }
142
+ else {
143
+ currentOffset = safeParseNumber(initialActiveOffset.current);
144
+ initialActiveOffset.current = undefined;
145
+ }
146
+ if (!isNil(currentOffset)) {
147
+ scrollToOffset(currentOffset);
121
148
  }
122
149
  }, [currentData, isFetching, scrollToOffset]);
123
150
  const renderControls = () => {
124
151
  return (_jsx(TopicDataControls
125
152
  // component has uncontrolled components inside, so it should be rerendered on filters reset
126
- , { columnsToSelect: columnsToSelect, handleSelectedColumnsUpdate: setColumns, partitions: partitions, partitionsLoading: partitionsLoading, partitionsError: partitionsError, startOffset: startOffset, endOffset: endOffset, scrollToOffset: scrollToOffset }, controlsKey));
153
+ , { columnsToSelect: columnsToSelect, handleSelectedColumnsUpdate: setColumns, partitions: partitions, partitionsLoading: partitionsLoading, partitionsError: partitionsError, startOffset: startOffset, endOffset: endOffset, truncatedData: truncated, scrollToOffset: scrollToOffset }, controlsKey));
127
154
  };
128
155
  const renderEmptyDataMessage = () => {
129
156
  const hasFilters = selectedOffset || startTimestamp;
130
157
  return (_jsx(EmptyFilter, { title: i18n('label_nothing-found'), message: i18n('description_nothing-found'), onShowAll: hasFilters ? resetFilters : undefined, showAll: i18n('action_show-all'), image: _jsx(NoSearchResults, { width: 230, height: 230 }) }));
131
158
  };
132
- const getTopicData = React.useMemo(() => generateTopicDataGetter({ setEndOffset, setStartOffset, baseOffset }), [baseOffset]);
159
+ const getTopicData = React.useMemo(() => generateTopicDataGetter({ setBoundOffsets, baseOffset }), [baseOffset, setBoundOffsets]);
160
+ const closeDrawer = React.useCallback(() => {
161
+ handleActiveOffsetChange(undefined);
162
+ }, [handleActiveOffsetChange]);
163
+ const renderDrawerContent = React.useCallback(() => {
164
+ return (_jsx(Fullscreen, { children: _jsx(TopicMessageDetails, { database: database, path: path }) }));
165
+ }, [database, path]);
133
166
  return (!isNil(baseOffset) &&
134
- !isNil(baseEndOffset) && (_jsx(ResizeablePaginatedTable, { columnsWidthLSKey: TOPIC_DATA_COLUMNS_WIDTH_LS_KEY, parentRef: parentRef, columns: columnsToShow, fetchData: getTopicData, initialEntitiesCount: baseEndOffset - baseOffset, limit: TOPIC_DATA_FETCH_LIMIT, renderControls: renderControls, renderErrorMessage: renderPaginatedTableErrorMessage, renderEmptyDataMessage: renderEmptyDataMessage, filters: tableFilters, tableName: "topicData", rowHeight: DEFAULT_TABLE_ROW_HEIGHT, keepCache: false, getRowClassName: (row) => {
135
- return b('row', {
136
- active: Boolean(selectedOffset && String(row.Offset) === selectedOffset),
137
- });
138
- } })));
167
+ !isNil(baseEndOffset) && (_jsx(DrawerWrapper, { isDrawerVisible: !isNil(activeOffset), onCloseDrawer: closeDrawer, renderDrawerContent: renderDrawerContent, drawerId: "topic-data-details", storageKey: "topic-data-details-drawer-width", detectClickOutside: true, isPercentageWidth: true, drawerControls: [
168
+ { type: 'copyLink', link: window.location.href },
169
+ {
170
+ type: 'custom',
171
+ node: _jsx(EnableFullscreenButton, { disabled: Boolean(error), view: "flat" }),
172
+ key: 'fullscreen',
173
+ },
174
+ { type: 'close' },
175
+ ], title: i18n('label_message'), headerClassName: b('drawer-header'), children: _jsx(ResizeablePaginatedTable, { columnsWidthLSKey: TOPIC_DATA_COLUMNS_WIDTH_LS_KEY, parentRef: parentRef, columns: columnsToShow, fetchData: getTopicData, initialEntitiesCount: baseEndOffset - baseOffset, limit: TOPIC_DATA_FETCH_LIMIT, renderControls: renderControls, renderErrorMessage: renderPaginatedTableErrorMessage, renderEmptyDataMessage: renderEmptyDataMessage, filters: tableFilters, tableName: "topicData", rowHeight: DEFAULT_TABLE_ROW_HEIGHT, keepCache: false, getRowClassName: (row) => {
176
+ return b('row', {
177
+ active: Boolean(String(row.Offset) === selectedOffset ||
178
+ String(row.Offset) === activeOffset),
179
+ removed: row.removed,
180
+ });
181
+ } }) })));
139
182
  }
140
183
  //# sourceMappingURL=TopicData.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TopicData.js","sourceRoot":"","sources":["../../../../../src/containers/Tenant/Diagnostics/TopicData/TopicData.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TopicData.js","sourceRoot":"","sources":["../../../../../src/containers/Tenant/Diagnostics/TopicData/TopicData.tsx"],"names":[],"mappings":"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"}
@@ -12,8 +12,8 @@
12
12
  &__date-picker {
13
13
  min-width: 265px;
14
14
  }
15
- &__column-setup {
16
- margin-left: auto;
15
+ &__offset-input {
16
+ width: max-content;
17
17
  }
18
18
 
19
19
  &__row {
@@ -24,5 +24,11 @@
24
24
  background: var(--g-color-base-selection-hover) !important;
25
25
  }
26
26
  }
27
+ &_removed {
28
+ color: var(--g-color-text-secondary);
29
+ }
30
+ }
31
+ &__scroll-button {
32
+ margin-right: var(--g-spacing-half);
27
33
  }
28
34
  }
@@ -8,7 +8,8 @@ interface TopicDataControlsProps {
8
8
  partitionsError: unknown;
9
9
  startOffset?: number;
10
10
  endOffset?: number;
11
+ truncatedData?: boolean;
11
12
  scrollToOffset: (offset: number) => void;
12
13
  }
13
- export declare function TopicDataControls({ columnsToSelect, handleSelectedColumnsUpdate, startOffset, endOffset, partitions, partitionsLoading, partitionsError, scrollToOffset, }: TopicDataControlsProps): import("react/jsx-runtime").JSX.Element;
14
+ export declare function TopicDataControls({ columnsToSelect, handleSelectedColumnsUpdate, startOffset, endOffset, partitions, partitionsLoading, partitionsError, scrollToOffset, truncatedData, }: TopicDataControlsProps): import("react/jsx-runtime").JSX.Element;
14
15
  export {};
@@ -3,7 +3,7 @@ import React from 'react';
3
3
  import { RelativeDatePicker } from '@gravity-ui/date-components';
4
4
  import { dateTimeParse } from '@gravity-ui/date-utils';
5
5
  import { CircleChevronDownFill } from '@gravity-ui/icons';
6
- import { ActionTooltip, Button, Icon, RadioButton, Select, TableColumnSetup, Text, } from '@gravity-ui/uikit';
6
+ import { ActionTooltip, Button, Flex, HelpMark, Icon, RadioButton, Select, TableColumnSetup, Text, } from '@gravity-ui/uikit';
7
7
  import { isNil } from 'lodash';
8
8
  import { DebouncedInput } from '../../../../../components/DebouncedInput/DebouncedTextInput';
9
9
  import { formatNumber } from '../../../../../utils/dataFormatters/dataFormatters';
@@ -13,11 +13,11 @@ import i18n from '../i18n';
13
13
  import { useTopicDataQueryParams } from '../useTopicDataQueryParams';
14
14
  import { b } from '../utils/constants';
15
15
  import { TopicDataFilterValues } from '../utils/types';
16
- export function TopicDataControls({ columnsToSelect, handleSelectedColumnsUpdate, startOffset, endOffset, partitions, partitionsLoading, partitionsError, scrollToOffset, }) {
16
+ export function TopicDataControls({ columnsToSelect, handleSelectedColumnsUpdate, startOffset, endOffset, partitions, partitionsLoading, partitionsError, scrollToOffset, truncatedData, }) {
17
17
  const { selectedPartition, handleSelectedPartitionChange: handleSelectedPartitionParamChange, handleSelectedOffsetChange, handleStartTimestampChange, } = useTopicDataQueryParams();
18
18
  const partitionsToSelect = partitions === null || partitions === void 0 ? void 0 : partitions.map(({ partitionId }) => ({
19
- content: partitionId,
20
- value: partitionId,
19
+ content: String(partitionId),
20
+ value: String(partitionId),
21
21
  }));
22
22
  const handleSelectedPartitionChange = React.useCallback((value) => {
23
23
  handleSelectedPartitionParamChange(value[0]);
@@ -28,10 +28,18 @@ export function TopicDataControls({ columnsToSelect, handleSelectedColumnsUpdate
28
28
  handleStartTimestampChange,
29
29
  handleSelectedOffsetChange,
30
30
  ]);
31
- return (_jsxs(React.Fragment, { children: [_jsx(Select, { className: b('partition-select'), label: i18n('label_partition-id'), options: partitionsToSelect, value: selectedPartition ? [selectedPartition] : undefined, onUpdate: handleSelectedPartitionChange, filterable: partitions && partitions.length > 5, disabled: !partitions || !partitions.length, errorPlacement: "inside", errorMessage: prepareErrorMessage(partitionsError), error: Boolean(partitionsError), loading: partitionsLoading }), _jsx(TopicDataStartControls, { scrollToOffset: scrollToOffset }), !isNil(startOffset) && !isNil(endOffset) && (_jsxs(Text, { color: "secondary", whiteSpace: "nowrap", children: [formatNumber(startOffset), "\u2014", formatNumber(endOffset - 1)] })), _jsx(TableColumnSetup, { className: b('column-setup'), popupWidth: 242, items: columnsToSelect, showStatus: true, onUpdate: handleSelectedColumnsUpdate, sortable: false })] }));
31
+ return (_jsxs(React.Fragment, { children: [_jsx(Select, { className: b('partition-select'), label: i18n('label_partition-id'), options: partitionsToSelect, value: selectedPartition ? [selectedPartition] : undefined, onUpdate: handleSelectedPartitionChange, filterable: partitions && partitions.length > 5, disabled: !partitions || !partitions.length, errorPlacement: "inside", errorMessage: prepareErrorMessage(partitionsError), error: Boolean(partitionsError), loading: partitionsLoading }), _jsx(TopicDataStartControls, { scrollToOffset: scrollToOffset }), !isNil(startOffset) && !isNil(endOffset) && (_jsxs(Flex, { gap: 1, children: [_jsxs(Text, { color: "secondary", whiteSpace: "nowrap", children: [formatNumber(startOffset), "\u2014", formatNumber(endOffset - 1)] }), truncatedData && _jsx(HelpMark, { children: i18n('description_last-messages') })] })), _jsx(TableColumnSetup, { popupWidth: 242, items: columnsToSelect, showStatus: true, onUpdate: handleSelectedColumnsUpdate, sortable: false })] }));
32
32
  }
33
33
  function TopicDataStartControls({ scrollToOffset }) {
34
- const { selectedOffset, startTimestamp, topicDataFilter, handleSelectedOffsetChange, handleStartTimestampChange, handleTopicDataFilterChange, } = useTopicDataQueryParams();
34
+ const { selectedOffset, startTimestamp, topicDataFilter, activeOffset, handleSelectedOffsetChange, handleStartTimestampChange, handleTopicDataFilterChange, } = useTopicDataQueryParams();
35
+ const inputRef = React.useRef(null);
36
+ const isDrawerVisible = !isNil(activeOffset);
37
+ React.useEffect(() => {
38
+ var _a;
39
+ if (isDrawerVisible) {
40
+ (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.blur();
41
+ }
42
+ }, [isDrawerVisible]);
35
43
  const onFilterChange = React.useCallback((value) => {
36
44
  if (value === 'TIMESTAMP') {
37
45
  handleSelectedOffsetChange(undefined);
@@ -59,7 +67,7 @@ function TopicDataStartControls({ scrollToOffset }) {
59
67
  handleStartTimestampChange(newValue);
60
68
  }, [handleStartTimestampChange]);
61
69
  const startDateTime = dateTimeParse(Number(startTimestamp));
62
- return (_jsxs(React.Fragment, { children: [_jsxs(RadioButton, { value: topicDataFilter, onUpdate: onFilterChange, children: [_jsx(RadioButton.Option, { value: "TIMESTAMP", children: TopicDataFilterValues.TIMESTAMP }), _jsx(RadioButton.Option, { value: "OFFSET", children: TopicDataFilterValues.OFFSET })] }), topicDataFilter === 'OFFSET' && (_jsx(DebouncedInput, { value: selectedOffset ? String(selectedOffset) : '', onUpdate: onStartOffsetChange, label: i18n('label_from'), placeholder: i18n('label_offset'), type: "number", debounce: 600, endContent: _jsx(ActionTooltip, { title: i18n('action_scroll-selected'), children: _jsx(Button, { disabled: isNil(selectedOffset) || selectedOffset === '', view: "flat-action", size: "xs", onClick: () => {
70
+ return (_jsxs(React.Fragment, { children: [_jsxs(RadioButton, { value: topicDataFilter, onUpdate: onFilterChange, children: [_jsx(RadioButton.Option, { value: "TIMESTAMP", children: TopicDataFilterValues.TIMESTAMP }), _jsx(RadioButton.Option, { value: "OFFSET", children: TopicDataFilterValues.OFFSET })] }), topicDataFilter === 'OFFSET' && (_jsx(DebouncedInput, { controlRef: inputRef, className: b('offset-input'), value: selectedOffset ? String(selectedOffset) : '', onUpdate: onStartOffsetChange, label: i18n('label_from'), placeholder: i18n('label_offset'), type: "number", debounce: 600, endContent: _jsx(ActionTooltip, { title: i18n('action_scroll-selected'), children: _jsx(Button, { disabled: isNil(selectedOffset) || selectedOffset === '', className: b('scroll-button'), view: "flat-action", size: "xs", onClick: () => {
63
71
  if (selectedOffset) {
64
72
  scrollToOffset(safeParseNumber(selectedOffset));
65
73
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TopicDataControls.js","sourceRoot":"","sources":["../../../../../../src/containers/Tenant/Diagnostics/TopicData/TopicDataControls/TopicDataControls.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TopicDataControls.js","sourceRoot":"","sources":["../../../../../../src/containers/Tenant/Diagnostics/TopicData/TopicDataControls/TopicDataControls.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import './TopicMessageDetails.scss';
2
+ interface TopicMessageDetailsProps {
3
+ database: string;
4
+ path: string;
5
+ }
6
+ export declare function TopicMessageDetails({ database, path }: TopicMessageDetailsProps): import("react/jsx-runtime").JSX.Element;
7
+ export {};
@@ -0,0 +1,82 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import { Flex, Icon, Text } from '@gravity-ui/uikit';
4
+ import { skipToken } from '@reduxjs/toolkit/query';
5
+ import { isNil } from 'lodash';
6
+ import { LoaderWrapper } from '../../../../../components/LoaderWrapper/LoaderWrapper';
7
+ import { topicApi } from '../../../../../store/reducers/topic';
8
+ import { isResponseError } from '../../../../../utils/response';
9
+ import { safeParseNumber } from '../../../../../utils/utils';
10
+ import i18n from '../i18n';
11
+ import { useTopicDataQueryParams } from '../useTopicDataQueryParams';
12
+ import { TopicMessage } from './components/TopicMessage';
13
+ import { TopicMessageGeneralInfo } from './components/TopicMessageGeneralInfo';
14
+ import { TopicMessageMetadata } from './components/TopicMessageMetadata';
15
+ import { MESSAGE_SIZE_LIMIT, b } from './shared';
16
+ import cryCatIcon from '../../../../../assets/icons/cry-cat.svg';
17
+ import './TopicMessageDetails.scss';
18
+ export function TopicMessageDetails({ database, path }) {
19
+ var _a;
20
+ const { selectedPartition, activeOffset } = useTopicDataQueryParams();
21
+ const queryParams = React.useMemo(() => {
22
+ if (isNil(selectedPartition) || isNil(activeOffset)) {
23
+ return skipToken;
24
+ }
25
+ const params = {
26
+ database,
27
+ path,
28
+ partition: selectedPartition,
29
+ limit: 1,
30
+ message_size_limit: MESSAGE_SIZE_LIMIT,
31
+ };
32
+ const parsedOffset = safeParseNumber(activeOffset);
33
+ params.offset = parsedOffset;
34
+ params.last_offset = parsedOffset + 1;
35
+ return params;
36
+ }, [selectedPartition, activeOffset, database, path]);
37
+ const { currentData, error, isFetching } = topicApi.useGetTopicDataQuery(queryParams);
38
+ const messageDetails = (_a = currentData === null || currentData === void 0 ? void 0 : currentData.Messages) === null || _a === void 0 ? void 0 : _a[0];
39
+ const renderMessageGeneralInfo = () => {
40
+ if (!messageDetails) {
41
+ return null;
42
+ }
43
+ return _jsx(TopicMessageGeneralInfo, { messageData: messageDetails });
44
+ };
45
+ const renderMessageMeta = () => {
46
+ const metadata = messageDetails === null || messageDetails === void 0 ? void 0 : messageDetails.MessageMetadata;
47
+ if (!metadata) {
48
+ return null;
49
+ }
50
+ return _jsx(TopicMessageMetadata, { data: metadata });
51
+ };
52
+ const renderMessage = () => {
53
+ const message = messageDetails === null || messageDetails === void 0 ? void 0 : messageDetails.Message;
54
+ if (!message) {
55
+ return null;
56
+ }
57
+ return (_jsx(TopicMessage, { message: message, offset: messageDetails.Offset, size: messageDetails.OriginalSize }));
58
+ };
59
+ const renderContent = () => {
60
+ var _a;
61
+ const responseError = isResponseError(error);
62
+ const notFoundError = responseError && error.status === 404;
63
+ const noMessages = currentData && !((_a = currentData.Messages) === null || _a === void 0 ? void 0 : _a.length);
64
+ const isEmpty = Boolean(noMessages || notFoundError);
65
+ if (isEmpty) {
66
+ return (_jsxs(Flex, { direction: "column", grow: "grow", alignItems: "center", justifyContent: "center", height: "100%", children: [_jsx(Text, { variant: "subheader-2", children: i18n('context_message-not-found', { offset: activeOffset }) }), _jsx(Icon, { data: cryCatIcon, size: 100 })] }));
67
+ }
68
+ else if (error) {
69
+ let text = i18n('context_get-data-error');
70
+ if (responseError && typeof error.data === 'string') {
71
+ text = error.data;
72
+ }
73
+ else if (responseError && error.statusText) {
74
+ text = error.statusText;
75
+ }
76
+ return (_jsx(Text, { color: "danger", variant: "body-2", children: text }));
77
+ }
78
+ return (_jsxs(Flex, { direction: "column", gap: 4, children: [renderMessageGeneralInfo(), renderMessageMeta(), renderMessage()] }));
79
+ };
80
+ return (_jsx(LoaderWrapper, { loading: isFetching, children: _jsx("div", { className: b(), children: renderContent() }) }));
81
+ }
82
+ //# sourceMappingURL=TopicMessageDetails.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TopicMessageDetails.js","sourceRoot":"","sources":["../../../../../../src/containers/Tenant/Diagnostics/TopicData/TopicMessageDetails/TopicMessageDetails.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ @use '../../../../../styles/mixins.scss';
2
+
3
+ .ydb-diagnostics-message-details {
4
+ width: 100%;
5
+ height: 100%;
6
+ padding: var(--g-spacing-4);
7
+
8
+ @include mixins.body-2-typography();
9
+
10
+ &__list {
11
+ --g-definition-list-item-gap: var(--g-spacing-1);
12
+ }
13
+ &__details {
14
+ padding-right: var(--g-spacing-4);
15
+ }
16
+ &__section {
17
+ border-radius: var(--g-border-radius-m) var(--g-border-radius-m) var(--g-border-radius-xs)
18
+ var(--g-border-radius-xs);
19
+ background-color: var(--code-background-color);
20
+ }
21
+ &__section-title-wrapper {
22
+ padding: var(--g-spacing-half) var(--g-spacing-2) var(--g-spacing-half) var(--g-spacing-3);
23
+
24
+ line-height: 28px;
25
+
26
+ border-bottom: 1px solid var(--g-color-line-generic);
27
+ }
28
+ &__section-content {
29
+ padding: var(--g-spacing-2) 0 0 0;
30
+ }
31
+ &__section-scroll-container {
32
+ overflow: auto;
33
+
34
+ max-height: 60vh;
35
+ padding: 0 var(--g-spacing-2) var(--g-spacing-3) var(--g-spacing-3);
36
+ scrollbar-width: thin;
37
+ scrollbar-color: var(--g-color-line-generic) transparent;
38
+ }
39
+ &__message-meta {
40
+ padding-right: var(--g-spacing-9);
41
+ }
42
+
43
+ &__json-viewer-toolbar {
44
+ background-color: var(--code-background-color);
45
+ }
46
+
47
+ &__string-message {
48
+ overflow: hidden;
49
+
50
+ white-space: pre-wrap;
51
+ word-break: break-all;
52
+ }
53
+ }
@@ -0,0 +1,8 @@
1
+ interface TopicDataSectionProps {
2
+ children: React.ReactNode;
3
+ title: React.ReactNode;
4
+ className?: string;
5
+ renderToolbar?: () => React.ReactNode;
6
+ }
7
+ export declare function TopicDataSection({ children, title, className, renderToolbar, }: TopicDataSectionProps): import("react/jsx-runtime").JSX.Element;
8
+ export {};
@@ -0,0 +1,7 @@
1
+ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
+ import { Flex } from '@gravity-ui/uikit';
3
+ import { b } from '../shared';
4
+ export function TopicDataSection({ children, title, className, renderToolbar, }) {
5
+ return (_jsxs(Flex, { direction: "column", className: b('section', className), children: [_jsxs(Flex, { className: b('section-title-wrapper'), justifyContent: "space-between", alignItems: "center", children: [title, renderToolbar === null || renderToolbar === void 0 ? void 0 : renderToolbar()] }), _jsx("div", { className: b('section-content'), children: _jsx("div", { className: b('section-scroll-container'), children: children }) })] }));
6
+ }
7
+ //# sourceMappingURL=TopicDataSection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TopicDataSection.js","sourceRoot":"","sources":["../../../../../../../src/containers/Tenant/Diagnostics/TopicData/TopicMessageDetails/components/TopicDataSection.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAEvC,OAAO,EAAC,CAAC,EAAC,MAAM,WAAW,CAAC;AAS5B,MAAM,UAAU,gBAAgB,CAAC,EAC7B,QAAQ,EACR,KAAK,EACL,SAAS,EACT,aAAa,GACO;IACpB,OAAO,CACH,MAAC,IAAI,IAAC,SAAS,EAAC,QAAQ,EAAC,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,aACvD,MAAC,IAAI,IACD,SAAS,EAAE,CAAC,CAAC,uBAAuB,CAAC,EACrC,cAAc,EAAC,eAAe,EAC9B,UAAU,EAAC,QAAQ,aAElB,KAAK,EACL,aAAa,aAAb,aAAa,uBAAb,aAAa,EAAI,IACf,EACP,cAAK,SAAS,EAAE,CAAC,CAAC,iBAAiB,CAAC,YAChC,cAAK,SAAS,EAAE,CAAC,CAAC,0BAA0B,CAAC,YAAG,QAAQ,GAAO,GAC7D,IACH,CACV,CAAC;AACN,CAAC"}
@@ -0,0 +1,7 @@
1
+ interface TopicMessageProps {
2
+ message: string;
3
+ offset?: string | number;
4
+ size?: number;
5
+ }
6
+ export declare function TopicMessage({ offset, size, message }: TopicMessageProps): import("react/jsx-runtime").JSX.Element;
7
+ export {};
@@ -0,0 +1,65 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import { ArrowDownToLine } from '@gravity-ui/icons';
4
+ import { ActionTooltip, Button, ClipboardButton, Flex, Icon, Text } from '@gravity-ui/uikit';
5
+ import { JsonViewer } from '../../../../../../components/JsonViewer/JsonViewer';
6
+ import { unipikaConvert } from '../../../../../../components/JsonViewer/unipika/unipika';
7
+ import ShortyString from '../../../../../../components/ShortyString/ShortyString';
8
+ import { createAndDownloadFile } from '../../../../../../utils/downloadFile';
9
+ import { useTypedSelector } from '../../../../../../utils/hooks';
10
+ import { bytesToMB, safeParseNumber } from '../../../../../../utils/utils';
11
+ import i18n from '../../i18n';
12
+ import { MESSAGE_SIZE_LIMIT, b } from '../shared';
13
+ import { TopicDataSection } from './TopicDataSection';
14
+ const UNIPIKA_MAX_SIZE = 1000000;
15
+ export function TopicMessage({ offset, size, message }) {
16
+ const isFullscreen = useTypedSelector((state) => state.fullscreen);
17
+ const { preparedMessage, decodedMessage, convertedMessage } = React.useMemo(() => {
18
+ let preparedMessage = message;
19
+ let decodedMessage = message;
20
+ try {
21
+ decodedMessage = atob(message);
22
+ }
23
+ catch (e) {
24
+ console.warn(e);
25
+ }
26
+ try {
27
+ const jsonMessage = JSON.parse(decodedMessage);
28
+ if (jsonMessage && typeof jsonMessage === 'object') {
29
+ preparedMessage = jsonMessage;
30
+ }
31
+ else {
32
+ preparedMessage = decodedMessage;
33
+ }
34
+ }
35
+ catch (e) {
36
+ console.warn(e);
37
+ }
38
+ let convertedMessage;
39
+ if (typeof preparedMessage === 'object' && safeParseNumber(size) <= UNIPIKA_MAX_SIZE) {
40
+ convertedMessage = unipikaConvert(preparedMessage);
41
+ }
42
+ else if (preparedMessage && typeof preparedMessage === 'object') {
43
+ preparedMessage = JSON.stringify(preparedMessage, null, 2);
44
+ }
45
+ return { preparedMessage, decodedMessage, convertedMessage };
46
+ }, [message, size]);
47
+ const isJson = Boolean(convertedMessage);
48
+ const messageContent = isJson ? (_jsx(JsonViewer
49
+ // key is used to reset JsonViewer state to collapsed due to performance issues on close fullscreen mode if nodes quantity is big enough https://github.com/ydb-platform/ydb-embedded-ui/issues/2265
50
+ , { collapsedInitially: true, value: convertedMessage, maxValueWidth: 50, toolbarClassName: b('json-viewer-toolbar') }, String(isFullscreen))) : (_jsx("div", { className: b('string-message'), children: _jsx(ShortyString, { value: preparedMessage, limit: 2000 }, String(isFullscreen)) }));
51
+ const renderToolbar = () => {
52
+ return (_jsxs(Flex, { gap: 1, children: [_jsx(ActionTooltip, { title: i18n('label_download'), children: _jsx(Button, { view: "flat-secondary", onClick: (e) => {
53
+ e.stopPropagation();
54
+ createAndDownloadFile(decodedMessage, `topic-message-${offset !== null && offset !== void 0 ? offset : 'unknown-offset'}`);
55
+ }, children: _jsx(Icon, { data: ArrowDownToLine }) }) }), _jsx(ClipboardButton, { view: "flat-secondary", text: decodedMessage })] }));
56
+ };
57
+ const truncated = safeParseNumber(size) > MESSAGE_SIZE_LIMIT;
58
+ return (_jsx(TopicDataSection, { title: _jsx(MessageTitle, { truncated: truncated }), renderToolbar: renderToolbar, className: b('message'), children: messageContent }));
59
+ }
60
+ function MessageTitle({ truncated }) {
61
+ return (_jsxs("span", { children: [i18n('label_message'), truncated && (_jsxs(React.Fragment, { children: [' ', _jsxs(Text, { color: "secondary", children: ["[", i18n('label_truncated', {
62
+ size: bytesToMB(MESSAGE_SIZE_LIMIT),
63
+ }), "]"] })] }))] }));
64
+ }
65
+ //# sourceMappingURL=TopicMessage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TopicMessage.js","sourceRoot":"","sources":["../../../../../../../src/containers/Tenant/Diagnostics/TopicData/TopicMessageDetails/components/TopicMessage.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { TopicMessage } from '../../../../../../types/api/topic';
2
+ interface TopicMessageGeneralInfoProps {
3
+ messageData: TopicMessage;
4
+ }
5
+ export declare function TopicMessageGeneralInfo({ messageData }: TopicMessageGeneralInfoProps): import("react/jsx-runtime").JSX.Element;
6
+ export {};