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,736 @@
|
|
|
1
|
+
import type {IssueMessage} from '../../types/api/query';
|
|
2
|
+
import {isIssuesArray, isResponseErrorWithIssues} from '../response';
|
|
3
|
+
|
|
4
|
+
export interface ErrorDetails {
|
|
5
|
+
status?: number;
|
|
6
|
+
statusText?: string;
|
|
7
|
+
/** Brief error title for display: "{status} {statusText}" or "Network Error" */
|
|
8
|
+
title?: string;
|
|
9
|
+
/** Raw error.message for diagnostics (shown when differs from title and dataMessage) */
|
|
10
|
+
message?: string;
|
|
11
|
+
/** Specific error message extracted from response data (data.error, data.message, etc.) */
|
|
12
|
+
dataMessage?: string;
|
|
13
|
+
traceId?: string;
|
|
14
|
+
requestId?: string;
|
|
15
|
+
proxyName?: string;
|
|
16
|
+
workerName?: string;
|
|
17
|
+
proxyTraceId?: string;
|
|
18
|
+
proxyRequestId?: string;
|
|
19
|
+
proxyRewrittenPath?: string;
|
|
20
|
+
proxyTarget?: string;
|
|
21
|
+
errorOrigin?: 'app' | 'proxy' | 'upstream';
|
|
22
|
+
errorStage?: string;
|
|
23
|
+
requestUrl?: string;
|
|
24
|
+
method?: string;
|
|
25
|
+
errorCode?: string;
|
|
26
|
+
grpcCode?: number;
|
|
27
|
+
responseBody?: string;
|
|
28
|
+
hasIssues?: boolean;
|
|
29
|
+
issues?: IssueMessage[];
|
|
30
|
+
/** Where the error occurred: 'connection' or 'stream' */
|
|
31
|
+
errorPhase?: 'connection' | 'stream';
|
|
32
|
+
/** Network state at the time of error */
|
|
33
|
+
networkOnline?: boolean;
|
|
34
|
+
networkEffectiveType?: string;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export const USEFUL_HEADERS = [
|
|
38
|
+
{header: 'traceresponse', key: 'traceId', transform: extractTraceIdFromTraceresponse},
|
|
39
|
+
{header: 'x-trace-id', key: 'traceId', transform: undefined},
|
|
40
|
+
{header: 'x-request-id', key: 'requestId', transform: undefined},
|
|
41
|
+
{header: 'x-proxy-name', key: 'proxyName', transform: undefined},
|
|
42
|
+
{header: 'x-worker-name', key: 'workerName', transform: undefined},
|
|
43
|
+
] as const;
|
|
44
|
+
|
|
45
|
+
const PROXY_HEADERS = [
|
|
46
|
+
{header: 'x-ydb-ui-proxy-trace-id', key: 'proxyTraceId'},
|
|
47
|
+
{header: 'x-ydb-ui-proxy-request-id', key: 'proxyRequestId'},
|
|
48
|
+
{header: 'x-ydb-ui-proxy-rewritten-path', key: 'proxyRewrittenPath'},
|
|
49
|
+
{header: 'x-ydb-ui-proxy-target', key: 'proxyTarget'},
|
|
50
|
+
] as const;
|
|
51
|
+
|
|
52
|
+
const ERROR_MARKER_HEADERS = [
|
|
53
|
+
{header: 'x-ydb-ui-error-origin', key: 'errorOrigin'},
|
|
54
|
+
{header: 'x-ydb-ui-error-stage', key: 'errorStage'},
|
|
55
|
+
] as const;
|
|
56
|
+
|
|
57
|
+
const PROXY_BODY_FIELDS = [
|
|
58
|
+
{key: 'proxyTraceId', sourceKeys: ['proxyTraceId', 'traceId', 'x-ydb-ui-proxy-trace-id']},
|
|
59
|
+
{
|
|
60
|
+
key: 'proxyRequestId',
|
|
61
|
+
sourceKeys: ['proxyRequestId', 'requestId', 'x-ydb-ui-proxy-request-id'],
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
key: 'proxyRewrittenPath',
|
|
65
|
+
sourceKeys: ['proxyRewrittenPath', 'rewrittenPath', 'x-ydb-ui-proxy-rewritten-path'],
|
|
66
|
+
},
|
|
67
|
+
{key: 'proxyTarget', sourceKeys: ['proxyTarget', 'target', 'x-ydb-ui-proxy-target']},
|
|
68
|
+
] as const;
|
|
69
|
+
|
|
70
|
+
const ERROR_MARKER_BODY_FIELDS = [
|
|
71
|
+
{key: 'errorOrigin', sourceKeys: ['errorOrigin']},
|
|
72
|
+
{key: 'errorStage', sourceKeys: ['errorStage']},
|
|
73
|
+
] as const;
|
|
74
|
+
|
|
75
|
+
const ERROR_MARKER_PROXY_BODY_FIELDS = [
|
|
76
|
+
{key: 'errorOrigin', sourceKeys: ['errorOrigin', 'origin']},
|
|
77
|
+
{key: 'errorStage', sourceKeys: ['errorStage', 'stage']},
|
|
78
|
+
] as const;
|
|
79
|
+
|
|
80
|
+
type ProxyDetailsKey = (typeof PROXY_HEADERS)[number]['key'];
|
|
81
|
+
type ErrorMarkerKey = (typeof ERROR_MARKER_HEADERS)[number]['key'];
|
|
82
|
+
type ExtractableResponseHeader =
|
|
83
|
+
| (typeof USEFUL_HEADERS)[number]['header']
|
|
84
|
+
| (typeof PROXY_HEADERS)[number]['header']
|
|
85
|
+
| (typeof ERROR_MARKER_HEADERS)[number]['header'];
|
|
86
|
+
|
|
87
|
+
interface ProxyBodyFieldDefinition {
|
|
88
|
+
key: ProxyDetailsKey;
|
|
89
|
+
sourceKeys: readonly string[];
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
interface ErrorMarkerBodyFieldDefinition {
|
|
93
|
+
key: ErrorMarkerKey;
|
|
94
|
+
sourceKeys: readonly string[];
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
const ERROR_ORIGIN_VALUES = ['app', 'proxy', 'upstream'] as const;
|
|
98
|
+
|
|
99
|
+
export const EXTRACTABLE_RESPONSE_HEADERS: ExtractableResponseHeader[] = [
|
|
100
|
+
...USEFUL_HEADERS.map(({header}) => header),
|
|
101
|
+
...PROXY_HEADERS.map(({header}) => header),
|
|
102
|
+
...ERROR_MARKER_HEADERS.map(({header}) => header),
|
|
103
|
+
];
|
|
104
|
+
|
|
105
|
+
function extractTraceIdFromTraceresponse(value: string): string {
|
|
106
|
+
const parts = value.split('-');
|
|
107
|
+
return parts.length >= 2 ? parts[1] : value;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
function normalizeStringValue(value: unknown): string | undefined {
|
|
111
|
+
if (typeof value !== 'string') {
|
|
112
|
+
return undefined;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
const trimmedValue = value.trim();
|
|
116
|
+
return trimmedValue || undefined;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
function isRecord(value: unknown): value is Record<string, unknown> {
|
|
120
|
+
return Boolean(value && typeof value === 'object' && !Array.isArray(value));
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
function normalizeErrorOrigin(value: unknown): ErrorDetails['errorOrigin'] | undefined {
|
|
124
|
+
const normalizedValue = normalizeStringValue(value);
|
|
125
|
+
|
|
126
|
+
if (!normalizedValue) {
|
|
127
|
+
return undefined;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
return ERROR_ORIGIN_VALUES.find((allowedValue) => allowedValue === normalizedValue);
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
function hasStatus(error: Record<string, unknown>): boolean {
|
|
134
|
+
return typeof error.status === 'number';
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
function hasStatusText(error: Record<string, unknown>): boolean {
|
|
138
|
+
return typeof error.statusText === 'string';
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
function hasHeaders(error: Record<string, unknown>): boolean {
|
|
142
|
+
return Boolean('headers' in error && error.headers && typeof error.headers === 'object');
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
function hasConfig(error: Record<string, unknown>): boolean {
|
|
146
|
+
return Boolean('config' in error && error.config && typeof error.config === 'object');
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
function hasData(error: Record<string, unknown>): boolean {
|
|
150
|
+
return 'data' in error && error.data !== undefined;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
function normalizeErrorSource(error: Record<string, unknown>): Record<string, unknown> {
|
|
154
|
+
if (!('response' in error) || !error.response || typeof error.response !== 'object') {
|
|
155
|
+
return error;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
const response = error.response as Record<string, unknown>;
|
|
159
|
+
const normalized: Record<string, unknown> = {...error};
|
|
160
|
+
if (
|
|
161
|
+
!('message' in normalized) &&
|
|
162
|
+
Object.prototype.hasOwnProperty.call(error, 'message') &&
|
|
163
|
+
typeof error.message === 'string'
|
|
164
|
+
) {
|
|
165
|
+
normalized.message = error.message;
|
|
166
|
+
}
|
|
167
|
+
if (!('name' in normalized) && 'name' in error && typeof error.name === 'string') {
|
|
168
|
+
normalized.name = error.name;
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
if (!hasStatus(normalized) && hasStatus(response)) {
|
|
172
|
+
normalized.status = response.status;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
if (!hasStatusText(normalized) && hasStatusText(response)) {
|
|
176
|
+
normalized.statusText = response.statusText;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
if (!hasData(normalized) && hasData(response)) {
|
|
180
|
+
normalized.data = response.data;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
if (!hasHeaders(normalized) && hasHeaders(response)) {
|
|
184
|
+
normalized.headers = response.headers;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
if (!hasConfig(normalized) && hasConfig(response)) {
|
|
188
|
+
normalized.config = response.config;
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
return normalized;
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
function extractHeaders(headers: unknown): Partial<ErrorDetails> {
|
|
195
|
+
if (!headers || typeof headers !== 'object') {
|
|
196
|
+
return {};
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
const result: Record<string, string> = {};
|
|
200
|
+
|
|
201
|
+
for (const {header, key, transform} of USEFUL_HEADERS) {
|
|
202
|
+
if (key in result) {
|
|
203
|
+
continue;
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
if (header in headers) {
|
|
207
|
+
const value = (headers as Record<string, unknown>)[header];
|
|
208
|
+
if (typeof value === 'string' && value) {
|
|
209
|
+
const transformed = transform ? transform(value) : value;
|
|
210
|
+
if (transformed) {
|
|
211
|
+
result[key] = transformed;
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
return result;
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
function extractProxyHeaders(headers: unknown): Partial<Pick<ErrorDetails, ProxyDetailsKey>> {
|
|
221
|
+
if (!headers || typeof headers !== 'object') {
|
|
222
|
+
return {};
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
const headersRecord = headers as Record<string, unknown>;
|
|
226
|
+
const result: Partial<Pick<ErrorDetails, ProxyDetailsKey>> = {};
|
|
227
|
+
|
|
228
|
+
for (const {header, key} of PROXY_HEADERS) {
|
|
229
|
+
const value = normalizeStringValue(headersRecord[header]);
|
|
230
|
+
if (value) {
|
|
231
|
+
result[key] = value;
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
return result;
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
function extractProxyBodyField(
|
|
239
|
+
source: Record<string, unknown>,
|
|
240
|
+
field: ProxyBodyFieldDefinition,
|
|
241
|
+
): string | undefined {
|
|
242
|
+
for (const sourceKey of field.sourceKeys) {
|
|
243
|
+
const value = normalizeStringValue(source[sourceKey]);
|
|
244
|
+
if (value) {
|
|
245
|
+
return value;
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
return undefined;
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
function extractErrorMarkerBodyField(
|
|
253
|
+
source: Record<string, unknown>,
|
|
254
|
+
field: ErrorMarkerBodyFieldDefinition,
|
|
255
|
+
): string | undefined {
|
|
256
|
+
for (const sourceKey of field.sourceKeys) {
|
|
257
|
+
const value = normalizeStringValue(source[sourceKey]);
|
|
258
|
+
if (value) {
|
|
259
|
+
return value;
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
return undefined;
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
function extractProxyBody(data: unknown): Partial<Pick<ErrorDetails, ProxyDetailsKey>> {
|
|
267
|
+
if (!data || typeof data !== 'object' || !('proxyDiagnostics' in data)) {
|
|
268
|
+
return {};
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
const proxyDiagnostics = (data as Record<string, unknown>).proxyDiagnostics;
|
|
272
|
+
if (!proxyDiagnostics || typeof proxyDiagnostics !== 'object') {
|
|
273
|
+
return {};
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
const proxyRecord = proxyDiagnostics as Record<string, unknown>;
|
|
277
|
+
const result: Partial<Pick<ErrorDetails, ProxyDetailsKey>> = {};
|
|
278
|
+
|
|
279
|
+
for (const field of PROXY_BODY_FIELDS) {
|
|
280
|
+
const value = extractProxyBodyField(proxyRecord, field);
|
|
281
|
+
if (value) {
|
|
282
|
+
result[field.key] = value;
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
return result;
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
function extractProxyDiagnostics(
|
|
290
|
+
headers: unknown,
|
|
291
|
+
data: unknown,
|
|
292
|
+
): Partial<Pick<ErrorDetails, ProxyDetailsKey>> {
|
|
293
|
+
const bodyDiagnostics = extractProxyBody(data);
|
|
294
|
+
const headerDiagnostics = extractProxyHeaders(headers);
|
|
295
|
+
|
|
296
|
+
return {
|
|
297
|
+
...bodyDiagnostics,
|
|
298
|
+
...headerDiagnostics,
|
|
299
|
+
};
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
function extractErrorMarkerHeaders(headers: unknown): Partial<Pick<ErrorDetails, ErrorMarkerKey>> {
|
|
303
|
+
if (!headers || typeof headers !== 'object') {
|
|
304
|
+
return {};
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
const headersRecord = headers as Record<string, unknown>;
|
|
308
|
+
const result: Partial<Pick<ErrorDetails, ErrorMarkerKey>> = {};
|
|
309
|
+
|
|
310
|
+
for (const {header, key} of ERROR_MARKER_HEADERS) {
|
|
311
|
+
const rawValue = headersRecord[header];
|
|
312
|
+
if (key === 'errorOrigin') {
|
|
313
|
+
const errorOrigin = normalizeErrorOrigin(rawValue);
|
|
314
|
+
if (errorOrigin) {
|
|
315
|
+
result.errorOrigin = errorOrigin;
|
|
316
|
+
}
|
|
317
|
+
continue;
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
const errorStage = normalizeStringValue(rawValue);
|
|
321
|
+
if (errorStage) {
|
|
322
|
+
result.errorStage = errorStage;
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
return result;
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
function extractErrorMarkerFields(
|
|
330
|
+
source: Record<string, unknown>,
|
|
331
|
+
fields: readonly ErrorMarkerBodyFieldDefinition[],
|
|
332
|
+
): Partial<Pick<ErrorDetails, ErrorMarkerKey>> {
|
|
333
|
+
const result: Partial<Pick<ErrorDetails, ErrorMarkerKey>> = {};
|
|
334
|
+
|
|
335
|
+
for (const field of fields) {
|
|
336
|
+
const value = extractErrorMarkerBodyField(source, field);
|
|
337
|
+
|
|
338
|
+
if (!value) {
|
|
339
|
+
continue;
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
if (field.key === 'errorOrigin') {
|
|
343
|
+
const errorOrigin = normalizeErrorOrigin(value);
|
|
344
|
+
if (errorOrigin) {
|
|
345
|
+
result.errorOrigin = errorOrigin;
|
|
346
|
+
}
|
|
347
|
+
continue;
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
result[field.key] = value;
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
return result;
|
|
354
|
+
}
|
|
355
|
+
|
|
356
|
+
function extractErrorMarkerBody(data: unknown): Partial<Pick<ErrorDetails, ErrorMarkerKey>> {
|
|
357
|
+
if (!data || typeof data !== 'object') {
|
|
358
|
+
return {};
|
|
359
|
+
}
|
|
360
|
+
|
|
361
|
+
const dataRecord = data as Record<string, unknown>;
|
|
362
|
+
const result = extractErrorMarkerFields(dataRecord, ERROR_MARKER_BODY_FIELDS);
|
|
363
|
+
|
|
364
|
+
if (!('proxyDiagnostics' in dataRecord)) {
|
|
365
|
+
return result;
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
const proxyDiagnostics = dataRecord.proxyDiagnostics;
|
|
369
|
+
if (!proxyDiagnostics || typeof proxyDiagnostics !== 'object') {
|
|
370
|
+
return result;
|
|
371
|
+
}
|
|
372
|
+
|
|
373
|
+
return {
|
|
374
|
+
...extractErrorMarkerFields(
|
|
375
|
+
proxyDiagnostics as Record<string, unknown>,
|
|
376
|
+
ERROR_MARKER_PROXY_BODY_FIELDS,
|
|
377
|
+
),
|
|
378
|
+
...result,
|
|
379
|
+
};
|
|
380
|
+
}
|
|
381
|
+
|
|
382
|
+
function extractErrorMarkers(
|
|
383
|
+
headers: unknown,
|
|
384
|
+
data: unknown,
|
|
385
|
+
): Partial<Pick<ErrorDetails, ErrorMarkerKey>> {
|
|
386
|
+
const bodyMarkers = extractErrorMarkerBody(data);
|
|
387
|
+
const headerMarkers = extractErrorMarkerHeaders(headers);
|
|
388
|
+
|
|
389
|
+
return {
|
|
390
|
+
...bodyMarkers,
|
|
391
|
+
...headerMarkers,
|
|
392
|
+
};
|
|
393
|
+
}
|
|
394
|
+
|
|
395
|
+
function buildUrlWithParams(baseUrl: string, params: unknown): string {
|
|
396
|
+
if (!params || typeof params !== 'object') {
|
|
397
|
+
return baseUrl;
|
|
398
|
+
}
|
|
399
|
+
|
|
400
|
+
const searchParams = new URLSearchParams();
|
|
401
|
+
for (const [key, value] of Object.entries(params as Record<string, unknown>)) {
|
|
402
|
+
if (value !== undefined && value !== null) {
|
|
403
|
+
searchParams.append(key, String(value));
|
|
404
|
+
}
|
|
405
|
+
}
|
|
406
|
+
|
|
407
|
+
const qs = searchParams.toString();
|
|
408
|
+
if (!qs) {
|
|
409
|
+
return baseUrl;
|
|
410
|
+
}
|
|
411
|
+
|
|
412
|
+
const separator = baseUrl.includes('?') ? '&' : '?';
|
|
413
|
+
return `${baseUrl}${separator}${qs}`;
|
|
414
|
+
}
|
|
415
|
+
|
|
416
|
+
function extractConfig(config: unknown): {url?: string; method?: string} {
|
|
417
|
+
if (!config || typeof config !== 'object') {
|
|
418
|
+
return {};
|
|
419
|
+
}
|
|
420
|
+
|
|
421
|
+
const result: {url?: string; method?: string} = {};
|
|
422
|
+
|
|
423
|
+
if ('url' in config && typeof config.url === 'string') {
|
|
424
|
+
const params = 'params' in config ? config.params : undefined;
|
|
425
|
+
result.url = buildUrlWithParams(config.url, params);
|
|
426
|
+
}
|
|
427
|
+
|
|
428
|
+
if ('method' in config && typeof config.method === 'string') {
|
|
429
|
+
result.method = config.method.toUpperCase();
|
|
430
|
+
}
|
|
431
|
+
|
|
432
|
+
return result;
|
|
433
|
+
}
|
|
434
|
+
|
|
435
|
+
const MAX_RESPONSE_BODY_LENGTH = 500;
|
|
436
|
+
|
|
437
|
+
function extractResponseBody(data: unknown): string | undefined {
|
|
438
|
+
if (data === undefined || data === null || data === '') {
|
|
439
|
+
return undefined;
|
|
440
|
+
}
|
|
441
|
+
|
|
442
|
+
if (typeof data === 'string') {
|
|
443
|
+
const trimmed = data.trim();
|
|
444
|
+
if (!trimmed) {
|
|
445
|
+
return undefined;
|
|
446
|
+
}
|
|
447
|
+
if (trimmed.length > MAX_RESPONSE_BODY_LENGTH) {
|
|
448
|
+
return trimmed.slice(0, MAX_RESPONSE_BODY_LENGTH) + '…';
|
|
449
|
+
}
|
|
450
|
+
return trimmed;
|
|
451
|
+
}
|
|
452
|
+
|
|
453
|
+
if (typeof data === 'object') {
|
|
454
|
+
try {
|
|
455
|
+
const json = JSON.stringify(data, null, 2);
|
|
456
|
+
if (!json || json === '{}') {
|
|
457
|
+
return undefined;
|
|
458
|
+
}
|
|
459
|
+
if (json.length > MAX_RESPONSE_BODY_LENGTH) {
|
|
460
|
+
return json.slice(0, MAX_RESPONSE_BODY_LENGTH) + '…';
|
|
461
|
+
}
|
|
462
|
+
return json;
|
|
463
|
+
} catch {
|
|
464
|
+
return undefined;
|
|
465
|
+
}
|
|
466
|
+
}
|
|
467
|
+
|
|
468
|
+
return undefined;
|
|
469
|
+
}
|
|
470
|
+
|
|
471
|
+
function extractGatewayErrorPayload(
|
|
472
|
+
error: Record<string, unknown>,
|
|
473
|
+
): Record<string, unknown> | null {
|
|
474
|
+
const data = error.data;
|
|
475
|
+
const candidates = isRecord(data) ? [data, error] : [error];
|
|
476
|
+
|
|
477
|
+
for (const candidate of candidates) {
|
|
478
|
+
const hasNumericStatus = typeof candidate.status === 'number';
|
|
479
|
+
const hasCode = typeof candidate.code === 'string';
|
|
480
|
+
const hasDetails = isRecord(candidate.details);
|
|
481
|
+
|
|
482
|
+
if (hasNumericStatus && hasDetails && (hasCode || typeof candidate.message === 'string')) {
|
|
483
|
+
return candidate;
|
|
484
|
+
}
|
|
485
|
+
}
|
|
486
|
+
|
|
487
|
+
return null;
|
|
488
|
+
}
|
|
489
|
+
|
|
490
|
+
function pickGatewayResponseBodyPayload(payload: Record<string, unknown>): Record<string, unknown> {
|
|
491
|
+
const result: Record<string, unknown> = {};
|
|
492
|
+
|
|
493
|
+
for (const key of ['status', 'message', 'code', 'details']) {
|
|
494
|
+
if (key in payload) {
|
|
495
|
+
result[key] = payload[key];
|
|
496
|
+
}
|
|
497
|
+
}
|
|
498
|
+
|
|
499
|
+
return result;
|
|
500
|
+
}
|
|
501
|
+
|
|
502
|
+
/**
|
|
503
|
+
* Short plain text responses can be used as the data message;
|
|
504
|
+
* longer or formatted bodies are shown only in the Response disclosure.
|
|
505
|
+
*/
|
|
506
|
+
const MAX_DATA_MESSAGE_LENGTH = 200;
|
|
507
|
+
|
|
508
|
+
function isShortPlainText(value: string): boolean {
|
|
509
|
+
return value.length <= MAX_DATA_MESSAGE_LENGTH && !value.trimStart().startsWith('<');
|
|
510
|
+
}
|
|
511
|
+
|
|
512
|
+
function extractMessageFromObject(data: object): string | undefined {
|
|
513
|
+
if ('message' in data && typeof data.message === 'string') {
|
|
514
|
+
return data.message;
|
|
515
|
+
}
|
|
516
|
+
|
|
517
|
+
if ('error' in data && typeof data.error === 'string') {
|
|
518
|
+
return data.error;
|
|
519
|
+
}
|
|
520
|
+
|
|
521
|
+
if (
|
|
522
|
+
'error' in data &&
|
|
523
|
+
data.error &&
|
|
524
|
+
typeof data.error === 'object' &&
|
|
525
|
+
'message' in data.error &&
|
|
526
|
+
typeof data.error.message === 'string'
|
|
527
|
+
) {
|
|
528
|
+
return data.error.message;
|
|
529
|
+
}
|
|
530
|
+
|
|
531
|
+
if ('details' in data && data.details && typeof data.details === 'object') {
|
|
532
|
+
const description = normalizeStringValue(
|
|
533
|
+
(data.details as Record<string, unknown>).description,
|
|
534
|
+
);
|
|
535
|
+
if (description) {
|
|
536
|
+
return description;
|
|
537
|
+
}
|
|
538
|
+
}
|
|
539
|
+
|
|
540
|
+
if ('code' in data && typeof data.code === 'string') {
|
|
541
|
+
return data.code;
|
|
542
|
+
}
|
|
543
|
+
|
|
544
|
+
return undefined;
|
|
545
|
+
}
|
|
546
|
+
|
|
547
|
+
export function extractDataMessage(data: unknown): string | undefined {
|
|
548
|
+
if (!data) {
|
|
549
|
+
return undefined;
|
|
550
|
+
}
|
|
551
|
+
|
|
552
|
+
if (typeof data === 'string') {
|
|
553
|
+
const trimmed = data.trim();
|
|
554
|
+
return trimmed && isShortPlainText(trimmed) ? trimmed : undefined;
|
|
555
|
+
}
|
|
556
|
+
|
|
557
|
+
if (typeof data === 'object') {
|
|
558
|
+
return extractMessageFromObject(data);
|
|
559
|
+
}
|
|
560
|
+
|
|
561
|
+
return undefined;
|
|
562
|
+
}
|
|
563
|
+
|
|
564
|
+
function formatTitle(
|
|
565
|
+
status?: number,
|
|
566
|
+
statusText?: string,
|
|
567
|
+
errorCode?: string,
|
|
568
|
+
message?: string,
|
|
569
|
+
): string | undefined {
|
|
570
|
+
if (status !== undefined && statusText) {
|
|
571
|
+
return `${status} ${statusText}`;
|
|
572
|
+
}
|
|
573
|
+
if (status !== undefined) {
|
|
574
|
+
return String(status);
|
|
575
|
+
}
|
|
576
|
+
if (errorCode && message) {
|
|
577
|
+
return message;
|
|
578
|
+
}
|
|
579
|
+
return undefined;
|
|
580
|
+
}
|
|
581
|
+
|
|
582
|
+
function extractBasicProperties(error: Record<string, unknown>): Partial<ErrorDetails> {
|
|
583
|
+
const result: Partial<ErrorDetails> = {};
|
|
584
|
+
const gatewayPayload = extractGatewayErrorPayload(error);
|
|
585
|
+
|
|
586
|
+
if (typeof error.status === 'number') {
|
|
587
|
+
result.status = error.status;
|
|
588
|
+
} else if (typeof gatewayPayload?.status === 'number') {
|
|
589
|
+
result.status = gatewayPayload.status;
|
|
590
|
+
}
|
|
591
|
+
|
|
592
|
+
if (typeof error.statusText === 'string') {
|
|
593
|
+
result.statusText = error.statusText;
|
|
594
|
+
}
|
|
595
|
+
|
|
596
|
+
if (typeof gatewayPayload?.code === 'string') {
|
|
597
|
+
result.errorCode = gatewayPayload.code;
|
|
598
|
+
} else if (typeof error.code === 'string') {
|
|
599
|
+
result.errorCode = error.code;
|
|
600
|
+
}
|
|
601
|
+
|
|
602
|
+
if ('data' in error) {
|
|
603
|
+
const body = extractResponseBody(error.data);
|
|
604
|
+
if (body) {
|
|
605
|
+
result.responseBody = body;
|
|
606
|
+
}
|
|
607
|
+
|
|
608
|
+
const dataMsg = extractDataMessage(error.data);
|
|
609
|
+
if (dataMsg) {
|
|
610
|
+
result.dataMessage = dataMsg;
|
|
611
|
+
}
|
|
612
|
+
} else if (gatewayPayload) {
|
|
613
|
+
const body = extractResponseBody(pickGatewayResponseBodyPayload(gatewayPayload));
|
|
614
|
+
if (body) {
|
|
615
|
+
result.responseBody = body;
|
|
616
|
+
}
|
|
617
|
+
}
|
|
618
|
+
|
|
619
|
+
if (!result.dataMessage && gatewayPayload) {
|
|
620
|
+
const gatewayDataMessage = extractMessageFromObject(gatewayPayload);
|
|
621
|
+
if (gatewayDataMessage) {
|
|
622
|
+
result.dataMessage = gatewayDataMessage;
|
|
623
|
+
}
|
|
624
|
+
}
|
|
625
|
+
|
|
626
|
+
if (isRecord(gatewayPayload?.details)) {
|
|
627
|
+
const grpcCode = gatewayPayload.details.grpcCode;
|
|
628
|
+
if (typeof grpcCode === 'number') {
|
|
629
|
+
result.grpcCode = grpcCode;
|
|
630
|
+
}
|
|
631
|
+
}
|
|
632
|
+
|
|
633
|
+
const title = formatTitle(
|
|
634
|
+
result.status,
|
|
635
|
+
result.statusText,
|
|
636
|
+
result.errorCode,
|
|
637
|
+
typeof error.message === 'string' ? error.message : undefined,
|
|
638
|
+
);
|
|
639
|
+
if (title) {
|
|
640
|
+
result.title = title;
|
|
641
|
+
}
|
|
642
|
+
|
|
643
|
+
return result;
|
|
644
|
+
}
|
|
645
|
+
|
|
646
|
+
function extractIssues(error: object): Partial<ErrorDetails> {
|
|
647
|
+
if (isResponseErrorWithIssues(error) && error.data) {
|
|
648
|
+
return {
|
|
649
|
+
hasIssues: true,
|
|
650
|
+
issues: error.data.issues as IssueMessage[],
|
|
651
|
+
};
|
|
652
|
+
}
|
|
653
|
+
|
|
654
|
+
if ('issues' in error && isIssuesArray((error as Record<string, unknown>).issues)) {
|
|
655
|
+
return {
|
|
656
|
+
hasIssues: true,
|
|
657
|
+
issues: (error as Record<string, unknown>).issues as IssueMessage[],
|
|
658
|
+
};
|
|
659
|
+
}
|
|
660
|
+
|
|
661
|
+
return {};
|
|
662
|
+
}
|
|
663
|
+
|
|
664
|
+
function extractDiagnosticFields(error: object, existingFieldCount: number): Partial<ErrorDetails> {
|
|
665
|
+
const result: Partial<ErrorDetails> = {};
|
|
666
|
+
const errorRecord = error as Record<string, unknown>;
|
|
667
|
+
|
|
668
|
+
// Save error.message for diagnostics, only when other useful fields exist
|
|
669
|
+
if (typeof errorRecord.message === 'string' && errorRecord.message && existingFieldCount > 0) {
|
|
670
|
+
result.message = errorRecord.message;
|
|
671
|
+
}
|
|
672
|
+
|
|
673
|
+
// Extract errorPhase from enriched streaming errors
|
|
674
|
+
if ('errorPhase' in error && typeof errorRecord.errorPhase === 'string') {
|
|
675
|
+
result.errorPhase = errorRecord.errorPhase as 'connection' | 'stream';
|
|
676
|
+
}
|
|
677
|
+
|
|
678
|
+
if ('networkOnline' in error && typeof errorRecord.networkOnline === 'boolean') {
|
|
679
|
+
result.networkOnline = errorRecord.networkOnline;
|
|
680
|
+
}
|
|
681
|
+
|
|
682
|
+
return result;
|
|
683
|
+
}
|
|
684
|
+
|
|
685
|
+
/**
|
|
686
|
+
* Extracts metadata details from error objects for display in error UI.
|
|
687
|
+
* Works with HTTP errors (from AxiosWrapper response), network errors (from AxiosWrapper toJSON),
|
|
688
|
+
* and response errors with issues (HTTP 429).
|
|
689
|
+
*
|
|
690
|
+
* Returns null for primitives, cancelled requests, and objects without useful metadata.
|
|
691
|
+
*/
|
|
692
|
+
export function extractErrorDetails(error: unknown): ErrorDetails | null {
|
|
693
|
+
if (!error || typeof error !== 'object') {
|
|
694
|
+
return null;
|
|
695
|
+
}
|
|
696
|
+
|
|
697
|
+
if ('isCancelled' in error && error.isCancelled) {
|
|
698
|
+
return null;
|
|
699
|
+
}
|
|
700
|
+
|
|
701
|
+
const normalizedError = normalizeErrorSource(error as Record<string, unknown>);
|
|
702
|
+
const details: ErrorDetails = {
|
|
703
|
+
...extractBasicProperties(normalizedError),
|
|
704
|
+
};
|
|
705
|
+
|
|
706
|
+
// ErrorResponse has error.error.message at top level (not in .data)
|
|
707
|
+
if (!details.dataMessage && 'error' in normalizedError) {
|
|
708
|
+
const msg = extractDataMessage(normalizedError);
|
|
709
|
+
if (msg) {
|
|
710
|
+
details.dataMessage = msg;
|
|
711
|
+
}
|
|
712
|
+
}
|
|
713
|
+
|
|
714
|
+
if ('headers' in normalizedError) {
|
|
715
|
+
Object.assign(details, extractHeaders(normalizedError.headers));
|
|
716
|
+
}
|
|
717
|
+
|
|
718
|
+
Object.assign(details, extractProxyDiagnostics(normalizedError.headers, normalizedError.data));
|
|
719
|
+
Object.assign(details, extractErrorMarkers(normalizedError.headers, normalizedError.data));
|
|
720
|
+
|
|
721
|
+
if ('config' in normalizedError) {
|
|
722
|
+
const {url, method} = extractConfig(normalizedError.config);
|
|
723
|
+
if (url) {
|
|
724
|
+
details.requestUrl = url;
|
|
725
|
+
}
|
|
726
|
+
if (method) {
|
|
727
|
+
details.method = method;
|
|
728
|
+
}
|
|
729
|
+
}
|
|
730
|
+
|
|
731
|
+
Object.assign(details, extractIssues(normalizedError));
|
|
732
|
+
Object.assign(details, extractDiagnosticFields(normalizedError, Object.keys(details).length));
|
|
733
|
+
|
|
734
|
+
const hasAnyDetail = Object.keys(details).length > 0;
|
|
735
|
+
return hasAnyDetail ? details : null;
|
|
736
|
+
}
|