ydb-embedded-ui 20.2.1 → 20.3.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.
- package/dist/containers/Tenant/Query/Preview/Preview.js +1 -1
- package/dist/containers/Tenant/Query/Preview/Preview.js.map +1 -1
- package/dist/containers/Tenant/Query/Preview/components/PreviewView.js +1 -1
- package/dist/containers/Tenant/Query/Preview/components/PreviewView.js.map +1 -1
- package/dist/containers/Tenant/Query/QueriesHistory/QueriesHistory.js +5 -18
- package/dist/containers/Tenant/Query/QueriesHistory/QueriesHistory.js.map +1 -1
- package/dist/containers/Tenant/Query/QueriesHistory/columns.js +10 -9
- package/dist/containers/Tenant/Query/QueriesHistory/columns.js.map +1 -1
- package/dist/containers/Tenant/Query/QueryEditor/EditorTabs/EditorTabItem.js +8 -8
- package/dist/containers/Tenant/Query/QueryEditor/EditorTabs/EditorTabItem.js.map +1 -1
- package/dist/containers/Tenant/Query/QueryEditor/EditorTabs/EditorTabs.js +1 -1
- package/dist/containers/Tenant/Query/QueryEditor/EditorTabs/RenameQueryDialog.js +2 -4
- package/dist/containers/Tenant/Query/QueryEditor/EditorTabs/RenameQueryDialog.js.map +1 -1
- package/dist/containers/Tenant/Query/QueryEditor/QueryEditorZeroTabsState.js +1 -1
- package/dist/containers/Tenant/Query/QueryEditor/QueryEditorZeroTabsState.js.map +1 -1
- package/dist/containers/Tenant/Query/QueryEditor/YqlEditor/YqlEditor.js +15 -15
- package/dist/containers/Tenant/Query/QueryEditor/YqlEditor/YqlEditor.js.map +1 -1
- package/dist/containers/Tenant/Query/QueryEditor/hooks/useQueryTabsActions.js +14 -5
- package/dist/containers/Tenant/Query/QueryEditor/hooks/useQueryTabsActions.js.map +1 -1
- package/dist/containers/Tenant/Query/QueryEditorControls/EditorButton.js +5 -5
- package/dist/containers/Tenant/Query/QueryEditorControls/EditorButton.js.map +1 -1
- package/dist/containers/Tenant/Query/QueryEditorControls/QueryEditorControls.js +1 -1
- package/dist/containers/Tenant/Query/QueryEditorControls/QueryEditorControls.js.map +1 -1
- package/dist/containers/Tenant/Query/QueryResult/components/SimplifiedPlan/OperationCell.js +3 -1
- package/dist/containers/Tenant/Query/QueryResult/components/SimplifiedPlan/OperationCell.js.map +1 -1
- package/dist/containers/Tenant/Query/QuerySettingsBanner/QuerySettingsBanner.js +1 -1
- package/dist/containers/Tenant/Query/QuerySettingsDialog/constants.js +20 -20
- package/dist/containers/Tenant/Query/QuerySettingsDialog/constants.js.map +1 -1
- package/dist/containers/Tenant/Query/QueryStoppedBanner/QueryStoppedBanner.js +1 -1
- package/dist/containers/Tenant/Query/QueryStoppedBanner/QueryStoppedBanner.js.map +1 -1
- package/dist/containers/Tenant/Query/QueryTabs/QueryTabs.js +3 -3
- package/dist/containers/Tenant/Query/QueryTabs/QueryTabs.js.map +1 -1
- package/dist/containers/Tenant/Query/SaveChangesDialog/SaveChangesDialog.d.ts +1 -1
- package/dist/containers/Tenant/Query/SaveChangesDialog/SaveChangesDialog.js +9 -11
- package/dist/containers/Tenant/Query/SaveChangesDialog/SaveChangesDialog.js.map +1 -1
- package/dist/containers/Tenant/Query/SaveChangesDialog/i18n/en.json +2 -3
- package/dist/containers/Tenant/Query/SaveChangesDialog/i18n/index.d.ts +1 -1
- package/dist/containers/Tenant/Query/SaveQuery/SaveQuery.d.ts +2 -2
- package/dist/containers/Tenant/Query/SaveQuery/SaveQuery.js +10 -13
- package/dist/containers/Tenant/Query/SaveQuery/SaveQuery.js.map +1 -1
- package/dist/containers/Tenant/Query/SaveQuery/i18n/en.json +1 -2
- package/dist/containers/Tenant/Query/SaveQuery/i18n/index.d.ts +1 -1
- package/dist/containers/Tenant/Query/SavedQueries/RenameSavedQueryDialog.d.ts +10 -0
- package/dist/containers/Tenant/Query/SavedQueries/RenameSavedQueryDialog.js +42 -0
- package/dist/containers/Tenant/Query/SavedQueries/RenameSavedQueryDialog.js.map +1 -0
- package/dist/containers/Tenant/Query/SavedQueries/RenameSavedQueryDialog.scss +21 -0
- package/dist/containers/Tenant/Query/SavedQueries/SavedQueries.js +136 -61
- package/dist/containers/Tenant/Query/SavedQueries/SavedQueries.js.map +1 -1
- package/dist/containers/Tenant/Query/SavedQueries/SavedQueries.scss +52 -23
- package/dist/containers/Tenant/Query/SavedQueries/columns.d.ts +9 -0
- package/dist/containers/Tenant/Query/SavedQueries/columns.js +53 -0
- package/dist/containers/Tenant/Query/SavedQueries/columns.js.map +1 -0
- package/dist/containers/Tenant/Query/SavedQueries/shared.d.ts +1 -0
- package/dist/containers/Tenant/Query/SavedQueries/shared.js +3 -0
- package/dist/containers/Tenant/Query/SavedQueries/shared.js.map +1 -0
- package/dist/containers/Tenant/Query/hooks/useExternalQuerySingleTabProtection.js +1 -1
- package/dist/containers/Tenant/Query/hooks/useExternalQuerySingleTabProtection.js.map +1 -1
- package/dist/containers/Tenant/Query/i18n/en.json +91 -84
- package/dist/containers/Tenant/Query/i18n/index.d.ts +1 -1
- package/dist/containers/Tenant/Query/utils/QueryNameValidation.d.ts +1 -2
- package/dist/containers/Tenant/Query/utils/QueryNameValidation.js +0 -4
- package/dist/containers/Tenant/Query/utils/QueryNameValidation.js.map +1 -1
- package/dist/containers/Tenant/Query/utils/queryPreview.d.ts +1 -0
- package/dist/containers/Tenant/Query/utils/queryPreview.js +17 -0
- package/dist/containers/Tenant/Query/utils/queryPreview.js.map +1 -0
- package/dist/containers/Tenant/Query/utils/queryTabTitles.js +5 -5
- package/dist/containers/Tenant/Query/utils/queryTabTitles.js.map +1 -1
- package/dist/containers/Tenant/Query/utils/savedQueries.d.ts +11 -0
- package/dist/containers/Tenant/Query/utils/savedQueries.js +58 -0
- package/dist/containers/Tenant/Query/utils/savedQueries.js.map +1 -0
- package/dist/containers/Tenant/Query/utils/useSavedQueries.d.ts +4 -1
- package/dist/containers/Tenant/Query/utils/useSavedQueries.js +43 -24
- package/dist/containers/Tenant/Query/utils/useSavedQueries.js.map +1 -1
- package/dist/containers/Tenant/Query/utils/useUpdateSavedQueryFromTab.d.ts +3 -0
- package/dist/containers/Tenant/Query/utils/useUpdateSavedQueryFromTab.js +34 -0
- package/dist/containers/Tenant/Query/utils/useUpdateSavedQueryFromTab.js.map +1 -0
- package/dist/containers/Tenant/utils/constants.js +1 -1
- package/dist/containers/Tenant/utils/constants.js.map +1 -1
- package/dist/store/reducers/query/hooks/useQueriesHistory.js +3 -1
- package/dist/store/reducers/query/hooks/useQueriesHistory.js.map +1 -1
- package/dist/store/reducers/query/query.d.ts +1 -1
- package/dist/store/reducers/query/query.js +1 -1
- package/dist/store/reducers/query/query.js.map +1 -1
- package/dist/store/reducers/query/slice.d.ts +12 -1
- package/dist/store/reducers/query/slice.js +50 -1
- package/dist/store/reducers/query/slice.js.map +1 -1
- package/dist/types/store/query.d.ts +1 -0
- package/dist/utils/sortByTimestamp.d.ts +1 -0
- package/dist/utils/sortByTimestamp.js +21 -0
- package/dist/utils/sortByTimestamp.js.map +1 -0
- package/package.json +9 -8
- package/src/.eslintrc +35 -0
- package/src/assets/icons/cluster.svg +1 -0
- package/src/assets/icons/cry-cat.svg +14 -0
- package/src/assets/icons/databases.svg +3 -0
- package/src/assets/icons/decommission.svg +6 -0
- package/src/assets/icons/disableFullscreen.svg +4 -0
- package/src/assets/icons/emptyState.svg +13 -0
- package/src/assets/icons/key.svg +6 -0
- package/src/assets/icons/monium.svg +3 -0
- package/src/assets/icons/network.svg +21 -0
- package/src/assets/icons/overview.svg +1 -0
- package/src/assets/icons/sso-user.svg +12 -0
- package/src/assets/icons/user-secret.svg +1 -0
- package/src/assets/icons/ydb.svg +4 -0
- package/src/components/AsyncReplicationState/AsyncReplicationState.tsx +28 -0
- package/src/components/AsyncReplicationState/index.ts +1 -0
- package/src/components/AutoRefreshControl/AutoRefreshControl.scss +5 -0
- package/src/components/AutoRefreshControl/AutoRefreshControl.tsx +52 -0
- package/src/components/AutoRefreshControl/i18n/en.json +8 -0
- package/src/components/AutoRefreshControl/i18n/index.ts +7 -0
- package/src/components/ButtonWithConfirmDialog/ButtonWithConfirmDialog.tsx +125 -0
- package/src/components/CellWithPopover/CellWithPopover.scss +37 -0
- package/src/components/CellWithPopover/CellWithPopover.tsx +41 -0
- package/src/components/CircularProgressBar/CircularProgressBar.scss +42 -0
- package/src/components/CircularProgressBar/CircularProgressBar.tsx +57 -0
- package/src/components/ClipboardButton/ClipboardButton.tsx +31 -0
- package/src/components/ClipboardButton/i18n/en.json +3 -0
- package/src/components/ClipboardButton/i18n/index.ts +7 -0
- package/src/components/ComponentsProvider/ComponentsProvider.tsx +25 -0
- package/src/components/ComponentsProvider/componentsRegistry.ts +20 -0
- package/src/components/ComponentsProvider/registry.ts +40 -0
- package/src/components/ConfirmationDialog/ConfirmationDialog.scss +6 -0
- package/src/components/ConfirmationDialog/ConfirmationDialog.tsx +111 -0
- package/src/components/ConfirmationDialog/i18n/en.json +3 -0
- package/src/components/ConfirmationDialog/i18n/index.ts +7 -0
- package/src/components/ConnectToDB/ConnectToDB.scss +13 -0
- package/src/components/ConnectToDB/ConnectToDBDialog.tsx +134 -0
- package/src/components/ConnectToDB/getDocsLink.ts +34 -0
- package/src/components/ConnectToDB/i18n/en.json +17 -0
- package/src/components/ConnectToDB/i18n/index.ts +7 -0
- package/src/components/ConnectToDB/snippets.ts +245 -0
- package/src/components/ConnectToDB/types.ts +14 -0
- package/src/components/ConnectToDB/utils.ts +20 -0
- package/src/components/ContentWithPopup/ContentWithPopup.tsx +65 -0
- package/src/components/CopyLinkButton/CopyLinkButton.scss +6 -0
- package/src/components/CopyLinkButton/CopyLinkButton.tsx +82 -0
- package/src/components/CopyLinkButton/i18n/en.json +4 -0
- package/src/components/CopyLinkButton/i18n/index.ts +7 -0
- package/src/components/CriticalActionDialog/CriticalActionDialog.scss +3 -0
- package/src/components/CriticalActionDialog/CriticalActionDialog.tsx +172 -0
- package/src/components/CriticalActionDialog/i18n/en.json +11 -0
- package/src/components/CriticalActionDialog/i18n/index.ts +7 -0
- package/src/components/CriticalActionDialog/utils.ts +9 -0
- package/src/components/DateRange/DateRange.scss +19 -0
- package/src/components/DateRange/DateRange.tsx +65 -0
- package/src/components/DateRange/i18n/en.json +4 -0
- package/src/components/DateRange/i18n/index.ts +8 -0
- package/src/components/DateRange/i18n/ru.json +4 -0
- package/src/components/DateRange/index.ts +1 -0
- package/src/components/DateRange/utils.ts +46 -0
- package/src/components/DebouncedInput/DebouncedNumerInput.tsx +23 -0
- package/src/components/DebouncedInput/DebouncedTextInput.tsx +19 -0
- package/src/components/DiskCapacityInfo/DiskCapacityInfo.tsx +184 -0
- package/src/components/DiskCapacityInfo/i18n/en.json +7 -0
- package/src/components/DiskCapacityInfo/i18n/index.ts +7 -0
- package/src/components/DiskStateProgressBar/AllModeCapacityAlertIndicator.tsx +24 -0
- package/src/components/DiskStateProgressBar/AllModeIndicators.tsx +34 -0
- package/src/components/DiskStateProgressBar/DiskBarLabel.tsx +23 -0
- package/src/components/DiskStateProgressBar/DiskIndicator.tsx +50 -0
- package/src/components/DiskStateProgressBar/DiskStateProgressBar.scss +636 -0
- package/src/components/DiskStateProgressBar/DiskStateProgressBar.tsx +113 -0
- package/src/components/DiskStateProgressBar/PDiskAllModeIndicators.tsx +40 -0
- package/src/components/Divider/Divider.scss +7 -0
- package/src/components/Divider/Divider.tsx +11 -0
- package/src/components/DoughnutMetrics/DoughnutMetrics.scss +73 -0
- package/src/components/DoughnutMetrics/DoughnutMetrics.tsx +146 -0
- package/src/components/DoughnutMetrics/SvgCircle.tsx +40 -0
- package/src/components/DoughnutMetrics/utils.ts +45 -0
- package/src/components/Drawer/Drawer.scss +81 -0
- package/src/components/Drawer/Drawer.tsx +309 -0
- package/src/components/Drawer/DrawerContext.tsx +180 -0
- package/src/components/Drawer/DrawerWidthUtils.ts +103 -0
- package/src/components/Drawer/i18n/en.json +3 -0
- package/src/components/Drawer/i18n/index.ts +7 -0
- package/src/components/Drawer/index.ts +4 -0
- package/src/components/DropdownMenu/DropdownMenu.scss +14 -0
- package/src/components/DropdownMenu/DropdownMenu.tsx +75 -0
- package/src/components/DropdownMenu/index.ts +2 -0
- package/src/components/EmptyFilter/EmptyFilter.tsx +49 -0
- package/src/components/EmptyFilter/i18n/en.json +4 -0
- package/src/components/EmptyFilter/i18n/index.ts +8 -0
- package/src/components/EmptyFilter/i18n/ru.json +4 -0
- package/src/components/EmptyState/EmptyState.scss +91 -0
- package/src/components/EmptyState/EmptyState.tsx +89 -0
- package/src/components/EmptyState/index.ts +1 -0
- package/src/components/EnableFullscreenButton/EnableFullscreenButton.tsx +35 -0
- package/src/components/EnableFullscreenButton/i18n/en.json +3 -0
- package/src/components/EnableFullscreenButton/i18n/index.ts +7 -0
- package/src/components/EntitiesCount/EntitiesCount.tsx +39 -0
- package/src/components/EntitiesCount/i18n/en.json +3 -0
- package/src/components/EntitiesCount/i18n/index.ts +8 -0
- package/src/components/EntitiesCount/i18n/ru.json +3 -0
- package/src/components/EntitiesCount/index.ts +1 -0
- package/src/components/EntityName/EntityName.scss +140 -0
- package/src/components/EntityName/EntityName.tsx +126 -0
- package/src/components/EntityPageTitle/EntityPageTitle.scss +16 -0
- package/src/components/EntityPageTitle/EntityPageTitle.tsx +32 -0
- package/src/components/EntityStatus/EntityStatus.scss +11 -0
- package/src/components/EntityStatus/EntityStatus.tsx +102 -0
- package/src/components/EntityStatus/i18n/en.json +14 -0
- package/src/components/EntityStatus/i18n/index.ts +7 -0
- package/src/components/EntityStatus/utils.ts +24 -0
- package/src/components/ErrorBoundary/ErrorBoundary.scss +38 -0
- package/src/components/ErrorBoundary/ErrorBoundary.tsx +144 -0
- package/src/components/ErrorBoundary/i18n/en.json +10 -0
- package/src/components/ErrorBoundary/i18n/index.ts +7 -0
- package/src/components/ErrorBoundary/utils.tsx +60 -0
- package/src/components/Errors/401/Unauthenticated.tsx +30 -0
- package/src/components/Errors/401/index.ts +1 -0
- package/src/components/Errors/403/AccessDenied.tsx +30 -0
- package/src/components/Errors/403/index.ts +1 -0
- package/src/components/Errors/PageError/PageError.scss +11 -0
- package/src/components/Errors/PageError/PageError.tsx +195 -0
- package/src/components/Errors/PageError/utils.ts +35 -0
- package/src/components/Errors/ResponseError/ErrorDetails.scss +57 -0
- package/src/components/Errors/ResponseError/ErrorDetails.tsx +87 -0
- package/src/components/Errors/ResponseError/ResponseError.scss +22 -0
- package/src/components/Errors/ResponseError/ResponseError.tsx +117 -0
- package/src/components/Errors/ResponseError/index.ts +1 -0
- package/src/components/Errors/i18n/en.json +30 -0
- package/src/components/Errors/i18n/index.ts +7 -0
- package/src/components/Errors/shared/ErrorFieldsList.tsx +233 -0
- package/src/components/Errors/shared/IssuesSection.tsx +36 -0
- package/src/components/Errors/shared/ResponseBodySection.scss +38 -0
- package/src/components/Errors/shared/ResponseBodySection.tsx +50 -0
- package/src/components/EvictVDiskButton/EvictVDiskButton.tsx +96 -0
- package/src/components/EvictVDiskButton/i18n/en.json +10 -0
- package/src/components/EvictVDiskButton/i18n/index.ts +7 -0
- package/src/components/FixedHeightQuery/FixedHeightQuery.scss +46 -0
- package/src/components/FixedHeightQuery/FixedHeightQuery.tsx +94 -0
- package/src/components/FormattedBytes/FormattedBytes.tsx +12 -0
- package/src/components/FormattedBytes/utils.tsx +15 -0
- package/src/components/FullNodeViewer/FullNodeViewer.scss +33 -0
- package/src/components/FullNodeViewer/FullNodeViewer.tsx +124 -0
- package/src/components/FullNodeViewer/i18n/en.json +21 -0
- package/src/components/FullNodeViewer/i18n/index.ts +7 -0
- package/src/components/Fullscreen/Fullscreen.scss +37 -0
- package/src/components/Fullscreen/Fullscreen.tsx +103 -0
- package/src/components/Fullscreen/FullscreenContext.tsx +25 -0
- package/src/components/Graph/Graph.tsx +70 -0
- package/src/components/Graph/colors.ts +75 -0
- package/src/components/HealthcheckStatus/HealthcheckStatus.scss +7 -0
- package/src/components/HealthcheckStatus/HealthcheckStatus.tsx +32 -0
- package/src/components/HealthcheckStatus/config.ts +62 -0
- package/src/components/HealthcheckStatus/i18n/en.json +7 -0
- package/src/components/HealthcheckStatus/i18n/index.ts +7 -0
- package/src/components/HelpMarkWithDocs/HelpMarkWithDocs.tsx +35 -0
- package/src/components/HelpMarkWithDocs/i18n/en.json +3 -0
- package/src/components/HelpMarkWithDocs/i18n/index.ts +7 -0
- package/src/components/HoverPopup/HoverPopup.tsx +167 -0
- package/src/components/InfoViewer/InfoViewer.scss +110 -0
- package/src/components/InfoViewer/InfoViewer.tsx +67 -0
- package/src/components/InfoViewer/formatters/cdcStream.ts +9 -0
- package/src/components/InfoViewer/formatters/common.ts +16 -0
- package/src/components/InfoViewer/formatters/index.ts +5 -0
- package/src/components/InfoViewer/formatters/pqGroup.ts +50 -0
- package/src/components/InfoViewer/formatters/schema.ts +19 -0
- package/src/components/InfoViewer/formatters/table.ts +51 -0
- package/src/components/InfoViewer/i18n/en.json +5 -0
- package/src/components/InfoViewer/i18n/index.ts +7 -0
- package/src/components/InfoViewer/index.ts +5 -0
- package/src/components/InfoViewer/schemaInfo/TableIndexInfo.tsx +53 -0
- package/src/components/InfoViewer/schemaInfo/i18n/en.json +41 -0
- package/src/components/InfoViewer/schemaInfo/i18n/index.ts +7 -0
- package/src/components/InfoViewer/schemaInfo/index.ts +2 -0
- package/src/components/InfoViewer/schemaInfo/utils.tsx +264 -0
- package/src/components/InfoViewer/utils.ts +57 -0
- package/src/components/InfoViewerSkeleton/InfoViewerSkeleton.scss +40 -0
- package/src/components/InfoViewerSkeleton/InfoViewerSkeleton.tsx +45 -0
- package/src/components/InternalLink/InternalLink.scss +13 -0
- package/src/components/InternalLink/InternalLink.tsx +37 -0
- package/src/components/InternalLink/index.ts +1 -0
- package/src/components/InternalLinkButton/InternalLinkButton.tsx +43 -0
- package/src/components/InternalLinkButton/index.ts +1 -0
- package/src/components/JsonViewer/JsonViewer.scss +57 -0
- package/src/components/JsonViewer/JsonViewer.tsx +142 -0
- package/src/components/JsonViewer/components/Filter.tsx +103 -0
- package/src/components/JsonViewer/constants.ts +2 -0
- package/src/components/JsonViewer/i18n/en.json +11 -0
- package/src/components/JsonViewer/i18n/index.ts +7 -0
- package/src/components/LabelWithHelpMark/LabelWithHelpMark.tsx +31 -0
- package/src/components/LabelWithPopover/LabelWithPopover.tsx +21 -0
- package/src/components/LabelWithPopover/index.ts +1 -0
- package/src/components/LagImages/LagImages.tsx +205 -0
- package/src/components/LagImages/index.ts +1 -0
- package/src/components/LagPopoverContent/LagPopoverContent.scss +13 -0
- package/src/components/LagPopoverContent/LagPopoverContent.tsx +18 -0
- package/src/components/LagPopoverContent/index.ts +1 -0
- package/src/components/LinkToSchemaObject/LinkToSchemaObject.tsx +74 -0
- package/src/components/LinkToSchemaObject/utils.ts +33 -0
- package/src/components/LinkWithIcon/LinkWithIcon.scss +7 -0
- package/src/components/LinkWithIcon/LinkWithIcon.tsx +66 -0
- package/src/components/Loader/Loader.scss +8 -0
- package/src/components/Loader/Loader.tsx +27 -0
- package/src/components/Loader/index.ts +1 -0
- package/src/components/LoaderWrapper/LoaderWrapper.tsx +26 -0
- package/src/components/MemoryViewer/MemoryViewer.scss +94 -0
- package/src/components/MemoryViewer/MemoryViewer.tsx +171 -0
- package/src/components/MemoryViewer/i18n/en.json +12 -0
- package/src/components/MemoryViewer/i18n/index.ts +7 -0
- package/src/components/MemoryViewer/utils.ts +110 -0
- package/src/components/MetricChart/MetricChart.scss +34 -0
- package/src/components/MetricChart/MetricChart.tsx +203 -0
- package/src/components/MetricChart/colors.ts +23 -0
- package/src/components/MetricChart/convertResponse.ts +34 -0
- package/src/components/MetricChart/getChartData.ts +26 -0
- package/src/components/MetricChart/getDefaultDataFormatter.ts +45 -0
- package/src/components/MetricChart/i18n/en.json +3 -0
- package/src/components/MetricChart/i18n/index.ts +7 -0
- package/src/components/MetricChart/index.ts +2 -0
- package/src/components/MetricChart/reducer.ts +38 -0
- package/src/components/MetricChart/types.ts +47 -0
- package/src/components/MonacoEditor/MonacoEditor.tsx +6 -0
- package/src/components/MultilineTableHeader/MultilineTableHeader.scss +3 -0
- package/src/components/MultilineTableHeader/MultilineTableHeader.tsx +16 -0
- package/src/components/NetworkTable/NetworkTable.tsx +37 -0
- package/src/components/NetworkTable/columns.tsx +39 -0
- package/src/components/NetworkTable/constants.ts +28 -0
- package/src/components/NodeHostWrapper/NodeHostWrapper.tsx +62 -0
- package/src/components/NodeId/NodeId.tsx +12 -0
- package/src/components/PDiskInfo/PDiskInfo.tsx +262 -0
- package/src/components/PDiskInfo/i18n/en.json +26 -0
- package/src/components/PDiskInfo/i18n/index.ts +7 -0
- package/src/components/PDiskPageLink/PDiskPageLink.tsx +22 -0
- package/src/components/PDiskPageLink/i18n/en.json +3 -0
- package/src/components/PDiskPageLink/i18n/index.ts +7 -0
- package/src/components/PDiskPopup/PDiskPopup.tsx +211 -0
- package/src/components/PDiskPopup/i18n/en.json +15 -0
- package/src/components/PDiskPopup/i18n/index.ts +7 -0
- package/src/components/PageMeta/PageMeta.scss +22 -0
- package/src/components/PageMeta/PageMeta.tsx +43 -0
- package/src/components/PaginatedTable/PaginatedTable.scss +225 -0
- package/src/components/PaginatedTable/PaginatedTable.tsx +145 -0
- package/src/components/PaginatedTable/PaginatedTableContext.tsx +102 -0
- package/src/components/PaginatedTable/PaginatedTableWithLayout.tsx +102 -0
- package/src/components/PaginatedTable/ResizeHandler.tsx +106 -0
- package/src/components/PaginatedTable/ResizeablePaginatedTable.tsx +46 -0
- package/src/components/PaginatedTable/TableChunk.tsx +171 -0
- package/src/components/PaginatedTable/TableChunksRenderer.tsx +197 -0
- package/src/components/PaginatedTable/TableHead.tsx +240 -0
- package/src/components/PaginatedTable/TableRow.tsx +137 -0
- package/src/components/PaginatedTable/constants.ts +40 -0
- package/src/components/PaginatedTable/i18n/en.json +3 -0
- package/src/components/PaginatedTable/i18n/index.ts +8 -0
- package/src/components/PaginatedTable/i18n/ru.json +3 -0
- package/src/components/PaginatedTable/index.ts +4 -0
- package/src/components/PaginatedTable/requestBatcher.ts +182 -0
- package/src/components/PaginatedTable/shared.ts +3 -0
- package/src/components/PaginatedTable/types.ts +73 -0
- package/src/components/PaginatedTable/useScrollBasedChunks.ts +181 -0
- package/src/components/PaginatedTable/utils.tsx +81 -0
- package/src/components/PoolBar/PoolBar.scss +49 -0
- package/src/components/PoolBar/PoolBar.tsx +37 -0
- package/src/components/PoolUsage/PoolUsage.scss +71 -0
- package/src/components/PoolUsage/PoolUsage.tsx +49 -0
- package/src/components/PoolsGraph/PoolsGraph.scss +3 -0
- package/src/components/PoolsGraph/PoolsGraph.tsx +21 -0
- package/src/components/Portal/Portal.tsx +19 -0
- package/src/components/ProblemFilter/ProblemFilter.tsx +35 -0
- package/src/components/ProblemFilter/i18n/en.json +4 -0
- package/src/components/ProblemFilter/i18n/index.ts +7 -0
- package/src/components/ProgressViewer/ProgressViewer.scss +118 -0
- package/src/components/ProgressViewer/ProgressViewer.tsx +107 -0
- package/src/components/ProgressWrapper/ProgressContainer.tsx +25 -0
- package/src/components/ProgressWrapper/ProgressWrapper.tsx +10 -0
- package/src/components/ProgressWrapper/SingleProgress.tsx +54 -0
- package/src/components/ProgressWrapper/StackProgress.tsx +72 -0
- package/src/components/ProgressWrapper/i18n/en.json +4 -0
- package/src/components/ProgressWrapper/i18n/index.ts +11 -0
- package/src/components/ProgressWrapper/index.ts +18 -0
- package/src/components/ProgressWrapper/progressUtils.ts +53 -0
- package/src/components/ProgressWrapper/types.ts +35 -0
- package/src/components/QueriesActivityBar/QueriesActivityAlert.scss +25 -0
- package/src/components/QueriesActivityBar/QueriesActivityAlert.tsx +98 -0
- package/src/components/QueriesActivityBar/QueriesActivityBar.scss +60 -0
- package/src/components/QueriesActivityBar/QueriesActivityBar.tsx +43 -0
- package/src/components/QueriesActivityBar/QueriesActivityCharts.tsx +104 -0
- package/src/components/QueriesActivityBar/QueriesActivityExpandable.tsx +162 -0
- package/src/components/QueriesActivityBar/QueriesActivitySkeleton.scss +6 -0
- package/src/components/QueriesActivityBar/QueriesActivitySkeleton.tsx +11 -0
- package/src/components/QueriesActivityBar/i18n/en.json +10 -0
- package/src/components/QueriesActivityBar/i18n/index.ts +9 -0
- package/src/components/QueriesActivityBar/useQueriesActivityData.ts +101 -0
- package/src/components/QueriesActivityBar/utils.ts +100 -0
- package/src/components/QueryDetails/QueryDetails.scss +26 -0
- package/src/components/QueryDetails/QueryDetails.tsx +53 -0
- package/src/components/QueryDetails/i18n/en.json +4 -0
- package/src/components/QueryDetails/i18n/index.ts +9 -0
- package/src/components/QueryExecutionLabel/QueryExecutionLabel.tsx +36 -0
- package/src/components/QueryExecutionLabel/getQueryExecutionLabelAppearance.tsx +63 -0
- package/src/components/QueryExecutionLabel/i18n/en.json +9 -0
- package/src/components/QueryExecutionLabel/i18n/index.ts +7 -0
- package/src/components/QueryExecutionLabel/index.ts +1 -0
- package/src/components/QueryExecutionStatus/QueryExecutionStatus.tsx +67 -0
- package/src/components/QueryExecutionStatus/index.ts +1 -0
- package/src/components/QueryExecutionStatus/useElapsedDuration.ts +63 -0
- package/src/components/QueryResultTable/Cell/Cell.tsx +42 -0
- package/src/components/QueryResultTable/Cell/index.ts +1 -0
- package/src/components/QueryResultTable/QueryResultTable.scss +25 -0
- package/src/components/QueryResultTable/QueryResultTable.tsx +125 -0
- package/src/components/QueryResultTable/i18n/en.json +3 -0
- package/src/components/QueryResultTable/i18n/index.ts +8 -0
- package/src/components/QueryResultTable/i18n/ru.json +3 -0
- package/src/components/QueryResultTable/index.ts +1 -0
- package/src/components/QuerySettingsDescription/QuerySettingsDescription.scss +8 -0
- package/src/components/QuerySettingsDescription/QuerySettingsDescription.tsx +26 -0
- package/src/components/ResizeableDataTable/ResizeableDataTable.scss +17 -0
- package/src/components/ResizeableDataTable/ResizeableDataTable.tsx +105 -0
- package/src/components/SchemaObjectTypeLabel/SchemaObjectTypeLabel.scss +9 -0
- package/src/components/SchemaObjectTypeLabel/SchemaObjectTypeLabel.tsx +29 -0
- package/src/components/Search/Search.scss +3 -0
- package/src/components/Search/Search.tsx +49 -0
- package/src/components/Search/index.ts +1 -0
- package/src/components/SeeAllButton/SeeAllButton.tsx +23 -0
- package/src/components/SeeAllButton/i18n/en.json +3 -0
- package/src/components/SeeAllButton/i18n/index.ts +7 -0
- package/src/components/SegmentedProgress/SegmentedProgress.scss +51 -0
- package/src/components/SegmentedProgress/SegmentedProgress.tsx +140 -0
- package/src/components/ServerlessDBLabel/ServerlessDBLabel.tsx +16 -0
- package/src/components/ServerlessDBLabel/i18n/en.json +4 -0
- package/src/components/ServerlessDBLabel/i18n/index.ts +7 -0
- package/src/components/ShardsTable/ShardsTable.tsx +50 -0
- package/src/components/ShardsTable/columns.tsx +131 -0
- package/src/components/ShardsTable/constants.ts +64 -0
- package/src/components/ShardsTable/i18n/en.json +11 -0
- package/src/components/ShardsTable/i18n/index.ts +7 -0
- package/src/components/ShardsTable/types.ts +7 -0
- package/src/components/ShardsTable/utils.ts +10 -0
- package/src/components/ShortyString/ShortyString.scss +7 -0
- package/src/components/ShortyString/ShortyString.tsx +67 -0
- package/src/components/ShortyString/i18n/en.json +10 -0
- package/src/components/ShortyString/i18n/index.ts +8 -0
- package/src/components/ShortyString/i18n/ru.json +10 -0
- package/src/components/Skeleton/Skeleton.tsx +16 -0
- package/src/components/SpeedMultiMeter/SpeedMultiMeter.scss +88 -0
- package/src/components/SpeedMultiMeter/SpeedMultiMeter.tsx +123 -0
- package/src/components/SpeedMultiMeter/i18n/en.json +6 -0
- package/src/components/SpeedMultiMeter/i18n/index.ts +8 -0
- package/src/components/SpeedMultiMeter/i18n/ru.json +6 -0
- package/src/components/SpeedMultiMeter/index.ts +1 -0
- package/src/components/SplitPane/SplitPane.scss +96 -0
- package/src/components/SplitPane/SplitPane.tsx +144 -0
- package/src/components/SplitPane/index.ts +3 -0
- package/src/components/Stack/Stack.scss +138 -0
- package/src/components/Stack/Stack.tsx +60 -0
- package/src/components/StatusColor/StatusColor.scss +49 -0
- package/src/components/StatusColor/StatusColor.tsx +20 -0
- package/src/components/StatusIcon/StatusIcon.scss +52 -0
- package/src/components/StatusIcon/StatusIcon.tsx +56 -0
- package/src/components/StatusIconNew/StatusIcon.tsx +33 -0
- package/src/components/StorageGroupInfo/StorageGroupInfo.tsx +310 -0
- package/src/components/StorageGroupInfo/i18n/en.json +24 -0
- package/src/components/StorageGroupInfo/i18n/index.ts +7 -0
- package/src/components/SubjectWithAvatar/SubjectWithAvatar.scss +11 -0
- package/src/components/SubjectWithAvatar/SubjectWithAvatar.tsx +34 -0
- package/src/components/SyntaxHighlighter/YDBSyntaxHighlighter.scss +56 -0
- package/src/components/SyntaxHighlighter/YDBSyntaxHighlighter.tsx +129 -0
- package/src/components/SyntaxHighlighter/lazy.ts +6 -0
- package/src/components/SyntaxHighlighter/shared.ts +3 -0
- package/src/components/SyntaxHighlighter/shikiHighlighter.ts +116 -0
- package/src/components/SyntaxHighlighter/themes.ts +171 -0
- package/src/components/SyntaxHighlighter/types.ts +5 -0
- package/src/components/Table/Table.scss +68 -0
- package/src/components/Table/Table.tsx +43 -0
- package/src/components/TableColumnSetup/TableColumnSetup.tsx +33 -0
- package/src/components/TableSkeleton/TableSkeleton.scss +57 -0
- package/src/components/TableSkeleton/TableSkeleton.tsx +51 -0
- package/src/components/TableWithControlsLayout/TableWithControlsLayout.scss +83 -0
- package/src/components/TableWithControlsLayout/TableWithControlsLayout.tsx +89 -0
- package/src/components/TableWithControlsLayout/useTableScroll.ts +117 -0
- package/src/components/TabletIcon/TabletIcon.scss +17 -0
- package/src/components/TabletIcon/TabletIcon.tsx +18 -0
- package/src/components/TabletNameWrapper/TabletNameWrapper.scss +3 -0
- package/src/components/TabletNameWrapper/TabletNameWrapper.tsx +20 -0
- package/src/components/TabletState/TabletState.tsx +12 -0
- package/src/components/TabletsStatistic/TabletsStatistic.scss +47 -0
- package/src/components/TabletsStatistic/TabletsStatistic.tsx +48 -0
- package/src/components/TabletsStatistic/index.ts +1 -0
- package/src/components/Tags/Tags.scss +5 -0
- package/src/components/Tags/Tags.tsx +23 -0
- package/src/components/Tags/index.ts +1 -0
- package/src/components/TenantNameWrapper/TenantNameWrapper.scss +24 -0
- package/src/components/TenantNameWrapper/TenantNameWrapper.tsx +244 -0
- package/src/components/TenantNameWrapper/i18n/en.json +9 -0
- package/src/components/TenantNameWrapper/i18n/index.ts +7 -0
- package/src/components/TenantNameWrapper/utils.ts +19 -0
- package/src/components/TimeFrameDropdown/TimeFrameDropdown.tsx +68 -0
- package/src/components/TimeFrameDropdown/i18n/en.json +6 -0
- package/src/components/TimeFrameDropdown/i18n/index.ts +7 -0
- package/src/components/TitleWithHelpmark/TitleWithHelpmark.tsx +28 -0
- package/src/components/TooltipsContent/NodeEndpointsTooltipContent/NodeEndpointsTooltipContent.tsx +93 -0
- package/src/components/TooltipsContent/NodeEndpointsTooltipContent/i18n/en.json +7 -0
- package/src/components/TooltipsContent/NodeEndpointsTooltipContent/i18n/index.ts +7 -0
- package/src/components/TooltipsContent/PoolTooltipContent/PoolTooltipContent.tsx +23 -0
- package/src/components/TooltipsContent/TabletTooltipContent/TabletTooltipContent.tsx +35 -0
- package/src/components/TooltipsContent/index.ts +3 -0
- package/src/components/TruncatedQuery/TruncatedQuery.scss +20 -0
- package/src/components/TruncatedQuery/TruncatedQuery.tsx +66 -0
- package/src/components/UptimeFIlter/UptimeFilter.tsx +22 -0
- package/src/components/UptimeFIlter/index.ts +1 -0
- package/src/components/UptimeViewer/UptimeViewer.tsx +83 -0
- package/src/components/UptimeViewer/i18n/en.json +5 -0
- package/src/components/UptimeViewer/i18n/index.ts +7 -0
- package/src/components/UsageLabel/UsageLabel.tsx +14 -0
- package/src/components/User/StaffCard.tsx +12 -0
- package/src/components/User/User.scss +16 -0
- package/src/components/User/User.tsx +22 -0
- package/src/components/VDisk/VDisk.scss +21 -0
- package/src/components/VDisk/VDisk.tsx +285 -0
- package/src/components/VDisk/VDiskWithDonorsStack.tsx +125 -0
- package/src/components/VDisk/i18n/en.json +8 -0
- package/src/components/VDisk/i18n/index.ts +7 -0
- package/src/components/VDiskInfo/VDiskInfo.scss +7 -0
- package/src/components/VDiskInfo/VDiskInfo.tsx +375 -0
- package/src/components/VDiskInfo/getVDiskCapacityColumns.tsx +83 -0
- package/src/components/VDiskInfo/i18n/en.json +39 -0
- package/src/components/VDiskInfo/i18n/index.ts +7 -0
- package/src/components/VDiskPopup/VDiskPopup.scss +12 -0
- package/src/components/VDiskPopup/VDiskPopup.tsx +549 -0
- package/src/components/VDiskPopup/i18n/en.json +26 -0
- package/src/components/VDiskPopup/i18n/index.ts +7 -0
- package/src/components/VersionsBar/VersionsBar.scss +86 -0
- package/src/components/VersionsBar/VersionsBar.tsx +235 -0
- package/src/components/VersionsBar/i18n/en.json +8 -0
- package/src/components/VersionsBar/i18n/index.ts +7 -0
- package/src/components/YDBDefinitionList/YDBDefinitionList.scss +11 -0
- package/src/components/YDBDefinitionList/YDBDefinitionList.tsx +171 -0
- package/src/components/YDBDefinitionList/formatters/table.ts +51 -0
- package/src/components/YDBDefinitionList/i18n/en.json +3 -0
- package/src/components/YDBDefinitionList/i18n/index.ts +7 -0
- package/src/components/YDBDefinitionList/utils.ts +58 -0
- package/src/components/YQLCodePreview/YQLCodePreview.scss +26 -0
- package/src/components/YQLCodePreview/YQLCodePreview.tsx +31 -0
- package/src/components/capacityMetricsColumns/columns.tsx +118 -0
- package/src/components/capacityMetricsColumns/constants.ts +58 -0
- package/src/components/capacityMetricsColumns/formatters.ts +11 -0
- package/src/components/capacityMetricsColumns/i18n/en.json +15 -0
- package/src/components/capacityMetricsColumns/i18n/index.ts +7 -0
- package/src/components/nodesColumns/NodesColumns.scss +7 -0
- package/src/components/nodesColumns/columns.tsx +626 -0
- package/src/components/nodesColumns/constants.ts +293 -0
- package/src/components/nodesColumns/i18n/en.json +39 -0
- package/src/components/nodesColumns/i18n/index.ts +7 -0
- package/src/components/nodesColumns/types.ts +13 -0
- package/src/components/nodesColumns/utils.ts +13 -0
- package/src/components/slots/SlotMap.ts +52 -0
- package/src/components/slots/createSlot.ts +10 -0
- package/src/components/slots/index.ts +2 -0
- package/src/components/slots/types.ts +20 -0
- package/src/components/slots/useSlots.ts +17 -0
- package/src/components/slots/utils.ts +15 -0
- package/src/containers/App/App.scss +154 -0
- package/src/containers/App/App.tsx +69 -0
- package/src/containers/App/AppTitleContext.tsx +24 -0
- package/src/containers/App/Content.tsx +313 -0
- package/src/containers/App/NavigationWrapper.tsx +57 -0
- package/src/containers/App/Providers.tsx +63 -0
- package/src/containers/App/SettingsBootstrap.tsx +70 -0
- package/src/containers/App/appSlots.tsx +55 -0
- package/src/containers/App/index.ts +3 -0
- package/src/containers/App/legacyRedirects.ts +25 -0
- package/src/containers/AppWithClusters/AppWithClusters.tsx +59 -0
- package/src/containers/AppWithClusters/ExtendedCluster/ExtendedCluster.scss +15 -0
- package/src/containers/AppWithClusters/ExtendedCluster/ExtendedCluster.tsx +107 -0
- package/src/containers/AppWithClusters/ExtendedTenant/ExtendedTenant.tsx +27 -0
- package/src/containers/AppWithClusters/utils/useAdditionalTenantsProps.tsx +87 -0
- package/src/containers/AsideNavigation/AsideNavigation.scss +47 -0
- package/src/containers/AsideNavigation/AsideNavigation.tsx +242 -0
- package/src/containers/AsideNavigation/InformationPopup/InformationPopup.scss +105 -0
- package/src/containers/AsideNavigation/InformationPopup/InformationPopup.tsx +67 -0
- package/src/containers/AsideNavigation/InformationPopup/index.ts +1 -0
- package/src/containers/AsideNavigation/InformationPopup/types.ts +13 -0
- package/src/containers/AsideNavigation/Navigation.scss +200 -0
- package/src/containers/AsideNavigation/Navigation.tsx +219 -0
- package/src/containers/AsideNavigation/SsoUserIcon/SsoUserIcon.tsx +7 -0
- package/src/containers/AsideNavigation/YdbInternalUser/YdbInternalUser.scss +28 -0
- package/src/containers/AsideNavigation/YdbInternalUser/YdbInternalUser.tsx +83 -0
- package/src/containers/AsideNavigation/hooks/useHotkeysPanel.tsx +138 -0
- package/src/containers/AsideNavigation/i18n/en.json +31 -0
- package/src/containers/AsideNavigation/i18n/index.ts +7 -0
- package/src/containers/Authentication/Authentication.scss +100 -0
- package/src/containers/Authentication/Authentication.tsx +261 -0
- package/src/containers/Authentication/i18n/en.json +7 -0
- package/src/containers/Authentication/i18n/index.ts +7 -0
- package/src/containers/Authentication/utils.ts +79 -0
- package/src/containers/Cluster/Cluster.scss +88 -0
- package/src/containers/Cluster/Cluster.tsx +373 -0
- package/src/containers/Cluster/ClusterDrawerHealthcheck.tsx +106 -0
- package/src/containers/Cluster/ClusterInfo/ClusterInfo.scss +92 -0
- package/src/containers/Cluster/ClusterInfo/ClusterInfo.tsx +162 -0
- package/src/containers/Cluster/ClusterInfo/components/DiskGroupsStatsBars/DiskGroupsStats.tsx +81 -0
- package/src/containers/Cluster/ClusterInfo/shared.ts +3 -0
- package/src/containers/Cluster/ClusterOverview/ClusterOverview.scss +60 -0
- package/src/containers/Cluster/ClusterOverview/ClusterOverview.tsx +195 -0
- package/src/containers/Cluster/ClusterOverview/components/BridgeInfoTable.scss +123 -0
- package/src/containers/Cluster/ClusterOverview/components/BridgeInfoTable.tsx +323 -0
- package/src/containers/Cluster/ClusterOverview/components/ClusterMetricsCard.tsx +99 -0
- package/src/containers/Cluster/ClusterOverview/components/ClusterMetricsCores.tsx +37 -0
- package/src/containers/Cluster/ClusterOverview/components/ClusterMetricsMemory.tsx +37 -0
- package/src/containers/Cluster/ClusterOverview/components/ClusterMetricsNetwork.tsx +40 -0
- package/src/containers/Cluster/ClusterOverview/components/ClusterMetricsStorage.tsx +49 -0
- package/src/containers/Cluster/ClusterOverview/shared.ts +14 -0
- package/src/containers/Cluster/i18n/en.json +61 -0
- package/src/containers/Cluster/i18n/index.ts +7 -0
- package/src/containers/Cluster/utils.tsx +77 -0
- package/src/containers/ClusterModeGuard/ClusterModeGuard.tsx +16 -0
- package/src/containers/Clusters/ClusterDrawerHealthcheck.tsx +68 -0
- package/src/containers/Clusters/Clusters.scss +70 -0
- package/src/containers/Clusters/Clusters.tsx +325 -0
- package/src/containers/Clusters/columns.tsx +523 -0
- package/src/containers/Clusters/constants.ts +83 -0
- package/src/containers/Clusters/i18n/en.json +45 -0
- package/src/containers/Clusters/i18n/index.ts +7 -0
- package/src/containers/Clusters/shared.ts +3 -0
- package/src/containers/Clusters/utils.ts +32 -0
- package/src/containers/Configs/Configs.scss +24 -0
- package/src/containers/Configs/Configs.tsx +86 -0
- package/src/containers/Configs/components/Config/Config.scss +18 -0
- package/src/containers/Configs/components/Config/Config.tsx +48 -0
- package/src/containers/Configs/components/FeatureFlags/FeatureFlags.scss +8 -0
- package/src/containers/Configs/components/FeatureFlags/FeatureFlags.tsx +128 -0
- package/src/containers/Configs/components/Startup/Startup.tsx +49 -0
- package/src/containers/Configs/i18n/en.json +19 -0
- package/src/containers/Configs/i18n/index.ts +7 -0
- package/src/containers/Configs/types.ts +24 -0
- package/src/containers/Configs/useConfigsQueryParams.ts +61 -0
- package/src/containers/GetUserWrapper/GetUserWrapper.tsx +71 -0
- package/src/containers/GetUserWrapper/useHandleVisibilityChange.ts +40 -0
- package/src/containers/Header/BreadcrumbLink.tsx +39 -0
- package/src/containers/Header/ClusterRightControls.tsx +92 -0
- package/src/containers/Header/ClustersHomeControls.tsx +19 -0
- package/src/containers/Header/DatabaseRightControls.tsx +69 -0
- package/src/containers/Header/GlobalRightControls.tsx +21 -0
- package/src/containers/Header/Header.scss +64 -0
- package/src/containers/Header/Header.tsx +99 -0
- package/src/containers/Header/HeaderActionsMenu.tsx +133 -0
- package/src/containers/Header/HeaderBreadcrumbs.tsx +38 -0
- package/src/containers/Header/HeaderLeftControls.tsx +55 -0
- package/src/containers/Header/HeaderRightControls.tsx +78 -0
- package/src/containers/Header/MonitoringControl.tsx +20 -0
- package/src/containers/Header/breadcrumbs.tsx +313 -0
- package/src/containers/Header/constants.ts +3 -0
- package/src/containers/Header/hooks/useClusterData.ts +62 -0
- package/src/containers/Header/hooks/useDatabaseData.ts +59 -0
- package/src/containers/Header/hooks/useHeaderBreadcrumbs.ts +74 -0
- package/src/containers/Header/hooks/useHeaderClusterLinks.ts +13 -0
- package/src/containers/Header/hooks/useHeaderData.ts +86 -0
- package/src/containers/Header/hooks/useHeaderPageContext.ts +64 -0
- package/src/containers/Header/i18n/en.json +26 -0
- package/src/containers/Header/i18n/index.ts +7 -0
- package/src/containers/Heatmap/Heatmap.scss +109 -0
- package/src/containers/Heatmap/Heatmap.tsx +233 -0
- package/src/containers/Heatmap/HeatmapCanvas/HeatmapCanvas.tsx +218 -0
- package/src/containers/Heatmap/Histogram/Histogram.scss +71 -0
- package/src/containers/Heatmap/Histogram/Histogram.tsx +214 -0
- package/src/containers/Heatmap/Histogram/i18n/en.json +5 -0
- package/src/containers/Heatmap/Histogram/i18n/index.ts +7 -0
- package/src/containers/Heatmap/util.js +110 -0
- package/src/containers/HomePage/HomePage.scss +30 -0
- package/src/containers/HomePage/HomePage.tsx +276 -0
- package/src/containers/HomePage/i18n/en.json +6 -0
- package/src/containers/HomePage/i18n/index.ts +7 -0
- package/src/containers/HomePage/useDatabasesPageEnvironment.ts +65 -0
- package/src/containers/HomePage/useHomePageTab.tsx +9 -0
- package/src/containers/Node/Node.scss +39 -0
- package/src/containers/Node/Node.tsx +333 -0
- package/src/containers/Node/NodeNetwork/NodeNetwork.tsx +84 -0
- package/src/containers/Node/NodeNetwork/NodeNetworkControls/NodeNetworkControls.tsx +39 -0
- package/src/containers/Node/NodeNetwork/NodeNetworkControls/NodeNetworkControlsWithTableState.tsx +26 -0
- package/src/containers/Node/NodeNetwork/NodeNetworkTable.tsx +51 -0
- package/src/containers/Node/NodeNetwork/columns.ts +91 -0
- package/src/containers/Node/NodeNetwork/constants.ts +76 -0
- package/src/containers/Node/NodeNetwork/helpers/getNodePeers.ts +47 -0
- package/src/containers/Node/NodeNetwork/helpers/nodeNetworkMapper.ts +36 -0
- package/src/containers/Node/NodeNetwork/i18n/en.json +8 -0
- package/src/containers/Node/NodeNetwork/i18n/index.ts +7 -0
- package/src/containers/Node/NodePages.ts +68 -0
- package/src/containers/Node/NodeStructure/NodeStructure.scss +155 -0
- package/src/containers/Node/NodeStructure/NodeStructure.tsx +121 -0
- package/src/containers/Node/NodeStructure/PDiskTitleBadge.tsx +18 -0
- package/src/containers/Node/NodeStructure/Pdisk.tsx +274 -0
- package/src/containers/Node/Threads/CpuUsageBar/CpuUsageBar.scss +7 -0
- package/src/containers/Node/Threads/CpuUsageBar/CpuUsageBar.tsx +38 -0
- package/src/containers/Node/Threads/ThreadStatesBar/ThreadStatesBar.scss +10 -0
- package/src/containers/Node/Threads/ThreadStatesBar/ThreadStatesBar.tsx +105 -0
- package/src/containers/Node/Threads/Threads.tsx +46 -0
- package/src/containers/Node/Threads/columns.tsx +60 -0
- package/src/containers/Node/Threads/i18n/en.json +11 -0
- package/src/containers/Node/Threads/i18n/index.ts +7 -0
- package/src/containers/Node/i18n/en.json +15 -0
- package/src/containers/Node/i18n/index.ts +7 -0
- package/src/containers/Nodes/Nodes.scss +18 -0
- package/src/containers/Nodes/Nodes.tsx +114 -0
- package/src/containers/Nodes/NodesControls/NodesControls.tsx +111 -0
- package/src/containers/Nodes/NodesTable.tsx +107 -0
- package/src/containers/Nodes/PaginatedNodes/GroupedNodesComponent.tsx +233 -0
- package/src/containers/Nodes/PaginatedNodes/NodesComponent.tsx +96 -0
- package/src/containers/Nodes/PaginatedNodes/NodesControlsWithTableState.tsx +28 -0
- package/src/containers/Nodes/PaginatedNodes/PaginatedNodes.tsx +74 -0
- package/src/containers/Nodes/PaginatedNodes/index.ts +1 -0
- package/src/containers/Nodes/PeerRoleFilter/PeerRoleFilter.tsx +24 -0
- package/src/containers/Nodes/PeerRoleFilter/utils.tsx +26 -0
- package/src/containers/Nodes/columns/columns.tsx +49 -0
- package/src/containers/Nodes/columns/constants.ts +62 -0
- package/src/containers/Nodes/columns/hooks.ts +24 -0
- package/src/containers/Nodes/getNodes.ts +70 -0
- package/src/containers/Nodes/i18n/en.json +17 -0
- package/src/containers/Nodes/i18n/index.ts +7 -0
- package/src/containers/Nodes/shared.tsx +10 -0
- package/src/containers/Nodes/useNodesPageQueryParams.ts +92 -0
- package/src/containers/Operations/Operations.scss +5 -0
- package/src/containers/Operations/Operations.tsx +119 -0
- package/src/containers/Operations/OperationsControls.tsx +44 -0
- package/src/containers/Operations/columns.tsx +266 -0
- package/src/containers/Operations/constants.ts +53 -0
- package/src/containers/Operations/i18n/en.json +40 -0
- package/src/containers/Operations/i18n/index.ts +7 -0
- package/src/containers/Operations/shared.ts +3 -0
- package/src/containers/Operations/useOperationsInfiniteQuery.ts +124 -0
- package/src/containers/Operations/useOperationsQueryParams.ts +86 -0
- package/src/containers/Operations/utils.ts +273 -0
- package/src/containers/PDiskPage/DecommissionButton/DecommissionButton.scss +7 -0
- package/src/containers/PDiskPage/DecommissionButton/DecommissionButton.tsx +169 -0
- package/src/containers/PDiskPage/DecommissionLabel/DecommissionLabel.tsx +39 -0
- package/src/containers/PDiskPage/PDiskPage.scss +50 -0
- package/src/containers/PDiskPage/PDiskPage.tsx +288 -0
- package/src/containers/PDiskPage/PDiskSpaceDistribution/PDiskSpaceDistribution.scss +63 -0
- package/src/containers/PDiskPage/PDiskSpaceDistribution/PDiskSpaceDistribution.tsx +313 -0
- package/src/containers/PDiskPage/PDiskSpaceDistribution/utils.ts +13 -0
- package/src/containers/PDiskPage/i18n/en.json +41 -0
- package/src/containers/PDiskPage/i18n/index.ts +7 -0
- package/src/containers/Storage/Disks/Disks.scss +67 -0
- package/src/containers/Storage/Disks/Disks.tsx +188 -0
- package/src/containers/Storage/Disks/calculateCompactVDiskWidths.ts +62 -0
- package/src/containers/Storage/Disks/constants.ts +22 -0
- package/src/containers/Storage/PDisk/PDisk.scss +45 -0
- package/src/containers/Storage/PDisk/PDisk.tsx +301 -0
- package/src/containers/Storage/PDisk/PDiskVDisks.tsx +65 -0
- package/src/containers/Storage/PDisk/i18n/en.json +6 -0
- package/src/containers/Storage/PDisk/i18n/index.ts +7 -0
- package/src/containers/Storage/PDisk/index.ts +1 -0
- package/src/containers/Storage/PDisks/PDisks.scss +13 -0
- package/src/containers/Storage/PDisks/PDisks.tsx +56 -0
- package/src/containers/Storage/PaginatedStorage.tsx +54 -0
- package/src/containers/Storage/PaginatedStorageGroups/GroupedStorageGroupsComponent.tsx +200 -0
- package/src/containers/Storage/PaginatedStorageGroups/PaginatedStorageGroups.tsx +40 -0
- package/src/containers/Storage/PaginatedStorageGroups/StorageGroupsComponent.tsx +68 -0
- package/src/containers/Storage/PaginatedStorageGroups/StorageGroupsControls.tsx +167 -0
- package/src/containers/Storage/PaginatedStorageGroups/index.ts +1 -0
- package/src/containers/Storage/PaginatedStorageGroupsTable/PaginatedStorageGroupsTable.scss +6 -0
- package/src/containers/Storage/PaginatedStorageGroupsTable/PaginatedStorageGroupsTable.tsx +132 -0
- package/src/containers/Storage/PaginatedStorageGroupsTable/StorageGroupsEmptyDataMessage.tsx +31 -0
- package/src/containers/Storage/PaginatedStorageGroupsTable/columns/StorageGroupsColumns.scss +31 -0
- package/src/containers/Storage/PaginatedStorageGroupsTable/columns/columns.tsx +392 -0
- package/src/containers/Storage/PaginatedStorageGroupsTable/columns/constants.ts +332 -0
- package/src/containers/Storage/PaginatedStorageGroupsTable/columns/hooks.ts +183 -0
- package/src/containers/Storage/PaginatedStorageGroupsTable/columns/i18n/en.json +24 -0
- package/src/containers/Storage/PaginatedStorageGroupsTable/columns/i18n/index.ts +7 -0
- package/src/containers/Storage/PaginatedStorageGroupsTable/columns/types.ts +18 -0
- package/src/containers/Storage/PaginatedStorageGroupsTable/getGroups.ts +65 -0
- package/src/containers/Storage/PaginatedStorageGroupsTable/i18n/en.json +7 -0
- package/src/containers/Storage/PaginatedStorageGroupsTable/i18n/index.ts +8 -0
- package/src/containers/Storage/PaginatedStorageGroupsTable/i18n/ru.json +7 -0
- package/src/containers/Storage/PaginatedStorageGroupsTable/index.tsx +1 -0
- package/src/containers/Storage/PaginatedStorageNodes/GroupedStorageNodesComponent.tsx +215 -0
- package/src/containers/Storage/PaginatedStorageNodes/PaginatedStorageNodes.tsx +44 -0
- package/src/containers/Storage/PaginatedStorageNodes/StorageNodesComponent.tsx +72 -0
- package/src/containers/Storage/PaginatedStorageNodes/StorageNodesControls.tsx +121 -0
- package/src/containers/Storage/PaginatedStorageNodes/index.ts +1 -0
- package/src/containers/Storage/PaginatedStorageNodes/useStorageNodesColumnsToSelect.ts +23 -0
- package/src/containers/Storage/PaginatedStorageNodesTable/PaginatedStorageNodesTable.tsx +116 -0
- package/src/containers/Storage/PaginatedStorageNodesTable/StorageNodes.scss +5 -0
- package/src/containers/Storage/PaginatedStorageNodesTable/StorageNodesEmptyDataMessage.tsx +45 -0
- package/src/containers/Storage/PaginatedStorageNodesTable/columns/StorageNodesColumns.scss +17 -0
- package/src/containers/Storage/PaginatedStorageNodesTable/columns/columns.tsx +100 -0
- package/src/containers/Storage/PaginatedStorageNodesTable/columns/constants.ts +62 -0
- package/src/containers/Storage/PaginatedStorageNodesTable/columns/hooks.ts +106 -0
- package/src/containers/Storage/PaginatedStorageNodesTable/columns/types.ts +14 -0
- package/src/containers/Storage/PaginatedStorageNodesTable/getNodes.ts +70 -0
- package/src/containers/Storage/PaginatedStorageNodesTable/i18n/en.json +8 -0
- package/src/containers/Storage/PaginatedStorageNodesTable/i18n/index.ts +8 -0
- package/src/containers/Storage/PaginatedStorageNodesTable/i18n/ru.json +8 -0
- package/src/containers/Storage/PaginatedStorageNodesTable/index.tsx +1 -0
- package/src/containers/Storage/Storage.scss +18 -0
- package/src/containers/Storage/StorageExpertModePanel/StorageExpertModePanel.scss +49 -0
- package/src/containers/Storage/StorageExpertModePanel/StorageExpertModePanel.tsx +151 -0
- package/src/containers/Storage/StorageExpertModePanel/components/AllLegend.tsx +165 -0
- package/src/containers/Storage/StorageExpertModePanel/components/CompactionLegend.tsx +7 -0
- package/src/containers/Storage/StorageExpertModePanel/components/FrontQueuesLegend.tsx +54 -0
- package/src/containers/Storage/StorageExpertModePanel/components/PDiskDecommitLegend.tsx +47 -0
- package/src/containers/Storage/StorageExpertModePanel/components/PDiskDeviceLegend.tsx +7 -0
- package/src/containers/Storage/StorageExpertModePanel/components/PDiskDriveLegend.tsx +48 -0
- package/src/containers/Storage/StorageExpertModePanel/components/PDiskMaintenanceLegend.tsx +54 -0
- package/src/containers/Storage/StorageExpertModePanel/components/PDiskStateLegend.tsx +56 -0
- package/src/containers/Storage/StorageExpertModePanel/components/SpaceLegend.scss +115 -0
- package/src/containers/Storage/StorageExpertModePanel/components/SpaceLegend.tsx +111 -0
- package/src/containers/Storage/StorageExpertModePanel/components/StateLegend.tsx +56 -0
- package/src/containers/Storage/StorageExpertModePanel/components/StatusPairLegend.tsx +61 -0
- package/src/containers/Storage/StorageExpertModePanel/components/getSpaceLegendSelection.ts +52 -0
- package/src/containers/Storage/StorageExpertModePanel/components/index.ts +10 -0
- package/src/containers/Storage/StorageExpertModePanel/components/useSpaceLegendSelection.ts +37 -0
- package/src/containers/Storage/StorageExpertModePanel/constants.ts +25 -0
- package/src/containers/Storage/StorageExpertModePanel/i18n/en.json +69 -0
- package/src/containers/Storage/StorageExpertModePanel/i18n/index.ts +7 -0
- package/src/containers/Storage/StorageTypeFilter/StorageTypeFilter.tsx +29 -0
- package/src/containers/Storage/StorageVisibleEntitiesFilter/StorageVisibleEntitiesFilter.tsx +33 -0
- package/src/containers/Storage/TableGroup/TableGroup.scss +50 -0
- package/src/containers/Storage/TableGroup/TableGroup.tsx +65 -0
- package/src/containers/Storage/TableGroup/useExpandedTableGroups.ts +34 -0
- package/src/containers/Storage/VDisks/VDisks.scss +28 -0
- package/src/containers/Storage/VDisks/VDisks.tsx +47 -0
- package/src/containers/Storage/constants.ts +4 -0
- package/src/containers/Storage/i18n/en.json +14 -0
- package/src/containers/Storage/i18n/index.ts +7 -0
- package/src/containers/Storage/shared.tsx +5 -0
- package/src/containers/Storage/types.ts +16 -0
- package/src/containers/Storage/useStoragePDiskDisplayStateGetter.ts +337 -0
- package/src/containers/Storage/useStorageQueryParams.ts +373 -0
- package/src/containers/Storage/useStorageVDiskDisplayStateGetter.ts +189 -0
- package/src/containers/Storage/utils/index.ts +137 -0
- package/src/containers/Storage/utils/useStorageColumnsSettings.ts +78 -0
- package/src/containers/StorageGroupPage/StorageGroupPage.scss +37 -0
- package/src/containers/StorageGroupPage/StorageGroupPage.tsx +146 -0
- package/src/containers/StorageGroupPage/i18n/en.json +5 -0
- package/src/containers/StorageGroupPage/i18n/index.ts +7 -0
- package/src/containers/Tablet/Tablet.scss +19 -0
- package/src/containers/Tablet/Tablet.tsx +250 -0
- package/src/containers/Tablet/components/TabletControls/TabletControls.tsx +93 -0
- package/src/containers/Tablet/components/TabletControls/index.ts +1 -0
- package/src/containers/Tablet/components/TabletInfo/TabletInfo.scss +12 -0
- package/src/containers/Tablet/components/TabletInfo/TabletInfo.tsx +168 -0
- package/src/containers/Tablet/components/TabletInfo/i18n/en.json +18 -0
- package/src/containers/Tablet/components/TabletInfo/i18n/index.ts +7 -0
- package/src/containers/Tablet/components/TabletInfo/index.ts +1 -0
- package/src/containers/Tablet/components/TabletStorageInfo/TabletStorageInfo.scss +20 -0
- package/src/containers/Tablet/components/TabletStorageInfo/TabletStorageInfo.tsx +34 -0
- package/src/containers/Tablet/components/TabletStorageInfo/columns.tsx +100 -0
- package/src/containers/Tablet/components/TabletStorageInfo/i18n/en.json +9 -0
- package/src/containers/Tablet/components/TabletStorageInfo/i18n/index.ts +7 -0
- package/src/containers/Tablet/components/TabletStorageInfo/shared.ts +3 -0
- package/src/containers/Tablet/components/TabletStorageInfo/types.ts +6 -0
- package/src/containers/Tablet/components/TabletStorageInfo/utils.ts +36 -0
- package/src/containers/Tablet/components/TabletTable/TabletTable.tsx +107 -0
- package/src/containers/Tablet/components/TabletTable/index.ts +1 -0
- package/src/containers/Tablet/i18n/en.json +27 -0
- package/src/containers/Tablet/i18n/index.ts +7 -0
- package/src/containers/Tablet/index.ts +1 -0
- package/src/containers/Tablet/utils.ts +19 -0
- package/src/containers/Tablets/Tablets.tsx +133 -0
- package/src/containers/Tablets/TabletsTable.tsx +303 -0
- package/src/containers/Tablets/i18n/en.json +17 -0
- package/src/containers/Tablets/i18n/index.ts +7 -0
- package/src/containers/Tenant/Diagnostics/AccessRights/AccessRights.scss +74 -0
- package/src/containers/Tenant/Diagnostics/AccessRights/AccessRights.tsx +73 -0
- package/src/containers/Tenant/Diagnostics/AccessRights/components/ChangeOwnerDialog.tsx +150 -0
- package/src/containers/Tenant/Diagnostics/AccessRights/components/Owner.tsx +66 -0
- package/src/containers/Tenant/Diagnostics/AccessRights/components/RightsTable/Actions.tsx +89 -0
- package/src/containers/Tenant/Diagnostics/AccessRights/components/RightsTable/RevokeAllRightsDialog.tsx +156 -0
- package/src/containers/Tenant/Diagnostics/AccessRights/components/RightsTable/RightsTable.tsx +35 -0
- package/src/containers/Tenant/Diagnostics/AccessRights/components/RightsTable/columns.tsx +78 -0
- package/src/containers/Tenant/Diagnostics/AccessRights/i18n/en.json +22 -0
- package/src/containers/Tenant/Diagnostics/AccessRights/i18n/index.ts +7 -0
- package/src/containers/Tenant/Diagnostics/AccessRights/shared.ts +3 -0
- package/src/containers/Tenant/Diagnostics/Consumers/Consumers.scss +33 -0
- package/src/containers/Tenant/Diagnostics/Consumers/Consumers.tsx +107 -0
- package/src/containers/Tenant/Diagnostics/Consumers/Headers/Headers.scss +5 -0
- package/src/containers/Tenant/Diagnostics/Consumers/Headers/Headers.tsx +17 -0
- package/src/containers/Tenant/Diagnostics/Consumers/Headers/index.ts +1 -0
- package/src/containers/Tenant/Diagnostics/Consumers/TopicStats/ConsumersTopicStats.scss +33 -0
- package/src/containers/Tenant/Diagnostics/Consumers/TopicStats/ConsumersTopicStats.tsx +42 -0
- package/src/containers/Tenant/Diagnostics/Consumers/TopicStats/index.ts +1 -0
- package/src/containers/Tenant/Diagnostics/Consumers/columns/Columns.scss +5 -0
- package/src/containers/Tenant/Diagnostics/Consumers/columns/columns.tsx +101 -0
- package/src/containers/Tenant/Diagnostics/Consumers/columns/index.ts +1 -0
- package/src/containers/Tenant/Diagnostics/Consumers/i18n/en.json +7 -0
- package/src/containers/Tenant/Diagnostics/Consumers/i18n/index.ts +8 -0
- package/src/containers/Tenant/Diagnostics/Consumers/i18n/ru.json +7 -0
- package/src/containers/Tenant/Diagnostics/Consumers/utils/constants.ts +23 -0
- package/src/containers/Tenant/Diagnostics/Describe/Describe.scss +16 -0
- package/src/containers/Tenant/Diagnostics/Describe/Describe.tsx +60 -0
- package/src/containers/Tenant/Diagnostics/DetailedOverview/DetailedOverview.scss +23 -0
- package/src/containers/Tenant/Diagnostics/DetailedOverview/DetailedOverview.tsx +54 -0
- package/src/containers/Tenant/Diagnostics/Diagnostics.scss +44 -0
- package/src/containers/Tenant/Diagnostics/Diagnostics.tsx +124 -0
- package/src/containers/Tenant/Diagnostics/DiagnosticsPages.ts +385 -0
- package/src/containers/Tenant/Diagnostics/DiagnosticsTabs/DiagnosticsTabs.scss +24 -0
- package/src/containers/Tenant/Diagnostics/DiagnosticsTabs/DiagnosticsTabs.tsx +60 -0
- package/src/containers/Tenant/Diagnostics/HotKeys/HotKeys.scss +21 -0
- package/src/containers/Tenant/Diagnostics/HotKeys/HotKeys.tsx +145 -0
- package/src/containers/Tenant/Diagnostics/HotKeys/i18n/en.json +6 -0
- package/src/containers/Tenant/Diagnostics/HotKeys/i18n/index.ts +7 -0
- package/src/containers/Tenant/Diagnostics/Network/Network.scss +153 -0
- package/src/containers/Tenant/Diagnostics/Network/Network.tsx +187 -0
- package/src/containers/Tenant/Diagnostics/Network/NetworkPlaceholder/NetworkPlaceholder.tsx +19 -0
- package/src/containers/Tenant/Diagnostics/Network/NetworkWrapper.tsx +41 -0
- package/src/containers/Tenant/Diagnostics/Network/NodeNetwork/NodeNetwork.scss +54 -0
- package/src/containers/Tenant/Diagnostics/Network/NodeNetwork/NodeNetwork.tsx +75 -0
- package/src/containers/Tenant/Diagnostics/Network/NodeTooltipPopup/NodeTooltipPopup.tsx +62 -0
- package/src/containers/Tenant/Diagnostics/Network/Nodes/Nodes.tsx +308 -0
- package/src/containers/Tenant/Diagnostics/Network/i18n/en.json +11 -0
- package/src/containers/Tenant/Diagnostics/Network/i18n/index.ts +7 -0
- package/src/containers/Tenant/Diagnostics/Network/utils.ts +20 -0
- package/src/containers/Tenant/Diagnostics/Overview/AsyncReplicationInfo/AsyncReplicationInfo.tsx +63 -0
- package/src/containers/Tenant/Diagnostics/Overview/AsyncReplicationInfo/Credentials.tsx +27 -0
- package/src/containers/Tenant/Diagnostics/Overview/AsyncReplicationInfo/i18n/en.json +6 -0
- package/src/containers/Tenant/Diagnostics/Overview/AsyncReplicationInfo/i18n/index.ts +7 -0
- package/src/containers/Tenant/Diagnostics/Overview/AsyncReplicationInfo/index.ts +1 -0
- package/src/containers/Tenant/Diagnostics/Overview/AsyncReplicationPaths/AsyncReplicationPaths.scss +7 -0
- package/src/containers/Tenant/Diagnostics/Overview/AsyncReplicationPaths/AsyncReplicationPaths.tsx +63 -0
- package/src/containers/Tenant/Diagnostics/Overview/AsyncReplicationPaths/i18n/en.json +7 -0
- package/src/containers/Tenant/Diagnostics/Overview/AsyncReplicationPaths/i18n/index.ts +7 -0
- package/src/containers/Tenant/Diagnostics/Overview/AsyncReplicationPaths/index.ts +1 -0
- package/src/containers/Tenant/Diagnostics/Overview/ChangefeedInfo/ChangefeedInfo.tsx +38 -0
- package/src/containers/Tenant/Diagnostics/Overview/ChangefeedInfo/index.ts +1 -0
- package/src/containers/Tenant/Diagnostics/Overview/DatabaseInfo/DatabaseInfo.scss +21 -0
- package/src/containers/Tenant/Diagnostics/Overview/DatabaseInfo/DatabaseInfo.tsx +129 -0
- package/src/containers/Tenant/Diagnostics/Overview/DatabaseInfo/i18n/en.json +9 -0
- package/src/containers/Tenant/Diagnostics/Overview/DatabaseInfo/i18n/index.ts +7 -0
- package/src/containers/Tenant/Diagnostics/Overview/DatabaseInfo/utils.ts +10 -0
- package/src/containers/Tenant/Diagnostics/Overview/DefaultEntityInfo/DefaultEntityInfo.scss +7 -0
- package/src/containers/Tenant/Diagnostics/Overview/DefaultEntityInfo/DefaultEntityInfo.tsx +19 -0
- package/src/containers/Tenant/Diagnostics/Overview/DefaultEntityInfo/index.ts +1 -0
- package/src/containers/Tenant/Diagnostics/Overview/Overview.tsx +147 -0
- package/src/containers/Tenant/Diagnostics/Overview/SchemaObjectInfo/SchemaObjectInfo.scss +5 -0
- package/src/containers/Tenant/Diagnostics/Overview/SchemaObjectInfo/SchemaObjectInfo.tsx +47 -0
- package/src/containers/Tenant/Diagnostics/Overview/SchemaObjectInfo/SchemaObjectInfoContainer.tsx +85 -0
- package/src/containers/Tenant/Diagnostics/Overview/SchemaObjectInfo/i18n/en.json +34 -0
- package/src/containers/Tenant/Diagnostics/Overview/SchemaObjectInfo/i18n/index.ts +7 -0
- package/src/containers/Tenant/Diagnostics/Overview/SchemaObjectInfo/index.ts +3 -0
- package/src/containers/Tenant/Diagnostics/Overview/SchemaObjectInfo/prepareSchemaObjectInfo.tsx +136 -0
- package/src/containers/Tenant/Diagnostics/Overview/SchemaObjectInfo/prepareSpecificSchemaObjectInfo.tsx +104 -0
- package/src/containers/Tenant/Diagnostics/Overview/StreamingQueryInfo/StreamingQueryInfo.scss +5 -0
- package/src/containers/Tenant/Diagnostics/Overview/StreamingQueryInfo/StreamingQueryInfo.tsx +124 -0
- package/src/containers/Tenant/Diagnostics/Overview/StreamingQueryInfo/i18n/en.json +5 -0
- package/src/containers/Tenant/Diagnostics/Overview/StreamingQueryInfo/i18n/index.ts +7 -0
- package/src/containers/Tenant/Diagnostics/Overview/StreamingQueryInfo/index.ts +1 -0
- package/src/containers/Tenant/Diagnostics/Overview/TableInfo/CompactTableAction/CompactTableAction.scss +81 -0
- package/src/containers/Tenant/Diagnostics/Overview/TableInfo/CompactTableAction/CompactTableAction.tsx +468 -0
- package/src/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/ManagePartitioningDialog.scss +32 -0
- package/src/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/ManagePartitioningDialog.tsx +364 -0
- package/src/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/SplitUnitSelect.scss +14 -0
- package/src/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/SplitUnitSelect.tsx +79 -0
- package/src/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/constants.ts +29 -0
- package/src/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/i18n/en.json +23 -0
- package/src/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/i18n/index.ts +7 -0
- package/src/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/types.ts +28 -0
- package/src/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/useManagePartitionForm.tsx +27 -0
- package/src/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/utils.ts +160 -0
- package/src/containers/Tenant/Diagnostics/Overview/TableInfo/PartitionsProgress/PartitionsProgress.scss +57 -0
- package/src/containers/Tenant/Diagnostics/Overview/TableInfo/PartitionsProgress/PartitionsProgress.tsx +172 -0
- package/src/containers/Tenant/Diagnostics/Overview/TableInfo/PartitionsProgress/helpers.ts +41 -0
- package/src/containers/Tenant/Diagnostics/Overview/TableInfo/PartitionsProgress/i18n/en.json +11 -0
- package/src/containers/Tenant/Diagnostics/Overview/TableInfo/PartitionsProgress/i18n/index.ts +7 -0
- package/src/containers/Tenant/Diagnostics/Overview/TableInfo/PartitionsProgress/utils.ts +116 -0
- package/src/containers/Tenant/Diagnostics/Overview/TableInfo/TableInfo.scss +74 -0
- package/src/containers/Tenant/Diagnostics/Overview/TableInfo/TableInfo.tsx +233 -0
- package/src/containers/Tenant/Diagnostics/Overview/TableInfo/components/TableInfoSection.tsx +36 -0
- package/src/containers/Tenant/Diagnostics/Overview/TableInfo/constants.ts +6 -0
- package/src/containers/Tenant/Diagnostics/Overview/TableInfo/hooks/useTableCompaction.ts +74 -0
- package/src/containers/Tenant/Diagnostics/Overview/TableInfo/hooks/useTablePartitioning.ts +56 -0
- package/src/containers/Tenant/Diagnostics/Overview/TableInfo/i18n/en.json +60 -0
- package/src/containers/Tenant/Diagnostics/Overview/TableInfo/i18n/index.ts +7 -0
- package/src/containers/Tenant/Diagnostics/Overview/TableInfo/index.ts +1 -0
- package/src/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/index.ts +109 -0
- package/src/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/prepareColumnTableInfo.tsx +50 -0
- package/src/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/prepareCommonTableInfo.ts +145 -0
- package/src/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/preparePartitionConfig.ts +66 -0
- package/src/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/prepareRowTableInfo.tsx +99 -0
- package/src/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/prepareTTL.ts +21 -0
- package/src/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/renderHelpers.tsx +82 -0
- package/src/containers/Tenant/Diagnostics/Overview/TableInfo/utils.ts +39 -0
- package/src/containers/Tenant/Diagnostics/Overview/TopicInfo/TopicInfo.tsx +39 -0
- package/src/containers/Tenant/Diagnostics/Overview/TopicInfo/index.ts +1 -0
- package/src/containers/Tenant/Diagnostics/Overview/TopicStats/TopicStats.scss +39 -0
- package/src/containers/Tenant/Diagnostics/Overview/TopicStats/TopicStats.tsx +116 -0
- package/src/containers/Tenant/Diagnostics/Overview/TopicStats/i18n/en.json +6 -0
- package/src/containers/Tenant/Diagnostics/Overview/TopicStats/i18n/index.ts +8 -0
- package/src/containers/Tenant/Diagnostics/Overview/TopicStats/i18n/ru.json +6 -0
- package/src/containers/Tenant/Diagnostics/Overview/TopicStats/index.ts +1 -0
- package/src/containers/Tenant/Diagnostics/Overview/TransferInfo/Credentials.tsx +30 -0
- package/src/containers/Tenant/Diagnostics/Overview/TransferInfo/TransferInfo.scss +5 -0
- package/src/containers/Tenant/Diagnostics/Overview/TransferInfo/TransferInfo.tsx +149 -0
- package/src/containers/Tenant/Diagnostics/Overview/TransferInfo/i18n/en.json +10 -0
- package/src/containers/Tenant/Diagnostics/Overview/TransferInfo/i18n/index.ts +7 -0
- package/src/containers/Tenant/Diagnostics/Overview/TransferInfo/index.ts +1 -0
- package/src/containers/Tenant/Diagnostics/Overview/utils/index.ts +1 -0
- package/src/containers/Tenant/Diagnostics/Overview/utils/prepareTopicSchemaInfo.ts +44 -0
- package/src/containers/Tenant/Diagnostics/Partitions/Headers/Headers.scss +21 -0
- package/src/containers/Tenant/Diagnostics/Partitions/Headers/Headers.tsx +51 -0
- package/src/containers/Tenant/Diagnostics/Partitions/Headers/index.ts +1 -0
- package/src/containers/Tenant/Diagnostics/Partitions/Partitions.scss +33 -0
- package/src/containers/Tenant/Diagnostics/Partitions/Partitions.tsx +140 -0
- package/src/containers/Tenant/Diagnostics/Partitions/PartitionsControls/PartitionsControls.tsx +131 -0
- package/src/containers/Tenant/Diagnostics/Partitions/columns/Columns.scss +25 -0
- package/src/containers/Tenant/Diagnostics/Partitions/columns/CommittedOffsetCell.tsx +216 -0
- package/src/containers/Tenant/Diagnostics/Partitions/columns/columns.tsx +282 -0
- package/src/containers/Tenant/Diagnostics/Partitions/columns/index.ts +1 -0
- package/src/containers/Tenant/Diagnostics/Partitions/i18n/en.json +32 -0
- package/src/containers/Tenant/Diagnostics/Partitions/i18n/index.ts +7 -0
- package/src/containers/Tenant/Diagnostics/Partitions/utils/constants.ts +86 -0
- package/src/containers/Tenant/Diagnostics/Partitions/utils/index.ts +27 -0
- package/src/containers/Tenant/Diagnostics/Partitions/utils/showMoveOffsetConfirmation.tsx +34 -0
- package/src/containers/Tenant/Diagnostics/Partitions/utils/showSpecifyOffsetConfirmation.tsx +160 -0
- package/src/containers/Tenant/Diagnostics/Partitions/utils/types.ts +6 -0
- package/src/containers/Tenant/Diagnostics/Partitions/utils/useGetPartitionsColumns.ts +62 -0
- package/src/containers/Tenant/Diagnostics/StorageUsage/MediaSectionSummary.scss +43 -0
- package/src/containers/Tenant/Diagnostics/StorageUsage/MediaSectionSummary.tsx +72 -0
- package/src/containers/Tenant/Diagnostics/StorageUsage/StorageUsage.scss +6 -0
- package/src/containers/Tenant/Diagnostics/StorageUsage/StorageUsage.tsx +136 -0
- package/src/containers/Tenant/Diagnostics/StorageUsage/StorageUsageSections.scss +9 -0
- package/src/containers/Tenant/Diagnostics/StorageUsage/StorageUsageSections.tsx +49 -0
- package/src/containers/Tenant/Diagnostics/StorageUsage/StorageUsageTable.scss +88 -0
- package/src/containers/Tenant/Diagnostics/StorageUsage/StorageUsageTable.tsx +241 -0
- package/src/containers/Tenant/Diagnostics/StorageUsage/storageUsageFormatters.ts +50 -0
- package/src/containers/Tenant/Diagnostics/TenantOverview/DefaultOverviewContent/defaultDashboardConfig.ts +39 -0
- package/src/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/HealthcheckPreview.scss +46 -0
- package/src/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/HealthcheckPreview.tsx +137 -0
- package/src/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/i18n/en.json +11 -0
- package/src/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/i18n/index.ts +7 -0
- package/src/containers/Tenant/Diagnostics/TenantOverview/MetricPageSummary/MetricPageSummary.scss +51 -0
- package/src/containers/Tenant/Diagnostics/TenantOverview/MetricPageSummary/MetricPageSummary.tsx +74 -0
- package/src/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/MetricsTabs.scss +226 -0
- package/src/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/MetricsTabs.tsx +103 -0
- package/src/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/components/CpuTab.tsx +53 -0
- package/src/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/components/MemoryTab.tsx +42 -0
- package/src/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/components/NetworkTab.tsx +42 -0
- package/src/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/components/PlaceholderTab.tsx +13 -0
- package/src/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/components/StorageTab.tsx +53 -0
- package/src/containers/Tenant/Diagnostics/TenantOverview/StatsWrapper/StatsWrapper.scss +14 -0
- package/src/containers/Tenant/Diagnostics/TenantOverview/StatsWrapper/StatsWrapper.tsx +41 -0
- package/src/containers/Tenant/Diagnostics/TenantOverview/TabCard/MetricTabCard.tsx +78 -0
- package/src/containers/Tenant/Diagnostics/TenantOverview/TabCard/ServerlessTabCard.tsx +60 -0
- package/src/containers/Tenant/Diagnostics/TenantOverview/TabCard/TabCard.scss +44 -0
- package/src/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TenantCpu.tsx +83 -0
- package/src/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TopNodesByCpu.tsx +77 -0
- package/src/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TopNodesByLoad.tsx +83 -0
- package/src/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TopQueries.tsx +49 -0
- package/src/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TopShards.tsx +37 -0
- package/src/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/cpuDashboardConfig.ts +28 -0
- package/src/containers/Tenant/Diagnostics/TenantOverview/TenantDashboard/TenantDashboard.scss +10 -0
- package/src/containers/Tenant/Diagnostics/TenantOverview/TenantDashboard/TenantDashboard.tsx +93 -0
- package/src/containers/Tenant/Diagnostics/TenantOverview/TenantMemory/MemoryDetailsSection.scss +44 -0
- package/src/containers/Tenant/Diagnostics/TenantOverview/TenantMemory/MemoryDetailsSection.tsx +72 -0
- package/src/containers/Tenant/Diagnostics/TenantOverview/TenantMemory/MemorySegmentsList.tsx +75 -0
- package/src/containers/Tenant/Diagnostics/TenantOverview/TenantMemory/TenantMemory.scss +24 -0
- package/src/containers/Tenant/Diagnostics/TenantOverview/TenantMemory/TenantMemory.tsx +93 -0
- package/src/containers/Tenant/Diagnostics/TenantOverview/TenantMemory/TopNodesByMemory.tsx +84 -0
- package/src/containers/Tenant/Diagnostics/TenantOverview/TenantMemory/memoryDashboardConfig.ts +17 -0
- package/src/containers/Tenant/Diagnostics/TenantOverview/TenantNetwork/TenantNetwork.scss +9 -0
- package/src/containers/Tenant/Diagnostics/TenantOverview/TenantNetwork/TenantNetwork.tsx +61 -0
- package/src/containers/Tenant/Diagnostics/TenantOverview/TenantNetwork/TopNodesByPing.tsx +48 -0
- package/src/containers/Tenant/Diagnostics/TenantOverview/TenantNetwork/TopNodesBySkew.tsx +48 -0
- package/src/containers/Tenant/Diagnostics/TenantOverview/TenantNetwork/columns.ts +53 -0
- package/src/containers/Tenant/Diagnostics/TenantOverview/TenantNetwork/networkDashboardConfig.ts +22 -0
- package/src/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.scss +77 -0
- package/src/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.tsx +442 -0
- package/src/containers/Tenant/Diagnostics/TenantOverview/TenantOverviewTableLayout.tsx +46 -0
- package/src/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorage.tsx +115 -0
- package/src/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageGroups.tsx +83 -0
- package/src/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageMode.tsx +27 -0
- package/src/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageNew.scss +54 -0
- package/src/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageNew.tsx +168 -0
- package/src/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageSegments.scss +128 -0
- package/src/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageSegments.tsx +428 -0
- package/src/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageSummaryCard.scss +193 -0
- package/src/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageSummaryCard.tsx +373 -0
- package/src/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageSummarySections.scss +3 -0
- package/src/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageSummarySections.tsx +334 -0
- package/src/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageTopUsageTable.scss +121 -0
- package/src/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageTopUsageTable.tsx +236 -0
- package/src/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TopGroups.tsx +89 -0
- package/src/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TopTables.tsx +67 -0
- package/src/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/displayFormatters.ts +162 -0
- package/src/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/i18n/en.json +72 -0
- package/src/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/i18n/index.ts +8 -0
- package/src/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/storageDashboardConfig.ts +18 -0
- package/src/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/types.ts +20 -0
- package/src/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/useTenantStorageNewData.ts +38 -0
- package/src/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/utils.ts +803 -0
- package/src/containers/Tenant/Diagnostics/TenantOverview/i18n/en.json +75 -0
- package/src/containers/Tenant/Diagnostics/TenantOverview/i18n/index.ts +7 -0
- package/src/containers/Tenant/Diagnostics/TenantOverview/metricOverview.ts +206 -0
- package/src/containers/Tenant/Diagnostics/TenantOverview/utils.ts +3 -0
- package/src/containers/Tenant/Diagnostics/TopQueries/QueriesTableWithDrawer.tsx +119 -0
- package/src/containers/Tenant/Diagnostics/TopQueries/QueryDetails/NotFoundContainer.tsx +34 -0
- package/src/containers/Tenant/Diagnostics/TopQueries/QueryDetails/QueryDetailsDrawerContent.tsx +83 -0
- package/src/containers/Tenant/Diagnostics/TopQueries/RunningQueriesData.tsx +115 -0
- package/src/containers/Tenant/Diagnostics/TopQueries/TopQueries.scss +64 -0
- package/src/containers/Tenant/Diagnostics/TopQueries/TopQueries.tsx +85 -0
- package/src/containers/Tenant/Diagnostics/TopQueries/TopQueriesData.tsx +184 -0
- package/src/containers/Tenant/Diagnostics/TopQueries/columns/columns.tsx +214 -0
- package/src/containers/Tenant/Diagnostics/TopQueries/columns/constants.ts +159 -0
- package/src/containers/Tenant/Diagnostics/TopQueries/columns/i18n/en.json +21 -0
- package/src/containers/Tenant/Diagnostics/TopQueries/columns/i18n/index.ts +7 -0
- package/src/containers/Tenant/Diagnostics/TopQueries/constants.ts +32 -0
- package/src/containers/Tenant/Diagnostics/TopQueries/hooks/useRunningQueriesSort.ts +48 -0
- package/src/containers/Tenant/Diagnostics/TopQueries/hooks/useScrollToSelected.ts +49 -0
- package/src/containers/Tenant/Diagnostics/TopQueries/hooks/useSetSelectedTopQueryRowFromParams.ts +53 -0
- package/src/containers/Tenant/Diagnostics/TopQueries/hooks/useSortParam.ts +66 -0
- package/src/containers/Tenant/Diagnostics/TopQueries/hooks/useTopQueriesSort.ts +50 -0
- package/src/containers/Tenant/Diagnostics/TopQueries/i18n/en.json +12 -0
- package/src/containers/Tenant/Diagnostics/TopQueries/i18n/index.ts +7 -0
- package/src/containers/Tenant/Diagnostics/TopQueries/utils/generateShareableUrl.ts +32 -0
- package/src/containers/Tenant/Diagnostics/TopQueries/utils/getTopQueryRowQueryParams.ts +19 -0
- package/src/containers/Tenant/Diagnostics/TopQueries/utils.ts +150 -0
- package/src/containers/Tenant/Diagnostics/TopShards/Filters/Filters.tsx +67 -0
- package/src/containers/Tenant/Diagnostics/TopShards/Filters/index.ts +1 -0
- package/src/containers/Tenant/Diagnostics/TopShards/TopShards.scss +8 -0
- package/src/containers/Tenant/Diagnostics/TopShards/TopShards.tsx +169 -0
- package/src/containers/Tenant/Diagnostics/TopShards/i18n/en.json +6 -0
- package/src/containers/Tenant/Diagnostics/TopShards/i18n/index.ts +8 -0
- package/src/containers/Tenant/Diagnostics/TopShards/i18n/ru.json +6 -0
- package/src/containers/Tenant/Diagnostics/TopShards/utils.ts +26 -0
- package/src/containers/Tenant/Diagnostics/TopicData/TopicData.scss +34 -0
- package/src/containers/Tenant/Diagnostics/TopicData/TopicData.tsx +378 -0
- package/src/containers/Tenant/Diagnostics/TopicData/TopicDataControls/TopicDataControls.tsx +205 -0
- package/src/containers/Tenant/Diagnostics/TopicData/TopicMessageDetails/TopicMessageDetails.scss +62 -0
- package/src/containers/Tenant/Diagnostics/TopicData/TopicMessageDetails/TopicMessageDetails.tsx +166 -0
- package/src/containers/Tenant/Diagnostics/TopicData/TopicMessageDetails/components/TopicDataSection.tsx +37 -0
- package/src/containers/Tenant/Diagnostics/TopicData/TopicMessageDetails/components/TopicMessage.tsx +210 -0
- package/src/containers/Tenant/Diagnostics/TopicData/TopicMessageDetails/components/TopicMessageGeneralInfo.tsx +112 -0
- package/src/containers/Tenant/Diagnostics/TopicData/TopicMessageDetails/components/TopicMessageMetadata.tsx +25 -0
- package/src/containers/Tenant/Diagnostics/TopicData/TopicMessageDetails/components/fields.tsx +98 -0
- package/src/containers/Tenant/Diagnostics/TopicData/TopicMessageDetails/shared.ts +5 -0
- package/src/containers/Tenant/Diagnostics/TopicData/columns/Columns.scss +41 -0
- package/src/containers/Tenant/Diagnostics/TopicData/columns/columns.tsx +428 -0
- package/src/containers/Tenant/Diagnostics/TopicData/getData.ts +148 -0
- package/src/containers/Tenant/Diagnostics/TopicData/i18n/en.json +39 -0
- package/src/containers/Tenant/Diagnostics/TopicData/i18n/index.ts +7 -0
- package/src/containers/Tenant/Diagnostics/TopicData/useTopicDataQueryParams.ts +67 -0
- package/src/containers/Tenant/Diagnostics/TopicData/useTopicPagination.ts +69 -0
- package/src/containers/Tenant/Diagnostics/TopicData/useTopicPartitions.ts +90 -0
- package/src/containers/Tenant/Diagnostics/TopicData/useTopicProbeQuery.ts +85 -0
- package/src/containers/Tenant/Diagnostics/TopicData/useTopicScroll.ts +458 -0
- package/src/containers/Tenant/Diagnostics/TopicData/utils/constants.ts +67 -0
- package/src/containers/Tenant/Diagnostics/TopicData/utils/types.ts +54 -0
- package/src/containers/Tenant/Diagnostics/i18n/en.json +41 -0
- package/src/containers/Tenant/Diagnostics/i18n/index.ts +7 -0
- package/src/containers/Tenant/Diagnostics/shared.ts +3 -0
- package/src/containers/Tenant/Diagnostics/tabsContent.tsx +203 -0
- package/src/containers/Tenant/Diagnostics/useDiagnosticsPages.ts +79 -0
- package/src/containers/Tenant/EntityTitle/EntityTitle.tsx +23 -0
- package/src/containers/Tenant/GrantAccess/GrantAccess.scss +44 -0
- package/src/containers/Tenant/GrantAccess/GrantAccess.tsx +210 -0
- package/src/containers/Tenant/GrantAccess/components/Footer.tsx +58 -0
- package/src/containers/Tenant/GrantAccess/components/Rights.tsx +153 -0
- package/src/containers/Tenant/GrantAccess/components/RightsSectionSelector.tsx +55 -0
- package/src/containers/Tenant/GrantAccess/components/SubjectInput.tsx +109 -0
- package/src/containers/Tenant/GrantAccess/i18n/en.json +40 -0
- package/src/containers/Tenant/GrantAccess/i18n/index.ts +7 -0
- package/src/containers/Tenant/GrantAccess/shared.ts +69 -0
- package/src/containers/Tenant/GrantAccess/utils.ts +78 -0
- package/src/containers/Tenant/Healthcheck/Healthcheck.scss +155 -0
- package/src/containers/Tenant/Healthcheck/Healthcheck.tsx +232 -0
- package/src/containers/Tenant/Healthcheck/HealthcheckContext.ts +27 -0
- package/src/containers/Tenant/Healthcheck/components/HealthcheckDrawer.tsx +98 -0
- package/src/containers/Tenant/Healthcheck/components/HealthcheckDrawerTitle.tsx +28 -0
- package/src/containers/Tenant/Healthcheck/components/HealthcheckFilter.tsx +15 -0
- package/src/containers/Tenant/Healthcheck/components/HealthcheckIssue.tsx +178 -0
- package/src/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/ComputeLocation.tsx +150 -0
- package/src/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/HealthcheckIssueDetails.tsx +97 -0
- package/src/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/IssueLocation.tsx +66 -0
- package/src/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/NodeInfo.tsx +39 -0
- package/src/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/PoolInfo.tsx +19 -0
- package/src/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/StorageLocation.tsx +187 -0
- package/src/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/utils.tsx +66 -0
- package/src/containers/Tenant/Healthcheck/components/HealthcheckIssueTabs.tsx +77 -0
- package/src/containers/Tenant/Healthcheck/components/HealthcheckIssues.tsx +79 -0
- package/src/containers/Tenant/Healthcheck/components/HealthcheckRefresh.tsx +76 -0
- package/src/containers/Tenant/Healthcheck/components/HealthcheckView.tsx +70 -0
- package/src/containers/Tenant/Healthcheck/i18n/en.json +48 -0
- package/src/containers/Tenant/Healthcheck/i18n/index.ts +7 -0
- package/src/containers/Tenant/Healthcheck/shared.ts +55 -0
- package/src/containers/Tenant/Healthcheck/types.ts +27 -0
- package/src/containers/Tenant/Healthcheck/useHealthcheck.ts +97 -0
- package/src/containers/Tenant/Healthcheck/utils.ts +93 -0
- package/src/containers/Tenant/Info/View/View.tsx +23 -0
- package/src/containers/Tenant/ObjectGeneral/ObjectGeneral.scss +13 -0
- package/src/containers/Tenant/ObjectGeneral/ObjectGeneral.tsx +80 -0
- package/src/containers/Tenant/ObjectSummary/CreateDirectoryDialog/CreateDirectoryDialog.scss +65 -0
- package/src/containers/Tenant/ObjectSummary/CreateDirectoryDialog/CreateDirectoryDialog.tsx +158 -0
- package/src/containers/Tenant/ObjectSummary/ObjectSummary.scss +187 -0
- package/src/containers/Tenant/ObjectSummary/ObjectSummary.tsx +550 -0
- package/src/containers/Tenant/ObjectSummary/ObjectTree.tsx +63 -0
- package/src/containers/Tenant/ObjectSummary/SchemaActions.tsx +41 -0
- package/src/containers/Tenant/ObjectSummary/SchemaTree/RefreshTreeButton.tsx +28 -0
- package/src/containers/Tenant/ObjectSummary/SchemaTree/SchemaTree.tsx +426 -0
- package/src/containers/Tenant/ObjectSummary/UpdateTreeContext.tsx +41 -0
- package/src/containers/Tenant/ObjectSummary/i18n/en.json +5 -0
- package/src/containers/Tenant/ObjectSummary/i18n/index.ts +7 -0
- package/src/containers/Tenant/ObjectSummary/shared.ts +3 -0
- package/src/containers/Tenant/ObjectSummary/transformPath.ts +32 -0
- package/src/containers/Tenant/Query/Issues/Issues.scss +116 -0
- package/src/containers/Tenant/Query/Issues/Issues.tsx +310 -0
- package/src/containers/Tenant/Query/Issues/IssuesDialog.tsx +35 -0
- package/src/containers/Tenant/Query/Issues/helpers.ts +98 -0
- package/src/containers/Tenant/Query/Issues/i18n/en.json +9 -0
- package/src/containers/Tenant/Query/Issues/i18n/index.ts +7 -0
- package/src/containers/Tenant/Query/Issues/models.ts +16 -0
- package/src/containers/Tenant/Query/NewSQL/NewSQL.tsx +292 -0
- package/src/containers/Tenant/Query/NewSQL/i18n/en.json +52 -0
- package/src/containers/Tenant/Query/NewSQL/i18n/index.ts +7 -0
- package/src/containers/Tenant/Query/Preview/Preview.scss +45 -0
- package/src/containers/Tenant/Query/Preview/Preview.tsx +33 -0
- package/src/containers/Tenant/Query/Preview/components/PreviewView.tsx +79 -0
- package/src/containers/Tenant/Query/Preview/components/TablePreview.tsx +57 -0
- package/src/containers/Tenant/Query/Preview/components/TopicPreview.tsx +125 -0
- package/src/containers/Tenant/Query/Preview/components/TopicPreviewTable.tsx +91 -0
- package/src/containers/Tenant/Query/Preview/i18n/en.json +4 -0
- package/src/containers/Tenant/Query/Preview/i18n/index.ts +7 -0
- package/src/containers/Tenant/Query/Preview/shared.ts +3 -0
- package/src/containers/Tenant/Query/Preview/types.ts +9 -0
- package/src/containers/Tenant/Query/QueriesHistory/QueriesHistory.scss +84 -0
- package/src/containers/Tenant/Query/QueriesHistory/QueriesHistory.tsx +159 -0
- package/src/containers/Tenant/Query/QueriesHistory/columns.tsx +171 -0
- package/src/containers/Tenant/Query/QueriesHistory/shared.ts +3 -0
- package/src/containers/Tenant/Query/Query.scss +20 -0
- package/src/containers/Tenant/Query/Query.tsx +80 -0
- package/src/containers/Tenant/Query/QueryEditor/EditorTabs/EditorTabItem.scss +158 -0
- package/src/containers/Tenant/Query/QueryEditor/EditorTabs/EditorTabItem.tsx +244 -0
- package/src/containers/Tenant/Query/QueryEditor/EditorTabs/EditorTabs.scss +35 -0
- package/src/containers/Tenant/Query/QueryEditor/EditorTabs/EditorTabs.tsx +115 -0
- package/src/containers/Tenant/Query/QueryEditor/EditorTabs/RenameQueryDialog.scss +21 -0
- package/src/containers/Tenant/Query/QueryEditor/EditorTabs/RenameQueryDialog.tsx +109 -0
- package/src/containers/Tenant/Query/QueryEditor/EditorTabs/TabExecutionStatusIndicator.scss +59 -0
- package/src/containers/Tenant/Query/QueryEditor/EditorTabs/TabExecutionStatusIndicator.tsx +19 -0
- package/src/containers/Tenant/Query/QueryEditor/QueryEditor.scss +111 -0
- package/src/containers/Tenant/Query/QueryEditor/QueryEditor.tsx +804 -0
- package/src/containers/Tenant/Query/QueryEditor/QueryEditorZeroTabsState.scss +52 -0
- package/src/containers/Tenant/Query/QueryEditor/QueryEditorZeroTabsState.tsx +41 -0
- package/src/containers/Tenant/Query/QueryEditor/YqlEditor/YqlEditor.tsx +766 -0
- package/src/containers/Tenant/Query/QueryEditor/YqlEditor/currentStatement.ts +199 -0
- package/src/containers/Tenant/Query/QueryEditor/YqlEditor/keybindings.ts +24 -0
- package/src/containers/Tenant/Query/QueryEditor/constants.ts +25 -0
- package/src/containers/Tenant/Query/QueryEditor/hooks/useCodeAssistHelpers.ts +84 -0
- package/src/containers/Tenant/Query/QueryEditor/hooks/useEditorOptions.ts +48 -0
- package/src/containers/Tenant/Query/QueryEditor/hooks/useEditorTabsGlobalHotkeys.ts +110 -0
- package/src/containers/Tenant/Query/QueryEditor/hooks/useQueryPageLeaveGuard.ts +64 -0
- package/src/containers/Tenant/Query/QueryEditor/hooks/useQueryTabsActions.tsx +274 -0
- package/src/containers/Tenant/Query/QueryEditor/types.ts +6 -0
- package/src/containers/Tenant/Query/QueryEditor/utils/queryExecutionManager.ts +45 -0
- package/src/containers/Tenant/Query/QueryEditor/utils/reachExplainQueryMetricaGoals.ts +18 -0
- package/src/containers/Tenant/Query/QueryEditor/utils/tabsManager.ts +94 -0
- package/src/containers/Tenant/Query/QueryEditorControls/EditorButton.scss +40 -0
- package/src/containers/Tenant/Query/QueryEditorControls/EditorButton.tsx +106 -0
- package/src/containers/Tenant/Query/QueryEditorControls/QueryEditorControls.scss +70 -0
- package/src/containers/Tenant/Query/QueryEditorControls/QueryEditorControls.tsx +217 -0
- package/src/containers/Tenant/Query/QueryEditorControls/utils/getChangedQueryExecutionSettings.ts +16 -0
- package/src/containers/Tenant/Query/QueryEditorControls/utils/getChangedQueryExecutionSettingsDescription.ts +34 -0
- package/src/containers/Tenant/Query/QueryResult/QueryResultViewer.scss +34 -0
- package/src/containers/Tenant/Query/QueryResult/QueryResultViewer.tsx +361 -0
- package/src/containers/Tenant/Query/QueryResult/components/Ast/Ast.scss +8 -0
- package/src/containers/Tenant/Query/QueryResult/components/Ast/Ast.tsx +36 -0
- package/src/containers/Tenant/Query/QueryResult/components/Graph/Graph.scss +8 -0
- package/src/containers/Tenant/Query/QueryResult/components/Graph/Graph.tsx +38 -0
- package/src/containers/Tenant/Query/QueryResult/components/PlanSection/PlanSection.tsx +72 -0
- package/src/containers/Tenant/Query/QueryResult/components/QueryInfoDropdown/QueryInfoDropdown.tsx +57 -0
- package/src/containers/Tenant/Query/QueryResult/components/QueryInfoDropdown/useQueryInfoMenuItems.tsx +143 -0
- package/src/containers/Tenant/Query/QueryResult/components/QueryJSONViewer/QueryJSONViewer.scss +12 -0
- package/src/containers/Tenant/Query/QueryResult/components/QueryJSONViewer/QueryJSONViewer.tsx +29 -0
- package/src/containers/Tenant/Query/QueryResult/components/QueryResultError/QueryResultError.scss +5 -0
- package/src/containers/Tenant/Query/QueryResult/components/QueryResultError/QueryResultError.tsx +46 -0
- package/src/containers/Tenant/Query/QueryResult/components/ResultSetsViewer/ResultSetsViewer.scss +36 -0
- package/src/containers/Tenant/Query/QueryResult/components/ResultSetsViewer/ResultSetsViewer.tsx +97 -0
- package/src/containers/Tenant/Query/QueryResult/components/SimplifiedPlan/MetricsCell.tsx +19 -0
- package/src/containers/Tenant/Query/QueryResult/components/SimplifiedPlan/OperationCell.tsx +140 -0
- package/src/containers/Tenant/Query/QueryResult/components/SimplifiedPlan/OperationParams.tsx +74 -0
- package/src/containers/Tenant/Query/QueryResult/components/SimplifiedPlan/SimplifiedPlan.scss +84 -0
- package/src/containers/Tenant/Query/QueryResult/components/SimplifiedPlan/SimplifiedPlan.tsx +112 -0
- package/src/containers/Tenant/Query/QueryResult/components/SimplifiedPlan/types.ts +6 -0
- package/src/containers/Tenant/Query/QueryResult/components/SimplifiedPlan/utils.ts +59 -0
- package/src/containers/Tenant/Query/QueryResult/components/Stub/Stub.scss +3 -0
- package/src/containers/Tenant/Query/QueryResult/components/Stub/Stub.tsx +13 -0
- package/src/containers/Tenant/Query/QueryResult/components/TraceButton/TraceButton.tsx +29 -0
- package/src/containers/Tenant/Query/QueryResult/constants.ts +56 -0
- package/src/containers/Tenant/Query/QueryResult/i18n/en.json +28 -0
- package/src/containers/Tenant/Query/QueryResult/i18n/index.ts +7 -0
- package/src/containers/Tenant/Query/QueryResult/utils.ts +11 -0
- package/src/containers/Tenant/Query/QuerySettingsBanner/QuerySettingsBanner.scss +5 -0
- package/src/containers/Tenant/Query/QuerySettingsBanner/QuerySettingsBanner.tsx +30 -0
- package/src/containers/Tenant/Query/QuerySettingsDialog/QuerySettingsDialog.scss +62 -0
- package/src/containers/Tenant/Query/QuerySettingsDialog/QuerySettingsDialog.tsx +399 -0
- package/src/containers/Tenant/Query/QuerySettingsDialog/QuerySettingsSelect.scss +22 -0
- package/src/containers/Tenant/Query/QuerySettingsDialog/QuerySettingsSelect.tsx +62 -0
- package/src/containers/Tenant/Query/QuerySettingsDialog/QuerySettingsTimeout.scss +17 -0
- package/src/containers/Tenant/Query/QuerySettingsDialog/QuerySettingsTimeout.tsx +65 -0
- package/src/containers/Tenant/Query/QuerySettingsDialog/TimeoutLabel.scss +23 -0
- package/src/containers/Tenant/Query/QuerySettingsDialog/TimeoutLabel.tsx +49 -0
- package/src/containers/Tenant/Query/QuerySettingsDialog/constants.ts +163 -0
- package/src/containers/Tenant/Query/QuerySettingsDialog/i18n/en.json +23 -0
- package/src/containers/Tenant/Query/QuerySettingsDialog/i18n/index.ts +8 -0
- package/src/containers/Tenant/Query/QuerySettingsDialog/i18n/ru.json +23 -0
- package/src/containers/Tenant/Query/QueryStoppedBanner/QueryStoppedBanner.scss +5 -0
- package/src/containers/Tenant/Query/QueryStoppedBanner/QueryStoppedBanner.tsx +41 -0
- package/src/containers/Tenant/Query/QueryTabs/QueryTabs.tsx +56 -0
- package/src/containers/Tenant/Query/SaveChangesDialog/SaveChangesDialog.scss +18 -0
- package/src/containers/Tenant/Query/SaveChangesDialog/SaveChangesDialog.tsx +169 -0
- package/src/containers/Tenant/Query/SaveChangesDialog/i18n/en.json +9 -0
- package/src/containers/Tenant/Query/SaveChangesDialog/i18n/index.ts +7 -0
- package/src/containers/Tenant/Query/SaveQuery/SaveQuery.scss +20 -0
- package/src/containers/Tenant/Query/SaveQuery/SaveQuery.tsx +280 -0
- package/src/containers/Tenant/Query/SaveQuery/i18n/en.json +13 -0
- package/src/containers/Tenant/Query/SaveQuery/i18n/index.ts +7 -0
- package/src/containers/Tenant/Query/SavedQueries/RenameSavedQueryDialog.scss +21 -0
- package/src/containers/Tenant/Query/SavedQueries/RenameSavedQueryDialog.tsx +105 -0
- package/src/containers/Tenant/Query/SavedQueries/SavedQueries.scss +94 -0
- package/src/containers/Tenant/Query/SavedQueries/SavedQueries.tsx +297 -0
- package/src/containers/Tenant/Query/SavedQueries/columns.tsx +108 -0
- package/src/containers/Tenant/Query/SavedQueries/shared.ts +3 -0
- package/src/containers/Tenant/Query/hooks/useExternalQuerySingleTabProtection.ts +364 -0
- package/src/containers/Tenant/Query/hooks/useOpenExternalQueryInEditor.ts +128 -0
- package/src/containers/Tenant/Query/i18n/en.json +108 -0
- package/src/containers/Tenant/Query/i18n/index.ts +7 -0
- package/src/containers/Tenant/Query/utils/QueryNameValidation.ts +11 -0
- package/src/containers/Tenant/Query/utils/copyToClipboard.ts +128 -0
- package/src/containers/Tenant/Query/utils/getPreparedResult.ts +34 -0
- package/src/containers/Tenant/Query/utils/isQueryCancelledError.ts +1 -0
- package/src/containers/Tenant/Query/utils/queryPreview.ts +20 -0
- package/src/containers/Tenant/Query/utils/queryTabTitles.ts +50 -0
- package/src/containers/Tenant/Query/utils/replaceParams.ts +5 -0
- package/src/containers/Tenant/Query/utils/savedQueries.ts +92 -0
- package/src/containers/Tenant/Query/utils/useSavedQueries.tsx +113 -0
- package/src/containers/Tenant/Query/utils/useUpdateSavedQueryFromTab.ts +56 -0
- package/src/containers/Tenant/Schema/SchemaViewer/KeysView.tsx +54 -0
- package/src/containers/Tenant/Schema/SchemaViewer/SchemaViewer.scss +80 -0
- package/src/containers/Tenant/Schema/SchemaViewer/SchemaViewer.tsx +125 -0
- package/src/containers/Tenant/Schema/SchemaViewer/columns.tsx +227 -0
- package/src/containers/Tenant/Schema/SchemaViewer/i18n/en.json +14 -0
- package/src/containers/Tenant/Schema/SchemaViewer/i18n/index.ts +7 -0
- package/src/containers/Tenant/Schema/SchemaViewer/prepareData.ts +185 -0
- package/src/containers/Tenant/Schema/SchemaViewer/shared.ts +7 -0
- package/src/containers/Tenant/Schema/SchemaViewer/types.ts +23 -0
- package/src/containers/Tenant/Schema/SchemaViewer/utils.ts +27 -0
- package/src/containers/Tenant/TableFormDialog/TableFormDialog.scss +589 -0
- package/src/containers/Tenant/TableFormDialog/TableFormDialog.tsx +460 -0
- package/src/containers/Tenant/TableFormDialog/columnValueValidation.ts +247 -0
- package/src/containers/Tenant/TableFormDialog/components/ColumnSelectorField.scss +175 -0
- package/src/containers/Tenant/TableFormDialog/components/ColumnSelectorField.tsx +246 -0
- package/src/containers/Tenant/TableFormDialog/components/RangeInputPicker.scss +22 -0
- package/src/containers/Tenant/TableFormDialog/components/RangeInputPicker.tsx +197 -0
- package/src/containers/Tenant/TableFormDialog/components/layout.tsx +96 -0
- package/src/containers/Tenant/TableFormDialog/constants.ts +107 -0
- package/src/containers/Tenant/TableFormDialog/i18n/en.json +155 -0
- package/src/containers/Tenant/TableFormDialog/i18n/index.ts +7 -0
- package/src/containers/Tenant/TableFormDialog/sections/GeneralSection.tsx +95 -0
- package/src/containers/Tenant/TableFormDialog/sections/PartitioningSection.tsx +73 -0
- package/src/containers/Tenant/TableFormDialog/sections/SettingsSection.tsx +445 -0
- package/src/containers/Tenant/TableFormDialog/sections/SplitPointDialog.tsx +267 -0
- package/src/containers/Tenant/TableFormDialog/sections/TTLSection.tsx +199 -0
- package/src/containers/Tenant/TableFormDialog/sections/YdbColumnsSection.tsx +631 -0
- package/src/containers/Tenant/TableFormDialog/sections/YdbIndexesSection.tsx +121 -0
- package/src/containers/Tenant/TableFormDialog/types.ts +41 -0
- package/src/containers/Tenant/TableFormDialog/utils.ts +325 -0
- package/src/containers/Tenant/TableFormDialog/validation.ts +439 -0
- package/src/containers/Tenant/Tenant.scss +18 -0
- package/src/containers/Tenant/Tenant.tsx +258 -0
- package/src/containers/Tenant/TenantContext.tsx +44 -0
- package/src/containers/Tenant/TenantDrawerHealthcheck.tsx +63 -0
- package/src/containers/Tenant/TenantDrawerRights.tsx +59 -0
- package/src/containers/Tenant/TenantDrawerWrappers.tsx +23 -0
- package/src/containers/Tenant/TenantNavigation/TenantNavigation.scss +18 -0
- package/src/containers/Tenant/TenantNavigation/TenantNavigation.tsx +48 -0
- package/src/containers/Tenant/TenantNavigation/useTenantNavigation.tsx +174 -0
- package/src/containers/Tenant/TenantPages.tsx +47 -0
- package/src/containers/Tenant/TopicFormDialog/TopicFormDialog.scss +182 -0
- package/src/containers/Tenant/TopicFormDialog/TopicFormDialog.tsx +924 -0
- package/src/containers/Tenant/TopicFormDialog/i18n/en.json +58 -0
- package/src/containers/Tenant/TopicFormDialog/i18n/index.ts +7 -0
- package/src/containers/Tenant/TopicFormDialog/utils.ts +139 -0
- package/src/containers/Tenant/TopicFormDialog/validation.ts +134 -0
- package/src/containers/Tenant/constants.tsx +26 -0
- package/src/containers/Tenant/i18n/en.json +121 -0
- package/src/containers/Tenant/i18n/index.ts +7 -0
- package/src/containers/Tenant/useTenantQueryParams.ts +86 -0
- package/src/containers/Tenant/utils/ToggleButton.scss +24 -0
- package/src/containers/Tenant/utils/constants.ts +10 -0
- package/src/containers/Tenant/utils/controls.tsx +113 -0
- package/src/containers/Tenant/utils/diagnosticsNavigation.ts +47 -0
- package/src/containers/Tenant/utils/index.ts +20 -0
- package/src/containers/Tenant/utils/newSQLQueryActions.ts +146 -0
- package/src/containers/Tenant/utils/paneVisibilityToggleHelpers.tsx +109 -0
- package/src/containers/Tenant/utils/pathSegmentValidation.ts +24 -0
- package/src/containers/Tenant/utils/schema.ts +311 -0
- package/src/containers/Tenant/utils/schemaActions.tsx +754 -0
- package/src/containers/Tenant/utils/schemaQueryTemplates.ts +644 -0
- package/src/containers/Tenant/utils/types.ts +13 -0
- package/src/containers/Tenant/utils/useNavigationV2Enabled.ts +7 -0
- package/src/containers/Tenants/DatabaseDrawerHealthcheck.tsx +96 -0
- package/src/containers/Tenants/Tenants.scss +63 -0
- package/src/containers/Tenants/TenantsClusterTab.tsx +33 -0
- package/src/containers/Tenants/TenantsTable.tsx +440 -0
- package/src/containers/Tenants/constants.ts +67 -0
- package/src/containers/Tenants/i18n/en.json +15 -0
- package/src/containers/Tenants/i18n/index.ts +7 -0
- package/src/containers/Tenants/useTenantsQueryParams.ts +31 -0
- package/src/containers/UserSettings/Setting.tsx +86 -0
- package/src/containers/UserSettings/UserSettings.scss +3 -0
- package/src/containers/UserSettings/UserSettings.tsx +71 -0
- package/src/containers/UserSettings/i18n/en.json +62 -0
- package/src/containers/UserSettings/i18n/index.ts +5 -0
- package/src/containers/UserSettings/settings.tsx +322 -0
- package/src/containers/VDiskPage/VDiskPage.scss +44 -0
- package/src/containers/VDiskPage/VDiskPage.tsx +296 -0
- package/src/containers/VDiskPage/VDiskStorageDetails.scss +129 -0
- package/src/containers/VDiskPage/VDiskStorageDetails.tsx +196 -0
- package/src/containers/VDiskPage/VDiskTablets/VDiskTablets.scss +0 -0
- package/src/containers/VDiskPage/VDiskTablets/VDiskTablets.tsx +119 -0
- package/src/containers/VDiskPage/VDiskTablets/columns.tsx +68 -0
- package/src/containers/VDiskPage/VDiskTablets/constants.ts +15 -0
- package/src/containers/VDiskPage/VDiskTablets/index.ts +1 -0
- package/src/containers/VDiskPage/i18n/en.json +25 -0
- package/src/containers/VDiskPage/i18n/index.ts +7 -0
- package/src/containers/VDiskPage/useVDiskQueryParams.ts +65 -0
- package/src/containers/Versions/GroupedNodesTree/GroupedNodesTree.scss +15 -0
- package/src/containers/Versions/GroupedNodesTree/GroupedNodesTree.tsx +93 -0
- package/src/containers/Versions/NodesTable/NodesTable.tsx +51 -0
- package/src/containers/Versions/NodesTreeTitle/NodesTreeTitle.scss +39 -0
- package/src/containers/Versions/NodesTreeTitle/NodesTreeTitle.tsx +128 -0
- package/src/containers/Versions/Versions.scss +19 -0
- package/src/containers/Versions/Versions.tsx +182 -0
- package/src/containers/Versions/VersionsBlock/VersionsBlock.scss +7 -0
- package/src/containers/Versions/VersionsBlock/VersionsBlock.tsx +28 -0
- package/src/containers/Versions/groupNodes.ts +129 -0
- package/src/containers/Versions/i18n/en.json +18 -0
- package/src/containers/Versions/i18n/index.ts +7 -0
- package/src/containers/Versions/types.ts +17 -0
- package/src/containers/Versions/utils.ts +88 -0
- package/src/lib.ts +56 -0
- package/src/react-app-env.d.ts +1 -0
- package/src/reportWebVitals.ts +15 -0
- package/src/routes.ts +281 -0
- package/src/services/api/auth.ts +11 -0
- package/src/services/api/base.ts +322 -0
- package/src/services/api/baseMeta.ts +24 -0
- package/src/services/api/codeAssist.ts +146 -0
- package/src/services/api/index.ts +94 -0
- package/src/services/api/meta.ts +119 -0
- package/src/services/api/metaSettings.ts +116 -0
- package/src/services/api/operation.ts +55 -0
- package/src/services/api/pdisk.ts +90 -0
- package/src/services/api/scheme.ts +22 -0
- package/src/services/api/storage.ts +42 -0
- package/src/services/api/streaming.ts +202 -0
- package/src/services/api/streamingPartReader.ts +33 -0
- package/src/services/api/tablets.ts +90 -0
- package/src/services/api/utils/needReset.ts +27 -0
- package/src/services/api/vdisk.ts +37 -0
- package/src/services/api/viewer.ts +707 -0
- package/src/services/parsers/parseMetaTenants.ts +8 -0
- package/src/services/settings.ts +52 -0
- package/src/store/configureStore.ts +121 -0
- package/src/store/defaultStore.ts +7 -0
- package/src/store/getUrlData.ts +68 -0
- package/src/store/index.ts +14 -0
- package/src/store/reducers/api.ts +48 -0
- package/src/store/reducers/authentication/authentication.ts +97 -0
- package/src/store/reducers/authentication/types.ts +3 -0
- package/src/store/reducers/cancelQuery.ts +42 -0
- package/src/store/reducers/capabilities/capabilities.ts +115 -0
- package/src/store/reducers/capabilities/hooks.ts +262 -0
- package/src/store/reducers/cluster/cluster.ts +246 -0
- package/src/store/reducers/cluster/parseFields.ts +178 -0
- package/src/store/reducers/cluster/types.ts +20 -0
- package/src/store/reducers/cluster/utils.ts +142 -0
- package/src/store/reducers/clusters/clusters.ts +50 -0
- package/src/store/reducers/clusters/selectors.ts +95 -0
- package/src/store/reducers/clusters/types.ts +39 -0
- package/src/store/reducers/clusters/utils.ts +69 -0
- package/src/store/reducers/codeAssist/codeAssist.ts +113 -0
- package/src/store/reducers/configs.ts +34 -0
- package/src/store/reducers/environments/environments.ts +24 -0
- package/src/store/reducers/environments/utils.ts +20 -0
- package/src/store/reducers/executeTopQueries/constants.ts +19 -0
- package/src/store/reducers/executeTopQueries/executeTopQueries.ts +238 -0
- package/src/store/reducers/executeTopQueries/types.ts +9 -0
- package/src/store/reducers/executeTopQueries/utils.ts +79 -0
- package/src/store/reducers/fullscreen.ts +31 -0
- package/src/store/reducers/header/header.ts +31 -0
- package/src/store/reducers/header/types.ts +86 -0
- package/src/store/reducers/healthcheckInfo/healthcheckInfo.ts +153 -0
- package/src/store/reducers/healthcheckInfo/types.ts +7 -0
- package/src/store/reducers/healthcheckInfo/utils.ts +188 -0
- package/src/store/reducers/heatmap.ts +123 -0
- package/src/store/reducers/hotKeys/hotKeys.ts +56 -0
- package/src/store/reducers/index.ts +43 -0
- package/src/store/reducers/network/network.ts +28 -0
- package/src/store/reducers/node/node.ts +31 -0
- package/src/store/reducers/node/selectors.ts +68 -0
- package/src/store/reducers/node/types.ts +21 -0
- package/src/store/reducers/node/utils.ts +14 -0
- package/src/store/reducers/nodes/nodes.ts +28 -0
- package/src/store/reducers/nodes/types.ts +18 -0
- package/src/store/reducers/nodesList.ts +33 -0
- package/src/store/reducers/operations.ts +117 -0
- package/src/store/reducers/overview/overview.ts +44 -0
- package/src/store/reducers/partitions/partitions.ts +98 -0
- package/src/store/reducers/partitions/types.ts +39 -0
- package/src/store/reducers/partitions/utils.ts +99 -0
- package/src/store/reducers/pdisk/pdisk.ts +66 -0
- package/src/store/reducers/pdisk/types.ts +35 -0
- package/src/store/reducers/pdisk/utils.ts +150 -0
- package/src/store/reducers/planToSvg.ts +31 -0
- package/src/store/reducers/preview.ts +42 -0
- package/src/store/reducers/query/api.ts +549 -0
- package/src/store/reducers/query/hooks/useQueriesHistory.ts +154 -0
- package/src/store/reducers/query/hooks.ts +1 -0
- package/src/store/reducers/query/parsers/preparePlanData.ts +80 -0
- package/src/store/reducers/query/parsers/prepareQueryData.ts +19 -0
- package/src/store/reducers/query/query.ts +44 -0
- package/src/store/reducers/query/slice.ts +738 -0
- package/src/store/reducers/query/streaming/reducers.ts +132 -0
- package/src/store/reducers/query/types.ts +136 -0
- package/src/store/reducers/query/utils.ts +323 -0
- package/src/store/reducers/queryActions/queryActions.ts +30 -0
- package/src/store/reducers/queryActions/types.ts +6 -0
- package/src/store/reducers/replication.ts +35 -0
- package/src/store/reducers/schema/schema.ts +158 -0
- package/src/store/reducers/schemaAcl/schemaAcl.ts +329 -0
- package/src/store/reducers/schemaAcl/utils.ts +127 -0
- package/src/store/reducers/settings/RemoteLocalStorageSnapshot.ts +142 -0
- package/src/store/reducers/settings/api.ts +347 -0
- package/src/store/reducers/settings/constants.ts +96 -0
- package/src/store/reducers/settings/effects.ts +75 -0
- package/src/store/reducers/settings/settings.ts +116 -0
- package/src/store/reducers/settings/types.ts +13 -0
- package/src/store/reducers/settings/useSetting.ts +47 -0
- package/src/store/reducers/settings/utils.ts +52 -0
- package/src/store/reducers/shardsWorkload/shardsWorkload.ts +130 -0
- package/src/store/reducers/shardsWorkload/types.ts +12 -0
- package/src/store/reducers/showCreateTable/showCreateTable.ts +44 -0
- package/src/store/reducers/singleClusterMode.ts +5 -0
- package/src/store/reducers/storage/constants.ts +10 -0
- package/src/store/reducers/storage/prepareGroupsDisks.ts +152 -0
- package/src/store/reducers/storage/requestStorageData.ts +21 -0
- package/src/store/reducers/storage/storage.ts +41 -0
- package/src/store/reducers/storage/types.ts +129 -0
- package/src/store/reducers/storage/utils.ts +447 -0
- package/src/store/reducers/storageUsage/StorageUsage.ts +385 -0
- package/src/store/reducers/streamingQuery/streamingQuery.ts +46 -0
- package/src/store/reducers/table/constants.ts +40 -0
- package/src/store/reducers/table/table.ts +159 -0
- package/src/store/reducers/table/types.ts +213 -0
- package/src/store/reducers/table/utils.ts +672 -0
- package/src/store/reducers/tableData.ts +68 -0
- package/src/store/reducers/tablePartitioning/tablePartitioning.ts +55 -0
- package/src/store/reducers/tableSchemaData.ts +72 -0
- package/src/store/reducers/tablet/utils.ts +16 -0
- package/src/store/reducers/tablet.ts +189 -0
- package/src/store/reducers/tablets.ts +59 -0
- package/src/store/reducers/tenant/constants.ts +52 -0
- package/src/store/reducers/tenant/tenant.ts +133 -0
- package/src/store/reducers/tenant/types.ts +26 -0
- package/src/store/reducers/tenantOverview/executeTopTables/executeTopTables.ts +44 -0
- package/src/store/reducers/tenantOverview/storage/tenantOverviewStorage.ts +463 -0
- package/src/store/reducers/tenantOverview/topShards/tenantOverviewTopShards.ts +49 -0
- package/src/store/reducers/tenants/contants.ts +13 -0
- package/src/store/reducers/tenants/filters.ts +28 -0
- package/src/store/reducers/tenants/tenants.ts +54 -0
- package/src/store/reducers/tenants/types.ts +17 -0
- package/src/store/reducers/tenants/utils.ts +422 -0
- package/src/store/reducers/topic/topic.ts +291 -0
- package/src/store/reducers/topic/utils.ts +113 -0
- package/src/store/reducers/vdisk/types.ts +12 -0
- package/src/store/reducers/vdisk/utils.ts +62 -0
- package/src/store/reducers/vdisk/vdisk.ts +83 -0
- package/src/store/reducers/viewSchema/viewSchema.ts +53 -0
- package/src/store/state-url-mapping.ts +174 -0
- package/src/styles/drawer.scss +6 -0
- package/src/styles/illustrations.scss +20 -0
- package/src/styles/index.scss +18 -0
- package/src/styles/mixins.scss +357 -0
- package/src/styles/space-colors.scss +104 -0
- package/src/styles/themes/dark-hc.scss +296 -0
- package/src/styles/themes/dark.scss +297 -0
- package/src/styles/themes/light-hc.scss +289 -0
- package/src/styles/themes/light.scss +291 -0
- package/src/styles/themes.scss +73 -0
- package/src/styles/unipika.scss +19 -0
- package/src/styles/versions.scss +130 -0
- package/src/types/additionalProps.ts +43 -0
- package/src/types/api/acl.ts +67 -0
- package/src/types/api/autocomplete.ts +58 -0
- package/src/types/api/capabilities.ts +68 -0
- package/src/types/api/cluster.ts +133 -0
- package/src/types/api/codeAssist.ts +57 -0
- package/src/types/api/common.ts +9 -0
- package/src/types/api/consumer.ts +258 -0
- package/src/types/api/enums.ts +33 -0
- package/src/types/api/environments.ts +7 -0
- package/src/types/api/error.ts +28 -0
- package/src/types/api/featureFlags.ts +14 -0
- package/src/types/api/healthcheck.ts +184 -0
- package/src/types/api/hotkeys.ts +8 -0
- package/src/types/api/meta.ts +122 -0
- package/src/types/api/modifyDisk.ts +11 -0
- package/src/types/api/netInfo.ts +48 -0
- package/src/types/api/nodes.ts +379 -0
- package/src/types/api/nodesList.ts +25 -0
- package/src/types/api/operations.ts +370 -0
- package/src/types/api/pdisk.ts +159 -0
- package/src/types/api/peers.ts +92 -0
- package/src/types/api/query.ts +370 -0
- package/src/types/api/render.ts +38 -0
- package/src/types/api/replication.ts +29 -0
- package/src/types/api/schema/cdcStream.ts +32 -0
- package/src/types/api/schema/columnEntity.ts +156 -0
- package/src/types/api/schema/externalDataSource.ts +49 -0
- package/src/types/api/schema/externalTable.ts +14 -0
- package/src/types/api/schema/index.ts +10 -0
- package/src/types/api/schema/persQueueGroup.ts +191 -0
- package/src/types/api/schema/replication.ts +96 -0
- package/src/types/api/schema/schema.ts +351 -0
- package/src/types/api/schema/shared.ts +48 -0
- package/src/types/api/schema/sysView.ts +44 -0
- package/src/types/api/schema/table.ts +618 -0
- package/src/types/api/schema/tableIndex.ts +99 -0
- package/src/types/api/schema/view.ts +9 -0
- package/src/types/api/settings.ts +22 -0
- package/src/types/api/storage.ts +440 -0
- package/src/types/api/systemState.ts +13 -0
- package/src/types/api/tablet.ts +162 -0
- package/src/types/api/tenant.ts +225 -0
- package/src/types/api/threads.ts +62 -0
- package/src/types/api/topic.ts +362 -0
- package/src/types/api/vdisk.ts +170 -0
- package/src/types/api/vdiskBlobIndex.ts +69 -0
- package/src/types/api/whoami.ts +30 -0
- package/src/types/assets.d.ts +23 -0
- package/src/types/common.ts +3 -0
- package/src/types/components.ts +6 -0
- package/src/types/global.d.ts +1 -0
- package/src/types/index.ts +39 -0
- package/src/types/react-table.d.ts +8 -0
- package/src/types/redux-location-state.d.ts +75 -0
- package/src/types/store/describe.ts +3 -0
- package/src/types/store/heatmap.ts +22 -0
- package/src/types/store/nodesList.ts +7 -0
- package/src/types/store/partitioning.ts +14 -0
- package/src/types/store/query.ts +61 -0
- package/src/types/store/streaming.ts +93 -0
- package/src/types/store/tablet.ts +11 -0
- package/src/types/store/tablets.ts +8 -0
- package/src/types/store/topic.ts +19 -0
- package/src/types/unipika.d.ts +1 -0
- package/src/types/window.d.ts +52 -0
- package/src/uiFactory/types.ts +255 -0
- package/src/uiFactory/uiFactory.ts +95 -0
- package/src/utils/additionalProps.tsx +80 -0
- package/src/utils/balancer.ts +5 -0
- package/src/utils/bytesParsers/convertBytesObjectToSpeed.ts +23 -0
- package/src/utils/bytesParsers/formatBytes.ts +103 -0
- package/src/utils/bytesParsers/i18n/en.json +13 -0
- package/src/utils/bytesParsers/i18n/index.ts +7 -0
- package/src/utils/bytesParsers/index.ts +2 -0
- package/src/utils/capacityAlerts.ts +43 -0
- package/src/utils/clusterLinks/clusterLinkConstants.ts +30 -0
- package/src/utils/clusterLinks/i18n/en.json +9 -0
- package/src/utils/clusterLinks/i18n/index.ts +7 -0
- package/src/utils/clusterLinks/resolveClusterLinks.ts +534 -0
- package/src/utils/clusterLinks/useClusterLinks.ts +14 -0
- package/src/utils/clusterLinks/useDatabaseLinks.ts +22 -0
- package/src/utils/cn.ts +6 -0
- package/src/utils/constants.ts +126 -0
- package/src/utils/createToast.tsx +26 -0
- package/src/utils/dataFormatters/common.ts +56 -0
- package/src/utils/dataFormatters/dataFormatters.ts +343 -0
- package/src/utils/dataFormatters/formatNumber.ts +89 -0
- package/src/utils/dataFormatters/i18n/en.json +6 -0
- package/src/utils/dataFormatters/i18n/index.ts +7 -0
- package/src/utils/developerUI/developerUI.ts +101 -0
- package/src/utils/disks/calculatePDiskSeverity.ts +28 -0
- package/src/utils/disks/calculateVDiskSeverity.ts +81 -0
- package/src/utils/disks/constants.ts +182 -0
- package/src/utils/disks/displayState.ts +104 -0
- package/src/utils/disks/getDiskBarTone.ts +42 -0
- package/src/utils/disks/getIconStrategy.ts +29 -0
- package/src/utils/disks/getPDiskType.ts +73 -0
- package/src/utils/disks/getSeverityStrategy.ts +29 -0
- package/src/utils/disks/groupBy.ts +9 -0
- package/src/utils/disks/helpers.ts +252 -0
- package/src/utils/disks/iconCalculators.ts +254 -0
- package/src/utils/disks/normalizeMediaType.ts +29 -0
- package/src/utils/disks/pdiskState.ts +210 -0
- package/src/utils/disks/prepareDisks.ts +304 -0
- package/src/utils/disks/severityCalculators.ts +156 -0
- package/src/utils/disks/types.ts +123 -0
- package/src/utils/docs.ts +37 -0
- package/src/utils/downloadFile.ts +22 -0
- package/src/utils/emptyDataPlaceholder.ts +1 -0
- package/src/utils/errors/extractErrorDetails.ts +736 -0
- package/src/utils/errors/i18n/en.json +4 -0
- package/src/utils/errors/i18n/index.ts +7 -0
- package/src/utils/errors/index.ts +55 -0
- package/src/utils/errors/serializeReduxError.ts +11 -0
- package/src/utils/events.ts +30 -0
- package/src/utils/featureFlags.ts +7 -0
- package/src/utils/filters.ts +20 -0
- package/src/utils/generateEvaluator.ts +25 -0
- package/src/utils/generateHash.ts +11 -0
- package/src/utils/getColumnWidth.ts +42 -0
- package/src/utils/hooks/index.ts +16 -0
- package/src/utils/hooks/useAclSyntax.ts +10 -0
- package/src/utils/hooks/useAutoRefreshInterval.ts +56 -0
- package/src/utils/hooks/useCancellable.ts +10 -0
- package/src/utils/hooks/useChangedQuerySettings.ts +65 -0
- package/src/utils/hooks/useCompactionFeature.ts +29 -0
- package/src/utils/hooks/useDatabaseFromQuery.ts +15 -0
- package/src/utils/hooks/useDatabasesV2.ts +9 -0
- package/src/utils/hooks/useDebouncedValue.ts +35 -0
- package/src/utils/hooks/useDelayed.ts +29 -0
- package/src/utils/hooks/useEventHandler.ts +17 -0
- package/src/utils/hooks/useIsUserAllowedToMakeChanges.ts +4 -0
- package/src/utils/hooks/useLastQueryExecutionSettings.ts +20 -0
- package/src/utils/hooks/useMetaAuth.ts +24 -0
- package/src/utils/hooks/useNodeDeveloperUIHref.ts +41 -0
- package/src/utils/hooks/useQueryExecutionSettings.ts +44 -0
- package/src/utils/hooks/useQueryStreamingSetting.ts +7 -0
- package/src/utils/hooks/useResizeObserverTrigger.ts +43 -0
- package/src/utils/hooks/useResourcePools.ts +47 -0
- package/src/utils/hooks/useSchemaSecretsFeature.ts +37 -0
- package/src/utils/hooks/useScrollPosition.ts +120 -0
- package/src/utils/hooks/useSearchQuery.ts +9 -0
- package/src/utils/hooks/useSelectedColumns.ts +162 -0
- package/src/utils/hooks/useSetting.ts +15 -0
- package/src/utils/hooks/useTableResize.ts +53 -0
- package/src/utils/hooks/useTableSort.ts +104 -0
- package/src/utils/hooks/useTopicsSqlIoOperationsFeature.ts +37 -0
- package/src/utils/hooks/useTypedDispatch.ts +5 -0
- package/src/utils/hooks/useTypedSelector.ts +6 -0
- package/src/utils/hooks/useWhoami.ts +80 -0
- package/src/utils/hooks/useWithProblemsQueryParam.ts +21 -0
- package/src/utils/hooks/withConfirmation/RunningQueryDialog.tsx +67 -0
- package/src/utils/hooks/withConfirmation/UnsavedChangesDialog.scss +5 -0
- package/src/utils/hooks/withConfirmation/UnsavedChangesDialog.tsx +123 -0
- package/src/utils/hooks/withConfirmation/i18n/en.json +10 -0
- package/src/utils/hooks/withConfirmation/i18n/index.ts +7 -0
- package/src/utils/hooks/withConfirmation/useChangeInputWithConfirmation.tsx +40 -0
- package/src/utils/i18n/i18n.ts +36 -0
- package/src/utils/i18n/index.ts +1 -0
- package/src/utils/illustrations.ts +22 -0
- package/src/utils/index.ts +59 -0
- package/src/utils/lazyComponent.tsx +50 -0
- package/src/utils/logs.ts +8 -0
- package/src/utils/metrics/formatMetricLegend.ts +98 -0
- package/src/utils/metrics/getDiagramValues.ts +136 -0
- package/src/utils/metrics/i18n/en.json +4 -0
- package/src/utils/metrics/i18n/index.ts +7 -0
- package/src/utils/metrics.ts +111 -0
- package/src/utils/monaco/constats.ts +2 -0
- package/src/utils/monaco/highlightErrors.ts +54 -0
- package/src/utils/monaco/i18n/en.json +3 -0
- package/src/utils/monaco/i18n/index.ts +7 -0
- package/src/utils/monaco/insertSnippet.ts +25 -0
- package/src/utils/monaco/yql/constants.ts +764 -0
- package/src/utils/monaco/yql/generateSuggestions.ts +146 -0
- package/src/utils/monaco/yql/yql.completionItemProvider.ts +85 -0
- package/src/utils/monitoring.ts +97 -0
- package/src/utils/monitoringVisibility.ts +30 -0
- package/src/utils/networkInfo.ts +38 -0
- package/src/utils/nodes.ts +103 -0
- package/src/utils/numeral.ts +16 -0
- package/src/utils/parseBalancer.ts +89 -0
- package/src/utils/platform.ts +10 -0
- package/src/utils/prepareBackend.ts +28 -0
- package/src/utils/prepareErrorMessage.ts +25 -0
- package/src/utils/prepareQueryExplain.ts +189 -0
- package/src/utils/progress.ts +41 -0
- package/src/utils/query.ts +431 -0
- package/src/utils/queryParams.ts +21 -0
- package/src/utils/registerError.ts +17 -0
- package/src/utils/renderPaginatedTableErrorMessage.tsx +21 -0
- package/src/utils/response.ts +110 -0
- package/src/utils/schema.ts +14 -0
- package/src/utils/shardsQueryBuilders.ts +262 -0
- package/src/utils/sortByTimestamp.ts +26 -0
- package/src/utils/storage.ts +11 -0
- package/src/utils/storageMetrics.ts +220 -0
- package/src/utils/tableCompaction.ts +86 -0
- package/src/utils/tableUtils/getRequiredDataFields.ts +15 -0
- package/src/utils/tableUtils/types.ts +5 -0
- package/src/utils/tablet.ts +57 -0
- package/src/utils/timeParsers/formatDuration.ts +74 -0
- package/src/utils/timeParsers/i18n/en.json +11 -0
- package/src/utils/timeParsers/i18n/index.ts +8 -0
- package/src/utils/timeParsers/i18n/ru.json +11 -0
- package/src/utils/timeParsers/index.ts +3 -0
- package/src/utils/timeParsers/parsers.ts +28 -0
- package/src/utils/timeParsers/protobufParsers.ts +35 -0
- package/src/utils/timeframes.ts +10 -0
- package/src/utils/typecheckers.ts +7 -0
- package/src/utils/user.ts +36 -0
- package/src/utils/utils.ts +141 -0
- package/src/utils/versions/clusterVersionColors.ts +103 -0
- package/src/utils/versions/getVersionsColors.ts +258 -0
- package/src/utils/versions/index.ts +3 -0
- package/src/utils/versions/parseNodesToVersionsValues.ts +58 -0
- package/src/utils/versions/parseVersion.ts +45 -0
- package/src/utils/versions/sortVersions.ts +43 -0
- package/src/utils/versions/types.ts +20 -0
- package/src/utils/yaMetrica.ts +94 -0
- package/src/utils/zod/configureZod.ts +20 -0
- package/src/utils/zod/zodParsers.ts +7 -0
- package/dist/__mocks__/svgMock.d.ts +0 -2
- package/dist/__mocks__/svgMock.js +0 -2
- package/dist/__mocks__/svgMock.js.map +0 -1
- package/dist/components/Graph/colors.test.d.ts +0 -1
- package/dist/components/Graph/colors.test.js +0 -60
- package/dist/components/Graph/colors.test.js.map +0 -1
- package/dist/containers/App/legacyRedirects.test.d.ts +0 -1
- package/dist/containers/App/legacyRedirects.test.js +0 -52
- package/dist/containers/App/legacyRedirects.test.js.map +0 -1
- package/dist/containers/Tenant/Query/Issues/helpers.test.d.ts +0 -1
- package/dist/containers/Tenant/Query/Issues/helpers.test.js +0 -94
- package/dist/containers/Tenant/Query/Issues/helpers.test.js.map +0 -1
- package/dist/containers/Tenant/Query/Preview/components/TablePreview.test.d.ts +0 -1
- package/dist/containers/Tenant/Query/Preview/components/TablePreview.test.js +0 -28
- package/dist/containers/Tenant/Query/Preview/components/TablePreview.test.js.map +0 -1
- package/dist/containers/Tenant/Query/QueryEditor/YqlEditor/currentStatement.test.d.ts +0 -1
- package/dist/containers/Tenant/Query/QueryEditor/YqlEditor/currentStatement.test.js +0 -153
- package/dist/containers/Tenant/Query/QueryEditor/YqlEditor/currentStatement.test.js.map +0 -1
- package/dist/containers/Tenant/Query/QueryEditorControls/utils/getChangedQueryExecutionSettings.test.d.ts +0 -1
- package/dist/containers/Tenant/Query/QueryEditorControls/utils/getChangedQueryExecutionSettings.test.js +0 -41
- package/dist/containers/Tenant/Query/QueryEditorControls/utils/getChangedQueryExecutionSettings.test.js.map +0 -1
- package/dist/containers/Tenant/Query/QueryEditorControls/utils/getChangedQueryExecutionSettingsDescription.test.d.ts +0 -1
- package/dist/containers/Tenant/Query/QueryEditorControls/utils/getChangedQueryExecutionSettingsDescription.test.js +0 -56
- package/dist/containers/Tenant/Query/QueryEditorControls/utils/getChangedQueryExecutionSettingsDescription.test.js.map +0 -1
- package/dist/containers/Versions/groupNodes.test.d.ts +0 -1
- package/dist/containers/Versions/groupNodes.test.js +0 -227
- package/dist/containers/Versions/groupNodes.test.js.map +0 -1
- package/dist/routes.test.d.ts +0 -1
- package/dist/routes.test.js +0 -64
- package/dist/routes.test.js.map +0 -1
- package/dist/utils/query.test.d.ts +0 -1
- package/dist/utils/query.test.js +0 -431
- package/dist/utils/query.test.js.map +0 -1
|
@@ -0,0 +1,458 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
|
|
3
|
+
import {isNil} from 'lodash';
|
|
4
|
+
|
|
5
|
+
import {DEFAULT_TABLE_ROW_HEIGHT} from '../../../../components/PaginatedTable';
|
|
6
|
+
import type {TopicDataResponse} from '../../../../types/api/topic';
|
|
7
|
+
import {isNumeric} from '../../../../utils/utils';
|
|
8
|
+
|
|
9
|
+
import {TOPIC_DATA_DEFAULT_PAGE_SIZE} from './utils/constants';
|
|
10
|
+
|
|
11
|
+
interface UseTopicScrollParams {
|
|
12
|
+
scrollContainerRef: React.RefObject<HTMLDivElement>;
|
|
13
|
+
baseOffset: number | undefined;
|
|
14
|
+
endOffset: number | undefined;
|
|
15
|
+
pageStartOffset: number | undefined;
|
|
16
|
+
usePagination: boolean;
|
|
17
|
+
currentPage: number;
|
|
18
|
+
setCurrentPage: React.Dispatch<React.SetStateAction<number>>;
|
|
19
|
+
selectedPartition: string | null | undefined;
|
|
20
|
+
selectedOffset: number | null | undefined;
|
|
21
|
+
startTimestamp: number | null | undefined;
|
|
22
|
+
activeOffset: string | null | undefined;
|
|
23
|
+
/** Current data from the probe query, used to resolve the first-message offset. */
|
|
24
|
+
currentData: TopicDataResponse | undefined;
|
|
25
|
+
isFetching: boolean;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
interface UseTopicScrollResult {
|
|
29
|
+
scrollToOffset: (newOffset: number) => void;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
// ---------------------------------------------------------------------------
|
|
33
|
+
// Scroll intent model
|
|
34
|
+
// ---------------------------------------------------------------------------
|
|
35
|
+
//
|
|
36
|
+
// The hook tracks one atomic intent describing where the table should scroll
|
|
37
|
+
// next. Every trigger (URL filter change, user click, partition/page switch)
|
|
38
|
+
// produces a complete replacement intent — there's no second flag to forget
|
|
39
|
+
// to reset.
|
|
40
|
+
//
|
|
41
|
+
// - filter-probe: a URL filter (selectedOffset or startTimestamp) is active
|
|
42
|
+
// and the probe query is authoritative for the target. The
|
|
43
|
+
// actual offset comes from the probe's first message; the
|
|
44
|
+
// filter value itself is not used as a target. This handles
|
|
45
|
+
// sparse partitions and stale URLs uniformly: the backend
|
|
46
|
+
// returns the first existing message at/after the filter.
|
|
47
|
+
//
|
|
48
|
+
// - direct-offset: an absolute offset to scroll to, known without needing
|
|
49
|
+
// the probe. Two sources:
|
|
50
|
+
// * 'user' — explicit scrollToOffset() call. Out-of-range
|
|
51
|
+
// values are clamped to the nearest boundary.
|
|
52
|
+
// * 'active-offset' — URL has only activeOffset (no
|
|
53
|
+
// selectedOffset, no startTimestamp). The
|
|
54
|
+
// probe query is skipped in this case, so we
|
|
55
|
+
// can't resolve via probe; fall back to clamp.
|
|
56
|
+
//
|
|
57
|
+
// - none: nothing to do.
|
|
58
|
+
|
|
59
|
+
type ScrollIntent =
|
|
60
|
+
| {kind: 'none'}
|
|
61
|
+
| {
|
|
62
|
+
kind: 'filter-probe';
|
|
63
|
+
source: 'selected-offset' | 'timestamp';
|
|
64
|
+
// For selected-offset: the explicit offset the user pinned in the URL,
|
|
65
|
+
// used as a fallback target when the probe returns no message (e.g. the
|
|
66
|
+
// offset is out of range — probe errors out — but we still want the
|
|
67
|
+
// table to scroll to the requested position, clamped to bounds).
|
|
68
|
+
// For timestamp: no fallback offset is available.
|
|
69
|
+
fallbackOffset?: number;
|
|
70
|
+
}
|
|
71
|
+
| {kind: 'direct-offset'; offset: number; origin: 'user' | 'active-offset'};
|
|
72
|
+
|
|
73
|
+
// ---------------------------------------------------------------------------
|
|
74
|
+
// Pure helpers
|
|
75
|
+
// ---------------------------------------------------------------------------
|
|
76
|
+
|
|
77
|
+
/** Page (1-based) that contains the given absolute offset, given the partition's base offset. */
|
|
78
|
+
function getTargetPage(offset: number, baseOffset: number): number {
|
|
79
|
+
return Math.floor((offset - baseOffset) / TOPIC_DATA_DEFAULT_PAGE_SIZE) + 1;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* Derive the scroll intent expressed by URL filter params at mount time.
|
|
84
|
+
*
|
|
85
|
+
* Priority:
|
|
86
|
+
* 1. activeOffset — highest, but only honoured at mount. After mount,
|
|
87
|
+
* activeOffset changes come from in-table clicks on already-visible rows;
|
|
88
|
+
* scrolling to them would be jarring. Mount-time activeOffset comes from
|
|
89
|
+
* a deep-link, which is what should drive the initial scroll.
|
|
90
|
+
* 2. startTimestamp — mirrors the probe query's own priority over selectedOffset
|
|
91
|
+
* ({@link useTopicProbeQuery} sets read_timestamp and ignores offset when both are set).
|
|
92
|
+
* 3. selectedOffset — falls back to probe resolution.
|
|
93
|
+
*/
|
|
94
|
+
function getInitialIntent(
|
|
95
|
+
selectedOffset: number | null | undefined,
|
|
96
|
+
startTimestamp: number | null | undefined,
|
|
97
|
+
activeOffset: string | null | undefined,
|
|
98
|
+
): ScrollIntent {
|
|
99
|
+
if (!isNil(activeOffset) && isNumeric(activeOffset)) {
|
|
100
|
+
return {kind: 'direct-offset', offset: Number(activeOffset), origin: 'active-offset'};
|
|
101
|
+
}
|
|
102
|
+
if (!isNil(startTimestamp)) {
|
|
103
|
+
return {kind: 'filter-probe', source: 'timestamp'};
|
|
104
|
+
}
|
|
105
|
+
if (!isNil(selectedOffset)) {
|
|
106
|
+
return {
|
|
107
|
+
kind: 'filter-probe',
|
|
108
|
+
source: 'selected-offset',
|
|
109
|
+
fallbackOffset: selectedOffset,
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
return {kind: 'none'};
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
/**
|
|
116
|
+
* Derive the scroll intent from a *post-mount* filter change. activeOffset is
|
|
117
|
+
* intentionally excluded — clicks on table rows update activeOffset but the row
|
|
118
|
+
* is already on-screen, so re-scrolling would be jarring.
|
|
119
|
+
*/
|
|
120
|
+
function getFilterChangeIntent(
|
|
121
|
+
selectedOffset: number | null | undefined,
|
|
122
|
+
startTimestamp: number | null | undefined,
|
|
123
|
+
): ScrollIntent {
|
|
124
|
+
if (!isNil(startTimestamp)) {
|
|
125
|
+
return {kind: 'filter-probe', source: 'timestamp'};
|
|
126
|
+
}
|
|
127
|
+
if (!isNil(selectedOffset)) {
|
|
128
|
+
return {
|
|
129
|
+
kind: 'filter-probe',
|
|
130
|
+
source: 'selected-offset',
|
|
131
|
+
fallbackOffset: selectedOffset,
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
return {kind: 'none'};
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
/** Read the first message's offset from a probe response, if any. */
|
|
138
|
+
function getProbeOffset(currentData: TopicDataResponse | undefined): number | undefined {
|
|
139
|
+
const offset = currentData?.Messages?.[0]?.Offset;
|
|
140
|
+
return isNumeric(offset) ? Number(offset) : undefined;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
/**
|
|
144
|
+
* Clamp an explicit offset into the partition's [baseOffset, endOffset) window.
|
|
145
|
+
* Returns undefined when the window is empty.
|
|
146
|
+
*/
|
|
147
|
+
function clampOffsetToBounds(
|
|
148
|
+
offset: number,
|
|
149
|
+
baseOffset: number,
|
|
150
|
+
endOffset: number,
|
|
151
|
+
): number | undefined {
|
|
152
|
+
if (endOffset <= baseOffset) {
|
|
153
|
+
return undefined;
|
|
154
|
+
}
|
|
155
|
+
if (offset < baseOffset) {
|
|
156
|
+
return baseOffset;
|
|
157
|
+
}
|
|
158
|
+
if (offset >= endOffset) {
|
|
159
|
+
return endOffset - 1;
|
|
160
|
+
}
|
|
161
|
+
return offset;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
export function useTopicScroll({
|
|
165
|
+
scrollContainerRef,
|
|
166
|
+
baseOffset,
|
|
167
|
+
endOffset,
|
|
168
|
+
pageStartOffset,
|
|
169
|
+
usePagination,
|
|
170
|
+
currentPage,
|
|
171
|
+
setCurrentPage,
|
|
172
|
+
selectedPartition,
|
|
173
|
+
selectedOffset,
|
|
174
|
+
startTimestamp,
|
|
175
|
+
activeOffset,
|
|
176
|
+
currentData,
|
|
177
|
+
isFetching,
|
|
178
|
+
}: UseTopicScrollParams): UseTopicScrollResult {
|
|
179
|
+
// Single atomic intent. Seeded from the URL on first render so that an
|
|
180
|
+
// immediate filter-probe / activeOffset URL is honoured even before any
|
|
181
|
+
// effect runs.
|
|
182
|
+
const scrollIntentRef = React.useRef<ScrollIntent>(
|
|
183
|
+
getInitialIntent(selectedOffset, startTimestamp, activeOffset),
|
|
184
|
+
);
|
|
185
|
+
|
|
186
|
+
// Track previous filter values via refs (not state) for two reasons:
|
|
187
|
+
// 1. Updating them must not re-render.
|
|
188
|
+
// 2. Refs persist across React 18 Strict Mode's double effect invocation,
|
|
189
|
+
// so the equality check correctly returns false on both runs (both
|
|
190
|
+
// runs see the same initial values).
|
|
191
|
+
//
|
|
192
|
+
// activeOffset is deliberately NOT tracked here: post-mount changes to it
|
|
193
|
+
// come from clicking already-visible rows in the table (the click writes
|
|
194
|
+
// activeOffset into the URL to open the drawer). Triggering a scroll on
|
|
195
|
+
// those would yank the user away from the row they just clicked. Initial
|
|
196
|
+
// mount-time activeOffset (from a shared deep-link) is still honoured —
|
|
197
|
+
// it's seeded into scrollIntentRef above.
|
|
198
|
+
const prevSelectedOffset = React.useRef(selectedOffset);
|
|
199
|
+
const prevStartTimestamp = React.useRef(startTimestamp);
|
|
200
|
+
|
|
201
|
+
React.useEffect(() => {
|
|
202
|
+
const filtersChanged =
|
|
203
|
+
prevSelectedOffset.current !== selectedOffset ||
|
|
204
|
+
prevStartTimestamp.current !== startTimestamp;
|
|
205
|
+
if (!filtersChanged) {
|
|
206
|
+
return;
|
|
207
|
+
}
|
|
208
|
+
prevSelectedOffset.current = selectedOffset;
|
|
209
|
+
prevStartTimestamp.current = startTimestamp;
|
|
210
|
+
// Atomically replace any in-flight intent — the user just expressed a
|
|
211
|
+
// new filter selection, so any prior target (whether a stale probe
|
|
212
|
+
// resolve or a pending user scroll) is now obsolete by definition.
|
|
213
|
+
scrollIntentRef.current = getFilterChangeIntent(selectedOffset, startTimestamp);
|
|
214
|
+
}, [selectedOffset, startTimestamp]);
|
|
215
|
+
|
|
216
|
+
// ---------------------------------------------------------------------------
|
|
217
|
+
// Partition / page change handling
|
|
218
|
+
// ---------------------------------------------------------------------------
|
|
219
|
+
//
|
|
220
|
+
// Reset scroll on page/partition change so the visual transition is clean.
|
|
221
|
+
//
|
|
222
|
+
// Distinguishing user vs programmatic page switches:
|
|
223
|
+
// When the data effect resolves a filter-probe or direct-offset intent
|
|
224
|
+
// and the target lives on a different page, it calls setCurrentPage()
|
|
225
|
+
// AND sets `expectedPageSwitchRef.current = true`. The layout effect
|
|
226
|
+
// below reads-and-clears that flag, so any page change without the flag
|
|
227
|
+
// set is treated as a user-driven navigation that must cancel the
|
|
228
|
+
// pending intent.
|
|
229
|
+
//
|
|
230
|
+
// Partition handling:
|
|
231
|
+
// The initial `undefined → <auto-selected>` transition (URL omits the
|
|
232
|
+
// partition, useTopicPartitions auto-selects the first) is NOT a user
|
|
233
|
+
// partition switch — the URL-seeded intent points into exactly that
|
|
234
|
+
// partition. Only treat the change as a real switch when leaving a
|
|
235
|
+
// previously-defined partition (defined → different defined).
|
|
236
|
+
const prevPage = React.useRef(currentPage);
|
|
237
|
+
const prevPartition = React.useRef(selectedPartition);
|
|
238
|
+
const expectedPageSwitchRef = React.useRef(false);
|
|
239
|
+
React.useLayoutEffect(() => {
|
|
240
|
+
const pageChanged = prevPage.current !== currentPage;
|
|
241
|
+
const partitionChanged = prevPartition.current !== selectedPartition;
|
|
242
|
+
if (!pageChanged && !partitionChanged) {
|
|
243
|
+
return;
|
|
244
|
+
}
|
|
245
|
+
const isRealPartitionSwitch = partitionChanged && !isNil(prevPartition.current);
|
|
246
|
+
const isUnexpectedPageSwitch = pageChanged && !expectedPageSwitchRef.current;
|
|
247
|
+
expectedPageSwitchRef.current = false;
|
|
248
|
+
prevPage.current = currentPage;
|
|
249
|
+
prevPartition.current = selectedPartition;
|
|
250
|
+
|
|
251
|
+
if (isRealPartitionSwitch) {
|
|
252
|
+
// New partition — any offset from the previous partition is meaningless.
|
|
253
|
+
scrollIntentRef.current = {kind: 'none'};
|
|
254
|
+
} else if (isUnexpectedPageSwitch) {
|
|
255
|
+
// User-driven page switch (pagination control, keyboard, etc.) while
|
|
256
|
+
// an intent was still pending — cancel it so the in-flight filter
|
|
257
|
+
// probe (or queued direct target) doesn't yank the user away from
|
|
258
|
+
// the page they just navigated to.
|
|
259
|
+
scrollIntentRef.current = {kind: 'none'};
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
if (scrollContainerRef.current) {
|
|
263
|
+
scrollContainerRef.current.scrollTop = 0;
|
|
264
|
+
}
|
|
265
|
+
}, [currentPage, selectedPartition, scrollContainerRef]);
|
|
266
|
+
|
|
267
|
+
// ---------------------------------------------------------------------------
|
|
268
|
+
// Imperative user scroll
|
|
269
|
+
// ---------------------------------------------------------------------------
|
|
270
|
+
//
|
|
271
|
+
// Any explicit scrollToOffset() replaces the intent atomically. This:
|
|
272
|
+
// - cancels a pending filter-probe so a late-arriving probe response
|
|
273
|
+
// cannot overwrite the user's target;
|
|
274
|
+
// - applies bounds clamping (out-of-range becomes nearest boundary
|
|
275
|
+
// instead of silently doing nothing);
|
|
276
|
+
// - delegates the actual scroll to the data effect so the page-switch /
|
|
277
|
+
// ResizeObserver logic is in one place.
|
|
278
|
+
const scrollToOffset = React.useCallback(
|
|
279
|
+
(newOffset: number) => {
|
|
280
|
+
if (isNil(baseOffset) || isNil(endOffset)) {
|
|
281
|
+
return;
|
|
282
|
+
}
|
|
283
|
+
const clamped = clampOffsetToBounds(newOffset, baseOffset, endOffset);
|
|
284
|
+
if (isNil(clamped)) {
|
|
285
|
+
scrollIntentRef.current = {kind: 'none'};
|
|
286
|
+
return;
|
|
287
|
+
}
|
|
288
|
+
scrollIntentRef.current = {kind: 'direct-offset', offset: clamped, origin: 'user'};
|
|
289
|
+
|
|
290
|
+
// Same-page targets can avoid a re-render; cross-page targets need
|
|
291
|
+
// setCurrentPage, which the data effect will pick up. We still go
|
|
292
|
+
// through the data effect so that ResizeObserver waits for the
|
|
293
|
+
// table to be laid out before scrolling, identical to filter-probe
|
|
294
|
+
// resolution. Trigger an immediate effect re-run by bumping a
|
|
295
|
+
// dummy state? No — currentData/isFetching haven't changed, so
|
|
296
|
+
// the existing data-effect dependencies wouldn't fire. For the
|
|
297
|
+
// same-page case we can scroll synchronously here; for the cross-
|
|
298
|
+
// page case we queue the page switch and let the effect handle it.
|
|
299
|
+
if (isNil(pageStartOffset)) {
|
|
300
|
+
return;
|
|
301
|
+
}
|
|
302
|
+
if (usePagination) {
|
|
303
|
+
const targetPage = getTargetPage(clamped, baseOffset);
|
|
304
|
+
if (targetPage !== currentPage) {
|
|
305
|
+
expectedPageSwitchRef.current = true;
|
|
306
|
+
setCurrentPage(targetPage);
|
|
307
|
+
return;
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
const scrollTop = Math.max(0, (clamped - pageStartOffset) * DEFAULT_TABLE_ROW_HEIGHT);
|
|
311
|
+
scrollContainerRef.current?.scrollTo({top: scrollTop, behavior: 'instant'});
|
|
312
|
+
// Same-page scroll completed — clear intent so a later probe
|
|
313
|
+
// response cannot reinterpret it.
|
|
314
|
+
scrollIntentRef.current = {kind: 'none'};
|
|
315
|
+
},
|
|
316
|
+
[
|
|
317
|
+
pageStartOffset,
|
|
318
|
+
baseOffset,
|
|
319
|
+
endOffset,
|
|
320
|
+
usePagination,
|
|
321
|
+
currentPage,
|
|
322
|
+
setCurrentPage,
|
|
323
|
+
scrollContainerRef,
|
|
324
|
+
],
|
|
325
|
+
);
|
|
326
|
+
|
|
327
|
+
// ---------------------------------------------------------------------------
|
|
328
|
+
// Intent resolution effect
|
|
329
|
+
// ---------------------------------------------------------------------------
|
|
330
|
+
//
|
|
331
|
+
// Runs whenever data or layout-relevant inputs change. Resolves the current
|
|
332
|
+
// intent into a concrete scroll, switching pages first if needed and
|
|
333
|
+
// waiting for the table DOM via ResizeObserver before performing the
|
|
334
|
+
// actual scrollTo.
|
|
335
|
+
React.useEffect(() => {
|
|
336
|
+
if (isNil(baseOffset) || isNil(endOffset) || isNil(pageStartOffset)) {
|
|
337
|
+
return undefined;
|
|
338
|
+
}
|
|
339
|
+
const intent = scrollIntentRef.current;
|
|
340
|
+
if (intent.kind === 'none') {
|
|
341
|
+
return undefined;
|
|
342
|
+
}
|
|
343
|
+
|
|
344
|
+
// Resolve intent → concrete target offset.
|
|
345
|
+
let target: number | undefined;
|
|
346
|
+
if (intent.kind === 'filter-probe') {
|
|
347
|
+
// Probe is authoritative. Wait for the probe response; while it's
|
|
348
|
+
// in flight do nothing (next data update will re-run this effect).
|
|
349
|
+
if (isFetching) {
|
|
350
|
+
return undefined;
|
|
351
|
+
}
|
|
352
|
+
const probeOffset = getProbeOffset(currentData);
|
|
353
|
+
if (!isNil(probeOffset)) {
|
|
354
|
+
target = clampOffsetToBounds(probeOffset, baseOffset, endOffset);
|
|
355
|
+
} else if (isNil(intent.fallbackOffset)) {
|
|
356
|
+
// Timestamp-only filter with empty probe response — nothing to
|
|
357
|
+
// scroll to. Drop the intent so we don't spin re-evaluating it.
|
|
358
|
+
scrollIntentRef.current = {kind: 'none'};
|
|
359
|
+
return undefined;
|
|
360
|
+
} else {
|
|
361
|
+
// Probe returned no message (e.g. selectedOffset is out of range
|
|
362
|
+
// and the backend errored). The user still pinned an explicit
|
|
363
|
+
// offset in the URL — scroll to the nearest valid position so
|
|
364
|
+
// the navigation isn't silently dropped.
|
|
365
|
+
target = clampOffsetToBounds(intent.fallbackOffset, baseOffset, endOffset);
|
|
366
|
+
}
|
|
367
|
+
} else {
|
|
368
|
+
// direct-offset: already clamped at intent creation, but bounds may
|
|
369
|
+
// have moved (probe response shifted base/end), so reclamp.
|
|
370
|
+
target = clampOffsetToBounds(intent.offset, baseOffset, endOffset);
|
|
371
|
+
}
|
|
372
|
+
|
|
373
|
+
if (isNil(target)) {
|
|
374
|
+
scrollIntentRef.current = {kind: 'none'};
|
|
375
|
+
return undefined;
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
// Page switch if needed. Mark it expected so the layout effect doesn't
|
|
379
|
+
// cancel the intent. `pendingTarget` lives entirely inside the intent
|
|
380
|
+
// ref, so there's nothing else to thread through.
|
|
381
|
+
if (usePagination) {
|
|
382
|
+
const targetPage = getTargetPage(target, baseOffset);
|
|
383
|
+
if (targetPage !== currentPage) {
|
|
384
|
+
expectedPageSwitchRef.current = true;
|
|
385
|
+
setCurrentPage(targetPage);
|
|
386
|
+
return undefined;
|
|
387
|
+
}
|
|
388
|
+
}
|
|
389
|
+
|
|
390
|
+
const container = scrollContainerRef.current;
|
|
391
|
+
const tableEl = container?.querySelector('table');
|
|
392
|
+
if (!container || !tableEl) {
|
|
393
|
+
return undefined;
|
|
394
|
+
}
|
|
395
|
+
const targetScrollTop = Math.max(0, (target - pageStartOffset) * DEFAULT_TABLE_ROW_HEIGHT);
|
|
396
|
+
|
|
397
|
+
// Capture the intent identity at observer creation so a later atomic
|
|
398
|
+
// replacement (user click, partition switch, filter change) doesn't
|
|
399
|
+
// get its new intent prematurely cleared by this observer's callback.
|
|
400
|
+
const observedIntent = intent;
|
|
401
|
+
|
|
402
|
+
// Wait for the table to reflect the current page's content before scrolling.
|
|
403
|
+
// Reading scrollHeight synchronously here is unsafe: React may have committed
|
|
404
|
+
// a new currentPage but PaginatedTable's chunk renderer hasn't yet recomputed
|
|
405
|
+
// separator-row heights, so scrollHeight could still describe the previous
|
|
406
|
+
// page's layout. ResizeObserver delivers its first callback after the next
|
|
407
|
+
// layout flush, guaranteeing we measure the fresh DOM, and fires again on
|
|
408
|
+
// every subsequent growth (chunk fetches expanding the virtual height).
|
|
409
|
+
const observer = new ResizeObserver(() => {
|
|
410
|
+
// If the intent we were resolving has been superseded (user click,
|
|
411
|
+
// new filter, partition switch, user page switch), abandon this
|
|
412
|
+
// scroll entirely — don't move the viewport based on a stale target.
|
|
413
|
+
// Reference equality is sufficient because intent replacements are
|
|
414
|
+
// always whole-object writes.
|
|
415
|
+
if (scrollIntentRef.current !== observedIntent) {
|
|
416
|
+
observer.disconnect();
|
|
417
|
+
return;
|
|
418
|
+
}
|
|
419
|
+
// Wait until the target row itself is laid out. We can't require a full
|
|
420
|
+
// viewport of content below it: when the target sits in the last viewport
|
|
421
|
+
// of a paginated page, there isn't one, and scrollHeight will never reach
|
|
422
|
+
// targetScrollTop + clientHeight. The browser will clamp scrollTo to the
|
|
423
|
+
// maximum scroll position and still reveal the row.
|
|
424
|
+
//
|
|
425
|
+
// Exception: if the content is already shorter than the target offset
|
|
426
|
+
// (targetScrollTop > maxScrollTop), the row will never appear at the
|
|
427
|
+
// expected position no matter how long we wait — the table is simply
|
|
428
|
+
// too short (few rows, non-paginated mode, short last page, etc.).
|
|
429
|
+
// In that case, clamp to the end, clear the intent and stop observing.
|
|
430
|
+
const maxScrollTop = Math.max(0, container.scrollHeight - container.clientHeight);
|
|
431
|
+
const rowLaidOut = container.scrollHeight >= targetScrollTop + DEFAULT_TABLE_ROW_HEIGHT;
|
|
432
|
+
const targetReachable = targetScrollTop <= maxScrollTop;
|
|
433
|
+
if (!rowLaidOut && !targetReachable) {
|
|
434
|
+
return;
|
|
435
|
+
}
|
|
436
|
+
container.scrollTo({
|
|
437
|
+
top: Math.min(targetScrollTop, maxScrollTop),
|
|
438
|
+
behavior: 'instant',
|
|
439
|
+
});
|
|
440
|
+
scrollIntentRef.current = {kind: 'none'};
|
|
441
|
+
observer.disconnect();
|
|
442
|
+
});
|
|
443
|
+
observer.observe(tableEl);
|
|
444
|
+
return () => observer.disconnect();
|
|
445
|
+
}, [
|
|
446
|
+
currentData,
|
|
447
|
+
isFetching,
|
|
448
|
+
baseOffset,
|
|
449
|
+
endOffset,
|
|
450
|
+
pageStartOffset,
|
|
451
|
+
usePagination,
|
|
452
|
+
currentPage,
|
|
453
|
+
setCurrentPage,
|
|
454
|
+
scrollContainerRef,
|
|
455
|
+
]);
|
|
456
|
+
|
|
457
|
+
return {scrollToOffset};
|
|
458
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import {cn} from '../../../../../utils/cn';
|
|
2
|
+
import i18n from '../i18n';
|
|
3
|
+
|
|
4
|
+
import type {TopicDataColumnId} from './types';
|
|
5
|
+
|
|
6
|
+
export const b = cn('ydb-diagnostics-topic-data');
|
|
7
|
+
|
|
8
|
+
export const TOPIC_DATA_COLUMNS_TITLES: Record<TopicDataColumnId, string> = {
|
|
9
|
+
get offset() {
|
|
10
|
+
return i18n('label_offset');
|
|
11
|
+
},
|
|
12
|
+
get partition() {
|
|
13
|
+
return i18n('label_partition');
|
|
14
|
+
},
|
|
15
|
+
get timestampCreate() {
|
|
16
|
+
return i18n('label_timestamp-create');
|
|
17
|
+
},
|
|
18
|
+
get timestampWrite() {
|
|
19
|
+
return i18n('label_timestamp-write');
|
|
20
|
+
},
|
|
21
|
+
get tsDiff() {
|
|
22
|
+
return i18n('label_ts_diff');
|
|
23
|
+
},
|
|
24
|
+
get key() {
|
|
25
|
+
return i18n('label_key');
|
|
26
|
+
},
|
|
27
|
+
get metadata() {
|
|
28
|
+
return i18n('label_metadata');
|
|
29
|
+
},
|
|
30
|
+
get message() {
|
|
31
|
+
return i18n('label_message');
|
|
32
|
+
},
|
|
33
|
+
get size() {
|
|
34
|
+
return i18n('label_size');
|
|
35
|
+
},
|
|
36
|
+
get originalSize() {
|
|
37
|
+
return i18n('label_original-size');
|
|
38
|
+
},
|
|
39
|
+
get codec() {
|
|
40
|
+
return i18n('label_codec');
|
|
41
|
+
},
|
|
42
|
+
get producerID() {
|
|
43
|
+
return i18n('label_producerid');
|
|
44
|
+
},
|
|
45
|
+
get seqNo() {
|
|
46
|
+
return i18n('label_seqno');
|
|
47
|
+
},
|
|
48
|
+
get ip() {
|
|
49
|
+
return i18n('label_ip');
|
|
50
|
+
},
|
|
51
|
+
} as const;
|
|
52
|
+
|
|
53
|
+
export const TOPIC_DATA_COLUMNS_WIDTH_LS_KEY = 'topicDataColumnsWidth';
|
|
54
|
+
export const TOPIC_DATA_SELECTED_COLUMNS_LS_KEY = 'topicDataSelectedColumns';
|
|
55
|
+
|
|
56
|
+
export const codecNumberToName: Record<number, string> = {
|
|
57
|
+
0: 'RAW',
|
|
58
|
+
1: 'GZIP',
|
|
59
|
+
2: 'LZOP',
|
|
60
|
+
3: 'ZSTD',
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
export const TOPIC_DATA_FETCH_LIMIT = 30;
|
|
64
|
+
|
|
65
|
+
//this limitations seems to be sound: its big enough to scroll through offsets without changing page, alse it fits within the browsers container height limits
|
|
66
|
+
export const TOPIC_DATA_DEFAULT_PAGE_SIZE = 100_000;
|
|
67
|
+
export const TOPIC_DATA_MIN_TOTAL_FOR_PAGINATION = 100_000;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import {createEnumParam, withDefault} from 'use-query-params';
|
|
2
|
+
|
|
3
|
+
import type {ValueOf} from '../../../../../types/common';
|
|
4
|
+
import i18n from '../i18n';
|
|
5
|
+
|
|
6
|
+
export const TOPIC_DATA_COLUMNS_IDS = {
|
|
7
|
+
PARTITION: 'partition',
|
|
8
|
+
OFFSET: 'offset',
|
|
9
|
+
TIMESTAMP_CREATE: 'timestampCreate',
|
|
10
|
+
TIMESTAMP_WRITE: 'timestampWrite',
|
|
11
|
+
TS_DIFF: 'tsDiff',
|
|
12
|
+
KEY: 'key',
|
|
13
|
+
METADATA: 'metadata',
|
|
14
|
+
MESSAGE: 'message',
|
|
15
|
+
SIZE: 'size',
|
|
16
|
+
ORIGINAL_SIZE: 'originalSize',
|
|
17
|
+
CODEC: 'codec',
|
|
18
|
+
PRODUCERID: 'producerID',
|
|
19
|
+
SEQNO: 'seqNo',
|
|
20
|
+
IP: 'ip',
|
|
21
|
+
} as const;
|
|
22
|
+
|
|
23
|
+
export type TopicDataColumnId = ValueOf<typeof TOPIC_DATA_COLUMNS_IDS>;
|
|
24
|
+
|
|
25
|
+
export interface TopicDataFilters {
|
|
26
|
+
partition?: string;
|
|
27
|
+
database: string;
|
|
28
|
+
path: string;
|
|
29
|
+
clusterName?: string;
|
|
30
|
+
isEmpty: boolean;
|
|
31
|
+
currentPage?: number;
|
|
32
|
+
useMeta?: boolean;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export const TopicDataFilterValues = {
|
|
36
|
+
get TIMESTAMP() {
|
|
37
|
+
return i18n('label_by-timestamp');
|
|
38
|
+
},
|
|
39
|
+
get OFFSET() {
|
|
40
|
+
return i18n('label_by-offset');
|
|
41
|
+
},
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
export type TopicDataFilterValue = keyof typeof TopicDataFilterValues;
|
|
45
|
+
|
|
46
|
+
export const isValidTopicDataFilterValue = (value: string): value is TopicDataFilterValue => {
|
|
47
|
+
return Object.keys(TopicDataFilterValues).some((v) => v === value);
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
export const TopicDataFilterValueEnum = createEnumParam(['TIMESTAMP', 'OFFSET']);
|
|
51
|
+
export const TopicDataFilterValueParam = withDefault<
|
|
52
|
+
TopicDataFilterValue | undefined | null,
|
|
53
|
+
'TIMESTAMP'
|
|
54
|
+
>(TopicDataFilterValueEnum, 'TIMESTAMP');
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
{
|
|
2
|
+
"no-data": "No data",
|
|
3
|
+
"title_database-overview": "Overview",
|
|
4
|
+
"title_info": "Info",
|
|
5
|
+
"title_schema": "Schema",
|
|
6
|
+
"title_queries": "Queries",
|
|
7
|
+
"title_top-shards": "Top shards",
|
|
8
|
+
"title_access": "Access",
|
|
9
|
+
"title_backups": "Backups",
|
|
10
|
+
"title_nodes": "Nodes",
|
|
11
|
+
"title_tablets": "Tablets",
|
|
12
|
+
"title_storage-usage": "Storage",
|
|
13
|
+
"title_storage": "Storage",
|
|
14
|
+
"title_network": "Network",
|
|
15
|
+
"title_describe": "Describe",
|
|
16
|
+
"title_hot-keys": "Hot keys",
|
|
17
|
+
"title_graph": "Graph",
|
|
18
|
+
"title_consumers": "Consumers",
|
|
19
|
+
"title_partitions": "Partitions",
|
|
20
|
+
"title_data": "Data",
|
|
21
|
+
"title_configs": "Configs",
|
|
22
|
+
"title_operations": "Operations",
|
|
23
|
+
"title_monitoring": "Monitoring",
|
|
24
|
+
"field_storage-usage-data-size": "Data size",
|
|
25
|
+
"field_storage-usage-disk-usage": "Disk usage",
|
|
26
|
+
"field_storage-usage-overhead": "Overhead",
|
|
27
|
+
"field_storage-usage-storage-groups": "Storage groups",
|
|
28
|
+
"title_storage-usage-storage-groups-usage": "Storage groups usage",
|
|
29
|
+
"field_storage-usage-group": "Storage Group",
|
|
30
|
+
"field_storage-usage-used": "Used",
|
|
31
|
+
"field_storage-usage-limit": "Limit",
|
|
32
|
+
"field_storage-usage-share": "Share",
|
|
33
|
+
"value_storage-usage-media-unknown": "Unknown",
|
|
34
|
+
"context_storage-usage-data-size-description": "Logical table data size from schema statistics.",
|
|
35
|
+
"context_storage-usage-overhead-description": "Disk usage divided by data size for the current table.",
|
|
36
|
+
"context_storage-usage-used-description": "Actual physical space currently occupied by this table's data in this storage group.",
|
|
37
|
+
"context_storage-usage-limit-description": "Maximum capacity of this storage group, as reported by blob storage.",
|
|
38
|
+
"context_storage-usage-share-description": "Percentage of this table's physical storage usage located in this storage group. Across all groups, the total is 100%.",
|
|
39
|
+
"context_storage-usage-empty": "No storage usage data",
|
|
40
|
+
"action_storage-usage-show-more": "Show {{count}} more"
|
|
41
|
+
}
|