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,