ydb-embedded-ui 6.11.0 → 6.13.0
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/components/AutoRefreshControl/i18n/index.d.ts +1 -1
- package/dist/components/ButtonWithConfirmDialog/ButtonWithConfirmDialog.d.ts +3 -2
- package/dist/components/ButtonWithConfirmDialog/ButtonWithConfirmDialog.js +9 -5
- package/dist/components/CriticalActionDialog/CriticalActionDialog.d.ts +5 -3
- package/dist/components/CriticalActionDialog/CriticalActionDialog.js +8 -7
- package/dist/components/CriticalActionDialog/CriticalActionDialog.scss +1 -1
- package/dist/components/CriticalActionDialog/i18n/en.json +1 -0
- package/dist/components/CriticalActionDialog/i18n/index.d.ts +1 -1
- package/dist/components/DateRange/DateRange.d.ts +4 -4
- package/dist/components/DateRange/DateRange.js +23 -26
- package/dist/components/DateRange/DateRange.scss +14 -13
- package/dist/components/DateRange/__test__/fromDateRangeValues.test.js +80 -0
- package/dist/components/DateRange/__test__/getdatePickerSize.test.d.ts +1 -0
- package/dist/components/DateRange/__test__/getdatePickerSize.test.js +56 -0
- package/dist/components/DateRange/__test__/toDateRangeValues.test.d.ts +1 -0
- package/dist/components/DateRange/__test__/toDateRangeValues.test.js +80 -0
- package/dist/components/DateRange/i18n/en.json +4 -0
- package/dist/components/DateRange/i18n/index.d.ts +2 -0
- package/dist/components/DateRange/i18n/index.js +5 -0
- package/dist/components/DateRange/i18n/ru.json +4 -0
- package/dist/components/DateRange/utils.d.ts +5 -0
- package/dist/components/DateRange/utils.js +41 -0
- package/dist/components/DeveloperUILinkButton/DeveloperUILinkButton.d.ts +8 -0
- package/dist/components/{DeveloperUiLink/DeveloperUiLink.js → DeveloperUILinkButton/DeveloperUILinkButton.js} +3 -3
- package/dist/components/{DeveloperUiLink/DeveloperUiLink.scss → DeveloperUILinkButton/DeveloperUILinkButton.scss} +3 -2
- package/dist/components/DiskStateProgressBar/DiskStateProgressBar.d.ts +6 -1
- package/dist/components/DiskStateProgressBar/DiskStateProgressBar.js +22 -12
- package/dist/components/DiskStateProgressBar/DiskStateProgressBar.scss +45 -45
- package/dist/components/EntityStatus/EntityStatus.js +1 -1
- package/dist/components/EntityStatus/EntityStatus.scss +6 -2
- package/dist/components/Errors/PageError/PageError.d.ts +11 -0
- package/dist/components/Errors/PageError/PageError.js +19 -0
- package/dist/components/Errors/i18n/en.json +2 -1
- package/dist/components/Errors/i18n/index.d.ts +1 -1
- package/dist/components/Errors/i18n/ru.json +2 -1
- package/dist/components/Fullscreen/Fullscreen.d.ts +1 -1
- package/dist/components/Fullscreen/Fullscreen.js +34 -27
- package/dist/components/Fullscreen/Fullscreen.scss +16 -8
- package/dist/components/Graph/Graph.d.ts +13 -0
- package/dist/components/Graph/Graph.js +41 -0
- package/dist/components/LabelWithPopover/LabelWithPopover.d.ts +4 -1
- package/dist/components/LabelWithPopover/LabelWithPopover.js +1 -1
- package/dist/components/Loader/Loader.d.ts +2 -1
- package/dist/components/Loader/Loader.js +6 -1
- package/dist/components/LoaderWrapper/LoaderWrapper.d.ts +10 -0
- package/dist/components/LoaderWrapper/LoaderWrapper.js +8 -0
- package/dist/components/MetricChart/reducer.d.ts +2 -2
- package/dist/components/MonacoEditor/MonacoEditor.js +0 -2
- package/dist/components/NodeHostWrapper/NodeHostWrapper.d.ts +0 -1
- package/dist/components/NodeHostWrapper/NodeHostWrapper.js +3 -6
- package/dist/components/PDiskInfo/PDiskInfo.d.ts +8 -5
- package/dist/components/PDiskInfo/PDiskInfo.js +76 -26
- package/dist/components/PDiskInfo/PDiskInfo.scss +15 -1
- package/dist/components/PDiskInfo/i18n/en.json +11 -5
- package/dist/components/PDiskInfo/i18n/index.d.ts +1 -1
- package/dist/components/PDiskPopup/PDiskPopup.js +8 -2
- package/dist/components/ProgressViewer/ProgressViewer.js +3 -0
- package/dist/components/QueryExecutionStatus/QueryExecutionStatus.js +13 -3
- package/dist/components/QueryExecutionStatus/QueryExecutionStatus.scss +4 -0
- package/dist/components/QuerySettingsDescription/QuerySettingsDescription.d.ts +7 -0
- package/dist/components/QuerySettingsDescription/QuerySettingsDescription.js +8 -0
- package/dist/components/QuerySettingsDescription/QuerySettingsDescription.scss +8 -0
- package/dist/components/QuerySettingsDescription/index.d.ts +1 -0
- package/dist/components/QuerySettingsDescription/index.js +1 -0
- package/dist/components/VDisk/VDisk.js +3 -4
- package/dist/components/VDiskInfo/VDiskInfo.d.ts +4 -3
- package/dist/components/VDiskInfo/VDiskInfo.js +12 -5
- package/dist/components/VDiskInfo/VDiskInfo.scss +7 -1
- package/dist/components/VDiskInfo/i18n/en.json +2 -1
- package/dist/components/VDiskInfo/i18n/index.d.ts +1 -1
- package/dist/containers/App/Content.js +15 -19
- package/dist/containers/AsideNavigation/AsideNavigation.js +2 -1
- package/dist/containers/AsideNavigation/YdbInternalUser/YdbInternalUser.js +4 -4
- package/dist/containers/Authentication/Authentication.js +8 -10
- package/dist/containers/Authentication/utils.d.ts +8 -0
- package/dist/containers/Authentication/utils.js +15 -0
- package/dist/containers/Cluster/Cluster.scss +1 -4
- package/dist/containers/Cluster/ClusterInfo/ClusterInfo.js +6 -6
- package/dist/containers/Cluster/ClusterInfo/ClusterInfo.scss +1 -1
- package/dist/containers/Clusters/constants.d.ts +1 -1
- package/dist/containers/Heatmap/Heatmap.d.ts +2 -1
- package/dist/containers/Heatmap/Heatmap.js +7 -6
- package/dist/containers/Node/Node.js +5 -7
- package/dist/containers/Node/Node.scss +5 -4
- package/dist/containers/Node/NodeStructure/NodeStructure.js +4 -4
- package/dist/containers/Node/NodeStructure/NodeStructure.scss +4 -20
- package/dist/containers/Node/NodeStructure/Pdisk.js +3 -3
- package/dist/containers/Nodes/Nodes.js +6 -8
- package/dist/containers/Nodes/getNodesColumns.js +6 -21
- package/dist/containers/PDiskPage/PDiskGroups/PDiskGroups.d.ts +6 -0
- package/dist/containers/PDiskPage/PDiskGroups/PDiskGroups.js +24 -0
- package/dist/containers/PDiskPage/PDiskPage.js +79 -30
- package/dist/containers/PDiskPage/PDiskPage.scss +8 -5
- package/dist/containers/PDiskPage/PDiskSpaceDistribution/PDiskSpaceDistribution.d.ts +7 -0
- package/dist/containers/PDiskPage/PDiskSpaceDistribution/PDiskSpaceDistribution.js +93 -0
- package/dist/containers/PDiskPage/PDiskSpaceDistribution/PDiskSpaceDistribution.scss +52 -0
- package/dist/containers/PDiskPage/PDiskSpaceDistribution/utils.d.ts +4 -0
- package/dist/containers/PDiskPage/PDiskSpaceDistribution/utils.js +9 -0
- package/dist/containers/PDiskPage/i18n/en.json +9 -1
- package/dist/containers/PDiskPage/i18n/index.d.ts +1 -1
- package/dist/containers/Storage/PDisk/PDisk.js +3 -4
- package/dist/containers/Storage/Storage.js +4 -6
- package/dist/containers/Storage/StorageGroups/getStorageGroupsColumns.js +16 -6
- package/dist/containers/Tablet/Tablet.js +2 -2
- package/dist/containers/Tablet/TabletControls/TabletControls.js +2 -1
- package/dist/containers/Tablets/Tablets.js +14 -13
- package/dist/containers/Tenant/Acl/Acl.d.ts +2 -1
- package/dist/containers/Tenant/Acl/Acl.js +10 -8
- package/dist/containers/Tenant/Acl/Acl.scss +8 -8
- package/dist/containers/Tenant/Acl/i18n/en.json +6 -0
- package/dist/containers/Tenant/Acl/i18n/index.d.ts +2 -0
- package/dist/containers/Tenant/Acl/i18n/index.js +4 -0
- package/dist/containers/Tenant/Diagnostics/Consumers/Consumers.js +2 -5
- package/dist/containers/Tenant/Diagnostics/Describe/Describe.d.ts +2 -1
- package/dist/containers/Tenant/Diagnostics/Describe/Describe.js +14 -17
- package/dist/containers/Tenant/Diagnostics/DetailedOverview/DetailedOverview.js +1 -1
- package/dist/containers/Tenant/Diagnostics/DetailedOverview/DetailedOverview.scss +1 -0
- package/dist/containers/Tenant/Diagnostics/Diagnostics.js +3 -3
- package/dist/containers/Tenant/Diagnostics/Diagnostics.scss +3 -1
- package/dist/containers/Tenant/Diagnostics/HotKeys/HotKeys.d.ts +2 -1
- package/dist/containers/Tenant/Diagnostics/HotKeys/HotKeys.js +3 -3
- package/dist/containers/Tenant/Diagnostics/Network/Network.js +8 -11
- package/dist/containers/Tenant/Diagnostics/Network/Network.scss +1 -0
- package/dist/containers/Tenant/Diagnostics/Overview/Overview.d.ts +2 -2
- package/dist/containers/Tenant/Diagnostics/Overview/Overview.js +8 -10
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/i18n/en.json +14 -1
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/i18n/index.d.ts +1 -1
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/i18n/index.js +1 -2
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo.js +36 -17
- package/dist/containers/Tenant/Diagnostics/Overview/TopicStats/TopicStats.js +3 -4
- package/dist/containers/Tenant/Diagnostics/Partitions/Partitions.js +1 -4
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TopQueries.js +8 -5
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.js +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantOverviewTableLayout.js +3 -3
- package/dist/containers/Tenant/Diagnostics/TenantOverview/getSectionTitle.d.ts +2 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/getSectionTitle.js +2 -2
- package/dist/containers/Tenant/Diagnostics/TenantOverview/i18n/en.json +3 -2
- package/dist/containers/Tenant/Diagnostics/TenantOverview/i18n/index.d.ts +1 -1
- package/dist/containers/Tenant/Diagnostics/TopQueries/TopQueries.js +6 -5
- package/dist/containers/Tenant/Diagnostics/TopQueries/getTopQueriesColumns.d.ts +2 -2
- package/dist/containers/Tenant/Diagnostics/TopQueries/getTopQueriesColumns.js +14 -14
- package/dist/containers/Tenant/Diagnostics/TopShards/TopShards.js +7 -6
- package/dist/containers/Tenant/Diagnostics/TopShards/getTopShardsColumns.js +4 -4
- package/dist/containers/Tenant/ObjectSummary/ObjectSummary.js +31 -18
- package/dist/containers/Tenant/Query/ExecuteResult/ExecuteResult.d.ts +2 -2
- package/dist/containers/Tenant/Query/ExecuteResult/ExecuteResult.js +56 -20
- package/dist/containers/Tenant/Query/ExecuteResult/ExecuteResult.scss +10 -6
- package/dist/containers/Tenant/Query/ExecuteResult/i18n/en.json +7 -0
- package/dist/containers/Tenant/Query/ExecuteResult/i18n/index.d.ts +2 -0
- package/dist/containers/Tenant/Query/ExecuteResult/i18n/index.js +4 -0
- package/dist/containers/Tenant/Query/ExecuteResult/utils.d.ts +18 -0
- package/dist/containers/Tenant/Query/ExecuteResult/utils.js +36 -0
- package/dist/containers/Tenant/Query/ExplainResult/ExplainResult.d.ts +23 -1
- package/dist/containers/Tenant/Query/ExplainResult/ExplainResult.js +56 -111
- package/dist/containers/Tenant/Query/ExplainResult/ExplainResult.scss +1 -30
- package/dist/containers/Tenant/Query/ExplainResult/components/Ast/Ast.d.ts +7 -0
- package/dist/containers/Tenant/Query/ExplainResult/components/Ast/Ast.js +18 -0
- package/dist/containers/Tenant/Query/ExplainResult/components/Ast/Ast.scss +8 -0
- package/dist/containers/Tenant/Query/ExplainResult/components/Graph/Graph.d.ts +8 -0
- package/dist/containers/Tenant/Query/ExplainResult/components/Graph/Graph.js +14 -0
- package/dist/containers/Tenant/Query/ExplainResult/components/Graph/Graph.scss +14 -0
- package/dist/containers/Tenant/Query/ExplainResult/components/SimplifiedPlan/MetricsCell.d.ts +6 -0
- package/dist/containers/Tenant/Query/ExplainResult/components/SimplifiedPlan/MetricsCell.js +11 -0
- package/dist/containers/Tenant/Query/ExplainResult/components/SimplifiedPlan/OperationCell.d.ts +13 -0
- package/dist/containers/Tenant/Query/ExplainResult/components/SimplifiedPlan/OperationCell.js +48 -0
- package/dist/containers/Tenant/Query/ExplainResult/components/SimplifiedPlan/OperationParams.d.ts +6 -0
- package/dist/containers/Tenant/Query/ExplainResult/components/SimplifiedPlan/OperationParams.js +66 -0
- package/dist/containers/Tenant/Query/ExplainResult/components/SimplifiedPlan/SimplifiedPlan.d.ts +7 -0
- package/dist/containers/Tenant/Query/ExplainResult/components/SimplifiedPlan/SimplifiedPlan.js +100 -0
- package/dist/containers/Tenant/Query/ExplainResult/components/SimplifiedPlan/SimplifiedPlan.scss +128 -0
- package/dist/containers/Tenant/Query/ExplainResult/components/SimplifiedPlan/types.d.ts +5 -0
- package/dist/containers/Tenant/Query/ExplainResult/components/SimplifiedPlan/types.js +1 -0
- package/dist/containers/Tenant/Query/ExplainResult/components/SimplifiedPlan/utils.d.ts +5 -0
- package/dist/containers/Tenant/Query/ExplainResult/components/SimplifiedPlan/utils.js +59 -0
- package/dist/containers/Tenant/Query/ExplainResult/components/TextExplain/TextExplain.d.ts +8 -0
- package/dist/containers/Tenant/Query/ExplainResult/components/TextExplain/TextExplain.js +11 -0
- package/dist/containers/Tenant/Query/ExplainResult/components/TextExplain/TextExplain.scss +14 -0
- package/dist/containers/Tenant/Query/ExplainResult/i18n/en.json +8 -0
- package/dist/containers/Tenant/Query/ExplainResult/i18n/index.d.ts +2 -0
- package/dist/containers/Tenant/Query/ExplainResult/i18n/index.js +4 -0
- package/dist/containers/Tenant/Query/Preview/Preview.js +2 -3
- package/dist/containers/Tenant/Query/QueriesHistory/QueriesHistory.js +1 -19
- package/dist/containers/Tenant/Query/QueryDuration/QueryDuration.js +1 -1
- package/dist/containers/Tenant/Query/QueryDuration/QueryDuration.scss +11 -0
- package/dist/containers/Tenant/Query/QueryEditor/QueryEditor.d.ts +1 -1
- package/dist/containers/Tenant/Query/QueryEditor/QueryEditor.js +96 -95
- package/dist/containers/Tenant/Query/QueryEditorControls/QueryEditorControls.d.ts +5 -6
- package/dist/containers/Tenant/Query/QueryEditorControls/QueryEditorControls.js +18 -47
- package/dist/containers/Tenant/Query/QueryEditorControls/utils/getChangedQueryExecutionSettings.d.ts +2 -0
- package/dist/containers/Tenant/Query/QueryEditorControls/utils/getChangedQueryExecutionSettings.js +5 -0
- package/dist/containers/Tenant/Query/QueryEditorControls/utils/getChangedQueryExecutionSettings.test.d.ts +1 -0
- package/dist/containers/Tenant/Query/QueryEditorControls/utils/getChangedQueryExecutionSettings.test.js +42 -0
- package/dist/containers/Tenant/Query/QueryEditorControls/utils/getChangedQueryExecutionSettingsDescription.d.ts +5 -0
- package/dist/containers/Tenant/Query/QueryEditorControls/utils/getChangedQueryExecutionSettingsDescription.js +19 -0
- package/dist/containers/Tenant/Query/QueryEditorControls/utils/getChangedQueryExecutionSettingsDescription.test.d.ts +1 -0
- package/dist/containers/Tenant/Query/QueryEditorControls/utils/getChangedQueryExecutionSettingsDescription.test.js +56 -0
- package/dist/containers/Tenant/Query/QuerySettingsBanner/QuerySettingsBanner.d.ts +2 -0
- package/dist/containers/Tenant/Query/QuerySettingsBanner/QuerySettingsBanner.js +12 -0
- package/dist/containers/Tenant/Query/QuerySettingsBanner/QuerySettingsBanner.scss +3 -0
- package/dist/containers/Tenant/Query/QuerySettingsDialog/QuerySettingsDialog.d.ts +2 -0
- package/dist/containers/Tenant/Query/QuerySettingsDialog/QuerySettingsDialog.js +35 -0
- package/dist/containers/Tenant/Query/QuerySettingsDialog/QuerySettingsDialog.scss +63 -0
- package/dist/containers/Tenant/Query/QuerySettingsDialog/QuerySettingsSelect.d.ts +15 -0
- package/dist/containers/Tenant/Query/QuerySettingsDialog/QuerySettingsSelect.js +14 -0
- package/dist/containers/Tenant/Query/QuerySettingsDialog/QuerySettingsSelect.scss +19 -0
- package/dist/containers/Tenant/Query/QuerySettingsDialog/constants.d.ts +215 -0
- package/dist/containers/Tenant/Query/QuerySettingsDialog/constants.js +131 -0
- package/dist/containers/Tenant/Query/QuerySettingsDialog/i18n/en.json +13 -0
- package/dist/containers/Tenant/Query/QuerySettingsDialog/i18n/index.d.ts +2 -0
- package/dist/containers/Tenant/Query/QuerySettingsDialog/i18n/index.js +5 -0
- package/dist/containers/Tenant/Query/QuerySettingsDialog/i18n/ru.json +13 -0
- package/dist/containers/Tenant/Query/i18n/en.json +17 -1
- package/dist/containers/Tenant/Query/i18n/index.d.ts +1 -1
- package/dist/containers/Tenant/Schema/CreateDirectoryDialog/CreateDirectoryDialog.d.ts +3 -2
- package/dist/containers/Tenant/Schema/CreateDirectoryDialog/CreateDirectoryDialog.js +2 -2
- package/dist/containers/Tenant/Schema/SchemaTree/SchemaTree.js +8 -8
- package/dist/containers/Tenant/Schema/SchemaViewer/SchemaViewer.js +6 -3
- package/dist/containers/Tenant/Schema/SchemaViewer/columns.d.ts +2 -1
- package/dist/containers/Tenant/Schema/SchemaViewer/columns.js +13 -1
- package/dist/containers/Tenant/Schema/SchemaViewer/i18n/en.json +1 -0
- package/dist/containers/Tenant/Schema/SchemaViewer/i18n/index.d.ts +1 -1
- package/dist/containers/Tenant/Schema/SchemaViewer/prepareData.js +3 -2
- package/dist/containers/Tenant/Schema/SchemaViewer/types.d.ts +1 -0
- package/dist/containers/Tenant/Tenant.js +4 -8
- package/dist/containers/Tenant/TenantPages.d.ts +12 -1
- package/dist/containers/Tenant/TenantPages.js +1 -1
- package/dist/containers/Tenant/i18n/en.json +2 -2
- package/dist/containers/Tenant/i18n/index.d.ts +1 -1
- package/dist/containers/Tenant/utils/schema.js +1 -1
- package/dist/containers/Tenant/utils/schemaActions.d.ts +2 -2
- package/dist/containers/Tenant/utils/schemaActions.js +2 -2
- package/dist/containers/Tenants/Tenants.js +5 -8
- package/dist/containers/Tenants/Tenants.scss +0 -4
- package/dist/containers/UserSettings/i18n/en.json +3 -3
- package/dist/containers/UserSettings/i18n/index.d.ts +1 -1
- package/dist/containers/UserSettings/settings.d.ts +2 -2
- package/dist/containers/UserSettings/settings.js +18 -19
- package/dist/containers/VDiskPage/VDiskPage.js +27 -13
- package/dist/containers/VDiskPage/i18n/en.json +1 -0
- package/dist/containers/VDiskPage/i18n/index.d.ts +1 -1
- package/dist/routes.js +2 -2
- package/dist/services/api.d.ts +59 -28
- package/dist/services/api.js +74 -98
- package/dist/services/settings.d.ts +11 -3
- package/dist/services/settings.js +7 -5
- package/dist/store/configureStore.d.ts +7 -7
- package/dist/store/defaultStore.d.ts +3 -3
- package/dist/store/reducers/api.d.ts +1 -1
- package/dist/store/reducers/api.js +1 -1
- package/dist/store/reducers/authentication/authentication.d.ts +37 -24
- package/dist/store/reducers/authentication/authentication.js +77 -57
- package/dist/store/reducers/authentication/types.d.ts +0 -8
- package/dist/store/reducers/capabilities/capabilities.d.ts +106 -0
- package/dist/store/reducers/capabilities/capabilities.js +22 -0
- package/dist/store/reducers/capabilities/hooks.d.ts +2 -0
- package/dist/store/reducers/capabilities/hooks.js +13 -0
- package/dist/store/reducers/cluster/cluster.d.ts +2 -2
- package/dist/store/reducers/clusterNodes/clusterNodes.d.ts +2 -2
- package/dist/store/reducers/clusters/clusters.d.ts +2 -2
- package/dist/store/reducers/describe.d.ts +5 -2
- package/dist/store/reducers/describe.js +2 -2
- package/dist/store/reducers/executeQuery.d.ts +7 -14
- package/dist/store/reducers/executeQuery.js +19 -14
- package/dist/store/reducers/executeTopQueries/executeTopQueries.d.ts +2 -2
- package/dist/store/reducers/executeTopQueries/executeTopQueries.js +19 -14
- package/dist/store/reducers/executeTopQueries/types.d.ts +2 -2
- package/dist/store/reducers/executeTopQueries/utils.js +11 -7
- package/dist/store/reducers/explainQuery/explainQuery.d.ts +5 -4
- package/dist/store/reducers/explainQuery/explainQuery.js +20 -5
- package/dist/store/reducers/explainQuery/types.d.ts +13 -1
- package/dist/store/reducers/explainQuery/utils.js +7 -2
- package/dist/store/reducers/healthcheckInfo/healthcheckInfo.d.ts +58 -58
- package/dist/store/reducers/heatmap.d.ts +2 -2
- package/dist/store/reducers/heatmap.js +3 -3
- package/dist/store/reducers/hotKeys/hotKeys.d.ts +3 -2
- package/dist/store/reducers/hotKeys/hotKeys.js +3 -3
- package/dist/store/reducers/index.d.ts +6 -6
- package/dist/store/reducers/network/network.d.ts +2 -2
- package/dist/store/reducers/network/network.js +1 -1
- package/dist/store/reducers/node/node.d.ts +3 -3
- package/dist/store/reducers/node/selectors.d.ts +1 -1
- package/dist/store/reducers/node/selectors.js +2 -2
- package/dist/store/reducers/nodes/nodes.d.ts +3 -3
- package/dist/store/reducers/nodesList.d.ts +3 -3
- package/dist/store/reducers/overview/overview.d.ts +5 -2
- package/dist/store/reducers/overview/overview.js +2 -2
- package/dist/store/reducers/partitions/partitions.d.ts +2 -2
- package/dist/store/reducers/pdisk/pdisk.d.ts +3 -3
- package/dist/store/reducers/pdisk/pdisk.js +15 -2
- package/dist/store/reducers/pdisk/types.d.ts +17 -1
- package/dist/store/reducers/pdisk/utils.d.ts +2 -2
- package/dist/store/reducers/pdisk/utils.js +68 -8
- package/dist/store/reducers/preview.d.ts +2 -2
- package/dist/store/reducers/preview.js +1 -1
- package/dist/store/reducers/queryActions/types.d.ts +1 -1
- package/dist/store/reducers/schema/schema.d.ts +28 -10
- package/dist/store/reducers/schema/schema.js +20 -14
- package/dist/store/reducers/schemaAcl/schemaAcl.d.ts +4 -2
- package/dist/store/reducers/schemaAcl/schemaAcl.js +9 -3
- package/dist/store/reducers/shardsWorkload/shardsWorkload.d.ts +2 -2
- package/dist/store/reducers/shardsWorkload/shardsWorkload.js +22 -6
- package/dist/store/reducers/shardsWorkload/types.d.ts +2 -2
- package/dist/store/reducers/storage/storage.d.ts +3 -3
- package/dist/store/reducers/tablet.d.ts +3 -3
- package/dist/store/reducers/tablets.d.ts +13 -13
- package/dist/store/reducers/tabletsFilters.d.ts +1 -1
- package/dist/store/reducers/tenant/tenant.d.ts +2 -2
- package/dist/store/reducers/tenantOverview/executeTopTables/executeTopTables.d.ts +2 -2
- package/dist/store/reducers/tenantOverview/executeTopTables/executeTopTables.js +1 -1
- package/dist/store/reducers/tenantOverview/topNodes/topNodes.d.ts +2 -2
- package/dist/store/reducers/tenantOverview/topShards/tenantOverviewTopShards.d.ts +2 -2
- package/dist/store/reducers/tenantOverview/topShards/tenantOverviewTopShards.js +1 -1
- package/dist/store/reducers/tenantOverview/topStorageGroups/topStorageGroups.d.ts +2 -2
- package/dist/store/reducers/tenants/selectors.d.ts +31 -30
- package/dist/store/reducers/tenants/selectors.js +8 -2
- package/dist/store/reducers/tenants/tenants.d.ts +2 -2
- package/dist/store/reducers/topic.d.ts +44 -44
- package/dist/store/reducers/vdisk/vdisk.d.ts +2 -2
- package/dist/store/reducers/vdisk/vdisk.js +1 -1
- package/dist/store/reducers/viewSchema/viewSchema.d.ts +2 -2
- package/dist/store/reducers/viewSchema/viewSchema.js +1 -1
- package/dist/store/state-url-mapping.d.ts +70 -0
- package/dist/store/state-url-mapping.js +1 -5
- package/dist/styles/mixins.scss +13 -0
- package/dist/types/api/acl.d.ts +1 -0
- package/dist/types/api/capabilities.d.ts +7 -0
- package/dist/types/api/capabilities.js +1 -0
- package/dist/types/api/modifyDisk.d.ts +8 -0
- package/dist/types/api/modifyDisk.js +1 -0
- package/dist/types/api/pdisk.d.ts +65 -2
- package/dist/types/api/query.d.ts +39 -3
- package/dist/types/api/query.js +9 -1
- package/dist/types/api/schema/shared.d.ts +8 -0
- package/dist/types/api/vdisk.d.ts +33 -2
- package/dist/types/common.d.ts +3 -0
- package/dist/types/store/heatmap.d.ts +1 -0
- package/dist/types/store/query.d.ts +11 -1
- package/dist/utils/__test__/prepareQueryExplain.test.d.ts +1 -0
- package/dist/utils/__test__/prepareQueryExplain.test.js +115 -0
- package/dist/utils/constants.d.ts +13 -3
- package/dist/utils/constants.js +15 -3
- package/dist/utils/dataFormatters/dataFormatters.d.ts +0 -5
- package/dist/utils/dataFormatters/dataFormatters.js +3 -12
- package/dist/utils/developerUI/developerUI.d.ts +1 -0
- package/dist/utils/developerUI/developerUI.js +3 -0
- package/dist/utils/disks/getPDiskType.d.ts +3 -3
- package/dist/utils/disks/helpers.d.ts +1 -0
- package/dist/utils/disks/helpers.js +3 -0
- package/dist/utils/disks/prepareDisks.d.ts +2 -2
- package/dist/utils/disks/prepareDisks.js +17 -22
- package/dist/utils/disks/types.d.ts +7 -5
- package/dist/utils/hooks/index.d.ts +2 -1
- package/dist/utils/hooks/index.js +2 -1
- package/dist/utils/hooks/useChangedQuerySettings.d.ts +10 -0
- package/dist/utils/hooks/useChangedQuerySettings.js +46 -0
- package/dist/utils/hooks/useDelayed.d.ts +1 -0
- package/dist/utils/hooks/useDelayed.js +13 -0
- package/dist/utils/hooks/useEventHandler.d.ts +6 -0
- package/dist/utils/hooks/useEventHandler.js +17 -0
- package/dist/utils/hooks/useLastQueryExecutionSettings.d.ts +2 -0
- package/dist/utils/hooks/useLastQueryExecutionSettings.js +5 -0
- package/dist/utils/hooks/useQueryExecutionSettings.d.ts +8 -0
- package/dist/utils/hooks/useQueryExecutionSettings.js +15 -0
- package/dist/utils/monaco/constats.d.ts +2 -0
- package/dist/utils/monaco/constats.js +2 -0
- package/dist/utils/monaco/yql/constants.d.ts +0 -1
- package/dist/utils/monaco/yql/constants.js +0 -1
- package/dist/utils/monaco/yql/yql.completionItemProvider.js +2 -2
- package/dist/utils/prepareQueryExplain.d.ts +3 -1
- package/dist/utils/prepareQueryExplain.js +54 -2
- package/dist/utils/query.d.ts +24 -1
- package/dist/utils/query.js +41 -0
- package/dist/utils/query.test.js +3 -0
- package/dist/utils/utils.d.ts +8 -7
- package/dist/utils/utils.js +23 -11
- package/package.json +8 -2
- package/dist/components/DeveloperUiLink/DeveloperUiLink.d.ts +0 -8
- package/dist/components/NodeHostWrapper/NodeHostWrapper.scss +0 -15
- package/dist/containers/Node/NodeStructure/Vdisk.d.ts +0 -6
- package/dist/containers/Node/NodeStructure/Vdisk.js +0 -13
- package/dist/containers/PDiskPage/PDiskGroups.d.ts +0 -9
- package/dist/containers/PDiskPage/PDiskGroups.js +0 -20
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/i18n/ru.json +0 -5
- package/dist/containers/Tenant/Query/ExplainResult/utils.d.ts +0 -2
- package/dist/containers/Tenant/Query/ExplainResult/utils.js +0 -4
- package/dist/store/reducers/tenantOverview/topQueries/tenantOverviewTopQueries.d.ts +0 -5
- package/dist/store/reducers/tenantOverview/topQueries/tenantOverviewTopQueries.js +0 -38
- package/dist/store/utils.d.ts +0 -23
- package/dist/store/utils.js +0 -49
- package/dist/types/api/restartPDisk.d.ts +0 -4
- package/dist/utils/hooks/useQueryModes.d.ts +0 -2
- package/dist/utils/hooks/useQueryModes.js +0 -5
- package/dist/utils/monaco/index.d.ts +0 -1
- package/dist/utils/monaco/index.js +0 -6
- package/dist/utils/monaco/s-expression/constants.d.ts +0 -1
- package/dist/utils/monaco/s-expression/constants.js +0 -1
- package/dist/utils/monaco/s-expression/registerLanguage.d.ts +0 -1
- package/dist/utils/monaco/s-expression/registerLanguage.js +0 -59
- package/dist/utils/monaco/yql/registerLanguage.d.ts +0 -1
- package/dist/utils/monaco/yql/registerLanguage.js +0 -8
- package/dist/utils/monaco/yql/yql.d.ts +0 -7
- package/dist/utils/monaco/yql/yql.js +0 -180
- package/dist/utils/monaco/yql/yql.keywords.d.ts +0 -3
- package/dist/utils/monaco/yql/yql.keywords.js +0 -3
- /package/dist/{types/api/restartPDisk.js → components/DateRange/__test__/fromDateRangeValues.test.d.ts} +0 -0
@@ -6,7 +6,7 @@ export declare const customBackend: string | undefined;
|
|
6
6
|
export declare const metaBackend: string | undefined;
|
7
7
|
export declare function configureStore({ aRootReducer, singleClusterMode, api, }?: {
|
8
8
|
aRootReducer?: Reducer<{
|
9
|
-
api: import("@reduxjs/toolkit/query").CombinedState<{}, "All", "api">;
|
9
|
+
api: import("@reduxjs/toolkit/query").CombinedState<{}, "All" | "PDiskData" | "UserData", "api">;
|
10
10
|
singleClusterMode: boolean;
|
11
11
|
cluster: import("./reducers/cluster/types").ClusterState;
|
12
12
|
tenant: import("./reducers/tenant/types").TenantState;
|
@@ -28,7 +28,7 @@ export declare function configureStore({ aRootReducer, singleClusterMode, api, }
|
|
28
28
|
}, UnknownAction | import("../types/store/tooltip").ITooltipAction | {
|
29
29
|
readonly type: "schema/SET_SHOW_PREVIEW";
|
30
30
|
readonly data: boolean;
|
31
|
-
} | import("../types/store/executeQuery").ExecuteQueryAction |
|
31
|
+
} | import("../types/store/executeQuery").ExecuteQueryAction | {
|
32
32
|
readonly type: "header/SET_HEADER_BREADCRUMBS";
|
33
33
|
readonly page: import("./reducers/header/types").Page;
|
34
34
|
readonly options: {} | import("./reducers/header/types").TabletsBreadcrumbsOptions | import("./reducers/header/types").TenantBreadcrumbsOptions | import("./reducers/header/types").ClusterBreadcrumbsOptions | import("./reducers/header/types").TabletBreadcrumbsOptions | import("./reducers/header/types").NodeBreadcrumbsOptions;
|
@@ -37,7 +37,7 @@ export declare function configureStore({ aRootReducer, singleClusterMode, api, }
|
|
37
37
|
} | {
|
38
38
|
readonly type: "DISABLE_FULLSCREEN_MODE";
|
39
39
|
} | Action<string>, Partial<{
|
40
|
-
api: import("@reduxjs/toolkit/query").CombinedState<{}, "All", "api"> | undefined;
|
40
|
+
api: import("@reduxjs/toolkit/query").CombinedState<{}, "All" | "PDiskData" | "UserData", "api"> | undefined;
|
41
41
|
singleClusterMode: boolean | undefined;
|
42
42
|
cluster: import("./reducers/cluster/types").ClusterState | undefined;
|
43
43
|
tenant: import("./reducers/tenant/types").TenantState | undefined;
|
@@ -51,7 +51,7 @@ export declare function configureStore({ aRootReducer, singleClusterMode, api, }
|
|
51
51
|
settings: import("./reducers/settings/types").SettingsState | undefined;
|
52
52
|
executeTopQueries: import("./reducers/executeTopQueries/types").TopQueriesFilters | undefined;
|
53
53
|
shardsWorkload: import("./reducers/shardsWorkload/types").ShardsWorkloadFilters | undefined;
|
54
|
-
authentication:
|
54
|
+
authentication: import("./reducers/authentication/types").AuthenticationState | undefined;
|
55
55
|
header: never;
|
56
56
|
queryActions: import("./reducers/queryActions/types").QueryActionsState | undefined;
|
57
57
|
fullscreen: never;
|
@@ -62,7 +62,7 @@ export declare function configureStore({ aRootReducer, singleClusterMode, api, }
|
|
62
62
|
}): {
|
63
63
|
history: History<unknown>;
|
64
64
|
store: import("@reduxjs/toolkit").EnhancedStore<{
|
65
|
-
api: import("@reduxjs/toolkit/query").CombinedState<{}, "All", "api">;
|
65
|
+
api: import("@reduxjs/toolkit/query").CombinedState<{}, "All" | "PDiskData" | "UserData", "api">;
|
66
66
|
singleClusterMode: boolean;
|
67
67
|
cluster: import("./reducers/cluster/types").ClusterState;
|
68
68
|
tenant: import("./reducers/tenant/types").TenantState;
|
@@ -84,7 +84,7 @@ export declare function configureStore({ aRootReducer, singleClusterMode, api, }
|
|
84
84
|
}, UnknownAction | import("../types/store/tooltip").ITooltipAction | {
|
85
85
|
readonly type: "schema/SET_SHOW_PREVIEW";
|
86
86
|
readonly data: boolean;
|
87
|
-
} | import("../types/store/executeQuery").ExecuteQueryAction |
|
87
|
+
} | import("../types/store/executeQuery").ExecuteQueryAction | {
|
88
88
|
readonly type: "header/SET_HEADER_BREADCRUMBS";
|
89
89
|
readonly page: import("./reducers/header/types").Page;
|
90
90
|
readonly options: {} | import("./reducers/header/types").TabletsBreadcrumbsOptions | import("./reducers/header/types").TenantBreadcrumbsOptions | import("./reducers/header/types").ClusterBreadcrumbsOptions | import("./reducers/header/types").TabletBreadcrumbsOptions | import("./reducers/header/types").NodeBreadcrumbsOptions;
|
@@ -94,7 +94,7 @@ export declare function configureStore({ aRootReducer, singleClusterMode, api, }
|
|
94
94
|
readonly type: "DISABLE_FULLSCREEN_MODE";
|
95
95
|
} | Action<string>, import("@reduxjs/toolkit").Tuple<[import("redux").StoreEnhancer<{
|
96
96
|
dispatch: import("redux-thunk").ThunkDispatch<{
|
97
|
-
api: import("@reduxjs/toolkit/query").CombinedState<{}, "All", "api">;
|
97
|
+
api: import("@reduxjs/toolkit/query").CombinedState<{}, "All" | "PDiskData" | "UserData", "api">;
|
98
98
|
singleClusterMode: boolean;
|
99
99
|
cluster: import("./reducers/cluster/types").ClusterState;
|
100
100
|
tenant: import("./reducers/tenant/types").TenantState;
|
@@ -1,5 +1,5 @@
|
|
1
1
|
export declare const store: import("@reduxjs/toolkit").EnhancedStore<{
|
2
|
-
api: import("@reduxjs/toolkit/query").CombinedState<{}, "All", "api">;
|
2
|
+
api: import("@reduxjs/toolkit/query").CombinedState<{}, "All" | "PDiskData" | "UserData", "api">;
|
3
3
|
singleClusterMode: boolean;
|
4
4
|
cluster: import("./reducers/cluster/types").ClusterState;
|
5
5
|
tenant: import("./reducers/tenant/types").TenantState;
|
@@ -21,7 +21,7 @@ export declare const store: import("@reduxjs/toolkit").EnhancedStore<{
|
|
21
21
|
}, import("redux").UnknownAction | import("../types/store/tooltip").ITooltipAction | {
|
22
22
|
readonly type: "schema/SET_SHOW_PREVIEW";
|
23
23
|
readonly data: boolean;
|
24
|
-
} | import("../types/store/executeQuery").ExecuteQueryAction |
|
24
|
+
} | import("../types/store/executeQuery").ExecuteQueryAction | {
|
25
25
|
readonly type: "header/SET_HEADER_BREADCRUMBS";
|
26
26
|
readonly page: import("./reducers/header/types").Page;
|
27
27
|
readonly options: {} | import("./reducers/header/types").TabletsBreadcrumbsOptions | import("./reducers/header/types").TenantBreadcrumbsOptions | import("./reducers/header/types").ClusterBreadcrumbsOptions | import("./reducers/header/types").TabletBreadcrumbsOptions | import("./reducers/header/types").NodeBreadcrumbsOptions;
|
@@ -31,7 +31,7 @@ export declare const store: import("@reduxjs/toolkit").EnhancedStore<{
|
|
31
31
|
readonly type: "DISABLE_FULLSCREEN_MODE";
|
32
32
|
} | import("redux").Action<string>, import("@reduxjs/toolkit").Tuple<[import("redux").StoreEnhancer<{
|
33
33
|
dispatch: import("redux-thunk").ThunkDispatch<{
|
34
|
-
api: import("@reduxjs/toolkit/query").CombinedState<{}, "All", "api">;
|
34
|
+
api: import("@reduxjs/toolkit/query").CombinedState<{}, "All" | "PDiskData" | "UserData", "api">;
|
35
35
|
singleClusterMode: boolean;
|
36
36
|
cluster: import("./reducers/cluster/types").ClusterState;
|
37
37
|
tenant: import("./reducers/tenant/types").TenantState;
|
@@ -1,3 +1,3 @@
|
|
1
1
|
import type { BaseQueryFn } from '@reduxjs/toolkit/query';
|
2
|
-
export declare const api: import("@reduxjs/toolkit/query").Api<BaseQueryFn<void, typeof _NEVER, unknown, {}>, {}, "api", "All", typeof import("@reduxjs/toolkit/query").coreModuleName | typeof import("@reduxjs/toolkit/query/react").reactHooksModuleName>;
|
2
|
+
export declare const api: import("@reduxjs/toolkit/query").Api<BaseQueryFn<void, typeof _NEVER, unknown, {}>, {}, "api", "All" | "PDiskData" | "UserData", typeof import("@reduxjs/toolkit/query").coreModuleName | typeof import("@reduxjs/toolkit/query/react").reactHooksModuleName>;
|
3
3
|
export declare const _NEVER: unique symbol;
|
@@ -1,25 +1,38 @@
|
|
1
|
-
import type {
|
2
|
-
import type {
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
1
|
+
import type { PayloadAction } from '@reduxjs/toolkit';
|
2
|
+
import type { TUserToken } from '../../../types/api/whoami';
|
3
|
+
import type { AuthenticationState } from './types';
|
4
|
+
export declare const slice: import("@reduxjs/toolkit").Slice<AuthenticationState, {
|
5
|
+
setIsAuthenticated: (state: {
|
6
|
+
isAuthenticated: boolean;
|
7
|
+
isUserAllowedToMakeChanges?: boolean;
|
8
|
+
user: string | undefined;
|
9
|
+
}, action: PayloadAction<boolean>) => void;
|
10
|
+
setUser: (state: {
|
11
|
+
isAuthenticated: boolean;
|
12
|
+
isUserAllowedToMakeChanges?: boolean;
|
13
|
+
user: string | undefined;
|
14
|
+
}, action: PayloadAction<TUserToken>) => void;
|
15
|
+
}, "authentication", "authentication", {
|
16
|
+
selectIsUserAllowedToMakeChanges: (state: AuthenticationState) => boolean | undefined;
|
17
|
+
selectUser: (state: AuthenticationState) => string | undefined;
|
18
|
+
}>;
|
19
|
+
declare const _default: import("redux").Reducer<AuthenticationState>;
|
20
|
+
export default _default;
|
21
|
+
export declare const setIsAuthenticated: import("@reduxjs/toolkit").ActionCreatorWithPayload<boolean, "authentication/setIsAuthenticated">, setUser: import("@reduxjs/toolkit").ActionCreatorWithPayload<TUserToken, "authentication/setUser">;
|
22
|
+
export declare const selectIsUserAllowedToMakeChanges: import("reselect").Selector<{
|
23
|
+
authentication: AuthenticationState;
|
24
|
+
}, boolean | undefined, []> & {
|
25
|
+
unwrapped: (state: AuthenticationState) => boolean | undefined;
|
26
|
+
}, selectUser: import("reselect").Selector<{
|
27
|
+
authentication: AuthenticationState;
|
28
|
+
}, string | undefined, []> & {
|
29
|
+
unwrapped: (state: AuthenticationState) => string | undefined;
|
7
30
|
};
|
8
|
-
export declare const
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
readonly FAILURE: "authentication/FETCH_USER_FAILURE";
|
17
|
-
};
|
18
|
-
declare const authentication: Reducer<AuthenticationState, AuthenticationAction>;
|
19
|
-
export declare const authenticate: (user: string, password: string) => (dispatch: import("../..").AppDispatch, getState: import("../..").GetState) => Promise<unknown>;
|
20
|
-
export declare const logout: () => (dispatch: import("../..").AppDispatch, getState: import("../..").GetState) => Promise<unknown>;
|
21
|
-
export declare const getUser: () => (dispatch: import("../..").AppDispatch, getState: import("../..").GetState) => Promise<{
|
22
|
-
user: string | undefined;
|
23
|
-
isUserAllowedToMakeChanges: boolean;
|
24
|
-
} | undefined>;
|
25
|
-
export default authentication;
|
31
|
+
export declare const authenticationApi: import("@reduxjs/toolkit/query").Api<import("@reduxjs/toolkit/query").BaseQueryFn<void, typeof import("../api")._NEVER, unknown, {}>, {
|
32
|
+
whoami: import("@reduxjs/toolkit/query").QueryDefinition<any, import("@reduxjs/toolkit/query").BaseQueryFn<void, typeof import("../api")._NEVER, unknown, {}>, "All" | "PDiskData" | "UserData", TUserToken | undefined, "api">;
|
33
|
+
authenticate: import("@reduxjs/toolkit/query").MutationDefinition<{
|
34
|
+
user: string;
|
35
|
+
password: string;
|
36
|
+
}, import("@reduxjs/toolkit/query").BaseQueryFn<void, typeof import("../api")._NEVER, unknown, {}>, "All" | "PDiskData" | "UserData", any, "api">;
|
37
|
+
logout: import("@reduxjs/toolkit/query").MutationDefinition<any, import("@reduxjs/toolkit/query").BaseQueryFn<void, typeof import("../api")._NEVER, unknown, {}>, "All" | "PDiskData" | "UserData", any, "api">;
|
38
|
+
}, "api", "All" | "PDiskData" | "UserData", typeof import("@reduxjs/toolkit/query").coreModuleName | typeof import("@reduxjs/toolkit/query/react").reactHooksModuleName>;
|
@@ -1,62 +1,82 @@
|
|
1
|
-
import {
|
2
|
-
|
3
|
-
|
4
|
-
export const FETCH_USER = createRequestActionTypes('authentication', 'FETCH_USER');
|
1
|
+
import { createSlice } from '@reduxjs/toolkit';
|
2
|
+
import { isAxiosResponse } from '../../../utils/response';
|
3
|
+
import { api } from '../api';
|
5
4
|
const initialState = {
|
6
5
|
isAuthenticated: true,
|
7
6
|
user: '',
|
8
|
-
error: undefined,
|
9
7
|
};
|
10
|
-
const
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
}
|
21
|
-
case FETCH_USER.SUCCESS: {
|
22
|
-
const { user, isUserAllowedToMakeChanges } = action.data;
|
23
|
-
return {
|
24
|
-
...state,
|
25
|
-
user,
|
26
|
-
isUserAllowedToMakeChanges,
|
27
|
-
};
|
28
|
-
}
|
29
|
-
default:
|
30
|
-
return { ...state };
|
31
|
-
}
|
32
|
-
};
|
33
|
-
export const authenticate = (user, password) => {
|
34
|
-
return createApiRequest({
|
35
|
-
request: window.api.authenticate(user, password),
|
36
|
-
actions: SET_AUTHENTICATED,
|
37
|
-
});
|
38
|
-
};
|
39
|
-
export const logout = () => {
|
40
|
-
return createApiRequest({
|
41
|
-
request: window.api.logout(),
|
42
|
-
actions: SET_UNAUTHENTICATED,
|
43
|
-
});
|
44
|
-
};
|
45
|
-
export const getUser = () => {
|
46
|
-
return createApiRequest({
|
47
|
-
request: window.api.whoami(),
|
48
|
-
actions: FETCH_USER,
|
49
|
-
dataHandler: (data) => {
|
50
|
-
const { UserSID, AuthType, IsMonitoringAllowed } = data;
|
51
|
-
return {
|
52
|
-
user: AuthType === 'Login' ? UserSID : undefined,
|
53
|
-
// If ydb version supports this feature,
|
54
|
-
// There should be explicit flag in whoami response
|
55
|
-
// Otherwise every user is allowed to make changes
|
56
|
-
// Anyway there will be guards on backend
|
57
|
-
isUserAllowedToMakeChanges: IsMonitoringAllowed !== false,
|
58
|
-
};
|
8
|
+
export const slice = createSlice({
|
9
|
+
name: 'authentication',
|
10
|
+
initialState,
|
11
|
+
reducers: {
|
12
|
+
setIsAuthenticated: (state, action) => {
|
13
|
+
const isAuthenticated = action.payload;
|
14
|
+
state.isAuthenticated = isAuthenticated;
|
15
|
+
if (!isAuthenticated) {
|
16
|
+
state.user = '';
|
17
|
+
}
|
59
18
|
},
|
60
|
-
|
61
|
-
};
|
62
|
-
|
19
|
+
setUser: (state, action) => {
|
20
|
+
const { UserSID, AuthType, IsMonitoringAllowed } = action.payload;
|
21
|
+
state.user = AuthType === 'Login' ? UserSID : undefined;
|
22
|
+
// If ydb version supports this feature,
|
23
|
+
// There should be explicit flag in whoami response
|
24
|
+
// Otherwise every user is allowed to make changes
|
25
|
+
// Anyway there will be guards on backend
|
26
|
+
state.isUserAllowedToMakeChanges = IsMonitoringAllowed !== false;
|
27
|
+
},
|
28
|
+
},
|
29
|
+
selectors: {
|
30
|
+
selectIsUserAllowedToMakeChanges: (state) => state.isUserAllowedToMakeChanges,
|
31
|
+
selectUser: (state) => state.user,
|
32
|
+
},
|
33
|
+
});
|
34
|
+
export default slice.reducer;
|
35
|
+
export const { setIsAuthenticated, setUser } = slice.actions;
|
36
|
+
export const { selectIsUserAllowedToMakeChanges, selectUser } = slice.selectors;
|
37
|
+
export const authenticationApi = api.injectEndpoints({
|
38
|
+
endpoints: (build) => ({
|
39
|
+
whoami: build.query({
|
40
|
+
queryFn: async (_, { dispatch }) => {
|
41
|
+
try {
|
42
|
+
const data = await window.api.whoami();
|
43
|
+
dispatch(setUser(data));
|
44
|
+
return { data };
|
45
|
+
}
|
46
|
+
catch (error) {
|
47
|
+
if (isAxiosResponse(error) && error.status === 401) {
|
48
|
+
dispatch(setIsAuthenticated(false));
|
49
|
+
}
|
50
|
+
return { error };
|
51
|
+
}
|
52
|
+
},
|
53
|
+
providesTags: ['UserData'],
|
54
|
+
}),
|
55
|
+
authenticate: build.mutation({
|
56
|
+
queryFn: async (params, { dispatch }) => {
|
57
|
+
try {
|
58
|
+
const data = await window.api.authenticate(params);
|
59
|
+
dispatch(setIsAuthenticated(true));
|
60
|
+
return { data };
|
61
|
+
}
|
62
|
+
catch (error) {
|
63
|
+
return { error };
|
64
|
+
}
|
65
|
+
},
|
66
|
+
invalidatesTags: (_, error) => (error ? [] : ['UserData']),
|
67
|
+
}),
|
68
|
+
logout: build.mutation({
|
69
|
+
queryFn: async (_, { dispatch }) => {
|
70
|
+
try {
|
71
|
+
const data = await window.api.logout();
|
72
|
+
dispatch(setIsAuthenticated(false));
|
73
|
+
return { data };
|
74
|
+
}
|
75
|
+
catch (error) {
|
76
|
+
return { error };
|
77
|
+
}
|
78
|
+
},
|
79
|
+
}),
|
80
|
+
}),
|
81
|
+
overrideExisting: 'throw',
|
82
|
+
});
|
@@ -1,13 +1,5 @@
|
|
1
|
-
import type { AuthErrorResponse } from '../../../types/api/error';
|
2
|
-
import type { ApiRequestAction } from '../../utils';
|
3
|
-
import type { FETCH_USER, SET_AUTHENTICATED, SET_UNAUTHENTICATED } from './authentication';
|
4
1
|
export interface AuthenticationState {
|
5
2
|
isAuthenticated: boolean;
|
6
3
|
isUserAllowedToMakeChanges?: boolean;
|
7
4
|
user: string | undefined;
|
8
|
-
error: AuthErrorResponse | undefined;
|
9
5
|
}
|
10
|
-
export type AuthenticationAction = ApiRequestAction<typeof SET_UNAUTHENTICATED, unknown, unknown> | ApiRequestAction<typeof SET_AUTHENTICATED, unknown, AuthErrorResponse> | ApiRequestAction<typeof FETCH_USER, {
|
11
|
-
user: string | undefined;
|
12
|
-
isUserAllowedToMakeChanges: boolean;
|
13
|
-
}, unknown>;
|
@@ -0,0 +1,106 @@
|
|
1
|
+
import type { Capability } from '../../../types/api/capabilities';
|
2
|
+
import type { RootState } from '../../defaultStore';
|
3
|
+
export declare const capabilitiesApi: import("@reduxjs/toolkit/query").Api<import("@reduxjs/toolkit/query").BaseQueryFn<void, typeof import("./../api")._NEVER, unknown, {}>, {
|
4
|
+
getClusterCapabilities: import("@reduxjs/toolkit/query").QueryDefinition<any, import("@reduxjs/toolkit/query").BaseQueryFn<void, typeof import("./../api")._NEVER, unknown, {}>, "All" | "PDiskData" | "UserData", import("../../../types/api/capabilities").CapabilitiesResponse | undefined, "api">;
|
5
|
+
}, "api", "All" | "PDiskData" | "UserData", typeof import("@reduxjs/toolkit/query").coreModuleName | typeof import("@reduxjs/toolkit/query/react").reactHooksModuleName>;
|
6
|
+
export declare const selectCapabilityVersion: ((state: {
|
7
|
+
api: import("@reduxjs/toolkit/query").CombinedState<{}, "All" | "PDiskData" | "UserData", "api">;
|
8
|
+
singleClusterMode: boolean;
|
9
|
+
cluster: import("../cluster/types").ClusterState;
|
10
|
+
tenant: import("../tenant/types").TenantState;
|
11
|
+
tooltip: import("../../../types/store/tooltip").ITooltipState;
|
12
|
+
tablets: import("../../../types/store/tablets").TabletsState;
|
13
|
+
schema: import("../schema/types").SchemaState;
|
14
|
+
tenants: import("../tenants/types").TenantsState;
|
15
|
+
partitions: import("../partitions/types").PartitionsState;
|
16
|
+
executeQuery: import("../../../types/store/executeQuery").ExecuteQueryState;
|
17
|
+
heatmap: import("../../../types/store/heatmap").IHeatmapState;
|
18
|
+
settings: import("../settings/types").SettingsState;
|
19
|
+
executeTopQueries: import("../executeTopQueries/types").TopQueriesFilters;
|
20
|
+
shardsWorkload: import("../shardsWorkload/types").ShardsWorkloadFilters;
|
21
|
+
authentication: import("../authentication/types").AuthenticationState;
|
22
|
+
header: import("../header/types").HeaderState;
|
23
|
+
queryActions: import("../queryActions/types").QueryActionsState;
|
24
|
+
fullscreen: boolean;
|
25
|
+
clusters: import("../clusters/types").ClustersFilters;
|
26
|
+
}, capability: Capability) => number | undefined) & {
|
27
|
+
clearCache: () => void;
|
28
|
+
resultsCount: () => number;
|
29
|
+
resetResultsCount: () => void;
|
30
|
+
} & {
|
31
|
+
resultFunc: (resultFuncArgs_0: {
|
32
|
+
api: import("@reduxjs/toolkit/query").CombinedState<{}, "All" | "PDiskData" | "UserData", "api">;
|
33
|
+
singleClusterMode: boolean;
|
34
|
+
cluster: import("../cluster/types").ClusterState;
|
35
|
+
tenant: import("../tenant/types").TenantState;
|
36
|
+
tooltip: import("../../../types/store/tooltip").ITooltipState;
|
37
|
+
tablets: import("../../../types/store/tablets").TabletsState;
|
38
|
+
schema: import("../schema/types").SchemaState;
|
39
|
+
tenants: import("../tenants/types").TenantsState;
|
40
|
+
partitions: import("../partitions/types").PartitionsState;
|
41
|
+
executeQuery: import("../../../types/store/executeQuery").ExecuteQueryState;
|
42
|
+
heatmap: import("../../../types/store/heatmap").IHeatmapState;
|
43
|
+
settings: import("../settings/types").SettingsState;
|
44
|
+
executeTopQueries: import("../executeTopQueries/types").TopQueriesFilters;
|
45
|
+
shardsWorkload: import("../shardsWorkload/types").ShardsWorkloadFilters;
|
46
|
+
authentication: import("../authentication/types").AuthenticationState;
|
47
|
+
header: import("../header/types").HeaderState;
|
48
|
+
queryActions: import("../queryActions/types").QueryActionsState;
|
49
|
+
fullscreen: boolean;
|
50
|
+
clusters: import("../clusters/types").ClustersFilters;
|
51
|
+
}, resultFuncArgs_1: Capability) => number | undefined;
|
52
|
+
memoizedResultFunc: ((resultFuncArgs_0: {
|
53
|
+
api: import("@reduxjs/toolkit/query").CombinedState<{}, "All" | "PDiskData" | "UserData", "api">;
|
54
|
+
singleClusterMode: boolean;
|
55
|
+
cluster: import("../cluster/types").ClusterState;
|
56
|
+
tenant: import("../tenant/types").TenantState;
|
57
|
+
tooltip: import("../../../types/store/tooltip").ITooltipState;
|
58
|
+
tablets: import("../../../types/store/tablets").TabletsState;
|
59
|
+
schema: import("../schema/types").SchemaState;
|
60
|
+
tenants: import("../tenants/types").TenantsState;
|
61
|
+
partitions: import("../partitions/types").PartitionsState;
|
62
|
+
executeQuery: import("../../../types/store/executeQuery").ExecuteQueryState;
|
63
|
+
heatmap: import("../../../types/store/heatmap").IHeatmapState;
|
64
|
+
settings: import("../settings/types").SettingsState;
|
65
|
+
executeTopQueries: import("../executeTopQueries/types").TopQueriesFilters;
|
66
|
+
shardsWorkload: import("../shardsWorkload/types").ShardsWorkloadFilters;
|
67
|
+
authentication: import("../authentication/types").AuthenticationState;
|
68
|
+
header: import("../header/types").HeaderState;
|
69
|
+
queryActions: import("../queryActions/types").QueryActionsState;
|
70
|
+
fullscreen: boolean;
|
71
|
+
clusters: import("../clusters/types").ClustersFilters;
|
72
|
+
}, resultFuncArgs_1: Capability) => number | undefined) & {
|
73
|
+
clearCache: () => void;
|
74
|
+
resultsCount: () => number;
|
75
|
+
resetResultsCount: () => void;
|
76
|
+
};
|
77
|
+
lastResult: () => number | undefined;
|
78
|
+
dependencies: [(state: RootState) => {
|
79
|
+
api: import("@reduxjs/toolkit/query").CombinedState<{}, "All" | "PDiskData" | "UserData", "api">;
|
80
|
+
singleClusterMode: boolean;
|
81
|
+
cluster: import("../cluster/types").ClusterState;
|
82
|
+
tenant: import("../tenant/types").TenantState;
|
83
|
+
tooltip: import("../../../types/store/tooltip").ITooltipState;
|
84
|
+
tablets: import("../../../types/store/tablets").TabletsState;
|
85
|
+
schema: import("../schema/types").SchemaState;
|
86
|
+
tenants: import("../tenants/types").TenantsState;
|
87
|
+
partitions: import("../partitions/types").PartitionsState;
|
88
|
+
executeQuery: import("../../../types/store/executeQuery").ExecuteQueryState;
|
89
|
+
heatmap: import("../../../types/store/heatmap").IHeatmapState;
|
90
|
+
settings: import("../settings/types").SettingsState;
|
91
|
+
executeTopQueries: import("../executeTopQueries/types").TopQueriesFilters;
|
92
|
+
shardsWorkload: import("../shardsWorkload/types").ShardsWorkloadFilters;
|
93
|
+
authentication: import("../authentication/types").AuthenticationState;
|
94
|
+
header: import("../header/types").HeaderState;
|
95
|
+
queryActions: import("../queryActions/types").QueryActionsState;
|
96
|
+
fullscreen: boolean;
|
97
|
+
clusters: import("../clusters/types").ClustersFilters;
|
98
|
+
}, (_state: RootState, capability: Capability) => Capability];
|
99
|
+
recomputations: () => number;
|
100
|
+
resetRecomputations: () => void;
|
101
|
+
dependencyRecomputations: () => number;
|
102
|
+
resetDependencyRecomputations: () => void;
|
103
|
+
} & {
|
104
|
+
argsMemoize: typeof import("reselect").weakMapMemoize;
|
105
|
+
memoize: typeof import("reselect").weakMapMemoize;
|
106
|
+
};
|
@@ -0,0 +1,22 @@
|
|
1
|
+
import { createSelector } from '@reduxjs/toolkit';
|
2
|
+
import { api } from './../api';
|
3
|
+
export const capabilitiesApi = api.injectEndpoints({
|
4
|
+
endpoints: (build) => ({
|
5
|
+
getClusterCapabilities: build.query({
|
6
|
+
queryFn: async () => {
|
7
|
+
try {
|
8
|
+
const data = await window.api.getClusterCapabilities();
|
9
|
+
return { data };
|
10
|
+
}
|
11
|
+
catch (error) {
|
12
|
+
// If capabilities endpoint is not available, there will be an error
|
13
|
+
// That means no new features are available
|
14
|
+
return { error };
|
15
|
+
}
|
16
|
+
},
|
17
|
+
}),
|
18
|
+
}),
|
19
|
+
overrideExisting: 'throw',
|
20
|
+
});
|
21
|
+
const selectCapabilities = capabilitiesApi.endpoints.getClusterCapabilities.select(undefined);
|
22
|
+
export const selectCapabilityVersion = createSelector((state) => state, (_state, capability) => capability, (state, capability) => { var _a, _b; return (_b = (_a = selectCapabilities(state).data) === null || _a === void 0 ? void 0 : _a.Capabilities) === null || _b === void 0 ? void 0 : _b[capability]; });
|
@@ -0,0 +1,13 @@
|
|
1
|
+
import { useTypedSelector } from '../../../utils/hooks';
|
2
|
+
import { selectCapabilityVersion } from './capabilities';
|
3
|
+
const useGetFeatureVersion = (feature) => {
|
4
|
+
return useTypedSelector((state) => selectCapabilityVersion(state, feature) || 0);
|
5
|
+
};
|
6
|
+
export const useCreateDirectoryFeatureAvailable = () => {
|
7
|
+
return useGetFeatureVersion('/scheme/directory') > 0;
|
8
|
+
};
|
9
|
+
export const useDiskPagesAvailable = () => {
|
10
|
+
// New PDisk (info, restart) and VDisk (evict) handlers was made at the same time
|
11
|
+
// It's enough to check only pdisk handler
|
12
|
+
return useGetFeatureVersion('/pdisk/info') > 0;
|
13
|
+
};
|
@@ -5,8 +5,8 @@ export declare function updateDefaultClusterTab(tab: string): (dispatch: Dispatc
|
|
5
5
|
declare const _default: import("redux").Reducer<ClusterState>;
|
6
6
|
export default _default;
|
7
7
|
export declare const clusterApi: import("@reduxjs/toolkit/query").Api<import("@reduxjs/toolkit/query").BaseQueryFn<void, typeof import("../api")._NEVER, unknown, {}>, {
|
8
|
-
getClusterInfo: import("@reduxjs/toolkit/query").QueryDefinition<string | undefined, import("@reduxjs/toolkit/query").BaseQueryFn<void, typeof import("../api")._NEVER, unknown, {}>, "All", {
|
8
|
+
getClusterInfo: import("@reduxjs/toolkit/query").QueryDefinition<string | undefined, import("@reduxjs/toolkit/query").BaseQueryFn<void, typeof import("../api")._NEVER, unknown, {}>, "All" | "PDiskData" | "UserData", {
|
9
9
|
clusterData: TClusterInfo;
|
10
10
|
groupsStats?: ClusterGroupsStats;
|
11
11
|
}, "api">;
|
12
|
-
}, "api", "All", typeof import("@reduxjs/toolkit/query").coreModuleName | typeof import("@reduxjs/toolkit/query/react").reactHooksModuleName>;
|
12
|
+
}, "api", "All" | "PDiskData" | "UserData", typeof import("@reduxjs/toolkit/query").coreModuleName | typeof import("@reduxjs/toolkit/query/react").reactHooksModuleName>;
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import type { PreparedNodeSystemState } from '../../../utils/nodes';
|
2
2
|
export type PreparedClusterNode = PreparedNodeSystemState;
|
3
3
|
export declare const clusterNodesApi: import("@reduxjs/toolkit/query").Api<import("@reduxjs/toolkit/query").BaseQueryFn<void, typeof import("../api")._NEVER, unknown, {}>, {
|
4
|
-
getClusterNodes: import("@reduxjs/toolkit/query").QueryDefinition<any, import("@reduxjs/toolkit/query").BaseQueryFn<void, typeof import("../api")._NEVER, unknown, {}>, "All", PreparedNodeSystemState[] | undefined, "api">;
|
5
|
-
}, "api", "All", typeof import("@reduxjs/toolkit/query").coreModuleName | typeof import("@reduxjs/toolkit/query/react").reactHooksModuleName>;
|
4
|
+
getClusterNodes: import("@reduxjs/toolkit/query").QueryDefinition<any, import("@reduxjs/toolkit/query").BaseQueryFn<void, typeof import("../api")._NEVER, unknown, {}>, "All" | "PDiskData" | "UserData", PreparedNodeSystemState[] | undefined, "api">;
|
5
|
+
}, "api", "All" | "PDiskData" | "UserData", typeof import("@reduxjs/toolkit/query").coreModuleName | typeof import("@reduxjs/toolkit/query/react").reactHooksModuleName>;
|
@@ -3,5 +3,5 @@ declare const _default: import("redux").Reducer<ClustersFilters>;
|
|
3
3
|
export default _default;
|
4
4
|
export declare const changeClustersFilters: import("@reduxjs/toolkit").ActionCreatorWithPayload<Partial<ClustersFilters>, "clusters/changeClustersFilters">;
|
5
5
|
export declare const clustersApi: import("@reduxjs/toolkit/query").Api<import("@reduxjs/toolkit/query").BaseQueryFn<void, typeof import("../api")._NEVER, unknown, {}>, {
|
6
|
-
getClustersList: import("@reduxjs/toolkit/query").QueryDefinition<any, import("@reduxjs/toolkit/query").BaseQueryFn<void, typeof import("../api")._NEVER, unknown, {}>, "All", import("./types").PreparedCluster[] | undefined, "api">;
|
7
|
-
}, "api", "All", typeof import("@reduxjs/toolkit/query").coreModuleName | typeof import("@reduxjs/toolkit/query/react").reactHooksModuleName>;
|
6
|
+
getClustersList: import("@reduxjs/toolkit/query").QueryDefinition<any, import("@reduxjs/toolkit/query").BaseQueryFn<void, typeof import("../api")._NEVER, unknown, {}>, "All" | "PDiskData" | "UserData", import("./types").PreparedCluster[] | undefined, "api">;
|
7
|
+
}, "api", "All" | "PDiskData" | "UserData", typeof import("@reduxjs/toolkit/query").coreModuleName | typeof import("@reduxjs/toolkit/query/react").reactHooksModuleName>;
|
@@ -1,4 +1,7 @@
|
|
1
1
|
import type { IDescribeData } from '../../types/store/describe';
|
2
2
|
export declare const describeApi: import("@reduxjs/toolkit/query").Api<import("@reduxjs/toolkit/query").BaseQueryFn<void, typeof import("./api")._NEVER, unknown, {}>, {
|
3
|
-
getDescribe: import("@reduxjs/toolkit/query").QueryDefinition<
|
4
|
-
|
3
|
+
getDescribe: import("@reduxjs/toolkit/query").QueryDefinition<{
|
4
|
+
paths: string[];
|
5
|
+
database: string;
|
6
|
+
}, import("@reduxjs/toolkit/query").BaseQueryFn<void, typeof import("./api")._NEVER, unknown, {}>, "All" | "PDiskData" | "UserData", IDescribeData | undefined, "api">;
|
7
|
+
}, "api", "All" | "PDiskData" | "UserData", typeof import("@reduxjs/toolkit/query").coreModuleName | typeof import("@reduxjs/toolkit/query/react").reactHooksModuleName>;
|
@@ -2,9 +2,9 @@ import { api } from './api';
|
|
2
2
|
export const describeApi = api.injectEndpoints({
|
3
3
|
endpoints: (build) => ({
|
4
4
|
getDescribe: build.query({
|
5
|
-
queryFn: async (paths, { signal }) => {
|
5
|
+
queryFn: async ({ paths, database }, { signal }) => {
|
6
6
|
try {
|
7
|
-
const response = await Promise.all(paths.map((p) => window.api.getDescribe({ path: p }, { signal })));
|
7
|
+
const response = await Promise.all(paths.map((p) => window.api.getDescribe({ path: p, database }, { signal })));
|
8
8
|
const data = response.reduce((acc, item) => {
|
9
9
|
if (item === null || item === void 0 ? void 0 : item.Path) {
|
10
10
|
acc[item.Path] = item;
|
@@ -1,26 +1,19 @@
|
|
1
1
|
import type { Reducer } from '@reduxjs/toolkit';
|
2
2
|
import type { Schemas } from '../../types/api/query';
|
3
3
|
import type { ExecuteQueryAction, ExecuteQueryState, ExecuteQueryStateSlice, QueryInHistory } from '../../types/store/executeQuery';
|
4
|
-
import type { IQueryResult,
|
5
|
-
export declare const SEND_QUERY: {
|
6
|
-
readonly REQUEST: "query/SEND_QUERY_REQUEST";
|
7
|
-
readonly SUCCESS: "query/SEND_QUERY_SUCCESS";
|
8
|
-
readonly FAILURE: "query/SEND_QUERY_FAILURE";
|
9
|
-
};
|
4
|
+
import type { IQueryResult, QueryRequestParams, QuerySettings } from '../../types/store/query';
|
10
5
|
declare const executeQuery: Reducer<ExecuteQueryState, ExecuteQueryAction>;
|
11
6
|
interface SendQueryParams extends QueryRequestParams {
|
12
|
-
|
7
|
+
querySettings?: Partial<QuerySettings>;
|
13
8
|
schema?: Schemas;
|
9
|
+
enableTracingLevel?: boolean;
|
14
10
|
}
|
15
11
|
export declare const executeQueryApi: import("@reduxjs/toolkit/query").Api<import("@reduxjs/toolkit/query").BaseQueryFn<void, typeof import("./api")._NEVER, unknown, {}>, {
|
16
|
-
executeQuery: import("@reduxjs/toolkit/query").MutationDefinition<SendQueryParams, import("@reduxjs/toolkit/query").BaseQueryFn<void, typeof import("./api")._NEVER, unknown, {}>, "All", IQueryResult, "api">;
|
17
|
-
}, "api", "All", typeof import("@reduxjs/toolkit/query").coreModuleName | typeof import("@reduxjs/toolkit/query/react").reactHooksModuleName>;
|
18
|
-
export declare const saveQueryToHistory: (queryText: string
|
12
|
+
executeQuery: import("@reduxjs/toolkit/query").MutationDefinition<SendQueryParams, import("@reduxjs/toolkit/query").BaseQueryFn<void, typeof import("./api")._NEVER, unknown, {}>, "All" | "PDiskData" | "UserData", IQueryResult, "api">;
|
13
|
+
}, "api", "All" | "PDiskData" | "UserData", typeof import("@reduxjs/toolkit/query").coreModuleName | typeof import("@reduxjs/toolkit/query/react").reactHooksModuleName>;
|
14
|
+
export declare const saveQueryToHistory: (queryText: string) => {
|
19
15
|
readonly type: "query/SAVE_QUERY_TO_HISTORY";
|
20
|
-
readonly data:
|
21
|
-
readonly queryText: string;
|
22
|
-
readonly mode: QueryMode;
|
23
|
-
};
|
16
|
+
readonly data: string;
|
24
17
|
};
|
25
18
|
export declare const goToPreviousQuery: () => {
|
26
19
|
readonly type: "query/GO_TO_PREVIOUS_QUERY";
|