ydb-embedded-ui 14.13.0 → 14.14.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/README.md +12 -0
- package/dist/components/Errors/i18n/en.json +5 -0
- package/dist/components/Errors/i18n/index.d.ts +1 -1
- package/dist/components/Errors/shared/ErrorFieldsList.js +20 -3
- package/dist/components/Errors/shared/ErrorFieldsList.js.map +1 -1
- package/dist/components/FullNodeViewer/i18n/index.d.ts +1 -1
- package/dist/components/InfoViewerTitle/InfoViewerTitle.d.ts +6 -0
- package/dist/components/InfoViewerTitle/InfoViewerTitle.js +8 -0
- package/dist/components/InfoViewerTitle/InfoViewerTitle.js.map +1 -0
- package/dist/components/InfoViewerTitle/InfoViewerTitle.scss +5 -0
- package/dist/components/MetricChart/reducer.d.ts +2 -2
- package/dist/components/MetricChart/types.d.ts +1 -1
- package/dist/components/SegmentedProgress/SegmentedProgress.d.ts +5 -1
- package/dist/components/SegmentedProgress/SegmentedProgress.js +11 -2
- package/dist/components/SegmentedProgress/SegmentedProgress.js.map +1 -1
- package/dist/components/Table/Table.js +1 -1
- package/dist/components/Table/Table.js.map +1 -1
- package/dist/components/Table/Table.scss +9 -1
- package/dist/components/TableWithControlsLayout/TableWithControlsLayout.scss +1 -2
- package/dist/components/YDBDefinitionList/YDBDefinitionList.js +2 -1
- package/dist/components/YDBDefinitionList/YDBDefinitionList.js.map +1 -1
- package/dist/components/YDBDefinitionList/YDBDefinitionList.scss +0 -4
- package/dist/components/nodesColumns/i18n/index.d.ts +1 -1
- package/dist/containers/App/App.scss +21 -0
- package/dist/containers/AsideNavigation/AsideNavigation.js +7 -1
- package/dist/containers/AsideNavigation/AsideNavigation.js.map +1 -1
- package/dist/containers/AsideNavigation/Navigation.js +46 -7
- package/dist/containers/AsideNavigation/Navigation.js.map +1 -1
- package/dist/containers/AsideNavigation/Navigation.scss +14 -0
- package/dist/containers/AsideNavigation/hooks/useHotkeysPanel.d.ts +1 -1
- package/dist/containers/AsideNavigation/hooks/useHotkeysPanel.js +22 -7
- package/dist/containers/AsideNavigation/hooks/useHotkeysPanel.js.map +1 -1
- package/dist/containers/AsideNavigation/i18n/en.json +15 -1
- package/dist/containers/AsideNavigation/i18n/index.d.ts +1 -1
- package/dist/containers/Clusters/constants.d.ts +1 -1
- package/dist/containers/Node/i18n/index.d.ts +1 -1
- package/dist/containers/Operations/useOperationsInfiniteQuery.d.ts +1 -1
- package/dist/containers/Tenant/Diagnostics/Diagnostics.scss +1 -0
- package/dist/containers/Tenant/Diagnostics/Overview/DatabaseInfo/DatabaseInfo.d.ts +8 -0
- package/dist/containers/Tenant/Diagnostics/Overview/DatabaseInfo/DatabaseInfo.js +93 -0
- package/dist/containers/Tenant/Diagnostics/Overview/DatabaseInfo/DatabaseInfo.js.map +1 -0
- package/dist/containers/Tenant/Diagnostics/Overview/DatabaseInfo/DatabaseInfo.scss +26 -0
- package/dist/containers/Tenant/Diagnostics/Overview/DatabaseInfo/i18n/en.json +18 -0
- package/dist/containers/Tenant/Diagnostics/Overview/DatabaseInfo/i18n/index.d.ts +1 -0
- package/dist/containers/Tenant/Diagnostics/Overview/DatabaseInfo/i18n/index.js +5 -0
- package/dist/containers/Tenant/Diagnostics/Overview/DatabaseInfo/i18n/index.js.map +1 -0
- package/dist/containers/Tenant/Diagnostics/Overview/Overview.js +10 -0
- package/dist/containers/Tenant/Diagnostics/Overview/Overview.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantNetwork/TenantNetwork.js +3 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantNetwork/TenantNetwork.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantNetwork/networkDashboardConfig.d.ts +2 -0
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantNetwork/networkDashboardConfig.js +21 -0
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantNetwork/networkDashboardConfig.js.map +1 -0
- package/dist/containers/Tenant/Diagnostics/TenantOverview/i18n/en.json +2 -0
- package/dist/containers/Tenant/Diagnostics/TenantOverview/i18n/index.d.ts +1 -1
- package/dist/containers/Tenant/Diagnostics/TopQueries/QueryDetails/QueryDetailsDrawerContent.js +18 -4
- package/dist/containers/Tenant/Diagnostics/TopQueries/QueryDetails/QueryDetailsDrawerContent.js.map +1 -1
- package/dist/containers/Tenant/ObjectSummary/ObjectSummary.js +4 -2
- package/dist/containers/Tenant/ObjectSummary/ObjectSummary.js.map +1 -1
- package/dist/containers/Tenant/ObjectSummary/SchemaTree/SchemaTree.js +25 -12
- package/dist/containers/Tenant/ObjectSummary/SchemaTree/SchemaTree.js.map +1 -1
- package/dist/containers/Tenant/Query/NewSQL/NewSQL.js +6 -2
- package/dist/containers/Tenant/Query/NewSQL/NewSQL.js.map +1 -1
- package/dist/containers/Tenant/Query/NewSQL/i18n/en.json +3 -1
- package/dist/containers/Tenant/Query/NewSQL/i18n/index.d.ts +1 -1
- package/dist/containers/Tenant/Query/QueriesHistory/QueriesHistory.d.ts +1 -4
- package/dist/containers/Tenant/Query/QueriesHistory/QueriesHistory.js +20 -14
- package/dist/containers/Tenant/Query/QueriesHistory/QueriesHistory.js.map +1 -1
- package/dist/containers/Tenant/Query/Query.js +2 -2
- package/dist/containers/Tenant/Query/Query.js.map +1 -1
- package/dist/containers/Tenant/Query/QueryEditor/EditorTabs/EditorTabItem.d.ts +15 -0
- package/dist/containers/Tenant/Query/QueryEditor/EditorTabs/EditorTabItem.js +145 -0
- package/dist/containers/Tenant/Query/QueryEditor/EditorTabs/EditorTabItem.js.map +1 -0
- package/dist/containers/Tenant/Query/QueryEditor/EditorTabs/EditorTabItem.scss +198 -0
- package/dist/containers/Tenant/Query/QueryEditor/EditorTabs/EditorTabs.d.ts +1 -0
- package/dist/containers/Tenant/Query/QueryEditor/EditorTabs/EditorTabs.js +31 -139
- package/dist/containers/Tenant/Query/QueryEditor/EditorTabs/EditorTabs.js.map +1 -1
- package/dist/containers/Tenant/Query/QueryEditor/EditorTabs/EditorTabs.scss +35 -0
- package/dist/containers/Tenant/Query/QueryEditor/EditorTabs/RenameQueryDialog.d.ts +9 -0
- package/dist/containers/Tenant/Query/QueryEditor/EditorTabs/RenameQueryDialog.js +47 -0
- package/dist/containers/Tenant/Query/QueryEditor/EditorTabs/RenameQueryDialog.js.map +1 -0
- package/dist/containers/Tenant/Query/QueryEditor/EditorTabs/RenameQueryDialog.scss +21 -0
- package/dist/containers/Tenant/Query/QueryEditor/EditorTabs/TabExecutionStatusIndicator.d.ts +7 -0
- package/dist/containers/Tenant/Query/QueryEditor/EditorTabs/TabExecutionStatusIndicator.js +11 -0
- package/dist/containers/Tenant/Query/QueryEditor/EditorTabs/TabExecutionStatusIndicator.js.map +1 -0
- package/dist/containers/Tenant/Query/QueryEditor/EditorTabs/TabExecutionStatusIndicator.scss +59 -0
- package/dist/containers/Tenant/Query/QueryEditor/QueryEditor.js +58 -6
- package/dist/containers/Tenant/Query/QueryEditor/QueryEditor.js.map +1 -1
- package/dist/containers/Tenant/Query/QueryEditor/QueryEditor.scss +42 -135
- package/dist/containers/Tenant/Query/QueryEditor/YqlEditor/YqlEditor.d.ts +2 -1
- package/dist/containers/Tenant/Query/QueryEditor/YqlEditor/YqlEditor.js +52 -28
- package/dist/containers/Tenant/Query/QueryEditor/YqlEditor/YqlEditor.js.map +1 -1
- package/dist/containers/Tenant/Query/QueryEditor/YqlEditor/keybindings.d.ts +1 -0
- package/dist/containers/Tenant/Query/QueryEditor/YqlEditor/keybindings.js +4 -3
- package/dist/containers/Tenant/Query/QueryEditor/YqlEditor/keybindings.js.map +1 -1
- package/dist/containers/Tenant/Query/QueryEditor/constants.d.ts +20 -0
- package/dist/containers/Tenant/Query/QueryEditor/constants.js +25 -0
- package/dist/containers/Tenant/Query/QueryEditor/constants.js.map +1 -0
- package/dist/containers/Tenant/Query/QueryEditor/hooks/__test__/useQueryPageLeaveGuard.test.d.ts +1 -0
- package/dist/containers/Tenant/Query/QueryEditor/hooks/__test__/useQueryPageLeaveGuard.test.js +125 -0
- package/dist/containers/Tenant/Query/QueryEditor/hooks/__test__/useQueryPageLeaveGuard.test.js.map +1 -0
- package/dist/containers/Tenant/Query/QueryEditor/hooks/useEditorOptions.js +13 -2
- package/dist/containers/Tenant/Query/QueryEditor/hooks/useEditorOptions.js.map +1 -1
- package/dist/containers/Tenant/Query/QueryEditor/hooks/useEditorTabsGlobalHotkeys.d.ts +21 -0
- package/dist/containers/Tenant/Query/QueryEditor/hooks/useEditorTabsGlobalHotkeys.js +96 -0
- package/dist/containers/Tenant/Query/QueryEditor/hooks/useEditorTabsGlobalHotkeys.js.map +1 -0
- package/dist/containers/Tenant/Query/QueryEditor/hooks/useQueryPageLeaveGuard.d.ts +12 -0
- package/dist/containers/Tenant/Query/QueryEditor/hooks/useQueryPageLeaveGuard.js +39 -0
- package/dist/containers/Tenant/Query/QueryEditor/hooks/useQueryPageLeaveGuard.js.map +1 -0
- package/dist/containers/Tenant/Query/QueryEditor/hooks/useQueryTabsActions.d.ts +5 -4
- package/dist/containers/Tenant/Query/QueryEditor/hooks/useQueryTabsActions.js +104 -14
- package/dist/containers/Tenant/Query/QueryEditor/hooks/useQueryTabsActions.js.map +1 -1
- package/dist/containers/Tenant/Query/QueryResult/components/SimplifiedPlan/SimplifiedPlan.scss +6 -3
- package/dist/containers/Tenant/Query/SaveChangesDialog/SaveChangesDialog.d.ts +13 -0
- package/dist/containers/Tenant/Query/SaveChangesDialog/SaveChangesDialog.js +74 -0
- package/dist/containers/Tenant/Query/SaveChangesDialog/SaveChangesDialog.js.map +1 -0
- package/dist/containers/Tenant/Query/SaveChangesDialog/SaveChangesDialog.scss +18 -0
- package/dist/containers/Tenant/Query/SaveChangesDialog/i18n/en.json +10 -0
- package/dist/containers/Tenant/Query/SaveChangesDialog/i18n/index.d.ts +2 -0
- package/dist/containers/Tenant/Query/SaveChangesDialog/i18n/index.js +5 -0
- package/dist/containers/Tenant/Query/SaveChangesDialog/i18n/index.js.map +1 -0
- package/dist/containers/Tenant/Query/SaveQuery/SaveQuery.d.ts +2 -1
- package/dist/containers/Tenant/Query/SaveQuery/SaveQuery.js +44 -27
- package/dist/containers/Tenant/Query/SaveQuery/SaveQuery.js.map +1 -1
- package/dist/containers/Tenant/Query/SaveQuery/SaveQuery.scss +4 -0
- package/dist/containers/Tenant/Query/SaveQuery/i18n/en.json +4 -2
- package/dist/containers/Tenant/Query/SaveQuery/i18n/index.d.ts +1 -1
- package/dist/containers/Tenant/Query/SavedQueries/SavedQueries.d.ts +1 -7
- package/dist/containers/Tenant/Query/SavedQueries/SavedQueries.js +13 -11
- package/dist/containers/Tenant/Query/SavedQueries/SavedQueries.js.map +1 -1
- package/dist/containers/Tenant/Query/hooks/useOpenExternalQueryInEditor.d.ts +7 -0
- package/dist/containers/Tenant/Query/hooks/useOpenExternalQueryInEditor.js +32 -0
- package/dist/containers/Tenant/Query/hooks/useOpenExternalQueryInEditor.js.map +1 -0
- package/dist/containers/Tenant/Query/i18n/en.json +11 -9
- package/dist/containers/Tenant/Query/i18n/index.d.ts +1 -1
- package/dist/containers/Tenant/Query/utils/QueryNameValidation.d.ts +3 -0
- package/dist/containers/Tenant/Query/utils/QueryNameValidation.js +12 -0
- package/dist/containers/Tenant/Query/utils/QueryNameValidation.js.map +1 -0
- package/dist/containers/Tenant/Query/utils/__test__/queryTabTitles.test.d.ts +1 -0
- package/dist/containers/Tenant/Query/utils/__test__/queryTabTitles.test.js +89 -0
- package/dist/containers/Tenant/Query/utils/__test__/queryTabTitles.test.js.map +1 -0
- package/dist/containers/Tenant/Query/utils/queryTabTitles.d.ts +9 -0
- package/dist/containers/Tenant/Query/utils/queryTabTitles.js +41 -0
- package/dist/containers/Tenant/Query/utils/queryTabTitles.js.map +1 -0
- package/dist/containers/Tenant/TenantNavigation/useTenantNavigation.d.ts +2 -2
- package/dist/containers/Tenant/i18n/en.json +1 -0
- package/dist/containers/Tenant/i18n/index.d.ts +1 -1
- package/dist/containers/Tenant/utils/newSQLQueryActions.d.ts +4 -2
- package/dist/containers/Tenant/utils/newSQLQueryActions.js +54 -39
- package/dist/containers/Tenant/utils/newSQLQueryActions.js.map +1 -1
- package/dist/containers/Tenant/utils/schemaActions.d.ts +4 -0
- package/dist/containers/Tenant/utils/schemaActions.js +63 -37
- package/dist/containers/Tenant/utils/schemaActions.js.map +1 -1
- package/dist/containers/Tenant/utils/schemaQueryTemplates.d.ts +1 -0
- package/dist/containers/Tenant/utils/schemaQueryTemplates.js +25 -0
- package/dist/containers/Tenant/utils/schemaQueryTemplates.js.map +1 -1
- package/dist/containers/VDiskPage/i18n/index.d.ts +1 -1
- package/dist/services/api/streaming.js +2 -3
- package/dist/services/api/streaming.js.map +1 -1
- package/dist/store/configureStore.d.ts +4 -4
- package/dist/store/defaultStore.d.ts +2 -2
- package/dist/store/reducers/api.d.ts +1 -1
- package/dist/store/reducers/authentication/authentication.d.ts +4 -4
- package/dist/store/reducers/cancelQuery.d.ts +2 -2
- package/dist/store/reducers/capabilities/capabilities.d.ts +39 -39
- package/dist/store/reducers/capabilities/hooks.d.ts +6 -5
- package/dist/store/reducers/capabilities/hooks.js +3 -0
- package/dist/store/reducers/capabilities/hooks.js.map +1 -1
- package/dist/store/reducers/cluster/cluster.d.ts +5 -5
- package/dist/store/reducers/clusters/clusters.d.ts +2 -2
- package/dist/store/reducers/codeAssist/codeAssist.d.ts +6 -6
- package/dist/store/reducers/configs.d.ts +3 -3
- package/dist/store/reducers/environments/environments.d.ts +2 -2
- package/dist/store/reducers/executeTopQueries/executeTopQueries.d.ts +3 -3
- package/dist/store/reducers/healthcheckInfo/healthcheckInfo.d.ts +44 -44
- package/dist/store/reducers/heatmap.d.ts +2 -2
- package/dist/store/reducers/hotKeys/hotKeys.d.ts +2 -2
- package/dist/store/reducers/index.d.ts +3 -3
- package/dist/store/reducers/network/network.d.ts +2 -2
- package/dist/store/reducers/node/node.d.ts +3 -3
- package/dist/store/reducers/node/selectors.d.ts +1 -1
- package/dist/store/reducers/nodes/nodes.d.ts +2 -2
- package/dist/store/reducers/nodesList.d.ts +12 -12
- package/dist/store/reducers/operations.d.ts +4 -4
- package/dist/store/reducers/overview/overview.d.ts +2 -2
- package/dist/store/reducers/partitions/partitions.d.ts +2 -2
- package/dist/store/reducers/pdisk/pdisk.d.ts +2 -2
- package/dist/store/reducers/planToSvg.d.ts +2 -2
- package/dist/store/reducers/preview.d.ts +2 -2
- package/dist/store/reducers/query/__test__/streamingStatus.test.js +5 -0
- package/dist/store/reducers/query/__test__/streamingStatus.test.js.map +1 -1
- package/dist/store/reducers/query/__test__/tabPersistence.test.js +1 -0
- package/dist/store/reducers/query/__test__/tabPersistence.test.js.map +1 -1
- package/dist/store/reducers/query/__test__/utils.test.js +33 -1
- package/dist/store/reducers/query/__test__/utils.test.js.map +1 -1
- package/dist/store/reducers/query/api.d.ts +4 -4
- 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 +38 -3
- package/dist/store/reducers/query/slice.js +134 -25
- package/dist/store/reducers/query/slice.js.map +1 -1
- package/dist/store/reducers/query/types.d.ts +18 -0
- package/dist/store/reducers/query/utils.d.ts +23 -1
- package/dist/store/reducers/query/utils.js +51 -0
- package/dist/store/reducers/query/utils.js.map +1 -1
- package/dist/store/reducers/queryActions/queryActions.d.ts +2 -6
- package/dist/store/reducers/queryActions/queryActions.js +2 -10
- package/dist/store/reducers/queryActions/queryActions.js.map +1 -1
- package/dist/store/reducers/queryActions/types.d.ts +0 -1
- package/dist/store/reducers/replication.d.ts +2 -2
- package/dist/store/reducers/schema/schema.d.ts +16 -16
- package/dist/store/reducers/schemaAcl/schemaAcl.d.ts +39 -39
- package/dist/store/reducers/settings/api.d.ts +4 -4
- package/dist/store/reducers/settings/constants.d.ts +2 -0
- package/dist/store/reducers/settings/constants.js +2 -0
- package/dist/store/reducers/settings/constants.js.map +1 -1
- package/dist/store/reducers/settings/settings.d.ts +1 -1
- package/dist/store/reducers/settings/utils.d.ts +1 -1
- package/dist/store/reducers/shardsWorkload/shardsWorkload.d.ts +2 -2
- package/dist/store/reducers/showCreateTable/showCreateTable.d.ts +2 -2
- package/dist/store/reducers/storage/storage.d.ts +3 -3
- package/dist/store/reducers/streamingQuery/streamingQuery.d.ts +2 -2
- package/dist/store/reducers/tableData.d.ts +1 -1
- package/dist/store/reducers/tablePartitioning/tablePartitioning.d.ts +2 -2
- package/dist/store/reducers/tableSchemaData.d.ts +2 -2
- package/dist/store/reducers/tablet.d.ts +7 -7
- package/dist/store/reducers/tablets.d.ts +3 -3
- 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/topShards/tenantOverviewTopShards.d.ts +2 -2
- package/dist/store/reducers/tenants/tenants.d.ts +2 -2
- package/dist/store/reducers/topic.d.ts +45 -45
- package/dist/store/reducers/vdisk/vdisk.d.ts +3 -3
- package/dist/store/reducers/viewSchema/viewSchema.d.ts +2 -2
- package/dist/uiFactory/types.d.ts +5 -0
- package/dist/utils/errors/__test__/extractErrorDetails.test.js +205 -6
- package/dist/utils/errors/__test__/extractErrorDetails.test.js.map +1 -1
- package/dist/utils/errors/extractErrorDetails.d.ts +28 -0
- package/dist/utils/errors/extractErrorDetails.js +176 -0
- package/dist/utils/errors/extractErrorDetails.js.map +1 -1
- package/dist/utils/hooks/useDelayed.d.ts +1 -1
- package/dist/utils/hooks/useDelayed.js +8 -4
- package/dist/utils/hooks/useDelayed.js.map +1 -1
- package/dist/utils/hooks/withConfirmation/RunningQueryDialog.d.ts +2 -0
- package/dist/utils/hooks/withConfirmation/RunningQueryDialog.js +32 -0
- package/dist/utils/hooks/withConfirmation/RunningQueryDialog.js.map +1 -0
- package/dist/utils/hooks/withConfirmation/UnsavedChangesDialog.d.ts +4 -0
- package/dist/utils/hooks/withConfirmation/UnsavedChangesDialog.js +46 -0
- package/dist/utils/hooks/withConfirmation/UnsavedChangesDialog.js.map +1 -0
- package/dist/utils/hooks/withConfirmation/UnsavedChangesDialog.scss +5 -0
- package/dist/utils/hooks/withConfirmation/i18n/en.json +8 -2
- package/dist/utils/hooks/withConfirmation/i18n/index.d.ts +1 -1
- package/dist/utils/hooks/withConfirmation/useChangeInputWithConfirmation.d.ts +1 -1
- package/dist/utils/hooks/withConfirmation/useChangeInputWithConfirmation.js +5 -36
- package/dist/utils/hooks/withConfirmation/useChangeInputWithConfirmation.js.map +1 -1
- package/dist/utils/platform.d.ts +1 -0
- package/dist/utils/platform.js +11 -0
- package/dist/utils/platform.js.map +1 -0
- package/package.json +2 -1
- package/dist/containers/Tenant/Query/QueryEditor/EditorTabs/RenameTabDialog.d.ts +0 -7
- package/dist/containers/Tenant/Query/QueryEditor/EditorTabs/RenameTabDialog.js +0 -38
- package/dist/containers/Tenant/Query/QueryEditor/EditorTabs/RenameTabDialog.js.map +0 -1
package/README.md
CHANGED
|
@@ -100,6 +100,18 @@ Run tests. If `PLAYWRIGHT_BASE_URL` is provided, tests run on this url, otherwis
|
|
|
100
100
|
npm run test:e2e
|
|
101
101
|
```
|
|
102
102
|
|
|
103
|
+
Run tests in Playwright Docker.
|
|
104
|
+
|
|
105
|
+
```
|
|
106
|
+
npm run test:e2e:docker
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
Run tests in Playwright Docker and then serve the generated HTML report locally at `http://127.0.0.1:9323`. You can override host and port with `PLAYWRIGHT_HTML_HOST` and `PLAYWRIGHT_HTML_PORT`.
|
|
110
|
+
|
|
111
|
+
```
|
|
112
|
+
npm run test:e2e:docker:report
|
|
113
|
+
```
|
|
114
|
+
|
|
103
115
|
### CI
|
|
104
116
|
|
|
105
117
|
E2E tests are run in CI in `e2e_tests` job. Tests run on Playwright `webServer` (it is started with `npm run dev`), `webServer` uses docker container `ghcr.io/ydb-platform/local-ydb:nightly` as backend.
|
|
@@ -8,6 +8,8 @@
|
|
|
8
8
|
"error-details.label_url": "URL",
|
|
9
9
|
"error-details.label_error-code": "Code",
|
|
10
10
|
"error-details.label_message": "Message",
|
|
11
|
+
"error-details.label_error-origin": "Error origin",
|
|
12
|
+
"error-details.label_error-stage": "Error stage",
|
|
11
13
|
"error-details.label_error-phase": "Phase",
|
|
12
14
|
"error-details.phase_connection": "Connection failed",
|
|
13
15
|
"error-details.phase_stream": "Connection interrupted during data transfer",
|
|
@@ -15,6 +17,9 @@
|
|
|
15
17
|
"error-details.network_offline": "No internet connection",
|
|
16
18
|
"error-details.label_trace-id": "Trace-ID",
|
|
17
19
|
"error-details.label_request-id": "Request-ID",
|
|
20
|
+
"error-details.label_proxy-trace-id": "Proxy Trace-ID",
|
|
21
|
+
"error-details.label_proxy-request-id": "Proxy Request-ID",
|
|
22
|
+
"error-details.label_proxy-target": "Proxy Target",
|
|
18
23
|
"error-details.label_proxy-name": "x-proxy-name",
|
|
19
24
|
"error-details.label_worker-name": "x-worker-name",
|
|
20
25
|
"error-details.label_issues": "Issues ({{count}})",
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const _default: (key: "401.title" | "401.description" | "403.title" | "403.description" | "responseError.defaultMessage" | "error.title" | "error-details.label_url" | "error-details.label_error-code" | "error-details.label_message" | "error-details.label_error-phase" | "error-details.phase_connection" | "error-details.phase_stream" | "error-details.label_network-type" | "error-details.network_offline" | "error-details.label_trace-id" | "error-details.label_request-id" | "error-details.label_proxy-name" | "error-details.label_worker-name" | "error-details.label_issues" | "error-details.button_issues" | "error-details.button_response" | "error-details.button_report-problem", params?: import("@gravity-ui/i18n").Params) => string;
|
|
1
|
+
declare const _default: (key: "401.title" | "401.description" | "403.title" | "403.description" | "responseError.defaultMessage" | "error.title" | "error-details.label_url" | "error-details.label_error-code" | "error-details.label_message" | "error-details.label_error-origin" | "error-details.label_error-stage" | "error-details.label_error-phase" | "error-details.phase_connection" | "error-details.phase_stream" | "error-details.label_network-type" | "error-details.network_offline" | "error-details.label_trace-id" | "error-details.label_request-id" | "error-details.label_proxy-trace-id" | "error-details.label_proxy-request-id" | "error-details.label_proxy-target" | "error-details.label_proxy-name" | "error-details.label_worker-name" | "error-details.label_issues" | "error-details.button_issues" | "error-details.button_response" | "error-details.button_report-problem", params?: import("@gravity-ui/i18n").Params) => string;
|
|
2
2
|
export default _default;
|
|
@@ -10,6 +10,16 @@ function formatUrlLine(method, requestUrl) {
|
|
|
10
10
|
}
|
|
11
11
|
return requestUrl;
|
|
12
12
|
}
|
|
13
|
+
function formatProxyTargetLine(proxyTarget, proxyRewrittenPath) {
|
|
14
|
+
if (proxyTarget && proxyRewrittenPath) {
|
|
15
|
+
const normalizedTarget = proxyTarget.endsWith('/') ? proxyTarget.slice(0, -1) : proxyTarget;
|
|
16
|
+
const normalizedPath = proxyRewrittenPath.startsWith('/')
|
|
17
|
+
? proxyRewrittenPath
|
|
18
|
+
: `/${proxyRewrittenPath}`;
|
|
19
|
+
return `${normalizedTarget}${normalizedPath}`;
|
|
20
|
+
}
|
|
21
|
+
return proxyTarget || proxyRewrittenPath;
|
|
22
|
+
}
|
|
13
23
|
function isUniqueMessage(message, details, renderedTitle) {
|
|
14
24
|
if (!message) {
|
|
15
25
|
return false;
|
|
@@ -17,21 +27,28 @@ function isUniqueMessage(message, details, renderedTitle) {
|
|
|
17
27
|
return (message !== details.title && message !== details.dataMessage && message !== renderedTitle);
|
|
18
28
|
}
|
|
19
29
|
export function ErrorFieldsList({ details, renderedTitle, className, valueClassName, }) {
|
|
20
|
-
const { requestUrl, method, errorCode, message, traceId, requestId, proxyName, workerName, errorPhase, networkEffectiveType, } = details;
|
|
30
|
+
const { requestUrl, method, errorCode, message, errorOrigin, errorStage, traceId, requestId, proxyTraceId, proxyRequestId, proxyRewrittenPath, proxyTarget, proxyName, workerName, errorPhase, networkEffectiveType, } = details;
|
|
21
31
|
const urlLine = formatUrlLine(method, requestUrl);
|
|
32
|
+
const proxyTargetLine = formatProxyTargetLine(proxyTarget, proxyRewrittenPath);
|
|
22
33
|
const showMessage = isUniqueMessage(message, details, renderedTitle);
|
|
23
|
-
return (_jsxs(DefinitionList, { nameMaxWidth: 200, className: className, children: [urlLine && (_jsx(DefinitionList.Item, { name: i18n('error-details.label_url'), copyText: urlLine, children: _jsx("span", { className: valueClassName, children: urlLine }) })), errorCode && (_jsx(DefinitionList.Item, { name: i18n('error-details.label_error-code'), copyText: errorCode, children: _jsx("span", { className: valueClassName, children: errorCode }) })), showMessage && (_jsx(DefinitionList.Item, { name: i18n('error-details.label_message'), copyText: message, children: _jsx("span", { className: valueClassName, children: message }) })), errorPhase && (_jsx(DefinitionList.Item, { name: i18n('error-details.label_error-phase'), children: _jsx("span", { className: valueClassName, children: i18n(`error-details.phase_${errorPhase}`) }) })), networkEffectiveType && (_jsx(DefinitionList.Item, { name: i18n('error-details.label_network-type'), children: _jsx("span", { className: valueClassName, children: networkEffectiveType }) })), traceId && (_jsx(DefinitionList.Item, { name: i18n('error-details.label_trace-id'), copyText: traceId, children: _jsx("span", { className: valueClassName, children: traceId }) })), requestId && (_jsx(DefinitionList.Item, { name: i18n('error-details.label_request-id'), copyText: requestId, children: _jsx("span", { className: valueClassName, children: requestId }) })), proxyName && (_jsx(DefinitionList.Item, { name: i18n('error-details.label_proxy-name'), copyText: proxyName, children: _jsx("span", { className: valueClassName, children: proxyName }) })), workerName && (_jsx(DefinitionList.Item, { name: i18n('error-details.label_worker-name'), copyText: workerName, children: _jsx("span", { className: valueClassName, children: workerName }) }))] }));
|
|
34
|
+
return (_jsxs(DefinitionList, { nameMaxWidth: 200, className: className, children: [urlLine && (_jsx(DefinitionList.Item, { name: i18n('error-details.label_url'), copyText: urlLine, children: _jsx("span", { className: valueClassName, children: urlLine }) })), errorCode && (_jsx(DefinitionList.Item, { name: i18n('error-details.label_error-code'), copyText: errorCode, children: _jsx("span", { className: valueClassName, children: errorCode }) })), showMessage && (_jsx(DefinitionList.Item, { name: i18n('error-details.label_message'), copyText: message, children: _jsx("span", { className: valueClassName, children: message }) })), errorOrigin && (_jsx(DefinitionList.Item, { name: i18n('error-details.label_error-origin'), copyText: errorOrigin, children: _jsx("span", { className: valueClassName, children: errorOrigin }) })), errorStage && (_jsx(DefinitionList.Item, { name: i18n('error-details.label_error-stage'), copyText: errorStage, children: _jsx("span", { className: valueClassName, children: errorStage }) })), errorPhase && (_jsx(DefinitionList.Item, { name: i18n('error-details.label_error-phase'), children: _jsx("span", { className: valueClassName, children: i18n(`error-details.phase_${errorPhase}`) }) })), networkEffectiveType && (_jsx(DefinitionList.Item, { name: i18n('error-details.label_network-type'), children: _jsx("span", { className: valueClassName, children: networkEffectiveType }) })), traceId && (_jsx(DefinitionList.Item, { name: i18n('error-details.label_trace-id'), copyText: traceId, children: _jsx("span", { className: valueClassName, children: traceId }) })), requestId && (_jsx(DefinitionList.Item, { name: i18n('error-details.label_request-id'), copyText: requestId, children: _jsx("span", { className: valueClassName, children: requestId }) })), proxyTraceId && (_jsx(DefinitionList.Item, { name: i18n('error-details.label_proxy-trace-id'), copyText: proxyTraceId, children: _jsx("span", { className: valueClassName, children: proxyTraceId }) })), proxyRequestId && (_jsx(DefinitionList.Item, { name: i18n('error-details.label_proxy-request-id'), copyText: proxyRequestId, children: _jsx("span", { className: valueClassName, children: proxyRequestId }) })), proxyTargetLine && (_jsx(DefinitionList.Item, { name: i18n('error-details.label_proxy-target'), copyText: proxyTargetLine, children: _jsx("span", { className: valueClassName, children: proxyTargetLine }) })), proxyName && (_jsx(DefinitionList.Item, { name: i18n('error-details.label_proxy-name'), copyText: proxyName, children: _jsx("span", { className: valueClassName, children: proxyName }) })), workerName && (_jsx(DefinitionList.Item, { name: i18n('error-details.label_worker-name'), copyText: workerName, children: _jsx("span", { className: valueClassName, children: workerName }) }))] }));
|
|
24
35
|
}
|
|
25
36
|
export function hasVisibleFields(details, renderedTitle) {
|
|
26
|
-
const { requestUrl, errorCode, traceId, requestId, proxyName, workerName, errorPhase, networkEffectiveType, } = details;
|
|
37
|
+
const { requestUrl, errorCode, errorOrigin, errorStage, traceId, requestId, proxyTraceId, proxyRequestId, proxyRewrittenPath, proxyTarget, proxyName, workerName, errorPhase, networkEffectiveType, } = details;
|
|
38
|
+
const proxyTargetLine = formatProxyTargetLine(proxyTarget, proxyRewrittenPath);
|
|
27
39
|
const showMessage = isUniqueMessage(details.message, details, renderedTitle);
|
|
28
40
|
return Boolean(requestUrl ||
|
|
29
41
|
errorCode ||
|
|
30
42
|
showMessage ||
|
|
43
|
+
errorOrigin ||
|
|
44
|
+
errorStage ||
|
|
31
45
|
errorPhase ||
|
|
32
46
|
networkEffectiveType ||
|
|
33
47
|
traceId ||
|
|
34
48
|
requestId ||
|
|
49
|
+
proxyTraceId ||
|
|
50
|
+
proxyRequestId ||
|
|
51
|
+
proxyTargetLine ||
|
|
35
52
|
proxyName ||
|
|
36
53
|
workerName);
|
|
37
54
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ErrorFieldsList.js","sourceRoot":"","sources":["../../../../src/components/Errors/shared/ErrorFieldsList.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ErrorFieldsList.js","sourceRoot":"","sources":["../../../../src/components/Errors/shared/ErrorFieldsList.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const _default: (key: "version" | "database" | "links" | "
|
|
1
|
+
declare const _default: (key: "version" | "database" | "links" | "dc" | "uptime" | "rack" | "no-data" | "developer-ui" | "la-interval-1m" | "la-interval-5m" | "la-interval-15m" | "title.common-info" | "title.endpoints" | "title.roles" | "title.pools" | "title.load-average", params?: import("@gravity-ui/i18n").Params) => string;
|
|
2
2
|
export default _default;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { cn } from '../../utils/cn';
|
|
3
|
+
import './InfoViewerTitle.scss';
|
|
4
|
+
const b = cn('ydb-info-viewer-title');
|
|
5
|
+
export function InfoViewerTitle({ children, className, }) {
|
|
6
|
+
return _jsx("div", { className: b(null, className), children: children });
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=InfoViewerTitle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InfoViewerTitle.js","sourceRoot":"","sources":["../../../src/components/InfoViewerTitle/InfoViewerTitle.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAC,EAAE,EAAC,MAAM,gBAAgB,CAAC;AAElC,OAAO,wBAAwB,CAAC;AAEhC,MAAM,CAAC,GAAG,EAAE,CAAC,uBAAuB,CAAC,CAAC;AAEtC,MAAM,UAAU,eAAe,CAAC,EAC5B,QAAQ,EACR,SAAS,GAIZ;IACG,OAAO,cAAK,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,YAAG,QAAQ,GAAO,CAAC;AAChE,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { GetChartDataParams } from './getChartData';
|
|
2
2
|
export declare const chartApi: import("@reduxjs/toolkit/query").Api<import("@reduxjs/toolkit/query").BaseQueryFn<void, typeof import("../../store/reducers/api")._NEVER, unknown, {}>, {
|
|
3
|
-
getChartData: import("@reduxjs/toolkit/query").QueryDefinition<GetChartDataParams, import("@reduxjs/toolkit/query").BaseQueryFn<void, typeof import("../../store/reducers/api")._NEVER, unknown, {}>, "
|
|
4
|
-
}, "api", "
|
|
3
|
+
getChartData: import("@reduxjs/toolkit/query").QueryDefinition<GetChartDataParams, import("@reduxjs/toolkit/query").BaseQueryFn<void, typeof import("../../store/reducers/api")._NEVER, unknown, {}>, "Events" | "All" | "Conversations" | "PDiskData" | "PreviewData" | "SchemaTree" | "StorageData" | "Tablet" | "UserData" | "VDiskData" | "VDiskBlobIndexStat" | "AccessRights" | "Backups" | "BackupsSchedule", import("./types").PreparedMetricsData | undefined, "api", any>;
|
|
4
|
+
}, "api", "Events" | "All" | "Conversations" | "PDiskData" | "PreviewData" | "SchemaTree" | "StorageData" | "Tablet" | "UserData" | "VDiskData" | "VDiskBlobIndexStat" | "AccessRights" | "Backups" | "BackupsSchedule", typeof import("@reduxjs/toolkit/query").coreModuleName | typeof import("@reduxjs/toolkit/query/react").reactHooksModuleName>;
|
|
@@ -2,7 +2,7 @@ import type { PoolName } from '../../types/api/nodes';
|
|
|
2
2
|
type Percentile = 'p50' | 'p75' | 'p90' | 'p99';
|
|
3
3
|
type QueriesLatenciesMetric = `queries.latencies.${Percentile}`;
|
|
4
4
|
type PoolUsageMetric = `resources.cpu.${PoolName}.usage`;
|
|
5
|
-
export type Metric = 'queries.requests' | 'resources.memory.used_bytes' | 'resources.storage.used_bytes' | 'resources.cpu.usage' | PoolUsageMetric | QueriesLatenciesMetric;
|
|
5
|
+
export type Metric = 'queries.requests' | 'resources.memory.used_bytes' | 'resources.storage.used_bytes' | 'resources.cpu.usage' | 'resources.network.sent_bytes' | 'resources.network.received_bytes' | PoolUsageMetric | QueriesLatenciesMetric;
|
|
6
6
|
export interface MetricDescription {
|
|
7
7
|
target: Metric;
|
|
8
8
|
title?: string;
|
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
import './SegmentedProgress.scss';
|
|
2
|
+
type DisplayNoLimit = 'empty' | 'filled';
|
|
2
3
|
export interface SegmentedProgressProps {
|
|
3
4
|
value: number;
|
|
4
5
|
total: number;
|
|
5
6
|
className?: string;
|
|
6
7
|
labelStart?: string;
|
|
8
|
+
labelEnd?: string;
|
|
7
9
|
ariaLabel?: string;
|
|
10
|
+
displayNoLimit?: DisplayNoLimit;
|
|
8
11
|
}
|
|
9
|
-
export declare function SegmentedProgress({ value, total, className, labelStart, ariaLabel, }: SegmentedProgressProps): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
export declare function SegmentedProgress({ value, total, className, labelStart, labelEnd, ariaLabel, displayNoLimit, }: SegmentedProgressProps): import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
export {};
|
|
@@ -4,7 +4,7 @@ import { Flex, Text } from '@gravity-ui/uikit';
|
|
|
4
4
|
import { cn } from '../../utils/cn';
|
|
5
5
|
import './SegmentedProgress.scss';
|
|
6
6
|
const b = cn('ydb-segmented-progress');
|
|
7
|
-
export function SegmentedProgress({ value, total, className, labelStart, ariaLabel, }) {
|
|
7
|
+
export function SegmentedProgress({ value, total, className, labelStart, labelEnd, ariaLabel, displayNoLimit = 'empty', }) {
|
|
8
8
|
const percentUsed = total > 0 ? (value / total) * 100 : 0;
|
|
9
9
|
const normalizedUsed = React.useMemo(() => {
|
|
10
10
|
if (percentUsed < 0) {
|
|
@@ -18,6 +18,15 @@ export function SegmentedProgress({ value, total, className, labelStart, ariaLab
|
|
|
18
18
|
}
|
|
19
19
|
return Math.round(percentUsed);
|
|
20
20
|
}, [percentUsed]);
|
|
21
|
-
|
|
21
|
+
const fillWidth = React.useMemo(() => {
|
|
22
|
+
if (!total) {
|
|
23
|
+
if (displayNoLimit === 'filled') {
|
|
24
|
+
return 100;
|
|
25
|
+
}
|
|
26
|
+
return 0;
|
|
27
|
+
}
|
|
28
|
+
return normalizedUsed;
|
|
29
|
+
}, [total, normalizedUsed, displayNoLimit]);
|
|
30
|
+
return (_jsxs(Flex, { direction: "column", gap: 1, children: [_jsxs(Flex, { gap: 1, alignItems: "center", wrap: "nowrap", className: b(null, className), role: "progressbar", "aria-label": ariaLabel, "aria-valuemin": 0, "aria-valuemax": 100, "aria-valuenow": normalizedUsed, children: [fillWidth > 0 && (_jsx("div", { className: b('section', { used: true }), style: { width: `${fillWidth}%` } })), 100 - fillWidth > 0 && _jsx("div", { className: b('section'), style: { flexGrow: 1 } })] }), _jsxs(Flex, { width: "100%", children: [labelStart && _jsx(Text, { color: "secondary", children: labelStart }), _jsx(Text, { color: "secondary", className: b('label'), children: labelEnd !== null && labelEnd !== void 0 ? labelEnd : `${normalizedUsed}%` })] })] }));
|
|
22
31
|
}
|
|
23
32
|
//# sourceMappingURL=SegmentedProgress.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SegmentedProgress.js","sourceRoot":"","sources":["../../../src/components/SegmentedProgress/SegmentedProgress.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,IAAI,EAAE,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAC,EAAE,EAAC,MAAM,gBAAgB,CAAC;AAElC,OAAO,0BAA0B,CAAC;AAElC,MAAM,CAAC,GAAG,EAAE,CAAC,wBAAwB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"SegmentedProgress.js","sourceRoot":"","sources":["../../../src/components/SegmentedProgress/SegmentedProgress.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,IAAI,EAAE,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAC,EAAE,EAAC,MAAM,gBAAgB,CAAC;AAElC,OAAO,0BAA0B,CAAC;AAElC,MAAM,CAAC,GAAG,EAAE,CAAC,wBAAwB,CAAC,CAAC;AAcvC,MAAM,UAAU,iBAAiB,CAAC,EAC9B,KAAK,EACL,KAAK,EACL,SAAS,EACT,UAAU,EACV,QAAQ,EACR,SAAS,EACT,cAAc,GAAG,OAAO,GACH;IACrB,MAAM,WAAW,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1D,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACtC,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;YAClB,OAAO,CAAC,CAAC;QACb,CAAC;QACD,IAAI,WAAW,GAAG,GAAG,EAAE,CAAC;YACpB,OAAO,GAAG,CAAC;QACf,CAAC;QACD,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;QAC7C,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACnC,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACjC,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,IAAI,cAAc,KAAK,QAAQ,EAAE,CAAC;gBAC9B,OAAO,GAAG,CAAC;YACf,CAAC;YACD,OAAO,CAAC,CAAC;QACb,CAAC;QACD,OAAO,cAAc,CAAC;IAC1B,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC,CAAC;IAE5C,OAAO,CACH,MAAC,IAAI,IAAC,SAAS,EAAC,QAAQ,EAAC,GAAG,EAAE,CAAC,aAC3B,MAAC,IAAI,IACD,GAAG,EAAE,CAAC,EACN,UAAU,EAAC,QAAQ,EACnB,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,EAC7B,IAAI,EAAC,aAAa,gBACN,SAAS,mBACN,CAAC,mBACD,GAAG,mBACH,cAAc,aAE5B,SAAS,GAAG,CAAC,IAAI,CACd,cAAK,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC,EAAE,KAAK,EAAE,EAAC,KAAK,EAAE,GAAG,SAAS,GAAG,EAAC,GAAI,CAClF,EACA,GAAG,GAAG,SAAS,GAAG,CAAC,IAAI,cAAK,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,EAAC,QAAQ,EAAE,CAAC,EAAC,GAAI,IAC3E,EACP,MAAC,IAAI,IAAC,KAAK,EAAC,MAAM,aACb,UAAU,IAAI,KAAC,IAAI,IAAC,KAAK,EAAC,WAAW,YAAE,UAAU,GAAQ,EAC1D,KAAC,IAAI,IAAC,KAAK,EAAC,WAAW,EAAC,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,YACxC,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,GAAG,cAAc,GAAG,GAC9B,IACJ,IACJ,CACV,CAAC;AACN,CAAC"}
|
|
@@ -16,6 +16,6 @@ export function Table({ className, width, wrapperClassName, ...props }) {
|
|
|
16
16
|
const align = (_a = cell === null || cell === void 0 ? void 0 : cell.column.columnDef.meta) === null || _a === void 0 ? void 0 : _a.align;
|
|
17
17
|
const verticalAlign = (_b = cell === null || cell === void 0 ? void 0 : cell.column.columnDef.meta) === null || _b === void 0 ? void 0 : _b.verticalAlign;
|
|
18
18
|
return block('table-cell', { align, 'vertical-align': verticalAlign });
|
|
19
|
-
}, className: block('table', { width }, className), ...props }) }));
|
|
19
|
+
}, rowClassName: block('row'), className: block('table', { width }, className), ...props }) }));
|
|
20
20
|
}
|
|
21
21
|
//# sourceMappingURL=Table.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.js","sourceRoot":"","sources":["../../../src/components/Table/Table.tsx"],"names":[],"mappings":";AACA,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAC,EAAE,EAAC,MAAM,gBAAgB,CAAC;AAElC,OAAO,cAAc,CAAC;AAEtB,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC;AAY9B,MAAM,UAAU,YAAY,CAAC,EAAC,QAAQ,EAAE,SAAS,EAAoB;IACjE,OAAO,cAAK,SAAS,EAAE,KAAK,CAAC,sBAAsB,EAAE,SAAS,CAAC,YAAG,QAAQ,GAAO,CAAC;AACtF,CAAC;AAED,MAAM,UAAU,KAAK,CAAQ,EAAC,SAAS,EAAE,KAAK,EAAE,gBAAgB,EAAE,GAAG,KAAK,EAAoB;IAC1F,OAAO,CACH,cAAK,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE,gBAAgB,CAAC,YACzC,KAAC,SAAS,IACN,mBAAmB,EAAE,CAAC,EAAC,MAAM,EAAC,EAAE,EAAE;;gBAC9B,MAAM,KAAK,GAAG,MAAA,MAAM,CAAC,SAAS,CAAC,IAAI,0CAAE,KAAK,CAAC;gBAC3C,OAAO,KAAK,CAAC,mBAAmB,EAAE,EAAC,KAAK,EAAC,CAAC,CAAC;YAC/C,CAAC,EACD,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE;;gBACpB,MAAM,KAAK,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,CAAC,SAAS,CAAC,IAAI,0CAAE,KAAK,CAAC;gBACjD,MAAM,aAAa,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,CAAC,SAAS,CAAC,IAAI,0CAAE,aAAa,CAAC;gBACjE,OAAO,KAAK,CAAC,YAAY,EAAE,EAAC,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAC,CAAC,CAAC;YACzE,CAAC,EACD,SAAS,EAAE,KAAK,CAAC,OAAO,EAAE,EAAC,KAAK,EAAC,EAAE,SAAS,CAAC,KACzC,KAAK,GACX,GACA,CACT,CAAC;AACN,CAAC"}
|
|
1
|
+
{"version":3,"file":"Table.js","sourceRoot":"","sources":["../../../src/components/Table/Table.tsx"],"names":[],"mappings":";AACA,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAC,EAAE,EAAC,MAAM,gBAAgB,CAAC;AAElC,OAAO,cAAc,CAAC;AAEtB,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC;AAY9B,MAAM,UAAU,YAAY,CAAC,EAAC,QAAQ,EAAE,SAAS,EAAoB;IACjE,OAAO,cAAK,SAAS,EAAE,KAAK,CAAC,sBAAsB,EAAE,SAAS,CAAC,YAAG,QAAQ,GAAO,CAAC;AACtF,CAAC;AAED,MAAM,UAAU,KAAK,CAAQ,EAAC,SAAS,EAAE,KAAK,EAAE,gBAAgB,EAAE,GAAG,KAAK,EAAoB;IAC1F,OAAO,CACH,cAAK,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE,gBAAgB,CAAC,YACzC,KAAC,SAAS,IACN,mBAAmB,EAAE,CAAC,EAAC,MAAM,EAAC,EAAE,EAAE;;gBAC9B,MAAM,KAAK,GAAG,MAAA,MAAM,CAAC,SAAS,CAAC,IAAI,0CAAE,KAAK,CAAC;gBAC3C,OAAO,KAAK,CAAC,mBAAmB,EAAE,EAAC,KAAK,EAAC,CAAC,CAAC;YAC/C,CAAC,EACD,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE;;gBACpB,MAAM,KAAK,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,CAAC,SAAS,CAAC,IAAI,0CAAE,KAAK,CAAC;gBACjD,MAAM,aAAa,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,CAAC,SAAS,CAAC,IAAI,0CAAE,aAAa,CAAC;gBACjE,OAAO,KAAK,CAAC,YAAY,EAAE,EAAC,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAC,CAAC,CAAC;YACzE,CAAC,EACD,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC,EAC1B,SAAS,EAAE,KAAK,CAAC,OAAO,EAAE,EAAC,KAAK,EAAC,EAAE,SAAS,CAAC,KACzC,KAAK,GACX,GACA,CACT,CAAC;AACN,CAAC"}
|
|
@@ -2,7 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
.ydb-table {
|
|
4
4
|
$block: &;
|
|
5
|
+
--ydb-table-row-height: 40px;
|
|
6
|
+
--ydb-table-head-cell-height: 40px;
|
|
5
7
|
--ydb-table-cell-height: 40px;
|
|
8
|
+
|
|
6
9
|
&__table-header-content {
|
|
7
10
|
display: inline-flex;
|
|
8
11
|
align-items: center;
|
|
@@ -26,11 +29,16 @@
|
|
|
26
29
|
background-color: var(--g-color-base-generic-ultralight);
|
|
27
30
|
}
|
|
28
31
|
}
|
|
32
|
+
&__row {
|
|
33
|
+
// Ensure row height even when cell height is different.
|
|
34
|
+
// Cell could be bigger than row, this height should be considered as `min-height`
|
|
35
|
+
height: var(--ydb-table-row-height) !important;
|
|
36
|
+
}
|
|
29
37
|
&__table_width_max {
|
|
30
38
|
width: 100%;
|
|
31
39
|
}
|
|
32
40
|
&__table-header-cell {
|
|
33
|
-
height: var(--ydb-table-cell-height) !important;
|
|
41
|
+
height: var(--ydb-table-head-cell-height) !important;
|
|
34
42
|
padding: 0;
|
|
35
43
|
|
|
36
44
|
text-align: left;
|
|
@@ -16,10 +16,9 @@
|
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
&__controls-wrapper {
|
|
19
|
-
$padding-top: var(--ydb-table-with-controls-layout-controls-padding-top, 0px);
|
|
20
19
|
z-index: 3;
|
|
21
20
|
|
|
22
|
-
align-items:
|
|
21
|
+
align-items: var(--ydb-table-with-controls-layout-controls-align-items, center);
|
|
23
22
|
|
|
24
23
|
box-sizing: border-box;
|
|
25
24
|
width: 100%;
|
|
@@ -2,6 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import { DefinitionList, Flex, Icon, Label } from '@gravity-ui/uikit';
|
|
4
4
|
import { cn } from '../../utils/cn';
|
|
5
|
+
import { InfoViewerTitle } from '../InfoViewerTitle/InfoViewerTitle';
|
|
5
6
|
import i18n from './i18n';
|
|
6
7
|
import './YDBDefinitionList.scss';
|
|
7
8
|
const b = cn('ydb-definition-list');
|
|
@@ -12,7 +13,7 @@ export function YDBDefinitionList({ title, titleSuffix, titleSeparator = '•',
|
|
|
12
13
|
if (!hasHeader) {
|
|
13
14
|
return null;
|
|
14
15
|
}
|
|
15
|
-
return (_jsxs(Flex, { className: b('header'), justifyContent: "space-between", gap: 2, alignItems: "center", children: [title && (_jsxs(Flex, { gap: "1", alignItems: "center", children: [_jsx(
|
|
16
|
+
return (_jsxs(Flex, { className: b('header'), justifyContent: "space-between", gap: 2, alignItems: "center", children: [title && (_jsxs(Flex, { gap: "1", alignItems: "center", children: [_jsx(InfoViewerTitle, { className: b('title', titleClassname), children: title }), titleSuffix && (_jsxs(React.Fragment, { children: [_jsx("div", { className: b('title-suffix'), children: titleSeparator }), _jsx("div", { className: b('title-suffix'), children: titleSuffix })] }))] })), headerLabels && headerLabels.length > 0 && (_jsx(Flex, { gap: 1, alignItems: "center", children: headerLabels.map((label) => (_jsx(Label, { theme: label.theme, icon: label.icon ? (_jsx(Icon, { data: label.icon, size: iconSize })) : undefined, size: labelSize, children: label.value }, label.id))) }))] }));
|
|
16
17
|
};
|
|
17
18
|
const renderContent = () => {
|
|
18
19
|
if (items.length) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"YDBDefinitionList.js","sourceRoot":"","sources":["../../../src/components/YDBDefinitionList/YDBDefinitionList.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAC,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAC,MAAM,mBAAmB,CAAC;AAEpE,OAAO,EAAC,EAAE,EAAC,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"YDBDefinitionList.js","sourceRoot":"","sources":["../../../src/components/YDBDefinitionList/YDBDefinitionList.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const _default: (key: "missing" | "version" | "database" | "tablets" | "cpu" | "memory" | "max" | "min" | "ping" | "
|
|
1
|
+
declare const _default: (key: "missing" | "version" | "database" | "tablets" | "cpu" | "memory" | "max" | "min" | "ping" | "dc" | "uptime" | "load" | "send" | "node-id" | "host" | "node-name" | "rack" | "ram" | "pools" | "disk-usage" | "load-average" | "sessions" | "pdisks" | "field_memory-used" | "field_memory-limit" | "field_pile-name" | "system-state" | "connect-status" | "utilization" | "network-utilization" | "connections" | "clock-skew" | "skew" | "ping-time" | "receive" | "avg" | "sum", params?: import("@gravity-ui/i18n").Params) => string;
|
|
2
2
|
export default _default;
|
|
@@ -67,11 +67,32 @@ body,
|
|
|
67
67
|
&_theme_light,
|
|
68
68
|
&_theme_light-hc {
|
|
69
69
|
--code-background-color: var(--g-color-base-simple-hover-solid);
|
|
70
|
+
|
|
71
|
+
// Multi-tab query editor
|
|
72
|
+
--multitab-tab-inactive-background-color: var(--g-color-base-background);
|
|
73
|
+
--multitab-tab-inactive-border-color: var(--g-color-line-generic);
|
|
74
|
+
--multitab-tab-inactive-hover-background-color: #f2f2f2;
|
|
75
|
+
--multitab-tab-active-background-color: #f2f2f2;
|
|
76
|
+
--multitab-tab-active-border-color: transparent;
|
|
77
|
+
--multitab-tab-action-hover-color: #e6e6e6;
|
|
78
|
+
--multitab-code-background-color: var(--g-color-base-simple-hover-solid);
|
|
70
79
|
}
|
|
71
80
|
&_theme_dark,
|
|
72
81
|
&_theme_dark-hc {
|
|
73
82
|
// monaco background - vscDarkPlus theme
|
|
74
83
|
--code-background-color: #1e1e1e;
|
|
84
|
+
|
|
85
|
+
// Multi-tab query editor
|
|
86
|
+
--multitab-tab-inactive-background-color: #424147;
|
|
87
|
+
--multitab-tab-inactive-border-color: transparent;
|
|
88
|
+
--multitab-tab-inactive-hover-background-color: #4d4c52;
|
|
89
|
+
--multitab-tab-active-background-color: #222126;
|
|
90
|
+
--multitab-tab-active-border-color: transparent;
|
|
91
|
+
--multitab-tab-action-hover-color: #36353a;
|
|
92
|
+
// Cannot use var(--code-background-color) here — it would create a circular
|
|
93
|
+
// dependency with QueryEditor.scss which overrides --code-background-color
|
|
94
|
+
// with var(--multitab-code-background-color) in multi-tab mode.
|
|
95
|
+
--multitab-code-background-color: #222126;
|
|
75
96
|
}
|
|
76
97
|
}
|
|
77
98
|
|
|
@@ -3,11 +3,12 @@ import React from 'react';
|
|
|
3
3
|
import { CircleQuestion, Gear, Person } from '@gravity-ui/icons';
|
|
4
4
|
import { AsideHeader, FooterItem } from '@gravity-ui/navigation';
|
|
5
5
|
import { useHistory } from 'react-router-dom';
|
|
6
|
+
import { useMultiTabQueryEditorEnabled } from '../../store/reducers/capabilities/hooks';
|
|
6
7
|
import { SETTING_KEYS } from '../../store/reducers/settings/constants';
|
|
7
8
|
import { cn } from '../../utils/cn';
|
|
8
9
|
import { useSetting } from '../../utils/hooks';
|
|
9
10
|
import { InformationPopup } from './InformationPopup';
|
|
10
|
-
import { useHotkeysPanel } from './hooks/useHotkeysPanel';
|
|
11
|
+
import { DEFAULT_HOTKEY_GROUPS, EDITOR_TABS_HOTKEY_GROUP, useHotkeysPanel, } from './hooks/useHotkeysPanel';
|
|
11
12
|
import i18n from './i18n';
|
|
12
13
|
import userSecret from '../../assets/icons/user-secret.svg';
|
|
13
14
|
import ydbLogoIcon from '../../assets/icons/ydb.svg';
|
|
@@ -45,10 +46,15 @@ export function AsideNavigation(props) {
|
|
|
45
46
|
const closePanel = React.useCallback(() => {
|
|
46
47
|
setVisiblePanel(undefined);
|
|
47
48
|
}, []);
|
|
49
|
+
const isMultiTabQueryEditorEnabled = useMultiTabQueryEditorEnabled();
|
|
50
|
+
const hotkeyGroups = isMultiTabQueryEditorEnabled
|
|
51
|
+
? [...DEFAULT_HOTKEY_GROUPS, EDITOR_TABS_HOTKEY_GROUP]
|
|
52
|
+
: DEFAULT_HOTKEY_GROUPS;
|
|
48
53
|
const { renderPanel: renderHotkeysPanel } = useHotkeysPanel({
|
|
49
54
|
isPanelVisible: visiblePanel === Panel.Hotkeys,
|
|
50
55
|
closePanel,
|
|
51
56
|
openPanel: openHotkeysPanel,
|
|
57
|
+
hotkeyGroups,
|
|
52
58
|
});
|
|
53
59
|
const renderInformationPopup = () => {
|
|
54
60
|
return _jsx(InformationPopup, { onKeyboardShortcutsClick: openHotkeysPanel });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AsideNavigation.js","sourceRoot":"","sources":["../../../src/containers/AsideNavigation/AsideNavigation.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,cAAc,EAAE,IAAI,EAAE,MAAM,EAAC,MAAM,mBAAmB,CAAC;AAE/D,OAAO,EAAC,WAAW,EAAE,UAAU,EAAC,MAAM,wBAAwB,CAAC;AAE/D,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EAAC,YAAY,EAAC,MAAM,yCAAyC,CAAC;AACrE,OAAO,EAAC,EAAE,EAAC,MAAM,gBAAgB,CAAC;AAClC,OAAO,EAAC,UAAU,EAAC,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAC,gBAAgB,EAAC,MAAM,oBAAoB,CAAC;AACpD,OAAO,
|
|
1
|
+
{"version":3,"file":"AsideNavigation.js","sourceRoot":"","sources":["../../../src/containers/AsideNavigation/AsideNavigation.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,27 +1,45 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import React from 'react';
|
|
3
|
+
import { Alert, Popover } from '@gravity-ui/uikit';
|
|
3
4
|
import { useRouteMatch } from 'react-router-dom';
|
|
4
5
|
import { useComponent } from '../../components/ComponentsProvider/ComponentsProvider';
|
|
5
6
|
import routes from '../../routes';
|
|
6
7
|
import { selectUser } from '../../store/reducers/authentication/authentication';
|
|
8
|
+
import { SETTING_KEYS } from '../../store/reducers/settings/constants';
|
|
9
|
+
import { useSetting } from '../../store/reducers/settings/useSetting';
|
|
7
10
|
import { cn } from '../../utils/cn';
|
|
8
|
-
import { useTypedSelector } from '../../utils/hooks';
|
|
11
|
+
import { useDelayed, useTypedSelector } from '../../utils/hooks';
|
|
9
12
|
import { useTenantNavigation } from '../Tenant/TenantNavigation/useTenantNavigation';
|
|
10
13
|
import { useNavigationV2Enabled } from '../Tenant/utils/useNavigationV2Enabled';
|
|
11
14
|
import { UserSettings } from '../UserSettings/UserSettings';
|
|
12
15
|
import { YdbInternalUser } from './YdbInternalUser/YdbInternalUser';
|
|
16
|
+
import i18n from './i18n';
|
|
13
17
|
import './Navigation.scss';
|
|
14
18
|
const b = cn('ydb-navigation-wrapper');
|
|
15
19
|
export function Navigation({ children, userSettings }) {
|
|
16
20
|
const AsideNavigation = useComponent('AsideNavigation');
|
|
17
21
|
const match = useRouteMatch(routes.tenant);
|
|
22
|
+
const isDatabasePage = Boolean(match);
|
|
18
23
|
const tenantNavigationItems = useTenantNavigation();
|
|
19
24
|
const isV2Enabled = useNavigationV2Enabled();
|
|
25
|
+
const { value: isV2NavigationAlertSeen, saveValue: setIsV2NavigationAlertSeen, isLoading: isNotificationSettingLoading, } = useSetting(SETTING_KEYS.IS_V2_NAVIGATION_ALERT_SEEN);
|
|
20
26
|
const ydbUser = useTypedSelector(selectUser);
|
|
27
|
+
const shouldShowNewNavAlert = isV2Enabled && isDatabasePage && !isV2NavigationAlertSeen && !isNotificationSettingLoading;
|
|
28
|
+
const [isNewNavAlertReady] = useDelayed(2000, shouldShowNewNavAlert);
|
|
29
|
+
const isNewNavAlertShown = shouldShowNewNavAlert && isNewNavAlertReady;
|
|
30
|
+
const handleNewNavAlertClose = React.useCallback(() => {
|
|
31
|
+
setIsV2NavigationAlertSeen(true);
|
|
32
|
+
}, [setIsV2NavigationAlertSeen]);
|
|
21
33
|
const menuItems = React.useMemo(() => {
|
|
22
|
-
if (!
|
|
34
|
+
if (!isDatabasePage || !isV2Enabled) {
|
|
23
35
|
return undefined;
|
|
24
36
|
}
|
|
37
|
+
const renderNavItem = ({ wrapperCnParams, buttonCnParams, makeItem, makeItemParams, }) => {
|
|
38
|
+
// span1: full width wrapper to ensure proper button position
|
|
39
|
+
// span2: wrapper with additional background and animation
|
|
40
|
+
// span3: button wrapper for proper active and hover colors
|
|
41
|
+
return (_jsx("span", { className: b('nav-item-wrapper'), children: _jsx("span", { className: b('nav-item-bg', wrapperCnParams), children: _jsx("span", { className: b('button-wrapper', buttonCnParams), children: makeItem(makeItemParams) }) }) }));
|
|
42
|
+
};
|
|
25
43
|
return tenantNavigationItems.map((item) => {
|
|
26
44
|
const navigationItem = {
|
|
27
45
|
id: item.id,
|
|
@@ -49,15 +67,36 @@ export function Navigation({ children, userSettings }) {
|
|
|
49
67
|
...baseCnParams,
|
|
50
68
|
active: item.current,
|
|
51
69
|
};
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
70
|
+
if (item.id === 'diagnostics') {
|
|
71
|
+
return (_jsx(Popover, { open: isNewNavAlertShown, className: b('popover'), hasArrow: true, placement: ['right-start'], onOpenChange: (open, _, reason) => {
|
|
72
|
+
const isValidCloseReason = reason === 'outside-press' || reason === 'escape-key';
|
|
73
|
+
if (!open && isValidCloseReason) {
|
|
74
|
+
handleNewNavAlertClose();
|
|
75
|
+
}
|
|
76
|
+
}, content: _jsx(Alert, { theme: "clear", layout: "vertical", icon: null, title: i18n('alert.new-nav-title'), message: i18n('alert.new-nav-message'), onClose: handleNewNavAlertClose, actions: _jsx(Alert.Action, { view: "normal-contrast", className: b('alert-button'), onClick: handleNewNavAlertClose, children: i18n('alert.button-got-it') }) }), children: renderNavItem({
|
|
77
|
+
wrapperCnParams,
|
|
78
|
+
buttonCnParams,
|
|
79
|
+
makeItem,
|
|
80
|
+
makeItemParams: params,
|
|
81
|
+
}) }));
|
|
82
|
+
}
|
|
83
|
+
return renderNavItem({
|
|
84
|
+
wrapperCnParams,
|
|
85
|
+
buttonCnParams,
|
|
86
|
+
makeItem,
|
|
87
|
+
makeItemParams: params,
|
|
88
|
+
});
|
|
56
89
|
},
|
|
57
90
|
};
|
|
58
91
|
return navigationItem;
|
|
59
92
|
});
|
|
60
|
-
}, [
|
|
93
|
+
}, [
|
|
94
|
+
isDatabasePage,
|
|
95
|
+
isV2Enabled,
|
|
96
|
+
isNewNavAlertShown,
|
|
97
|
+
tenantNavigationItems,
|
|
98
|
+
handleNewNavAlertClose,
|
|
99
|
+
]);
|
|
61
100
|
return (_jsx(AsideNavigation, { settings: _jsx(UserSettings, { settings: userSettings }), ydbInternalUser: _jsx(YdbInternalUser, { login: ydbUser }), user: ydbUser ? { login: ydbUser } : undefined, menuItems: menuItems, content: children, className: b() }));
|
|
62
101
|
}
|
|
63
102
|
//# sourceMappingURL=Navigation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Navigation.js","sourceRoot":"","sources":["../../../src/containers/AsideNavigation/Navigation.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAC,aAAa,EAAC,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAC,YAAY,EAAC,MAAM,wDAAwD,CAAC;AACpF,OAAO,MAAM,MAAM,cAAc,CAAC;AAClC,OAAO,EAAC,UAAU,EAAC,MAAM,oDAAoD,CAAC;AAC9E,OAAO,EAAC,EAAE,EAAC,MAAM,gBAAgB,CAAC;AAClC,OAAO,EAAC,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"Navigation.js","sourceRoot":"","sources":["../../../src/containers/AsideNavigation/Navigation.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAC,KAAK,EAAE,OAAO,EAAC,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAC,aAAa,EAAC,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAC,YAAY,EAAC,MAAM,wDAAwD,CAAC;AACpF,OAAO,MAAM,MAAM,cAAc,CAAC;AAClC,OAAO,EAAC,UAAU,EAAC,MAAM,oDAAoD,CAAC;AAC9E,OAAO,EAAC,YAAY,EAAC,MAAM,yCAAyC,CAAC;AACrE,OAAO,EAAC,UAAU,EAAC,MAAM,0CAA0C,CAAC;AACpE,OAAO,EAAC,EAAE,EAAC,MAAM,gBAAgB,CAAC;AAClC,OAAO,EAAC,UAAU,EAAE,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAC,mBAAmB,EAAC,MAAM,gDAAgD,CAAC;AACnF,OAAO,EAAC,sBAAsB,EAAC,MAAM,wCAAwC,CAAC;AAC9E,OAAO,EAAC,YAAY,EAAC,MAAM,8BAA8B,CAAC;AAG1D,OAAO,EAAC,eAAe,EAAC,MAAM,mCAAmC,CAAC;AAClE,OAAO,IAAI,MAAM,QAAQ,CAAC;AAE1B,OAAO,mBAAmB,CAAC;AAE3B,MAAM,CAAC,GAAG,EAAE,CAAC,wBAAwB,CAAC,CAAC;AAOvC,MAAM,UAAU,UAAU,CAAC,EAAC,QAAQ,EAAE,YAAY,EAAkB;IAChE,MAAM,eAAe,GAAG,YAAY,CAAC,iBAAiB,CAAC,CAAC;IAExD,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC3C,MAAM,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IAEtC,MAAM,qBAAqB,GAAG,mBAAmB,EAAE,CAAC;IACpD,MAAM,WAAW,GAAG,sBAAsB,EAAE,CAAC;IAC7C,MAAM,EACF,KAAK,EAAE,uBAAuB,EAC9B,SAAS,EAAE,0BAA0B,EACrC,SAAS,EAAE,4BAA4B,GAC1C,GAAG,UAAU,CAAC,YAAY,CAAC,2BAA2B,CAAC,CAAC;IAEzD,MAAM,OAAO,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAE7C,MAAM,qBAAqB,GACvB,WAAW,IAAI,cAAc,IAAI,CAAC,uBAAuB,IAAI,CAAC,4BAA4B,CAAC;IAC/F,MAAM,CAAC,kBAAkB,CAAC,GAAG,UAAU,CAAC,IAAK,EAAE,qBAAqB,CAAC,CAAC;IAEtE,MAAM,kBAAkB,GAAG,qBAAqB,IAAI,kBAAkB,CAAC;IAEvE,MAAM,sBAAsB,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QAClD,0BAA0B,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC,EAAE,CAAC,0BAA0B,CAAC,CAAC,CAAC;IAEjC,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACjC,IAAI,CAAC,cAAc,IAAI,CAAC,WAAW,EAAE,CAAC;YAClC,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,MAAM,aAAa,GAAG,CAAC,EACnB,eAAe,EACf,cAAc,EACd,QAAQ,EACR,cAAc,GAMjB,EAAE,EAAE;YACD,6DAA6D;YAC7D,0DAA0D;YAC1D,2DAA2D;YAC3D,OAAO,CACH,eAAM,SAAS,EAAE,CAAC,CAAC,kBAAkB,CAAC,YAClC,eAAM,SAAS,EAAE,CAAC,CAAC,aAAa,EAAE,eAAe,CAAC,YAC9C,eAAM,SAAS,EAAE,CAAC,CAAC,gBAAgB,EAAE,cAAc,CAAC,YAC/C,QAAQ,CAAC,cAAc,CAAC,GACtB,GACJ,GACJ,CACV,CAAC;QACN,CAAC,CAAC;QAEF,OAAO,qBAAqB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACtC,MAAM,cAAc,GAAa;gBAC7B,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,WAAW,EAAE,IAAI,CAAC,SAAS;gBAC3B,WAAW,EAAE,IAAI,CAAC,KAAK;gBACvB,WAAW,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE;oBACvC,MAAM,YAAY,GAAG;wBACjB,OAAO,EAAE,OAAO,CAAC,OAAO;wBACxB,QAAQ,EAAE,CAAC,OAAO,CAAC,OAAO;wBAC1B,WAAW,EAAE,IAAI,CAAC,EAAE,KAAK,aAAa;wBACtC,MAAM,EAAE,IAAI,CAAC,EAAE,KAAK,QAAQ;wBAC5B,KAAK,EAAE,IAAI,CAAC,EAAE,KAAK,OAAO;qBAC7B,CAAC;oBAEF,MAAM,eAAe,GAAG;wBACpB,GAAG,YAAY;wBACf,gEAAgE;wBAChE,4EAA4E;wBAC5E,8DAA8D;wBAC9D,CAAC,gBAAgB,CAAC,EAAE,IAAI;qBAC3B,CAAC;oBACF,MAAM,cAAc,GAAG;wBACnB,GAAG,YAAY;wBACf,MAAM,EAAE,IAAI,CAAC,OAAO;qBACvB,CAAC;oBAEF,IAAI,IAAI,CAAC,EAAE,KAAK,aAAa,EAAE,CAAC;wBAC5B,OAAO,CACH,KAAC,OAAO,IACJ,IAAI,EAAE,kBAAkB,EACxB,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,EACvB,QAAQ,QACR,SAAS,EAAE,CAAC,aAAa,CAAC,EAC1B,YAAY,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE;gCAC9B,MAAM,kBAAkB,GACpB,MAAM,KAAK,eAAe,IAAI,MAAM,KAAK,YAAY,CAAC;gCAE1D,IAAI,CAAC,IAAI,IAAI,kBAAkB,EAAE,CAAC;oCAC9B,sBAAsB,EAAE,CAAC;gCAC7B,CAAC;4BACL,CAAC,EACD,OAAO,EACH,KAAC,KAAK,IACF,KAAK,EAAC,OAAO,EACb,MAAM,EAAC,UAAU,EACjB,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,IAAI,CAAC,qBAAqB,CAAC,EAClC,OAAO,EAAE,IAAI,CAAC,uBAAuB,CAAC,EACtC,OAAO,EAAE,sBAAsB,EAC/B,OAAO,EACH,KAAC,KAAK,CAAC,MAAM,IACT,IAAI,EAAC,iBAAiB,EACtB,SAAS,EAAE,CAAC,CAAC,cAAc,CAAC,EAC5B,OAAO,EAAE,sBAAsB,YAE9B,IAAI,CAAC,qBAAqB,CAAC,GACjB,GAErB,YAGL,aAAa,CAAC;gCACX,eAAe;gCACf,cAAc;gCACd,QAAQ;gCACR,cAAc,EAAE,MAAM;6BACzB,CAAC,GACI,CACb,CAAC;oBACN,CAAC;oBAED,OAAO,aAAa,CAAC;wBACjB,eAAe;wBACf,cAAc;wBACd,QAAQ;wBACR,cAAc,EAAE,MAAM;qBACzB,CAAC,CAAC;gBACP,CAAC;aACJ,CAAC;YAEF,OAAO,cAAc,CAAC;QAC1B,CAAC,CAAC,CAAC;IACP,CAAC,EAAE;QACC,cAAc;QACd,WAAW;QACX,kBAAkB;QAClB,qBAAqB;QACrB,sBAAsB;KACzB,CAAC,CAAC;IAEH,OAAO,CACH,KAAC,eAAe,IACZ,QAAQ,EAAE,KAAC,YAAY,IAAC,QAAQ,EAAE,YAAY,GAAI,EAClD,eAAe,EAAE,KAAC,eAAe,IAAC,KAAK,EAAE,OAAO,GAAI,EACpD,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAAC,KAAK,EAAE,OAAO,EAAC,CAAC,CAAC,CAAC,SAAS,EAC5C,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,QAAQ,EACjB,SAAS,EAAE,CAAC,EAAE,GAChB,CACL,CAAC;AACN,CAAC"}
|
|
@@ -185,4 +185,18 @@
|
|
|
185
185
|
--ydb-nav-button-bg: var(--ydb-nav-green);
|
|
186
186
|
}
|
|
187
187
|
}
|
|
188
|
+
|
|
189
|
+
&__popover {
|
|
190
|
+
--g-popup-background-color: #1e94f9;
|
|
191
|
+
color: var(--g-color-text-brand-contrast);
|
|
192
|
+
|
|
193
|
+
// Replace default secondary color to match background and text color in light theme
|
|
194
|
+
svg {
|
|
195
|
+
opacity: 0.85;
|
|
196
|
+
color: var(--g-color-text-brand-contrast);
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
&__alert-button {
|
|
200
|
+
width: 128px;
|
|
201
|
+
}
|
|
188
202
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { HotkeysGroup } from '@gravity-ui/navigation';
|
|
2
|
-
export declare const isMac: () => boolean;
|
|
3
2
|
export declare const SHORTCUTS_HOTKEY: string;
|
|
4
3
|
export declare const DEFAULT_HOTKEY_GROUPS: HotkeysGroup[];
|
|
4
|
+
export declare const EDITOR_TABS_HOTKEY_GROUP: HotkeysGroup;
|
|
5
5
|
export interface HotkeysPanelProps {
|
|
6
6
|
visible: boolean;
|
|
7
7
|
closePanel: () => void;
|