From 50fa85ed1a67f6d23e46d6aba8af357f8545b6f8 Mon Sep 17 00:00:00 2001 From: Naumov Alexey Date: Tue, 18 May 2021 14:40:30 +0300 Subject: [PATCH] feat(plugin-data-viewer): CB-665 types improvements --- .../src/Menu/ContextMenu/ContextMenu.ts | 2 +- .../src/Menu/ContextMenu/IContextMenuItem.ts | 2 +- .../src/Menu/models/ComputedMenuItemModel.ts | 1 - .../src/Menu/models/MenuOptionsStore.ts | 3 +-- .../TableColumnHeader/TableColumnHeader.tsx | 16 ++++++++-------- 5 files changed, 11 insertions(+), 13 deletions(-) diff --git a/webapp/packages/core-dialogs/src/Menu/ContextMenu/ContextMenu.ts b/webapp/packages/core-dialogs/src/Menu/ContextMenu/ContextMenu.ts index 620fbee840..84064e7563 100644 --- a/webapp/packages/core-dialogs/src/Menu/ContextMenu/ContextMenu.ts +++ b/webapp/packages/core-dialogs/src/Menu/ContextMenu/ContextMenu.ts @@ -84,7 +84,7 @@ class ComputedMenuItemOptionsWithContext implements IComputedMenuItemOptions onClick?: () => void; // set title or getter title?: TLocalizationToken; - titleGetter?: () => TLocalizationToken; + titleGetter?: (context: IMenuContext) => TLocalizationToken | undefined; tooltip?: TLocalizationToken; tooltipGetter?: () => TLocalizationToken | undefined; isDisabled?: () => boolean; diff --git a/webapp/packages/core-dialogs/src/Menu/ContextMenu/IContextMenuItem.ts b/webapp/packages/core-dialogs/src/Menu/ContextMenu/IContextMenuItem.ts index b304934273..d7513697cb 100644 --- a/webapp/packages/core-dialogs/src/Menu/ContextMenu/IContextMenuItem.ts +++ b/webapp/packages/core-dialogs/src/Menu/ContextMenu/IContextMenuItem.ts @@ -16,7 +16,7 @@ import type { IMenuContext } from './IMenuContext'; */ export interface IContextMenuItem extends IMenuItemOptions { onClick?: (context: IMenuContext) => void; - titleGetter?: (context: IMenuContext) => TLocalizationToken; + titleGetter?: (context: IMenuContext) => TLocalizationToken | undefined; // if isPresent is false menu item will not be included in resulting context menu isPresent: (context: IMenuContext) => boolean; isDisabled?: (context: IMenuContext) => boolean; diff --git a/webapp/packages/core-dialogs/src/Menu/models/ComputedMenuItemModel.ts b/webapp/packages/core-dialogs/src/Menu/models/ComputedMenuItemModel.ts index 283e3181b1..334813b673 100644 --- a/webapp/packages/core-dialogs/src/Menu/models/ComputedMenuItemModel.ts +++ b/webapp/packages/core-dialogs/src/Menu/models/ComputedMenuItemModel.ts @@ -15,7 +15,6 @@ import type { IMenuItemOptions, MenuItemType } from './MenuOptionsStore'; export interface IComputedMenuItemOptions extends IMenuItemOptions { onClick?: () => void; - titleGetter?: () => string; isDisabled?: () => boolean; isHidden?: () => boolean; isChecked?: () => boolean; diff --git a/webapp/packages/core-dialogs/src/Menu/models/MenuOptionsStore.ts b/webapp/packages/core-dialogs/src/Menu/models/MenuOptionsStore.ts index 09488ffd60..918ac4cf9d 100644 --- a/webapp/packages/core-dialogs/src/Menu/models/MenuOptionsStore.ts +++ b/webapp/packages/core-dialogs/src/Menu/models/MenuOptionsStore.ts @@ -9,7 +9,6 @@ import type { TLocalizationToken } from '@cloudbeaver/core-localization'; import { OrderedMap } from '@cloudbeaver/core-utils'; -import type { IMenuContext } from '../ContextMenu/IMenuContext'; import type { IMenuPanel } from '../IMenuPanel'; const DEFAULT_ITEM_ORDER = 100; @@ -19,7 +18,7 @@ export interface IMenuItemOptions { id: string; // set title or getter title?: TLocalizationToken; - titleGetter?: (...args: any[]) => TLocalizationToken; + titleGetter?: (...args: any[]) => TLocalizationToken | undefined; // set icon or getter icon?: string; iconGetter?: () => string | undefined; diff --git a/webapp/packages/plugin-data-spreadsheet-new/src/DataGrid/TableColumnHeader/TableColumnHeader.tsx b/webapp/packages/plugin-data-spreadsheet-new/src/DataGrid/TableColumnHeader/TableColumnHeader.tsx index 3a54f4d3c5..f2e54e6126 100644 --- a/webapp/packages/plugin-data-spreadsheet-new/src/DataGrid/TableColumnHeader/TableColumnHeader.tsx +++ b/webapp/packages/plugin-data-spreadsheet-new/src/DataGrid/TableColumnHeader/TableColumnHeader.tsx @@ -15,7 +15,7 @@ import { StaticImage, Icon } from '@cloudbeaver/core-blocks'; import { useTranslate } from '@cloudbeaver/core-localization'; import type { SqlResultSet } from '@cloudbeaver/core-sdk'; import { composes, useStyles } from '@cloudbeaver/core-theming'; -import { getNextSortMode, ResultSetSortAction } from '@cloudbeaver/plugin-data-viewer'; +import { ESortMode, getNextSortMode, ResultSetSortAction } from '@cloudbeaver/plugin-data-viewer'; import { DataGridContext } from '../DataGridContext'; import { DataGridSelectionContext } from '../DataGridSelection/DataGridSelectionContext'; @@ -136,17 +136,17 @@ export const TableColumnHeader: React.FC> = observer(fu }; return styled(headerStyles)( - - - + + + - {columnName} + {columnName} {sortable && ( - - - + + + )}