diff --git a/package-lock.json b/package-lock.json
index 0027c18d6c..5be3585c9b 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -16,7 +16,7 @@
"@gravity-ui/date-components": "^3.2.3",
"@gravity-ui/date-utils": "^2.5.6",
"@gravity-ui/i18n": "^1.7.0",
- "@gravity-ui/icons": "^2.13.0",
+ "@gravity-ui/icons": "^2.16.0",
"@gravity-ui/illustrations": "^2.1.0",
"@gravity-ui/navigation": "^3.3.9",
"@gravity-ui/paranoid": "^3.0.0",
@@ -57,7 +57,7 @@
"use-query-params": "^2.2.1",
"uuid": "^10.0.0",
"web-vitals": "^1.1.2",
- "ydb-ui-components": "^5.0.0",
+ "ydb-ui-components": "^5.1.0",
"zod": "^3.24.1"
},
"devDependencies": {
@@ -3430,10 +3430,12 @@
"license": "MIT"
},
"node_modules/@gravity-ui/icons": {
- "version": "2.13.0",
- "resolved": "https://registry.npmjs.org/@gravity-ui/icons/-/icons-2.13.0.tgz",
- "integrity": "sha512-oHWJTb8rTuZo1czZRBSggEWMmthiXeM5LBpB0GzyS1tCkNE1A7DpEvvrKUwHYVHTxpw/xWIqQCxNj7LIo2R3NQ==",
- "license": "MIT",
+ "version": "2.16.0",
+ "resolved": "https://registry.npmjs.org/@gravity-ui/icons/-/icons-2.16.0.tgz",
+ "integrity": "sha512-AMjPSO+7yPpvcCa9k+ZFNOZ+8cmIauLyRMswhoyfQ7SeoJOVzsAa2OP/B+Dd+AZRvzTaeJha4m2iEk93JvAklA==",
+ "dependencies": {
+ "tslib": "^2.8.1"
+ },
"peerDependencies": {
"react": "*"
},
@@ -29907,10 +29909,9 @@
}
},
"node_modules/ydb-ui-components": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/ydb-ui-components/-/ydb-ui-components-5.0.0.tgz",
- "integrity": "sha512-xcvUDWjnTvVMKWseAmAHYkVdF9gc9hxLA6SqF8HmI60yTz5t2nYsw4+yNsFU2GIUrrfHRpq+y2XRBo2ksWlNvg==",
- "license": "MIT",
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/ydb-ui-components/-/ydb-ui-components-5.1.0.tgz",
+ "integrity": "sha512-bjn4cqBvc7RJ9/B4gdvb/+RYSOkYy0twhRtpnNXq88Yzz5dUAWxMZQBo6wFAEDMgmxXbEnVM0iPh8cG/paRbSQ==",
"dependencies": {
"@bem-react/classname": "^1.6.0",
"react-list": "^0.8.17",
diff --git a/package.json b/package.json
index c961fb5373..287cac3dad 100644
--- a/package.json
+++ b/package.json
@@ -18,7 +18,7 @@
"@gravity-ui/date-components": "^3.2.3",
"@gravity-ui/date-utils": "^2.5.6",
"@gravity-ui/i18n": "^1.7.0",
- "@gravity-ui/icons": "^2.13.0",
+ "@gravity-ui/icons": "^2.16.0",
"@gravity-ui/illustrations": "^2.1.0",
"@gravity-ui/navigation": "^3.3.9",
"@gravity-ui/paranoid": "^3.0.0",
@@ -59,7 +59,7 @@
"use-query-params": "^2.2.1",
"uuid": "^10.0.0",
"web-vitals": "^1.1.2",
- "ydb-ui-components": "^5.0.0",
+ "ydb-ui-components": "^5.1.0",
"zod": "^3.24.1"
},
"scripts": {
diff --git a/src/containers/Tenant/Query/NewSQL/NewSQL.tsx b/src/containers/Tenant/Query/NewSQL/NewSQL.tsx
index b48028eb70..2732452a77 100644
--- a/src/containers/Tenant/Query/NewSQL/NewSQL.tsx
+++ b/src/containers/Tenant/Query/NewSQL/NewSQL.tsx
@@ -1,6 +1,15 @@
import React from 'react';
-import {ChevronDown} from '@gravity-ui/icons';
+import {
+ ArrowsOppositeToDots,
+ ChevronDown,
+ FileArrowRightOut,
+ FileText,
+ LayoutHeaderCells,
+ PencilToSquare,
+ Persons,
+} from '@gravity-ui/icons';
+import type {DropdownMenuItem} from '@gravity-ui/uikit';
import {Button, DropdownMenu} from '@gravity-ui/uikit';
import {useChangeInputWithConfirmation} from '../../../../utils/hooks/withConfirmation/useChangeInputWithConfirmation';
@@ -18,9 +27,10 @@ export function NewSQL() {
const actions = bindActions(onTemplateClick);
- const items = [
+ const items: DropdownMenuItem[] = [
{
text: i18n('menu.tables'),
+ iconStart: ,
items: [
{
text: i18n('action.create-row-table'),
@@ -74,6 +84,7 @@ export function NewSQL() {
},
{
text: i18n('menu.topics'),
+ iconStart: ,
items: [
{
text: i18n('action.create-topic'),
@@ -91,6 +102,7 @@ export function NewSQL() {
},
{
text: i18n('menu.replication'),
+ iconStart: ,
items: [
{
text: i18n('action.create-async-replication'),
@@ -108,6 +120,7 @@ export function NewSQL() {
},
{
text: i18n('menu.transfer'),
+ iconStart: ,
items: [
{
text: i18n('action.create-transfer'),
@@ -125,6 +138,7 @@ export function NewSQL() {
},
{
text: i18n('menu.capture'),
+ iconStart: ,
items: [
{
text: i18n('action.create-cdc-stream'),
@@ -134,6 +148,7 @@ export function NewSQL() {
},
{
text: i18n('menu.users'),
+ iconStart: ,
items: [
{
text: i18n('action.create-user'),
diff --git a/src/containers/Tenant/utils/controls.tsx b/src/containers/Tenant/utils/controls.tsx
index 740fa9ec0a..d5374ce86e 100644
--- a/src/containers/Tenant/utils/controls.tsx
+++ b/src/containers/Tenant/utils/controls.tsx
@@ -75,6 +75,7 @@ export const getSchemaControls =
table: openPreview,
column_table: openPreview,
+ system_table: openPreview,
index_table: undefined,
topic: isTopicPreviewAvailable && !isCdcTopic ? openPreview : undefined,
diff --git a/src/containers/Tenant/utils/schemaActions.tsx b/src/containers/Tenant/utils/schemaActions.tsx
index d1781b1926..1ad121c38e 100644
--- a/src/containers/Tenant/utils/schemaActions.tsx
+++ b/src/containers/Tenant/utils/schemaActions.tsx
@@ -1,4 +1,4 @@
-import {Copy, PlugConnection} from '@gravity-ui/icons';
+import {CirclePlus, Copy, PlugConnection} from '@gravity-ui/icons';
import {Flex, Spin} from '@gravity-ui/uikit';
import copy from 'copy-to-clipboard';
import type {NavigationTreeNodeType} from 'ydb-ui-components';
@@ -183,12 +183,12 @@ export const getActions =
const copyItem: ActionsSet[0] = {
text: i18n('actions.copyPath'),
action: actions.copyPath,
- iconEnd: ,
+ iconStart: ,
};
const connectToDBItem = {
text: i18n('actions.connectToDB'),
action: actions.getConnectToDBDialog,
- iconEnd: ,
+ iconStart: ,
};
const createEntitiesSet = [
@@ -224,6 +224,7 @@ export const getActions =
const createDirectoryItem = {
text: i18n('actions.createDirectory'),
action: actions.createDirectory,
+ iconStart: ,
};
DB_SET.splice(1, 0, [createDirectoryItem]);
@@ -289,6 +290,11 @@ export const getActions =
[{text: i18n('actions.dropView'), action: actions.dropView}],
];
+ const SYSTEM_VIEW_SET: ActionsSet = [
+ [copyItem],
+ [{text: i18n('actions.selectQuery'), action: actions.selectQuery}],
+ ];
+
const ASYNC_REPLICATION_SET: ActionsSet = [
[copyItem],
[
@@ -324,6 +330,7 @@ export const getActions =
table: ROW_TABLE_SET,
column_table: COLUMN_TABLE_SET,
+ system_table: SYSTEM_VIEW_SET,
index_table: JUST_COPY,
topic: TOPIC_SET,