import React from 'react'; import { type ContextAction, type ResolvableContextAction } from '@deephaven/components'; import { type EventHandlerResult, type Grid, GridMouseHandler, type GridPoint, type ModelIndex } from '@deephaven/grid'; import type { dh as DhType } from '@deephaven/jsapi-types'; import { DateTimeColumnFormatter, type TableColumnFormat, type SortDirection, type SortDescriptor } from '@deephaven/jsapi-utils'; import type { DebouncedFunc } from 'lodash'; import './IrisGridContextMenuHandler.scss'; import type IrisGrid from '../IrisGrid'; import { type QuickFilter } from '../CommonTypes'; /** * Used to eat the mouse event in the bottom right corner of the scroll bar */ declare class IrisGridContextMenuHandler extends GridMouseHandler { static GROUP_EDIT: number; static GROUP_HIDE_COLUMNS: number; static GROUP_FILTER: number; static GROUP_EXPAND_COLLAPSE: number; static GROUP_GOTO: number; static GROUP_SORT: number; static GROUP_COPY: number; static GROUP_FORMAT: number; static GROUP_VIEW_CONTENTS: number; static COLUMN_SORT_DIRECTION: { readonly ascending: "ASC"; readonly descending: "DESC"; readonly none: null; }; /** * Get filter condition for quick filter and combines with a new filter using the operator specified, * returns new filter if no operator supplied. * @param columnFilter * @param newColumnFilter * @param operator */ static getQuickFilterCondition(columnFilter: DhType.FilterCondition | null | undefined, newColumnFilter: DhType.FilterCondition, operator?: '&&' | '||' | null): DhType.FilterCondition; /** * combines filter text with operator if declared * @param filterText * @param newFilterText * @param operator */ static getQuickFilterText(filterText: string | null | undefined, newFilterText: string, operator?: '&&' | '||' | null): string; /** * Converts operator to text string, */ static getOperatorAsText(operator: '&&' | '||'): 'And' | 'Or'; static getRowOptionFormatted(command: string, cellValue: string, len?: number): string; irisGrid: IrisGrid; debouncedUpdateCustomFormat: DebouncedFunc<(modelIndex: number, selectedFormat: TableColumnFormat | null) => void>; constructor(irisGrid: IrisGrid, dh: typeof DhType); componentWillUnmount(): void; dh: typeof DhType; getHeaderActions(modelIndex: ModelIndex, gridPoint: GridPoint): ResolvableContextAction[]; getCellActions(modelColumn: ModelIndex, grid: Grid, gridPoint: GridPoint): ContextAction[]; getCellFilterActions(modelColumn: ModelIndex, grid: Grid, gridPoint: GridPoint): Promise; /** * Gets an equality filter for the provided numeric value * @param column The column to make the filter for * @param value The value to get the equality filter for */ getNumberValueEqualsFilter(column: DhType.Column, value: number): DhType.FilterCondition; getFilterValueForNumberOrChar(columnType: string, value: unknown): DhType.FilterValue; onContextMenu(gridPoint: GridPoint, grid: Grid, event: React.MouseEvent): EventHandlerResult; dateFormatActions(column: DhType.Column): ContextAction[]; numberFormatActions(column: DhType.Column): ContextAction[] | null; textAlignmentFormatActions(column: DhType.Column): ContextAction[]; stringFilterActions(column: DhType.Column, snapshotValues: Set, quickFilter?: QuickFilter, operator?: '&&' | '||' | null): ContextAction[]; numberFilterActions(column: DhType.Column, snapshotValues: Set, quickFilter?: QuickFilter | null, operator?: '&&' | '||' | null): ContextAction[]; booleanFilterActions(column: DhType.Column, valueText: string | null, quickFilter?: QuickFilter | null, operator?: '&&' | '||' | null): ContextAction[]; dateFilterActions(column: DhType.Column, snapshotValues: Set, dateFilterFormatter: DateTimeColumnFormatter, previewFilterFormatter: DateTimeColumnFormatter, quickFilter?: QuickFilter | null, operator?: '&&' | '||' | null): ContextAction[]; emptyStringFilterActions(column: DhType.Column, quickFilter?: QuickFilter, operator?: '&&' | '||' | null): ContextAction[]; nullFilterActions(column: DhType.Column, quickFilter?: QuickFilter, operator?: '&&' | '||' | null): ContextAction[]; sortByActions(column: DhType.Column, modelColumn: ModelIndex, columnSort: SortDescriptor | null): ContextAction[]; additionalSortActions(column: DhType.Column, columnIndex: ModelIndex): ContextAction[]; checkColumnSort(columnSort?: SortDescriptor | null, direction?: SortDirection, isAbs?: boolean): boolean; } export default IrisGridContextMenuHandler; //# sourceMappingURL=IrisGridContextMenuHandler.d.ts.map